From 2e4d0d933d52febb615f907f2a1bbde89ca7c0be Mon Sep 17 00:00:00 2001 From: ase-101 Date: Wed, 24 Jan 2024 00:07:07 +0530 Subject: [PATCH 01/63] Version changed to 1.0.0 Signed-off-by: ase-101 --- pom.xml | 2 +- signup-service/pom.xml | 10 +++---- .../resources/application-default.properties | 18 +++---------- .../resources/application-test.properties | 26 ++++++++++--------- 4 files changed, 24 insertions(+), 32 deletions(-) diff --git a/pom.xml b/pom.xml index 42badbe2..0665c0c0 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ 4.0.0 io.mosip.signup signup-parent - 0.0.1-SNAPSHOT + 1.0.0-SNAPSHOT pom esignet-signup Parent project of MOSIP e-Signet diff --git a/signup-service/pom.xml b/signup-service/pom.xml index 1dfd5854..44211a91 100644 --- a/signup-service/pom.xml +++ b/signup-service/pom.xml @@ -15,7 +15,7 @@ io.mosip.signup signup-service - 0.0.1-SNAPSHOT + 1.0.0-SNAPSHOT signup-service Sign Up Service https://github.com/DGTDept/esignet-signup @@ -115,7 +115,7 @@ io.mosip.esignet esignet-core - 1.1.0 + 1.3.0-SNAPSHOT org.springframework.boot @@ -151,12 +151,12 @@ io.mosip.kernel kernel-core - 1.2.0.1-B1 + 1.2.0.1-B2 io.mosip.kernel kernel-logger-logback - 1.2.0.1-B1 + 1.2.0.1-B2 io.mosip.kernel @@ -172,7 +172,7 @@ io.mosip.esignet esignet-integration-api - 1.1.0 + 1.3.0-SNAPSHOT org.mockito diff --git a/signup-service/src/main/resources/application-default.properties b/signup-service/src/main/resources/application-default.properties index 978b8290..dd9c19d2 100644 --- a/signup-service/src/main/resources/application-default.properties +++ b/signup-service/src/main/resources/application-default.properties @@ -8,17 +8,7 @@ mosip.signup.password.pattern=^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[\\x5F\\W]) mosip.signup.password.max-length=20 mosip.signup.generate-challenge.blocked.timeout=300 mosip.signup.challenge.timeout=60 - mosip.signup.audit.description.max-length=2048 - -## Application Name -spring.application.name=signup - -server.port=8088 -server.servlet.path=/ -spring.mvc.servlet.path=${server.servlet.path} -server.servlet.context-path=/v1/signup -server.env.url=https://api-internal.camdgc-dev.mosip.net mosip.signup.password.min-length=8 mosip.signup.fullname.pattern=^[\\u1780-\\u17FF\\u19E0-\\u19FF\\u1A00-\\u1A9F\\u0020]{1,30}$ @@ -70,9 +60,9 @@ mosip.esignet.cache.expire-in-seconds={'challenge_generated': ${mosip.signup.una 'key_alias' : ${mosip.signup.verified.txn.timeout} } ## ------------------------------------- Auth adapter ------------------------------------------------------------------ -mosip.api.internal.url=https://api-internal.camdgc-dev.mosip.net -keycloak.external.url=https://iam.camdgc-dev.mosip.net -keycloak.internal.url=https://iam.camdgc-dev.mosip.net +mosip.api.internal.url=https://api-internal.dev.mosip.net +keycloak.external.url=https://iam.dev.mosip.net +keycloak.internal.url=https://iam.dev.mosip.net auth.server.validate.url=${mosip.api.internal.url}/v1/authmanager/authorize/admin/validateToken auth.server.admin.issuer.uri=${keycloak.external.url}/auth/realms/ auth-token-generator.rest.issuerUrl=${keycloak.internal.url}/auth/realms/mosip @@ -135,7 +125,7 @@ mosip.signup.ui.config.key-values={\ 'status.request.delay': ${mosip.signup.status.request.delay}, \ 'status.request.limit': ${mosip.signup.status.request.limit}, \ 'popup.timeout': 10, \ -'signin.redirect-url': 'https://esignet.camdgc-dev.mosip.net/authorize', \ +'signin.redirect-url': 'https://esignet.dev.mosip.net/authorize', \ 'identifier.allowed.characters': '^[0-9]+', \ 'identifier.length.min': 8, \ 'identifier.length.max': 9, \ diff --git a/signup-service/src/test/resources/application-test.properties b/signup-service/src/test/resources/application-test.properties index b1dba684..756dd857 100644 --- a/signup-service/src/test/resources/application-test.properties +++ b/signup-service/src/test/resources/application-test.properties @@ -79,9 +79,9 @@ mosip.esignet.cache.expire-in-seconds={'challenge_generated': ${mosip.signup.una 'key_alias' : ${mosip.signup.verified.txn.timeout} } ## ------------------------------------- Auth adapter ------------------------------------------------------------------ -mosip.kernel.authmanager.url=https://api-internal.camdgc-dev.mosip.net -keycloak.external.url=https://iam.camdgc-dev.mosip.net -keycloak.internal.url=https://iam.camdgc-dev.mosip.net +mosip.kernel.authmanager.url=https://api-internal.dev.mosip.net +keycloak.external.url=https://iam.dev.mosip.net +keycloak.internal.url=https://iam.dev.mosip.net auth.server.validate.url=${mosip.kernel.authmanager.url}/v1/authmanager/authorize/admin/validateToken auth.server.admin.issuer.uri=${keycloak.external.url}/auth/realms/ auth-token-generator.rest.issuerUrl=${keycloak.internal.url}/auth/realms/mosip @@ -106,10 +106,10 @@ mosip.service.exclude.auth.allowed.method=GET,POST ## -------------------------- External endpoints ----------------------------------------------------------------------- mosip.signup.generate-challenge.endpoint=${mosip.kernel.authmanager.url}/v1/otpmanager/otp/generate -mosip.signup.add-identity.endpoint=https://api-internal.camdgc-dev.mosip.net/idrepository/v1/identity/ -mosip.signup.generate-hash.endpoint=https://api-internal.camdgc-dev.mosip.net/v1/keymanager/generateArgon2Hash -mosip.signup.get-uin.endpoint=https://api-internal.camdgc-dev.mosip.net/v1/idgenerator/uin -mosip.signup.send-notification.endpoint=https://api-internal.camdgc-dev.mosip.net/v1/notifier/sms/send +mosip.signup.add-identity.endpoint=https://api-internal.dev.mosip.net/idrepository/v1/identity/ +mosip.signup.generate-hash.endpoint=https://api-internal.dev.mosip.net/v1/keymanager/generateArgon2Hash +mosip.signup.get-uin.endpoint=https://api-internal.dev.mosip.net/v1/idgenerator/uin +mosip.signup.send-notification.endpoint=https://api-internal.dev.mosip.net/v1/notifier/sms/send mosip.signup.add-identity.request.id=mosip.id.create mosip.signup.add-identity.request.version=v1 @@ -135,13 +135,15 @@ mosip.signup.ui.config.key-values={\ 'fullname.pattern': '${mosip.signup.fullname.pattern}', \ 'status.request.delay': '${mosip.signup.status.request.delay}', \ 'status.request.limit': '${mosip.signup.status.request.limit}', \ -'signin.redirect-url': 'https://esignet.camdgc-dev.mosip.net/authorize' \ +'signin.redirect-url': 'https://esignet.dev.mosip.net/authorize' \ } ## ----------------------------- SMS-message ----------------------------------------------------------------------------- -mosip.signup.otp-registration.sms.khm=ប្រើ XXXXXX ដើម្បីផ្ទៀងផ្ទាត់គណនី KhID របស់អ្នក។ -mosip.signup.otp-registration.sms.eng=Use XXXXXX to verify your KhID account. -mosip.signup.successfully.registration.sms.khm=ប្រើ XXXXXX ដើម្បីផ្ទៀងផ្ទាត់គណនី KhID របស់អ្នក។ -mosip.signup.successfully.registration.sms.eng=Use XXXXXX to verify your KhID account. +mosip.signup.sms-notification-template.send-otp.khm=4Z6U4Z+S4Z6a4Z6+IHtjaGFsbGVuZ2V9IOGeiuGevuGemOGfkuGelOGeuOGeleGfkuGekeGfgOGehOGeleGfkuGekeGetuGej+Gfi+GeguGejuGek+GeuCBLaElEIOGemuGelOGen+Gfi+GeouGfkuGek+GegOGflA== +mosip.signup.sms-notification-template.send-otp.eng=Use {challenge} to verify your KhID account. +mosip.signup.sms-notification-template.registration.khm=4Z6i4Z+S4Z6T4Z6A4Z6U4Z624Z6T4Z6F4Z674Z+H4Z6I4Z+S4Z6Y4Z+E4Z+H4Z6C4Z6O4Z6T4Z64IEtoSUQg4Z6K4Z+E4Z6Z4Z6H4Z+E4Z6C4Z6H4Z+Q4Z6Z4Z+U +mosip.signup.sms-notification-template.registration.eng=You successfully registered to KhID account. +mosip.signup.sms-notification-template.forgot-passsword.khm=4Z6i4Z+S4Z6T4Z6A4Z6U4Z624Z6T4Z6V4Z+S4Z6b4Z624Z6f4Z+L4Z6U4Z+S4Z6K4Z684Z6a4Z6W4Z624Z6A4Z+S4Z6Z4Z6f4Z6Y4Z+S4Z6E4Z624Z6P4Z+LIEtoSUQg4Z6K4Z+E4Z6Z4Z6H4Z+E4Z6C4Z6H4Z+Q4Z6Z4Z+U +mosip.signup.sms-notification-template.forgot-passsword.eng=You successfully changed KhID password. #------------------------------------------ Others --------------------------------------------------------------------- logging.level.io.mosip.signup=DEBUG From 61a8f01fde2b9c6aa7ca289caa45b83eb3d96635 Mon Sep 17 00:00:00 2001 From: ase-101 Date: Wed, 24 Jan 2024 00:27:56 +0530 Subject: [PATCH 02/63] Removed camdgc reference Signed-off-by: ase-101 --- .../signup_001.postman_collection.json | 10 ++++------ .../mosip/signup/controllers/SignUpControllerTest.java | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/docs/postman-collections/signup_001.postman_collection.json b/docs/postman-collections/signup_001.postman_collection.json index 3e22ec9f..b0464dbb 100644 --- a/docs/postman-collections/signup_001.postman_collection.json +++ b/docs/postman-collections/signup_001.postman_collection.json @@ -384,14 +384,12 @@ } ], "url": { - "raw": "https://api-internal.camdgc-dev.mosip.net/v1/signup/settings", - "protocol": "https", + "raw": "http://localhost:8088/v1/signup/settings", + "protocol": "http", "host": [ - "api-internal", - "camdgc-dev", - "mosip", - "net" + "localhost" ], + "port": "8088", "path": [ "v1", "signup", diff --git a/signup-service/src/test/java/io/mosip/signup/controllers/SignUpControllerTest.java b/signup-service/src/test/java/io/mosip/signup/controllers/SignUpControllerTest.java index 89a6fe43..d0bc5319 100644 --- a/signup-service/src/test/java/io/mosip/signup/controllers/SignUpControllerTest.java +++ b/signup-service/src/test/java/io/mosip/signup/controllers/SignUpControllerTest.java @@ -70,7 +70,7 @@ public void getSignupSettings_thenPass () throws Exception { .andExpect(jsonPath("$['response']['configs']['fullname.pattern']").value("^[\\u1780-\\u17FF\\u19E0-\\u19FF\\u1A00-\\u1A9F\\u0020]{1,30}$")) .andExpect(jsonPath("$['response']['configs']['status.request.delay']").value(20)) .andExpect(jsonPath("$['response']['configs']['status.request.limit']").value(10)) - .andExpect(jsonPath("$['response']['configs']['signin.redirect-url']").value("https://esignet.camdgc-dev.mosip.net/authorize")) + .andExpect(jsonPath("$['response']['configs']['signin.redirect-url']").value("https://esignet.dev.mosip.net/authorize")) .andExpect(jsonPath("$.errors").isEmpty()); } From 128f545e05fcfbe48553b783ede711f59dc6e6ed Mon Sep 17 00:00:00 2001 From: pr Date: Wed, 24 Jan 2024 16:07:54 +0700 Subject: [PATCH 03/63] ES-710 Signed-off-by: pr --- .../src/main/resources/application-default.properties | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/signup-service/src/main/resources/application-default.properties b/signup-service/src/main/resources/application-default.properties index dd9c19d2..553dc9f6 100644 --- a/signup-service/src/main/resources/application-default.properties +++ b/signup-service/src/main/resources/application-default.properties @@ -141,8 +141,8 @@ mosip.signup.sms-notification-template.send-otp.khm=4Z6U4Z+S4Z6a4Z6+IHtjaGFsbGVu mosip.signup.sms-notification-template.send-otp.eng=Use {challenge} to verify your KhID account. mosip.signup.sms-notification-template.registration.khm=4Z6i4Z+S4Z6T4Z6A4Z6U4Z624Z6T4Z6F4Z674Z+H4Z6I4Z+S4Z6Y4Z+E4Z+H4Z6C4Z6O4Z6T4Z64IEtoSUQg4Z6K4Z+E4Z6Z4Z6H4Z+E4Z6C4Z6H4Z+Q4Z6Z4Z+U mosip.signup.sms-notification-template.registration.eng=You successfully registered to KhID account. -mosip.signup.sms-notification-template.forgot-passsword.khm=4Z6i4Z+S4Z6T4Z6A4Z6U4Z624Z6T4Z6V4Z+S4Z6b4Z624Z6f4Z+L4Z6U4Z+S4Z6K4Z684Z6a4Z6W4Z624Z6A4Z+S4Z6Z4Z6f4Z6Y4Z+S4Z6E4Z624Z6P4Z+LIEtoSUQg4Z6K4Z+E4Z6Z4Z6H4Z+E4Z6C4Z6H4Z+Q4Z6Z4Z+U -mosip.signup.sms-notification-template.forgot-passsword.eng=You successfully changed KhID password. +mosip.signup.sms-notification-template.forgot-password.khm=4Z6i4Z+S4Z6T4Z6A4Z6U4Z624Z6T4Z6V4Z+S4Z6b4Z624Z6f4Z+L4Z6U4Z+S4Z6K4Z684Z6a4Z6W4Z624Z6A4Z+S4Z6Z4Z6f4Z6Y4Z+S4Z6E4Z624Z6P4Z+LIEtoSUQg4Z6K4Z+E4Z6Z4Z6H4Z+E4Z6C4Z6H4Z+Q4Z6Z4Z+U +mosip.signup.sms-notification-template.forgot-password.eng=You successfully changed KhID password. #------------------------------------------ Others --------------------------------------------------------------------- logging.level.io.mosip.signup=DEBUG From 399426e28355b2a8213690e59c68f22720397bbf Mon Sep 17 00:00:00 2001 From: Bunsy Date: Wed, 24 Jan 2024 16:42:40 +0700 Subject: [PATCH 04/63] fix: fix validation message translation Signed-off-by: Bunsy --- signup-ui/src/components/ui/form.tsx | 6 +++++- signup-ui/src/pages/shared/validation.ts | 18 +++++++++--------- 2 files changed, 14 insertions(+), 10 deletions(-) diff --git a/signup-ui/src/components/ui/form.tsx b/signup-ui/src/components/ui/form.tsx index ffa832f9..3bbcd34f 100644 --- a/signup-ui/src/components/ui/form.tsx +++ b/signup-ui/src/components/ui/form.tsx @@ -9,6 +9,7 @@ import { FormProvider, useFormContext, } from "react-hook-form"; +import { useTranslation } from "react-i18next"; import { Label } from "~components/ui/label"; import { cn } from "~utils/cn"; @@ -146,7 +147,10 @@ const FormMessage = React.forwardRef< React.HTMLAttributes >(({ className, children, ...props }, ref) => { const { error, formMessageId } = useFormField(); - const body = error ? String(error?.message) : children; + const { t } = useTranslation(); + + // @ts-ignore + const body: React.ReactNode = error ? t(String(error.message)) : children; if (!body) { return null; diff --git a/signup-ui/src/pages/shared/validation.ts b/signup-ui/src/pages/shared/validation.ts index b6dc7242..dfb773f3 100644 --- a/signup-ui/src/pages/shared/validation.ts +++ b/signup-ui/src/pages/shared/validation.ts @@ -8,10 +8,10 @@ export const validateUsername = (settings: SettingsDto, t: TFunction) => .string() .trim() .matches(/^[^0].*$/, { - message: t("username_lead_zero_validation"), + message: "username_lead_zero_validation", excludeEmptyString: true, }) - .test("isUsernameValid", t("username_validation"), (value) => { + .test("isUsernameValid", "username_validation", (value) => { if (value === "") return true; return new RegExp(settings.response.configs["identifier.pattern"]).test( `${settings.response.configs["identifier.prefix"]}${value}` @@ -19,15 +19,15 @@ export const validateUsername = (settings: SettingsDto, t: TFunction) => }); export const validateCaptchaToken = (t: TFunction) => - yup.string().required(t("captcha_token_validation")); + yup.string().required("captcha_token_validation"); export const validateFullName = (settings: SettingsDto, t: TFunction) => yup .string() .strict(true) - .trim(t("full_name_all_spaces_validation")) + .trim("full_name_all_spaces_validation") .matches(new RegExp(settings.response.configs["fullname.pattern"]), { - message: t("full_name_in_lng_validation"), + message: "full_name_in_lng_validation", excludeEmptyString: true, }); @@ -41,7 +41,7 @@ export const validatePassword = (settings: SettingsDto, t: TFunction) => .string() .trim() .matches(new RegExp(settings.response.configs["password.pattern"]), { - message: t("password_validation"), + message: "password_validation", excludeEmptyString: true, }); @@ -55,12 +55,12 @@ export const validateConfirmPassword = ( .string() .trim() .matches(new RegExp(settings.response.configs["password.pattern"]), { - message: t("password_validation"), + message: "password_validation", excludeEmptyString: true, }) .oneOf( [yup.ref(passwordRef), ""], isRegister - ? t("register_password_validation_must_match") - : t("password_validation_must_match") + ? "register_password_validation_must_match" + : "password_validation_must_match" ); From ea578e04e3e53843db5a79dd0cb4bf9c0c974787 Mon Sep 17 00:00:00 2001 From: Sreang Rathanak Date: Wed, 24 Jan 2024 17:26:03 +0700 Subject: [PATCH 05/63] Forgot password feature: Displayed incorrect error message when unregistered Username is entered. Signed-off-by: Sreang Rathanak --- signup-ui/public/locales/en.json | 6 ++--- signup-ui/public/locales/km.json | 8 +++---- .../src/pages/ResetPasswordPage/Otp/Otp.tsx | 3 ++- .../ResetPasswordPage/ResetPasswordPage.tsx | 6 ++--- .../ResetPasswordPopover.tsx | 23 ++++++++++++------- signup-ui/src/typings/types.ts | 12 ++++++++++ 6 files changed, 39 insertions(+), 19 deletions(-) diff --git a/signup-ui/public/locales/en.json b/signup-ui/public/locales/en.json index bf4eb82b..2e285463 100644 --- a/signup-ui/public/locales/en.json +++ b/signup-ui/public/locales/en.json @@ -121,9 +121,9 @@ "not_registered": "Not Registered", "reset_pwd_failed": "Reset Password Failed", "identifier_already_registered": "Identifier already registered", - "identifier_not_found": "Identifier not found", - "invalid_kba_challenge": "Invalid Fullname challenge", - "kba_challenge_not_found": "Fullname challenge not found", + "identifier_not_found": "Invalid number or name. Please enter a registered mobile number and full name.", + "invalid_kba_challenge": "Invalid number or name. Please enter a registered mobile number and full name.", + "kba_challenge_not_found": "Invalid number or name. Please enter a registered mobile number and full name.", "identity_inactive": "Identifier inactive", "fetch_identity_failed": "Fetch Identifier Failed", "challenge_format_and_type_mismatch": "Challenge format and type mismatch", diff --git a/signup-ui/public/locales/km.json b/signup-ui/public/locales/km.json index a0a4d10b..efac5a54 100644 --- a/signup-ui/public/locales/km.json +++ b/signup-ui/public/locales/km.json @@ -121,12 +121,12 @@ "not_registered": "មិនបានចុះឈ្មោះ", "reset_pwd_failed": "ការកំណត់ពាក្យសម្ងាត់ឡើងវិញបានបរាជ័យ", "identifier_already_registered": "អត្តសញ្ញាណបានចុះឈ្មោះរួចហើយ", - "identifier_not_found": "រកមិនឃើញអត្តសញ្ញាណ", - "invalid_kba_challenge": "ឈ្មោះមិនត្រឹមត្រូវ", - "kba_challenge_not_found": "រកមិនឃើញឈ្មោះ", + "identifier_not_found": "លេខទូរស័ព្ទ ឬឈ្មោះមិនត្រឹមត្រូវ។ សូមបញ្ចូលលេខទូរស័ព្ទនិងឈ្មោះដែលបានចុះឈ្មោះ។", + "invalid_kba_challenge": "លេខទូរស័ព្ទ ឬឈ្មោះមិនត្រឹមត្រូវ។ សូមបញ្ចូលលេខទូរស័ព្ទនិងឈ្មោះដែលបានចុះឈ្មោះ។", + "kba_challenge_not_found": "លេខទូរស័ព្ទ ឬឈ្មោះមិនត្រឹមត្រូវ។ សូមបញ្ចូលលេខទូរស័ព្ទនិងឈ្មោះដែលបានចុះឈ្មោះ។", "identity_inactive": "អត្តសញ្ញាណអសកម្ម", "fetch_identity_failed": "ទាញ​យក​លេខ​សម្គាល់​បាន​បរាជ័យ", - "challenge_format_and_type_mismatch": "ទម្រង់និងប្រភេទមិនត្រូវគ្នា", + "challenge_format_and_type_mismatch": "លេខទូរស័ព្ទ ឬឈ្មោះមិនត្រឹមត្រូវ។ សូមបញ្ចូលលេខទូរស័ព្ទនិងឈ្មោះដែលបានចុះឈ្មោះ។", "knowledgebase_mismatch": "លេខទូរស័ព្ទ ឬឈ្មោះមិនត្រឹមត្រូវ។ សូមបញ្ចូលលេខទូរស័ព្ទនិងឈ្មោះដែលបានចុះឈ្មោះ។", "IDR-IDC-001": "រកមិនឃើញតម្លៃដែលបានបញ្ចូល", "IDR-IDC-002": "តម្លៃដែលបានបញ្ចូលមិនត្រឹមត្រូវ", diff --git a/signup-ui/src/pages/ResetPasswordPage/Otp/Otp.tsx b/signup-ui/src/pages/ResetPasswordPage/Otp/Otp.tsx index 480120d1..d28846b7 100644 --- a/signup-ui/src/pages/ResetPasswordPage/Otp/Otp.tsx +++ b/signup-ui/src/pages/ResetPasswordPage/Otp/Otp.tsx @@ -32,6 +32,7 @@ import { ResetPasswordForm, SettingsDto, VerifyChallengeRequestDto, + ResetPasswordPossibleInvalid, } from "~typings/types"; import { resetPasswordFormDefaultValues } from "../ResetPasswordPage"; @@ -203,7 +204,7 @@ export const Otp = ({ methods, settings }: OtpProps) => { onSuccess: ({ errors }) => { if (errors.length > 0) { if ( - ["invalid_transaction", "knowledgebase_mismatch"].includes( + ResetPasswordPossibleInvalid.includes( errors[0].errorCode ) ) { diff --git a/signup-ui/src/pages/ResetPasswordPage/ResetPasswordPage.tsx b/signup-ui/src/pages/ResetPasswordPage/ResetPasswordPage.tsx index ff6345d1..a276e496 100644 --- a/signup-ui/src/pages/ResetPasswordPage/ResetPasswordPage.tsx +++ b/signup-ui/src/pages/ResetPasswordPage/ResetPasswordPage.tsx @@ -14,7 +14,7 @@ import { validatePassword, validateUsername, } from "~pages/shared/validation"; -import { ResetPasswordForm, SettingsDto } from "~typings/types"; +import { ResetPasswordForm, ResetPasswordPossibleInvalid, SettingsDto } from "~typings/types"; import Otp from "./Otp"; import ResetPassword from "./ResetPassword"; @@ -108,7 +108,7 @@ export const ResetPasswordPage = ({ settings }: ResetPasswordPageProps) => { if ( step === ResetPasswordStep.ResetPasswordConfirmation || (criticalError && - ["invalid_transaction", "knowledgebase_mismatch"].includes( + ["invalid_transaction", ...ResetPasswordPossibleInvalid].includes( criticalError.errorCode )) ) @@ -149,7 +149,7 @@ export const ResetPasswordPage = ({ settings }: ResetPasswordPageProps) => { return ( <> {criticalError && - ["invalid_transaction", "knowledgebase_mismatch"].includes( + ["invalid_transaction", ...ResetPasswordPossibleInvalid].includes( criticalError.errorCode ) && }
diff --git a/signup-ui/src/pages/ResetPasswordPage/ResetPasswordPopover.tsx b/signup-ui/src/pages/ResetPasswordPage/ResetPasswordPopover.tsx index bbdb3436..c6f32bc5 100644 --- a/signup-ui/src/pages/ResetPasswordPage/ResetPasswordPopover.tsx +++ b/signup-ui/src/pages/ResetPasswordPage/ResetPasswordPopover.tsx @@ -1,6 +1,6 @@ import { useCallback } from "react"; import { useTranslation } from "react-i18next"; -import { useLocation } from "react-router-dom"; +import { useNavigate, useLocation } from "react-router-dom"; import { ReactComponent as FailedIconSvg } from "~assets/svg/failed-icon.svg"; import { RESET_PASSWORD } from "~constants/routes"; @@ -20,9 +20,11 @@ import { criticalErrorSelector, useResetPasswordStore, } from "./useResetPasswordStore"; +import { ResetPasswordPossibleInvalid } from "~typings/types"; export const ResetPasswordPopover = () => { const { t } = useTranslation(); + const navigate = useNavigate(); const { data: settings } = useSettings(); const { criticalError } = useResetPasswordStore( @@ -37,11 +39,16 @@ export const ResetPasswordPopover = () => { const handleAction = (e: any) => { e.preventDefault(); - window.location.href = getSignInRedirectURL( - settings?.response.configs["signin.redirect-url"], - fromSignInHash, - RESET_PASSWORD - ); + if(ResetPasswordPossibleInvalid.includes(criticalError?.errorCode!!)) { + navigate(0) + } else { + window.location.href = getSignInRedirectURL( + settings?.response.configs["signin.redirect-url"], + fromSignInHash, + RESET_PASSWORD + ); + } + }; return ( @@ -51,7 +58,7 @@ export const ResetPasswordPopover = () => { <> - {["knowledgebase_mismatch"].includes(criticalError?.errorCode!!) ? t("invalid") : t("error")} + {ResetPasswordPossibleInvalid.includes(criticalError?.errorCode!!) ? t("invalid") : t("error")} @@ -63,7 +70,7 @@ export const ResetPasswordPopover = () => { onClick={handleAction} className="w-full bg-primary" > - {["knowledgebase_mismatch"].includes(criticalError?.errorCode!!) ? t("retry") : t("okay")} + {ResetPasswordPossibleInvalid.includes(criticalError?.errorCode!!) ? t("retry") : t("okay")} diff --git a/signup-ui/src/typings/types.ts b/signup-ui/src/typings/types.ts index bac84afc..e8530d9d 100644 --- a/signup-ui/src/typings/types.ts +++ b/signup-ui/src/typings/types.ts @@ -48,6 +48,14 @@ const RegisterStatusPossibleErrors = [ export type RegisterStatusErrors = (typeof RegisterStatusPossibleErrors)[number]; +export const ResetPasswordPossibleInvalid = [ + "knowledgebase_mismatch", + "identifier_not_found", + "invalid_kba_challenge", + "challenge_format_and_type_mismatch", + "kba_challenge_not_found" +]; + const ResetPasswordPossibleErrors = [ "invalid_transaction", "not_registered", @@ -56,6 +64,10 @@ const ResetPasswordPossibleErrors = [ "invalid_request", "reset_pwd_failed", "knowledgebase_mismatch", + "identifier_not_found", + "invalid_kba_challenge", + "challenge_format_and_type_mismatch", + "kba_challenge_not_found", ] as const; export type ResetPasswordErrors = (typeof ResetPasswordPossibleErrors)[number]; From aa0a07a94c2de0f66d2b0e44eded012455019330 Mon Sep 17 00:00:00 2001 From: Sreang Rathanak Date: Wed, 24 Jan 2024 17:41:51 +0700 Subject: [PATCH 06/63] Add missing invalid_transaction Signed-off-by: Sreang Rathanak --- signup-ui/src/pages/ResetPasswordPage/Otp/Otp.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/signup-ui/src/pages/ResetPasswordPage/Otp/Otp.tsx b/signup-ui/src/pages/ResetPasswordPage/Otp/Otp.tsx index d28846b7..d3639b7f 100644 --- a/signup-ui/src/pages/ResetPasswordPage/Otp/Otp.tsx +++ b/signup-ui/src/pages/ResetPasswordPage/Otp/Otp.tsx @@ -204,7 +204,7 @@ export const Otp = ({ methods, settings }: OtpProps) => { onSuccess: ({ errors }) => { if (errors.length > 0) { if ( - ResetPasswordPossibleInvalid.includes( + ["invalid_transaction", ...ResetPasswordPossibleInvalid].includes( errors[0].errorCode ) ) { From 4b53ee796463a7aa2bfc68f717ceb45546a8e1ac Mon Sep 17 00:00:00 2001 From: ase-101 Date: Wed, 24 Jan 2024 23:39:32 +0530 Subject: [PATCH 07/63] ES-628 Signed-off-by: ase-101 --- .../io/mosip/signup/helper/CryptoHelper.java | 67 ++++++++++++------- .../signup/services/CacheUtilService.java | 14 ++-- .../signup/services/RegistrationService.java | 4 +- .../resources/application-default.properties | 10 ++- .../src/main/resources/messages.properties | 1 + .../resources/application-test.properties | 14 ++-- 6 files changed, 67 insertions(+), 43 deletions(-) diff --git a/signup-service/src/main/java/io/mosip/signup/helper/CryptoHelper.java b/signup-service/src/main/java/io/mosip/signup/helper/CryptoHelper.java index 0ab5a883..c7ed6c38 100644 --- a/signup-service/src/main/java/io/mosip/signup/helper/CryptoHelper.java +++ b/signup-service/src/main/java/io/mosip/signup/helper/CryptoHelper.java @@ -1,39 +1,48 @@ package io.mosip.signup.helper; import io.mosip.esignet.core.util.IdentityProviderUtil; +import io.mosip.kernel.core.util.UUIDUtils; import io.mosip.signup.exception.SignUpException; import io.mosip.signup.services.CacheUtilService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component; import javax.crypto.*; import javax.crypto.spec.IvParameterSpec; import javax.crypto.spec.SecretKeySpec; import java.nio.charset.StandardCharsets; +import java.security.NoSuchAlgorithmException; import java.util.Arrays; +import static io.mosip.kernel.core.util.UUIDUtils.NAMESPACE_OID; + @Slf4j @Component public class CryptoHelper { - private static final String AES_TRANSFORMATION = "AES/CFB/PKCS5Padding"; - public static final String CACHE_KEY = "aes"; + public static final String ALIAS_CACHE_KEY = "CURRENT_ACTIVE_ALIAS"; + + @Value("${mosip.signup.cache.symmetric-algorithm-name}") + private String symmetricAlgorithm; @Autowired private CacheUtilService cacheUtilService; - public String symmetricEncrypt(String transactionId, String data, SecretKey secretKey) { + public String symmetricEncrypt(String data) { try { - Cipher cipher = Cipher.getInstance(AES_TRANSFORMATION); + + String keyAlias = getActiveKeyAlias(); + SecretKey secretKey = getSecretKey(keyAlias); + + Cipher cipher = Cipher.getInstance(symmetricAlgorithm); byte[] initializationVector = IdentityProviderUtil.generateSalt(cipher.getBlockSize()); byte[] secretDataBytes = data.getBytes(StandardCharsets.UTF_8); cipher.init(Cipher.ENCRYPT_MODE, secretKey, new IvParameterSpec(initializationVector)); byte[] encryptedBytes = cipher.doFinal(secretDataBytes, 0, secretDataBytes.length); - String keyAlias = getKeyAlias(transactionId); byte[] keyAliasBytes = keyAlias.getBytes(); - cacheUtilService.setSecretKeyBasedOnAlias(keyAlias, IdentityProviderUtil.b64Encode(secretKey.getEncoded())); byte[] output = new byte[cipher.getOutputSize(secretDataBytes.length)+cipher.getBlockSize()+keyAliasBytes.length]; System.arraycopy(encryptedBytes, 0, output, 0, encryptedBytes.length); @@ -49,12 +58,12 @@ public String symmetricEncrypt(String transactionId, String data, SecretKey secr public String symmetricDecrypt(String encryptedData) { try { - Cipher cipher = Cipher.getInstance(AES_TRANSFORMATION); + Cipher cipher = Cipher.getInstance(symmetricAlgorithm); byte[] data = IdentityProviderUtil.b64Decode(encryptedData); - byte[] keyAlias = Arrays.copyOfRange(data, data.length - 10, data.length); - byte[] iv = Arrays.copyOfRange(data, data.length-(cipher.getBlockSize()+10), data.length-10); - byte[] encryptedBytes = Arrays.copyOfRange(data, 0, data.length-(cipher.getBlockSize()+10)); + byte[] keyAlias = Arrays.copyOfRange(data, data.length-36, data.length); + byte[] iv = Arrays.copyOfRange(data, data.length-(cipher.getBlockSize()+36), data.length-36); + byte[] encryptedBytes = Arrays.copyOfRange(data, 0, data.length-(cipher.getBlockSize()+36)); String encodedSecretKey = cacheUtilService.getSecretKey(new String(keyAlias)); cipher.init(Cipher.DECRYPT_MODE, new SecretKeySpec(IdentityProviderUtil.b64Decode(encodedSecretKey), "AES"), @@ -67,23 +76,31 @@ public String symmetricDecrypt(String encryptedData) { } - public SecretKey getSecretKey() { - String encodedSecretKey = cacheUtilService.getSecretKey(); + public SecretKey getSecretKey(String alias) { + String encodedSecretKey = cacheUtilService.getSecretKey(alias); + return new SecretKeySpec(IdentityProviderUtil.b64Decode(encodedSecretKey), "AES"); + } + + private String getActiveKeyAlias() { + String alias = cacheUtilService.getActiveKeyAlias(); + if(alias != null) + return alias; + + log.debug("No active alias found, generating new alias and AES key."); + alias = UUIDUtils.getUUID(NAMESPACE_OID, "signup-service").toString(); + generateSecretKey(alias); + return alias; + } + + private void generateSecretKey(String alias) { try { - if(encodedSecretKey == null) { - KeyGenerator keyGenerator = KeyGenerator.getInstance("AES"); - keyGenerator.init(256); - cacheUtilService.setSecretKey(CACHE_KEY, IdentityProviderUtil.b64Encode(keyGenerator.generateKey().getEncoded())); - encodedSecretKey = cacheUtilService.getSecretKey(); - } - return new SecretKeySpec(IdentityProviderUtil.b64Decode(encodedSecretKey), "AES"); - } catch (Exception e) { - log.error("Error getting secret key", e); + KeyGenerator keyGenerator = KeyGenerator.getInstance("AES"); + keyGenerator.init(256); + cacheUtilService.setSecretKey(alias, IdentityProviderUtil.b64Encode(keyGenerator.generateKey().getEncoded())); + cacheUtilService.setActiveKeyAlias(ALIAS_CACHE_KEY, alias); + } catch (NoSuchAlgorithmException e) { + log.error("Error generating secret key", e); throw new SignUpException("crypto_error"); } } - - private String getKeyAlias(String transactionId) { - return transactionId.substring(transactionId.length()-10); - } } diff --git a/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java b/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java index cd76a887..e4f1c08e 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java @@ -50,9 +50,9 @@ public String setSecretKey(String key, String secretKey) { return secretKey; } - @Cacheable(value = SignUpConstants.KEY_ALIAS, key = "#alias") - public String setSecretKeyBasedOnAlias(String alias, String secretKey) { - return secretKey; + @Cacheable(value = SignUpConstants.KEY_ALIAS, key = "#key") + public String setActiveKeyAlias(String key, String alias) { + return alias; } //---Getter--- @@ -75,11 +75,11 @@ public boolean isIdentifierBlocked(String identifier) { return value == null ? false : true; } - public String getSecretKey() { - return cacheManager.getCache(SignUpConstants.KEYSTORE).get(CryptoHelper.CACHE_KEY, String.class); + public String getSecretKey(String keyAlias) { + return cacheManager.getCache(SignUpConstants.KEYSTORE).get(keyAlias, String.class); } - public String getSecretKey(String alias) { - return cacheManager.getCache(SignUpConstants.KEY_ALIAS).get(alias, String.class); + public String getActiveKeyAlias() { + return cacheManager.getCache(SignUpConstants.KEY_ALIAS).get(CryptoHelper.ALIAS_CACHE_KEY, String.class); } } diff --git a/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java b/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java index 063377c1..4688cec7 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java @@ -405,9 +405,7 @@ private void checkActiveIdentityExists(String transactionId, } //set UIN in the cache to be further used for update UIN endpoint - SecretKey secretKey = cryptoHelper.getSecretKey(); - registrationTransaction.setUin(cryptoHelper.symmetricEncrypt(transactionId, - restResponseWrapper.getResponse().getIdentity().getUIN(), secretKey)); + registrationTransaction.setUin(cryptoHelper.symmetricEncrypt(restResponseWrapper.getResponse().getIdentity().getUIN())); } diff --git a/signup-service/src/main/resources/application-default.properties b/signup-service/src/main/resources/application-default.properties index 553dc9f6..8a44e091 100644 --- a/signup-service/src/main/resources/application-default.properties +++ b/signup-service/src/main/resources/application-default.properties @@ -37,6 +37,7 @@ mosip.signup.supported.challenge.otp.length=6 ## ------------------------------------- Cache configuration ----------------------------------------------------------- +mosip.signup.cache.symmetric-algorithm-name=AES/CFB/PKCS5Padding spring.cache.type=simple #spring.cache.type=redis @@ -50,13 +51,16 @@ mosip.esignet.cache.size={'challenge_generated': 200, \ 'challenge_verified': 200,\ 'status_check': 200,\ 'blocked_identifier':2000,\ - 'keystore' : 5, \ - 'key_alias' : 200 } + 'keystore' : 10, \ + 'key_alias' : 1 } + +## Note: keystore TTL should be more than the key_alias cache TTL. +## So that key rotation happens before the actual key is removed from the keystore cache. mosip.esignet.cache.expire-in-seconds={'challenge_generated': ${mosip.signup.unauthenticated.txn.timeout},\ 'challenge_verified': ${mosip.signup.verified.txn.timeout},\ 'status_check': ${mosip.signup.status-check.txn.timeout}, \ 'blocked_identifier': ${mosip.signup.generate-challenge.blocked.timeout},\ - 'keystore' : 10, \ + 'keystore' : 600, \ 'key_alias' : ${mosip.signup.verified.txn.timeout} } ## ------------------------------------- Auth adapter ------------------------------------------------------------------ diff --git a/signup-service/src/main/resources/messages.properties b/signup-service/src/main/resources/messages.properties index 5e09cc01..7c253419 100644 --- a/signup-service/src/main/resources/messages.properties +++ b/signup-service/src/main/resources/messages.properties @@ -7,3 +7,4 @@ invalid_challenge_channel=Invalid Challenge channel provided. invalid_no_of_challenges=Null or empty authentication challenges not allowed. invalid_auth_factor_type=Null or empty authentication factor type not allowed. invalid_challenge=Invalid Authentication challenge provided. +crypto_error=Internal Error, Please try again. diff --git a/signup-service/src/test/resources/application-test.properties b/signup-service/src/test/resources/application-test.properties index 756dd857..4e10d344 100644 --- a/signup-service/src/test/resources/application-test.properties +++ b/signup-service/src/test/resources/application-test.properties @@ -28,9 +28,12 @@ mosip.signup.identifier.regex=^\\+855[1-9]\\d{7,8}$ mosip.signup.identifier.prefix=+855 mosip.signup.supported-languages={'khm','eng'} mosip.signup.password.pattern=^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[\\x5F\\W])(?=.{8,20})[a-zA-Z0-9\\x5F\\W]{8,20}$ -mosip.signup.fullname.pattern=^[\\u1780-\\u17FF\\u19E0-\\u19FF\\u1A00-\\u1A9F\\u0020]{1,30}$ mosip.signup.password.max-length=20 -mosip.signup.password.min-length=6 +mosip.signup.generate-challenge.blocked.timeout=300 +mosip.signup.challenge.timeout=60 +mosip.signup.audit.description.max-length=2048 +mosip.signup.password.min-length=8 +mosip.signup.fullname.pattern=^[\\u1780-\\u17FF\\u19E0-\\u19FF\\u1A00-\\u1A9F\\u0020]{1,30}$ ## Time given to generate and verify the challenge in seconds. ## Default resend delay is 60 seconds, with 3 attempts, so 60*3=180 seconds. @@ -55,7 +58,7 @@ mosip.signup.supported.challenge-types={'OTP', 'KBA'} mosip.signup.supported.challenge.otp.length=6 ## ------------------------------------- Cache configuration ----------------------------------------------------------- - +mosip.signup.cache.symmetric-algorithm-name=AES/CFB/PKCS5Padding spring.cache.type=simple #spring.cache.type=redis @@ -70,12 +73,13 @@ mosip.esignet.cache.size={'challenge_generated': 200, \ 'status_check': 200,\ 'blocked_identifier':2000,\ 'keystore' : 5, \ - 'key_alias' : 200 } + 'key_alias' : 1 } + mosip.esignet.cache.expire-in-seconds={'challenge_generated': ${mosip.signup.unauthenticated.txn.timeout},\ 'challenge_verified': ${mosip.signup.verified.txn.timeout},\ 'status_check': ${mosip.signup.status-check.txn.timeout}, \ 'blocked_identifier': ${mosip.signup.generate-challenge.blocked.timeout},\ - 'keystore' : 10, \ + 'keystore' : 600, \ 'key_alias' : ${mosip.signup.verified.txn.timeout} } ## ------------------------------------- Auth adapter ------------------------------------------------------------------ From 272cf5bf57f095860160911c9660d1c052acb056 Mon Sep 17 00:00:00 2001 From: Bunsy Date: Thu, 25 Jan 2024 10:55:45 +0700 Subject: [PATCH 08/63] fix: remove deprecated t param Signed-off-by: Bunsy --- .../src/pages/ResetPasswordPage/ResetPasswordPage.tsx | 9 ++++----- signup-ui/src/pages/SignUpPage/SignUpPage.tsx | 10 +++++----- signup-ui/src/pages/shared/validation.ts | 9 ++++----- 3 files changed, 13 insertions(+), 15 deletions(-) diff --git a/signup-ui/src/pages/ResetPasswordPage/ResetPasswordPage.tsx b/signup-ui/src/pages/ResetPasswordPage/ResetPasswordPage.tsx index a276e496..62607c4a 100644 --- a/signup-ui/src/pages/ResetPasswordPage/ResetPasswordPage.tsx +++ b/signup-ui/src/pages/ResetPasswordPage/ResetPasswordPage.tsx @@ -59,9 +59,9 @@ export const ResetPasswordPage = ({ settings }: ResetPasswordPageProps) => { () => [ // Step 1 - UserInfo yup.object({ - username: validateUsername(settings, t), - fullname: validateFullName(settings, t), - captchaToken: validateCaptchaToken(t), + username: validateUsername(settings), + fullname: validateFullName(settings), + captchaToken: validateCaptchaToken(), }), // Step 2 - Otp yup.object({ @@ -69,11 +69,10 @@ export const ResetPasswordPage = ({ settings }: ResetPasswordPageProps) => { }), // Step 3 - ResetPassword yup.object({ - newPassword: validatePassword(settings, t), + newPassword: validatePassword(settings), confirmNewPassword: validateConfirmPassword( "newPassword", settings, - t, false ), }), diff --git a/signup-ui/src/pages/SignUpPage/SignUpPage.tsx b/signup-ui/src/pages/SignUpPage/SignUpPage.tsx index b6412fa5..66de3f71 100644 --- a/signup-ui/src/pages/SignUpPage/SignUpPage.tsx +++ b/signup-ui/src/pages/SignUpPage/SignUpPage.tsx @@ -76,8 +76,8 @@ export const SignUpPage = ({ settings }: SignUpPageProps) => { () => [ // Step 1 - Phone Validation yup.object({ - phone: validateUsername(settings, t), - captchaToken: validateCaptchaToken(t), + phone: validateUsername(settings), + captchaToken: validateCaptchaToken(), }), // Step 2 - OTP Validation yup.object({ @@ -88,9 +88,9 @@ export const SignUpPage = ({ settings }: SignUpPageProps) => { // Step 4 - Account Setup Validation yup.object({ username: yup.string(), - fullNameInKhmer: validateFullName(settings, t), - password: validatePassword(settings, t), - confirmPassword: validateConfirmPassword("password", settings, t, true), + fullNameInKhmer: validateFullName(settings), + password: validatePassword(settings), + confirmPassword: validateConfirmPassword("password", settings, true), consent: yup.bool().oneOf([true], t("terms_and_conditions_validation")), }), // Step 5 - Register Status Validation diff --git a/signup-ui/src/pages/shared/validation.ts b/signup-ui/src/pages/shared/validation.ts index dfb773f3..ace34bce 100644 --- a/signup-ui/src/pages/shared/validation.ts +++ b/signup-ui/src/pages/shared/validation.ts @@ -3,7 +3,7 @@ import * as yup from "yup"; import { SettingsDto } from "~typings/types"; -export const validateUsername = (settings: SettingsDto, t: TFunction) => +export const validateUsername = (settings: SettingsDto) => yup .string() .trim() @@ -18,10 +18,10 @@ export const validateUsername = (settings: SettingsDto, t: TFunction) => ); }); -export const validateCaptchaToken = (t: TFunction) => +export const validateCaptchaToken = () => yup.string().required("captcha_token_validation"); -export const validateFullName = (settings: SettingsDto, t: TFunction) => +export const validateFullName = (settings: SettingsDto) => yup .string() .strict(true) @@ -36,7 +36,7 @@ export const validateOtp = (settings: SettingsDto) => .string() .matches(new RegExp(`^\\d{${settings.response.configs["otp.length"]}}$`)); -export const validatePassword = (settings: SettingsDto, t: TFunction) => +export const validatePassword = (settings: SettingsDto) => yup .string() .trim() @@ -48,7 +48,6 @@ export const validatePassword = (settings: SettingsDto, t: TFunction) => export const validateConfirmPassword = ( passwordRef: string, settings: SettingsDto, - t: TFunction, isRegister: boolean ) => yup From 045a314e0f169bfc6f303d6f6a0e4a3b624f2541 Mon Sep 17 00:00:00 2001 From: pr Date: Thu, 25 Jan 2024 11:18:43 +0700 Subject: [PATCH 09/63] ES-709 Signed-off-by: pr --- .../src/main/java/io/mosip/signup/helper/AuditHelper.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/signup-service/src/main/java/io/mosip/signup/helper/AuditHelper.java b/signup-service/src/main/java/io/mosip/signup/helper/AuditHelper.java index dc03d0b0..13f8e384 100644 --- a/signup-service/src/main/java/io/mosip/signup/helper/AuditHelper.java +++ b/signup-service/src/main/java/io/mosip/signup/helper/AuditHelper.java @@ -45,7 +45,7 @@ public void sendAuditTransaction(AuditEvent auditEvent, AuditEventType eventType restRequestWrapper.setRequesttime(getUTCDateTime()); String description = signUpException != null ? - ExceptionUtils.getStackTrace(signUpException) : null; + ExceptionUtils.getStackTrace(signUpException) : auditEvent.toString() + " " + eventType.toString(); if (description != null && description.length() > auditDescriptionMaxLength) { description = description.substring(0, auditDescriptionMaxLength); } From b509612d13ff54d4a67b4a74679253c20d08d50f Mon Sep 17 00:00:00 2001 From: ase-101 Date: Thu, 25 Jan 2024 13:33:34 +0530 Subject: [PATCH 10/63] Fixed review comments Signed-off-by: ase-101 --- .../main/java/io/mosip/signup/helper/CryptoHelper.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/signup-service/src/main/java/io/mosip/signup/helper/CryptoHelper.java b/signup-service/src/main/java/io/mosip/signup/helper/CryptoHelper.java index c7ed6c38..a405d442 100644 --- a/signup-service/src/main/java/io/mosip/signup/helper/CryptoHelper.java +++ b/signup-service/src/main/java/io/mosip/signup/helper/CryptoHelper.java @@ -27,6 +27,12 @@ public class CryptoHelper { @Value("${mosip.signup.cache.symmetric-algorithm-name}") private String symmetricAlgorithm; + @Value("${mosip.signup.cache.symmetric-key.algorithm-name:AES}") + private String symmetricKeyAlgorithm; + + @Value("${mosip.signup.cache.symmetric-key.size:256}") + private int symmetricKeySize; + @Autowired private CacheUtilService cacheUtilService; @@ -94,8 +100,8 @@ private String getActiveKeyAlias() { private void generateSecretKey(String alias) { try { - KeyGenerator keyGenerator = KeyGenerator.getInstance("AES"); - keyGenerator.init(256); + KeyGenerator keyGenerator = KeyGenerator.getInstance(symmetricKeyAlgorithm); + keyGenerator.init(symmetricKeySize); cacheUtilService.setSecretKey(alias, IdentityProviderUtil.b64Encode(keyGenerator.generateKey().getEncoded())); cacheUtilService.setActiveKeyAlias(ALIAS_CACHE_KEY, alias); } catch (NoSuchAlgorithmException e) { From 4253d862305d9874687cb74d6830edaec0421eb5 Mon Sep 17 00:00:00 2001 From: Anuranjan14 <120705365+Anuranjan14@users.noreply.github.com> Date: Mon, 29 Jan 2024 13:21:03 +0530 Subject: [PATCH 11/63] Update en.json Updated sign up and forgot password related messages Signed-off-by: Anuranjan14 <120705365+Anuranjan14@users.noreply.github.com> --- signup-ui/public/locales/en.json | 70 ++++++++++++++++---------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/signup-ui/public/locales/en.json b/signup-ui/public/locales/en.json index 2e285463..78905b97 100644 --- a/signup-ui/public/locales/en.json +++ b/signup-ui/public/locales/en.json @@ -2,60 +2,60 @@ "register": "Register", "landing_page_title": "Oops! The page you are looking for does not exist.", "landing_page_description": "Please try navigating using the options below.", - "enter_your_number": "Please enter your mobile number to continue", - "enter_your_number_placeholder": "Enter 8-9 digit mobile number", + "enter_your_number": "Please enter your mobile number to continue_updated", + "enter_your_number_placeholder": "Enter 8-9 digit mobile number_updated", "fail_to_send_otp": "Failed to send OTP. Please provide a valid mobile number.", - "otp_header": "Enter OTP", - "otp_subheader": "Please enter {no_of_digit}-digit OTP received on your number", + "otp_header": "Enter OTP_updated", + "otp_subheader": "Please enter {no_of_digit}-digit OTP received on your number_updated", "verify": "Verify", "resend_otp_detail": "You can resend the OTP in {{countDown}}", "resend_otp": "Resend OTP", "incorrect_otp": "Entered OTP is incorrect", "go_back_to_landing_page": "Go back to landing page", - "successful": "Successful!", + "successful": "Successful!_updated", "error": "Error!", "invalid": "Invalid!", "signup_failed": "Sign-Up Failed!", - "mobile_number_verified": "Your mobile number has been verified successfully. Please continue to setup your account and complete the registration process.", + "mobile_number_verified": "Your mobile number has been verified successfully. Please continue to setup your account and complete the registration process_updated.", "mobile_number_already_registered": "The provided mobile number is already registered. Please use the Login option to proceed.", - "setup_account": "Setup Account", + "setup_account": "Setup Account_updated", "complete_your_registration": "Please enter the requested details to complete your registration.", "username": "Username", "username_placeholder": "Enter username", - "full_name": "Full Name in Khmer", - "full_name_placeholder": "Enter Full Name in Khmer", - "full_name_tooltip": "Maximum 30 characters allowed with no alphabets or special characters, except space.", - "password": "Password", - "password_placeholder": "Enter Password", - "password_rules": "Use 8 or more characters with a mix of alphabets and at least one number.", - "confirm_password": "Confirm Password", - "confirm_password_placeholder": "Enter Password", - "terms_and_condition": "I agree to Cambodia’s Terms & Conditions and Privacy Policy, to store & process my information as required.", + "full_name": "Full Name in Khmer_updated", + "full_name_placeholder": "Enter Full Name in Khmer_updated", + "full_name_tooltip": "Maximum 30 characters allowed with no alphabets or special characters, except space_updated.", + "password": "Password_updated", + "password_placeholder": "Enter Password_updated", + "password_rules": "Use 8 or more characters with a mix of alphabets and at least one number_updated.", + "confirm_password": "Confirm Password_updated", + "confirm_password_placeholder": "Enter Password_updated", + "terms_and_condition": "I agree to Cambodia’s Terms & Conditions and Privacy Policy, to store & process my information as required_updated.", "transaction_timeout": "The transaction has timed out. Please try again.", - "setup_progress": "Account setup in progress!", - "setup_progress_wait": "Please wait while we setup your account.", - "congratulations": "Congratulations!", - "account_created_successfully": "Your account has been created successfully.", - "login_to_proceed": "Please login to proceed.", + "setup_progress": "Account setup in progress!_updated", + "setup_progress_wait": "Please wait while we setup your account_updated.", + "congratulations": "Congratulations!_updated", + "account_created_successfully": "Your account has been created successfully_updated.", + "login_to_proceed": "Please login to proceed_updated.", "okay_to_proceed": "Start using your registered number & password with service providers to avail the required services.", "login": "Login", "okay": "Okay", "continue": "Continue", - "forgot_password": "Forgot Password?", - "forgot_password_description": "Please enter your 8-9 digit registered mobile number and full name.", - "reset_password": "Reset Password", - "reset_password_description": "To set the new password, please enter the new password and re-enter the password to confirm.", + "forgot_password": "Forgot Password?_updated", + "forgot_password_description": "Please enter your 8-9 digit registered mobile number and full name_updated.", + "reset_password": "Reset Password_updated", + "reset_password_description": "To set the new password, please enter the new password and re-enter the password to confirm_updated.", "new_password": "New Password", - "new_password_placeholder": "Enter new password", - "confirm_new_password": "Confirm New Password", - "confirm_new_password_placeholder": "Confirm new password", + "new_password_placeholder": "Enter new password_updated", + "confirm_new_password": "Confirm New Password_updated", + "confirm_new_password_placeholder": "Confirm new password_updated", "reset": "Reset", - "password_reset_in_progress": "Password Reset in progress", - "password_reset_in_progress_detail": "Please wait while we reset your password", - "password_reset_confirmation": "Password Reset Confirmation", - "password_reset_confirmation_detail": "Your password has been reset successfully. Please login to proceed.", - "password_reset_failed": "Password Reset Failed!", - "password_reset_failed_detail": "Oops! Looks like something went wrong. Please try again.", + "password_reset_in_progress": "Password Reset in progress_updated", + "password_reset_in_progress_detail": "Please wait while we reset your password_updated", + "password_reset_confirmation": "Password Reset Confirmation_updated", + "password_reset_confirmation_detail": "Your password has been reset successfully. Please login to proceed_updated.", + "password_reset_failed": "Password Reset Failed!_updated", + "password_reset_failed_detail": "Oops! Looks like something went wrong. Please try again_updated.", "retry": "Retry", "registered_mobile_number": "Registered Mobile Number", "page_under_construction": "Page Under Construction!", @@ -90,7 +90,7 @@ "active_otp_found": "Active OTP Found", "unknown_error": "Unknown Error", "challenge_failed": "Entered OTP is incorrect. Please try again.", - "challenge_expired": "Entered OTP has expired. Please try again.", + "challenge_expired": "Entered OTP has expired. Please try again_updated.", "invalid_challenge_type": "Invalid Challenge Type", "invalid_challenge_format": "Invalid Challenge Format", "invalid_phone_number": "Invalid Mobile Number", From bf5404214f27f7774685b20cbfb723360ce92187 Mon Sep 17 00:00:00 2001 From: Anuranjan14 <120705365+Anuranjan14@users.noreply.github.com> Date: Mon, 29 Jan 2024 13:31:15 +0530 Subject: [PATCH 12/63] Update km.json updated the json Signed-off-by: Anuranjan14 <120705365+Anuranjan14@users.noreply.github.com> --- signup-ui/public/locales/km.json | 34 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/signup-ui/public/locales/km.json b/signup-ui/public/locales/km.json index efac5a54..b177a8fd 100644 --- a/signup-ui/public/locales/km.json +++ b/signup-ui/public/locales/km.json @@ -2,52 +2,52 @@ "register": "បង្កើតគណនី", "landing_page_title": "សូមអភ័យទោស! ទំព័រដែលអ្នកស្វែងរកមិនមាននោះទេ។", "landing_page_description": "អ្នកអាចស្វែងរកដោយប្រើជម្រើសខាងក្រោម។", - "enter_your_number": "សូមបញ្ចូលលេខទូរសព្ទរបស់អ្នកដើម្បីបន្ត", - "enter_your_number_placeholder": "បញ្ចូលលេខទូរស័ព្ទចំនួន 8-9 ខ្ទង់", + "enter_your_number": "សូមបញ្ចូលលេខទូរសព្ទរបស់អ្នកដើម្បីបន្ត_updated", + "enter_your_number_placeholder": "បញ្ចូលលេខទូរស័ព្ទចំនួន 8-9 ខ្ទង់_updated", "fail_to_send_otp": "មិនអាចផ្ញើលេខសម្ងាត់បានទេ! សូមពិនិត្យនិង ផ្ញើលេខទូរសព្ទរបស់អ្នកម្ដងទៀត។", - "otp_header": "បញ្ចូលលេខសម្ងាត់", - "otp_subheader": "សូមបញ្ចូល {no_of_digit}-លេខសម្ងាត់ដែលបានទទួលពីលេខទូរសព្ទរបស់អ្នក។", + "otp_header": "បញ្ចូលលេខសម្ងាត់_updated", + "otp_subheader": "សូមបញ្ចូល {no_of_digit}-លេខសម្ងាត់ដែលបានទទួលពីលេខទូរសព្ទរបស់អ្នក។_updated", "verify": "ផ្ទៀង​ផ្ទាត់", "resend_otp_detail": "អ្នកអាចផ្ញើលេខសម្ងាត់ឡើងវិញក្នុងរយៈពេល {countDown}", "resend_otp": "ផ្ញើលេខសម្ងាត់ឡើងវិញ", "incorrect_otp": "លេខសម្ងាត់មិនត្រឹមត្រូវ", "go_back_to_landing_page": "ត្រឡប់ទៅកាន់ទំព័រដើម", - "successful": "ជោគជ័យ!", + "successful": "ជោគជ័យ!_updated", "error": "កំហុស!", "invalid": "មិនត្រឹមត្រូវ!", "signup_failed": "ការចុះឈ្មោះបរាជ័យ!", - "mobile_number_verified": "លេខទូរសព្ទរបស់អ្នកត្រូវបានផ្ទៀងផ្ទាត់ដោយជោគជ័យ។ សូមបន្តបង្កើតគណនីរបស់អ្នក រួចបញ្ចប់ដំណើរការចុះឈ្មោះ។", + "mobile_number_verified": "លេខទូរសព្ទរបស់អ្នកត្រូវបានផ្ទៀងផ្ទាត់ដោយជោគជ័យ។ សូមបន្តបង្កើតគណនីរបស់អ្នក រួចបញ្ចប់ដំណើរការចុះឈ្មោះ។_updated", "mobile_number_already_registered": "លេខទូរសព្ទ្ទដែលបានផ្តល់ត្រូវបានចុះឈ្មោះរួចហើយ។ សូមប្រើជម្រើសចូលគណនីដើម្បីបន្ត។", - "setup_account": "បង្កើតគណនី", + "setup_account": "បង្កើតគណនី_updated", "complete_your_registration": "សូមបញ្ចូលព័ត៌មានលម្អិតដែលបានស្នើសុំដើម្បីបំពេញការចុះឈ្មោះរបស់អ្នក។", "username": "ឈ្មោះ​អ្នកប្រើប្រាស់", "username_placeholder": "បញ្ចូលឈ្មោះ​អ្នកប្រើប្រាស់", "full_name": "គោត្តនាម-នាម", "full_name_placeholder": "បញ្ចូលគោត្តនាម-នាមជាភាសាខ្មែរ", "full_name_tooltip": "ជាអតិបរមា 30 តួអក្សរត្រូវបានអនុញ្ញាត និងមិនគួរមានលេខ ឬតួអក្សរពិសេសណាមួយឡើយ លើកលែងតែដកឃ្លា។", - "password": "ពាក្យសម្ងាត់", + "password": "ពាក្យសម្ងាត់_updated", "password_placeholder": "បញ្ចូលពាក្យសម្ងាត់", "password_rules": "ប្រើតួអក្សរ 8 ឬច្រើនជាមួយតួអក្សរពិសេស និងយ៉ាងហោចណាស់តួលេខមួយយ៉ាងតិច។", - "confirm_password": "បញ្ជាក់ពាក្យសម្ងាត់", - "confirm_password_placeholder": "បញ្ចូលពាក្យសម្ងាត់", + "confirm_password": "បញ្ជាក់ពាក្យសម្ងាត់_updated", + "confirm_password_placeholder": "បញ្ចូលពាក្យសម្ងាត់_updated", "terms_and_condition": "ខ្ញុំយល់ព្រមតាមលក្ខខណ្ឌ និងគោលការណ៍ឯកជនភាពរបស់ប្រទេសកម្ពុជា ដើម្បីរក្សាទុក និងដំណើរការព័ត៌មានរបស់ខ្ញុំតាមតម្រូវការ។", "transaction_timeout": "ប្រតិបត្តិការបានផុតកំណត់។ សូម​ព្យាយាម​ម្តង​ទៀត។", "setup_progress": "ការបង្កើតគណនីកំពុងដំណើរការ!", "setup_progress_wait": "សូមធ្វើការរង់ចាំខណៈពេលគណនីរបស់អ្នកកំពុងរៀបចំ។", - "congratulations": "សូមអបអរសាទរ!", - "account_created_successfully": "គណនីរបស់អ្នកត្រូវបានបង្កើតដោយជោគជ័យ។", + "congratulations": "សូមអបអរសាទរ!_updated", + "account_created_successfully": "គណនីរបស់អ្នកត្រូវបានបង្កើតដោយជោគជ័យ។_updated", "login_to_proceed": "សូមចូលគណនីដើម្បីបន្ត។", "okay_to_proceed": "ចាប់ផ្តើមប្រើប្រាស់លេខ និងពាក្យសម្ងាត់ដែលបានចុះឈ្មោះរបស់អ្នកជាមួយអ្នកផ្តល់សេវា ដើម្បីប្រើប្រាស់សេវាកម្មដែលត្រូវការ។", "login": "ចូលគណនី", "okay": "យល់ព្រម", "continue": "បន្ត", - "forgot_password": "ភ្លេចលេខសម្ងាត់?", + "forgot_password": "ភ្លេចលេខសម្ងាត់?_updated", "forgot_password_description": "សូមបញ្ចូលលេខទូរសព្ទដែលបានចុះឈ្មោះ 8-9 ខ្ទង់ និងឈ្មោះពេញរបស់អ្នក", - "reset_password": "កំណត់ពាក្យសម្ងាត់ឡើងវិញ", - "reset_password_description": "ដើម្បីកំណត់ពាក្យសម្ងាត់ថ្មី សូមបញ្ចូលពាក្យសម្ងាត់ថ្មី ហើយបញ្ចូលពាក្យសម្ងាត់ម្តងទៀត", - "new_password": "ពាក្យសម្ងាត់​ថ្មី", + "reset_password": "កំណត់ពាក្យសម្ងាត់ឡើងវិញ_updated", + "reset_password_description": "ដើម្បីកំណត់ពាក្យសម្ងាត់ថ្មី សូមបញ្ចូលពាក្យសម្ងាត់ថ្មី ហើយបញ្ចូលពាក្យសម្ងាត់ម្តងទៀត_updated", + "new_password": "ពាក្យសម្ងាត់​ថ្មី_updated", "new_password_placeholder": "សូមបញ្ចូលពាក្យសម្ងាត់​ថ្មរបស់អ្នកដើម្បីបន្ត", - "confirm_new_password": "បញ្ជាក់​លេខសំងាត់​ថ្មី", + "confirm_new_password": "បញ្ជាក់​លេខសំងាត់​ថ្មី_updated", "confirm_new_password_placeholder": "បញ្ជាក់​លេខសំងាត់​ថ្មី", "reset": "កំណត់ឡើងវិញ", "password_reset_in_progress": "ការកំណត់ពាក្យសម្ងាត់ឡើងវិញកំពុងដំណើរការ", From 0c9746c6ccac2733d630ea528ccf3caf3f98bad7 Mon Sep 17 00:00:00 2001 From: Anuranjan14 <120705365+Anuranjan14@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:47:18 +0530 Subject: [PATCH 13/63] Update en.json Reverting back the changes made Signed-off-by: Anuranjan14 <120705365+Anuranjan14@users.noreply.github.com> --- signup-ui/public/locales/en.json | 70 ++++++++++++++++---------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/signup-ui/public/locales/en.json b/signup-ui/public/locales/en.json index 78905b97..2e285463 100644 --- a/signup-ui/public/locales/en.json +++ b/signup-ui/public/locales/en.json @@ -2,60 +2,60 @@ "register": "Register", "landing_page_title": "Oops! The page you are looking for does not exist.", "landing_page_description": "Please try navigating using the options below.", - "enter_your_number": "Please enter your mobile number to continue_updated", - "enter_your_number_placeholder": "Enter 8-9 digit mobile number_updated", + "enter_your_number": "Please enter your mobile number to continue", + "enter_your_number_placeholder": "Enter 8-9 digit mobile number", "fail_to_send_otp": "Failed to send OTP. Please provide a valid mobile number.", - "otp_header": "Enter OTP_updated", - "otp_subheader": "Please enter {no_of_digit}-digit OTP received on your number_updated", + "otp_header": "Enter OTP", + "otp_subheader": "Please enter {no_of_digit}-digit OTP received on your number", "verify": "Verify", "resend_otp_detail": "You can resend the OTP in {{countDown}}", "resend_otp": "Resend OTP", "incorrect_otp": "Entered OTP is incorrect", "go_back_to_landing_page": "Go back to landing page", - "successful": "Successful!_updated", + "successful": "Successful!", "error": "Error!", "invalid": "Invalid!", "signup_failed": "Sign-Up Failed!", - "mobile_number_verified": "Your mobile number has been verified successfully. Please continue to setup your account and complete the registration process_updated.", + "mobile_number_verified": "Your mobile number has been verified successfully. Please continue to setup your account and complete the registration process.", "mobile_number_already_registered": "The provided mobile number is already registered. Please use the Login option to proceed.", - "setup_account": "Setup Account_updated", + "setup_account": "Setup Account", "complete_your_registration": "Please enter the requested details to complete your registration.", "username": "Username", "username_placeholder": "Enter username", - "full_name": "Full Name in Khmer_updated", - "full_name_placeholder": "Enter Full Name in Khmer_updated", - "full_name_tooltip": "Maximum 30 characters allowed with no alphabets or special characters, except space_updated.", - "password": "Password_updated", - "password_placeholder": "Enter Password_updated", - "password_rules": "Use 8 or more characters with a mix of alphabets and at least one number_updated.", - "confirm_password": "Confirm Password_updated", - "confirm_password_placeholder": "Enter Password_updated", - "terms_and_condition": "I agree to Cambodia’s Terms & Conditions and Privacy Policy, to store & process my information as required_updated.", + "full_name": "Full Name in Khmer", + "full_name_placeholder": "Enter Full Name in Khmer", + "full_name_tooltip": "Maximum 30 characters allowed with no alphabets or special characters, except space.", + "password": "Password", + "password_placeholder": "Enter Password", + "password_rules": "Use 8 or more characters with a mix of alphabets and at least one number.", + "confirm_password": "Confirm Password", + "confirm_password_placeholder": "Enter Password", + "terms_and_condition": "I agree to Cambodia’s Terms & Conditions and Privacy Policy, to store & process my information as required.", "transaction_timeout": "The transaction has timed out. Please try again.", - "setup_progress": "Account setup in progress!_updated", - "setup_progress_wait": "Please wait while we setup your account_updated.", - "congratulations": "Congratulations!_updated", - "account_created_successfully": "Your account has been created successfully_updated.", - "login_to_proceed": "Please login to proceed_updated.", + "setup_progress": "Account setup in progress!", + "setup_progress_wait": "Please wait while we setup your account.", + "congratulations": "Congratulations!", + "account_created_successfully": "Your account has been created successfully.", + "login_to_proceed": "Please login to proceed.", "okay_to_proceed": "Start using your registered number & password with service providers to avail the required services.", "login": "Login", "okay": "Okay", "continue": "Continue", - "forgot_password": "Forgot Password?_updated", - "forgot_password_description": "Please enter your 8-9 digit registered mobile number and full name_updated.", - "reset_password": "Reset Password_updated", - "reset_password_description": "To set the new password, please enter the new password and re-enter the password to confirm_updated.", + "forgot_password": "Forgot Password?", + "forgot_password_description": "Please enter your 8-9 digit registered mobile number and full name.", + "reset_password": "Reset Password", + "reset_password_description": "To set the new password, please enter the new password and re-enter the password to confirm.", "new_password": "New Password", - "new_password_placeholder": "Enter new password_updated", - "confirm_new_password": "Confirm New Password_updated", - "confirm_new_password_placeholder": "Confirm new password_updated", + "new_password_placeholder": "Enter new password", + "confirm_new_password": "Confirm New Password", + "confirm_new_password_placeholder": "Confirm new password", "reset": "Reset", - "password_reset_in_progress": "Password Reset in progress_updated", - "password_reset_in_progress_detail": "Please wait while we reset your password_updated", - "password_reset_confirmation": "Password Reset Confirmation_updated", - "password_reset_confirmation_detail": "Your password has been reset successfully. Please login to proceed_updated.", - "password_reset_failed": "Password Reset Failed!_updated", - "password_reset_failed_detail": "Oops! Looks like something went wrong. Please try again_updated.", + "password_reset_in_progress": "Password Reset in progress", + "password_reset_in_progress_detail": "Please wait while we reset your password", + "password_reset_confirmation": "Password Reset Confirmation", + "password_reset_confirmation_detail": "Your password has been reset successfully. Please login to proceed.", + "password_reset_failed": "Password Reset Failed!", + "password_reset_failed_detail": "Oops! Looks like something went wrong. Please try again.", "retry": "Retry", "registered_mobile_number": "Registered Mobile Number", "page_under_construction": "Page Under Construction!", @@ -90,7 +90,7 @@ "active_otp_found": "Active OTP Found", "unknown_error": "Unknown Error", "challenge_failed": "Entered OTP is incorrect. Please try again.", - "challenge_expired": "Entered OTP has expired. Please try again_updated.", + "challenge_expired": "Entered OTP has expired. Please try again.", "invalid_challenge_type": "Invalid Challenge Type", "invalid_challenge_format": "Invalid Challenge Format", "invalid_phone_number": "Invalid Mobile Number", From 00d5edd16226f4783a5dffbff0e508915697ae0b Mon Sep 17 00:00:00 2001 From: Anuranjan14 <120705365+Anuranjan14@users.noreply.github.com> Date: Mon, 29 Jan 2024 18:51:07 +0530 Subject: [PATCH 14/63] Update km.json Reverted back the changes made. Signed-off-by: Anuranjan14 <120705365+Anuranjan14@users.noreply.github.com> --- signup-ui/public/locales/km.json | 34 ++++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/signup-ui/public/locales/km.json b/signup-ui/public/locales/km.json index b177a8fd..efac5a54 100644 --- a/signup-ui/public/locales/km.json +++ b/signup-ui/public/locales/km.json @@ -2,52 +2,52 @@ "register": "បង្កើតគណនី", "landing_page_title": "សូមអភ័យទោស! ទំព័រដែលអ្នកស្វែងរកមិនមាននោះទេ។", "landing_page_description": "អ្នកអាចស្វែងរកដោយប្រើជម្រើសខាងក្រោម។", - "enter_your_number": "សូមបញ្ចូលលេខទូរសព្ទរបស់អ្នកដើម្បីបន្ត_updated", - "enter_your_number_placeholder": "បញ្ចូលលេខទូរស័ព្ទចំនួន 8-9 ខ្ទង់_updated", + "enter_your_number": "សូមបញ្ចូលលេខទូរសព្ទរបស់អ្នកដើម្បីបន្ត", + "enter_your_number_placeholder": "បញ្ចូលលេខទូរស័ព្ទចំនួន 8-9 ខ្ទង់", "fail_to_send_otp": "មិនអាចផ្ញើលេខសម្ងាត់បានទេ! សូមពិនិត្យនិង ផ្ញើលេខទូរសព្ទរបស់អ្នកម្ដងទៀត។", - "otp_header": "បញ្ចូលលេខសម្ងាត់_updated", - "otp_subheader": "សូមបញ្ចូល {no_of_digit}-លេខសម្ងាត់ដែលបានទទួលពីលេខទូរសព្ទរបស់អ្នក។_updated", + "otp_header": "បញ្ចូលលេខសម្ងាត់", + "otp_subheader": "សូមបញ្ចូល {no_of_digit}-លេខសម្ងាត់ដែលបានទទួលពីលេខទូរសព្ទរបស់អ្នក។", "verify": "ផ្ទៀង​ផ្ទាត់", "resend_otp_detail": "អ្នកអាចផ្ញើលេខសម្ងាត់ឡើងវិញក្នុងរយៈពេល {countDown}", "resend_otp": "ផ្ញើលេខសម្ងាត់ឡើងវិញ", "incorrect_otp": "លេខសម្ងាត់មិនត្រឹមត្រូវ", "go_back_to_landing_page": "ត្រឡប់ទៅកាន់ទំព័រដើម", - "successful": "ជោគជ័យ!_updated", + "successful": "ជោគជ័យ!", "error": "កំហុស!", "invalid": "មិនត្រឹមត្រូវ!", "signup_failed": "ការចុះឈ្មោះបរាជ័យ!", - "mobile_number_verified": "លេខទូរសព្ទរបស់អ្នកត្រូវបានផ្ទៀងផ្ទាត់ដោយជោគជ័យ។ សូមបន្តបង្កើតគណនីរបស់អ្នក រួចបញ្ចប់ដំណើរការចុះឈ្មោះ។_updated", + "mobile_number_verified": "លេខទូរសព្ទរបស់អ្នកត្រូវបានផ្ទៀងផ្ទាត់ដោយជោគជ័យ។ សូមបន្តបង្កើតគណនីរបស់អ្នក រួចបញ្ចប់ដំណើរការចុះឈ្មោះ។", "mobile_number_already_registered": "លេខទូរសព្ទ្ទដែលបានផ្តល់ត្រូវបានចុះឈ្មោះរួចហើយ។ សូមប្រើជម្រើសចូលគណនីដើម្បីបន្ត។", - "setup_account": "បង្កើតគណនី_updated", + "setup_account": "បង្កើតគណនី", "complete_your_registration": "សូមបញ្ចូលព័ត៌មានលម្អិតដែលបានស្នើសុំដើម្បីបំពេញការចុះឈ្មោះរបស់អ្នក។", "username": "ឈ្មោះ​អ្នកប្រើប្រាស់", "username_placeholder": "បញ្ចូលឈ្មោះ​អ្នកប្រើប្រាស់", "full_name": "គោត្តនាម-នាម", "full_name_placeholder": "បញ្ចូលគោត្តនាម-នាមជាភាសាខ្មែរ", "full_name_tooltip": "ជាអតិបរមា 30 តួអក្សរត្រូវបានអនុញ្ញាត និងមិនគួរមានលេខ ឬតួអក្សរពិសេសណាមួយឡើយ លើកលែងតែដកឃ្លា។", - "password": "ពាក្យសម្ងាត់_updated", + "password": "ពាក្យសម្ងាត់", "password_placeholder": "បញ្ចូលពាក្យសម្ងាត់", "password_rules": "ប្រើតួអក្សរ 8 ឬច្រើនជាមួយតួអក្សរពិសេស និងយ៉ាងហោចណាស់តួលេខមួយយ៉ាងតិច។", - "confirm_password": "បញ្ជាក់ពាក្យសម្ងាត់_updated", - "confirm_password_placeholder": "បញ្ចូលពាក្យសម្ងាត់_updated", + "confirm_password": "បញ្ជាក់ពាក្យសម្ងាត់", + "confirm_password_placeholder": "បញ្ចូលពាក្យសម្ងាត់", "terms_and_condition": "ខ្ញុំយល់ព្រមតាមលក្ខខណ្ឌ និងគោលការណ៍ឯកជនភាពរបស់ប្រទេសកម្ពុជា ដើម្បីរក្សាទុក និងដំណើរការព័ត៌មានរបស់ខ្ញុំតាមតម្រូវការ។", "transaction_timeout": "ប្រតិបត្តិការបានផុតកំណត់។ សូម​ព្យាយាម​ម្តង​ទៀត។", "setup_progress": "ការបង្កើតគណនីកំពុងដំណើរការ!", "setup_progress_wait": "សូមធ្វើការរង់ចាំខណៈពេលគណនីរបស់អ្នកកំពុងរៀបចំ។", - "congratulations": "សូមអបអរសាទរ!_updated", - "account_created_successfully": "គណនីរបស់អ្នកត្រូវបានបង្កើតដោយជោគជ័យ។_updated", + "congratulations": "សូមអបអរសាទរ!", + "account_created_successfully": "គណនីរបស់អ្នកត្រូវបានបង្កើតដោយជោគជ័យ។", "login_to_proceed": "សូមចូលគណនីដើម្បីបន្ត។", "okay_to_proceed": "ចាប់ផ្តើមប្រើប្រាស់លេខ និងពាក្យសម្ងាត់ដែលបានចុះឈ្មោះរបស់អ្នកជាមួយអ្នកផ្តល់សេវា ដើម្បីប្រើប្រាស់សេវាកម្មដែលត្រូវការ។", "login": "ចូលគណនី", "okay": "យល់ព្រម", "continue": "បន្ត", - "forgot_password": "ភ្លេចលេខសម្ងាត់?_updated", + "forgot_password": "ភ្លេចលេខសម្ងាត់?", "forgot_password_description": "សូមបញ្ចូលលេខទូរសព្ទដែលបានចុះឈ្មោះ 8-9 ខ្ទង់ និងឈ្មោះពេញរបស់អ្នក", - "reset_password": "កំណត់ពាក្យសម្ងាត់ឡើងវិញ_updated", - "reset_password_description": "ដើម្បីកំណត់ពាក្យសម្ងាត់ថ្មី សូមបញ្ចូលពាក្យសម្ងាត់ថ្មី ហើយបញ្ចូលពាក្យសម្ងាត់ម្តងទៀត_updated", - "new_password": "ពាក្យសម្ងាត់​ថ្មី_updated", + "reset_password": "កំណត់ពាក្យសម្ងាត់ឡើងវិញ", + "reset_password_description": "ដើម្បីកំណត់ពាក្យសម្ងាត់ថ្មី សូមបញ្ចូលពាក្យសម្ងាត់ថ្មី ហើយបញ្ចូលពាក្យសម្ងាត់ម្តងទៀត", + "new_password": "ពាក្យសម្ងាត់​ថ្មី", "new_password_placeholder": "សូមបញ្ចូលពាក្យសម្ងាត់​ថ្មរបស់អ្នកដើម្បីបន្ត", - "confirm_new_password": "បញ្ជាក់​លេខសំងាត់​ថ្មី_updated", + "confirm_new_password": "បញ្ជាក់​លេខសំងាត់​ថ្មី", "confirm_new_password_placeholder": "បញ្ជាក់​លេខសំងាត់​ថ្មី", "reset": "កំណត់ឡើងវិញ", "password_reset_in_progress": "ការកំណត់ពាក្យសម្ងាត់ឡើងវិញកំពុងដំណើរការ", From e2d936a76d4cd5ae93bc44f99456f2bbba45d4a3 Mon Sep 17 00:00:00 2001 From: ase-101 Date: Wed, 31 Jan 2024 09:07:56 +0530 Subject: [PATCH 15/63] ES-715 ES-641 Signed-off-by: ase-101 --- .../java/io/mosip/signup/SignUpServiceApplication.java | 5 ++++- .../src/main/java/io/mosip/signup/dto/Identity.java | 6 ++++++ .../io/mosip/signup/services/CacheUtilService.java | 10 +++++----- .../io/mosip/signup/services/RegistrationService.java | 9 +++++++-- .../java/io/mosip/signup/util/SignUpConstants.java | 2 +- .../src/main/resources/application-default.properties | 7 ++++--- 6 files changed, 27 insertions(+), 12 deletions(-) diff --git a/signup-service/src/main/java/io/mosip/signup/SignUpServiceApplication.java b/signup-service/src/main/java/io/mosip/signup/SignUpServiceApplication.java index 2bdf1986..4ec15691 100644 --- a/signup-service/src/main/java/io/mosip/signup/SignUpServiceApplication.java +++ b/signup-service/src/main/java/io/mosip/signup/SignUpServiceApplication.java @@ -1,5 +1,7 @@ package io.mosip.signup; +import io.mosip.esignet.core.config.RedisCacheConfig; +import io.mosip.esignet.core.config.SimpleCacheConfig; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCaching; @@ -10,7 +12,8 @@ @SpringBootApplication(scanBasePackages = "io.mosip.signup.*," + "io.mosip.esignet.core.config.RedisCacheConfig," + "io.mosip.esignet.core.config.SimpleCacheConfig,"+ - "${mosip.auth.adapter.impl.basepackage}") + "${mosip.auth.adapter.impl.basepackage}", + scanBasePackageClasses = {SimpleCacheConfig.class, RedisCacheConfig.class}) public class SignUpServiceApplication { public static void main(String[] args) { diff --git a/signup-service/src/main/java/io/mosip/signup/dto/Identity.java b/signup-service/src/main/java/io/mosip/signup/dto/Identity.java index 2ae16610..eb501fb2 100644 --- a/signup-service/src/main/java/io/mosip/signup/dto/Identity.java +++ b/signup-service/src/main/java/io/mosip/signup/dto/Identity.java @@ -33,4 +33,10 @@ public class Identity implements Serializable { @JsonInclude(JsonInclude.Include.NON_NULL) private List selectedHandles; + + @JsonInclude(JsonInclude.Include.NON_NULL) + private Boolean phoneVerified; + + @JsonInclude(JsonInclude.Include.NON_NULL) + private Long updatedAt; } diff --git a/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java b/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java index e4f1c08e..e26bb831 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java @@ -16,6 +16,7 @@ @Slf4j @Service public class CacheUtilService { + @Autowired CacheManager cacheManager; @@ -40,9 +41,9 @@ public RegistrationTransaction setRegisteredTransaction(String transactionId, return registrationTransaction; } - @Cacheable(value = SignUpConstants.BLOCKED_IDENTIFIER, key = "#identifierHash") - public String blockIdentifier(String identifierHash) { - return identifierHash; + @Cacheable(value = SignUpConstants.BLOCKED_IDENTIFIER, key = "#key") + public String blockIdentifier(String key, String value) { + return value; } @Cacheable(value = SignUpConstants.KEYSTORE, key = "#key") @@ -71,8 +72,7 @@ public RegistrationTransaction getRegisteredTransaction(String transactionId) { public boolean isIdentifierBlocked(String identifier) { String identifierHash = IdentityProviderUtil.generateB64EncodedHash(IdentityProviderUtil.ALGO_SHA3_256, identifier.toLowerCase(Locale.ROOT)); - String value = cacheManager.getCache(SignUpConstants.BLOCKED_IDENTIFIER).get(identifierHash, String.class); - return value == null ? false : true; + return cacheManager.getCache(SignUpConstants.BLOCKED_IDENTIFIER).get(identifierHash, String.class) != null; } public String getSecretKey(String keyAlias) { diff --git a/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java b/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java index 4688cec7..40099678 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java @@ -31,6 +31,8 @@ import java.nio.charset.StandardCharsets; import java.security.NoSuchAlgorithmException; +import java.time.LocalDateTime; +import java.time.ZoneOffset; import java.util.*; import java.util.stream.Collectors; @@ -157,8 +159,8 @@ public GenerateChallengeResponse generateChallenge(GenerateChallengeRequest gene cacheUtilService.setChallengeGeneratedTransaction(transactionId, transaction); //Resend attempts exhausted, block the identifier for configured time. - if(transaction.getChallengeRetryAttempts() > resendAttempts + 1) - cacheUtilService.blockIdentifier(transaction.getIdentifier()); + if(transaction.getChallengeRetryAttempts() > resendAttempts) + cacheUtilService.blockIdentifier(transaction.getIdentifier(), "blocked"); notificationHelper.sendSMSNotificationAsync(generateChallengeRequest.getIdentifier(), transaction.getLocale(), SEND_OTP_SMS_NOTIFICATION_TEMPLATE_KEY, new HashMap<>(){{put("{challenge}", challenge);}}) @@ -274,6 +276,7 @@ public RegistrationStatusResponse updatePassword(ResetPasswordRequest resetPassw Password password = generateSaltedHash(resetPasswordRequest.getPassword(), transactionId); identity.setPassword(password); + identity.setUpdatedAt(LocalDateTime.now(ZoneOffset.UTC).toEpochSecond(ZoneOffset.UTC)); IdentityRequest identityRequest = new IdentityRequest(); identityRequest.setRegistrationId(transaction.getApplicationId()); @@ -426,6 +429,8 @@ private void saveIdentityData(RegisterRequest registerRequest, String transactio identity.setFullName(userInfoMap.getFullName()); identity.setIDSchemaVersion(idSchemaVersion); identity.setRegistrationType("L1"); + identity.setPhoneVerified(true); + identity.setUpdatedAt(LocalDateTime.now(ZoneOffset.UTC).toEpochSecond(ZoneOffset.UTC)); String uin = getUniqueIdentifier(transactionId); identity.setUIN(uin); diff --git a/signup-service/src/main/java/io/mosip/signup/util/SignUpConstants.java b/signup-service/src/main/java/io/mosip/signup/util/SignUpConstants.java index e004350f..0e98a2f8 100644 --- a/signup-service/src/main/java/io/mosip/signup/util/SignUpConstants.java +++ b/signup-service/src/main/java/io/mosip/signup/util/SignUpConstants.java @@ -4,7 +4,7 @@ public class SignUpConstants { public static final String CHALLENGE_GENERATED = "challenge_generated"; public static final String CHALLENGE_VERIFIED = "challenge_verified"; - public static final String REGISTERED_CACHE = "registered"; + public static final String REGISTERED_CACHE = "status_check"; public static final String BLOCKED_IDENTIFIER = "blocked_identifier"; public static final String KEYSTORE = "keystore"; public static final String KEY_ALIAS = "key_alias"; diff --git a/signup-service/src/main/resources/application-default.properties b/signup-service/src/main/resources/application-default.properties index 8a44e091..41262f2d 100644 --- a/signup-service/src/main/resources/application-default.properties +++ b/signup-service/src/main/resources/application-default.properties @@ -14,9 +14,10 @@ mosip.signup.fullname.pattern=^[\\u1780-\\u17FF\\u19E0-\\u19FF\\u1A00-\\u1A9F\\u ## Time given to generate and verify the challenge in seconds. ## Default resend delay is 60 seconds, with 3 attempts, so 60*3=180 seconds. -## Adding 10 seconds buffer to default 180 seconds = 190 seconds. -## so 190 seconds is the Generate and verify cookie max age. -mosip.signup.unauthenticated.txn.timeout=190 +## Adding 60 seconds for the default generate challenge 180+60=240 +## Adding 10 seconds buffer to default 240 seconds = 250 seconds. +## so 250 seconds is the Generate and verify cookie max age. +mosip.signup.unauthenticated.txn.timeout=250 mosip.signup.challenge.resend-attempt=3 mosip.signup.challenge.resend-delay=60 From ffdc0658c23148471a0e90208dd87276842a7960 Mon Sep 17 00:00:00 2001 From: Venkata Saidurga Polamraju Date: Tue, 30 Jan 2024 14:59:29 +0530 Subject: [PATCH 16/63] [Es-722] Signed-off-by: Venkata Saidurga Polamraju --- .../controllers/RegistrationControllerTest.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/signup-service/src/test/java/io/mosip/signup/controllers/RegistrationControllerTest.java b/signup-service/src/test/java/io/mosip/signup/controllers/RegistrationControllerTest.java index ed7641c9..761b7f17 100644 --- a/signup-service/src/test/java/io/mosip/signup/controllers/RegistrationControllerTest.java +++ b/signup-service/src/test/java/io/mosip/signup/controllers/RegistrationControllerTest.java @@ -519,6 +519,23 @@ public void doGenerateChallenge_withRegistrationPurpose_thenPass() throws Except .andExpect(jsonPath("$.errors").isEmpty()); } + @Test + public void doGenerateChallenge_withNullPurpose_returnErrorResponse() throws Exception { + String status = "SUCCESSFUL"; + GenerateChallengeResponse generateChallengeResponse = new GenerateChallengeResponse(status); + generateChallengeRequest.setPurpose(null); + when(registrationService.generateChallenge(generateChallengeRequest, "")) + .thenReturn(generateChallengeResponse); + + mockMvc.perform(post("/registration/generate-challenge") + .content(objectMapper.writeValueAsString(wrapper)) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.response").isEmpty()) + .andExpect(jsonPath("$.errors").isNotEmpty()) + .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_PURPOSE)); + } + @Test public void doGenerateChallenge_withResetPasswordPurpose_thenPass() throws Exception { String status = "SUCCESSFUL"; From 70de40990d622bf1cade467c5d4ededdc056e912 Mon Sep 17 00:00:00 2001 From: Venkata Saidurga Polamraju Date: Tue, 30 Jan 2024 14:59:29 +0530 Subject: [PATCH 17/63] [Es-722] Signed-off-by: Venkata Saidurga Polamraju From 9b8514c012ff759cf0c375e0b428fff58342c94e Mon Sep 17 00:00:00 2001 From: Venkata Saidurga Polamraju Date: Tue, 30 Jan 2024 11:27:22 +0530 Subject: [PATCH 18/63] [ES-722] Signed-off-by: Venkata Saidurga Polamraju --- .../signup/dto/GenerateChallengeRequest.java | 1 + .../io/mosip/signup/util/ErrorConstants.java | 1 + .../io/mosip/signup/validator/Purpose.java | 23 +++++++++++++++++++ .../signup/validator/PurposeValidator.java | 14 +++++++++++ 4 files changed, 39 insertions(+) create mode 100644 signup-service/src/main/java/io/mosip/signup/validator/Purpose.java create mode 100644 signup-service/src/main/java/io/mosip/signup/validator/PurposeValidator.java diff --git a/signup-service/src/main/java/io/mosip/signup/dto/GenerateChallengeRequest.java b/signup-service/src/main/java/io/mosip/signup/dto/GenerateChallengeRequest.java index 7fa20ca8..62e179d8 100644 --- a/signup-service/src/main/java/io/mosip/signup/dto/GenerateChallengeRequest.java +++ b/signup-service/src/main/java/io/mosip/signup/dto/GenerateChallengeRequest.java @@ -15,5 +15,6 @@ public class GenerateChallengeRequest { private String locale; private boolean regenerate; + @io.mosip.signup.validator.Purpose private Purpose purpose; } diff --git a/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java b/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java index debb1c06..90167d5c 100644 --- a/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java +++ b/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java @@ -8,6 +8,7 @@ public class ErrorConstants { public static final String INVALID_PASSWORD = "invalid_password"; public static final String INVALID_USERINFO = "invalid_username"; public static final String INVALID_CONSENT = "invalid_consent"; + public static final String INVALID_PURPOSE ="invalid_purpose"; public static final String IDENTIFIER_MISMATCH = "identifier_mismatch"; public static final String CONSENT_REQUIRED = "consent_required"; public static final String INVALID_TRANSACTION="invalid_transaction"; diff --git a/signup-service/src/main/java/io/mosip/signup/validator/Purpose.java b/signup-service/src/main/java/io/mosip/signup/validator/Purpose.java new file mode 100644 index 00000000..80bfe316 --- /dev/null +++ b/signup-service/src/main/java/io/mosip/signup/validator/Purpose.java @@ -0,0 +1,23 @@ +package io.mosip.signup.validator; + +import io.mosip.signup.util.ErrorConstants; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.TYPE_USE; +import static java.lang.annotation.RetentionPolicy.RUNTIME; + +@Target({FIELD, TYPE_USE}) +@Retention(RUNTIME) +@Constraint(validatedBy = PurposeValidator.class) +@Documented +public @interface Purpose { + String message() default ErrorConstants.INVALID_PURPOSE; + Class[] groups() default {}; + Class[] payload() default {}; +} diff --git a/signup-service/src/main/java/io/mosip/signup/validator/PurposeValidator.java b/signup-service/src/main/java/io/mosip/signup/validator/PurposeValidator.java new file mode 100644 index 00000000..496587f0 --- /dev/null +++ b/signup-service/src/main/java/io/mosip/signup/validator/PurposeValidator.java @@ -0,0 +1,14 @@ +package io.mosip.signup.validator; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; +import io.mosip.signup.util.Purpose; + +public class PurposeValidator implements ConstraintValidator { + @Override + public boolean isValid(Purpose value, ConstraintValidatorContext context) { + if(value == null) + return false; + return value.equals(Purpose.REGISTRATION) || value.equals(Purpose.RESET_PASSWORD); + } +} From 6cce093d52bf7dc8fc734af48046745449656f0c Mon Sep 17 00:00:00 2001 From: ase-101 Date: Wed, 31 Jan 2024 09:41:31 +0530 Subject: [PATCH 19/63] Updated versions Signed-off-by: ase-101 --- signup-service/pom.xml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/signup-service/pom.xml b/signup-service/pom.xml index 78bd14fb..44211a91 100644 --- a/signup-service/pom.xml +++ b/signup-service/pom.xml @@ -115,7 +115,7 @@ io.mosip.esignet esignet-core - 1.1.0 + 1.3.0-SNAPSHOT org.springframework.boot @@ -151,12 +151,12 @@ io.mosip.kernel kernel-core - 1.2.0.1-B1 + 1.2.0.1-B2 io.mosip.kernel kernel-logger-logback - 1.2.0.1-B1 + 1.2.0.1-B2 io.mosip.kernel @@ -172,7 +172,7 @@ io.mosip.esignet esignet-integration-api - 1.1.0 + 1.3.0-SNAPSHOT org.mockito From 55eac4d6d1646334934b18390e43ff417959c50d Mon Sep 17 00:00:00 2001 From: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> Date: Wed, 31 Jan 2024 19:10:02 +0530 Subject: [PATCH 20/63] [DSD-4341]Update chart-lint-publish.yml Signed-off-by: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> --- .github/workflows/chart-lint-publish.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/chart-lint-publish.yml b/.github/workflows/chart-lint-publish.yml index df1158d8..8acf19a4 100644 --- a/.github/workflows/chart-lint-publish.yml +++ b/.github/workflows/chart-lint-publish.yml @@ -6,7 +6,7 @@ on: pull_request: types: [opened, reopened, synchronize] paths: - - 'charts/**' + - 'helm/**' workflow_dispatch: inputs: IGNORE_CHARTS: @@ -41,7 +41,7 @@ on: - release* - ES-* paths: - - 'charts/**' + - 'helm/**' jobs: chart-lint-publish: From 60010bb40998b80c01bdc8b9c2fd72043a29a25b Mon Sep 17 00:00:00 2001 From: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> Date: Wed, 31 Jan 2024 19:10:47 +0530 Subject: [PATCH 21/63] [DSD-4341]Update README.md Signed-off-by: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> --- helm/signup-service/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/helm/signup-service/README.md b/helm/signup-service/README.md index 53f65bc5..8d74f729 100644 --- a/helm/signup-service/README.md +++ b/helm/signup-service/README.md @@ -38,3 +38,4 @@ Refer [Commons](https://docs.mosip.io/1.2.0/modules/commons). ``` ./delete.sh ``` + From b04a97f667cb7124b6727edb023dc9c925929655 Mon Sep 17 00:00:00 2001 From: Sreang Rathanak Date: Wed, 31 Jan 2024 17:34:57 +0700 Subject: [PATCH 22/63] When back option is clicked in Reset password screen the user is redirected to Otp screen with Resend Otp timer running. Signed-off-by: Sreang Rathanak --- .../ResetPasswordPage/ResetPassword/ResetPassword.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/signup-ui/src/pages/ResetPasswordPage/ResetPassword/ResetPassword.tsx b/signup-ui/src/pages/ResetPasswordPage/ResetPassword/ResetPassword.tsx index 3abb1f60..06bf0251 100644 --- a/signup-ui/src/pages/ResetPasswordPage/ResetPassword/ResetPassword.tsx +++ b/signup-ui/src/pages/ResetPasswordPage/ResetPassword/ResetPassword.tsx @@ -1,7 +1,7 @@ import { MouseEvent, useCallback, useMemo, useState } from "react"; import { useFormContext, UseFormReturn } from "react-hook-form"; import { Trans, useTranslation } from "react-i18next"; -import { useLocation } from "react-router-dom"; +import { useNavigate } from "react-router-dom"; import { IconLabelPopover } from "~components/icon-label-popover"; import { ActionMessage } from "~components/ui/action-message"; @@ -49,6 +49,7 @@ interface ResetPasswordProps { export const ResetPassword = ({ methods, settings }: ResetPasswordProps) => { const { t } = useTranslation(); + const navigate = useNavigate(); const { control, setValue, getValues } = useFormContext(); const [passwordResetError, setPasswordResetError] = useState( @@ -77,9 +78,8 @@ export const ResetPassword = ({ methods, settings }: ResetPasswordProps) => { const { resetPasswordMutation } = useResetPassword(); const handleBack = useCallback(() => { - setValue("otp", "", { shouldValidate: true }); - setStep(ResetPasswordStep.Otp); - }, [step, setStep, setValue]); + navigate(0) + }, []); const disabledContinue = !isResetPasswordValid || From e962bf1c6a51365b088831b631eaefe255bed9af Mon Sep 17 00:00:00 2001 From: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> Date: Wed, 31 Jan 2024 21:10:14 +0530 Subject: [PATCH 23/63] Update install.sh Signed-off-by: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> --- helm/signup-service/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/signup-service/install.sh b/helm/signup-service/install.sh index fccd0b08..014e3c1a 100755 --- a/helm/signup-service/install.sh +++ b/helm/signup-service/install.sh @@ -89,7 +89,7 @@ function installing_signup() { fi echo Installing signup - helm -n $NS install signup mosip/signup-service --version $CHART_VERSION $ENABLE_INSECURE + helm -n $NS install signup mosip/signup --version $CHART_VERSION $ENABLE_INSECURE kubectl -n $NS get deploy -o name | xargs -n1 -t kubectl -n $NS rollout status From 750d60a219cc77c9f0191cdfc79092146f9bac59 Mon Sep 17 00:00:00 2001 From: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> Date: Wed, 31 Jan 2024 21:40:26 +0530 Subject: [PATCH 24/63] Update install.sh Signed-off-by: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> --- helm/signup-service/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/signup-service/install.sh b/helm/signup-service/install.sh index fccd0b08..014e3c1a 100755 --- a/helm/signup-service/install.sh +++ b/helm/signup-service/install.sh @@ -89,7 +89,7 @@ function installing_signup() { fi echo Installing signup - helm -n $NS install signup mosip/signup-service --version $CHART_VERSION $ENABLE_INSECURE + helm -n $NS install signup mosip/signup --version $CHART_VERSION $ENABLE_INSECURE kubectl -n $NS get deploy -o name | xargs -n1 -t kubectl -n $NS rollout status From 6bb7e1c3b093bff35e9819c987a96983e057dc6f Mon Sep 17 00:00:00 2001 From: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> Date: Wed, 31 Jan 2024 21:40:59 +0530 Subject: [PATCH 25/63] Update values.yaml Signed-off-by: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> --- helm/signup-service/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helm/signup-service/values.yaml b/helm/signup-service/values.yaml index 6aaed445..760fba16 100644 --- a/helm/signup-service/values.yaml +++ b/helm/signup-service/values.yaml @@ -52,8 +52,8 @@ service: image: registry: docker.io - repository: mosipdev/signup-service - tag: develop + repository: mosipqa/signup-service + tag: 1.x.x ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images From 0ca29646021572be6a7a16a20d8bda46daecc0d7 Mon Sep 17 00:00:00 2001 From: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> Date: Wed, 31 Jan 2024 21:42:20 +0530 Subject: [PATCH 26/63] Update values.yaml Signed-off-by: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> --- helm/signup-ui/values.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/helm/signup-ui/values.yaml b/helm/signup-ui/values.yaml index 158d2bec..2ef18075 100755 --- a/helm/signup-ui/values.yaml +++ b/helm/signup-ui/values.yaml @@ -51,8 +51,8 @@ service: image: registry: docker.io - repository: mosipdev/signup-ui - tag: develop + repository: mosipqa/signup-ui + tag: 1.x.x ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' From f5bb6ea80d8e446ee7c15ff18db8dedde52f8fec Mon Sep 17 00:00:00 2001 From: abhishek8shankar <127825992+abhishek8shankar@users.noreply.github.com> Date: Thu, 1 Feb 2024 17:21:07 +0530 Subject: [PATCH 27/63] [DSD-4403]Update install.sh for signup release-1.x.x Signed-off-by: abhishek8shankar <127825992+abhishek8shankar@users.noreply.github.com> --- helm/signup-service/install.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/helm/signup-service/install.sh b/helm/signup-service/install.sh index 014e3c1a..f9175493 100755 --- a/helm/signup-service/install.sh +++ b/helm/signup-service/install.sh @@ -67,6 +67,7 @@ function installing_signup() { echo $SIGNUP_CLIENT_SECRET_VALUE kubectl patch secret keycloak-client-secrets --namespace=config-server --type=json -p='[{"op": "add", "path": "/data/'$SIGNUP_CLIENT_SECRET_KEY'", "value": "'$SIGNUP_CLIENT_SECRET_VALUE'"}]' + kubectl -n config-server set env --keys=mosip_signup_client_secret --from secret/keycloak-client-secrets deployment/config-server --prefix=SPRING_CLOUD_CONFIG_SERVER_OVERRIDES_ kubectl -n config-server set env --keys=mosip-signup-host --from configmap/global deployment/config-server --prefix=SPRING_CLOUD_CONFIG_SERVER_OVERRIDES_ kubectl -n config-server set env --keys=signup-captcha-site-key --from secret/signup-captcha deployment/config-server --prefix=SPRING_CLOUD_CONFIG_SERVER_OVERRIDES_ kubectl -n config-server set env --keys=signup-captcha-secret-key --from secret/signup-captcha deployment/config-server --prefix=SPRING_CLOUD_CONFIG_SERVER_OVERRIDES_ From fa8d04d598678329123764965302b7dd59ecd80c Mon Sep 17 00:00:00 2001 From: ase-101 Date: Fri, 2 Feb 2024 22:53:02 +0530 Subject: [PATCH 28/63] ES-756 Signed-off-by: ase-101 --- .../signup/services/CacheUtilService.java | 15 ++++++++------- .../signup/services/RegistrationService.java | 18 +++++++++--------- .../io/mosip/signup/util/SignUpConstants.java | 2 +- .../signup/services/CacheUtilServiceTest.java | 6 +++--- .../services/RegistrationServiceTest.java | 12 ++++++------ 5 files changed, 27 insertions(+), 26 deletions(-) diff --git a/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java b/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java index e26bb831..75a0b9da 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java @@ -8,6 +8,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.CacheEvict; +import org.springframework.cache.annotation.CachePut; import org.springframework.cache.annotation.Cacheable; import org.springframework.stereotype.Service; @@ -28,16 +29,16 @@ public RegistrationTransaction setChallengeGeneratedTransaction(String transacti } @CacheEvict(value = SignUpConstants.CHALLENGE_GENERATED, key = "#transactionId") - @Cacheable(value = SignUpConstants.CHALLENGE_VERIFIED, key = "#transactionId") - public RegistrationTransaction setChallengeVerifiedTransaction(String transactionId, + @Cacheable(value = SignUpConstants.CHALLENGE_VERIFIED, key = "#verifiedTransactionId") + public RegistrationTransaction setChallengeVerifiedTransaction(String transactionId, String verifiedTransactionId, RegistrationTransaction registrationTransaction) { return registrationTransaction; } @CacheEvict(value = SignUpConstants.CHALLENGE_VERIFIED, key = "#transactionId") - @Cacheable(value = SignUpConstants.REGISTERED_CACHE, key = "#transactionId") - public RegistrationTransaction setRegisteredTransaction(String transactionId, - RegistrationTransaction registrationTransaction) { + @CachePut(value = SignUpConstants.STATUS_CHECK, key = "#transactionId") + public RegistrationTransaction setStatusCheckTransaction(String transactionId, + RegistrationTransaction registrationTransaction) { return registrationTransaction; } @@ -65,8 +66,8 @@ public RegistrationTransaction getChallengeVerifiedTransaction(String transactio return cacheManager.getCache(SignUpConstants.CHALLENGE_VERIFIED).get(transactionId, RegistrationTransaction.class); } - public RegistrationTransaction getRegisteredTransaction(String transactionId) { - return cacheManager.getCache(SignUpConstants.REGISTERED_CACHE).get(transactionId, RegistrationTransaction.class); + public RegistrationTransaction getStatusCheckTransaction(String transactionId) { + return cacheManager.getCache(SignUpConstants.STATUS_CHECK).get(transactionId, RegistrationTransaction.class); } public boolean isIdentifierBlocked(String identifier) { diff --git a/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java b/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java index 40099678..d888751e 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java @@ -25,7 +25,6 @@ import org.springframework.util.StringUtils; import org.springframework.web.client.RestTemplate; -import javax.crypto.SecretKey; import javax.servlet.http.Cookie; import javax.servlet.http.HttpServletResponse; @@ -208,11 +207,11 @@ public VerifyChallengeResponse verifyChallenge(VerifyChallengeRequest verifyChal fetchAndCheckIdentity(transactionId, transaction, verifyChallengeRequest); //After successful verification of the user, change the transactionId - transactionId = IdentityProviderUtil.createTransactionId(null); - addVerifiedCookieInResponse(transactionId, registerTransactionTimeout+statusCheckTransactionTimeout); + String verifiedTransactionId = IdentityProviderUtil.createTransactionId(null); + addVerifiedCookieInResponse(verifiedTransactionId, registerTransactionTimeout+statusCheckTransactionTimeout); - cacheUtilService.setChallengeVerifiedTransaction(transactionId, transaction); - log.debug("Transaction {} : verify challenge status {}", transactionId, ActionStatus.SUCCESS); + cacheUtilService.setChallengeVerifiedTransaction(transactionId, verifiedTransactionId, transaction); + log.debug("Transaction {} : verify challenge status {}", verifiedTransactionId, ActionStatus.SUCCESS); return new VerifyChallengeResponse(ActionStatus.SUCCESS); } @@ -241,7 +240,7 @@ public RegisterResponse register(RegisterRequest registerRequest, String transac saveIdentityData(registerRequest, transactionId, transaction); transaction.setRegistrationStatus(RegistrationStatus.PENDING); - cacheUtilService.setRegisteredTransaction(transactionId, transaction); + cacheUtilService.setStatusCheckTransaction(transactionId, transaction); notificationHelper.sendSMSNotificationAsync(registerRequest.getUserInfo().getPhone(), transaction.getLocale(), REGISTRATION_SMS_NOTIFICATION_TEMPLATE_KEY, null) @@ -309,7 +308,7 @@ public RegistrationStatusResponse updatePassword(ResetPasswordRequest resetPassw transaction.getHandlesStatus().put(getHandleRequestId(transaction.getApplicationId(), "phone", resetPasswordRequest.getIdentifier()), RegistrationStatus.PENDING); transaction.setRegistrationStatus(RegistrationStatus.PENDING); - cacheUtilService.setRegisteredTransaction(transactionId, transaction); + cacheUtilService.setStatusCheckTransaction(transactionId, transaction); notificationHelper.sendSMSNotificationAsync(resetPasswordRequest.getIdentifier(), transaction.getLocale(), FORGOT_PASSWORD_SMS_NOTIFICATION_TEMPLATE_KEY, null) @@ -327,7 +326,7 @@ public RegistrationStatusResponse getRegistrationStatus(String transactionId) if (transactionId == null || transactionId.isEmpty()) throw new InvalidTransactionException(); - RegistrationTransaction registrationTransaction = cacheUtilService.getRegisteredTransaction( + RegistrationTransaction registrationTransaction = cacheUtilService.getStatusCheckTransaction( transactionId); if (registrationTransaction == null) throw new InvalidTransactionException(); @@ -340,9 +339,10 @@ public RegistrationStatusResponse getRegistrationStatus(String transactionId) registrationTransaction.getHandlesStatus().put(handleRequestId, registrationStatus); //TODO This is temporary fix, we need to remove this field later from registrationTransaction DTO. registrationTransaction.setRegistrationStatus(registrationStatus); + cacheUtilService.setStatusCheckTransaction(transactionId, registrationTransaction); } } - registrationTransaction = cacheUtilService.setRegisteredTransaction(transactionId, registrationTransaction); + registrationTransaction = cacheUtilService.getStatusCheckTransaction(transactionId); RegistrationStatusResponse registrationStatusResponse = new RegistrationStatusResponse(); registrationStatusResponse.setStatus(registrationTransaction.getRegistrationStatus()); return registrationStatusResponse; diff --git a/signup-service/src/main/java/io/mosip/signup/util/SignUpConstants.java b/signup-service/src/main/java/io/mosip/signup/util/SignUpConstants.java index 0e98a2f8..e9061067 100644 --- a/signup-service/src/main/java/io/mosip/signup/util/SignUpConstants.java +++ b/signup-service/src/main/java/io/mosip/signup/util/SignUpConstants.java @@ -4,7 +4,7 @@ public class SignUpConstants { public static final String CHALLENGE_GENERATED = "challenge_generated"; public static final String CHALLENGE_VERIFIED = "challenge_verified"; - public static final String REGISTERED_CACHE = "status_check"; + public static final String STATUS_CHECK = "status_check"; public static final String BLOCKED_IDENTIFIER = "blocked_identifier"; public static final String KEYSTORE = "keystore"; public static final String KEY_ALIAS = "key_alias"; diff --git a/signup-service/src/test/java/io/mosip/signup/services/CacheUtilServiceTest.java b/signup-service/src/test/java/io/mosip/signup/services/CacheUtilServiceTest.java index 3e137197..ca32be57 100644 --- a/signup-service/src/test/java/io/mosip/signup/services/CacheUtilServiceTest.java +++ b/signup-service/src/test/java/io/mosip/signup/services/CacheUtilServiceTest.java @@ -33,14 +33,14 @@ public void test_RegistrationTransaction_cache() { Assert.assertEquals(cacheUtilService.setChallengeGeneratedTransaction("mock", registrationTransaction), registrationTransaction); - Assert.assertEquals(cacheUtilService.setChallengeVerifiedTransaction("mock", + Assert.assertEquals(cacheUtilService.setChallengeVerifiedTransaction("mock", "vmock", registrationTransaction), registrationTransaction); - Assert.assertEquals(cacheUtilService.setRegisteredTransaction("mock", + Assert.assertEquals(cacheUtilService.setStatusCheckTransaction("mock", registrationTransaction), registrationTransaction); Assert.assertNotNull(cacheUtilService.getChallengeGeneratedTransaction("mock")); Assert.assertNotNull(cacheUtilService.getChallengeVerifiedTransaction("mock")); - Assert.assertNotNull(cacheUtilService.getRegisteredTransaction("mock")); + Assert.assertNotNull(cacheUtilService.getStatusCheckTransaction("mock")); } @Test diff --git a/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java b/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java index 2375edcb..0fca5cfb 100644 --- a/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java +++ b/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java @@ -1862,8 +1862,8 @@ public void doGetRegistrationStatus_withCompletedTransaction_thenPass() { String transactionId = "TRAN-1234"; RegistrationTransaction registrationTransaction = new RegistrationTransaction("+85577410541", Purpose.REGISTRATION); registrationTransaction.setRegistrationStatus(RegistrationStatus.COMPLETED); - when(cacheUtilService.getRegisteredTransaction(transactionId)).thenReturn(registrationTransaction); - when(cacheUtilService.setRegisteredTransaction(transactionId, registrationTransaction)).thenReturn(registrationTransaction); + when(cacheUtilService.getStatusCheckTransaction(transactionId)).thenReturn(registrationTransaction); + when(cacheUtilService.setStatusCheckTransaction(transactionId, registrationTransaction)).thenReturn(registrationTransaction); RegistrationStatusResponse registrationStatusResponse = registrationService.getRegistrationStatus(transactionId); Assert.assertNotNull(registrationStatusResponse); @@ -1875,8 +1875,8 @@ public void doGetRegistrationStatus_withPendingTransaction_thenPass() { String transactionId = "TRAN-1234"; RegistrationTransaction registrationTransaction = new RegistrationTransaction("+85577410541", Purpose.REGISTRATION); registrationTransaction.setRegistrationStatus(RegistrationStatus.PENDING); - when(cacheUtilService.getRegisteredTransaction(transactionId)).thenReturn(registrationTransaction); - when(cacheUtilService.setRegisteredTransaction(transactionId, registrationTransaction)).thenReturn(registrationTransaction); + when(cacheUtilService.getStatusCheckTransaction(transactionId)).thenReturn(registrationTransaction); + when(cacheUtilService.setStatusCheckTransaction(transactionId, registrationTransaction)).thenReturn(registrationTransaction); RegistrationStatusResponse registrationStatusResponse = registrationService.getRegistrationStatus(transactionId); Assert.assertNotNull(registrationStatusResponse); @@ -1888,8 +1888,8 @@ public void doGetRegistrationStatus_withFailedTransaction_thenPass() { String transactionId = "TRAN-1234"; RegistrationTransaction registrationTransaction = new RegistrationTransaction("+85577410541", Purpose.REGISTRATION); registrationTransaction.setRegistrationStatus(RegistrationStatus.FAILED); - when(cacheUtilService.getRegisteredTransaction(transactionId)).thenReturn(registrationTransaction); - when(cacheUtilService.setRegisteredTransaction(transactionId, registrationTransaction)).thenReturn(registrationTransaction); + when(cacheUtilService.getStatusCheckTransaction(transactionId)).thenReturn(registrationTransaction); + when(cacheUtilService.setStatusCheckTransaction(transactionId, registrationTransaction)).thenReturn(registrationTransaction); RegistrationStatusResponse registrationStatusResponse = registrationService.getRegistrationStatus(transactionId); Assert.assertNotNull(registrationStatusResponse); From 23634bc161201adaa1a5943542df3ffe93ff5cc4 Mon Sep 17 00:00:00 2001 From: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> Date: Tue, 13 Feb 2024 01:21:40 +0530 Subject: [PATCH 29/63] Update configmap.yaml (#66) Signed-off-by: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> --- helm/signup-ui/templates/configmap.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/helm/signup-ui/templates/configmap.yaml b/helm/signup-ui/templates/configmap.yaml index 52e64f97..a7e56ef5 100644 --- a/helm/signup-ui/templates/configmap.yaml +++ b/helm/signup-ui/templates/configmap.yaml @@ -34,8 +34,8 @@ data: gzip_proxied expired no-cache no-store private auth; gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript; - location /v1/esignet { - proxy_pass http://{{ .Values.signup_ui.signup_service_host }}/v1/esignet; + location /v1/signup { + proxy_pass http://{{ .Values.signup_ui.signup_service_host }}/v1/signup; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; @@ -117,4 +117,4 @@ data: {{ $key }}: {{ $value | quote }} {{- end }} {{- end }} - {{- end }} \ No newline at end of file + {{- end }} From a66f26311d6d10f0850088ecf30d3b58a9519fda Mon Sep 17 00:00:00 2001 From: ase-101 Date: Tue, 13 Feb 2024 02:01:36 +0530 Subject: [PATCH 30/63] Cherry picked fixes from develop to Release 1.x.x (#69) * ES-757 Error handler for PENDING status on sign up page (#65) Signed-off-by: pr * ES-753 (#67) Signed-off-by: ase-101 * Issues with cached methods found during redis integration fixed (#68) Signed-off-by: ase-101 --------- Signed-off-by: pr Signed-off-by: ase-101 Co-authored-by: panharith-0118 <148301211+panharith-0118@users.noreply.github.com> --- README.md | 56 +++++ docs/id-schema.json | 193 ++++++++++++++++++ docs/signup-with-mosip-id-repo.png | Bin 0 -> 123206 bytes .../controllers/RegistrationController.java | 4 + .../signup/controllers/SignUpController.java | 2 + .../signup/services/CacheUtilService.java | 27 ++- .../services/ChallengeManagerService.java | 2 + .../GoogleRecaptchaValidatorService.java | 2 + .../signup/services/RegistrationService.java | 28 ++- .../signup/services/CacheUtilServiceTest.java | 7 +- .../services/RegistrationServiceTest.java | 2 + signup-ui/public/locales/en.json | 2 +- signup-ui/public/locales/km.json | 2 +- 13 files changed, 308 insertions(+), 19 deletions(-) create mode 100644 docs/id-schema.json create mode 100644 docs/signup-with-mosip-id-repo.png diff --git a/README.md b/README.md index 9cafdd76..deac801f 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,61 @@ signup-service is part of the esignet modules, but has a separate Helm chart so as to install and manage it in a completely independent namespace. +Below diagram depicts the high level deployment architecture for signup service with MOSIP ID-repo. + +![](docs/signup-with-mosip-id-repo.png) + +### Configurations +Signup service and signup UI currently supports default [ID schema](docs/id-schema.json) only. + +**Note:** +Work is in progress to support any ID schema and also to connect with any registry services. + +With respect to the default ID schema, below MOSIP configurations are required to be updated. + +#### admin-default.properties +`` +mosip.admin.masterdata.lang-code=eng,khm +`` + +#### application-default.properties +``` +mosip.mandatory-languages=eng,khm + +mosip.optional-languages= + +mosip.default.template-languages=eng,khm +``` + +#### id-authentication-default.properties +``` +request.idtypes.allowed=UIN,HANDLE + +request.idtypes.allowed.internalauth=UIN + +ida.mosip.external.auth.filter.classes.in.execution.order=io.mosip.authentication.hotlistfilter.impl.PartnerIdHotlistFilterImpl,io.mosip.authentication.hotlistfilter.impl.IndividualIdHotlistFilterImpl,io.mosip.authentication.hotlistfilter.impl.DeviceProviderHotlistFilterImpl,io.mosip.authentication.hotlistfilter.impl.DeviceHotlistFilterImpl,io.mosip.authentication.authtypelockfilter.impl.AuthTypeLockFilterImpl + +mosip.ida.handle-types.regex={ '@phone' : '^\\+91[1-9][0-9]{7,9}@phone$' } +``` + +#### id-repository-default.properties +``` +mosip.idrepo.credential.request.enable-convention-based-id=true + +mosip.idrepo.identity.disable-uin-based-credential-request=true + +mosip.idrepo.vid.disable-support=true + +mosip.identity.fieldid.handle-postfix.mapping={'phone':'@phone'} +``` + +#### kernel-default.properties +`` +mosip.kernel.sms.country.code=+91 +`` + + + ## Installing in k8s cluster using helm ### Pre-requisites 1. Set the kube config file of the Mosip cluster having dependent services is set correctly in PC. @@ -53,6 +108,7 @@ signup-service is part of the esignet modules, but has a separate Helm chart so cd helm ./restart-all.sh ``` + ## APIs API documentation is available [here](https://mosip.stoplight.io/docs/identity-provider/branches/signupV1/t9tvfbteqqokf-e-signet-signup-portal-ap-is). diff --git a/docs/id-schema.json b/docs/id-schema.json new file mode 100644 index 00000000..b4347d09 --- /dev/null +++ b/docs/id-schema.json @@ -0,0 +1,193 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "description": "Identity schema for sign up", + "additionalProperties": false, + "title": "signup identity", + "type": "object", + "definitions": { + "simpleType": { + "uniqueItems": true, + "additionalItems": false, + "type": "array", + "items": { + "additionalProperties": false, + "type": "object", + "required": [ + "language", + "value" + ], + "properties": { + "language": { + "type": "string" + }, + "value": { + "type": "string" + } + } + } + }, + "documentType": { + "additionalProperties": false, + "type": "object", + "properties": { + "format": { + "type": "string" + }, + "type": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "biometricsType": { + "additionalProperties": false, + "type": "object", + "properties": { + "format": { + "type": "string" + }, + "version": { + "type": "number", + "minimum": 0 + }, + "value": { + "type": "string" + } + } + }, + "hashType": { + "additionalProperties": false, + "type": "object", + "properties": { + "hash": { + "type": "string" + }, + "salt": { + "type": "string" + } + } + } + }, + "properties": { + "identity": { + "additionalProperties": false, + "type": "object", + "required": [ + "IDSchemaVersion", + "fullName", + "phone", + "password", + "preferredLang", + "registrationType" + ], + "properties": { + "UIN": { + "bioAttributes": [], + "fieldCategory": "none", + "format": "none", + "type": "string", + "fieldType": "default" + }, + "IDSchemaVersion": { + "bioAttributes": [], + "fieldCategory": "none", + "format": "none", + "type": "number", + "fieldType": "default", + "minimum": 0 + }, + "selectedHandles" : { + "fieldCategory": "none", + "format": "none", + "type": "array", + "items" : { "type" : "string" }, + "fieldType": "default" + }, + "fullName": { + "bioAttributes": [], + "validators": [ + { + "validator": "^(?=.{3,50}$).", + "arguments": [], + "type": "regex" + } + ], + "fieldCategory": "pvt", + "format": "none", + "fieldType": "default", + "$ref": "#/definitions/simpleType" + }, + "phone": { + "bioAttributes": [], + "validators": [ + { + "validator": "^[+]91([0-9]{8,9})$", + "arguments": [], + "type": "regex" + } + ], + "fieldCategory": "pvt", + "format": "none", + "type": "string", + "fieldType": "default", + "requiredOn" : "", + "handle" : true + }, + "password": { + "bioAttributes": [], + "validators": [], + "fieldCategory": "pvt", + "format": "none", + "fieldType": "default", + "$ref": "#/definitions/hashType" + }, + "preferredLang": { + "bioAttributes": [], + "validators": [ + { + "validator": "(^eng$)", + "arguments": [], + "type": "regex" + } + ], + "fieldCategory": "pvt", + "format": "none", + "fieldType": "default", + "type": "string" + }, + "registrationType": { + "bioAttributes": [], + "validators": [ + { + "validator": "^L[1-2]{1}$", + "arguments": [], + "type": "regex" + } + ], + "fieldCategory": "pvt", + "format": "none", + "fieldType": "default", + "type": "string" + }, + "phoneVerified": { + "bioAttributes": [], + "validators": [], + "fieldCategory": "pvt", + "format": "none", + "fieldType": "default", + "type": "boolean" + }, + "updatedAt": { + "bioAttributes": [], + "validators": [], + "fieldCategory": "pvt", + "format": "none", + "fieldType": "default", + "type": "number" + } + } + } + } +} \ No newline at end of file diff --git a/docs/signup-with-mosip-id-repo.png b/docs/signup-with-mosip-id-repo.png new file mode 100644 index 0000000000000000000000000000000000000000..7698b846d55ff2c4f5913ba8df08da0b23be5caa GIT binary patch literal 123206 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

_)%U@J@ax8kX6vr##RsXmB&!;~%i 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 z z^bK+=1`15XD~*C=d5K@87Psc|p8Rv@)e*qRYxh|KwW`=3-|R&9wud%)wz~!>wZIs3 zr^C?1)5gBxud@{7nBUFN1LRI*-Pe9om z>n~3xq!Jea+X6FpFo(eXOO^s|db-E_8-Xufp(S9T;46toUHv*c^#{S{6Ld_ZQe`zF ztmUj{)6RRXPa?40h2Mu-|0q26xkVK$-NU1pU{?1(fcjSb0d{9j}n+IugH>)=f?WnTjQ`fj-lQl#7w=#CEmL%W_>pVom#CT zXKE}H9qzEC@%2wh_x=8DN%zLNxrm&K`a~46q29>MKU+(HMm!xt4t*1)q%z>Vw0j_4 zx{o8boEg&yFJ}lcPQ;+3KyP=yrr*b=j(Bg<0%|Og+DG`iYI9B2yUF|&Xp6N~O$kAs zElDF4Yx$XZ`g&V%3%xN5fe+8~*!<5n6bf0RyaNc3xn64#9d_J%fbo5a(RaD&O9BOH z?@%U2Wtml=DH5oI$mo_!9z1@QQ}hJfjYICWa6J;=_?hO$sIE;RvVY{CC+SysXz1wPyU1lb}MRcwi-& z=$8~>zsIJiG!w=qRnV86@X-APGHlr4PszOeN_5JJH&Oeaqnulm)eo|l9_}4pOMc$! zdqzhVme5Fv5EC&JVJ_?%2Z;@n`#+?;1yEL9)ITZ+`XDN$l!!D2-QAsnL3c}o64DZa zbV!GafI*{lNs6=}4I(X#NY`CQk@vfE@67*xb7!7$JSgYcd-Y!Hx7V68k6vtQNYwSq z=X*5IGtajdEmDYe8zs-hcai2_xuOdfO$TM*vr_5*;b+e+pIZVvC{9vNHCi0*JoSLi z%#fxR32ARunyUxTJw4jhIdDi8GLqtOE8>1o{qT_o@H+*hx0J3LSNf5GIz&WqNBf$DU_dU{Fd3g2IcyM&Gcxn7Zm7RBFbY-WY8@)(o_3 zKHLL@LjI$L`!bu6#+CA1c`=U(Wlc7J*+wy>IW_!;-uaxm|N~ zpqz49SyL8_noBLd6BKQMx zAFgZ)hn=Q4>IdO>>7Vpw+Ciu2tL1owZz$iGh-;)v&?>B%dZeM%p-$j6(fJ)}Tg_bB zm1C)6UN_jrWPLM8eHX97nLw^vPAWbtDMm`$aq)o1^zN5ovghku;U0?EBnD8kt-90p zQOKXgu`y{Z>i9&Zf}E&|&K|-nU{*JCJt)dugLAN`ggR=MJNw!5v#GsFC1&J5sS^zE z+_x1g9&uf~`s%$W!Vqm$Drvd3OHA4Wrey65ezJYx#`;R?Yo{Hy1$VG5b*#5(LZ&yy z)j6ggN1lyd!(?e?c#L1y=U#z-_Tq|kAH$#>ocZs19b#6Fan1NVa7fZ-f28*|=w6zq zuYhOM-g(wU+}K{vzE`+(IJ30T8i|3YVD55bnd9tTF2|NA+USZ$(VWXrNxbPMo!8zY z=10DjrfZZVSs_?;^r21yL$xgK=UZ92#0-vCfp0V9gGtv~=X5d}6ud;B?}Yws2WOaGef&?VtbP+)h`%R0c(} zn*>&y;T2?bH^c^BKNo&*Gq}}&9-pN4>`_=ZM-eXFYo)6L>2jfRed%~t^3Kjm-D5^_ zg)ASIzMkXfYI2tf^xl}BpPuWjmVf56DEtAZGuGqc+w(5%NZfdHK$D=3CR(zi-2!60 zDR(+~0?I`QuiikApvuI%Q$*o(#lMHK*KS^F6*J)`}|5*_R=Ag%Z)tv8NtS-WU zR*y0Wzb05mKl!wNn7in)z85D4ar<{t?3>+J3tW5g=C;CP~8+8_3^{w8C;P}mu# z;DV#bztxbsq@_}-;JP?gjJ3k3?PDev`-zCXX|f|H$>nYPLVWLg>L#xOax}?jMn|?a z`pxCvR$GtGD_t82rYwpRD`cJQ%*#-HAuE~GFRtoG=BCFiramxzyZ6D}3wjK?{_mc@ zZ?yjfrI?U3KGL1_%e5_DO8O&i1O;Z_k61kCi7R&=bMF_fo5kF?cTsp{;2Eu>uz1Tv z28(r{@kqG`LEcBJaPre*4bL(xRbJm#+23tea^E}9yo9bM9HQt=OW_*JPtGmu@|#>n2q~U|xToUNc11*L+y{=*9c6=r3Pj}<7sN39Ss0fHXNO;H9L&0hZ?L8d zn)%UAWBKR5My+{N;X(SoB(PieM7Fgs&QtrbR&ElE`+DtZ$SMnB87#!Mi9h^p^kH$0 z>&YRn&%UI*;m(JG)mA;+3;YlLE3ZA;IH$SgNmR9PuffbKrB?VU&I^$>)wxYEi?-3< z^bRxaSsh~plmqng_bYoo&;_*V1|VtFmFb(?E(N7mb8%EM7&x1(34m;|b_|6Ra zR=EoD5LN5?v8+8Fn;6`ln-qy*Qqg=aVKw~D7au>fEje%>4YSuW&Ak{GPmQ{(r1?~@ zjrP?FXR_KK=}(a?;a!in_{F)y7moxE<1cMf0zl`A2Ai4aaRGRH`j>c>Df2|!g_^qN zW+G@7EYkSv^4c1`V_KqD!wZ#;3x2_->9{jg`A$j|55C>p-yF7;)0TU~s9UKXq#wnJ zjLp3#_ui;E3jLqpV_wjj zZGP5JV4JP>*y~NEYVv^bV5P{Z9yMHKhJ%c8?eK}(T&`G|fHt9O8KmD`CNH?d9O(y# z+tc-n4~I=gKQKu^K}}U0#YwJ0@ggPOA*L4e|ET(g>&e=0D3BaQ}b4^+7* z?XugkRX>Gg9tQ=yrKTp6*tJhJM&=tde^TlpE1RUGAC~-}-bx+kb*ky1MGyn81EuY! zx>BcUHixN}U^TuCiSK9bt?qo!GBjwrwh_ihwDPgqclGB~_Z;ivXOBCn{3IoH8|fzl zexzThX+kr%JS;v4_>YIFz{7nx37+cV)eD3k<)_*K=M#@Nxh569`8iVXZ0e2MGF55x z&bkj>tCINkELZZB$?u1f@n0%)+o(fIp_u9`FcJr^zWk^&X68KQ z;&S?x&k;lYncS*QYqO5n6P41GZJ|E1sx4F^lnfdJJc0iLWDz5b>wXpt6w546aSpGh zXVX(E2vh*nNK1{mdFFB}%Td;7{GpQ?hi4W4yQ&e6zBMhC{xtl$j;s73Sc1dp3!iZ! zIkT>Px$hymQGzny&edtG>-J6Kb5{1t-(KgJ8Yn{aE3O7YK`4My@2(jcf0;@@MaK6S zw`y!TK)7V-o|t-;lTKH@=cGE13iqp2{JO9do@dJke3Mm_>5;e0Z0^2S)j{4J*-y20 zxQ#ckKU$11Wo6`gsSOw43XCi}+pwNX!EKbxn-&8_X3FQU^4)#TlMO>07h||>#}sa( zDjsjVyP0M_n(fbWBjY-Wc@(45crBVcoMM!*41NuTUg7R4vDM=Y{oNTwi>(Q0BQqU0 z_lIWJa zV!c0fW`(&v@N7o86?22L|J5IiOGnk$(nH@>s9}jYJ|1~Gp2JAszSkxrU1zelWq+Q* zd?`tRofYibbbV8?cSp_=>Yv4VlBm`cc5YoO?WLy&a7Uk`arcjQiHdr zD|lA=HNl{NK6v5Fn2QJ8>_AE9Wk_Gaw3?A&` zk&r*DzUJxo#!`*dP39Vc2jo3iPd~J@rC6MBZ6h7Q_7&EAa+8_!8D=3s^h(L`!tM*6 zeb;~Suz&!P#8Q9(Sbb1Z%~NW5wmMaqpzPPQG!*hyHEZI}=B&*!-+h;D6d^c})bH!~ zV?h#yjfMRwkX8IP%Mts$cHX+^ENgye#dXy;Z}n++~RAh ze~NRjDPG`1oMRn=231HE(0H!u4t_=@Pgn5wT(@|T1yyg$LSaClMa|J+#XSFm-s^zZ zt4CuV?YZ|STG(1Vt(=2I3pbdSHTy@!)DOfwx?b2R>#xL!-e}=L)0R)RTI#X$80>lU%md2|4c%gmaQyCt(Z|zjgB*-ZBQHi;!iise* z%a4&z+cWxDee^+@#e}e26%|~0B}DL(ee1RRo3^)++l0fNnSxwhxZDm zyUa>Gm~U=YC0C=pxmS4a3)!?ez8yM9uafuY8^<+jZwvt?I3+ZTk9(fphQN0QAO@2e zC1aK3$yZnb#611>;~*GxMye0=v>1PUxV-GckHYsC_LTQ9?wG#3<)7ccAP+T{1Zgrw z^jvBLoMFYwenQzjpseFH%l7OBI8gXM0m4@P?nC64S_;T2@R187Do4_9^R=J%AJF2B zpxn)7fLL3k>3?Amu%Ezq^(xg^Z;)LJq(-ICxP_)-S#XP>n0!}2sfK(blPb%$T7tbU zDmnhDOszOj)DI4YKen@J0NTf8^+BYR`7y97 zH3qlq54xDP``e*9po^CXdUO4QOgwZ-9muF+G!mV6+sxGu6_@zLTV+mx9kw}r5_VDp zj>OdOI^W!BM07&_7aM%x#Av)DzSI;DOB)WBe9C_E`pH|Zk?=OhrL>V0Z2Nh3h{|1l z<{&0n3ckV7^?@}=qh>H_Nfrz3k5f^_*I5exwtLtkB-*LrvN9$pAt7=7G#s^_f*)&Q zZMrNLA7fwXx^DW!@^RQ1HLlY@7}G#DkALZtNdnl#KC$pLCG3LmA(WEVzG~U(;&g-( z`?Jjc>Ky{R{eci~C>kGKlZXl|A`NtGd%tmzp+;>W`*zb! z(Oc8)=)7{GUnuBG0OU%2AGN-=CJH5%DE`aMk>2%)_=kj?K9R#eV81iI6Az*hIjsBN z$f2N_fvQ;iEe24WbMKOSbOFJ&NZaUnjPVvh*96RvLTk5uq_z9%3bFeCZg&x4@v{St zCY`|N8Ion~=O+qWhGBKi;7GgTsgc?WpEGSoCJA~*k(o$$_D@cu@V*PYjtAsnQmc=< z9w$dx>Lrko+@`_Kdph+iSeWVN1YxfKs9oQ~WN9Oe!rdJz$1nv_=vP03frWFyb~jWF?puvLbM-H%shbfONIcr8$)qJD z#vx&G!?&qBk@j}3Ht*EuNb#ag`y&f34kcCvFpW2qNFPS&c^zCZ>Yd%t1 z(A+m$H-i`nch;=tWB%w%pmX`>yM@0hn68}lEaj#$XWZ${*EfBwyp%y3&0*b|K4)&V z&wZ}DJCQ58iPqOUj;L!Yp-qPI$iVTO&s=kNsS8_3fAAgi2bTC{3g~j%pKd*O&5dgg zzcvY_BXJJlQy)H(r09nV^g^#HLYQ_w?Kh~+j=7a)S^B`>zTl!Tqutkc7eKyANrt9x zg6wEZ#;%{7K1!p#6)6?Y54i1cF^#&9D`}O+UO`Q*%LdDpRgLCH6~yv9oW6J%T5ijb zHFqJkCHdmCqbUs*JwYiczJF3=+f667`{By7(d}0T*G)G|uP$>Trz_OOi%wgG+MSIU z;5t;GxImN__3LNZk!r{7VD>qaBa6rsLaV5#GT6gb{0)ZCIo98qI`Lxh7UIgy$F=I( z+Za$p$^Gu-mqKJq`bC59bnnGg(b$J?gX%=lov#TsF%#KN{4mP&=M7XU8tr-gORVbD zHDj6dQL9t!b@Fxj(m3RlQ*D<8W;R~+;|iHLzq_mZS&N2VHH-86Y;%>{R=(Sojez@h z7t0z)1+~T3*P_pF-ir{b+H7@qI3lqvnYTD12^SKiLc^E22)3lP8*$0+%iz zwaODmnrit$yXjE00=kK#vB(dGA+Nb;g)MEN5VP4bvH~rlaShkpMi2gZrd;jHnITD@ ziec2$`OoK8+DJxo)`ow7$G9cxa|(aSGTHcHkIv^*HucUu<)hy}(Xb*!jVE!S9`~Sv1-V8PNMIlBlLj6rcb6oHaCsdVui;dI>PE<+B^A{1bb9lwrol zt@XW3@gS?8KiVAvZLr(x_rmQCz9^2AJ2hKdI#AByevaX!E}Z%;N*db}iV3w)oqf2O z560oqMdOYME_BylQ=iy71$@tw{7xGDd@x(QH1XR%B>yP+qCWx9YAyiiHtP2*;6J*F z)iP1Gu?bBqi_<J%T~T$9{5wX_rpNDxY$@`t3wy{tXj zRYw3B@`JiBziCXETg4Z>^kw0zPZN{4mLVe#PFjYP12i+lG6dm2j0gH|q5>lg1O4(@-nCCVp4%r3M*+oN$l{XZ=5 zZ4|rMrJtvX2>Ulo_YN1oTCAm^`J{P=xX*^@ZqB4SKu2gowIXNy8 z`v9Y1*S7uF=jo|y90TD%GrpS zisz^Dh)O1A3}G=g6o1L{sGjiaB7PE=wHTxYS&cvARvv5)gBo#@3wwruZ2TyjO|4It z4qt5~($fd1$2MH)Q+cbJ!BY*m%(Dl3Tgt__bkQv%RDmj}o<**g23)9Bp%!b=f9uf4 zfOUl6O723hIhtC%hsmhuJ0z*Fj{2wZ7o)s?qW%&|vE=0>@5n1jY&b)lt`E3yX9eU8 zv&gjlNucr9Fml0X&u^(2*7;#6zr?4s8n5*k_-LtC$odRHiv-~+x((65Wnjg=> zMYra$D!1o3&^5jB+2vby%OkwodwY}hIKp=|j1c98Y)r72|G6J<%PyYX?4p>sc=t>3 zvz5QT+`1W@EfIttFYG1sUEzpCDAh$^jv`TCw z;h&$+^+9z6236^-kC?wG!&()xSl;e&I~FmPb70D)f@lsX(CG2Tnfa8^TPzerLBem; zDbUN--oLv1?}mEoz}LX;?(UmK3cCkzSMy!NMAu7k`^5p)7$zN3`B;We z07r~LZ34#d6;zD#Q3kPJ0|7#K{eE`*W1TM?g^}L(VbyQHeePm9Q4DE>=zfHIQQlZ6 zkURp61SY;v;CR-{DG87~Qp&%Q_w6&+`Wq6kF4BNNxZBhRVBi;pr4qQq`3AmUF75$P zc@+S)x9s1+wHFjNws^JsPE5RshtvQJmHe@=5Db@QUdcw&-7J#tAis6{g}07ayhw!O zX9@H7ce28y6YT8qWkOD^M2}p9@BI6bqJU5brSckwW?TY&U$Qxfh4=XntkuV??twok zu;Rmxh2i0qp@4e0JOSlvW1Ae^DpG)|hy(MGSWY340}JvQYJf_E)Lnvvd^CF<LSX zl>J6xs8wwBiAc{q5-Q)8{kbn;1OU&Y`Agu;r(|iglQ8gU!Af%f2eQHgX8wP&l1jA( zynB|=JoIw{d)7Q9Re!PdaLg$>#SV;xuNl~1vy}7Xt^zFn0)j{(F_>Q2=h=?Dn3+d1U4u5#2 z2aDM&`@)>=pRo{m1!o|8U$D>(lwd1LDP?Ls!Bi}oHKv02>>k_8Z_P}vpTn~zRqfvE z*jJ)jCk`nJ>U-)AE%szs#4+GcSk3i+#>%5sAKPQySAzR2_t;8yFTwcNvt5AGP|)`)b4hvS_vAO_UFXaKyqhV)lC_ zh|MuhHgOKA#8Zk~q(@6fY=%_u^#glaG+pN0*R5sX6$M0Vt+qIeb{2vJ8#&?mw<3t6 zM{{@|cy9x__DE4;)@1w0{*x{K&0yb~~(>L?Pv(h9X z!AAO|2tErPA_#4zUvKpzfa1q&T}tc?O}3tD)N1%LMz@%<+on1YL%vDyw~(&%SsZ-xEqP3iyiplTAjbz0AP1v_57!AfUdI4AV(_P2@L6zu_O@2) zo14%6V!i@F@mGv(eF_VyMex-xn2%TEu_UD_56_seng^8UKKPsnX9ln(BZi_m+S>;; z0@v9A1zr!cY|l?!)}ch}#~b%W>o1sYgVm-U+xLyO+=+Ma{1_sq*Qx2!!?3)+%EEwf zm>JNeD)+e`g^AY8#LX=0If{F^ARxYL%0v8!j-P()j?kxIeX`B#~e)-s>=WTM7?aS3GI9HA~G_lxA2bxqOi3^n6?2-DyKSj z%HK?17r=8O1u%`SPK5fzys5(NPxW(X4m?=ILA3yTxDEbHyV9jw#-^JH-;M;4Y!Xc+ zxc50u`OnZ<-(o^!$q12b9v6<36IqHyl6FXk1_t%~Qy#m&MQ`86ebAR31UIU0-NYth zl2{q5l7%7`1sV{oHV4R}&vE?H^d+@jarlzQ@Y3>BR<)BtfSn+yORiblWf_qkjG+?S z@RjPli;(9Kh1?A5!@1jS@vNtz&e{mk;wrf0m+<$*O`oPn?<~Z=W_@PvM2E&qAV@QFawexAALIDOWP&uT{(0vl)&TPD2TG8@7}!xnI8M2LywI- zcfA@T0011G_j?wFM#@{-T<GAP7;{@^E+0x1W^ieRofOeX~adfAtc)b@h^KF3@)T<}q2+macTbv%WTv zg_OJacgQiV+aw^kNO+~FCkwQ6ULFz6)h?Sr89+_!z8EoL1nR&Dcvtv>fSMoMMXBMu z-%sIr1MK2ML8IKiJBL4k=8%m+7VXW13W2M^aQY5m3@x=D=DPd-z9La^j|{#Ykxy-{ zNafMtUIfDzh#l*G>FdKiQDW$({Uw`Bz$L$;?FS!1$?=Eirf%aFTwW>F20WBtM^nzgiYK<{$MoN9icpWI9 zb~VpX6&Q$m)Rby`55ZV^tSl^8vfX?L_7rreZL_w=>X6hT?<*0!e+w7bDwte$?!@F< zg4=Xt)ay_JO<0A(ITEaI!@*qz8ma3HDjCVv>R?EPkp%&4;%4{2S0t4S#VvzhQ!UGE zz6%H!z2(6%_+$<4KWfSR@fx-mfY`m4_42dFDpbn>W-o!R_hAf16df)(c^EXac?FG9 zWSvcM@L6u4wVaD)-+-P5MDi4%5)lhe2leSjFFj1cI1f6GBhWsR=Tm$WY%RVW0SM11 zMq=xK!UHy*C2nGR>aUne(degKZn9#bmWmgO^mYZ0i>!-tr6Y3|{zD5yc*cL?l;htA z7Y6kfRSt9PKjZ-Bs+;+a`syr-C54B!<)oQ|Ji^iL6b~NF(aLORHae zHq~@pt%g537P0@&z}}})bv`=rWXZCiUhEbQO!!@BXn2)O44Tiz@4a7JeSG&7VOC2N z$>GxQOOd=~ISM0cG}1e zJ*T%UN@g=IP%pCLFl0mBFZV-2QG=;3Z2;9U_BWM$HJqsjBV9BNbD0UKz=4ksF6SGF zkA&nsyX=EcdrD7_!gh?<{?ng|?r!U?E(`BJ*t~ zH~k(ELK6|?*mUvX6K}9c3r8tk)kSG^J{pQaJxVI?9BrdJi%|@DiF=22)1gUtl@Bi1 zkn^5NE6n%-eSO&CZUslDHwkbmHElba2UjlX8O6q5+`>={lNb3y){#s??JXPKmc#eR zusS)ikygWm->JbpNQN%QNcx3zII(?bC}Pk)NF8fJ-{zGi#E}Xir+{nJnlk^=4G|n* zHDuWhaqzpY`m8Ey#pKhXs~IX{IeSB%-`un7#pZYvv!N|~zr3Cqj07W;fV9vbk+9qg-2`zr zPXmz{3ddvoSGqx>GpI3=6r9DHd*YqEb-D8K1ttdVDD$`Ccr}Gpx5Z5!?Zn=&?%_^Y z*ng#LXRsDU(}@?2MI)arvQjesJ(uzI2-Ov=IiK3`PqiH>tWRQ+C#Q4i2F)g$8Ut;O zn#(Qk<%0VYLEi*V^+zkeGwCxUTInJNp8tQeJvy$0eLZ`JAcDPyW>3C4s)u13&m`M8 zD(KXVRx!g@)0U94RJl2t2QkD>(hYeSgwf|&ccR!E2V_KAF>b1bwX|s#)E(Tf-n}_K zIhpWrbcIn3cG*R6tb>n-fJ4xq+MP&VVU82JFh27{z33xeVw}*^ESJ7?KatYIEE`S3Rflh5C!DzV8{d!$a9nnVr2)pI8U= zRq4QF>#t43bheNn;tG}Bzs8@>G0zT3QaB>UpUgfp4ycHH^dBM_DsqEev+L+o#yaXB zFygqai!}=KMe@k6vpu~1sxCUvoXSOZP~1&R<|YNPh%o>LXmmKniLSD1>bC5rU61W( z@>9LZ>O3iRy=#F{MnekDr{{c91&ulu3OVo^rsOehnmse5@@(N##aF>#kzeRSi})2{ zg?#x7+G98P@k2jif8lrm$BA&B?vtzWJ`LcSCNEN=rQqVO%`g5=z|y>xfx4BqH)Lab z(dlPc>lJSLfg@ILY$|V8w2~@Act3#jv-P$vi=Ox1@}kn%Z^6d7>PJ<-J@tK=q99!! z3*!v>Ej4s@(}uvi4!ZFfL2wa!`tQCqg+0)%Y2vfDbJV3z+4QAnD6U_|HBIL*)THse zAKw<;)PL3@_;UTAd|cPgXV3Zuzp%L^Zxr+oLNjVQ)t)%GDcQh+_gM*iil&Z}+h)UW zB7^r5LG(r*?uONI{gN0(-zKo_b~9xbV9gdl!B>9~owK4DH$(^IMKj!+*RDL5 zMUOU1z%o4hWF5;v3eoXDA4Vka?0>!M44jr~1!_)xyXEUFb?K%qy2TT5{5IU^MHak9 zHp0)>_}5dgMdkL(2`(8oKPavkImpwVFkxoCw7sI8--Z<<8bd;JdQmsbs?_dKV0o-M zoo?xx6YJoDBLx;uw6`S6(K)EDz{uyC=P3rmM0Sq}ZA4rnRMFkX6I7p&DWfYBAn8x& zpX3WMFaZwMT-YgLqK8Cmr2n;kL25uY*!W#oXu-Iq);1!Mb)SDGkvMPCGPmATjBQ(G zymMy$d!b2h@1WirydpoM{4Ccb&=2T*cE(i=x$R5EcPJ_x>+U2@o^`j_J;7uF2ve|nB| zqG=<3w3{uD4%Z)osekrlNslQcL@dks&8cB=wcy_xcz>2{3McS#HU9j*+Gw2p;-&KWpSn@DrxzPUr6>Gv|`)`xErt5M8eNAxRSw(@E&Vw`Ob z(J82771#5){5hKb2j|tK(5gSuS%$G)+fydMdj$)Hob1oS!MGDsP&&N$!(X=FFJih?Wni#sE!9oX^6)-Th_aM@`t($; z8=6`re)PCu<`>;kT)xAdB%Sp_0<2PBZ)39*p$k^uZQM9{#T5!mAPpQuY}Ij-V{qhAV7?&forWE7 zjy?rk?;la@fwQIQP*;z=AU@B2iz=CVDRDouuH4uCkU**2W|4sSn@_oty!MJ$SGouX zAKVT1II`)I+}9{UBi9X=v%Ao87`0wkcL&WGzg;vqfl6LPNT9!h{>#Q(>g&-(5%gsm z78jO$$E>CGaxSY=O`*XBQf$qpZGk&A#(o+YY{5BHPdF{le6YR7?Z!~eO!e;3BC2#x zo6VVRS`+rMOILd~bvNu zT@d$I-X-#o-%$$LuZy5$CD7fy8hS>Rw)T!3om_0Z*IvI}zPz*cSm~f?XEPPL3))Mk z>|2&QQqt5~91-N+*(%0!`Wuj4G57b5k%(c2)+;6#85J9tZWs_>y>R#4CF)p4%}eWE z^3iQ9JGvO`3Dh(+GgrYyjIb_L_Zdk@L~lV8SngnjTb1T#!5ge$t@>oG87bh5Dnp>T zm*6Nli#HDTK;41v#2$1aSSH?0$YqgH@6C3(4QRc>+f6KNRIy`-ZkkuErK(W0gMjrd_yI{h8JTTP+u( zDI}=n41xVEN7M1W6@p@UKh^}Z@73`_4!QAg-%zEE$|Y!=%h9xL?^mLU=ax(BJ;dQs zSRgingL)Gwfyu}=z@Z+xA__S?yuKIh-Hf&B_-T^z1=fh&z5-8A+NEhl1%ym+aL(gjH&~6BXm~0rr4BPz$!~A?@rosSjEcT+FsY3?FloV+w;J^;tfL`Nz+i^!ZE!z| zy?IIyuaUt7FK4!-L%{KAjW#3|yfN@0S(OSkm~nS>ReaX#*HP@&2NdJ`(>&BzJkLQN zlb=OLpOive07J`y<1<@GGk)D?TP)tB(l}^`h&k-{Q7S~LL&^6$aEg*?=}3%PEF8w- zrWcu8Fp35pjGL>>&QWdm-gtgs@?Hfcf6*h%p4KPqs*!2jucu#Wd~eav{J1>b#@sSf zXrnsQr7G3^t2{EchgXubAWyc1td~)<;BBp%y`y?leAc`Oh=_fLfD!9E=)r}H#xh@;r zL#2tOMx{?1Q$?#`NTn+~D6v!XD4Lb(or%0*CF%iHwqU;a-PUz0*WN@9a?dFIdMR{L zD*cw3D97>%v&Vx*nSnZ4N{z-*Ev|a8gnIf#F**uwKD-jNEWknHzEVg&yObxg%yLtM zSv3tQw|AeJePVAYtBmMA5`?uOX%61q-#X41PtYthF7l47{(2&4 za`E{K%v%0}^~zHths>gFsh*Kesr+=)mpnjW^6V&M+|4NVhifwVXE+A7F`)O>D@ps- zOPlkUfi9P8g4B!ceh_rG?S_EejCG~uS14?hxPFEEVqi_!8di@u@KO*Dlv+?SxOm>* zJNbeWU}B-8>3pN{kSyfWx65jgl<42jNr_tj9J-t42hpiqVIz;rcx?{LYWpEfS|T*^ z3T%}$cN8#gN)JVUTx>mz3MnK*{6fk7Vxo8HzsmEjY9xBd)=pzEBxwE#0R=UbFqp2T z5#zOf1-sL7SV&j|eFI%}*uG>ZNy-$(Xe-FrIhOfq|DhNe1!%~{T0=Gbe1J)?@QW5C z(Sel|jW&3xa$+Sff(*=1usG49DdP=juC}cCS}TB)R4?; zTkc?@vKPmgD)#x2Y%LucUa>^mGrhvD`{N!@HFGvh}lEL6{s|TChJo`=nq(*7hHhvk@k9{`#%uj4`u= zN%6v+cUx+-cCu*JYG}ngR{gQW`=}tHHPec>a@U5^4xTge%_tQ5v9+sSX7am|;9o?{u!@=c*g$!S!?pjp!%^HoP{5*#M0W{NaN7ZGoRide9T`gq}vy ztsmt@q{zR942W02ie8Kkbg`W{>62?T z-qKjm(2Y?1tI4kbueFKKE;oq7#p|tx=x3j{Xn+aP&7Wl`Xh@DJs$n~dJD@!(`KCI( zR-fX2h!T2q4jhN)J8XZJa2sl-)Kh3JeS99I1JwtzXQd(KF#g58F9Sb%zH{qOv`K(O zn*_aOncZ0NDya8bB}`5%7shb4DwI#85 zVLkSuLdnxXCSIeRX*e&BbZc`018J;p^}VJf^(^OT@kF9YItp66=~m70 zp?owHR)Mwb(~HU-hlS1ecYNn4#l2aLPTi>g3`zS{KUl5G?T?2|9(W;Z^Gx$Qh_>!P2&sPC@sDjz4&*J}X_tjJ+&nBcNKH5O#-mGQWk zEEif`MHtaXg(wdxjJaewF$(nO;q2qf7sxu$IZ;3bE#KH`XYaHsor)YWUwVtH0lzc4 zkB`Vhj(kH*3d?+0g8-!nWk>~B|JpgwJ`%yY-{F5O?q9nrvH(A{5ET0mj$wsc>dc9s zRlP&#Hq%j`lfOzsA{!fj#Eu!U+h8Hl8ogu8!K|kza8u*_Cnr-clV7d=Urz6)yTI+` zG(j!4`%}31cFbrkrwBgH&$P!|<;guatd@&8_3UyH^JxYiV$=o9%|$c`?IN|j+v;#w{p)LLVy3X zTf1Fn7Os(WeHusp(V{o{g?V--niu@&uLy!Eik)p0=+yS<2DPakG}=-<9{d__*?(rf z*ML`I)Ea|y@jgU4BhQk8fnqM+VEPFm)ebEvUG*PzGPJl=n3X!-JCQW_%P_KTvj}fd zluYbEq)Drt`A(dZSrF!>&*69Do}}@~Gu$H=9_dUWcu8sClyX2js5i}D<5M_V&brr1 zu@_|1fQu`-IMou*z}oVwkb{?Bq52uoS$Fr;N~UkZ({3$PMw>*=cvu5aMwDOrd-m9c z+^IrMLHhKG_Q7A8kT96o{xuQQ-D}@+>Pr*NodC9z%{lq`- zzA(LjoRf-b7U`P8{=Q=k$q}W33bF8k!IlbVIrtOU9`CaY`JrYw?h>`nCEQY{ne$`7&ns?GWU?LpQa;(ea!9yzc|@!#-+>J(=1T3>tZ>qeWMqjrwpGy9K9L zMOp1rp%aRFqW(Sy2?x_tJa&A4Ug|>(d@m*V|L{tGjEi1{mu9(aMH_zh6l4%&{C??` z@oY6u<@EI9ht5CdlM|1(1%iQt2y_~#{A6=HIh1_i@$bhRPzEg4%}@LOGY;M_u~?|v zx_)Fh0#m&Ct}w8%;X@^l^#ab=up+^O|C*XYxfQsrKxFU=sjnP=^cB$E)gK^W1yCk> zL?{s(^xwzZ40ycG;FYWN?>9uyGm-9_y+5+nX&`igHoJJHd?x@vc<~DZ_#p=wS>g#u zMg(1o9)4vGFVhRYRuz8@+APKkxE5OIua4Oy-tJL3<_{7IBlWj(6hY|U%(fk-54Py1 zZSzBXtAP&}gmVur(LTEzrZWTcao?IRaA2LZI^7tb-Aa6k>XB9!~q6};hmf{ZlrB2t%6$z z2c9ea8!m12tm_B5t?Q20j*e`{X3KMv?(O*{?n}2{Izn1_l}six853E4 zO12+$&XRKF$0c%GXG5cI%dascLuKq58S?ZG_QGf~mWQ*>uB^O*OHr4a3g-yW^srW2 zRrQ_+w@`VD2*GfcUp`H@{>L0+KNT3191{P~9~o;kF6@&~H2c&4XWq}`qK>ZBPaf<< zEDJf#8=XJdAAKq_v*LfgNcL{>MONRyr8?VT5T` z_GfKR&#A+h7|wg?X^Gj&M}qPua`ZO^1$A)Fd)}S?V!Aj`NYUmL8tP*BqD$C*qTENQUnS_I-Dd;d3Wf}nO;lN?2a5qWvzq!>eK&Q6gdj?8>)`v%s zPm%3eMZmdOu=e25w~YCRt)ZHwbJ(=>D}B!2^FG6{I=Ypw)BR%;PgpE-Y%1?el3#gO z)0>lF<8fx;YbMcr`F%BVe7}Rzc{3eHN3$Hw!tuZj?a|`s@{w-QoV*9*1s~aP(RE>Z z%{t6eCqPH}-Kl+&KQ(16xI35rW3jKtW6ib#=BQ2mo4w`}5A$V$%c6?(k?9{k+2}7} zTn(osr~NMukL|wJd2ZtvDWTslq{2M-)Iu$fdxl}&)DwxA| zOh6F&yA|%?i5VdGPDUO}hY-Jn9&pnZyOT|!JXcHKL+qnm{s!5OA8d5fe=zH_Xc?!}#Gw1^opw9u~c#FehB6)p1b`mgnDNd-i4=pxrYBqBf)) z<`IY6lQ=}W8tkpyV=m$)qfSYl0B*jQvpahr+ngxfM`6_*c9n0rbaF&ZX(`}}jh(?T z3`_LP&fRf6f6nhoKD)B8WO%sS{k-2Gx1O7({8N2zVPNOJ3ccx1 zJTz>Z<+53FqLCN|4K~O70FUm0jvk}Sui<)Rx!o*uW65KnfUB-*Gd2a#Z%x#B^iiBA z^i@uAnFvbcd-QHt#Z+`4-=O|Cpg}AF(mdaj6+ZmPwEYlg1~SjBhv6;q%vE;*hH_6# ztd5eZ=3q1FO3&Cwy;6W_Xq-NCo@ag!zNznRR_gqW-PWjctCP|opV(3edqJSsw&v??`JBIaCc0G3+F=5-nVz(swS)?HDeNKztHpCY4pGQ^sK?l zv(V-3t(u<4Jph38LGyh9-2%JP(Hq6QN)O)r+(@z4ULa9ZX+zfLTtHMLr_r7=W5*f;~&M8;^}05iK-_X1eiT9@(knx{HUjIjUF4e0HSF}Ia6ing$=Bo>1w*uF~qOC0^p zXRo=BqZdGbrZ!CR;-a5X@=UxF#7%q46`h#Egj|E&q0VEjSy#NEzbS7uAolyAKa=9_ zR?Sfk0QTR(SV>Ko7Kc3pwdNeDP|`Ayd1&#_3v)j?tcN(9FTM8ojxMSt572WR5fjS- zJ!4aAK-u)h>3RMfD~cTr%lA51(3^*rURUy9stVJ1p%ES9=b{v+eqFbmy@VVSI23E< z>-+5K^=Q_bqG>>zn7qnga^Ldw^nmj!;Dko)0|{eC-Bzk>_CZp{TvHvs+;Dxv6aGiR zFBOBj8({YcqoX9WzyS_j)^|Ulq>nl>&1*yX)Iw*px4#e}@t}?xFX!-21AY;?nCm~t zEucRrb_YXX!RlvpCd*9)m;;Jk%77{o`SOIq5@2Ut(7z;In%uRa>U*A^@YVsSvsUp! z3;N6KcBfE{&qh8mnD<^9U9_&|t+IWYC^!uBY5KoG$BX&HF#ySzELZ_in9K{W-h&-I z>)>Az*cv&FBQQQA0N^fe+lnJ(2%zwj`Y_55MtI`RSsF<^?|R&!zTA13Ln z&nEcag`0V8$w$1i$&-D1ZS0+;Yu3&woWuUbFo^_=KKAB=-ZzvLzAvqZiTH!e1LO<<9)&R?T03EUog_ ziFvII7G?2Abv>cCbXt5ln(@(PZ9=>}f3+Q*dYIFsqLP89sOxjsgSMX@Nv)UFw0}71 zX}GPobC0U{UGw-I$yB{fEEq-Lm|%&=u*>%=hzk zbeQ@bXf>i;3LQiEw~FeW{WM;fO7jLVSSu2~8B_^+X=;$*ua7h#1jocK&Vb!}KUdqe zp*yfRy&Xt}$=F-8W%V?Pli#6x`C$?1*FRpjlDd{zzUmIP>626F{?sD4_jz)EKl?Kr z^zVdF8%$K4!>vX~)c*IdY%QCz#!);|=^g)}aN)x_u{T{8nXt7MUBoO2s|Q#;oJyXL zwwOp0X^Irvei!QR)H~W$Bf74kZ_=rWeK6{jI>=8LI9+@I26lP70VZm+j`D(^A@m!x zf8u18z=>UICH=g;-pPD0MUT*PFnJMG4_B|&18vTIO_wAPTv9aovER4uX6E_c^It^yrlDM zeYjho6KL`y>?*c-MGEvn&jd|wU#c#ws9|U*nA~X!zn16x-Gh5QEPoLenra6gW%;^9 z#nu-m9$Fe2GW*Ije?_NDFEO>C@xmi%hM`gIVmHRDEgYP>kWae>TT9!`h}|ZsAZlM8 zDooKRUTM{s_~_weB2b zqIa83JKE10E_?pb1MKen(8u>zTAh*xBmHm$e@D2{WNj5;*D+WXRul{EuZrtD{+Y3S z0I}mJ(03O^NC(%nnNetGD*7h0E>!Vl!QN${`5^LT=!Z1*&=!M!5$8~32v-{P9eE3r ztacB!zK`-T_*KlNx*5+9W+xcrXnxctwrIYY_`ZF1Cdt-GnqD)I3xcxCjGA{LNa%-o zF0;#5i%g}Ns-Xp|O+U#6WT0j(KN2gx#bg&fV;%2!F4f=nw zG>(JzgvF~jNP}veAB}$#>A0;~_4s4OHO9pDPRYh|x%qDt{;&4FJD%$I{XZfnr=ejMozf7;3N7mp8L5-z2BeT<2(NQ{qg(b{eI}h>%Q;TeP8o= zUH5f)$^4d|w%dDyV_l9i5pZU-q~uwU#L*v~@a2hHEiaC{=NWyZ6t=_7LrbWIJ`eYQ zG~n7#G2RujcgJ{soQppB#@X$}a#n}UP?iaHE#;^q$6w!8#{>%M=5eD{WA!NPniK|h zLXIYHvsIb@7LbHmphuoOe?B%gm6=xp_qAi;N-Kj!8!46is-gK}+GVBeW=3XSGe{dA zdrn+{Vj8h);l`^sRfP5Kf}{icnm@b$W9W9rGXrl5|~BgfBzHy zM|%Kl@tlWgI69^|X-}xD`UYg#ZJl)0c<4>#H2S)d*8Fl_$>>qVj%gMP&>}4ZHDPTV zS>D}F=lLHFN`o!t)ku8IzCnj63+fa-;lFs8d{W23_w^1u+1P}LGOforSjH||hxVf# z(lKq z!)i+E0FmwFHGF%Y!U)Vk7X%$6CgfO_?y`%V1h)KaO)l07qo;255*+cALU_nNbX+Dy zpm9Rb6Zzd91Qt)|?9B%b@h9nJ7nL0CxfYPIr$Z0<=DocX^#xD$&?X9jU}r7MHc)$9 z7K3v@pOt~%0JuO*OpMv!$M7*JLF_BD?rr4d*^$nmOz)IDaCbhf zL#Ov3Gy<(eo%~dcDT^V19f%Yw57Bk5Wp#Z^&l(T5jEuqlkrS)0`+?ahReOV;$_F?J z_<+xVhSD*;3tyA>)^_k~Wn3%sKxLw^DY|$6Y3qAh!L)PQpq2O1LqVKGI7!7#@3psV z>#MwmfGuRNw4HPk0%WtgJ+ZN|jxIqeg3`2;lam&m zIW}(k{ha9ZYdk%myD)uzF@7^TI@Uh=zQ97bRt|4tn=rSK1uY!8c$l7nK|VCCXk_<;g^oZ-#m8{l18Bp1qH7*6B zEKeW+fzw{l4)XO-KuG;Uh|pdciJR%SWTAhF3w#PEO^UI(# z`W5_1>$I^w`X>Z8_{Dd=N@w)J8d`c59EMM5Hzyn&7rg)7qrX&PeTj><=u4`!kt4t` zwC^^oQtkbMH8N}w8|aw)V_@I*W^zlj$Y_79Vc$YM4{tb+U5RBoseJB%@OcIqkEOW> zKRIRy5ud_4A-EwbSztn7tYXFww$u}o1`GaY!i8#Pnq}DbpG7wnF4Dj;jZ_Vzf8zNI z2J6=foJAkd&@lppqG>359PkDS4E&O&%J1G*pPyti6?SxW{?OM~o9;e4E&70fb4Jt^ zJE$uq;73IZ1vmUZEy`X7_ycM6TgRyKkcJtAs2Nd*g_a9`nldAni1GuRC{qto^^Xgi$RX-XG%yneCqjol@F2_pb-Ek^GJOa?JZOx;C>}#|0Rn$% z!=odnawu6BBc$vWzxBEtO2f2Bx8vH9G(4RI{Ioyz<;!8D+$~^g&|l(9opS%x3&0uI z`}olzaNl4EnN*=w*&+ewF!1?{kQf~;Pp>Zyzi*$si0Q}14D*IY=z7xDvkWlQzWw_X z)#A>8pw$fgE>0S)1ub%KUZpwM9U30hgo|rwB&ydzHxuLKftj(ci{LTU12(X}gm#YI zRB4rl6@UmP6IS`n|0$er<2QCT&yejCvP>ou%L_frb{$u;haem3Lvkt7(-?ptOMoL1 z0mI3fc7&dh8gOM>3~C8#P3OTq{OPi7XX62~9{Y))WQdQCEkT;F0q8!MxT{E_EKsOO z{k9{O8Xmy01tcGdUOl$UVD9zx!J$3aK4HsbvI#0T)cLaNf0I3gElXYm`zrU>_bU5( zr32u-%UB-?SzPqlcBU3?tE)%K($7`{e5IbO{rbews|C}VnHEjTM>?;0-`;-k;ZG54 ziM}&MY>{%+y#WBFSg2e4PBtBYC(gRTt3``1Y1Xcb2dy&?X1nOMUIPEcEEOmTuIl8J z8+MOkH6_daPmR?p36wqF3;!N^K-x4=CcDI zH~}h!`0c!#0|l61!8Laus6`;)9a8wVJ9AbVU}1d1+>pfV5HYy}m!A4aZUq1frQQE9Hgh45^lH>p$D0fr zVFqm$tQA5y9nEB#%;UmIKK2MyQfS2xk_o=rP{Ud2ntbl+ioBl#VbkDA@Wx5;V|E<6 z?BB6yJR2zaqxM8DG%wY2heo~8P+B0&@z*8MfYVGYr(G+k(m$UMme|!UBtl){1aO9@ zpfFahSdCVHa|u8rkpPz%+~p9fFT1r3AvxCtO1AZE(`T6w&U0o8Tc0})gbo7=F_u5| zk=u(5c*vU<)$LGlv~vouuVis$8z^8P&DLgiK6QaXqtq^#jp)BA%n^#K2%|N z76hPU)CLu*p!45Ivml>Bu_JRAjPYu;Y{_VkV%~{Sz~9b60ZwqS1QE+<(b-6fabHThuePJ{uW>ojPu+Di)nE>EE zr9*NC{K^r4cvZmy-Rzm!i{HH)DfLrdad$@(RA1D)_Lly4cXX)OvJnbl!oB$b{Q8ryK2{ya8h^?^t`6k-ixnQ9qvcI#odBgJ&^N@KlJK zN+Y$j;G^8S14qdYDmJeXjfL5*u z`RN=z3AXoDgv_Hi`HEptXXDQY75BjREv4*AUy*m7Yp_-wS*L*k)h#S6Jha$HW0?i@ zbvJT|s`@fAdljf^`gxoM`R8&z-sQ|A96sV&{;EHu3pQIXy@?~bw6iqWw}5pIe0nc3 z!cBKZdeN>#NQxD618lqMwemb=2f?o0BcR6(3hVbPQeYQO*-VBUUm*=Twc@}Nzo1D_ z+xmgG--CG0$xa%7FhBJ^t^M5S(Icg43$uyml^<>z?TiFa_OiHT2RrHGvB7I9Q4FAF zFP-{ri0=Pys83aqR(knYI&=ikQY>h=;zmFEF?I8Y=P&NnpEBtvkF`0Niyv}uh`304 z1?@8vwNmxn{06}`$AGb^&Bi3zNiP%P7f{+rJ#ike3*@&%L{g2=Qu_LahD`7;IH9xp z&U@?e9r`N4Vu{gh9h-*3cePly6yD+3w|~1vz$43V^NjL8meOjDM>hsqnd)blodZd& zZDV7@b&7V z`%L}N==Bg-BZ=;*ai(SQdBYNc+xPh4R^?o2OAY15_V9@BkQ@S293OkY@dSrIUw?<{y37GN zR2xiR%32{#rfY}^!qVzRrr|%^?2)vb$ZoI<;|JB5H=QzBN2KU4L^NBsJ2r9>k?^jd zNWeyrTZS#6|BZJ;*bSVH4MZ zBp=`RVb)AM8(`QH)#)=4C^ERREBSjtBE?z=fm8gORs8{Q78-Y>!(;d^MuoWT>ZqqD z@}5_}I}+5KCVjqX$>3rJsbkEjdrL*2(0FrjX!*@z2thp#3YwC1dmYJCtx-`~nFK)M zTiu;WvZ&3?#B(2x#B=Tj)lb2s!h;)9tAmg4wr7P*JanF*5_u0EOki?)S!ITO%zsf6x>ekn5oOzjo-U!-8)OU@o>6UO zTF+L*d9kLPkO}#+Eym~kd08dOPRA6MS8dTOf>(fY(zvVh`i)F5M?J+Xo6SIunbE1f zuCnW%U$2NGN(dPz{(u7c-30msP|^6+8moc zI|x4U2@9Wt)+ddUvz^>nL)#9dp>)F;asKRkti#u#30)nup>>gC3W~750I0kvAd^nh z7LqfqMoy4IfVE%pa{!R!ob|dBy&<$=N3J$Q-~<3yyJ}NM0Mwz;fkw?!F^xC2#^Wlt zL#c`qb3+q2K0TIr3FY_zTKbJ8)yZJnLNj51Y&u}4ao{`{KyTW2%!5cxYbbpEt#Dzi zs%gr1Q5DQ|>-@lWn z7`cMuny4D-h2(ThkG3_`2wF1D)G6$GBUb%fvg7n*la_(~$R}xoL7J^1AZUd9k`9!2u@^6aes!@O z)_FC)@(i1~8tq&3;=u7T2b!@CZiDJ##tx&c=k7q|fsC=-5rOIPo}NX)=~GX5_lf87 zHrjGHgX3d8`;_uAZDRC^mVO;lxD1KyLn_CIAv3v=BO`(2+T&Ncp}4N?+aO;vz!sVy zqS4ivwvMRN0)3he0oh*<%^R>%c-FPgq)0*vBAE6Nv8p0zYLiXe1r@n5eEwYH5Tels zY4Sa)JpI3<4_%p7BuRu8a%XvmUWQrQF8_p>){`#3bk_wED+!SF3VLFs&BtOiLY zWU-od|3dljfe4oBiR!ZiyUYNZhB+EcP03qF3Lz0bnyimV04WOr;Aq)bpq#Bk@a zH z^`~fm3nVjnaLSm`JfL*XL%R&UVzv7?ut2XslFP#GLYVLkySOEj$znIyxDc$b6ZR&T zw!8s{C_CK}>Ty_GBl#;xRr3SSZ|teWjm8G++kWo-Jo4JP%&H~yn9iK(bzU>r;dtCQ zw+De5j;4wU834twPQE(3P!3dnLG}{L6Bz-S)CkZGZ{FFel88|+GGq+Aafapt!}jm$ z{BN>BB(id6yFkKVgnKuqG@Au=rNnT~B(uK$8MCt5oultgh@Tg>6a4}R)Md}0uIVQY zfkIO^h7;mCC;fF=j9f3o|8@aA8MsuTP#@zjojoWpDgdg+c73_gDlK>-D|NZ0gF{!U z^x}m~YbErBf&X;1^c`a_WLYJEY|QPCi;2nMJj+tnDoG^mjPkt%5KWd9>l01|ZKzk{ zpwJ3z*qE#%()QY$`{bQ#i<}OfHp4Bc5!g8Bm+;w(JC83JjNLIzDUvg?m=D0t*qK*8 zK0YclqZM4oY-4`MjUh*AOdthlflA z4QCx)r<=4Ab>F1rvA%*HcSz)SBoD}UxbscA_@TPMvl-6smzHLW@;Ge)0zi2za9*z5FU{L6i6(>Y!}5$RUKbE zbT&`Cn)DtzBnsfwzz@K3hl6h`08D1f z0*C-Hl2KYHOLEVsV@v7FK9g^pYg}xlb_jvXQuEQ z5nM&l0flCZpuS#w9W1lwd`j8}&g7jaUnhlvMYL3qQj?q#0M)%@4&5j`!0R$}?#a2>J?ZJaxhU=zn^f0d+_q zRw@7*VuChZVnu6A1QSHPgtiTLno03#3UXHj*dBYTmda6Tmb$0AS=(NuWbs+%mIW&%;t;S>>!wAO}X}#PrxVk zUbpc)fTRfW0;S$h0OV+AgurH!PCse^{Ed%^**j|uMsy|^RrcfEU5hSISrzJUg*q2P zvJeN-UY-G_O(;b>)%Oem>^QIXkvdh^3^kUab5n2up{p{sKjspHC1N$0GNHd2>;3l!5< zvQ`-x{5cqLPq}G*NmR+l7ZA1tpGPGqT%L+VU@ik5T~SHJFemO4M7_yUuJbv1=Q+hm z>d;%WD=-C6@EnhW+kFt+*V>^Ojy#h@xd0k?;69{gn?gCV_w=ezfwK;Jbae&_EbE{;i5%*k{0J z+|0bvp=tWu@#V+}q~Y1ogi#Kqb8q9%81BeUeR(E)cx*pt>oDOOeT5F0+7>O zt##!H2Sm-5^GYCW){DexTx3_hHpq^HIK?9r_QBjx#I?(4+uEjKQ>`KL;P5G!UKvui zAvv=)>}p|x!Y8FKh+i}D4r%HB_)-<=gs;O(8FQbz7~-|YD}6jidz5&_PttXw(~CAM*9jm++iT- z|A7E&bG^7c-%?};z&Vn9*a9WnK#Q+mzkX~^CNBxebQZ`+Gps7vnfIt_j6U7D3{{gH z$L-=Fl`a7?PxADPATDxEfw#RtzsG&K;N#K04Gvnt)5dv4$!!mA7C6r~I}V1&#XWaY zMlv|TMzx2m5(|g)B;Ut(A|QV>(8^VRS)Dr+Xn~HFE*8&gC$}R!T^mrw&^u! z>o*Z?;xpGrDgzbr!8y>yIe@{DE7m^szzPY=nc(RzA?co3BcFy>rRfq#y1s_Lj|2{I zZ}8PhzV?(f#30Uz<*aN16N~-9r0^W$^~| zyggMsUoa4_4^-QTXM=?@)cgxFaKFL9+Bo=^Lu4qxmpA<+T|OwofxE|ru&aXR8v;2M zt*c&D^`ST`D4sGVK!!cghb%=kW#!w)9mbN&%F06Kwln#Z%Z2LfrF{<6H6_O$vKpE6 zU_cb3D&0%!_xaFy6>{U7`5=-q60xTF-ilhQQACy28rp6IjU>5-pvZL@5-TQS(Rls8 z@flFxW(fAD7V#S0RnJnG)@$(r*loWNaHuhenK~~Pf~7JhK@?~&D&bQrby^TauIqpv z6Fc!Np7F?lPa@u;1Jck*AgEB}B_U>Xn>;v)ZAKS zfss=KT6{Wx=Po+`&ixR6It*%TL$C+qGq?F6a5iNLT9s*#Fm(#%)=yk_{V((HC7g=r zH2V(J`Z%hBgPb5FYzqYm$?HQ1by4z7IW|V+<>mBN#&`f7^8o`HC{GkRK>Y$wGXU-6 zPlOAj8|@j5X@x{dxjp>aw4ly7?V0Sn@AuMeHJeCU@ zMI%aX{gKy5x-s}Ui1mEfy7OE3`$OBP%ch~*1LVN6+w3NFKfdoN)+0LBeP2rN+&Hkv zA$)?)3nygyaVMe$+l$zBQ!Ts;TLl`|80x;wq_}gN{zpS%w2*=JJN>U*SB8g<&V={Qsg=`C<|uv{rvl zQRji!y81xz3*_^e=wym&b&a0_u zKns&A-T9$<#B&LB-T))0(hq!!7!LyCOn)Kpz@8do$KdWmS{_+fcoI?V|Cj5eA;mZzn&XZ#Vh;$pLWW&0z2>Wjqn3+K=A}39NS~-Fy!y&*QMyPg`lfn8ZsQA? ziU=KdmK%5$YEBW3sR0;NSkH~+9?H#f`nVBma_zTK#sC*iHVE(i+Gi-!Qn~9CmQ}gO z<@(poZQHJI$_~Q6cYAd@OxZMoU(9@ujw%weLdhKG4`a$C^IB3-YYF^)`y<+BPe&Q2 z;Jyh0`fC(>rE2N_6#11_Tvfu?(Pr!(BoMyPr5DM0d1mlS`T1s#YT4H$%Axs~zjlLZ zFYE?R<54E{fVo)7U53njn(81kG$1z=pu(C(Nys7r)@{$V=X3CN%)hAu8DM+3??1y& zQ^K}*=*$_*Kq|@S&53xk^i;>GL(Rs08#teCA=jb$4?YCr1wx7`@f`>CSp){+#wUS| z>cMVqgc}bao(_WC0w7jvd1+D1W$xPaP($T`B;r$q!aifPG0m~3DmV=tdct3;C6T=k ziaXhS|9Xc|J+?VaIQm-i$-nchuXG9Ef)d6FWjhf;M%Df14@6Q6SYAT99@fu<@_W~*#w-8>`(#aAZQ`V)YDjvr6 z;{C%!5B{nYI%&&!=lA`|Kca-7h$IQpt`ZtGNf6gdq{(Bg4m_DbnrUOtD|sq*zK?P_>U6@o9G+G$cOuHE2pYwd3&R zU!7wZ%XU$2wsdYR*2yaJF46Pix2myyr&Oxhz|}LKyu?e52EmpJ0dISqQ_!UP#&eJ; zR~>9@R1fJ0G@d8#9wK>84{`JB^0WoMsc zJvkzXKUVYAp^9`HE0w_SX$C9K86L+QXlyg)lR|!qbHb_nq}imI-lfA(7fXl9P!#XDlM6 zDEevjvEG(dA6CimcYrx-xW)q2H8f`tJ1B9d3ZxfG>@^fG6nL|jyDaS*pXJ3OeT%N+ zeRHLHc`?7aPUJb+xp4HTyk&Fc!+q?_ZGl=DrcXuRJ3e5^ZJT#8+Hz`Xzo zNW+h>qDsJD@Hqp1yuu0)R1G3TpRCt0HSS~%%50O=&oUalbs$FA=uincyZeJ1YcRc0 zmJ#%mxx;1A_zu%Ds#sp?;Hsl)^68?P$*fOXI>cqE#``aTR0d`l54oeyiYsAeDFH4u zKwxB9$($EhY>g%7uYHzHxY~0EHxlU=Q@Z@TA;yZejW1P^G#fH)UK4ma!wo-|X7cu; zS#YTDWtN*_S1x?3y8MsB(17rks^btElmZvg4CZl>f|YnaqfZl0tPPZd4$0iLjFfMT zlBNoKZpyxT=9JmDm0u!VwVLD(sDS~?4V_*SSDjs?okqIPetfSQ-Owkpdh@9FDzKV+ z%e^+LOJ9hX^Y%YOB)~yV^WeN?W&n4sd^IAAF0RomT8i+#m}49n5=3+;YK8d5MLsR zK|9_T?(X!YjUA2_LPZ3KjX6Ew&2i?-OXxF?dmuJkbR}K}!W}LF!$^&V8TMIHo0fhU zWq7z&CQ)C{>C3GFjL{~Ab%DcQV1IwIR6*?#22+QZm( z{EezHvvMK4x4Xlp2nramisBm;c9}6w{+a4yo#;c zmN%r!D)41l9%!rci)3MZH|i?xRM-Cbt#%p9I|90~u(a)vB(A-CZG$BBR0$suQa_H6 zdNfu$XZizQ8v{{id@fC2cGlmxOOhpbp(^mC#DbN1>ALq`LLJ5?V9W5kPTg&cJ+(Bx zC;H}JqyLv0fSv_IS^B`?WIS8&47oOcXQ6zcX5l(7$t8;O7F+Hq{B|Esw_t7017{ij z9`a9ejv*uZjF1c_b-6{q&JkL;$7P7HzQI9D#V5fyyl5c(C6am+g$_$^7#Y#uXkb0~ z4!I_W90~Hj|7Lmb##&2MuK|>HlFV$8HIj58Q+gazMd^*~V`as^JIeduZxwSNQ8DVL zo2hQ<9OR-`o6;NQg1Tk~bsZDLFA^w{VdCI?moscp9i-_|Mq$C4F_w#IUu&J;eg7^6 zx1i9K;d+e`M^wx24b>i`LBcCHJar&1%?HeUxAJl&aP0;I`Naon1H~os!(B<;H+75j zfg|8DW&Zfyst!d7s?!Qe&<<7@)%P)ebpz52Mk~OmpDAdmGmhia{*?dMXdc-xTE50+6DqBiA^B}8Pr}N%OZqf_#?%M!FFZ*Xcsqu#+b^FzX5 z8sGQm+GgSzl9?=CAbTpKw+e0tr`J}I9{z1V`vYu1)=oTZiB8?Key7AWRi%q0%a)n# zu?#$Gru24yKl(XmkBu_k;Jh*4lk*RvX25~`ML(2JqFUBP;;oWs~&_tK=|#`j0jKc!O7eQ;^-+*`HlWFXP)@T;z|x1qwZ zzcA_v8qbCB(%15-XSc!<1R4;ujF@*L=zxSA`q86h8;h)n2efmD(XA1b4M|JE$~zyi zm2(J*{&isR0>KL5Lz6BYF_gQs4Hqgd@4MPX`OJPO^B3lEinelpQqadwN&hi1n1cZC zRUO!wN`6a9JtR07>Cv4vFNEwZT0#4TrFQey)x?z`2gGbTK`_Tz? z+#6^CU>N$o{f2EP^Pj5^RH^*?9UOAs#_`J+B0AEGYxJXva^f5hSX5}lIqCux|8~Xx zFec$LoXwuTY98wTq|iM)JpRzN&g-CRmTlBOjLwzAcmM&efIA}5RH^d@bY>OvqpQ32 zV5Y7Ng&d_lw?%tl!AbJxkEy2%V+u|S(+4fC)!z!8Y6UptslIEvMTDx_^0(`$aDA`w z>N~}nP~l^hZ>&2r8%=xL8ci}3Z+v%r=PKZ0~PqG`5yVCO@rqOlb zNAIGZdWvpnd~(>I3y*&k76!?qJ1RDWMR$eg1w5dkkz6`16HPN|s z7Q2r+re<@!g`pzPrknHT2Y-a-_I9R=e)AktK6R?WU28E)?X3B=MhzEo?>5QlYAE_K zML*kFt5BH;O@f9y3a$@0Umqw;JvP?PiJ#NWJ_$$)9k1RVNYcZW47Z4%E9Kge zs;Q-ycqY3u-Z!97)%Lr!>+Is~YMhnncL6;&3O^*)H4j&ai;caGoIlldVYu0pEO5ms zGR4xqf45BQy(G70u_F%6iTkjDs`C(e=n z+=cSwVN70hEvPu-qTiIL*&LqT{hNd4pJg{Cb%bBY9c5s>b5P*S+6B9Yv|UR{l@*dn zuesMHoS|&9TaYZUcc>&;*f@$zk1mq~Q}s_v=922m249-Lb(d->UF$rQc1oZg5^ts( zV^}loJ2q*gXv-*xKQb0CneTSb{_uof}|JVC7;RLCFHK`mTpKV;HD3|ow z@_m~Z#~s3FvK#D|B@2Eui(mb=t8{*-WNL?HeGcoU$&i^3+c$D8ZQe+cR>{sBiRV-j z7quA0XuLXq+Ii;Xw*}^^>EXvZyys&S2b`DnrlYxb%*G$S+7{!tZUdm0gFJw^rPe%+ z)H1E9^^o$;6gj4})^EBc_Vm+{rIZ4V0*h&KVC>WNYMe z`LH)7Ej#I4Em(MIk}srY&QNbR`Gob`B+;mG&MTm4EHG<+I81Q*{enUK$xMzjGsSP$ z4!2JU6fD;{Usx(vesWOnBrHG;mX>%rX{1X;@YA!Du&ZXNQS!IB&fi`CDX`&Fl6(DJ z<$kX3iwu50Y>Y1Cea{^jZhDoPlJi4(v&NwX5S@;Naw<%y-udI(;|xI?)9~?Bp@9N- z>>NKvgp!r5m$W10&AB6bJ^C!FSK9N>xi5?)IK5DC*SeG46OjY~$;4Udu}>RH<~LK4 z!rzNem-*Z9>O@@*l!q%_vxA|l{xvFBt^m`UX?aYdsE8+?)(u;-lC$i%H_ST@VyF5?|iWZ$GX# zn{eh;u7V2-;PI&p|71*H$L(?eDBzs((eO6LN2gd&rghG=BJt-wEuMYG+3i_xlm;WF z91aj=TI2mrCcW2icc^4;j(5v8*#61$gFME+yyD7csQk6U1ywqcZ+vbfFtK3X=b&h|8%>N?&tKDM?hmwU8M z_?{VIT;_H_z;#;AyzVIHv795Btn20+=Mw$r$Mo(=99BOuzp;Tr5g(3dh-i5@URZa_ekn>X&mqCK z{KK%@*-ut{!q;c`#unjHWRl{8J;(bRMY`CUmn4@ZH|}gU2tI6{!ZkZ{ZaT3^QoV*d z?)?AULi}r za^g84h96>5m_gAB*dkOCQ;#CLW^X*YDbYM=X9%^Bgh5F6)G#zbFH6_pX`3-g>WnhLGD-=l{30 zy~5v!jr}#5eLcF8cTYeOGh}`a=0`99txr?;XXz0PV7f>h0TS}1bxc-coPR!--~n7g ztF97+0#a|c^rnz|8|yVox(weY9!Nqp?aIea+yg1$Zc(nXqA73{5LEBTmAVy9luF5? z&?RX{CkLLwkM(H?+5c;Q=zc-g=Ri-pFp59>)6j_T7dEf5rnEng`r$n!O#Whs7lvKh zS{1C`rW|{8lQ7#pV`~283e!m;w{FZohoEU4Wg&#z3V!Z literal 0 HcmV?d00001 diff --git a/signup-service/src/main/java/io/mosip/signup/controllers/RegistrationController.java b/signup-service/src/main/java/io/mosip/signup/controllers/RegistrationController.java index e744188f..3a9475e3 100644 --- a/signup-service/src/main/java/io/mosip/signup/controllers/RegistrationController.java +++ b/signup-service/src/main/java/io/mosip/signup/controllers/RegistrationController.java @@ -1,5 +1,7 @@ package io.mosip.signup.controllers; +import io.micrometer.core.annotation.Counted; +import io.micrometer.core.annotation.Timed; import io.mosip.esignet.core.dto.RequestWrapper; import io.mosip.esignet.core.dto.ResponseWrapper; import io.mosip.esignet.core.util.IdentityProviderUtil; @@ -70,6 +72,8 @@ public ResponseWrapper verifyChallenge(@Valid @RequestB return responseWrapper; } + + @Timed(value = "register.timer", percentiles = {0.95, 0.99}) @PostMapping("/register") public ResponseWrapper register(@Valid @RequestBody RequestWrapper requestWrapper, @Valid @NotBlank(message = ErrorConstants.INVALID_TRANSACTION) diff --git a/signup-service/src/main/java/io/mosip/signup/controllers/SignUpController.java b/signup-service/src/main/java/io/mosip/signup/controllers/SignUpController.java index 8af399ea..ee177671 100644 --- a/signup-service/src/main/java/io/mosip/signup/controllers/SignUpController.java +++ b/signup-service/src/main/java/io/mosip/signup/controllers/SignUpController.java @@ -1,6 +1,7 @@ package io.mosip.signup.controllers; +import io.micrometer.core.annotation.Timed; import io.mosip.esignet.core.dto.RequestWrapper; import io.mosip.esignet.core.dto.ResponseWrapper; import io.mosip.esignet.core.util.IdentityProviderUtil; @@ -43,6 +44,7 @@ public ResponseWrapper getSignUpDetails() { return responseWrapper; } + @Timed(value = "resetpwd.timer", percentiles = {0.95, 0.99}) @PostMapping("/reset-password") public ResponseWrapper resetPassword(@Valid @RequestBody RequestWrapper requestWrapper, @Valid @NotBlank(message = ErrorConstants.INVALID_TRANSACTION) diff --git a/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java b/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java index 75a0b9da..8cb2810e 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java @@ -22,11 +22,6 @@ public class CacheUtilService { CacheManager cacheManager; //---Setter--- - @Cacheable(value = SignUpConstants.CHALLENGE_GENERATED, key = "#transactionId") - public RegistrationTransaction setChallengeGeneratedTransaction(String transactionId, - RegistrationTransaction registrationTransaction) { - return registrationTransaction; - } @CacheEvict(value = SignUpConstants.CHALLENGE_GENERATED, key = "#transactionId") @Cacheable(value = SignUpConstants.CHALLENGE_VERIFIED, key = "#verifiedTransactionId") @@ -36,14 +31,15 @@ public RegistrationTransaction setChallengeVerifiedTransaction(String transactio } @CacheEvict(value = SignUpConstants.CHALLENGE_VERIFIED, key = "#transactionId") - @CachePut(value = SignUpConstants.STATUS_CHECK, key = "#transactionId") + @Cacheable(value = SignUpConstants.STATUS_CHECK, key = "#transactionId") public RegistrationTransaction setStatusCheckTransaction(String transactionId, RegistrationTransaction registrationTransaction) { return registrationTransaction; } + @CacheEvict(value = SignUpConstants.CHALLENGE_GENERATED, key = "#transactionId") @Cacheable(value = SignUpConstants.BLOCKED_IDENTIFIER, key = "#key") - public String blockIdentifier(String key, String value) { + public String blockIdentifier(String transactionId, String key, String value) { return value; } @@ -52,11 +48,26 @@ public String setSecretKey(String key, String secretKey) { return secretKey; } - @Cacheable(value = SignUpConstants.KEY_ALIAS, key = "#key") + @CachePut(value = SignUpConstants.KEY_ALIAS, key = "#key") public String setActiveKeyAlias(String key, String alias) { return alias; } + + //----- cache update is separated + //----- we are not using @cacheput as @cacheput extends the TTL on cache entry + + public RegistrationTransaction createUpdateChallengeGeneratedTransaction(String transactionId, + RegistrationTransaction registrationTransaction) { + cacheManager.getCache(SignUpConstants.CHALLENGE_GENERATED).put(transactionId, registrationTransaction); + return registrationTransaction; + } + + public void updateStatusCheckTransaction(String transactionId, + RegistrationTransaction registrationTransaction) { + cacheManager.getCache(SignUpConstants.STATUS_CHECK).put(transactionId, registrationTransaction); + } + //---Getter--- public RegistrationTransaction getChallengeGeneratedTransaction(String transactionId) { return cacheManager.getCache(SignUpConstants.CHALLENGE_GENERATED).get(transactionId, RegistrationTransaction.class); diff --git a/signup-service/src/main/java/io/mosip/signup/services/ChallengeManagerService.java b/signup-service/src/main/java/io/mosip/signup/services/ChallengeManagerService.java index a2c8bd85..0d98e698 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/ChallengeManagerService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/ChallengeManagerService.java @@ -1,5 +1,6 @@ package io.mosip.signup.services; +import io.micrometer.core.annotation.Timed; import io.mosip.esignet.core.util.IdentityProviderUtil; import io.mosip.signup.dto.*; import io.mosip.signup.exception.SignUpException; @@ -39,6 +40,7 @@ public String generateChallenge(RegistrationTransaction transaction) throws Sign throw new SignUpException(ErrorConstants.UNSUPPORTED_CHALLENGE_TYPE); } + @Timed(value = "generateotp.api.timer", percentiles = {0.95, 0.99}) private String generateOTPChallenge(String challengeTransactionId) { OtpRequest otpRequest = new OtpRequest(); otpRequest.setKey(challengeTransactionId); diff --git a/signup-service/src/main/java/io/mosip/signup/services/GoogleRecaptchaValidatorService.java b/signup-service/src/main/java/io/mosip/signup/services/GoogleRecaptchaValidatorService.java index 281c4f71..fdbb9474 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/GoogleRecaptchaValidatorService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/GoogleRecaptchaValidatorService.java @@ -1,5 +1,6 @@ package io.mosip.signup.services; +import io.micrometer.core.annotation.Timed; import io.mosip.esignet.api.spi.CaptchaValidator; import io.mosip.signup.dto.ReCaptchaResponse; import lombok.extern.slf4j.Slf4j; @@ -30,6 +31,7 @@ public class GoogleRecaptchaValidatorService implements CaptchaValidator { @Autowired private RestTemplate restTemplate; + @Timed(value = "validatecaptcha.api.timer", percentiles = {0.95, 0.99}) @Override public boolean validateCaptcha(String captchaToken) { diff --git a/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java b/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java index d888751e..c7979b66 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java @@ -2,6 +2,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; +import io.micrometer.core.annotation.Timed; import io.mosip.esignet.core.util.IdentityProviderUtil; import io.mosip.kernel.core.util.HMACUtils2; import io.mosip.signup.dto.*; @@ -146,7 +147,7 @@ public GenerateChallengeResponse generateChallenge(GenerateChallengeRequest gene } else { transaction = cacheUtilService.getChallengeGeneratedTransaction(transactionId); - validateTransaction(transaction, identifier); + validateTransaction(transaction, identifier, generateChallengeRequest); } // generate Challenge @@ -155,11 +156,11 @@ public GenerateChallengeResponse generateChallenge(GenerateChallengeRequest gene transaction.setChallengeHash(challengeHash); transaction.increaseAttempt(); transaction.setLocale(generateChallengeRequest.getLocale()); - cacheUtilService.setChallengeGeneratedTransaction(transactionId, transaction); + cacheUtilService.createUpdateChallengeGeneratedTransaction(transactionId, transaction); //Resend attempts exhausted, block the identifier for configured time. if(transaction.getChallengeRetryAttempts() > resendAttempts) - cacheUtilService.blockIdentifier(transaction.getIdentifier(), "blocked"); + cacheUtilService.blockIdentifier(transactionId, transaction.getIdentifier(), "blocked"); notificationHelper.sendSMSNotificationAsync(generateChallengeRequest.getIdentifier(), transaction.getLocale(), SEND_OTP_SMS_NOTIFICATION_TEMPLATE_KEY, new HashMap<>(){{put("{challenge}", challenge);}}) @@ -265,10 +266,15 @@ public RegistrationStatusResponse updatePassword(ResetPasswordRequest resetPassw } if(!transaction.isValidIdentifier(resetPasswordRequest.getIdentifier().toLowerCase(Locale.ROOT))) { - log.error("generate-challenge failed: invalid identifier"); + log.error("reset password failed: invalid identifier"); throw new SignUpException(ErrorConstants.IDENTIFIER_MISMATCH); } + if(!transaction.getPurpose().equals(Purpose.RESET_PASSWORD)) { + log.error("reset password failed: purpose mismatch in transaction"); + throw new SignUpException(ErrorConstants.UNSUPPORTED_PURPOSE); + } + Identity identity = new Identity(); identity.setUIN(cryptoHelper.symmetricDecrypt(transaction.getUin())); identity.setIDSchemaVersion(idSchemaVersion); @@ -339,7 +345,7 @@ public RegistrationStatusResponse getRegistrationStatus(String transactionId) registrationTransaction.getHandlesStatus().put(handleRequestId, registrationStatus); //TODO This is temporary fix, we need to remove this field later from registrationTransaction DTO. registrationTransaction.setRegistrationStatus(registrationStatus); - cacheUtilService.setStatusCheckTransaction(transactionId, registrationTransaction); + cacheUtilService.updateStatusCheckTransaction(transactionId, registrationTransaction); } } registrationTransaction = cacheUtilService.getStatusCheckTransaction(transactionId); @@ -450,6 +456,7 @@ private void saveIdentityData(RegisterRequest registerRequest, String transactio addIdentity(identityRequest, transactionId); } + @Timed(value = "addidentity.api.timer", percentiles = {0.95, 0.99}) private void addIdentity(IdentityRequest identityRequest, String transactionId) throws SignUpException{ RestRequestWrapper restRequest = new RestRequestWrapper<>(); @@ -475,6 +482,7 @@ private void addIdentity(IdentityRequest identityRequest, String transactionId) restResponseWrapper.getErrors().get(0).getErrorCode() : ErrorConstants.ADD_IDENTITY_FAILED); } + @Timed(value = "generatehash.api.timer", percentiles = {0.95, 0.99}) private Password generateSaltedHash(String password, String transactionId) throws SignUpException{ RestRequestWrapper restRequestWrapper = new RestRequestWrapper<>(); @@ -497,6 +505,7 @@ private Password generateSaltedHash(String password, String transactionId) throw restResponseWrapper.getErrors().get(0).getErrorCode() : ErrorConstants.HASH_GENERATE_FAILED); } + @Timed(value = "getuin.api.timer", percentiles = {0.95, 0.99}) private String getUniqueIdentifier(String transactionId) throws SignUpException { RestResponseWrapper restResponseWrapper = selfTokenRestTemplate.exchange(getUinEndpoint, @@ -513,7 +522,8 @@ private String getUniqueIdentifier(String transactionId) throws SignUpException restResponseWrapper.getErrors().get(0).getErrorCode() : ErrorConstants.GET_UIN_FAILED); } - private void validateTransaction(RegistrationTransaction transaction, String identifier) { + private void validateTransaction(RegistrationTransaction transaction, String identifier, + GenerateChallengeRequest generateChallengeRequest) { if(transaction == null) { log.error("generate-challenge failed: validate transaction null"); throw new InvalidTransactionException(); @@ -533,8 +543,14 @@ private void validateTransaction(RegistrationTransaction transaction, String ide log.error("generate-challenge failed: too early attempts"); throw new GenerateChallengeException(ErrorConstants.TOO_EARLY_ATTEMPT); } + + if(!transaction.getPurpose().equals(generateChallengeRequest.getPurpose())) { + log.error("generate-challenge failed: purpose mismatch"); + throw new GenerateChallengeException(ErrorConstants.INVALID_PURPOSE); + } } + @Timed(value = "getstatus.api.timer", percentiles = {0.95, 0.99}) private RegistrationStatus getRegistrationStatusFromServer(String applicationId) { RestResponseWrapper> restResponseWrapper = selfTokenRestTemplate.exchange(getRegistrationStatusEndpoint, HttpMethod.GET, null, diff --git a/signup-service/src/test/java/io/mosip/signup/services/CacheUtilServiceTest.java b/signup-service/src/test/java/io/mosip/signup/services/CacheUtilServiceTest.java index ca32be57..3fc66470 100644 --- a/signup-service/src/test/java/io/mosip/signup/services/CacheUtilServiceTest.java +++ b/signup-service/src/test/java/io/mosip/signup/services/CacheUtilServiceTest.java @@ -31,7 +31,7 @@ public void test_RegistrationTransaction_cache() { Mockito.when(cache.get("mock", RegistrationTransaction.class)).thenReturn(registrationTransaction); Mockito.when(cacheManager.getCache(Mockito.anyString())).thenReturn(cache); - Assert.assertEquals(cacheUtilService.setChallengeGeneratedTransaction("mock", + Assert.assertEquals(cacheUtilService.createUpdateChallengeGeneratedTransaction("mock", registrationTransaction), registrationTransaction); Assert.assertEquals(cacheUtilService.setChallengeVerifiedTransaction("mock", "vmock", registrationTransaction), registrationTransaction); @@ -45,8 +45,9 @@ public void test_RegistrationTransaction_cache() { @Test public void setChallengeTransaction_thenPass() { + Mockito.when(cacheManager.getCache(Mockito.anyString())).thenReturn(cache); RegistrationTransaction registrationTransaction = new RegistrationTransaction("+85512123123", Purpose.REGISTRATION); - Assert.assertEquals(cacheUtilService.setChallengeGeneratedTransaction("mock-transaction", registrationTransaction), registrationTransaction); - Assert.assertNotNull(cacheUtilService.setChallengeGeneratedTransaction("mock-transaction", registrationTransaction)); + Assert.assertEquals(cacheUtilService.createUpdateChallengeGeneratedTransaction("mock-transaction", registrationTransaction), registrationTransaction); + Assert.assertNotNull(cacheUtilService.createUpdateChallengeGeneratedTransaction("mock-transaction", registrationTransaction)); } } diff --git a/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java b/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java index 0fca5cfb..c937e56f 100644 --- a/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java +++ b/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java @@ -1639,6 +1639,7 @@ public void doGenerateChallenge_withRetryAttemptsOver3time_thenFail() throws Sig generateChallengeRequest.setIdentifier(identifier); generateChallengeRequest.setCaptchaToken("mock-captcha"); generateChallengeRequest.setRegenerate(true); + generateChallengeRequest.setPurpose(Purpose.REGISTRATION); String transactionId = "TRAN-1234"; RegistrationTransaction transaction = new RegistrationTransaction(identifier, Purpose.REGISTRATION); transaction.setLastRetryAt(LocalDateTime.now(ZoneOffset.UTC).minusSeconds(40)); @@ -1665,6 +1666,7 @@ public void doGenerateChallenge_withTransactionId_thenPass() throws SignUpExcept generateChallengeRequest.setIdentifier(identifier); generateChallengeRequest.setCaptchaToken("mock-captcha"); generateChallengeRequest.setRegenerate(true); + generateChallengeRequest.setPurpose(Purpose.REGISTRATION); String transactionId = "TRAN-1234"; RegistrationTransaction transaction = new RegistrationTransaction(identifier, Purpose.REGISTRATION); transaction.setLastRetryAt(LocalDateTime.now(ZoneOffset.UTC).minusSeconds(40)); diff --git a/signup-ui/public/locales/en.json b/signup-ui/public/locales/en.json index ef8bc50f..1af962ab 100644 --- a/signup-ui/public/locales/en.json +++ b/signup-ui/public/locales/en.json @@ -118,7 +118,7 @@ "already-registered": "Already Registered", "timed_out": "Timedout", "timeout_transaction": "Transaction Timeout", - "request_limit": "Request Limit", + "request_limit": "It is taking time to fetch your account status. Please try login after 5 minutes.", "not_registered": "Not Registered", "reset_pwd_failed": "Reset Password Failed", "identifier_already_registered": "Identifier already registered", diff --git a/signup-ui/public/locales/km.json b/signup-ui/public/locales/km.json index b1bc3b3a..b7637dae 100644 --- a/signup-ui/public/locales/km.json +++ b/signup-ui/public/locales/km.json @@ -118,7 +118,7 @@ "already-registered": "បានចុះឈ្មោះរួចហើយ", "timed_out": "អស់ម៉ោង", "timeout_transaction": "ប្រតិបត្តិការផុតកំណត់", - "request_limit": "ចំនួនសំណើដល់កំណត់", + "request_limit": "ត្រូវការពេលវេលាដើម្បីទាញយកស្ថានភាពគណនីរបស់អ្នក។ សូមព្យាយាមចូលប្រើបន្ទាប់ពី 5 នាទី។", "not_registered": "មិនបានចុះឈ្មោះ", "reset_pwd_failed": "ការកំណត់ពាក្យសម្ងាត់ឡើងវិញបានបរាជ័យ", "identifier_already_registered": "អត្តសញ្ញាណបានចុះឈ្មោះរួចហើយ", From 0c9d636c0abb1bf201f2a20a26a41fe3ccdad65e Mon Sep 17 00:00:00 2001 From: Rakshitha650 Date: Wed, 14 Feb 2024 18:15:13 +0530 Subject: [PATCH 31/63] [DSD-4594] created separate artifactory-share for signup Signed-off-by: Rakshitha650 --- helm/signup-service/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/signup-service/values.yaml b/helm/signup-service/values.yaml index 760fba16..af7c0662 100644 --- a/helm/signup-service/values.yaml +++ b/helm/signup-service/values.yaml @@ -53,7 +53,7 @@ service: image: registry: docker.io repository: mosipqa/signup-service - tag: 1.x.x + tag: release-1.x.x ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images From 33a03099e220d48eb5c9aaa14514a6bc555fdf0a Mon Sep 17 00:00:00 2001 From: Rakshitha650 Date: Wed, 14 Feb 2024 18:00:13 +0530 Subject: [PATCH 32/63] [DSD-4594] created separate artifactory-share for signup Signed-off-by: Rakshitha650 --- helm/signup-service/copy_cm.sh | 1 - helm/signup-service/install.sh | 2 +- helm/signup-service/templates/_helpers.tpl | 11 ++++++++ .../templates/configmap-share.yaml | 25 +++++++++++++++++++ helm/signup-service/values.yaml | 15 +++++++++++ 5 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 helm/signup-service/templates/configmap-share.yaml diff --git a/helm/signup-service/copy_cm.sh b/helm/signup-service/copy_cm.sh index 68782f50..b1633658 100755 --- a/helm/signup-service/copy_cm.sh +++ b/helm/signup-service/copy_cm.sh @@ -7,7 +7,6 @@ function copying_cm() { DST_NS=signup $COPY_UTIL configmap global default $DST_NS - $COPY_UTIL configmap artifactory-share artifactory $DST_NS $COPY_UTIL configmap config-server-share config-server $DST_NS $COPY_UTIL configmap softhsm-signup-share softhsm $DST_NS return 0 diff --git a/helm/signup-service/install.sh b/helm/signup-service/install.sh index f9175493..d57cff56 100755 --- a/helm/signup-service/install.sh +++ b/helm/signup-service/install.sh @@ -90,7 +90,7 @@ function installing_signup() { fi echo Installing signup - helm -n $NS install signup mosip/signup --version $CHART_VERSION $ENABLE_INSECURE + helm -n $NS install signup /home/techno-376/IdeaProjects/esignet-signup/helm/signup-service --version $CHART_VERSION $ENABLE_INSECURE kubectl -n $NS get deploy -o name | xargs -n1 -t kubectl -n $NS rollout status diff --git a/helm/signup-service/templates/_helpers.tpl b/helm/signup-service/templates/_helpers.tpl index 1becb8f9..aaf70864 100644 --- a/helm/signup-service/templates/_helpers.tpl +++ b/helm/signup-service/templates/_helpers.tpl @@ -57,4 +57,15 @@ Return podAnnotations {{- end }} {{- end -}} +User +{{/* +Baseurl for artifactory service +*/}} +{{- define "artifactory.baseUrl" -}} +{{ printf "http://artifactory.artifactory:%s" (.Values.service.port | toString) }} +{{- end -}} + + + + diff --git a/helm/signup-service/templates/configmap-share.yaml b/helm/signup-service/templates/configmap-share.yaml new file mode 100644 index 00000000..0ca93178 --- /dev/null +++ b/helm/signup-service/templates/configmap-share.yaml @@ -0,0 +1,25 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + labels: + {{- include "common.labels.standard" . | nindent 4 }} + app.kubernetes.io/component: artifactory + name: artifactory-share + {{- if .Values.commonAnnotations }} + annotations: + {{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }} + {{- end }} +data: + artifactory_url_env: {{ include "artifactory.baseUrl" . | quote }} + iam_adapter_url_env: {{ printf "%s%s" (include "artifactory.baseUrl" .) .Values.artifacts.iamAdapter | quote }} + iam_adapter_regproc_url_env: {{ printf "%s%s" (include "artifactory.baseUrl" .) .Values.artifacts.iamAdapterRegproc | quote }} + iam_adapter_regproc_ext_url_env: {{ printf "%s%s" (include "artifactory.baseUrl" .) .Values.artifacts.iamAdapterRegprocExt | quote }} + zip_file_path: {{ .Values.artifacts.hsmClientZip | quote }} + cache_provider_url_env: {{ printf "%s%s" (include "artifactory.baseUrl" .) .Values.artifacts.cacheProvider | quote }} + runtime_dep_url_env: {{ printf "%s%s" (include "artifactory.baseUrl" .) .Values.artifacts.runtimeDep | quote }} + regproc_jars_env: {{ .Values.artifacts.regprocJars | quote }} + preregistration_i18n_bundle_url_env: {{ printf "%s%s" (include "artifactory.baseUrl" .) .Values.artifacts.preregistrationBundleUrl | quote }} + virusscanner_url_env: {{ printf "%s%s" (include "artifactory.baseUrl" .) .Values.artifacts.virusscannerUrl | quote }} + auth_wrapper_url_env: {{ printf "%s%s" (include "artifactory.baseUrl" .) .Values.artifacts.authwrapperUrl | quote }} + esignet_wrapper_url_env: {{ printf "%s%s" (include "artifactory.baseUrl" .) .Values.artifacts.esignetauthwrapperUrl | quote }} + diff --git a/helm/signup-service/values.yaml b/helm/signup-service/values.yaml index af7c0662..7553ed90 100644 --- a/helm/signup-service/values.yaml +++ b/helm/signup-service/values.yaml @@ -443,6 +443,21 @@ metrics: # labels: # severity: error rules: [] +## There are various jars and libs in artifactory. Listing their locations here. The locations are vis-a-vis +## /usr/share/nginx/html/artifactory path in artifactory docker +artifacts: + iamAdapter: /artifactory/libs-release-local/io/mosip/kernel/kernel-auth-adapter-lite.jar + iamAdapterRegproc: /artifactory/libs-release-local/io/mosip/kernel/kernel-auth-adapter.jar + iamAdapterRegprocExt: /artifactory/libs-release-local/io/mosip/kernel/kernel-auth-adapter.jar + hsmClientZip: /artifactory/libs-release-local/hsm/client.zip + cacheProvider: /artifactory/libs-release-local/cache/cache-provider.jar + runtimeDep: /artifactory/libs-release-local/io/mosip/kernel/ + regprocJars: /artifactory/libs-release-local/clamav/kernel-virusscanner-clamav.jar + runtimeDepUrl: /artifactory/libs-release-local/io/mosip/kernel/ + preregistrationBundleUrl: /artifactory/libs-release-local/i18n/pre-registration-i18n-bundle.zip + virusscannerUrl: /artifactory/libs-release-local/clamav/kernel-virusscanner-clamav.jar + authwrapperUrl: /artifactory/libs-release-local/idp/idp-auth-wrapper/authentication-wrapper.jar + esignetauthwrapperUrl: /artifactory/libs-release-local/esignet/esignet-wrapper.zip signup: ## Only internal access From 845f56e3b0cf4af526446225e0c26a40eecd2a2b Mon Sep 17 00:00:00 2001 From: Rakshitha650 Date: Wed, 14 Feb 2024 20:03:37 +0530 Subject: [PATCH 33/63] [DSD-4594] created separate artifactory-share for signup Signed-off-by: Rakshitha650 --- helm/signup-service/install.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/signup-service/install.sh b/helm/signup-service/install.sh index d57cff56..f9175493 100755 --- a/helm/signup-service/install.sh +++ b/helm/signup-service/install.sh @@ -90,7 +90,7 @@ function installing_signup() { fi echo Installing signup - helm -n $NS install signup /home/techno-376/IdeaProjects/esignet-signup/helm/signup-service --version $CHART_VERSION $ENABLE_INSECURE + helm -n $NS install signup mosip/signup --version $CHART_VERSION $ENABLE_INSECURE kubectl -n $NS get deploy -o name | xargs -n1 -t kubectl -n $NS rollout status From c0c2611de5c6d11c84fd774240c8c67260485e6a Mon Sep 17 00:00:00 2001 From: ase-101 Date: Tue, 20 Feb 2024 23:43:06 +0530 Subject: [PATCH 34/63] Update README.md Signed-off-by: ase-101 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index deac801f..ccf8ac11 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,7 @@ mosip.ida.handle-types.regex={ '@phone' : '^\\+91[1-9][0-9]{7,9}@phone$' } ``` mosip.idrepo.credential.request.enable-convention-based-id=true -mosip.idrepo.identity.disable-uin-based-credential-request=true +mosip.idrepo.identity.disable-uin-based-credential-request=false mosip.idrepo.vid.disable-support=true From da6e6812f6a20e3466e08ef48417264fc9840566 Mon Sep 17 00:00:00 2001 From: ase-101 Date: Wed, 21 Feb 2024 23:51:05 +0530 Subject: [PATCH 35/63] Updated readme document Signed-off-by: ase-101 --- Credits.md | 10 ++++++++++ README.md | 7 ++++++- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 Credits.md diff --git a/Credits.md b/Credits.md new file mode 100644 index 00000000..4b306b47 --- /dev/null +++ b/Credits.md @@ -0,0 +1,10 @@ +# Credits + +This project is made possible by the people and organizations listed in this document. + +## Contributors + +* Rathanak SREANG (rathanak-0080) +* Panharith AN (panharith-0118) +* Bunsy Chhay (bunsy-0900) +* Mengleang Ngoun (mengleang-0090) diff --git a/README.md b/README.md index ccf8ac11..f85ba701 100644 --- a/README.md +++ b/README.md @@ -108,10 +108,15 @@ mosip.kernel.sms.country.code=+91 cd helm ./restart-all.sh ``` - + ## APIs API documentation is available [here](https://mosip.stoplight.io/docs/identity-provider/branches/signupV1/t9tvfbteqqokf-e-signet-signup-portal-ap-is). +## Credits + +We extend our sincere appreciation to the [Cambodia team](/Credits.md) for their invaluable support to MOSIP by implementing the Signup UI and service module. We are truly impressed by your commitment and outstanding contribution. + + ## License This project is licensed under the terms of [Mozilla Public License 2.0](LICENSE). From 361dfca7ae67b9d2fc5c40384dc05a80a1f40b1b Mon Sep 17 00:00:00 2001 From: ase-101 Date: Wed, 21 Feb 2024 23:55:49 +0530 Subject: [PATCH 36/63] Updated readme document Signed-off-by: ase-101 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f85ba701..3ad341e0 100644 --- a/README.md +++ b/README.md @@ -115,7 +115,7 @@ API documentation is available [here](https://mosip.stoplight.io/docs/identity-p ## Credits -We extend our sincere appreciation to the [Cambodia team](/Credits.md) for their invaluable support to MOSIP by implementing the Signup UI and service module. We are truly impressed by your commitment and outstanding contribution. +We extend our sincere appreciation to the [Cambodia Digital Government Committee team](/Credits.md) for their invaluable support to MOSIP by implementing the Signup UI and service module. We are truly impressed by your commitment and outstanding contribution. ## License From af4a8498137a6399f3cb5f569f834a288a5469be Mon Sep 17 00:00:00 2001 From: ase-101 Date: Thu, 22 Feb 2024 12:46:18 +0530 Subject: [PATCH 37/63] Updated readme document Signed-off-by: ase-101 --- Credits.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Credits.md b/Credits.md index 4b306b47..e589f9df 100644 --- a/Credits.md +++ b/Credits.md @@ -8,3 +8,5 @@ This project is made possible by the people and organizations listed in this doc * Panharith AN (panharith-0118) * Bunsy Chhay (bunsy-0900) * Mengleang Ngoun (mengleang-0090) +* Oeun Lengheang (lengheang-0116) +* Un Lykong (unlykong) From 8c8f39fe4dcdd621c603a15dccb2a391e936431e Mon Sep 17 00:00:00 2001 From: ase-101 Date: Thu, 22 Feb 2024 23:59:03 +0530 Subject: [PATCH 38/63] Updated readme document Signed-off-by: ase-101 --- README.md | 2 +- docs/esignet-signup-openapi.yaml | 814 +++++++++++++++++++++++++++++++ 2 files changed, 815 insertions(+), 1 deletion(-) create mode 100644 docs/esignet-signup-openapi.yaml diff --git a/README.md b/README.md index 3ad341e0..eca72f2f 100644 --- a/README.md +++ b/README.md @@ -111,7 +111,7 @@ mosip.kernel.sms.country.code=+91 ## APIs -API documentation is available [here](https://mosip.stoplight.io/docs/identity-provider/branches/signupV1/t9tvfbteqqokf-e-signet-signup-portal-ap-is). +API documentation is available [here](docs/esignet-signup-openapi.yaml). ## Credits diff --git a/docs/esignet-signup-openapi.yaml b/docs/esignet-signup-openapi.yaml new file mode 100644 index 00000000..8b3d6373 --- /dev/null +++ b/docs/esignet-signup-openapi.yaml @@ -0,0 +1,814 @@ +openapi: 3.1.0 +x-stoplight: + id: t9tvfbteqqokf +info: + title: e-Signet Signup Portal APIs + version: '1.0' + contact: + name: MOSIP Team + email: info@mosip.io + url: 'https://www.mosip.io/' + description: '' + license: + name: MPL-2.0 + url: 'https://www.mozilla.org/en-US/MPL/2.0/' + summary: Signup portal for e-Signet one-login system. +servers: + - url: 'https://camdgc-dev.mosip.net/v1/signup' +paths: + /settings: + get: + summary: UI Settings Endpoint + operationId: getdetails + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + responseTime: + type: string + response: + type: object + properties: + configs: + $ref: '#/components/schemas/UIConfigMap' + x-stoplight: + id: q1iltvghi3nda + description: Its key-value pairs of ui configuration. + errors: + type: + - array + - 'null' + description: List of errors in case of request validation / processing failure in the server. + items: + type: object + properties: + errorCode: + type: string + errorMessage: + type: string + examples: + Example 1: + value: + responseTime: string + response: + configs: + identifier.pattern: string + identifier.prefix: string + captcha.site.key: string + otp.length: 0 + otp.secret: true + password.pattern: string + challenge.timeout: 0 + resend.attempts: 0 + resend.delay: 0 + fullname.pattern: string + status.request.delay: 0 + status.request.limit: 0 + popup.timeout: 0 + identifier.allowed.characters: string + identifier.length.min: 0 + identifier.length.max: 0 + fullname.allowed.characters: string + fullname.length.min: 0 + fullname.length.max: 0 + otp.blocked: 0 + errors: + - errorCode: string + errorMessage: string + description: |- + Endpoint to get the configurations required by the signup UI. + + All these UI configurations should be taken from the configurations. + parameters: [] + tags: + - UI + x-stoplight: + id: qi15z7zd0mza1 + parameters: [] + /registration/generate-challenge: + post: + summary: Generate Challenge Endpoint + operationId: post-send-otp + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + responseTime: + type: string + response: + type: object + description: 'If successful otp details, or null if failed to deliver OTP.' + properties: + status: + description: Transaction Identifier. + x-stoplight: + id: fyp7gfgdwq7s1 + enum: + - SUCCESS + errors: + type: array + description: List of Errors in case of request validation / processing failure in the server. + items: + type: object + properties: + errorCode: + type: string + enum: + - invalid_transaction + - invalid_otp_channel + - invalid_captcha + - send_otp_failed + - active_otp_found + - unknown_error + errorMessage: + type: string + examples: + Example 1: + value: + responseTime: '2023-11-03T11:03:30.000Z' + response: + status: SUCCESS + errors: [] + headers: + set-cookie: + schema: + type: string + example: 'Set-Cookie: TRANSACTION_ID=2GFKHGAEyyx6lEhB4ObBzpPuaTrTlKy3BK0Izl3taug; Max-Age=600; Secure; HttpOnly' + description: Transaction Id is set in the cookie + description: |- + Endpoint to generate challenge for the input identifier of the user. + For eg: if the provided identifier is phone number, OTP is sent to phone. If the identifier is email, OTP is mailed to the given emailID. + + TransactionId is created and stored in the cache to maintain the state of the challenge specific to input user identifier. + + 1. Should identify if the provided identifier is phone number or emailID. + 2. Response header should set-cookie with transactionId + 3. On success, return status as SUCCESS + 4. In Failure, response is set to null, errors list if set with specific errorCode. + 5. if regenerate is true, then a valid transactionId is excepted in the cookie to re-generate the challenge in the existing transaction. + 6. Purpose of the challenge is set on starting of new transaction. Challenge generated for "Registration" should be used only for registration process. + And challenge generated for RESET_PASSWORD should be used only to reset password. + requestBody: + content: + application/json: + schema: + type: object + properties: + requestTime: + type: string + pattern: 'yyyy-MM-dd''T''HH:mm:ss.SSS''Z''' + request: + type: object + required: + - identifier + - captchaToken + - purpose + properties: + identifier: + type: string + x-stoplight: + id: bpjm48g2v7kvq + description: Phone number to which the OTP should be triggered. + captchaToken: + type: string + description: 'Captcha token, if enabled.' + locale: + type: string + x-stoplight: + id: dm6k0lxwgywoi + description: |- + Locale to be used to send the challege in the notification to the user. + If not provided default notification language is considered. + regenerate: + type: boolean + x-stoplight: + id: 2lzyacd68vmbl + description: |- + True - when we should resend the challenge for existing transaction. + False - when a new transaction has to be started. + Default value is False. + purpose: + x-stoplight: + id: x576z7k9ocx77 + enum: + - REGISTRATION + - RESET_PASSWORD + description: Marks the purpose of this challenge in the transaction. + required: + - requestTime + - request + examples: + Example 1: + value: + requestTime: string + request: + identifier: string + captchaToken: string + locale: string + regenerate: true + purpose: REGISTRATION + description: '' + parameters: + - schema: + type: string + in: header + name: X-XSRF-TOKEN + description: CSRF token as set in cookie key 'XSRF-TOKEN' + required: true + tags: + - UI + x-stoplight: + id: vxqpd5jfxa7fw + parameters: [] + /registration/verify-challenge: + post: + summary: Challenge Verification Endpoint + operationId: post-verify-challenge + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + responseTime: + type: string + response: + type: object + properties: + status: + description: Transaction Identifier. + x-stoplight: + id: b4isdjm5vgn3w + enum: + - SUCCESS + errors: + type: array + description: List of Errors in case of request validation / processing failure in Idp server. + items: + type: object + properties: + errorCode: + type: string + enum: + - invalid_transaction + - challenge_failed + - invalid_challenge_type + - invalid_challenge_format + - unknown_error + - already-registered + errorMessage: + type: string + examples: + Example 1: + value: + responseTime: '2023-11-03T11:03:49.770Z' + response: + status: SUCCESS + errors: [] + headers: + set-cookie: + schema: + type: string + description: Verified transaction Id to be set after successful challenge verification + requestBody: + content: + application/json: + schema: + type: object + properties: + requestTime: + type: string + pattern: 'yyyy-MM-dd''T''HH:mm:ss.SSS''Z''' + request: + type: object + required: + - identifier + - challengeInfo + properties: + identifier: + type: string + x-stoplight: + id: g9ujmewgchhvx + challengeInfo: + x-stoplight: + id: d7jg9njcc0hsz + type: array + items: + $ref: '#/components/schemas/ChallengeInfo' + x-stoplight: + id: qzu8tg3w7mpdi + required: + - requestTime + - request + examples: + Example 1: + value: + requestTime: string + request: + identifier: string + challengeInfo: + - challenge: string + format: alpha-numeric + type: OTP + description: '' + description: |- + Endpoint to verify with the provided challenge w.r.t the transaction ID. + + 1. TransactionId from the cookie is validated. + 2. validate the challenge. + 3. identifier in the request MUST match the identifier stored in the cache. + 3. On success, return status as SUCCESS + 4. In Failure, response is set to null, errors list if set with specific errorCode. + + TransactionId and setting the same in the new cookie, post successful challenge verification. + Old cookie is removed by setting age to 0. + parameters: + - schema: + type: string + in: header + name: X-XSRF-TOKEN + description: CSRF token as set in cookie key 'XSRF-TOKEN' + required: true + - schema: + type: string + in: cookie + name: TRANSACTION_ID + description: Transaction Id set after successful generate-challenge response + required: true + tags: + - UI + x-stoplight: + id: 5w1jlgm2nd3vi + parameters: [] + /registration/register: + post: + summary: Register Endpoint + operationId: post-register + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + responseTime: + type: string + response: + type: object + properties: + status: + x-stoplight: + id: pkkk1t229lfzw + enum: + - PENDING + - COMPLETED + errors: + type: array + description: List of Errors in case of request validation / processing failure in the server. + items: + type: object + properties: + errorCode: + type: string + enum: + - invalid_transaction + - unknown_error + - invalid_transaction + errorMessage: + type: string + examples: + Example 1: + value: + responseTime: '2023-11-03T11:03:49.770Z' + response: + status: PENDING + errors: [] + requestBody: + content: + application/json: + schema: + type: object + properties: + requestTime: + type: string + pattern: 'yyyy-MM-dd''T''HH:mm:ss.SSS''Z''' + request: + type: object + required: + - username + - password + - consent + - userInfo + properties: + username: + type: string + x-stoplight: + id: 6q8do7w32x0jw + description: Unique identifier to be registered. + password: + type: string + x-stoplight: + id: mr6yhobogq9mr + consent: + type: string + x-stoplight: + id: ebh7zp82o6qpv + userInfo: + $ref: '#/components/schemas/UserInfoMap' + x-stoplight: + id: bw6b8aak6crqa + description: 'This is a map, every key-value here is a field published in the identity-schema.' + required: + - requestTime + - request + examples: + Example 1: + value: + requestTime: '2023-11-03T11:03:49.770Z' + request: + username: '85534567890' + password: + consent: AGREE + userInfo: + fullName: + - language: khm + value: អានុសា + phone: '+85534567890' + preferredLang: eng + description: '' + description: |- + Endpoint to register the individual. + + 1. username is with country code including + symbol if present. + 2. if username is phone number, the same should be set as value to "phone" field. + 3. Fields with no value should be set to null in userInfo. + + Note: We should clearly convey that username contains country code in the UI after registration. + parameters: + - schema: + type: string + in: header + name: X-XSRF-TOKEN + description: CSRF token as set in cookie key 'XSRF-TOKEN' + required: true + - schema: + type: string + in: cookie + name: VERIFIED_TRANSACTION_ID + required: true + description: Transaction Id set after successful verify-challenge response + tags: + - UI + x-stoplight: + id: 2hjdhr5el5njr + parameters: [] + /registration/status: + get: + summary: Registration Status Endpoint + operationId: post-register + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + responseTime: + type: string + response: + type: object + properties: + status: + enum: + - PENDING + - COMPLETED + - FAILED + errors: + type: array + description: List of Errors in case of request validation / processing failure in the server. + items: + type: object + properties: + errorCode: + type: string + enum: + - invalid_transaction + - unknown_error + errorMessage: + type: string + examples: + Example 1: + value: + responseTime: '2023-11-03T11:03:49.770Z' + response: + status: COMPLETED + errors: [] + description: |- + Endpoint to get the latest registration/reset-password status. + + 1. validate the verified_transaction id in the cookie. + 2. check status of each handle registered. + 3. Once the status of all the registered handles are in end statuses (Completed / Failed). Mark the + transaction as completed. + 4. Return back the final status in the response. + parameters: + - schema: + type: string + in: header + name: X-XSRF-TOKEN + description: CSRF token as set in cookie key 'XSRF-TOKEN' + required: true + - schema: + type: string + in: cookie + name: VERIFIED_TRANSACTION_ID + required: true + description: Transaction Id set after successful verify-challenge response + tags: + - UI + x-stoplight: + id: f83mjjhr29d8z + parameters: [] + /reset-password: + post: + summary: Reset password Endpoint + tags: + - UI + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + responseTime: + type: string + x-stoplight: + id: oesr14znkgxnw + response: + type: object + x-stoplight: + id: 9gx157knc8xe2 + properties: + status: + x-stoplight: + id: f17mmip9h7a5a + enum: + - PENDING + - COMPLETED + errors: + type: array + x-stoplight: + id: hz6for7qtg0y6 + items: + x-stoplight: + id: 2l3a666l3hed8 + type: object + properties: + errorCode: + x-stoplight: + id: d5ly4w4i5a8aa + enum: + - invalid_transaction + - invalid_identifier + - invalid_password + - invalid_request + - reset_pwd_failed + errorMessage: + type: string + x-stoplight: + id: zqebmmry73gxy + operationId: post-reset-password + x-stoplight: + id: ic8n8i7m96tvl + parameters: + - schema: + type: string + in: header + name: X-XSRF-TOKEN + description: CSRF token as set in cookie key 'XSRF-TOKEN' + required: true + - schema: + type: string + in: cookie + name: VERIFIED_TRANSACTION_ID + description: Transaction Id set after successful verify-challenge response + required: true + description: |- + Endpoint to reset password for already registered users. + + + 1. TransactionId from the cookie is validated. + 2. identifier in the request MUST match the identifier stored in the cache. + 3. Retrieve the identity from credential-service using the identifier. + 4. Fetch the uin from the retrieved identity and use to call the updateIdentity endpoint. + 5. Generate password hash for the provided new password. + 6. On success, return status as PENDING + 7. In Failure, response is set to null, errors list if set with specific errorCode. + + registration/status endpoint should be invoked to get the latest status of the pwd reset. + requestBody: + content: + application/json: + schema: + type: object + properties: + requestTime: + type: string + x-stoplight: + id: 05a45dp4282wo + pattern: 'yyyy-MM-dd''T''HH:mm:ss.SSS''Z''' + request: + type: object + x-stoplight: + id: mw927li066y7f + required: + - identifier + - password + properties: + identifier: + type: string + x-stoplight: + id: 184hr98bqti3v + password: + type: string + x-stoplight: + id: y75gs4yzdny5v + required: + - requestTime + - request +components: + schemas: + ChallengeInfo: + title: ChallengeInfo + x-stoplight: + id: 1cxfyt0ociff1 + type: object + description: Model to take any type of challenge from the end user as part of challenge verification request. + properties: + challenge: + type: string + description: Actual challenge as string. + format: + type: string + description: Format of the challenge provided. + enum: + - alpha-numeric + - base64url-encoded-json + type: + x-stoplight: + id: 5lsvuy0xzgdpz + enum: + - OTP + - KBA + required: + - challenge + - format + - type + UIConfigMap: + title: UIConfigMap + x-stoplight: + id: pk5oh6iydw2yh + type: object + description: Key-value pairs as configured in signup server. + properties: + identifier.pattern: + type: string + x-stoplight: + id: llcziowwj2mfd + identifier.prefix: + type: string + x-stoplight: + id: 47u2d5zweee4d + captcha.site.key: + type: string + x-stoplight: + id: xvn49kydbuquu + otp.length: + type: integer + x-stoplight: + id: fmxu53wvcnn89 + otp.secret: + type: boolean + x-stoplight: + id: clq6lawdiv5sw + password.pattern: + type: string + x-stoplight: + id: dsivqz0j2tec3 + challenge.timeout: + type: integer + x-stoplight: + id: hl1xr862urmzg + resend.attempts: + type: integer + x-stoplight: + id: ddzr0dfoo7xpf + resend.delay: + type: integer + x-stoplight: + id: 6zqk5k8obbg4k + fullname.pattern: + type: string + x-stoplight: + id: tds566ujtgj31 + status.request.delay: + type: integer + x-stoplight: + id: buol713i6pwca + status.request.limit: + type: integer + x-stoplight: + id: 17xix5t5uge6v + popup.timeout: + type: integer + x-stoplight: + id: 6nw3a7652i2mg + identifier.allowed.characters: + type: string + x-stoplight: + id: 29v2qkp06py17 + identifier.length.min: + type: integer + x-stoplight: + id: 3hgr9nb7b3fjw + identifier.length.max: + type: integer + x-stoplight: + id: t7obingp65qhb + fullname.allowed.characters: + type: string + x-stoplight: + id: qs19oxiqrmj8j + fullname.length.min: + type: integer + x-stoplight: + id: co1zde4lrl3fm + fullname.length.max: + type: integer + x-stoplight: + id: 1rbn24q5q4bmy + otp.blocked: + type: integer + x-stoplight: + id: vtr8ejovybza2 + description: 'Number of seconds, a mobile number will not be allowed to register.' + UserInfoMap: + title: UserInfoMap + x-stoplight: + id: oe9bf8m3cbwss + type: object + properties: + fullName: + type: array + x-stoplight: + id: jnhmr1s98zhfe + items: + $ref: '#/components/schemas/LanguageTaggedValue' + x-stoplight: + id: juwn8o1k46pcp + phone: + type: string + x-stoplight: + id: spbzxvu35010m + preferredLang: + type: string + x-stoplight: + id: zxlxymcghj2wf + required: + - fullName + - phone + LanguageTaggedValue: + title: LanguageTaggedValue + x-stoplight: + id: rgmh1nwfow2b8 + type: object + properties: + language: + type: string + x-stoplight: + id: gkxsnfwr3v5ns + value: + type: string + x-stoplight: + id: xigy4a1i683u0 + securitySchemes: + Authorization-Bearer: + type: http + scheme: bearer +tags: + - name: UI + description: UI related API. From 6abaad49729ac8439707d495777935177c10f7da Mon Sep 17 00:00:00 2001 From: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> Date: Fri, 23 Feb 2024 18:21:47 +0530 Subject: [PATCH 39/63] Update values.yaml Signed-off-by: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> --- helm/signup-service/values.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/helm/signup-service/values.yaml b/helm/signup-service/values.yaml index 7553ed90..37b115f4 100644 --- a/helm/signup-service/values.yaml +++ b/helm/signup-service/values.yaml @@ -127,10 +127,10 @@ resources: # lines, adjust them as necessary, and remove the curly braces after 'resources:'. limits: cpu: 500m - memory: 2250Mi + memory: 3000Mi requests: - cpu: 100m - memory: 1500Mi + cpu: 500m + memory: 3000Mi additionalResources: ## Specify any JAVA_OPTS string here. These typically will be specified in conjunction with above resources From 7b358f2b53dfb95eaa8c782e4603806364af0bb0 Mon Sep 17 00:00:00 2001 From: techno-467 Date: Thu, 29 Feb 2024 17:02:22 +0530 Subject: [PATCH 40/63] [DSD-4738] eSignet v1.3.0 release changes Signed-off-by: techno-467 --- helm/signup-service/Chart.yaml | 2 +- helm/signup-service/install.sh | 4 ++-- helm/signup-service/values.yaml | 4 ++-- helm/signup-ui/Chart.yaml | 2 +- helm/signup-ui/install.sh | 2 +- helm/signup-ui/values.yaml | 4 ++-- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/helm/signup-service/Chart.yaml b/helm/signup-service/Chart.yaml index 394c38c4..eb586635 100644 --- a/helm/signup-service/Chart.yaml +++ b/helm/signup-service/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: signup description: A Helm chart for DGTDept signup-service module type: application -version: 1.0.1 +version: 1.0.0 appVersion: "" dependencies: - name: common diff --git a/helm/signup-service/install.sh b/helm/signup-service/install.sh index f9175493..a666d7a3 100755 --- a/helm/signup-service/install.sh +++ b/helm/signup-service/install.sh @@ -7,13 +7,13 @@ if [ $# -ge 1 ] ; then fi SOFTHSM_NS=softhsm -SOFTHSM_CHART_VERSION=12.0.2 +SOFTHSM_CHART_VERSION=12.0.1-B2 echo Create $SOFTHSM_NS namespace kubectl create ns $SOFTHSM_NS NS=signup -CHART_VERSION=1.0.1 +CHART_VERSION=1.0.0 SIGNUP_HOST=$(kubectl get cm global -o jsonpath={.data.mosip-signup-host}) diff --git a/helm/signup-service/values.yaml b/helm/signup-service/values.yaml index 37b115f4..a337c12b 100644 --- a/helm/signup-service/values.yaml +++ b/helm/signup-service/values.yaml @@ -52,8 +52,8 @@ service: image: registry: docker.io - repository: mosipqa/signup-service - tag: release-1.x.x + repository: mosipid/signup-service + tag: release-1.0.0 ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images diff --git a/helm/signup-ui/Chart.yaml b/helm/signup-ui/Chart.yaml index 799422c8..a5e1d476 100644 --- a/helm/signup-ui/Chart.yaml +++ b/helm/signup-ui/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: signup-ui description: A Helm chart for DGTDept SIGNUP UI module type: application -version: 1.0.1 +version: 1.0.0 appVersion: "" dependencies: - name: common diff --git a/helm/signup-ui/install.sh b/helm/signup-ui/install.sh index ac071db2..ed869075 100755 --- a/helm/signup-ui/install.sh +++ b/helm/signup-ui/install.sh @@ -7,7 +7,7 @@ if [ $# -ge 1 ] ; then fi NS=signup -CHART_VERSION=1.0.1 +CHART_VERSION=1.0.0 echo Create $NS namespace kubectl create ns $NS diff --git a/helm/signup-ui/values.yaml b/helm/signup-ui/values.yaml index 2ef18075..9247d2ce 100755 --- a/helm/signup-ui/values.yaml +++ b/helm/signup-ui/values.yaml @@ -51,8 +51,8 @@ service: image: registry: docker.io - repository: mosipqa/signup-ui - tag: 1.x.x + repository: mosipid/signup-ui + tag: 1.0.0 ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' From fef0aa3ca228c833d49256a334edd4db0de81b25 Mon Sep 17 00:00:00 2001 From: techno-467 Date: Thu, 29 Feb 2024 18:06:50 +0530 Subject: [PATCH 41/63] [DSD-4738] eSignet v1.3.0 release changes Signed-off-by: techno-467 --- .github/workflows/push-trigger.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/push-trigger.yml b/.github/workflows/push-trigger.yml index 9aadb84d..573dcd77 100644 --- a/.github/workflows/push-trigger.yml +++ b/.github/workflows/push-trigger.yml @@ -38,6 +38,7 @@ jobs: sonar_analysis: needs: build-maven-signup-service + if: "${{ github.event_name != 'pull_request' }}" uses: mosip/kattu/.github/workflows/maven-sonar-analysis.yml@master with: SERVICE_LOCATION: 'signup-service' From 832d347700534e207814173186c13bb182bf7431 Mon Sep 17 00:00:00 2001 From: Chandra Keshav Mishra Date: Thu, 29 Feb 2024 18:17:43 +0530 Subject: [PATCH 42/63] Release changes (#90) * Updated Pom versions for release changes Signed-off-by: GitHub * Update pom.xml Signed-off-by: Praful Rakhade <99539100+Prafulrakhade@users.noreply.github.com> --------- Signed-off-by: GitHub Signed-off-by: Praful Rakhade <99539100+Prafulrakhade@users.noreply.github.com> Co-authored-by: Prafulrakhade Co-authored-by: Praful Rakhade <99539100+Prafulrakhade@users.noreply.github.com> --- pom.xml | 2 +- signup-service/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 0665c0c0..2ba28665 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ 4.0.0 io.mosip.signup signup-parent - 1.0.0-SNAPSHOT + 1.0.0 pom esignet-signup Parent project of MOSIP e-Signet diff --git a/signup-service/pom.xml b/signup-service/pom.xml index 44211a91..b19c7a67 100644 --- a/signup-service/pom.xml +++ b/signup-service/pom.xml @@ -15,7 +15,7 @@ io.mosip.signup signup-service - 1.0.0-SNAPSHOT + 1.0.0 signup-service Sign Up Service https://github.com/DGTDept/esignet-signup From eabbfd1a58b07b600b1556484f964a1ee928250e Mon Sep 17 00:00:00 2001 From: Praful Rakhade <99539100+Prafulrakhade@users.noreply.github.com> Date: Wed, 13 Mar 2024 12:02:04 +0530 Subject: [PATCH 43/63] Update values.yaml (#97) Signed-off-by: Praful Rakhade <99539100+Prafulrakhade@users.noreply.github.com> --- helm/signup-service/values.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/signup-service/values.yaml b/helm/signup-service/values.yaml index a337c12b..c5c96700 100644 --- a/helm/signup-service/values.yaml +++ b/helm/signup-service/values.yaml @@ -53,7 +53,7 @@ service: image: registry: docker.io repository: mosipid/signup-service - tag: release-1.0.0 + tag: 1.0.0 ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images From 94847f7a6a1362a02bd1c6b5f0cb7dd65cf8017f Mon Sep 17 00:00:00 2001 From: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> Date: Thu, 14 Mar 2024 11:54:07 +0530 Subject: [PATCH 44/63] [DSD-4738]Updated keycloak-init.sh (#99) Signed-off-by: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> --- helm/signup-service/keycloak-init.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helm/signup-service/keycloak-init.sh b/helm/signup-service/keycloak-init.sh index 80166785..2d7ef435 100755 --- a/helm/signup-service/keycloak-init.sh +++ b/helm/signup-service/keycloak-init.sh @@ -7,7 +7,7 @@ if [ $# -ge 1 ] ; then fi NS=signup -CHART_VERSION=12.0.1-B2 +CHART_VERSION=12.0.1 COPY_UTIL=./copy_cm_func.sh helm repo add mosip https://mosip.github.io/mosip-helm From 25f9843beaed9684b5fa52c9b0de7c93002e1abe Mon Sep 17 00:00:00 2001 From: Rakshith B <79500257+Rakshithb1@users.noreply.github.com> Date: Thu, 14 Mar 2024 17:32:24 +0530 Subject: [PATCH 45/63] [DSD-4738] Updated install-all.sh (#102) * [DSD-4738] Updated install-all.sh Signed-off-by: Rakshith B <79500257+Rakshithb1@users.noreply.github.com> * [DSD-4738] Updated delete-all.sh Signed-off-by: Rakshith B <79500257+Rakshithb1@users.noreply.github.com> * [DSD-4738] Updated restart-all.sh Signed-off-by: Rakshith B <79500257+Rakshithb1@users.noreply.github.com> --------- Signed-off-by: Rakshith B <79500257+Rakshithb1@users.noreply.github.com> --- helm/delete-all.sh | 4 ++-- helm/install-all.sh | 2 +- helm/restart-all.sh | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/helm/delete-all.sh b/helm/delete-all.sh index e713d14a..3f338a74 100755 --- a/helm/delete-all.sh +++ b/helm/delete-all.sh @@ -13,7 +13,7 @@ function Deleting_All() { helm -n $SOFTHSM_NS delete softhsm-signup - declare -a module=("signup" + declare -a module=("signup-service" "signup-ui" ) @@ -35,4 +35,4 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errtrace # trace ERR through 'time command' and other functions set -o pipefail # trace ERR through pipes -Deleting_All # calling function \ No newline at end of file +Deleting_All # calling function diff --git a/helm/install-all.sh b/helm/install-all.sh index a229d89e..8b424c1d 100755 --- a/helm/install-all.sh +++ b/helm/install-all.sh @@ -13,7 +13,7 @@ function installing_All() { helm repo add mosip https://mosip.github.io/mosip-helm helm repo update - declare -a module=("signup" + declare -a module=("signup-service" "signup-ui" ) diff --git a/helm/restart-all.sh b/helm/restart-all.sh index f88f5c12..467f53c3 100755 --- a/helm/restart-all.sh +++ b/helm/restart-all.sh @@ -10,7 +10,7 @@ fi function Restarting_All() { ROOT_DIR=`pwd` - declare -a module=("signup" + declare -a module=("signup-service" "signup-ui" ) @@ -32,4 +32,4 @@ set -o errexit ## set -e : exit the script if any statement returns a non-true set -o nounset ## set -u : exit the script if you try to use an uninitialised variable set -o errtrace # trace ERR through 'time command' and other functions set -o pipefail # trace ERR through pipes -Restarting_All # calling function \ No newline at end of file +Restarting_All # calling function From a875135cdab918da9e200d7faad150dc4ae2c75d Mon Sep 17 00:00:00 2001 From: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> Date: Wed, 17 Apr 2024 18:56:17 +0530 Subject: [PATCH 46/63] Update copy_cm.sh Signed-off-by: Rakshitha650 <76676196+Rakshitha650@users.noreply.github.com> --- helm/signup-ui/copy_cm.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/helm/signup-ui/copy_cm.sh b/helm/signup-ui/copy_cm.sh index ac43caac..87fb95c4 100755 --- a/helm/signup-ui/copy_cm.sh +++ b/helm/signup-ui/copy_cm.sh @@ -7,7 +7,6 @@ function copying_cm() { DST_NS=signup $COPY_UTIL configmap global default $DST_NS - $COPY_UTIL configmap artifactory-share artifactory $DST_NS $COPY_UTIL configmap config-server-share config-server $DST_NS $COPY_UTIL configmap softhsm-esignet-share softhsm $DST_NS return 0 From 5172572488a9108b22f11bc252ceb7e1868febc5 Mon Sep 17 00:00:00 2001 From: techno-467 Date: Tue, 23 Apr 2024 11:04:18 +0530 Subject: [PATCH 47/63] [DSD-5073] 1.0.1 release changes Signed-off-by: techno-467 --- helm/signup-service/Chart.yaml | 2 +- helm/signup-service/install.sh | 4 ++-- helm/signup-service/values.yaml | 2 +- helm/signup-ui/Chart.yaml | 2 +- helm/signup-ui/copy_cm.sh | 1 - helm/signup-ui/install.sh | 2 +- helm/signup-ui/values.yaml | 2 +- pom.xml | 2 +- signup-service/pom.xml | 2 +- 9 files changed, 9 insertions(+), 10 deletions(-) diff --git a/helm/signup-service/Chart.yaml b/helm/signup-service/Chart.yaml index eb586635..394c38c4 100644 --- a/helm/signup-service/Chart.yaml +++ b/helm/signup-service/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: signup description: A Helm chart for DGTDept signup-service module type: application -version: 1.0.0 +version: 1.0.1 appVersion: "" dependencies: - name: common diff --git a/helm/signup-service/install.sh b/helm/signup-service/install.sh index a666d7a3..e9dd7230 100755 --- a/helm/signup-service/install.sh +++ b/helm/signup-service/install.sh @@ -7,13 +7,13 @@ if [ $# -ge 1 ] ; then fi SOFTHSM_NS=softhsm -SOFTHSM_CHART_VERSION=12.0.1-B2 +SOFTHSM_CHART_VERSION=12.0.1 echo Create $SOFTHSM_NS namespace kubectl create ns $SOFTHSM_NS NS=signup -CHART_VERSION=1.0.0 +CHART_VERSION=1.0.1 SIGNUP_HOST=$(kubectl get cm global -o jsonpath={.data.mosip-signup-host}) diff --git a/helm/signup-service/values.yaml b/helm/signup-service/values.yaml index c5c96700..533bde97 100644 --- a/helm/signup-service/values.yaml +++ b/helm/signup-service/values.yaml @@ -53,7 +53,7 @@ service: image: registry: docker.io repository: mosipid/signup-service - tag: 1.0.0 + tag: 1.0.1 ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' ## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images diff --git a/helm/signup-ui/Chart.yaml b/helm/signup-ui/Chart.yaml index a5e1d476..799422c8 100644 --- a/helm/signup-ui/Chart.yaml +++ b/helm/signup-ui/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: signup-ui description: A Helm chart for DGTDept SIGNUP UI module type: application -version: 1.0.0 +version: 1.0.1 appVersion: "" dependencies: - name: common diff --git a/helm/signup-ui/copy_cm.sh b/helm/signup-ui/copy_cm.sh index ac43caac..87fb95c4 100755 --- a/helm/signup-ui/copy_cm.sh +++ b/helm/signup-ui/copy_cm.sh @@ -7,7 +7,6 @@ function copying_cm() { DST_NS=signup $COPY_UTIL configmap global default $DST_NS - $COPY_UTIL configmap artifactory-share artifactory $DST_NS $COPY_UTIL configmap config-server-share config-server $DST_NS $COPY_UTIL configmap softhsm-esignet-share softhsm $DST_NS return 0 diff --git a/helm/signup-ui/install.sh b/helm/signup-ui/install.sh index ed869075..ac071db2 100755 --- a/helm/signup-ui/install.sh +++ b/helm/signup-ui/install.sh @@ -7,7 +7,7 @@ if [ $# -ge 1 ] ; then fi NS=signup -CHART_VERSION=1.0.0 +CHART_VERSION=1.0.1 echo Create $NS namespace kubectl create ns $NS diff --git a/helm/signup-ui/values.yaml b/helm/signup-ui/values.yaml index 9247d2ce..4f7543b4 100755 --- a/helm/signup-ui/values.yaml +++ b/helm/signup-ui/values.yaml @@ -52,7 +52,7 @@ service: image: registry: docker.io repository: mosipid/signup-ui - tag: 1.0.0 + tag: 1.0.1 ## Specify a imagePullPolicy ## Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' diff --git a/pom.xml b/pom.xml index 2ba28665..4e4b441e 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ 4.0.0 io.mosip.signup signup-parent - 1.0.0 + 1.0.1-SNAPSHOT pom esignet-signup Parent project of MOSIP e-Signet diff --git a/signup-service/pom.xml b/signup-service/pom.xml index b19c7a67..b41af416 100644 --- a/signup-service/pom.xml +++ b/signup-service/pom.xml @@ -15,7 +15,7 @@ io.mosip.signup signup-service - 1.0.0 + 1.0.1-SNAPSHOT signup-service Sign Up Service https://github.com/DGTDept/esignet-signup From ecbbc92be12518465145feef5d75464da39ba1a6 Mon Sep 17 00:00:00 2001 From: techno-467 Date: Tue, 23 Apr 2024 14:16:32 +0530 Subject: [PATCH 48/63] [DSD-5073] Signed-off-by: techno-467 --- helm/signup-ui/copy_cm.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/helm/signup-ui/copy_cm.sh b/helm/signup-ui/copy_cm.sh index 87fb95c4..ac43caac 100755 --- a/helm/signup-ui/copy_cm.sh +++ b/helm/signup-ui/copy_cm.sh @@ -7,6 +7,7 @@ function copying_cm() { DST_NS=signup $COPY_UTIL configmap global default $DST_NS + $COPY_UTIL configmap artifactory-share artifactory $DST_NS $COPY_UTIL configmap config-server-share config-server $DST_NS $COPY_UTIL configmap softhsm-esignet-share softhsm $DST_NS return 0 From 2e5e28d171fff7bb0380f406d5ae542be3fe6f39 Mon Sep 17 00:00:00 2001 From: Chandra Keshav Mishra Date: Tue, 23 Apr 2024 18:01:55 +0530 Subject: [PATCH 49/63] Release changes (#127) * Updated Pom versions for release changes Signed-off-by: GitHub * Update pom.xml Signed-off-by: Praful Rakhade <99539100+Prafulrakhade@users.noreply.github.com> --------- Signed-off-by: GitHub Signed-off-by: Praful Rakhade <99539100+Prafulrakhade@users.noreply.github.com> Co-authored-by: Prafulrakhade Co-authored-by: Praful Rakhade <99539100+Prafulrakhade@users.noreply.github.com> --- pom.xml | 2 +- signup-service/pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index 4e4b441e..18ae9944 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ 4.0.0 io.mosip.signup signup-parent - 1.0.1-SNAPSHOT + 1.0.1 pom esignet-signup Parent project of MOSIP e-Signet diff --git a/signup-service/pom.xml b/signup-service/pom.xml index b41af416..e009f1ce 100644 --- a/signup-service/pom.xml +++ b/signup-service/pom.xml @@ -15,7 +15,7 @@ io.mosip.signup signup-service - 1.0.1-SNAPSHOT + 1.0.1 signup-service Sign Up Service https://github.com/DGTDept/esignet-signup From 85b1134da22466bc1d323e7fe91955d2296ccdc6 Mon Sep 17 00:00:00 2001 From: Balaji Alluru <74903654+balaji-alluru@users.noreply.github.com> Date: Fri, 3 May 2024 19:16:02 +0530 Subject: [PATCH 50/63] [ES-1125] Cherrypicked fixes from develop to release-1.0.x (#134) * ES-782 (#70) Signed-off-by: pr Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * DSD-4457 (#72) * fix cookie without secure code Signed-off-by: mengleang-ngoun * fix code bug Signed-off-by: mengleang-ngoun * update sonar ignore on getChache Signed-off-by: mengleang-ngoun * fix null on message Signed-off-by: mengleang-ngoun --------- Signed-off-by: mengleang-ngoun Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * ES 802 (#76) * Signup service - Changes required in Async notification calls Signed-off-by: mengleang-ngoun * throw exception and add test case Signed-off-by: mengleang-ngoun --------- Signed-off-by: mengleang-ngoun Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * ES-973 (#77) Signed-off-by: pr Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * Error message when multiple user attempting to register with same identifier simultaneously should be changed to user friendly message. Signed-off-by: Sreang Rathanak Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * ES-789 (#79) * add local in request header Signed-off-by: mengleang-ngoun Signed-off-by: Mengleang Signed-off-by: mengleang-0090 Signed-off-by: mengleang-0090 * update wording Signed-off-by: mengleang-ngoun Signed-off-by: Mengleang Signed-off-by: mengleang-0090 Signed-off-by: mengleang-0090 * resolve conflict Signed-off-by: mengleang-0090 * update test case Signed-off-by: mengleang-ngoun Signed-off-by: Mengleang Signed-off-by: mengleang-0090 Signed-off-by: mengleang-0090 * move locale into registration request Signed-off-by: Mengleang Signed-off-by: mengleang-0090 Signed-off-by: mengleang-0090 * front end move locale into request body Signed-off-by: Mengleang Signed-off-by: mengleang-0090 Signed-off-by: mengleang-0090 * Issues with cached methods found during redis integration fixed (#68) Signed-off-by: ase-101 * move locale to req body in Reset password endpoint Signed-off-by: mengleang-0090 * handle locale registerRequest and resetPasswordRequest null Signed-off-by: mengleang-0090 * convert 2 to 3 langCode Signed-off-by: mengleang-0090 * remove locale from header Signed-off-by: mengleang-0090 --------- Signed-off-by: mengleang-ngoun Signed-off-by: Mengleang Signed-off-by: mengleang-0090 Signed-off-by: mengleang-0090 Signed-off-by: ase-101 Co-authored-by: Mengleang Co-authored-by: ase-101 Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * Error message when identifier blocked in the UI can be revised Signed-off-by: Sreang Rathanak Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ES-831] [ES-833] Fixed: Error messages are not getting disappeared for below scenarios. Fixed: Otp text boxes are not aligned properly when Otp length is increased 8 Signed-off-by: GurukiranP Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ES-791] Fixed: User preferred/selected language is not retained during redirection. Signed-off-by: GurukiranP Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * Error message when Username preceded with 0 is not as per story requirements. Signed-off-by: Sreang Rathanak Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * fix: fix breaking words Signed-off-by: Bunsy Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * fix: fix retry button not working Signed-off-by: Bunsy Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * fix: reload fully on some devices only Signed-off-by: bunsy-0900 Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ES-833] Fixed: Otp text box alignment issue on reset password page. Signed-off-by: GurukiranP Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * Move the language related files to artifactory for signup UI Signed-off-by: Sreang Rathanak Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ES-863] Signed-off-by: Venkata Saidurga Polamraju Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ES-855, ES-856] Updated stoplight API documentation (#96) Signed-off-by: Balaji Alluru <74903654+balaji-alluru@users.noreply.github.com> Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * Fix signup UI build fail (#98) * Fix fail build Signed-off-by: Sreang Rathanak * Fix fail build Signed-off-by: Sreang Rathanak --------- Signed-off-by: Sreang Rathanak Co-authored-by: Sreang Rathanak Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * ES-839: fix color Signed-off-by: pr Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * fix: change favicon Signed-off-by: Bunsy Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * fix: change lang flow Signed-off-by: Bunsy Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * ES-741: disable tooltips in sign up form Signed-off-by: pr Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * ES-741: disable tooltips in sign-up and reset-password forms Signed-off-by: pr Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * improve test coverage (#108) Signed-off-by: mengleang-0090 Signed-off-by: ase-101 Co-authored-by: ase-101 Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * ES-793 scenario 2 (#110) Signed-off-by: pr Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ES-851] [ES-831] Allowing the user to re-enter the captcha when resend otp is clicked if mosip.signup.send-challenge.captcha-required is enabled true. Clearing the error messages in some scenarios Signed-off-by: GurukiranP Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * ES-857 (#113) * ES-886 Signed-off-by: pr * ES-890 Signed-off-by: pr * ES-887 Signed-off-by: pr * ES-884 Signed-off-by: pr * ES-888 Signed-off-by: pr * ES-885 Signed-off-by: pr * ES-892 Signed-off-by: pr * resolve comment Signed-off-by: pr --------- Signed-off-by: pr Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ES-832] Fixed: Mobile- Number keypad should be rendered when user navigates to Otp screen. Signed-off-by: GurukiranP Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * Move theme based file to artifactory-ref-impl repo for esignet-signup-ui Signed-off-by: Sreang Rathanak Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ES-832] Removed secret attribute from otp pin input. Signed-off-by: GurukiranP Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ADDED] id & name in signup page component Signed-off-by: Zeeshan Mehboob Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ADDED] id & name in landing page component Signed-off-by: Zeeshan Mehboob Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ADDED] id & name in reset pwd page component Signed-off-by: Zeeshan Mehboob Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ADDED] id & name in common & icons component Signed-off-by: Zeeshan Mehboob Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * ES-785 (#121) Signed-off-by: Sreang Rathanak Co-authored-by: Sreang Rathanak Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * ES-1069 Signed-off-by: pr Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ES-831]: Fixed the issue where the error message in still retaining in signup flow. Signed-off-by: GurukiranP Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ADDED] copy paste in input field Signed-off-by: Zeeshan Mehboob Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ES-833]: Fixed the issue for iPhone15+ where Otp text boxes are not aligned properly when Otp length is increased 8. Signed-off-by: GurukiranP Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ES-833]: Fixed the issue for iPhone15+ where Otp text boxes are not aligned properly when Otp length is increased 8. Signed-off-by: GurukiranP Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ES-856]Update esignet-signup-openapi.yaml Signed-off-by: Balaji Alluru <74903654+balaji-alluru@users.noreply.github.com> * Update esignet-signup-openapi.yaml Signed-off-by: Balaji Alluru <74903654+balaji-alluru@users.noreply.github.com> * [MOSIP-31575] Updated docker file. (#118) * [MOSIP-31575] Updated docker file. Signed-off-by: abhishek8shankar <127825992+abhishek8shankar@users.noreply.github.com> * [MOSIP-31575] Updated docker file. Signed-off-by: abhishek8shankar <127825992+abhishek8shankar@users.noreply.github.com> * [MOSIP-31575] Updated docker file. Signed-off-by: abhishek8shankar <127825992+abhishek8shankar@users.noreply.github.com> * Update push-trigger.yml Signed-off-by: abhishek8shankar <127825992+abhishek8shankar@users.noreply.github.com> * [MOSIP-31575] Updated docker file. Signed-off-by: abhishek8shankar <127825992+abhishek8shankar@users.noreply.github.com> * Update push-trigger.yml Signed-off-by: abhishek8shankar <127825992+abhishek8shankar@users.noreply.github.com> * Update push-trigger.yml Signed-off-by: abhishek8shankar <127825992+abhishek8shankar@users.noreply.github.com> --------- Signed-off-by: abhishek8shankar <127825992+abhishek8shankar@users.noreply.github.com> * Updated release pom versions Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * [ES-1125] Updated pom file Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> --------- Signed-off-by: pr Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> Signed-off-by: mengleang-ngoun Signed-off-by: Sreang Rathanak Signed-off-by: Mengleang Signed-off-by: mengleang-0090 Signed-off-by: mengleang-0090 Signed-off-by: ase-101 Signed-off-by: GurukiranP Signed-off-by: Bunsy Signed-off-by: bunsy-0900 Signed-off-by: Venkata Saidurga Polamraju Signed-off-by: Balaji Alluru <74903654+balaji-alluru@users.noreply.github.com> Signed-off-by: Zeeshan Mehboob Signed-off-by: abhishek8shankar <127825992+abhishek8shankar@users.noreply.github.com> Co-authored-by: panharith-0118 <148301211+panharith-0118@users.noreply.github.com> Co-authored-by: mengleang-0090 <148198934+mengleang-0090@users.noreply.github.com> Co-authored-by: Sreang Rathanak Co-authored-by: Mengleang Co-authored-by: ase-101 Co-authored-by: GurukiranP Co-authored-by: Bunsy Co-authored-by: bunsy-0900 Co-authored-by: Venkata Saidurga Polamraju Co-authored-by: rathanak-0080 <148197234+rathanak-0080@users.noreply.github.com> Co-authored-by: pr Co-authored-by: Zeeshan Mehboob Co-authored-by: abhishek8shankar <127825992+abhishek8shankar@users.noreply.github.com> --- docs/esignet-signup-openapi.yaml | 703 +- pom.xml | 2 +- signup-service/Dockerfile | 50 +- signup-service/pom.xml | 8 +- .../java/io/mosip/signup/config/Config.java | 28 + .../controllers/RegistrationController.java | 1 - .../controllers/ResetPasswordController.java | 54 + .../signup/controllers/SignUpController.java | 35 - .../signup/dto/GenerateChallengeRequest.java | 2 +- .../io/mosip/signup/dto/RegisterRequest.java | 4 + .../signup/dto/ResetPasswordRequest.java | 4 + .../signup/helper/NotificationHelper.java | 34 +- .../signup/services/CacheUtilService.java | 17 +- .../services/ChallengeManagerService.java | 7 +- .../GoogleRecaptchaValidatorService.java | 3 +- .../signup/services/RegistrationService.java | 72 +- .../io/mosip/signup/util/ErrorConstants.java | 1 + .../signup/validator/LanguageValidator.java | 2 +- .../resources/application-default.properties | 11 +- .../RegistrationControllerTest.java | 15 +- .../ResetPasswordControllerTest.java | 264 + .../controllers/SignUpControllerTest.java | 230 - .../services/RegistrationServiceTest.java | 355 +- signup-ui/.env | 1 + signup-ui/Dockerfile | 24 + signup-ui/configure_start.sh | 42 + signup-ui/package-lock.json | 47591 +++++++++++----- signup-ui/package.json | 3 + signup-ui/public/env-config.js | 4 + signup-ui/public/favicon.ico | Bin 3870 -> 1150 bytes signup-ui/public/index.html | 4 +- signup-ui/public/locales/default.json | 15 + signup-ui/public/locales/en.json | 11 +- signup-ui/public/locales/km.json | 11 +- signup-ui/public/manifest.json | 4 +- signup-ui/public/theme-config.js | 3 + signup-ui/public/theme/variables.css | 72 + signup-ui/src/App.css | 134 +- signup-ui/src/App.tsx | 62 +- signup-ui/src/components/language.tsx | 51 +- signup-ui/src/components/ui/input.tsx | 1 + signup-ui/src/constants/devices.ts | 1 + signup-ui/src/constants/language.ts | 16 - .../src/pages/LandingPage/LandingPage.tsx | 7 +- .../src/pages/ResetPasswordPage/Otp/Otp.tsx | 68 +- .../ResetPassword/ResetPassword.tsx | 12 + .../ResetPasswordConfirmation.tsx | 2 +- .../ResetPasswordConfirmationLayout.tsx | 2 +- .../ResetPasswordPage/ResetPasswordPage.tsx | 2 +- .../ResetPasswordPopover.tsx | 14 +- .../ResetPasswordPage/UserInfo/UserInfo.tsx | 20 +- .../AccountRegistrationStatusLayout.tsx | 2 +- .../SignUpPage/AccountSetup/AccountSetup.tsx | 14 + .../components/TermsAndPrivacyModal.tsx | 2 +- signup-ui/src/pages/SignUpPage/Otp/Otp.tsx | 79 +- .../src/pages/SignUpPage/Phone/Phone.tsx | 33 +- .../SignUpPage/PhoneStatus/PhoneStatus.tsx | 7 +- signup-ui/src/pages/SignUpPage/SignUpPage.tsx | 2 +- .../src/pages/SignUpPage/SignUpPopover.tsx | 2 + .../src/pages/SignUpPage/useSignUpStore.tsx | 14 + signup-ui/src/pages/shared/mutations.ts | 18 +- signup-ui/src/pages/shared/service.ts | 18 +- signup-ui/src/pages/shared/validation.ts | 3 - signup-ui/src/resources.d.ts | 2 + signup-ui/src/services/i18n.service.ts | 3 - signup-ui/src/services/langConfig.service.ts | 33 + signup-ui/src/typings/types.ts | 5 +- signup-ui/src/useLanguageStore.tsx | 86 + signup-ui/src/utils/input.ts | 9 +- signup-ui/src/utils/language.ts | 4 +- 70 files changed, 33635 insertions(+), 16780 deletions(-) create mode 100644 signup-service/src/main/java/io/mosip/signup/config/Config.java create mode 100644 signup-service/src/main/java/io/mosip/signup/controllers/ResetPasswordController.java create mode 100644 signup-service/src/test/java/io/mosip/signup/controllers/ResetPasswordControllerTest.java create mode 100644 signup-ui/.env create mode 100755 signup-ui/configure_start.sh create mode 100644 signup-ui/public/locales/default.json create mode 100644 signup-ui/public/theme-config.js create mode 100644 signup-ui/public/theme/variables.css create mode 100644 signup-ui/src/constants/devices.ts delete mode 100644 signup-ui/src/constants/language.ts create mode 100644 signup-ui/src/services/langConfig.service.ts create mode 100644 signup-ui/src/useLanguageStore.tsx diff --git a/docs/esignet-signup-openapi.yaml b/docs/esignet-signup-openapi.yaml index 8b3d6373..b31460ba 100644 --- a/docs/esignet-signup-openapi.yaml +++ b/docs/esignet-signup-openapi.yaml @@ -1,25 +1,31 @@ openapi: 3.1.0 x-stoplight: - id: t9tvfbteqqokf + id: l36f6e80xmxu6 info: - title: e-Signet Signup Portal APIs version: '1.0' + title: e-Signet Signup Portal APIs + summary: Signup portal for e-Signet one-login system. + description: 'Signup portal for e-Signet one-login system.' contact: name: MOSIP Team email: info@mosip.io url: 'https://www.mosip.io/' - description: '' license: - name: MPL-2.0 url: 'https://www.mozilla.org/en-US/MPL/2.0/' - summary: Signup portal for e-Signet one-login system. + name: MPL-2.0 servers: - url: 'https://camdgc-dev.mosip.net/v1/signup' paths: /settings: get: + tags: + - UI summary: UI Settings Endpoint - operationId: getdetails + description: |- + Endpoint to get the configurations required by the signup UI. + + All these UI configurations should be taken from the configurations. + operationId: get-details responses: '200': description: OK @@ -30,13 +36,13 @@ paths: properties: responseTime: type: string + format: date-time + description: Current date and time when the request is sent response: type: object properties: configs: $ref: '#/components/schemas/UIConfigMap' - x-stoplight: - id: q1iltvghi3nda description: Its key-value pairs of ui configuration. errors: type: @@ -53,96 +59,41 @@ paths: examples: Example 1: value: - responseTime: string + responseTime: '2011-10-05T14:48:00.000Z' response: configs: - identifier.pattern: string - identifier.prefix: string - captcha.site.key: string - otp.length: 0 + identifier.pattern: '^\\+855[1-9]\\d{7,8}$' + identifier.prefix: '+855' + captcha.site.key: '6LeFAAAAAMaOuSNQxj3VDbERZcyc_1UO_9xT' + otp.length: 6 otp.secret: true - password.pattern: string - challenge.timeout: 0 - resend.attempts: 0 - resend.delay: 0 - fullname.pattern: string - status.request.delay: 0 - status.request.limit: 0 - popup.timeout: 0 - identifier.allowed.characters: string - identifier.length.min: 0 - identifier.length.max: 0 - fullname.allowed.characters: string - fullname.length.min: 0 - fullname.length.max: 0 - otp.blocked: 0 + password.pattern: '^(?\u003d.*[0-9])(?\u003d.{8,20})[a-zA-Z0-9\\x5F\\W]{8,20}$' + challenge.timeout: 30 + resend.attempts: 4 + resend.delay: 30 + fullname.pattern: '^[\\u1780-\\u17FF\\u19E0-\\u19FF\\u1A00-\\u1A9F\\u0020]{1,30}$' + status.request.delay: 20 + status.request.limit: 10 + popup.timeout: 50 + identifier.allowed.characters: '^[0-9]+' + identifier.length.min: 8 + identifier.length.max: 9 + fullname.allowed.characters: '^[\\u1780-\\u17FF\\u19E0-\\u19FF\\u1A00-\\u1A9F\\u0020]' + fullname.length.min: 1 + fullname.length.max: 30 + otp.blocked: 120 errors: - errorCode: string errorMessage: string - description: |- - Endpoint to get the configurations required by the signup UI. - - All these UI configurations should be taken from the configurations. - parameters: [] - tags: - - UI + servers: + - url: 'https://camdgc-dev.mosip.net/v1/signup' x-stoplight: - id: qi15z7zd0mza1 - parameters: [] + id: iqwzualbyfy72 /registration/generate-challenge: post: + tags: + - UI summary: Generate Challenge Endpoint - operationId: post-send-otp - responses: - '200': - description: OK - content: - application/json: - schema: - type: object - properties: - responseTime: - type: string - response: - type: object - description: 'If successful otp details, or null if failed to deliver OTP.' - properties: - status: - description: Transaction Identifier. - x-stoplight: - id: fyp7gfgdwq7s1 - enum: - - SUCCESS - errors: - type: array - description: List of Errors in case of request validation / processing failure in the server. - items: - type: object - properties: - errorCode: - type: string - enum: - - invalid_transaction - - invalid_otp_channel - - invalid_captcha - - send_otp_failed - - active_otp_found - - unknown_error - errorMessage: - type: string - examples: - Example 1: - value: - responseTime: '2023-11-03T11:03:30.000Z' - response: - status: SUCCESS - errors: [] - headers: - set-cookie: - schema: - type: string - example: 'Set-Cookie: TRANSACTION_ID=2GFKHGAEyyx6lEhB4ObBzpPuaTrTlKy3BK0Izl3taug; Max-Age=600; Secure; HttpOnly' - description: Transaction Id is set in the cookie description: |- Endpoint to generate challenge for the input identifier of the user. For eg: if the provided identifier is phone number, OTP is sent to phone. If the identifier is email, OTP is mailed to the given emailID. @@ -156,7 +107,16 @@ paths: 5. if regenerate is true, then a valid transactionId is excepted in the cookie to re-generate the challenge in the existing transaction. 6. Purpose of the challenge is set on starting of new transaction. Challenge generated for "Registration" should be used only for registration process. And challenge generated for RESET_PASSWORD should be used only to reset password. + operationId: post-send-otp + parameters: + - name: X-XSRF-TOKEN + in: header + description: CSRF token as set in cookie key 'XSRF-TOKEN' + required: true + schema: + type: string requestBody: + description: '' content: application/json: schema: @@ -164,74 +124,51 @@ paths: properties: requestTime: type: string - pattern: 'yyyy-MM-dd''T''HH:mm:ss.SSS''Z''' + format: date-time + description: Current date and time when the request is sent request: type: object - required: - - identifier - - captchaToken - - purpose properties: identifier: type: string - x-stoplight: - id: bpjm48g2v7kvq - description: Phone number to which the OTP should be triggered. + description: A unique Identifier against which a challange can be generated for verification. Ex. Phonenumber captchaToken: type: string description: 'Captcha token, if enabled.' locale: type: string - x-stoplight: - id: dm6k0lxwgywoi description: |- Locale to be used to send the challege in the notification to the user. If not provided default notification language is considered. regenerate: type: boolean - x-stoplight: - id: 2lzyacd68vmbl description: |- True - when we should resend the challenge for existing transaction. False - when a new transaction has to be started. Default value is False. purpose: - x-stoplight: - id: x576z7k9ocx77 + type: string enum: - REGISTRATION - RESET_PASSWORD description: Marks the purpose of this challenge in the transaction. + required: + - identifier + - captchaToken + - purpose required: - requestTime - request examples: Example 1: value: - requestTime: string + requestTime: '2011-10-05T14:48:00.000Z' request: - identifier: string - captchaToken: string - locale: string + identifier: '+8557357xxxxx' + captchaToken: 'asdncjdnsdchd' + locale: 'eng' regenerate: true purpose: REGISTRATION - description: '' - parameters: - - schema: - type: string - in: header - name: X-XSRF-TOKEN - description: CSRF token as set in cookie key 'XSRF-TOKEN' - required: true - tags: - - UI - x-stoplight: - id: vxqpd5jfxa7fw - parameters: [] - /registration/verify-challenge: - post: - summary: Challenge Verification Endpoint - operationId: post-verify-challenge responses: '200': description: OK @@ -242,18 +179,18 @@ paths: properties: responseTime: type: string + format: date-time + description: Current date and time when the request is sent response: type: object + description: 'If successful otp details, or null if failed to deliver OTP.' properties: status: + const: SUCCESS description: Transaction Identifier. - x-stoplight: - id: b4isdjm5vgn3w - enum: - - SUCCESS errors: type: array - description: List of Errors in case of request validation / processing failure in Idp server. + description: List of Errors in case of request validation / processing failure in the server. items: type: object properties: @@ -261,17 +198,17 @@ paths: type: string enum: - invalid_transaction - - challenge_failed - - invalid_challenge_type - - invalid_challenge_format + - invalid_otp_channel + - invalid_captcha + - send_otp_failed + - active_otp_found - unknown_error - - already-registered errorMessage: type: string examples: Example 1: value: - responseTime: '2023-11-03T11:03:49.770Z' + responseTime: '2023-11-03T11:03:30.000Z' response: status: SUCCESS errors: [] @@ -279,8 +216,44 @@ paths: set-cookie: schema: type: string - description: Verified transaction Id to be set after successful challenge verification + example: 'Set-Cookie: TRANSACTION_ID=2GFKHGAEyyx6lEhB4ObBzpPuaTrTlKy3BK0Izl3taug; Max-Age=600; Secure; HttpOnly' + description: Transaction Id is set in the cookie + servers: + - url: 'https://camdgc-dev.mosip.net/v1/signup' + x-stoplight: + id: k52hhc2a9v6hm + /registration/verify-challenge: + post: + tags: + - UI + summary: Challenge Verification Endpoint + description: |- + Endpoint to verify with the provided challenge w.r.t the transaction ID. + + 1. TransactionId from the cookie is validated. + 2. validate the challenge. + 3. identifier in the request MUST match the identifier stored in the cache. + 3. On success, return status as SUCCESS + 4. In Failure, response is set to null, errors list if set with specific errorCode. + + TransactionId and setting the same in the new cookie, post successful challenge verification. + Old cookie is removed by setting age to 0. + operationId: post-verify-challenge + parameters: + - name: X-XSRF-TOKEN + in: header + description: CSRF token as set in cookie key 'XSRF-TOKEN' + required: true + schema: + type: string + - name: TRANSACTION_ID + in: cookie + description: Transaction Id set after successful generate-challenge response + required: true + schema: + type: string requestBody: + description: '' content: application/json: schema: @@ -288,72 +261,35 @@ paths: properties: requestTime: type: string - pattern: 'yyyy-MM-dd''T''HH:mm:ss.SSS''Z''' + format: date-time + description: Current date and time when the request is sent request: type: object - required: - - identifier - - challengeInfo properties: identifier: type: string - x-stoplight: - id: g9ujmewgchhvx + description: A unique Identifier against which a challange can be generated for verification. Ex. Phonenumber challengeInfo: - x-stoplight: - id: d7jg9njcc0hsz type: array items: $ref: '#/components/schemas/ChallengeInfo' - x-stoplight: - id: qzu8tg3w7mpdi + description: List of Challenges generated + required: + - identifier + - challengeInfo required: - requestTime - request examples: Example 1: value: - requestTime: string + requestTime: '2011-10-05T14:48:00.000Z' request: identifier: string challengeInfo: - challenge: string format: alpha-numeric type: OTP - description: '' - description: |- - Endpoint to verify with the provided challenge w.r.t the transaction ID. - - 1. TransactionId from the cookie is validated. - 2. validate the challenge. - 3. identifier in the request MUST match the identifier stored in the cache. - 3. On success, return status as SUCCESS - 4. In Failure, response is set to null, errors list if set with specific errorCode. - - TransactionId and setting the same in the new cookie, post successful challenge verification. - Old cookie is removed by setting age to 0. - parameters: - - schema: - type: string - in: header - name: X-XSRF-TOKEN - description: CSRF token as set in cookie key 'XSRF-TOKEN' - required: true - - schema: - type: string - in: cookie - name: TRANSACTION_ID - description: Transaction Id set after successful generate-challenge response - required: true - tags: - - UI - x-stoplight: - id: 5w1jlgm2nd3vi - parameters: [] - /registration/register: - post: - summary: Register Endpoint - operationId: post-register responses: '200': description: OK @@ -364,18 +300,17 @@ paths: properties: responseTime: type: string + format: date-time + description: Current date and time when the request is sent response: type: object properties: status: - x-stoplight: - id: pkkk1t229lfzw - enum: - - PENDING - - COMPLETED + const: SUCCESS + description: Status of challenge verification. errors: type: array - description: List of Errors in case of request validation / processing failure in the server. + description: List of Errors in case of request validation / processing failure in Idp server. items: type: object properties: @@ -383,8 +318,11 @@ paths: type: string enum: - invalid_transaction + - challenge_failed + - invalid_challenge_type + - invalid_challenge_format - unknown_error - - invalid_transaction + - already-registered errorMessage: type: string examples: @@ -392,9 +330,46 @@ paths: value: responseTime: '2023-11-03T11:03:49.770Z' response: - status: PENDING + status: SUCCESS errors: [] + headers: + set-cookie: + schema: + type: string + description: Verified transaction Id to be set after successful challenge verification + servers: + - url: 'https://camdgc-dev.mosip.net/v1/signup' + x-stoplight: + id: yk3rilzb5ovjh + /registration/register: + post: + tags: + - UI + summary: Register Endpoint + description: |- + Endpoint to register the individual. + + 1. username is with country code including + symbol if present. + 2. if username is phone number, the same should be set as value to "phone" field. + 3. Fields with no value should be set to null in userInfo. + + Note: We should clearly convey that username contains country code in the UI after registration. + operationId: post-register + parameters: + - name: X-XSRF-TOKEN + in: header + description: CSRF token as set in cookie key 'XSRF-TOKEN' + required: true + schema: + type: string + - name: VERIFIED_TRANSACTION_ID + in: cookie + description: Transaction Id set after successful verify-challenge response + required: true + schema: + type: string requestBody: + description: '' content: application/json: schema: @@ -402,33 +377,28 @@ paths: properties: requestTime: type: string - pattern: 'yyyy-MM-dd''T''HH:mm:ss.SSS''Z''' + format: date-time + description: Current date and time when the request is sent request: type: object - required: - - username - - password - - consent - - userInfo properties: username: type: string - x-stoplight: - id: 6q8do7w32x0jw description: Unique identifier to be registered. password: type: string - x-stoplight: - id: mr6yhobogq9mr + description: Password associated with the username consent: type: string - x-stoplight: - id: ebh7zp82o6qpv + description: Consent to store the user info. userInfo: $ref: '#/components/schemas/UserInfoMap' - x-stoplight: - id: bw6b8aak6crqa description: 'This is a map, every key-value here is a field published in the identity-schema.' + required: + - username + - password + - consent + - userInfo required: - requestTime - request @@ -446,37 +416,6 @@ paths: value: អានុសា phone: '+85534567890' preferredLang: eng - description: '' - description: |- - Endpoint to register the individual. - - 1. username is with country code including + symbol if present. - 2. if username is phone number, the same should be set as value to "phone" field. - 3. Fields with no value should be set to null in userInfo. - - Note: We should clearly convey that username contains country code in the UI after registration. - parameters: - - schema: - type: string - in: header - name: X-XSRF-TOKEN - description: CSRF token as set in cookie key 'XSRF-TOKEN' - required: true - - schema: - type: string - in: cookie - name: VERIFIED_TRANSACTION_ID - required: true - description: Transaction Id set after successful verify-challenge response - tags: - - UI - x-stoplight: - id: 2hjdhr5el5njr - parameters: [] - /registration/status: - get: - summary: Registration Status Endpoint - operationId: post-register responses: '200': description: OK @@ -487,14 +426,17 @@ paths: properties: responseTime: type: string + format: date-time + description: Current date and time when the request is sent response: type: object properties: status: + type: string enum: - PENDING - COMPLETED - - FAILED + description: Status of registration errors: type: array description: List of Errors in case of request validation / processing failure in the server. @@ -513,8 +455,17 @@ paths: value: responseTime: '2023-11-03T11:03:49.770Z' response: - status: COMPLETED + status: PENDING errors: [] + servers: + - url: 'https://camdgc-dev.mosip.net/v1/signup' + x-stoplight: + id: tto4uhnfs5fce + /registration/status: + get: + tags: + - UI + summary: Registration Status Endpoint description: |- Endpoint to get the latest registration/reset-password status. @@ -523,29 +474,20 @@ paths: 3. Once the status of all the registered handles are in end statuses (Completed / Failed). Mark the transaction as completed. 4. Return back the final status in the response. + operationId: get-registration-status parameters: - - schema: - type: string + - name: X-XSRF-TOKEN in: header - name: X-XSRF-TOKEN description: CSRF token as set in cookie key 'XSRF-TOKEN' required: true - - schema: + schema: type: string + - name: VERIFIED_TRANSACTION_ID in: cookie - name: VERIFIED_TRANSACTION_ID - required: true description: Transaction Id set after successful verify-challenge response - tags: - - UI - x-stoplight: - id: f83mjjhr29d8z - parameters: [] - /reset-password: - post: - summary: Reset password Endpoint - tags: - - UI + required: true + schema: + type: string responses: '200': description: OK @@ -556,57 +498,47 @@ paths: properties: responseTime: type: string - x-stoplight: - id: oesr14znkgxnw + format: date-time + description: Current date and time when the request is sent response: type: object - x-stoplight: - id: 9gx157knc8xe2 properties: status: - x-stoplight: - id: f17mmip9h7a5a + type: string enum: - PENDING - COMPLETED + - FAILED + description: Status of registration errors: type: array - x-stoplight: - id: hz6for7qtg0y6 + description: List of Errors in case of request validation / processing failure in the server. items: - x-stoplight: - id: 2l3a666l3hed8 type: object properties: errorCode: - x-stoplight: - id: d5ly4w4i5a8aa + type: string enum: - invalid_transaction - - invalid_identifier - - invalid_password - - invalid_request - - reset_pwd_failed + - unknown_error errorMessage: type: string - x-stoplight: - id: zqebmmry73gxy - operationId: post-reset-password + examples: + Example 1: + value: + responseTime: '2023-11-03T11:03:49.770Z' + response: + status: COMPLETED + errors: [] + servers: + - url: 'https://camdgc-dev.mosip.net/v1/signup' x-stoplight: - id: ic8n8i7m96tvl - parameters: - - schema: - type: string - in: header - name: X-XSRF-TOKEN - description: CSRF token as set in cookie key 'XSRF-TOKEN' - required: true - - schema: - type: string - in: cookie - name: VERIFIED_TRANSACTION_ID - description: Transaction Id set after successful verify-challenge response - required: true + id: e94ykanhb9w47 + /reset-password: + post: + tags: + - UI + summary: Reset password Endpoint description: |- Endpoint to reset password for already registered users. @@ -620,6 +552,20 @@ paths: 7. In Failure, response is set to null, errors list if set with specific errorCode. registration/status endpoint should be invoked to get the latest status of the pwd reset. + operationId: post-reset-password + parameters: + - name: X-XSRF-TOKEN + in: header + description: CSRF token as set in cookie key 'XSRF-TOKEN' + required: true + schema: + type: string + - name: VERIFIED_TRANSACTION_ID + in: cookie + description: Transaction Id set after successful verify-challenge response + required: true + schema: + type: string requestBody: content: application/json: @@ -628,187 +574,166 @@ paths: properties: requestTime: type: string - x-stoplight: - id: 05a45dp4282wo - pattern: 'yyyy-MM-dd''T''HH:mm:ss.SSS''Z''' + format: date-time + description: Current date and time when the request is sent request: type: object - x-stoplight: - id: mw927li066y7f - required: - - identifier - - password properties: identifier: type: string - x-stoplight: - id: 184hr98bqti3v password: type: string - x-stoplight: - id: y75gs4yzdny5v + required: + - identifier + - password required: - requestTime - request + responses: + '200': + description: OK + content: + application/json: + schema: + type: object + properties: + responseTime: + type: string + format: date-time + description: Current date and time when the request is sent + response: + type: object + properties: + status: + type: string + enum: + - PENDING + - COMPLETED + errors: + type: array + items: + type: object + properties: + errorCode: + type: string + enum: + - invalid_transaction + - invalid_identifier + - invalid_password + - invalid_request + - reset_pwd_failed + errorMessage: + type: string + servers: + - url: 'https://camdgc-dev.mosip.net/v1/signup' + x-stoplight: + id: z0mw2fe1c4r2s +tags: + - name: UI + description: UI related API. components: + securitySchemes: + Authorization-Bearer: + type: http + scheme: bearer schemas: - ChallengeInfo: - title: ChallengeInfo - x-stoplight: - id: 1cxfyt0ociff1 - type: object - description: Model to take any type of challenge from the end user as part of challenge verification request. - properties: - challenge: - type: string - description: Actual challenge as string. - format: - type: string - description: Format of the challenge provided. - enum: - - alpha-numeric - - base64url-encoded-json - type: - x-stoplight: - id: 5lsvuy0xzgdpz - enum: - - OTP - - KBA - required: - - challenge - - format - - type UIConfigMap: - title: UIConfigMap - x-stoplight: - id: pk5oh6iydw2yh type: object + title: UIConfigMap description: Key-value pairs as configured in signup server. properties: identifier.pattern: type: string - x-stoplight: - id: llcziowwj2mfd identifier.prefix: type: string - x-stoplight: - id: 47u2d5zweee4d captcha.site.key: type: string - x-stoplight: - id: xvn49kydbuquu otp.length: type: integer - x-stoplight: - id: fmxu53wvcnn89 otp.secret: type: boolean - x-stoplight: - id: clq6lawdiv5sw password.pattern: type: string - x-stoplight: - id: dsivqz0j2tec3 challenge.timeout: type: integer - x-stoplight: - id: hl1xr862urmzg resend.attempts: type: integer - x-stoplight: - id: ddzr0dfoo7xpf resend.delay: type: integer - x-stoplight: - id: 6zqk5k8obbg4k fullname.pattern: type: string - x-stoplight: - id: tds566ujtgj31 status.request.delay: type: integer - x-stoplight: - id: buol713i6pwca status.request.limit: type: integer - x-stoplight: - id: 17xix5t5uge6v popup.timeout: type: integer - x-stoplight: - id: 6nw3a7652i2mg identifier.allowed.characters: type: string - x-stoplight: - id: 29v2qkp06py17 identifier.length.min: type: integer - x-stoplight: - id: 3hgr9nb7b3fjw identifier.length.max: type: integer - x-stoplight: - id: t7obingp65qhb fullname.allowed.characters: type: string - x-stoplight: - id: qs19oxiqrmj8j fullname.length.min: type: integer - x-stoplight: - id: co1zde4lrl3fm fullname.length.max: type: integer - x-stoplight: - id: 1rbn24q5q4bmy otp.blocked: type: integer - x-stoplight: - id: vtr8ejovybza2 description: 'Number of seconds, a mobile number will not be allowed to register.' - UserInfoMap: - title: UserInfoMap x-stoplight: - id: oe9bf8m3cbwss + id: clomx4fbeh96t + ChallengeInfo: type: object + title: ChallengeInfo + description: Model to take any type of challenge from the end user as part of challenge verification request. + properties: + challenge: + type: string + description: Actual challenge as string. + format: + type: string + enum: + - alpha-numeric + - base64url-encoded-json + description: Format of the challenge provided. + type: + type: string + enum: + - OTP + - KBA + required: + - challenge + - format + - type + x-stoplight: + id: e2mi1vwfjee9m + UserInfoMap: + type: object + title: UserInfoMap properties: fullName: type: array - x-stoplight: - id: jnhmr1s98zhfe items: $ref: '#/components/schemas/LanguageTaggedValue' - x-stoplight: - id: juwn8o1k46pcp phone: type: string - x-stoplight: - id: spbzxvu35010m preferredLang: type: string - x-stoplight: - id: zxlxymcghj2wf required: - fullName - phone - LanguageTaggedValue: - title: LanguageTaggedValue x-stoplight: - id: rgmh1nwfow2b8 + id: fb0hz6wfdi42d + LanguageTaggedValue: type: object + title: LanguageTaggedValue properties: language: type: string - x-stoplight: - id: gkxsnfwr3v5ns value: type: string - x-stoplight: - id: xigy4a1i683u0 - securitySchemes: - Authorization-Bearer: - type: http - scheme: bearer -tags: - - name: UI - description: UI related API. + x-stoplight: + id: 81kwphp9rhbt1 diff --git a/pom.xml b/pom.xml index 18ae9944..ca72cad4 100644 --- a/pom.xml +++ b/pom.xml @@ -14,7 +14,7 @@ 4.0.0 io.mosip.signup signup-parent - 1.0.1 + 1.0.2-SNAPSHOT pom esignet-signup Parent project of MOSIP e-Signet diff --git a/signup-service/Dockerfile b/signup-service/Dockerfile index d35a043c..225696dd 100644 --- a/signup-service/Dockerfile +++ b/signup-service/Dockerfile @@ -9,55 +9,27 @@ LABEL commit_hash=${COMMIT_HASH} LABEL commit_id=${COMMIT_ID} LABEL build_time=${BUILD_TIME} -# can be passed during Docker build as build time environment for github branch to pickup configuration from. -ARG spring_config_label - -# can be passed during Docker build as build time environment for spring profiles active +# can be passed during Docker build as build time environment for github branch to pickup configuration from | spring profiles active | config server URL | glowroot and artifactory URL respectively . +ARG spring_config_label ARG active_profile - -# can be passed during Docker build as build time environment for config server URL -ARG spring_config_url - -# can be passed during Docker build as build time environment for glowroot +ARG spring_config_url ARG is_glowroot - -# can be passed during Docker build as build time environment for artifactory URL ARG artifactory_url -# environment variable to pass active profile such as DEV, QA etc at docker runtime +# environment variable to pass active profile such as DEV, QA etc at docker runtime | github branch to pickup configuration from, at docker runtime | spring configuration url, at docker runtime | glowroot, at docker runtime | artifactory url, at docker runtime and iam_adapter url, at docker runtime, respectively. ENV active_profile_env=${active_profile} - -# environment variable to pass github branch to pickup configuration from, at docker runtime ENV spring_config_label_env=${spring_config_label} - -# environment variable to pass spring configuration url, at docker runtime ENV spring_config_url_env=${spring_config_url} - -# environment variable to pass glowroot, at docker runtime ENV is_glowroot_env=${is_glowroot} - -# environment variable to pass artifactory url, at docker runtime ENV artifactory_url_env=${artifactory_url} +ENV iam_adapter_url_env=${iam_adapter_url} # can be passed during Docker build as build time environment for github branch to pickup configuration from. ARG container_user=mosip - -# can be passed during Docker build as build time environment for github branch to pickup configuration from. ARG container_user_group=mosip - -# can be passed during Docker build as build time environment for github branch to pickup configuration from. ARG container_user_uid=1001 - -# can be passed during Docker build as build time environment for github branch to pickup configuration from. ARG container_user_gid=1001 -# install packages and create user -RUN apt-get -y update \ -&& apt-get install -y unzip file sudo \ -&& groupadd -g ${container_user_gid} ${container_user_group} \ -&& useradd -u ${container_user_uid} -g ${container_user_group} -s /bin/sh -m ${container_user} \ -&& adduser ${container_user} sudo - # set working directory for the user WORKDIR /home/${container_user} @@ -65,14 +37,18 @@ ENV work_dir=/home/${container_user} ARG loader_path=${work_dir}/additional_jars/ -RUN mkdir -p ${loader_path} - ENV loader_path_env=${loader_path} COPY ./target/signup-service-*.jar signup-service.jar -# change permissions of file inside working dir -RUN chown -R ${container_user}:${container_user} /home/${container_user} +## install packages, create user and change permissions of file inside working dir +RUN apt-get -y update \ +&& apt-get install -y unzip file sudo \ +&& groupadd -g ${container_user_gid} ${container_user_group} \ +&& useradd -u ${container_user_uid} -g ${container_user_group} -s /bin/sh -m ${container_user} \ +&& adduser ${container_user} sudo \ +&& mkdir -p ${loader_path} \ +&& chown -R ${container_user}:${container_user} /home/${container_user} # select container user for all tasks USER ${container_user_uid}:${container_user_gid} diff --git a/signup-service/pom.xml b/signup-service/pom.xml index e009f1ce..b682ad11 100644 --- a/signup-service/pom.xml +++ b/signup-service/pom.xml @@ -15,7 +15,7 @@ io.mosip.signup signup-service - 1.0.1 + 1.0.2-SNAPSHOT signup-service Sign Up Service https://github.com/DGTDept/esignet-signup @@ -115,7 +115,7 @@ io.mosip.esignet esignet-core - 1.3.0-SNAPSHOT + 1.4.1-SNAPSHOT org.springframework.boot @@ -142,7 +142,7 @@ org.bitbucket.b_c jose4j - 0.9.3 + 0.9.4 org.springframework.boot @@ -172,7 +172,7 @@ io.mosip.esignet esignet-integration-api - 1.3.0-SNAPSHOT + 1.4.1-SNAPSHOT org.mockito diff --git a/signup-service/src/main/java/io/mosip/signup/config/Config.java b/signup-service/src/main/java/io/mosip/signup/config/Config.java new file mode 100644 index 00000000..6c88acc6 --- /dev/null +++ b/signup-service/src/main/java/io/mosip/signup/config/Config.java @@ -0,0 +1,28 @@ +package io.mosip.signup.config; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; + +import java.util.concurrent.Executor; + +@Configuration +public class Config { + + @Value("${mosip.signup.task.core.pool.size:20}") + private int taskCorePoolSize; + + @Value("${mosip.signup.task.max.pool.size:20}") + private int taskMaxPoolSize; + + @Bean + public Executor taskExecutor() { + ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor(); + executor.setCorePoolSize(taskCorePoolSize); + executor.setMaxPoolSize(taskMaxPoolSize); + executor.setThreadNamePrefix("MOSIP-SIGNUP-Async-Thread-"); + executor.initialize(); + return executor; + } +} diff --git a/signup-service/src/main/java/io/mosip/signup/controllers/RegistrationController.java b/signup-service/src/main/java/io/mosip/signup/controllers/RegistrationController.java index 3a9475e3..768c9c7c 100644 --- a/signup-service/src/main/java/io/mosip/signup/controllers/RegistrationController.java +++ b/signup-service/src/main/java/io/mosip/signup/controllers/RegistrationController.java @@ -73,7 +73,6 @@ public ResponseWrapper verifyChallenge(@Valid @RequestB } - @Timed(value = "register.timer", percentiles = {0.95, 0.99}) @PostMapping("/register") public ResponseWrapper register(@Valid @RequestBody RequestWrapper requestWrapper, @Valid @NotBlank(message = ErrorConstants.INVALID_TRANSACTION) diff --git a/signup-service/src/main/java/io/mosip/signup/controllers/ResetPasswordController.java b/signup-service/src/main/java/io/mosip/signup/controllers/ResetPasswordController.java new file mode 100644 index 00000000..3571941e --- /dev/null +++ b/signup-service/src/main/java/io/mosip/signup/controllers/ResetPasswordController.java @@ -0,0 +1,54 @@ +package io.mosip.signup.controllers; + + +import io.micrometer.core.annotation.Timed; +import io.mosip.esignet.core.dto.RequestWrapper; +import io.mosip.esignet.core.dto.ResponseWrapper; +import io.mosip.esignet.core.util.IdentityProviderUtil; +import io.mosip.signup.dto.RegistrationStatusResponse; +import io.mosip.signup.dto.ResetPasswordRequest; +import io.mosip.signup.dto.SettingsResponse; +import io.mosip.signup.exception.SignUpException; +import io.mosip.signup.helper.AuditHelper; +import io.mosip.signup.services.RegistrationService; +import io.mosip.signup.util.AuditEvent; +import io.mosip.signup.util.AuditEventType; +import io.mosip.signup.util.ErrorConstants; +import io.mosip.signup.util.SignUpConstants; +import lombok.extern.slf4j.Slf4j; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import javax.validation.constraints.NotBlank; +import java.util.Map; + +import static io.mosip.signup.util.SignUpConstants.EMTPY; + +@Slf4j +@RestController +public class ResetPasswordController { + + @Autowired + RegistrationService registrationService; + + @Autowired + AuditHelper auditHelper; + + @PostMapping("/reset-password") + public ResponseWrapper resetPassword(@Valid @RequestBody RequestWrapper requestWrapper, + @Valid @NotBlank(message = ErrorConstants.INVALID_TRANSACTION) + @CookieValue(value = SignUpConstants.VERIFIED_TRANSACTION_ID, defaultValue = EMTPY) String transactionId){ + ResponseWrapper responseWrapper = new ResponseWrapper<>(); + try{ + responseWrapper.setResponse(registrationService.updatePassword(requestWrapper.getRequest(), transactionId)); + }catch (SignUpException signUpException){ + auditHelper.sendAuditTransaction(AuditEvent.RESET_PASSWORD, AuditEventType.ERROR, transactionId, signUpException); + throw signUpException; + } + auditHelper.sendAuditTransaction(AuditEvent.RESET_PASSWORD, AuditEventType.SUCCESS, transactionId, null); + responseWrapper.setResponseTime(IdentityProviderUtil.getUTCDateTime()); + return responseWrapper; + } +} diff --git a/signup-service/src/main/java/io/mosip/signup/controllers/SignUpController.java b/signup-service/src/main/java/io/mosip/signup/controllers/SignUpController.java index ee177671..7b264891 100644 --- a/signup-service/src/main/java/io/mosip/signup/controllers/SignUpController.java +++ b/signup-service/src/main/java/io/mosip/signup/controllers/SignUpController.java @@ -1,36 +1,18 @@ package io.mosip.signup.controllers; - -import io.micrometer.core.annotation.Timed; -import io.mosip.esignet.core.dto.RequestWrapper; import io.mosip.esignet.core.dto.ResponseWrapper; import io.mosip.esignet.core.util.IdentityProviderUtil; import io.mosip.signup.dto.*; -import io.mosip.signup.exception.SignUpException; -import io.mosip.signup.helper.AuditHelper; -import io.mosip.signup.services.RegistrationService; -import io.mosip.signup.util.*; import lombok.extern.slf4j.Slf4j; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.*; -import javax.validation.Valid; -import javax.validation.constraints.NotBlank; import java.util.Map; -import static io.mosip.signup.util.SignUpConstants.EMTPY; - @Slf4j @RestController public class SignUpController { - @Autowired - RegistrationService registrationService; - - @Autowired - AuditHelper auditHelper; - @Value("#{${mosip.signup.ui.config.key-values}}") private Map signUpUIConfigMap; @@ -43,21 +25,4 @@ public ResponseWrapper getSignUpDetails() { responseWrapper.setResponse(response); return responseWrapper; } - - @Timed(value = "resetpwd.timer", percentiles = {0.95, 0.99}) - @PostMapping("/reset-password") - public ResponseWrapper resetPassword(@Valid @RequestBody RequestWrapper requestWrapper, - @Valid @NotBlank(message = ErrorConstants.INVALID_TRANSACTION) - @CookieValue(value = SignUpConstants.VERIFIED_TRANSACTION_ID, defaultValue = EMTPY) String transactionId){ - ResponseWrapper responseWrapper = new ResponseWrapper<>(); - try{ - responseWrapper.setResponse(registrationService.updatePassword(requestWrapper.getRequest(), transactionId)); - }catch (SignUpException signUpException){ - auditHelper.sendAuditTransaction(AuditEvent.RESET_PASSWORD, AuditEventType.ERROR, transactionId, signUpException); - throw signUpException; - } - auditHelper.sendAuditTransaction(AuditEvent.RESET_PASSWORD, AuditEventType.SUCCESS, transactionId, null); - responseWrapper.setResponseTime(IdentityProviderUtil.getUTCDateTime()); - return responseWrapper; - } } diff --git a/signup-service/src/main/java/io/mosip/signup/dto/GenerateChallengeRequest.java b/signup-service/src/main/java/io/mosip/signup/dto/GenerateChallengeRequest.java index 62e179d8..30170541 100644 --- a/signup-service/src/main/java/io/mosip/signup/dto/GenerateChallengeRequest.java +++ b/signup-service/src/main/java/io/mosip/signup/dto/GenerateChallengeRequest.java @@ -13,7 +13,7 @@ public class GenerateChallengeRequest { private String captchaToken; @Language(required = false) private String locale; - private boolean regenerate; + private boolean regenerateChallenge; @io.mosip.signup.validator.Purpose private Purpose purpose; diff --git a/signup-service/src/main/java/io/mosip/signup/dto/RegisterRequest.java b/signup-service/src/main/java/io/mosip/signup/dto/RegisterRequest.java index 2a0aed12..40ad7a9f 100644 --- a/signup-service/src/main/java/io/mosip/signup/dto/RegisterRequest.java +++ b/signup-service/src/main/java/io/mosip/signup/dto/RegisterRequest.java @@ -1,6 +1,7 @@ package io.mosip.signup.dto; import io.mosip.signup.util.ErrorConstants; +import io.mosip.signup.validator.Language; import io.mosip.signup.validator.Password; import io.mosip.signup.validator.Username; import lombok.Data; @@ -25,4 +26,7 @@ public class RegisterRequest { @NotNull(message = ErrorConstants.INVALID_USERINFO) private @Valid UserInfoMap userInfo; + + @Language(required = false) + private String locale; } diff --git a/signup-service/src/main/java/io/mosip/signup/dto/ResetPasswordRequest.java b/signup-service/src/main/java/io/mosip/signup/dto/ResetPasswordRequest.java index b5c33773..e5c19980 100644 --- a/signup-service/src/main/java/io/mosip/signup/dto/ResetPasswordRequest.java +++ b/signup-service/src/main/java/io/mosip/signup/dto/ResetPasswordRequest.java @@ -1,6 +1,7 @@ package io.mosip.signup.dto; import io.mosip.signup.validator.Identifier; +import io.mosip.signup.validator.Language; import io.mosip.signup.validator.Password; import lombok.Data; @@ -12,4 +13,7 @@ public class ResetPasswordRequest { @Password private String password; + + @Language(required = false) + private String locale; } diff --git a/signup-service/src/main/java/io/mosip/signup/helper/NotificationHelper.java b/signup-service/src/main/java/io/mosip/signup/helper/NotificationHelper.java index 7733131a..cf79a26f 100644 --- a/signup-service/src/main/java/io/mosip/signup/helper/NotificationHelper.java +++ b/signup-service/src/main/java/io/mosip/signup/helper/NotificationHelper.java @@ -16,7 +16,9 @@ import org.springframework.stereotype.Component; import org.springframework.web.client.RestTemplate; +import java.util.Arrays; import java.util.Base64; +import java.util.List; import java.util.Map; import java.util.concurrent.CompletableFuture; @@ -33,18 +35,23 @@ public class NotificationHelper { @Value("${mosip.signup.send-notification.endpoint}") private String sendNotificationEndpoint; + @Value("{${mosip.signup.default-language}") + private String defaultLanguage; - @Async - public CompletableFuture> sendSMSNotificationAsync + @Value("#{${mosip.signup.sms-notification-template.encoded-langcodes}}") + private List encodedLangCodes; + + public RestResponseWrapper sendSMSNotification (String number, String locale, String templateKey, Map params){ - locale = locale != null ? locale : "khm"; - String message = locale.equalsIgnoreCase("eng") ? - environment.getProperty(templateKey + "." + locale) : - new String(Base64.getDecoder().decode(environment.getProperty(templateKey + "." + locale))); + locale = locale != null ? locale : defaultLanguage; - if(params != null){ - for (Map.Entry entry: params.entrySet()){ + String message = encodedLangCodes.contains(locale)? + new String(Base64.getDecoder().decode(environment.getProperty(templateKey + "." + locale))): + environment.getProperty(templateKey + "." + locale); + + if (params != null && message != null) { + for (Map.Entry entry : params.entrySet()) { message = message.replace(entry.getKey(), entry.getValue()); } } @@ -55,10 +62,15 @@ public class NotificationHelper { restRequestWrapper.setRequesttime(IdentityProviderUtil.getUTCDateTime()); restRequestWrapper.setRequest(notificationRequest); - return CompletableFuture.supplyAsync(() -> selfTokenRestTemplate - .exchange(sendNotificationEndpoint, + return selfTokenRestTemplate.exchange(sendNotificationEndpoint, HttpMethod.POST, new HttpEntity<>(restRequestWrapper), - new ParameterizedTypeReference>(){}).getBody()); + new ParameterizedTypeReference>(){}).getBody(); + } + + @Async + public CompletableFuture> sendSMSNotificationAsync + (String number, String locale, String templateKey, Map params){ + return CompletableFuture.supplyAsync(() -> sendSMSNotification(number, locale, templateKey, params)); } } diff --git a/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java b/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java index 8cb2810e..aa673c2d 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/CacheUtilService.java @@ -13,6 +13,7 @@ import org.springframework.stereotype.Service; import java.util.Locale; +import java.util.Objects; @Slf4j @Service @@ -59,39 +60,39 @@ public String setActiveKeyAlias(String key, String alias) { public RegistrationTransaction createUpdateChallengeGeneratedTransaction(String transactionId, RegistrationTransaction registrationTransaction) { - cacheManager.getCache(SignUpConstants.CHALLENGE_GENERATED).put(transactionId, registrationTransaction); + cacheManager.getCache(SignUpConstants.CHALLENGE_GENERATED).put(transactionId, registrationTransaction); //NOSONAR getCache() will not be returning null here. return registrationTransaction; } public void updateStatusCheckTransaction(String transactionId, RegistrationTransaction registrationTransaction) { - cacheManager.getCache(SignUpConstants.STATUS_CHECK).put(transactionId, registrationTransaction); + cacheManager.getCache(SignUpConstants.STATUS_CHECK).put(transactionId, registrationTransaction); //NOSONAR getCache() will not be returning null here. } //---Getter--- public RegistrationTransaction getChallengeGeneratedTransaction(String transactionId) { - return cacheManager.getCache(SignUpConstants.CHALLENGE_GENERATED).get(transactionId, RegistrationTransaction.class); +return cacheManager.getCache(SignUpConstants.CHALLENGE_GENERATED).get(transactionId, RegistrationTransaction.class); //NOSONAR getCache() will not be returning null here. } public RegistrationTransaction getChallengeVerifiedTransaction(String transactionId) { - return cacheManager.getCache(SignUpConstants.CHALLENGE_VERIFIED).get(transactionId, RegistrationTransaction.class); + return cacheManager.getCache(SignUpConstants.CHALLENGE_VERIFIED).get(transactionId, RegistrationTransaction.class); //NOSONAR getCache() will not be returning null here. } public RegistrationTransaction getStatusCheckTransaction(String transactionId) { - return cacheManager.getCache(SignUpConstants.STATUS_CHECK).get(transactionId, RegistrationTransaction.class); + return cacheManager.getCache(SignUpConstants.STATUS_CHECK).get(transactionId, RegistrationTransaction.class); //NOSONAR getCache() will not be returning null here. } public boolean isIdentifierBlocked(String identifier) { String identifierHash = IdentityProviderUtil.generateB64EncodedHash(IdentityProviderUtil.ALGO_SHA3_256, identifier.toLowerCase(Locale.ROOT)); - return cacheManager.getCache(SignUpConstants.BLOCKED_IDENTIFIER).get(identifierHash, String.class) != null; + return cacheManager.getCache(SignUpConstants.BLOCKED_IDENTIFIER).get(identifierHash, String.class) != null; //NOSONAR getCache() will not be returning null here. } public String getSecretKey(String keyAlias) { - return cacheManager.getCache(SignUpConstants.KEYSTORE).get(keyAlias, String.class); + return cacheManager.getCache(SignUpConstants.KEYSTORE).get(keyAlias, String.class); //NOSONAR getCache() will not be returning null here. } public String getActiveKeyAlias() { - return cacheManager.getCache(SignUpConstants.KEY_ALIAS).get(CryptoHelper.ALIAS_CACHE_KEY, String.class); + return cacheManager.getCache(SignUpConstants.KEY_ALIAS).get(CryptoHelper.ALIAS_CACHE_KEY, String.class); //NOSONAR getCache() will not be returning null here. } } diff --git a/signup-service/src/main/java/io/mosip/signup/services/ChallengeManagerService.java b/signup-service/src/main/java/io/mosip/signup/services/ChallengeManagerService.java index 0d98e698..4f25d848 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/ChallengeManagerService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/ChallengeManagerService.java @@ -33,14 +33,13 @@ public class ChallengeManagerService { public String generateChallenge(RegistrationTransaction transaction) throws SignUpException { - switch (supportedGenerateChallengeType) { - case "OTP" : - return generateOTPChallenge(transaction.getChallengeTransactionId()); + if (supportedGenerateChallengeType.equals("OTP")) { + return generateOTPChallenge(transaction.getChallengeTransactionId()); } throw new SignUpException(ErrorConstants.UNSUPPORTED_CHALLENGE_TYPE); } - @Timed(value = "generateotp.api.timer", percentiles = {0.95, 0.99}) + @Timed(value = "generateotp.api.timer", percentiles = {0.9}) private String generateOTPChallenge(String challengeTransactionId) { OtpRequest otpRequest = new OtpRequest(); otpRequest.setKey(challengeTransactionId); diff --git a/signup-service/src/main/java/io/mosip/signup/services/GoogleRecaptchaValidatorService.java b/signup-service/src/main/java/io/mosip/signup/services/GoogleRecaptchaValidatorService.java index fdbb9474..b189a823 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/GoogleRecaptchaValidatorService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/GoogleRecaptchaValidatorService.java @@ -7,7 +7,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; -import org.springframework.context.annotation.Bean; import org.springframework.stereotype.Component; import org.springframework.util.LinkedMultiValueMap; import org.springframework.util.MultiValueMap; @@ -31,7 +30,7 @@ public class GoogleRecaptchaValidatorService implements CaptchaValidator { @Autowired private RestTemplate restTemplate; - @Timed(value = "validatecaptcha.api.timer", percentiles = {0.95, 0.99}) + @Timed(value = "validatecaptcha.api.timer", percentiles = {0.9}) @Override public boolean validateCaptcha(String captchaToken) { diff --git a/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java b/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java index c7979b66..13d1a7be 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java @@ -24,6 +24,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; +import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; import javax.servlet.http.Cookie; @@ -118,6 +119,8 @@ public class RegistrationService { @Value("${mosip.signup.get-registration-status.endpoint}") private String getRegistrationStatusEndpoint; + private final String notificationLogging = "Notification response -> {}"; + /** * Generate and regenerate challenge based on the "regenerate" flag in the request. * if regenerate is false - always creates a new transaction and set-cookie header is sent in the response. @@ -139,7 +142,7 @@ public GenerateChallengeResponse generateChallenge(GenerateChallengeRequest gene if(cacheUtilService.isIdentifierBlocked(identifier)) throw new SignUpException(ErrorConstants.IDENTIFIER_BLOCKED); - if(generateChallengeRequest.isRegenerate() == false) { + if(!generateChallengeRequest.isRegenerateChallenge()) { transactionId = IdentityProviderUtil.createTransactionId(null); transaction = new RegistrationTransaction(identifier, generateChallengeRequest.getPurpose()); //Need to set cookie only when regenerate is false. @@ -162,11 +165,16 @@ public GenerateChallengeResponse generateChallenge(GenerateChallengeRequest gene if(transaction.getChallengeRetryAttempts() > resendAttempts) cacheUtilService.blockIdentifier(transactionId, transaction.getIdentifier(), "blocked"); - notificationHelper.sendSMSNotificationAsync(generateChallengeRequest.getIdentifier(), transaction.getLocale(), - SEND_OTP_SMS_NOTIFICATION_TEMPLATE_KEY, new HashMap<>(){{put("{challenge}", challenge);}}) - .thenAccept(notificationResponseRestResponseWrapper -> { - log.debug("Notification response -> {}", notificationResponseRestResponseWrapper); - }); + HashMap hashMap = new LinkedHashMap<>(); + hashMap.put("{challenge}", challenge); + RestResponseWrapper notificationResponseRest; + try{ + notificationResponseRest = notificationHelper.sendSMSNotification(generateChallengeRequest.getIdentifier(), transaction.getLocale(), + SEND_OTP_SMS_NOTIFICATION_TEMPLATE_KEY, hashMap); + log.debug(notificationLogging, notificationResponseRest); + }catch (RestClientException e){ + throw new SignUpException(ErrorConstants.OTP_NOTIFICATION_FAILED); + } return new GenerateChallengeResponse(ActionStatus.SUCCESS); } @@ -243,11 +251,12 @@ public RegisterResponse register(RegisterRequest registerRequest, String transac transaction.setRegistrationStatus(RegistrationStatus.PENDING); cacheUtilService.setStatusCheckTransaction(transactionId, transaction); - notificationHelper.sendSMSNotificationAsync(registerRequest.getUserInfo().getPhone(), transaction.getLocale(), + String locale = registerRequest.getLocale() == null ? transaction.getLocale() : registerRequest.getLocale(); + + notificationHelper.sendSMSNotificationAsync(registerRequest.getUserInfo().getPhone(), locale, REGISTRATION_SMS_NOTIFICATION_TEMPLATE_KEY, null) - .thenAccept(notificationResponseRestResponseWrapper -> { - log.debug("Notification response -> {}", notificationResponseRestResponseWrapper); - }); + .thenAccept(notificationResponseRestResponseWrapper -> + log.debug(notificationLogging, notificationResponseRestResponseWrapper)); RegisterResponse registration = new RegisterResponse(); registration.setStatus(ActionStatus.PENDING); @@ -255,9 +264,8 @@ public RegisterResponse register(RegisterRequest registerRequest, String transac return registration; } - public RegistrationStatusResponse updatePassword(ResetPasswordRequest resetPasswordRequest, - String transactionId) throws SignUpException{ - + private RegistrationTransaction getTransaction( + ResetPasswordRequest resetPasswordRequest, String transactionId) { log.debug("Transaction {} : start reset password", transactionId); RegistrationTransaction transaction = cacheUtilService.getChallengeVerifiedTransaction(transactionId); if(transaction == null) { @@ -274,7 +282,11 @@ public RegistrationStatusResponse updatePassword(ResetPasswordRequest resetPassw log.error("reset password failed: purpose mismatch in transaction"); throw new SignUpException(ErrorConstants.UNSUPPORTED_PURPOSE); } + return transaction; + } + private RestRequestWrapper getRestRequestWrapper(RegistrationTransaction transaction, String transactionId, + ResetPasswordRequest resetPasswordRequest ) { Identity identity = new Identity(); identity.setUIN(cryptoHelper.symmetricDecrypt(transaction.getUin())); identity.setIDSchemaVersion(idSchemaVersion); @@ -293,7 +305,10 @@ public RegistrationStatusResponse updatePassword(ResetPasswordRequest resetPassw restRequest.setRequesttime(IdentityProviderUtil.getUTCDateTime()); restRequest.setRequest(identityRequest); - log.debug("Transaction {} : start reset password", transactionId); + return restRequest; + } + + private void verifyIdentityResponseForResetPassword(RestRequestWrapper restRequest, String transactionId ) { HttpEntity> resReq = new HttpEntity<>(restRequest); RestResponseWrapper restResponseWrapper = selfTokenRestTemplate.exchange(identityEndpoint, HttpMethod.PATCH, @@ -310,17 +325,27 @@ public RegistrationStatusResponse updatePassword(ResetPasswordRequest resetPassw log.error("Transaction {} : reset password failed with response {}", transactionId, restResponseWrapper); throw new SignUpException(ErrorConstants.RESET_PWD_FAILED); } + } + + public RegistrationStatusResponse updatePassword(ResetPasswordRequest resetPasswordRequest, + String transactionId) throws SignUpException{ + RegistrationTransaction transaction = this.getTransaction(resetPasswordRequest, transactionId); + RestRequestWrapper restRequest = this.getRestRequestWrapper(transaction, transactionId, resetPasswordRequest); + + log.debug("Transaction {} : start reset password", transactionId); + this.verifyIdentityResponseForResetPassword(restRequest, transactionId); transaction.getHandlesStatus().put(getHandleRequestId(transaction.getApplicationId(), "phone", resetPasswordRequest.getIdentifier()), RegistrationStatus.PENDING); transaction.setRegistrationStatus(RegistrationStatus.PENDING); cacheUtilService.setStatusCheckTransaction(transactionId, transaction); - notificationHelper.sendSMSNotificationAsync(resetPasswordRequest.getIdentifier(), transaction.getLocale(), + String locale = resetPasswordRequest.getLocale() == null ? transaction.getLocale() : resetPasswordRequest.getLocale(); + + notificationHelper.sendSMSNotificationAsync(resetPasswordRequest.getIdentifier(), locale, FORGOT_PASSWORD_SMS_NOTIFICATION_TEMPLATE_KEY, null) - .thenAccept(notificationResponseRestResponseWrapper -> { - log.debug("Notification response -> {}", notificationResponseRestResponseWrapper); - }); + .thenAccept(notificationResponseRestResponseWrapper -> + log.debug(notificationLogging, notificationResponseRestResponseWrapper)); RegistrationStatusResponse resetPassword = new RegistrationStatusResponse(); resetPassword.setStatus(RegistrationStatus.PENDING); @@ -445,7 +470,7 @@ private void saveIdentityData(RegisterRequest registerRequest, String transactio identity.setPassword(password); //By default, phone is set as the selected handle. - identity.setSelectedHandles(Arrays.asList("phone")); + identity.setSelectedHandles(List.of("phone")); transaction.getHandlesStatus().put(getHandleRequestId(transaction.getApplicationId(), "phone", userInfoMap.getPhone()), RegistrationStatus.PENDING); @@ -456,7 +481,7 @@ private void saveIdentityData(RegisterRequest registerRequest, String transactio addIdentity(identityRequest, transactionId); } - @Timed(value = "addidentity.api.timer", percentiles = {0.95, 0.99}) + @Timed(value = "addidentity.api.timer", percentiles = {0.9}) private void addIdentity(IdentityRequest identityRequest, String transactionId) throws SignUpException{ RestRequestWrapper restRequest = new RestRequestWrapper<>(); @@ -482,7 +507,6 @@ private void addIdentity(IdentityRequest identityRequest, String transactionId) restResponseWrapper.getErrors().get(0).getErrorCode() : ErrorConstants.ADD_IDENTITY_FAILED); } - @Timed(value = "generatehash.api.timer", percentiles = {0.95, 0.99}) private Password generateSaltedHash(String password, String transactionId) throws SignUpException{ RestRequestWrapper restRequestWrapper = new RestRequestWrapper<>(); @@ -505,7 +529,7 @@ private Password generateSaltedHash(String password, String transactionId) throw restResponseWrapper.getErrors().get(0).getErrorCode() : ErrorConstants.HASH_GENERATE_FAILED); } - @Timed(value = "getuin.api.timer", percentiles = {0.95, 0.99}) + @Timed(value = "getuin.api.timer", percentiles = {0.9}) private String getUniqueIdentifier(String transactionId) throws SignUpException { RestResponseWrapper restResponseWrapper = selfTokenRestTemplate.exchange(getUinEndpoint, @@ -550,7 +574,7 @@ private void validateTransaction(RegistrationTransaction transaction, String ide } } - @Timed(value = "getstatus.api.timer", percentiles = {0.95, 0.99}) + @Timed(value = "getstatus.api.timer", percentiles = {0.9}) private RegistrationStatus getRegistrationStatusFromServer(String applicationId) { RestResponseWrapper> restResponseWrapper = selfTokenRestTemplate.exchange(getRegistrationStatusEndpoint, HttpMethod.GET, null, @@ -587,6 +611,8 @@ private void addVerifiedCookieInResponse(String transactionId, int maxAge) { Cookie unsetCookie = new Cookie(SignUpConstants.TRANSACTION_ID, ""); unsetCookie.setMaxAge(0); + cookie.setHttpOnly(true); + cookie.setSecure(true); response.addCookie(unsetCookie); } diff --git a/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java b/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java index 90167d5c..acd2df9b 100644 --- a/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java +++ b/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java @@ -41,4 +41,5 @@ public class ErrorConstants { public static final String CHALLENGE_FORMAT_AND_TYPE_MISMATCH = "challenge_format_and_type_mismatch"; public static final String KNOWLEDGEBASE_MISMATCH = "knowledgebase_mismatch"; public static final String IDENTIFIER_BLOCKED = "identifier_blocked"; + public static final String OTP_NOTIFICATION_FAILED = "otp_notification_failed"; } diff --git a/signup-service/src/main/java/io/mosip/signup/validator/LanguageValidator.java b/signup-service/src/main/java/io/mosip/signup/validator/LanguageValidator.java index 721c0f24..ab27e5e5 100644 --- a/signup-service/src/main/java/io/mosip/signup/validator/LanguageValidator.java +++ b/signup-service/src/main/java/io/mosip/signup/validator/LanguageValidator.java @@ -22,7 +22,7 @@ public void initialize(Language constraintAnnotation) { @Override public boolean isValid(String value, ConstraintValidatorContext constraintValidatorContext) { if(value == null) - return this.required ? false : true; + return !this.required; return supportedLanguages.contains(value); } diff --git a/signup-service/src/main/resources/application-default.properties b/signup-service/src/main/resources/application-default.properties index 41262f2d..873870c9 100644 --- a/signup-service/src/main/resources/application-default.properties +++ b/signup-service/src/main/resources/application-default.properties @@ -4,6 +4,7 @@ mosip.signup.id-schema.version=0.2 mosip.signup.identifier.regex=^\\+855[1-9]\\d{7,8}$ mosip.signup.identifier.prefix=+855 mosip.signup.supported-languages={'khm','eng'} +mosip.signup.default-language=khm mosip.signup.password.pattern=^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[\\x5F\\W])(?=.{8,20})[a-zA-Z0-9\\x5F\\W]{8,20}$ mosip.signup.password.max-length=20 mosip.signup.generate-challenge.blocked.timeout=300 @@ -30,6 +31,9 @@ mosip.signup.status-check.txn.timeout=200 mosip.signup.status.request.delay=20 mosip.signup.status.request.limit=10 +mosip.signup.task.core.pool.size=2 +mosip.signup.task.max.pool.size=4 + ## ------------------------------------- challenge configuration ------------------------------------------------------- mosip.signup.supported.generate-challenge-type=OTP mosip.signup.supported.challenge-format-types={'alpha-numeric', 'base64url-encoded-json'} @@ -137,17 +141,18 @@ mosip.signup.ui.config.key-values={\ 'fullname.allowed.characters': '^[\\u1780-\\u17FF\\u19E0-\\u19FF\\u1A00-\\u1A9F\\u0020]', \ 'fullname.length.min': 1, \ 'fullname.length.max': 30, \ -'otp.blocked' : ${mosip.signup.generate-challenge.blocked.timeout} \ +'otp.blocked' : ${mosip.signup.generate-challenge.blocked.timeout}, \ +'send-challenge.captcha.required': ${mosip.signup.send-challenge.captcha-required} \ } ## ----------------------------- Notification templates ---------------------------------------------------------------- # Default charset encoding ISO-8859-1 does not support khmer language characters, so templates in khm language are base64 encoded. +mosip.signup.sms-notification-template.encoded-langcodes={'khm'} mosip.signup.sms-notification-template.send-otp.khm=4Z6U4Z+S4Z6a4Z6+IHtjaGFsbGVuZ2V9IOGeiuGevuGemOGfkuGelOGeuOGeleGfkuGekeGfgOGehOGeleGfkuGekeGetuGej+Gfi+GeguGejuGek+GeuCBLaElEIOGemuGelOGen+Gfi+GeouGfkuGek+GegOGflA== mosip.signup.sms-notification-template.send-otp.eng=Use {challenge} to verify your KhID account. mosip.signup.sms-notification-template.registration.khm=4Z6i4Z+S4Z6T4Z6A4Z6U4Z624Z6T4Z6F4Z674Z+H4Z6I4Z+S4Z6Y4Z+E4Z+H4Z6C4Z6O4Z6T4Z64IEtoSUQg4Z6K4Z+E4Z6Z4Z6H4Z+E4Z6C4Z6H4Z+Q4Z6Z4Z+U mosip.signup.sms-notification-template.registration.eng=You successfully registered to KhID account. mosip.signup.sms-notification-template.forgot-password.khm=4Z6i4Z+S4Z6T4Z6A4Z6U4Z624Z6T4Z6V4Z+S4Z6b4Z624Z6f4Z+L4Z6U4Z+S4Z6K4Z684Z6a4Z6W4Z624Z6A4Z+S4Z6Z4Z6f4Z6Y4Z+S4Z6E4Z624Z6P4Z+LIEtoSUQg4Z6K4Z+E4Z6Z4Z6H4Z+E4Z6C4Z6H4Z+Q4Z6Z4Z+U -mosip.signup.sms-notification-template.forgot-password.eng=You successfully changed KhID password. - +mosip.signup.sms-notification-template.forgot-password.eng=You successfully changed KhID password. #------------------------------------------ Others --------------------------------------------------------------------- logging.level.io.mosip.signup=DEBUG diff --git a/signup-service/src/test/java/io/mosip/signup/controllers/RegistrationControllerTest.java b/signup-service/src/test/java/io/mosip/signup/controllers/RegistrationControllerTest.java index 761b7f17..fd75b622 100644 --- a/signup-service/src/test/java/io/mosip/signup/controllers/RegistrationControllerTest.java +++ b/signup-service/src/test/java/io/mosip/signup/controllers/RegistrationControllerTest.java @@ -34,6 +34,8 @@ import java.util.List; import static io.mosip.esignet.core.constants.Constants.UTC_DATETIME_PATTERN; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; import static org.mockito.Mockito.when; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; @@ -65,6 +67,8 @@ public class RegistrationControllerTest { private RequestWrapper verifyRequestWrapper; private RequestWrapper wrapper; + private String locale; + @Before public void init() { generateChallengeRequest = new GenerateChallengeRequest(); @@ -646,7 +650,7 @@ public void register_thenPass() throws Exception{ RegisterResponse registerResponse = new RegisterResponse(); registerResponse.setStatus(ActionStatus.PENDING); - when(registrationService.register(registerRequest, mockTransactionID)).thenReturn(registerResponse); + when(registrationService.register(eq(registerRequest), eq(mockTransactionID))).thenReturn(registerResponse); mockMvc.perform(post("/registration/register") .content(objectMapper.writeValueAsString(wrapper)) @@ -1012,6 +1016,7 @@ public void register_withInValidFullNameInKhm_returnErrorResponse() throws Excep registerRequest.setUsername("+85512345678"); registerRequest.setPassword("Password@2023"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); RequestWrapper wrapper = new RequestWrapper(); wrapper.setRequestTime(IdentityProviderUtil.getUTCDateTime()); @@ -1057,7 +1062,7 @@ public void register_withValidFullName_returnSuccessResponse() throws Exception{ RegisterResponse registerResponse = new RegisterResponse(); registerResponse.setStatus(ActionStatus.PENDING); - when(registrationService.register(registerRequest, mockTransactionID)).thenReturn(registerResponse); + when(registrationService.register(eq(registerRequest), eq(mockTransactionID))).thenReturn(registerResponse); mockMvc.perform(post("/registration/register") .content(objectMapper.writeValueAsString(wrapper)) @@ -1082,6 +1087,7 @@ public void register_withInvalidPassword_returnErrorResponse() throws Exception{ registerRequest.setUsername("+85512345678"); registerRequest.setPassword("12345678"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); RequestWrapper wrapper = new RequestWrapper(); wrapper.setRequestTime(IdentityProviderUtil.getUTCDateTime()); @@ -1119,6 +1125,7 @@ public void register_withBlankPassword_returnErrorResponse() throws Exception{ registerRequest.setUsername("+85512345678"); registerRequest.setConsent("AGREE"); registerRequest.setPassword(""); + registerRequest.setLocale(locale); RequestWrapper wrapper = new RequestWrapper(); @@ -1156,6 +1163,7 @@ public void register_withNullPassword_returnErrorResponse() throws Exception{ registerRequest.setUserInfo(userInfo); registerRequest.setUsername("+85512345678"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); RequestWrapper wrapper = new RequestWrapper(); @@ -1194,6 +1202,7 @@ public void register_withBlankUsername_returnErrorResponse() throws Exception{ registerRequest.setConsent("AGREE"); registerRequest.setPassword("Password@2023"); registerRequest.setUsername(""); + registerRequest.setLocale(locale); RequestWrapper wrapper = new RequestWrapper(); wrapper.setRequestTime(IdentityProviderUtil.getUTCDateTime()); @@ -1229,6 +1238,7 @@ public void register_withNullUsername_returnErrorResponse() throws Exception{ registerRequest.setUserInfo(userInfo); registerRequest.setConsent("AGREE"); registerRequest.setPassword("Password@2023"); + registerRequest.setLocale(locale); RequestWrapper wrapper = new RequestWrapper(); wrapper.setRequestTime(IdentityProviderUtil.getUTCDateTime()); @@ -1266,6 +1276,7 @@ public void register_withNotMatchUsernameRegex_returnErrorResponse() throws Exce registerRequest.setConsent("AGREE"); registerRequest.setUsername("+85512345678"); registerRequest.setPassword("Password@2023"); + registerRequest.setLocale(locale); RequestWrapper wrapper = new RequestWrapper(); wrapper.setRequestTime(IdentityProviderUtil.getUTCDateTime()); diff --git a/signup-service/src/test/java/io/mosip/signup/controllers/ResetPasswordControllerTest.java b/signup-service/src/test/java/io/mosip/signup/controllers/ResetPasswordControllerTest.java new file mode 100644 index 00000000..1fa8b660 --- /dev/null +++ b/signup-service/src/test/java/io/mosip/signup/controllers/ResetPasswordControllerTest.java @@ -0,0 +1,264 @@ +package io.mosip.signup.controllers; + +import com.fasterxml.jackson.databind.ObjectMapper; +import io.mosip.esignet.core.dto.RequestWrapper; +import io.mosip.signup.dto.RegistrationStatusResponse; +import io.mosip.signup.dto.ResetPasswordRequest; +import io.mosip.signup.helper.AuditHelper; +import io.mosip.signup.services.RegistrationService; +import io.mosip.signup.util.ErrorConstants; +import io.mosip.signup.util.RegistrationStatus; +import io.mosip.signup.util.SignUpConstants; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; +import org.springframework.boot.test.autoconfigure.web.servlet.WebMvcTest; +import org.springframework.boot.test.mock.mockito.MockBean; +import org.springframework.http.MediaType; +import org.springframework.test.context.ActiveProfiles; +import org.springframework.test.context.junit4.SpringRunner; +import org.springframework.test.web.servlet.MockMvc; + +import javax.servlet.http.Cookie; +import java.time.ZoneOffset; +import java.time.ZonedDateTime; +import java.time.format.DateTimeFormatter; + +import static io.mosip.esignet.core.constants.Constants.UTC_DATETIME_PATTERN; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; +import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; +import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; + + +@RunWith(SpringRunner.class) +@WebMvcTest(value = ResetPasswordController.class, excludeAutoConfiguration = {SecurityAutoConfiguration.class}) +@ActiveProfiles(value = {"test"}) +public class ResetPasswordControllerTest { + + @Autowired + MockMvc mockMvc; + + @MockBean + RegistrationService registrationService; + + @MockBean + AuditHelper auditHelper; + + ObjectMapper objectMapper = new ObjectMapper(); + + @Test + public void restPassword_thenPass() throws Exception { + String mockTransactionID = "123456789"; + RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); + ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); + + ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); + resetPasswordRequest.setIdentifier("+855123456789"); + resetPasswordRequest.setPassword("Password@2023"); + + resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); + resetPasswordWrapper.setRequest(resetPasswordRequest); + + RegistrationStatusResponse registrationStatusResponse = new RegistrationStatusResponse(); + registrationStatusResponse.setStatus(RegistrationStatus.PENDING); + + when(registrationService.updatePassword(any(), any())).thenReturn(registrationStatusResponse); + + mockMvc.perform(post("/reset-password") + .content(objectMapper.writeValueAsString(resetPasswordWrapper)) + .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.response.status").value("PENDING")); + } + + @Test + public void resetPassword_withBlankPassword_returnInvalidPassword() throws Exception{ + String mockTransactionID = "123456789"; + RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); + ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); + + ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); + resetPasswordRequest.setIdentifier("+855123456789"); + resetPasswordRequest.setPassword(""); + + resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); + resetPasswordWrapper.setRequest(resetPasswordRequest); + + mockMvc.perform(post("/reset-password") + .content(objectMapper.writeValueAsString(resetPasswordWrapper)) + .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.errors").isNotEmpty()) + .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_PASSWORD)); + } + + @Test + public void resetPassword_withNullPassword_returnInvalidPassword() throws Exception{ + String mockTransactionID = "123456789"; + RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); + ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); + + ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); + resetPasswordRequest.setIdentifier("+855123456789"); + resetPasswordRequest.setPassword(null); + + resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); + resetPasswordWrapper.setRequest(resetPasswordRequest); + + mockMvc.perform(post("/reset-password") + .content(objectMapper.writeValueAsString(resetPasswordWrapper)) + .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.errors").isNotEmpty()) + .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_PASSWORD)); + } + + @Test + public void resetPassword_withPasswordInvalidPattern_returnInvalidPassword() throws Exception{ + String mockTransactionID = "123456789"; + RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); + ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); + + ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); + resetPasswordRequest.setIdentifier("+855123456789"); + resetPasswordRequest.setPassword("123456789"); + + resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); + resetPasswordWrapper.setRequest(resetPasswordRequest); + + RegistrationStatusResponse registrationStatusResponse = new RegistrationStatusResponse(); + registrationStatusResponse.setStatus(RegistrationStatus.PENDING); + + when(registrationService.updatePassword(any(), any())).thenReturn(registrationStatusResponse); + + mockMvc.perform(post("/reset-password") + .content(objectMapper.writeValueAsString(resetPasswordWrapper)) + .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.errors").isNotEmpty()) + .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_PASSWORD)); + } + + @Test + public void resetPassword_withPasswordMoreThenAndLeastThenLength_returnInvalidPassword() throws Exception{ + String mockTransactionID = "123456789"; + RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); + ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); + + ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); + resetPasswordRequest.setIdentifier("+855123456789"); + resetPasswordRequest.setPassword("12345"); + + resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); + resetPasswordWrapper.setRequest(resetPasswordRequest); + + RegistrationStatusResponse registrationStatusResponse = new RegistrationStatusResponse(); + registrationStatusResponse.setStatus(RegistrationStatus.PENDING); + + when(registrationService.updatePassword(any(), any())).thenReturn(registrationStatusResponse); + + mockMvc.perform(post("/reset-password") + .content(objectMapper.writeValueAsString(resetPasswordWrapper)) + .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.errors").isNotEmpty()) + .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_PASSWORD)); + + resetPasswordRequest.setPassword("123451234512345123451234512345"); + mockMvc.perform(post("/reset-password") + .content(objectMapper.writeValueAsString(resetPasswordWrapper)) + .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.errors").isNotEmpty()) + .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_PASSWORD)); + } + + @Test + public void resetPassword_withIdentifierInvalidPattern_returnInvalidPassword() throws Exception{ + String mockTransactionID = "123456789"; + RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); + ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); + + ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); + resetPasswordRequest.setIdentifier("+855123"); + resetPasswordRequest.setPassword("Password@2023"); + + resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); + resetPasswordWrapper.setRequest(resetPasswordRequest); + + RegistrationStatusResponse registrationStatusResponse = new RegistrationStatusResponse(); + registrationStatusResponse.setStatus(RegistrationStatus.PENDING); + + when(registrationService.updatePassword(any(), any())).thenReturn(registrationStatusResponse); + + mockMvc.perform(post("/reset-password") + .content(objectMapper.writeValueAsString(resetPasswordWrapper)) + .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.errors").isNotEmpty()) + .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_IDENTIFIER)); + } + + @Test + public void resetPassword_withBlankIdentifier_returnInvalidPassword() throws Exception{ + String mockTransactionID = "123456789"; + RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); + ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); + + ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); + resetPasswordRequest.setIdentifier(""); + resetPasswordRequest.setPassword("Password@2023"); + + resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); + resetPasswordWrapper.setRequest(resetPasswordRequest); + + RegistrationStatusResponse registrationStatusResponse = new RegistrationStatusResponse(); + registrationStatusResponse.setStatus(RegistrationStatus.PENDING); + + when(registrationService.updatePassword(any(), any())).thenReturn(registrationStatusResponse); + + mockMvc.perform(post("/reset-password") + .content(objectMapper.writeValueAsString(resetPasswordWrapper)) + .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.errors").isNotEmpty()) + .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_IDENTIFIER)); + } + + @Test + public void resetPassword_withNullIdentifier_returnInvalidPassword() throws Exception{ + String mockTransactionID = "123456789"; + RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); + ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); + + ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); + resetPasswordRequest.setIdentifier(null); + resetPasswordRequest.setPassword("Password@2023"); + + resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); + resetPasswordWrapper.setRequest(resetPasswordRequest); + + RegistrationStatusResponse registrationStatusResponse = new RegistrationStatusResponse(); + registrationStatusResponse.setStatus(RegistrationStatus.PENDING); + + when(registrationService.updatePassword(any(), any())).thenReturn(registrationStatusResponse); + + mockMvc.perform(post("/reset-password") + .content(objectMapper.writeValueAsString(resetPasswordWrapper)) + .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) + .contentType(MediaType.APPLICATION_JSON)) + .andExpect(status().isOk()) + .andExpect(jsonPath("$.errors").isNotEmpty()) + .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_IDENTIFIER)); + } +} diff --git a/signup-service/src/test/java/io/mosip/signup/controllers/SignUpControllerTest.java b/signup-service/src/test/java/io/mosip/signup/controllers/SignUpControllerTest.java index d0bc5319..773c7fd3 100644 --- a/signup-service/src/test/java/io/mosip/signup/controllers/SignUpControllerTest.java +++ b/signup-service/src/test/java/io/mosip/signup/controllers/SignUpControllerTest.java @@ -1,15 +1,8 @@ package io.mosip.signup.controllers; import com.fasterxml.jackson.databind.ObjectMapper; -import io.mosip.esignet.core.dto.RequestWrapper; -import io.mosip.signup.dto.RegistrationStatusResponse; -import io.mosip.signup.dto.ResetPasswordRequest; import io.mosip.signup.helper.AuditHelper; import io.mosip.signup.services.RegistrationService; -import io.mosip.signup.util.ActionStatus; -import io.mosip.signup.util.ErrorConstants; -import io.mosip.signup.util.RegistrationStatus; -import io.mosip.signup.util.SignUpConstants; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; @@ -21,17 +14,7 @@ import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.web.servlet.MockMvc; -import javax.servlet.http.Cookie; - -import java.time.ZoneOffset; -import java.time.ZonedDateTime; -import java.time.format.DateTimeFormatter; - -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.Mockito.when; -import static io.mosip.esignet.core.constants.Constants.UTC_DATETIME_PATTERN; import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.get; -import static org.springframework.test.web.servlet.request.MockMvcRequestBuilders.post; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.*; import static org.springframework.test.web.servlet.result.MockMvcResultMatchers.jsonPath; @@ -74,217 +57,4 @@ public void getSignupSettings_thenPass () throws Exception { .andExpect(jsonPath("$.errors").isEmpty()); } - @Test - public void restPassword_thenPass() throws Exception { - String mockTransactionID = "123456789"; - RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); - ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); - - ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); - resetPasswordRequest.setIdentifier("+855123456789"); - resetPasswordRequest.setPassword("Password@2023"); - - resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); - resetPasswordWrapper.setRequest(resetPasswordRequest); - - RegistrationStatusResponse registrationStatusResponse = new RegistrationStatusResponse(); - registrationStatusResponse.setStatus(RegistrationStatus.PENDING); - - when(registrationService.updatePassword(any(), any())).thenReturn(registrationStatusResponse); - - mockMvc.perform(post("/reset-password") - .content(objectMapper.writeValueAsString(resetPasswordWrapper)) - .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.response.status").value("PENDING")); - } - - @Test - public void resetPassword_withBlankPassword_returnInvalidPassword() throws Exception{ - String mockTransactionID = "123456789"; - RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); - ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); - - ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); - resetPasswordRequest.setIdentifier("+855123456789"); - resetPasswordRequest.setPassword(""); - - resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); - resetPasswordWrapper.setRequest(resetPasswordRequest); - - mockMvc.perform(post("/reset-password") - .content(objectMapper.writeValueAsString(resetPasswordWrapper)) - .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.errors").isNotEmpty()) - .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_PASSWORD)); - } - - @Test - public void resetPassword_withNullPassword_returnInvalidPassword() throws Exception{ - String mockTransactionID = "123456789"; - RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); - ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); - - ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); - resetPasswordRequest.setIdentifier("+855123456789"); - resetPasswordRequest.setPassword(null); - - resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); - resetPasswordWrapper.setRequest(resetPasswordRequest); - - mockMvc.perform(post("/reset-password") - .content(objectMapper.writeValueAsString(resetPasswordWrapper)) - .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.errors").isNotEmpty()) - .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_PASSWORD)); - } - - @Test - public void resetPassword_withPasswordInvalidPattern_returnInvalidPassword() throws Exception{ - String mockTransactionID = "123456789"; - RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); - ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); - - ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); - resetPasswordRequest.setIdentifier("+855123456789"); - resetPasswordRequest.setPassword("123456789"); - - resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); - resetPasswordWrapper.setRequest(resetPasswordRequest); - - RegistrationStatusResponse registrationStatusResponse = new RegistrationStatusResponse(); - registrationStatusResponse.setStatus(RegistrationStatus.PENDING); - - when(registrationService.updatePassword(any(), any())).thenReturn(registrationStatusResponse); - - mockMvc.perform(post("/reset-password") - .content(objectMapper.writeValueAsString(resetPasswordWrapper)) - .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.errors").isNotEmpty()) - .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_PASSWORD)); - } - - @Test - public void resetPassword_withPasswordMoreThenAndLeastThenLength_returnInvalidPassword() throws Exception{ - String mockTransactionID = "123456789"; - RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); - ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); - - ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); - resetPasswordRequest.setIdentifier("+855123456789"); - resetPasswordRequest.setPassword("12345"); - - resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); - resetPasswordWrapper.setRequest(resetPasswordRequest); - - RegistrationStatusResponse registrationStatusResponse = new RegistrationStatusResponse(); - registrationStatusResponse.setStatus(RegistrationStatus.PENDING); - - when(registrationService.updatePassword(any(), any())).thenReturn(registrationStatusResponse); - - mockMvc.perform(post("/reset-password") - .content(objectMapper.writeValueAsString(resetPasswordWrapper)) - .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.errors").isNotEmpty()) - .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_PASSWORD)); - - resetPasswordRequest.setPassword("123451234512345123451234512345"); - mockMvc.perform(post("/reset-password") - .content(objectMapper.writeValueAsString(resetPasswordWrapper)) - .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.errors").isNotEmpty()) - .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_PASSWORD)); - } - - @Test - public void resetPassword_withIdentifierInvalidPattern_returnInvalidPassword() throws Exception{ - String mockTransactionID = "123456789"; - RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); - ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); - - ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); - resetPasswordRequest.setIdentifier("+855123"); - resetPasswordRequest.setPassword("Password@2023"); - - resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); - resetPasswordWrapper.setRequest(resetPasswordRequest); - - RegistrationStatusResponse registrationStatusResponse = new RegistrationStatusResponse(); - registrationStatusResponse.setStatus(RegistrationStatus.PENDING); - - when(registrationService.updatePassword(any(), any())).thenReturn(registrationStatusResponse); - - mockMvc.perform(post("/reset-password") - .content(objectMapper.writeValueAsString(resetPasswordWrapper)) - .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.errors").isNotEmpty()) - .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_IDENTIFIER)); - } - - @Test - public void resetPassword_withBlankIdentifier_returnInvalidPassword() throws Exception{ - String mockTransactionID = "123456789"; - RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); - ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); - - ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); - resetPasswordRequest.setIdentifier(""); - resetPasswordRequest.setPassword("Password@2023"); - - resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); - resetPasswordWrapper.setRequest(resetPasswordRequest); - - RegistrationStatusResponse registrationStatusResponse = new RegistrationStatusResponse(); - registrationStatusResponse.setStatus(RegistrationStatus.PENDING); - - when(registrationService.updatePassword(any(), any())).thenReturn(registrationStatusResponse); - - mockMvc.perform(post("/reset-password") - .content(objectMapper.writeValueAsString(resetPasswordWrapper)) - .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.errors").isNotEmpty()) - .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_IDENTIFIER)); - } - - @Test - public void resetPassword_withNullIdentifier_returnInvalidPassword() throws Exception{ - String mockTransactionID = "123456789"; - RequestWrapper resetPasswordWrapper = new RequestWrapper<>(); - ZonedDateTime requestTime = ZonedDateTime.now(ZoneOffset.UTC); - - ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); - resetPasswordRequest.setIdentifier(null); - resetPasswordRequest.setPassword("Password@2023"); - - resetPasswordWrapper.setRequestTime(requestTime.format(DateTimeFormatter.ofPattern(UTC_DATETIME_PATTERN))); - resetPasswordWrapper.setRequest(resetPasswordRequest); - - RegistrationStatusResponse registrationStatusResponse = new RegistrationStatusResponse(); - registrationStatusResponse.setStatus(RegistrationStatus.PENDING); - - when(registrationService.updatePassword(any(), any())).thenReturn(registrationStatusResponse); - - mockMvc.perform(post("/reset-password") - .content(objectMapper.writeValueAsString(resetPasswordWrapper)) - .cookie(new Cookie(SignUpConstants.TRANSACTION_ID, mockTransactionID)) - .contentType(MediaType.APPLICATION_JSON)) - .andExpect(status().isOk()) - .andExpect(jsonPath("$.errors").isNotEmpty()) - .andExpect(jsonPath("$.errors[0].errorCode").value(ErrorConstants.INVALID_IDENTIFIER)); - } } diff --git a/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java b/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java index c937e56f..ddadca57 100644 --- a/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java +++ b/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java @@ -27,11 +27,13 @@ import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.junit4.SpringRunner; import org.springframework.test.util.ReflectionTestUtils; +import org.springframework.web.client.RestClientException; import org.springframework.web.client.RestTemplate; import java.io.IOException; import java.time.ZoneOffset; import java.util.ArrayList; +import java.util.LinkedHashMap; import java.util.List; import static org.mockito.Mockito.*; @@ -43,6 +45,7 @@ import io.mosip.esignet.core.exception.EsignetException; import java.time.LocalDateTime; +import java.util.Map; import java.util.concurrent.CompletableFuture; @RunWith(SpringRunner.class) @@ -78,11 +81,17 @@ public class RegistrationServiceTest { private final String getIdentityEndpoint = "getIdentityEndpoint"; private final String getUinEndpoint = "getUinEndpoint"; + private final String getRegistrationStatusEndpoint = "getRegistrationStatusEndpoint"; + + private String locale = "khm"; + + @Before public void setUp() { ReflectionTestUtils.setField(registrationService, identityEndpoint, identityEndpoint); ReflectionTestUtils.setField(registrationService, generateHashEndpoint, generateHashEndpoint); ReflectionTestUtils.setField(registrationService, getUinEndpoint, getUinEndpoint); + ReflectionTestUtils.setField(registrationService, getRegistrationStatusEndpoint, getRegistrationStatusEndpoint); ReflectionTestUtils.setField( registrationService, "resendAttempts", 3); ReflectionTestUtils.setField( @@ -774,6 +783,71 @@ public void doVerifyChallenge_withIdentifierNotMatch_throwsIdentifierMismatch() // ## register--------------------------------- @Test public void register_thenPass() throws SignUpException { + String local = "khm"; + + UserInfoMap userInfo = new UserInfoMap(); + userInfo.setPreferredLang("khm"); + userInfo.setFullName(List.of(new LanguageTaggedValue("eng", "Panharith AN"))); + userInfo.setPhone("+855219718732"); + + RegisterRequest registerRequest = new RegisterRequest(); + registerRequest.setUserInfo(userInfo); + registerRequest.setUsername("+855219718732"); + registerRequest.setPassword("123123"); + registerRequest.setConsent("AGREE"); + registerRequest.setLocale(local); + + String mockTransactionID = "123456789"; + + RegistrationTransaction mockRegistrationTransaction = new RegistrationTransaction(userInfo.getPhone(), Purpose.REGISTRATION); + mockRegistrationTransaction.setChallengeHash("123456"); + mockRegistrationTransaction.setIdentifier(userInfo.getPhone()); + + when(cacheUtilService.getChallengeVerifiedTransaction(mockTransactionID)) + .thenReturn(mockRegistrationTransaction); + + IdentityResponse identityResponse = new IdentityResponse(); + identityResponse.setStatus("ACTIVATED"); + UINResponse uinResponse = new UINResponse(); + uinResponse.setUIN("mockUIN"); + Password.PasswordHash passwordHash = new Password.PasswordHash(); + passwordHash.setSalt("mockSalt"); + passwordHash.setHashValue("mockHashValue"); + + RestResponseWrapper mockRestResponseWrapperAddIdentityResponse = new RestResponseWrapper(); + mockRestResponseWrapperAddIdentityResponse.setResponse(identityResponse); + RestResponseWrapper mockRestResponseWrapperUINResponse = new RestResponseWrapper(); + mockRestResponseWrapperUINResponse.setResponse(uinResponse); + RestResponseWrapper mockRestResponseWrapperPasswordHash = new RestResponseWrapper(); + mockRestResponseWrapperPasswordHash.setResponse(passwordHash); + + when(selfTokenRestTemplate.exchange( + eq(getUinEndpoint), + eq(HttpMethod.GET), + eq(null), + any(ParameterizedTypeReference.class))).thenReturn(new ResponseEntity<>(mockRestResponseWrapperUINResponse, HttpStatus.OK)); + when(selfTokenRestTemplate.exchange( + eq(generateHashEndpoint), + eq(HttpMethod.POST), + any(HttpEntity.class), + any(ParameterizedTypeReference.class))).thenReturn(new ResponseEntity<>(mockRestResponseWrapperPasswordHash, HttpStatus.OK)); + when(selfTokenRestTemplate.exchange( + eq(identityEndpoint), + eq(HttpMethod.POST), + any(HttpEntity.class), + any(ParameterizedTypeReference.class))).thenReturn(new ResponseEntity<>(mockRestResponseWrapperAddIdentityResponse, HttpStatus.OK)); + + when(notificationHelper.sendSMSNotificationAsync(any(), any(), any(), any())) + .thenReturn(new CompletableFuture<>()); + + RegisterResponse registerResponse = registrationService.register(registerRequest, mockTransactionID); + Assert.assertNotNull(registerResponse); + Assert.assertEquals("PENDING", registerResponse.getStatus()); + } + + @Test + public void register_withNullLocale_thenPass() throws SignUpException { + UserInfoMap userInfo = new UserInfoMap(); userInfo.setPreferredLang("khm"); userInfo.setFullName(List.of(new LanguageTaggedValue("eng", "Panharith AN"))); @@ -784,6 +858,7 @@ public void register_thenPass() throws SignUpException { registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(null); String mockTransactionID = "123456789"; @@ -835,6 +910,7 @@ public void register_thenPass() throws SignUpException { @Test public void register_whenUinEndpointResponseNullBody_throwGetUINFailed() throws SignUpException { + String locale = "eng"; UserInfoMap userInfo = new UserInfoMap(); userInfo.setPreferredLang("khm"); userInfo.setFullName(List.of(new LanguageTaggedValue("eng", "Panharith AN"))); @@ -845,6 +921,7 @@ public void register_whenUinEndpointResponseNullBody_throwGetUINFailed() throws registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -881,6 +958,7 @@ public void register_whenUinEndpointResponseNullUIN_throwGetUINFailed() throws S registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -943,6 +1021,7 @@ public void register_whenUinEndpointResponseErrors_throwServerError() throws Sig eq(null), any(ParameterizedTypeReference.class))).thenReturn(new ResponseEntity<>(mockRestResponseWrapperUINResponse, HttpStatus.OK)); + try { registrationService.register(registerRequest, mockTransactionID); Assert.fail(); @@ -963,6 +1042,7 @@ public void register_whenUinEndpointResponseWithNullErrors_throwGetUINFailed() t registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -1002,6 +1082,7 @@ public void register_whenGenerateHashEndpointResponseNullBody_throwHashGenerateF registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -1051,6 +1132,7 @@ public void register_whenGenerateHashEndpointResponseErrors_throwServerError() t registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -1104,6 +1186,7 @@ public void register_whenGenerateHashEndpointResponseNullErrors_throwHashGenerat registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -1155,6 +1238,7 @@ public void register_whenGenerateHashEndpointResponseNullSaltedPassword_throwHas registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -1209,6 +1293,7 @@ public void register_whenGenerateHashEndpointResponseNullSalt_throwHashGenerateF registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -1263,6 +1348,7 @@ public void register_whenAddIdentityEndpointResponseNullBody_throwAddIdentityFai registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -1322,6 +1408,7 @@ public void register_whenAddIdentityEndpointResponseStatusNotEqualsACTIVATED_thr registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -1383,6 +1470,7 @@ public void register_whenAddIdentityEndpointResponseErrors_throwServerError() th registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -1446,6 +1534,7 @@ public void register_whenAddIdentityEndpointResponseNullErrors_throwAddIdentityF registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -1508,6 +1597,7 @@ public void register_withInvalidTransaction_throwInvalidTransaction() throws Sig registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -1531,6 +1621,7 @@ public void register_withInvalidUsername_throwIdentifierMismatch() throws SignUp registerRequest.setUsername("+855321444123"); registerRequest.setPassword("123123"); registerRequest.setConsent("AGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -1561,6 +1652,7 @@ public void register_withInvalidConsent_throwConsentRequired() throws SignUpExce registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("DISAGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -1591,6 +1683,7 @@ public void register_with_ResetPasswordPurposeTransaction_throwUnsupportedPurpos registerRequest.setUsername("+855219718732"); registerRequest.setPassword("123123"); registerRequest.setConsent("DISAGREE"); + registerRequest.setLocale(locale); String mockTransactionID = "123456789"; @@ -1618,7 +1711,7 @@ public void doGenerateChallenge_withoutTransactionId_thenPass() throws SignUpExc GenerateChallengeRequest generateChallengeRequest = new GenerateChallengeRequest(); generateChallengeRequest.setIdentifier(identifier); generateChallengeRequest.setCaptchaToken("mock-captcha"); - generateChallengeRequest.setRegenerate(false); + generateChallengeRequest.setRegenerateChallenge(false); when(challengeManagerService.generateChallenge(any())).thenReturn("1111"); when(googleRecaptchaValidatorService.validateCaptcha( generateChallengeRequest.getCaptchaToken())).thenReturn(true); @@ -1632,13 +1725,34 @@ public void doGenerateChallenge_withoutTransactionId_thenPass() throws SignUpExc Assert.assertEquals("SUCCESS", generateChallengeResponse.getStatus()); } + @Test + public void doGenerateChallenge_withFailedSendNotification_thenFail() throws SignUpException, IOException { + String identifier = "+85577410541"; + GenerateChallengeRequest generateChallengeRequest = new GenerateChallengeRequest(); + generateChallengeRequest.setIdentifier(identifier); + generateChallengeRequest.setCaptchaToken("mock-captcha"); + generateChallengeRequest.setRegenerateChallenge(false); + when(challengeManagerService.generateChallenge(any())).thenReturn("1111"); + when(googleRecaptchaValidatorService.validateCaptcha( + generateChallengeRequest.getCaptchaToken())).thenReturn(true); + when(notificationHelper.sendSMSNotification(any(), any(), any(), any())) + .thenThrow(new RestClientException("failed to send notification")); + + try{ + registrationService.generateChallenge(generateChallengeRequest, ""); + Assert.fail(); + } catch (SignUpException ex) { + Assert.assertEquals("otp_notification_failed", ex.getErrorCode()); + } + } + @Test public void doGenerateChallenge_withRetryAttemptsOver3time_thenFail() throws SignUpException{ String identifier = "+85577410541"; GenerateChallengeRequest generateChallengeRequest = new GenerateChallengeRequest(); generateChallengeRequest.setIdentifier(identifier); generateChallengeRequest.setCaptchaToken("mock-captcha"); - generateChallengeRequest.setRegenerate(true); + generateChallengeRequest.setRegenerateChallenge(true); generateChallengeRequest.setPurpose(Purpose.REGISTRATION); String transactionId = "TRAN-1234"; RegistrationTransaction transaction = new RegistrationTransaction(identifier, Purpose.REGISTRATION); @@ -1665,7 +1779,7 @@ public void doGenerateChallenge_withTransactionId_thenPass() throws SignUpExcept GenerateChallengeRequest generateChallengeRequest = new GenerateChallengeRequest(); generateChallengeRequest.setIdentifier(identifier); generateChallengeRequest.setCaptchaToken("mock-captcha"); - generateChallengeRequest.setRegenerate(true); + generateChallengeRequest.setRegenerateChallenge(true); generateChallengeRequest.setPurpose(Purpose.REGISTRATION); String transactionId = "TRAN-1234"; RegistrationTransaction transaction = new RegistrationTransaction(identifier, Purpose.REGISTRATION); @@ -1691,7 +1805,7 @@ public void doGenerateChallenge_regenerateWithInvalidTransactionId_throwInvalidT GenerateChallengeRequest generateChallengeRequest = new GenerateChallengeRequest(); generateChallengeRequest.setIdentifier(identifier); generateChallengeRequest.setCaptchaToken("mock-captcha"); - generateChallengeRequest.setRegenerate(true); + generateChallengeRequest.setRegenerateChallenge(true); String transactionId = "TRAN-12341"; RegistrationTransaction transaction = new RegistrationTransaction(identifier, Purpose.REGISTRATION); transaction.setLastRetryAt(LocalDateTime.now(ZoneOffset.UTC).minusSeconds(40)); @@ -1730,7 +1844,7 @@ public void doGenerateChallenge_withInvalidTransactionId_throwInvalidTransaction GenerateChallengeRequest generateChallengeRequest = new GenerateChallengeRequest(); generateChallengeRequest.setIdentifier(identifier); generateChallengeRequest.setCaptchaToken("mock-captcha"); - generateChallengeRequest.setRegenerate(true); + generateChallengeRequest.setRegenerateChallenge(true); String transactionId = "TRAN-1234"; RegistrationTransaction transaction = new RegistrationTransaction(identifier, Purpose.REGISTRATION); @@ -1753,7 +1867,7 @@ public void doGenerateChallenge_withIdentifierNotMatchTransactionId_throwIdentif GenerateChallengeRequest generateChallengeRequest = new GenerateChallengeRequest(); generateChallengeRequest.setIdentifier(identifier); generateChallengeRequest.setCaptchaToken("mock-captcha"); - generateChallengeRequest.setRegenerate(true); + generateChallengeRequest.setRegenerateChallenge(true); String transactionId = "TRAN-1234"; RegistrationTransaction transaction = new RegistrationTransaction(other_identifier, Purpose.REGISTRATION); @@ -1775,7 +1889,7 @@ public void doGenerateChallenge_withTooManyAttemptTransactionId_throwTooManyAtte GenerateChallengeRequest generateChallengeRequest = new GenerateChallengeRequest(); generateChallengeRequest.setIdentifier(identifier); generateChallengeRequest.setCaptchaToken("mock-captcha"); - generateChallengeRequest.setRegenerate(true); + generateChallengeRequest.setRegenerateChallenge(true); String transactionId = "TRAN-1234"; RegistrationTransaction transaction = new RegistrationTransaction(identifier, Purpose.REGISTRATION); transaction.setChallengeRetryAttempts(4); @@ -1798,7 +1912,7 @@ public void doGenerateChallenge_withToEarlyAttemptTransactionId_throwTooEarlyAtt GenerateChallengeRequest generateChallengeRequest = new GenerateChallengeRequest(); generateChallengeRequest.setIdentifier(identifier); generateChallengeRequest.setCaptchaToken("mock-captcha"); - generateChallengeRequest.setRegenerate(true); + generateChallengeRequest.setRegenerateChallenge(true); String transactionId = "TRAN-1234"; RegistrationTransaction transaction = new RegistrationTransaction(identifier, Purpose.REGISTRATION); transaction.increaseAttempt(); @@ -1821,7 +1935,7 @@ public void doGenerateChallenge_withRegistrationPurpose_thenPass() throws SignUp GenerateChallengeRequest generateChallengeRequest = new GenerateChallengeRequest(); generateChallengeRequest.setIdentifier(identifier); generateChallengeRequest.setCaptchaToken("mock-captcha"); - generateChallengeRequest.setRegenerate(false); + generateChallengeRequest.setRegenerateChallenge(false); generateChallengeRequest.setPurpose(Purpose.REGISTRATION); when(challengeManagerService.generateChallenge(any())).thenReturn("1111"); @@ -1843,7 +1957,7 @@ public void doGenerateChallenge_with_ResetPasswordPurpose_thenPass() throws Sign GenerateChallengeRequest generateChallengeRequest = new GenerateChallengeRequest(); generateChallengeRequest.setIdentifier(identifier); generateChallengeRequest.setCaptchaToken("mock-captcha"); - generateChallengeRequest.setRegenerate(false); + generateChallengeRequest.setRegenerateChallenge(false); generateChallengeRequest.setPurpose(Purpose.RESET_PASSWORD); when(challengeManagerService.generateChallenge(any())).thenReturn("1111"); @@ -1936,6 +2050,54 @@ public void doUpdatePassword_thenSuccess() { ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); resetPasswordRequest.setPassword("Password@2002"); resetPasswordRequest.setIdentifier("+85512345678"); + resetPasswordRequest.setLocale(locale); + + RegistrationTransaction transaction = new RegistrationTransaction(resetPasswordRequest.getIdentifier(), + Purpose.RESET_PASSWORD); + transaction.setUin("mockUin"); + + Password.PasswordHash passwordHash = new Password.PasswordHash(); + passwordHash.setSalt("mockSalt"); + passwordHash.setHashValue("mockHashValue"); + RestResponseWrapper mockPasswordHashRestResponseWrapper = new RestResponseWrapper<>(); + mockPasswordHashRestResponseWrapper.setResponse(passwordHash); + + RestResponseWrapper mockIdentityResponseRestResponseWrapper = new RestResponseWrapper<>(); + IdentityResponse mockIdentityResponse = new IdentityResponse(); + mockIdentityResponseRestResponseWrapper.setResponse(mockIdentityResponse); + mockIdentityResponse.setStatus(SignUpConstants.ACTIVATED); + mockIdentityResponseRestResponseWrapper.setErrors(new ArrayList<>()); + + when(cacheUtilService.getChallengeVerifiedTransaction(verifiedTransactionId)).thenReturn(transaction); + when(selfTokenRestTemplate.exchange( + eq(generateHashEndpoint), + eq(HttpMethod.POST), + any(HttpEntity.class), + any(ParameterizedTypeReference.class))) + .thenReturn(new ResponseEntity<>(mockPasswordHashRestResponseWrapper, HttpStatus.OK)); + when(selfTokenRestTemplate.exchange( + eq(identityEndpoint), + eq(HttpMethod.PATCH), + any(HttpEntity.class), + any(ParameterizedTypeReference.class))) + .thenReturn(new ResponseEntity<>(mockIdentityResponseRestResponseWrapper, HttpStatus.OK)); + + when(notificationHelper.sendSMSNotificationAsync(any(), any(), any(), any())) + .thenReturn(new CompletableFuture<>()); + + RegistrationStatusResponse registrationStatusResponse = registrationService.updatePassword(resetPasswordRequest, + verifiedTransactionId); + Assert.assertEquals(RegistrationStatus.PENDING, registrationStatusResponse.getStatus()); + } + + @Test + public void doUpdatePassword_withNullLocale_thenSuccess() { + + String verifiedTransactionId = "VERIFIED_TRANSACTION_ID"; + ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); + resetPasswordRequest.setPassword("Password@2002"); + resetPasswordRequest.setIdentifier("+85512345678"); + resetPasswordRequest.setLocale(null); RegistrationTransaction transaction = new RegistrationTransaction(resetPasswordRequest.getIdentifier(), Purpose.RESET_PASSWORD); @@ -1982,6 +2144,7 @@ public void doUpdatePassword_withInvalidTransaction_thenSuccess() { ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); resetPasswordRequest.setPassword("Password@2002"); resetPasswordRequest.setIdentifier("+85512345678"); + resetPasswordRequest.setLocale(locale); try { registrationService.updatePassword(resetPasswordRequest, verifiedTransactionId); @@ -1998,6 +2161,7 @@ public void doUpdatePassword_withIdentifierMismatch_throwIdentifierMismatch() { ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); resetPasswordRequest.setPassword("Password@2002"); resetPasswordRequest.setIdentifier("+85512345678"); + resetPasswordRequest.setLocale(locale); RegistrationTransaction transaction = new RegistrationTransaction("****", Purpose.RESET_PASSWORD); transaction.setUin("mockUin"); @@ -2018,6 +2182,7 @@ public void doUpdatePassword_whenIdentityEndpointResponseIsNull_throwResetPasswo ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); resetPasswordRequest.setPassword("Password@2002"); resetPasswordRequest.setIdentifier("+85512345678"); + resetPasswordRequest.setLocale(locale); RegistrationTransaction transaction = new RegistrationTransaction(resetPasswordRequest.getIdentifier(), Purpose.RESET_PASSWORD); @@ -2058,6 +2223,7 @@ public void doUpdatePassword_whenIdentityEndpointReturnInvalidResponse_throwRese ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); resetPasswordRequest.setPassword("Password@2002"); resetPasswordRequest.setIdentifier("+85512345678"); + resetPasswordRequest.setLocale(locale); RegistrationTransaction transaction = new RegistrationTransaction(resetPasswordRequest.getIdentifier(), Purpose.RESET_PASSWORD); @@ -2100,6 +2266,7 @@ public void doUpdatePassword_whenIdentityEndpointReturnsError_throwErrorFromAnot ResetPasswordRequest resetPasswordRequest = new ResetPasswordRequest(); resetPasswordRequest.setPassword("Password@2002"); resetPasswordRequest.setIdentifier("+85512345678"); + resetPasswordRequest.setLocale(locale); RegistrationTransaction transaction = new RegistrationTransaction(resetPasswordRequest.getIdentifier(), Purpose.RESET_PASSWORD); @@ -2171,4 +2338,172 @@ public void doVerifyChallenge_withExpiredChallenge_throwChallengeExpired() throw Assert.assertEquals(ErrorConstants.CHALLENGE_EXPIRED, exception.getErrorCode()); } } + + @Test + public void doGetRegistrationStatusFromServer_withApplicationID_thenReturnPending() { + String transactionId = "TRAN-1234"; + RegistrationTransaction registrationTransaction = new RegistrationTransaction("+85577410541", Purpose.REGISTRATION); + registrationTransaction.setRegistrationStatus(RegistrationStatus.COMPLETED); + Map handlesStatus = new LinkedHashMap<>(); + handlesStatus.put(transactionId, RegistrationStatus.PENDING); + registrationTransaction.setHandlesStatus(handlesStatus); + RestResponseWrapper> mockRestResponseWrapper = new RestResponseWrapper<>(); + Map response = new LinkedHashMap<>(); + response.put("statusCode", "ISSUED"); + mockRestResponseWrapper.setResponse(response); + + when(cacheUtilService.getStatusCheckTransaction(transactionId)).thenReturn(registrationTransaction); + when(cacheUtilService.setStatusCheckTransaction(transactionId, registrationTransaction)).thenReturn(registrationTransaction); + when(selfTokenRestTemplate.exchange( + eq(getRegistrationStatusEndpoint), + eq(HttpMethod.GET), + eq(null), + any(ParameterizedTypeReference.class), + any(String.class))) + .thenReturn(new ResponseEntity<>(mockRestResponseWrapper, HttpStatus.OK)); + + RegistrationStatusResponse registrationStatusResponse = registrationService.getRegistrationStatus(transactionId); + + Assert.assertNotNull(registrationStatusResponse); + Assert.assertEquals(RegistrationStatus.PENDING, registrationStatusResponse.getStatus()); + } + + @Test + public void doGetRegistrationStatusFromServer_withApplicationID_thenReturnCompleted() { + String transactionId = "TRAN-1234"; + RegistrationTransaction registrationTransaction = new RegistrationTransaction("+85577410541", Purpose.REGISTRATION); + registrationTransaction.setRegistrationStatus(RegistrationStatus.COMPLETED); + Map handlesStatus = new LinkedHashMap<>(); + handlesStatus.put(transactionId, RegistrationStatus.PENDING); + registrationTransaction.setHandlesStatus(handlesStatus); + RestResponseWrapper> mockRestResponseWrapper = new RestResponseWrapper<>(); + Map response = new LinkedHashMap<>(); + response.put("statusCode", "STORED"); + mockRestResponseWrapper.setResponse(response); + + when(cacheUtilService.getStatusCheckTransaction(transactionId)).thenReturn(registrationTransaction); + when(cacheUtilService.setStatusCheckTransaction(transactionId, registrationTransaction)).thenReturn(registrationTransaction); + when(selfTokenRestTemplate.exchange( + eq(getRegistrationStatusEndpoint), + eq(HttpMethod.GET), + eq(null), + any(ParameterizedTypeReference.class), + any(String.class))) + .thenReturn(new ResponseEntity<>(mockRestResponseWrapper, HttpStatus.OK)); + + RegistrationStatusResponse registrationStatusResponse = registrationService.getRegistrationStatus(transactionId); + + Assert.assertNotNull(registrationStatusResponse); + Assert.assertEquals(RegistrationStatus.COMPLETED, registrationStatusResponse.getStatus()); + } + + @Test + public void doGetRegistrationStatusFromServer_withApplicationID_thenReturnFailed() { + String transactionId = "TRAN-1234"; + RegistrationTransaction registrationTransaction = new RegistrationTransaction("+85577410541", Purpose.REGISTRATION); + registrationTransaction.setRegistrationStatus(RegistrationStatus.COMPLETED); + Map handlesStatus = new LinkedHashMap<>(); + handlesStatus.put(transactionId, RegistrationStatus.PENDING); + registrationTransaction.setHandlesStatus(handlesStatus); + RestResponseWrapper> mockRestResponseWrapper = new RestResponseWrapper<>(); + Map response = new LinkedHashMap<>(); + response.put("statusCode", "FAILED"); + mockRestResponseWrapper.setResponse(response); + + when(cacheUtilService.getStatusCheckTransaction(transactionId)).thenReturn(registrationTransaction); + when(cacheUtilService.setStatusCheckTransaction(transactionId, registrationTransaction)).thenReturn(registrationTransaction); + when(selfTokenRestTemplate.exchange( + eq(getRegistrationStatusEndpoint), + eq(HttpMethod.GET), + eq(null), + any(ParameterizedTypeReference.class), + any(String.class))) + .thenReturn(new ResponseEntity<>(mockRestResponseWrapper, HttpStatus.OK)); + + RegistrationStatusResponse registrationStatusResponse = registrationService.getRegistrationStatus(transactionId); + + Assert.assertNotNull(registrationStatusResponse); + Assert.assertEquals(RegistrationStatus.FAILED, registrationStatusResponse.getStatus()); + } + + @Test + public void doGetRegistrationStatusFromServer_withNullRegistrationStatus_thenReturnPending() { + String transactionId = "TRAN-1234"; + RegistrationTransaction registrationTransaction = new RegistrationTransaction("+85577410541", Purpose.REGISTRATION); + registrationTransaction.setRegistrationStatus(RegistrationStatus.COMPLETED); + Map handlesStatus = new LinkedHashMap<>(); + handlesStatus.put(transactionId, RegistrationStatus.PENDING); + registrationTransaction.setHandlesStatus(handlesStatus); + + when(cacheUtilService.getStatusCheckTransaction(transactionId)).thenReturn(registrationTransaction); + when(cacheUtilService.setStatusCheckTransaction(transactionId, registrationTransaction)).thenReturn(registrationTransaction); + when(selfTokenRestTemplate.exchange( + eq(getRegistrationStatusEndpoint), + eq(HttpMethod.GET), + eq(null), + any(ParameterizedTypeReference.class), + any(String.class))) + .thenReturn(new ResponseEntity<>(null, HttpStatus.OK)); + + RegistrationStatusResponse registrationStatusResponse = registrationService.getRegistrationStatus(transactionId); + + Assert.assertNotNull(registrationStatusResponse); + Assert.assertEquals(RegistrationStatus.PENDING, registrationStatusResponse.getStatus()); + } + + @Test + public void doGetRegistrationStatusFromServer_withNullResponseBodyRegistrationStatus_thenReturnPending() { + String transactionId = "TRAN-1234"; + RegistrationTransaction registrationTransaction = new RegistrationTransaction("+85577410541", Purpose.REGISTRATION); + registrationTransaction.setRegistrationStatus(RegistrationStatus.COMPLETED); + Map handlesStatus = new LinkedHashMap<>(); + handlesStatus.put(transactionId, RegistrationStatus.PENDING); + registrationTransaction.setHandlesStatus(handlesStatus); + RestResponseWrapper> mockRestResponseWrapper = new RestResponseWrapper<>(); + mockRestResponseWrapper.setResponse(null); + + when(cacheUtilService.getStatusCheckTransaction(transactionId)).thenReturn(registrationTransaction); + when(cacheUtilService.setStatusCheckTransaction(transactionId, registrationTransaction)).thenReturn(registrationTransaction); + when(selfTokenRestTemplate.exchange( + eq(getRegistrationStatusEndpoint), + eq(HttpMethod.GET), + eq(null), + any(ParameterizedTypeReference.class), + any(String.class))) + .thenReturn(new ResponseEntity<>(mockRestResponseWrapper, HttpStatus.OK)); + + RegistrationStatusResponse registrationStatusResponse = registrationService.getRegistrationStatus(transactionId); + + Assert.assertNotNull(registrationStatusResponse); + Assert.assertEquals(RegistrationStatus.PENDING, registrationStatusResponse.getStatus()); + } + + @Test + public void doGetRegistrationStatusFromServer_withEmptyStatusCode_thenReturnPending() { + String transactionId = "TRAN-1234"; + RegistrationTransaction registrationTransaction = new RegistrationTransaction("+85577410541", Purpose.REGISTRATION); + registrationTransaction.setRegistrationStatus(RegistrationStatus.COMPLETED); + Map handlesStatus = new LinkedHashMap<>(); + handlesStatus.put(transactionId, RegistrationStatus.PENDING); + registrationTransaction.setHandlesStatus(handlesStatus); + RestResponseWrapper> mockRestResponseWrapper = new RestResponseWrapper<>(); + Map response = new LinkedHashMap<>(); + response.put("statusCode", ""); + mockRestResponseWrapper.setResponse(response); + + when(cacheUtilService.getStatusCheckTransaction(transactionId)).thenReturn(registrationTransaction); + when(cacheUtilService.setStatusCheckTransaction(transactionId, registrationTransaction)).thenReturn(registrationTransaction); + when(selfTokenRestTemplate.exchange( + eq(getRegistrationStatusEndpoint), + eq(HttpMethod.GET), + eq(null), + any(ParameterizedTypeReference.class), + any(String.class))) + .thenReturn(new ResponseEntity<>(mockRestResponseWrapper, HttpStatus.OK)); + + RegistrationStatusResponse registrationStatusResponse = registrationService.getRegistrationStatus(transactionId); + + Assert.assertNotNull(registrationStatusResponse); + Assert.assertEquals(RegistrationStatus.PENDING, registrationStatusResponse.getStatus()); + } } diff --git a/signup-ui/.env b/signup-ui/.env new file mode 100644 index 00000000..80a0115c --- /dev/null +++ b/signup-ui/.env @@ -0,0 +1 @@ +REACT_APP_API_BASE_URL="http://localhost:8088/v1/signup" diff --git a/signup-ui/Dockerfile b/signup-ui/Dockerfile index 8d73dc7d..4828ba9f 100644 --- a/signup-ui/Dockerfile +++ b/signup-ui/Dockerfile @@ -1,7 +1,20 @@ FROM node:12.18.4-alpine as build_signup_ui +ARG uiDefaultTheme +ENV DEFAULT_THEME=$uiDefaultTheme + +ARG defaultLang +ENV DEFAULT_LANG=$defaultLang + +ARG defaultFevicon +ENV DEFAULT_FEVICON=$defaultFevicon + +ARG defaultTitle +ENV DEFAULT_TITLE=$defaultTitle + ARG signUpPublicUrl ENV PUBLIC_URL=$signUpPublicUrl +ENV SIGNUP_UI_PUBLIC_URL=$signUpPublicUrl COPY package*.json ./ RUN npm install @@ -36,9 +49,12 @@ ARG container_user_uid=1001 # can be passed during Docker build as build time environment for github branch to pickup configuration from. ARG container_user_gid=1001 +ARG artifactory_url +ENV artifactory_url_env=${artifactory_url} ENV nginx_dir=/usr/share/nginx ENV work_dir=${nginx_dir}/html ENV i18n_path=${work_dir}/locales +ENV theme_path=${work_dir}/theme ENV plugins_path=${nginx_dir}/html/plugins ENV plugins_format=iife @@ -51,10 +67,16 @@ RUN groupadd -g ${container_user_gid} ${container_user_group} \ && mkdir -p /var/run/nginx /var/tmp/nginx ${i18n_path} ${plugins_path} ${plugins_path}/temp \ && chown -R ${container_user}:${container_user} /usr/share/nginx /var/run/nginx /var/tmp/nginx ${i18n_path} ${plugins_path} ${plugins_path}/temp +ADD configure_start.sh configure_start.sh + +RUN chmod +x configure_start.sh + COPY ./nginx/nginx.conf /etc/nginx/nginx.conf # copy build files to nginx html directory COPY --from=build_signup_ui /build ${work_dir} +RUN echo "DEFAULT_THEME=$DEFAULT_THEME" >> ${work_dir}/env.env && echo "DEFAULT_LANG=$DEFAULT_LANG" >> ${work_dir}/env.env && echo "DEFAULT_FEVICON=$DEFAULT_FEVICON" >> ${work_dir}/env.env env && echo "DEFAULT_TITLE=$DEFAULT_TITLE" >> ${work_dir}/env.env + RUN chown -R ${container_user}:${container_user} /home/${container_user} # change permissions of file inside working dir @@ -64,6 +86,8 @@ RUN chown -R ${container_user}:${container_user} ${work_dir} USER ${container_user_uid}:${container_user_gid} EXPOSE 3000 +ENTRYPOINT [ "./configure_start.sh" ] + CMD echo "starting nginx" ; \ nginx ; \ sleep infinity diff --git a/signup-ui/configure_start.sh b/signup-ui/configure_start.sh new file mode 100755 index 00000000..d44cb7b8 --- /dev/null +++ b/signup-ui/configure_start.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +#installs the pre-requisites. +set -e + +echo "Downloading pre-requisites started." + +#i18n bundle +echo "Downloading i18n bundle files" +wget --no-check-certificate --no-cache --no-cookies $artifactory_url_env/artifactory/libs-release-local/i18n/esignet-signup-i18n-bundle.zip -O $i18n_path/esignet-signup-i18n-bundle.zip + +echo "unzip i18n bundle files.." +chmod 775 $i18n_path/* + +cd $i18n_path +unzip -o esignet-signup-i18n-bundle.zip +rm esignet-signup-i18n-bundle.zip + +#theme bundle +echo "Downloading theme bundle files" +wget --no-check-certificate --no-cache --no-cookies $artifactory_url_env/artifactory/libs-release-local/theme/esignet-signup-theme.zip -O $theme_path/esignet-signup-theme.zip + +echo "unzip i18n bundle files.." +chmod 775 $theme_path/* + +cd $theme_path +unzip -o esignet-signup-theme.zip +rm esignet-signup-theme.zip + +echo "Pre-requisites download completed." + +workingDir=$nginx_dir/html + +echo "generating env-config file" + +echo "window._env_ = {" > ${workingDir}/env-config.js +awk -F '=' '{ print $1 ": \"" (ENVIRON[$1] ? ENVIRON[$1] : $2) "\"," }' ${workingDir}/env.env >> ${workingDir}/env-config.js +echo "}" >> ${workingDir}/env-config.js + +echo "generation of env-config file completed!" + +exec "$@" diff --git a/signup-ui/package-lock.json b/signup-ui/package-lock.json index b29cffbd..551747e9 100644 --- a/signup-ui/package-lock.json +++ b/signup-ui/package-lock.json @@ -8,7 +8,10 @@ "name": "signup-ui", "version": "0.1.0", "dependencies": { + "@cospired/i18n-iso-languages": "^4.2.0", "@craco/craco": "^7.1.0", + "@fontsource-variable/inter": "^5.0.15", + "@fontsource-variable/kantumruy-pro": "^5.0.9", "@hookform/resolvers": "^3.3.2", "@radix-ui/react-alert-dialog": "^1.0.5", "@radix-ui/react-checkbox": "^1.0.4", @@ -18,6 +21,7 @@ "@radix-ui/react-popover": "^1.0.7", "@radix-ui/react-select": "^2.0.0", "@radix-ui/react-slot": "^1.0.2", + "@storybook/addon-measure": "^7.6.0", "@tailwindcss/line-clamp": "^0.4.4", "@tanstack/react-query": "^5.8.4", "@testing-library/jest-dom": "^5.17.0", @@ -40,6 +44,8 @@ "intl-messageformat": "^10.5.8", "libphonenumber-js": "^1.10.49", "lodash": "^4.17.21", + "lucide-react": "^0.294.0", + "platform": "^1.3.6", "react": "^18.2.0", "react-dom": "^18.2.0", "react-google-recaptcha": "^3.1.0", @@ -50,18 +56,29 @@ "react-router-dom": "^6.17.0", "react-scripts": "^5.0.1", "react-select": "^5.7.7", + "react-timer-hook": "^3.0.7", "react-tooltip": "^5.21.6", "rooks": "^7.14.1", "tailwind-merge": "^2.0.0", "tailwindcss-animate": "^1.0.7", "typescript": "^4.9.5", "web-vitals": "^2.1.4", - "yup": "^1.3.2" + "yup": "^1.3.2", + "zustand": "^4.4.6" }, "devDependencies": { "@ianvs/prettier-plugin-sort-imports": "^4.1.1", + "@storybook/addon-essentials": "^7.6.0", + "@storybook/addon-interactions": "^7.6.0", + "@storybook/addon-links": "^7.6.0", + "@storybook/blocks": "^7.6.0", + "@storybook/preset-create-react-app": "^7.6.0", + "@storybook/react": "^7.6.0", + "@storybook/react-webpack5": "^7.6.0", + "@storybook/test": "^7.6.0", "@tanstack/react-query-devtools": "^5.8.4", "@types/lodash": "^4.14.200", + "@types/platform": "^1.3.6", "@types/react-google-recaptcha": "^2.1.7", "autoprefixer": "^10.4.16", "craco-alias": "^3.0.1", @@ -70,10 +87,16 @@ "eslint-plugin-jsdoc": "^46.8.2", "eslint-plugin-prettier": "^5.0.1", "postcss": "^8.4.31", + "prettier": "^3.1.0", + "prettier-plugin-tailwindcss": "^0.5.7", + "prop-types": "^15.8.1", "react-dev-inspector": "^2.0.0", - "tailwindcss": "^3.3.5", + "storybook": "^7.6.0", + "tailwindcss": "^3.4.1", "tailwindcss-dir": "^4.0.0", - "type-fest": "^4.6.0" + "tsconfig-paths-webpack-plugin": "^4.1.0", + "type-fest": "^4.6.0", + "webpack": "^5.89.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -85,9 +108,9 @@ } }, "node_modules/@adobe/css-tools": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.1.tgz", - "integrity": "sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==" + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz", + "integrity": "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==" }, "node_modules/@alloc/quick-lru": { "version": "5.2.0", @@ -112,41 +135,53 @@ "node": ">=6.0.0" } }, + "node_modules/@aw-web-design/x-default-browser": { + "version": "1.4.126", + "resolved": "https://registry.npmjs.org/@aw-web-design/x-default-browser/-/x-default-browser-1.4.126.tgz", + "integrity": "sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug==", + "dev": true, + "dependencies": { + "default-browser-id": "3.0.0" + }, + "bin": { + "x-default-browser": "bin/x-default-browser.js" + } + }, "node_modules/@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" }, "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==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.1.tgz", + "integrity": "sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", - "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz", + "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==", "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", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.1", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.1", + "@babel/parser": "^7.24.1", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -203,13 +238,13 @@ } }, "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.1.tgz", + "integrity": "sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==", "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", "jsesc": "^2.5.1" }, "engines": { @@ -239,13 +274,13 @@ } }, "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==", + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", "lru-cache": "^5.1.1", "semver": "^6.3.1" }, @@ -384,9 +419,9 @@ } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", - "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", + "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", @@ -413,9 +448,9 @@ } }, "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==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", "engines": { "node": ">=6.9.0" } @@ -486,9 +521,9 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==", "engines": { "node": ">=6.9.0" } @@ -502,9 +537,9 @@ } }, "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==", + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", "engines": { "node": ">=6.9.0" } @@ -523,35 +558,36 @@ } }, "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==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.1.tgz", + "integrity": "sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==", "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.23.2", - "@babel/types": "^7.23.0" + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", + "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==", "bin": { "parser": "bin/babel-parser.js" }, @@ -783,11 +819,11 @@ } }, "node_modules/@babel/plugin-syntax-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", - "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.1.tgz", + "integrity": "sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0" }, "engines": { "node": ">=6.9.0" @@ -1215,12 +1251,12 @@ } }, "node_modules/@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", - "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.1.tgz", + "integrity": "sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-flow": "^7.24.1" }, "engines": { "node": ">=6.9.0" @@ -1942,6 +1978,23 @@ "semver": "bin/semver.js" } }, + "node_modules/@babel/preset-flow": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.1.tgz", + "integrity": "sha512-sWCV2G9pcqZf+JHyv/RyqEIpFypxdCSxWIxQjpdaQxenNog7cN1pr76hg8u0Fz8Qgg0H4ETkGcJnXL8d4j0PPA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-transform-flow-strip-types": "^7.24.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", @@ -1992,6 +2045,143 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/register": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz", + "integrity": "sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.6", + "source-map-support": "^0.5.16" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/register/node_modules/find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/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==", + "dev": true, + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/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==", + "dev": true, + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/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==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@babel/register/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==", + "dev": true, + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/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==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/register/node_modules/pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "dependencies": { + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@babel/register/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "bin": { + "semver": "bin/semver" + } + }, "node_modules/@babel/regjsgen": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", @@ -2009,32 +2199,32 @@ } }, "node_modules/@babel/template": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", - "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", "@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", + "@babel/parser": "^7.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", "globals": "^11.1.0" }, "engines": { @@ -2042,11 +2232,11 @@ } }, "node_modules/@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", "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" }, @@ -2054,11 +2244,27 @@ "node": ">=6.9.0" } }, + "node_modules/@base2/pretty-print-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz", + "integrity": "sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==", + "dev": true + }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" }, + "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==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, "node_modules/@craco/craco": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/@craco/craco/-/craco-7.1.0.tgz", @@ -2372,6 +2578,15 @@ "postcss-selector-parser": "^6.0.10" } }, + "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==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, "node_modules/@emotion/babel-plugin": { "version": "11.11.0", "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", @@ -2513,6 +2728,358 @@ "node": ">=16" } }, + "node_modules/@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@eslint-community/eslint-utils": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", @@ -2590,6 +3157,12 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@fal-works/esbuild-plugin-global-externals": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz", + "integrity": "sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==", + "dev": true + }, "node_modules/@floating-ui/core": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz", @@ -2624,6 +3197,16 @@ "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz", "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==" }, + "node_modules/@fontsource-variable/inter": { + "version": "5.0.17", + "resolved": "https://registry.npmjs.org/@fontsource-variable/inter/-/inter-5.0.17.tgz", + "integrity": "sha512-sa80nNnqF8kzhBvqusWiL9vlPMVpdmOwMmDBup46Jggsr1VBqo+YuzwB36Ls+X6uHJtb8Yv3ALBHL/zGmT862A==" + }, + "node_modules/@fontsource-variable/kantumruy-pro": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/@fontsource-variable/kantumruy-pro/-/kantumruy-pro-5.0.13.tgz", + "integrity": "sha512-H5fhrc2fQCFcFvRdNpElfE70KdBHxaa5eZhC9BCVo8RzI/xtlsjBSrU4es/FW1CS/mujtHcDfv2jrLfmtFfWig==" + }, "node_modules/@formatjs/ecma402-abstract": { "version": "1.18.0", "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.18.0.tgz", @@ -2778,6 +3361,96 @@ } } }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/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==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/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==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/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==", + "dev": true, + "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/@isaacs/cliui/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==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/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==", + "dev": true, + "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/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -3292,6 +3965,21 @@ "node": ">=8" } }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/@jest/expect-utils": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", @@ -3303,6 +3991,274 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/@jest/expect/node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/expect/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "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/expect/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/@jest/expect/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/@jest/expect/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/expect/node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/@jest/expect/node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/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==", + "dev": true, + "optional": true, + "peer": true, + "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/expect/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==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@jest/expect/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/@jest/expect/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/@jest/expect/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/expect/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, "node_modules/@jest/fake-timers": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", @@ -4141,13 +5097,13 @@ } }, "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==", + "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.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -4162,9 +5118,9 @@ } }, "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==", + "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" } @@ -4184,19 +5140,53 @@ "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==", + "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/@juggle/resize-observer": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", + "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==", + "dev": true + }, "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/@mdx-js/react": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz", + "integrity": "sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==", + "dev": true, + "dependencies": { + "@types/mdx": "^2.0.0", + "@types/react": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "react": ">=16" + } + }, + "node_modules/@ndelangen/get-tarball": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@ndelangen/get-tarball/-/get-tarball-3.0.9.tgz", + "integrity": "sha512-9JKTEik4vq+yGosHYhZ1tiH/3WpUS0Nh0kej4Agndhox8pAdWhEx5knFVRcb/ya9knCRCs1rPxNrSXTDdfVqpA==", + "dev": true, + "dependencies": { + "gunzip-maybe": "^1.4.2", + "pump": "^3.0.0", + "tar-fs": "^2.1.1" + } + }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { "version": "5.1.1-v1", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", @@ -4257,6 +5247,16 @@ "node": ">= 8" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@pkgr/utils": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", @@ -4988,6 +5988,30 @@ } } }, + "node_modules/@radix-ui/react-separator": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.3.tgz", + "integrity": "sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-slot": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", @@ -5006,6 +6030,92 @@ } } }, + "node_modules/@radix-ui/react-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.0.3.tgz", + "integrity": "sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toggle-group": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.0.4.tgz", + "integrity": "sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-toggle": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-toolbar": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toolbar/-/react-toolbar-1.0.4.tgz", + "integrity": "sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-separator": "1.0.3", + "@radix-ui/react-toggle-group": "1.0.4" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, "node_modules/@radix-ui/react-use-callback-ref": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", @@ -5348,421 +6458,590 @@ "@sinonjs/commons": "^1.7.0" } }, - "node_modules/@surma/rollup-plugin-off-main-thread": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", - "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", + "node_modules/@storybook/addon-actions": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.6.17.tgz", + "integrity": "sha512-TBphs4v6LRfyTpFo/WINF0TkMaE3rrNog7wW5mbz6n0j8o53kDN4o9ZEcygSL5zQX43CAaghQTeDCss7ueG7ZQ==", + "dev": true, "dependencies": { - "ejs": "^3.1.6", - "json5": "^2.2.0", - "magic-string": "^0.25.0", - "string.prototype.matchall": "^4.0.6" - } - }, - "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" + "@storybook/core-events": "7.6.17", + "@storybook/global": "^5.0.0", + "@types/uuid": "^9.0.1", + "dequal": "^2.0.2", + "polished": "^4.2.2", + "uuid": "^9.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "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/@storybook/addon-actions/node_modules/uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist/bin/uuid" } }, - "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" + "node_modules/@storybook/addon-backgrounds": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.6.17.tgz", + "integrity": "sha512-7dize7x8+37PH77kmt69b0xSaeDqOcZ4fpzW6+hk53hIaCVU26eGs4+j+743Xva31eOgZWNLupUhOpUDc6SqZw==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3", + "ts-dedent": "^2.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "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" + "node_modules/@storybook/addon-controls": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.6.17.tgz", + "integrity": "sha512-zR0aLaUF7FtV/nMRyfniFbCls/e0DAAoXACuOAUAwNAv0lbIS8AyZZiHSmKucCvziUQ6WceeCC7+du3C+9y0rQ==", + "dev": true, + "dependencies": { + "@storybook/blocks": "7.6.17", + "lodash": "^4.17.21", + "ts-dedent": "^2.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "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" + "node_modules/@storybook/addon-docs": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.6.17.tgz", + "integrity": "sha512-FKa4Mdy7nhgvEVZJHpMkHriDzpVHbohn87zv9NCL+Ctjs1iAmzGwxEm0culszyDS1HN2ToVoY0h8CSi2RSSZqA==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.3.1", + "@mdx-js/react": "^2.1.5", + "@storybook/blocks": "7.6.17", + "@storybook/client-logger": "7.6.17", + "@storybook/components": "7.6.17", + "@storybook/csf-plugin": "7.6.17", + "@storybook/csf-tools": "7.6.17", + "@storybook/global": "^5.0.0", + "@storybook/mdx2-csf": "^1.0.0", + "@storybook/node-logger": "7.6.17", + "@storybook/postinstall": "7.6.17", + "@storybook/preview-api": "7.6.17", + "@storybook/react-dom-shim": "7.6.17", + "@storybook/theming": "7.6.17", + "@storybook/types": "7.6.17", + "fs-extra": "^11.1.0", + "remark-external-links": "^8.0.0", + "remark-slug": "^6.0.0", + "ts-dedent": "^2.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "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" + "node_modules/@storybook/addon-docs/node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/@storybook/addon-docs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=10" + "node": ">=8" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/@storybook/addon-docs/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/@storybook/addon-docs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "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" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=7.0.0" } }, - "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==", + "node_modules/@storybook/addon-docs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@storybook/addon-docs/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, "dependencies": { - "@svgr/plugin-jsx": "^5.5.0", - "camelcase": "^6.2.0", - "cosmiconfig": "^7.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=14.14" } }, - "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==", + "node_modules/@storybook/addon-docs/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/@storybook/addon-docs/node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, "dependencies": { - "@babel/types": "^7.12.6" + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "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==", + "node_modules/@storybook/addon-docs/node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@storybook/addon-docs/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==", + "dev": true, "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" + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/@storybook/addon-docs/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==", + "dev": true, "dependencies": { - "cosmiconfig": "^7.0.0", - "deepmerge": "^4.2.2", - "svgo": "^1.2.2" + "has-flag": "^4.0.0" }, "engines": { "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/@svgr/webpack": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@svgr/webpack/-/webpack-5.5.0.tgz", - "integrity": "sha512-DOBOK255wfQxguUta2INKkzPj6AIS6iafZYiYmHn6W3pHlycSRRlvWKCfLDG10fXfLWqE3DJHgRUOyJYmARa7g==", + "node_modules/@storybook/addon-docs/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "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" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/gregberge" + "node": ">=8" } }, - "node_modules/@svgr/webpack/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==", + "node_modules/@storybook/addon-docs/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": ">=8.9.0" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/@tailwindcss/line-clamp": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.4.4.tgz", - "integrity": "sha512-5U6SY5z8N42VtrCrKlsTAA35gy2VSyYtHWCsg1H87NU1SXnEfekTVlrga9fzUDrrHcGi2Lb5KenUWb4lRQT5/g==", + "node_modules/@storybook/addon-essentials": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.6.17.tgz", + "integrity": "sha512-qlSpamxuYfT2taF953nC9QijGF2pSbg1ewMNpdwLTj16PTZvR/d8NCDMTJujI1bDwM2m18u8Yc43ibh5LEmxCw==", + "dev": true, + "dependencies": { + "@storybook/addon-actions": "7.6.17", + "@storybook/addon-backgrounds": "7.6.17", + "@storybook/addon-controls": "7.6.17", + "@storybook/addon-docs": "7.6.17", + "@storybook/addon-highlight": "7.6.17", + "@storybook/addon-measure": "7.6.17", + "@storybook/addon-outline": "7.6.17", + "@storybook/addon-toolbars": "7.6.17", + "@storybook/addon-viewport": "7.6.17", + "@storybook/core-common": "7.6.17", + "@storybook/manager-api": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/preview-api": "7.6.17", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, "peerDependencies": { - "tailwindcss": ">=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@tanstack/query-core": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.8.3.tgz", - "integrity": "sha512-SWFMFtcHfttLYif6pevnnMYnBvxKf3C+MHMH7bevyYfpXpTMsLB9O6nNGBdWSoPwnZRXFNyNeVZOw25Wmdasow==", + "node_modules/@storybook/addon-highlight": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.6.17.tgz", + "integrity": "sha512-R1yBPUUqGn+60aJakn8q+5Zt34E/gU3n3VmgPdryP0LJUdZ5q1/RZShoVDV+yYQ40htMH6oaCv3OyyPzFAGJ6A==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@tanstack/query-devtools": { - "version": "5.8.4", - "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.8.4.tgz", - "integrity": "sha512-F1dRbITNt9tMUoM9WCH8WQ2c54116hv52m/PKK8ZiN/pO2wGVzTZtKuLanF8pFpwmNchjIixcMw/a57HY5ivcw==", + "node_modules/@storybook/addon-interactions": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.6.17.tgz", + "integrity": "sha512-6zlX+RDQ1PlA6fp7C+hun8t7h2RXfCGs5dGrhEenp2lqnR/rYuUJRC0tmKpkZBb8kZVcbSChzkB/JYkBjBCzpQ==", "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0", + "@storybook/types": "7.6.17", + "jest-mock": "^27.0.6", + "polished": "^4.2.2", + "ts-dedent": "^2.2.0" + }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@tanstack/react-query": { - "version": "5.8.4", - "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.8.4.tgz", - "integrity": "sha512-CD+AkXzg8J72JrE6ocmuBEJfGzEzu/bzkD6sFXFDDB5yji9N20JofXZlN6n0+CaPJuIi+e4YLCbGsyPFKkfNQA==", + "node_modules/@storybook/addon-links": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.6.17.tgz", + "integrity": "sha512-iFUwKObRn0EKI0zMETsil2p9a/81rCuSMEWECsi+khkCAs1FUnD2cT6Ag5ydcNcBXsdtdfDJdtXQrkw+TSoStQ==", + "dev": true, "dependencies": { - "@tanstack/query-core": "5.8.3" + "@storybook/csf": "^0.1.2", + "@storybook/global": "^5.0.0", + "ts-dedent": "^2.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" + "type": "opencollective", + "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0", - "react-native": "*" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" }, "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { + "react": { "optional": true } } }, - "node_modules/@tanstack/react-query-devtools": { - "version": "5.8.4", - "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.8.4.tgz", - "integrity": "sha512-mffs51FJqXU/5rwhbwv393DccL6et7uK2pRLwOcmMrWbPyW8vpxr9oidaghHX4cdVeP/7u5owW9yMpBhBAJfcQ==", - "dev": true, + "node_modules/@storybook/addon-measure": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.6.17.tgz", + "integrity": "sha512-O5vnHZNkduvZ95jf1UssbOl6ivIxzl5tv+4EpScPYId7w700bxWsJH+QX7ip6KlrCf2o3iUhmPe8bm05ghG2KA==", "dependencies": { - "@tanstack/query-devtools": "5.8.4" + "@storybook/global": "^5.0.0", + "tiny-invariant": "^1.3.1" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "@tanstack/react-query": "^5.8.4", - "react": "^18.0.0", - "react-dom": "^18.0.0" + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@testing-library/dom": { - "version": "9.3.3", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", - "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", - "peer": true, + "node_modules/@storybook/addon-outline": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.6.17.tgz", + "integrity": "sha512-9o9JXDsYjNaDgz/cY5+jv694+aik/1aiRGGvsCv68e1p/ob0glkGKav4lnJe2VJqD+gCmaARoD8GOJlhoQl8JQ==", + "dev": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", - "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" + "@storybook/global": "^5.0.0", + "ts-dedent": "^2.0.0" }, - "engines": { - "node": ">=14" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@testing-library/dom/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==", - "peer": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, + "node_modules/@storybook/addon-toolbars": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.6.17.tgz", + "integrity": "sha512-UMrchbUHiyWrh6WuGnpy34Jqzkx/63B+MSgb3CW7YsQaXz64kE0Rol0TNSznnB+mYXplcqH+ndI4r4kFsmgwDg==", + "dev": true, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@testing-library/dom/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, + "node_modules/@storybook/addon-viewport": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.6.17.tgz", + "integrity": "sha512-sA0QCcf4QAMixWvn8uvRYPfkKCSl6JajJaAspoPqXSxHEpK7uwOlpg3kqFU5XJJPXD0X957M+ONgNvBzYqSpEw==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" + "memoizerific": "^1.11.3" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@testing-library/dom/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==", - "peer": true, + "node_modules/@storybook/blocks": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.17.tgz", + "integrity": "sha512-PsNVoe0bX1mMn4Kk3nbKZ0ItDZZ0YJnYAFJ6toAbsyBAbgzg1sce88sQinzvbn58/RT9MPKeWMPB45ZS7ggiNg==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "@storybook/channels": "7.6.17", + "@storybook/client-logger": "7.6.17", + "@storybook/components": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/csf": "^0.1.2", + "@storybook/docs-tools": "7.6.17", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.6.17", + "@storybook/preview-api": "7.6.17", + "@storybook/theming": "7.6.17", + "@storybook/types": "7.6.17", + "@types/lodash": "^4.14.167", + "color-convert": "^2.0.1", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "markdown-to-jsx": "^7.1.8", + "memoizerific": "^1.11.3", + "polished": "^4.2.2", + "react-colorful": "^5.1.2", + "telejson": "^7.2.0", + "tocbot": "^4.20.1", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@storybook/blocks/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" }, "engines": { "node": ">=7.0.0" } }, - "node_modules/@testing-library/dom/node_modules/color-name": { + "node_modules/@storybook/blocks/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==", - "peer": true + "dev": true }, - "node_modules/@testing-library/dom/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==", - "peer": true, - "engines": { - "node": ">=8" + "node_modules/@storybook/builder-manager": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.17.tgz", + "integrity": "sha512-Sj8hcDYiPCCMfeLzus37czl0zdrAxAz4IyYam2jBjVymrIrcDAFyL1OCZvnq33ft179QYQWhUs9qwzVmlR/ZWg==", + "dev": true, + "dependencies": { + "@fal-works/esbuild-plugin-global-externals": "^2.1.2", + "@storybook/core-common": "7.6.17", + "@storybook/manager": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@types/ejs": "^3.1.1", + "@types/find-cache-dir": "^3.2.1", + "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", + "browser-assert": "^1.2.1", + "ejs": "^3.1.8", + "esbuild": "^0.18.0", + "esbuild-plugin-alias": "^0.2.1", + "express": "^4.17.3", + "find-cache-dir": "^3.0.0", + "fs-extra": "^11.1.0", + "process": "^0.11.10", + "util": "^0.12.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@testing-library/dom/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==", - "peer": true, + "node_modules/@storybook/builder-manager/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": ">=8" + "node": ">=14.14" } }, - "node_modules/@testing-library/jest-dom": { - "version": "5.17.0", - "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", - "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", + "node_modules/@storybook/builder-webpack5": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.6.17.tgz", + "integrity": "sha512-GMaBd8/RzivuAmWrYSt9Rga3j8WLcu5LCMYiPVs+XKXsKAC8lTkV0WRWh8Nk6wTmfzsRQ2acwFjSG5oE4ClZKA==", + "dev": true, "dependencies": { - "@adobe/css-tools": "^4.0.1", - "@babel/runtime": "^7.9.2", - "@types/testing-library__jest-dom": "^5.9.1", - "aria-query": "^5.0.0", - "chalk": "^3.0.0", - "css.escape": "^1.5.1", - "dom-accessibility-api": "^0.5.6", - "lodash": "^4.17.15", - "redent": "^3.0.0" + "@babel/core": "^7.23.2", + "@storybook/channels": "7.6.17", + "@storybook/client-logger": "7.6.17", + "@storybook/core-common": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/core-webpack": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/preview": "7.6.17", + "@storybook/preview-api": "7.6.17", + "@swc/core": "^1.3.82", + "@types/node": "^18.0.0", + "@types/semver": "^7.3.4", + "babel-loader": "^9.0.0", + "browser-assert": "^1.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "cjs-module-lexer": "^1.2.3", + "constants-browserify": "^1.0.0", + "css-loader": "^6.7.1", + "es-module-lexer": "^1.4.1", + "express": "^4.17.3", + "fork-ts-checker-webpack-plugin": "^8.0.0", + "fs-extra": "^11.1.0", + "html-webpack-plugin": "^5.5.0", + "magic-string": "^0.30.5", + "path-browserify": "^1.0.1", + "process": "^0.11.10", + "semver": "^7.3.7", + "style-loader": "^3.3.1", + "swc-loader": "^0.2.3", + "terser-webpack-plugin": "^5.3.1", + "ts-dedent": "^2.0.0", + "url": "^0.11.0", + "util": "^0.12.4", + "util-deprecate": "^1.0.2", + "webpack": "5", + "webpack-dev-middleware": "^6.1.1", + "webpack-hot-middleware": "^2.25.1", + "webpack-virtual-modules": "^0.5.0" }, - "engines": { - "node": ">=8", - "npm": ">=6", - "yarn": ">=1" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@testing-library/jest-dom/node_modules/ansi-styles": { + "node_modules/@storybook/builder-webpack5/node_modules/@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -5773,22 +7052,44 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@testing-library/jest-dom/node_modules/chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "node_modules/@storybook/builder-webpack5/node_modules/babel-loader": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "dev": true, + "dependencies": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@testing-library/jest-dom/node_modules/color-convert": { + "node_modules/@storybook/builder-webpack5/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -5796,23 +7097,266 @@ "node": ">=7.0.0" } }, - "node_modules/@testing-library/jest-dom/node_modules/color-name": { + "node_modules/@storybook/builder-webpack5/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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/@testing-library/jest-dom/node_modules/has-flag": { + "node_modules/@storybook/builder-webpack5/node_modules/find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "dependencies": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, + "dependencies": { + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/fork-ts-checker-webpack-plugin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz", + "integrity": "sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "fs-extra": "^10.0.0", + "memfs": "^3.4.1", + "minimatch": "^3.0.4", + "node-abort-controller": "^3.0.1", + "schema-utils": "^3.1.1", + "semver": "^7.3.5", + "tapable": "^2.2.1" + }, + "engines": { + "node": ">=12.13.0", + "yarn": ">=1.0.0" + }, + "peerDependencies": { + "typescript": ">3.6.0", + "webpack": "^5.11.0" + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/fork-ts-checker-webpack-plugin/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==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/fork-ts-checker-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==", + "dev": true, + "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/@storybook/builder-webpack5/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/@testing-library/jest-dom/node_modules/supports-color": { + "node_modules/@storybook/builder-webpack5/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==", + "dev": true + }, + "node_modules/@storybook/builder-webpack5/node_modules/locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, + "dependencies": { + "p-locate": "^6.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, + "dependencies": { + "p-limit": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dev": true, + "dependencies": { + "find-up": "^6.3.0" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@storybook/builder-webpack5/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==", + "dev": true, + "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/@storybook/builder-webpack5/node_modules/schema-utils/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "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/@storybook/builder-webpack5/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==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -5820,45 +7364,134 @@ "node": ">=8" } }, - "node_modules/@testing-library/react": { - "version": "13.4.0", - "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", - "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", + "node_modules/@storybook/builder-webpack5/node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@storybook/builder-webpack5/node_modules/webpack-dev-middleware": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.2.tgz", + "integrity": "sha512-Wu+EHmX326YPYUpQLKmKbTyZZJIB8/n6R09pTmB03kJmnMsVPTo9COzHZFr01txwaCAuZvfBJE4ZCHRcKs5JaQ==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.12.5", - "@testing-library/dom": "^8.5.0", - "@types/react-dom": "^18.0.0" + "colorette": "^2.0.10", + "memfs": "^3.4.12", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" }, "engines": { - "node": ">=12" + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true + } } }, - "node_modules/@testing-library/react/node_modules/@testing-library/dom": { - "version": "8.20.1", - "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", - "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", + "node_modules/@storybook/builder-webpack5/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@storybook/channels": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz", + "integrity": "sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==", + "dev": true, "dependencies": { - "@babel/code-frame": "^7.10.4", - "@babel/runtime": "^7.12.5", - "@types/aria-query": "^5.0.1", - "aria-query": "5.1.3", + "@storybook/client-logger": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/cli": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.6.17.tgz", + "integrity": "sha512-1sCo+nCqyR+nKfTcEidVu8XzNoECC7Y1l+uW38/r7s2f/TdDorXaIGAVrpjbSaXSoQpx5DxYJVaKCcQuOgqwcA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/types": "^7.23.0", + "@ndelangen/get-tarball": "^3.0.7", + "@storybook/codemod": "7.6.17", + "@storybook/core-common": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/core-server": "7.6.17", + "@storybook/csf-tools": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/telemetry": "7.6.17", + "@storybook/types": "7.6.17", + "@types/semver": "^7.3.4", + "@yarnpkg/fslib": "2.10.3", + "@yarnpkg/libzip": "2.3.0", "chalk": "^4.1.0", - "dom-accessibility-api": "^0.5.9", - "lz-string": "^1.5.0", - "pretty-format": "^27.0.2" + "commander": "^6.2.1", + "cross-spawn": "^7.0.3", + "detect-indent": "^6.1.0", + "envinfo": "^7.7.3", + "execa": "^5.0.0", + "express": "^4.17.3", + "find-up": "^5.0.0", + "fs-extra": "^11.1.0", + "get-npm-tarball-url": "^2.0.3", + "get-port": "^5.1.1", + "giget": "^1.0.0", + "globby": "^11.0.2", + "jscodeshift": "^0.15.1", + "leven": "^3.1.0", + "ora": "^5.4.1", + "prettier": "^2.8.0", + "prompts": "^2.4.0", + "puppeteer-core": "^2.1.1", + "read-pkg-up": "^7.0.1", + "semver": "^7.3.7", + "strip-json-comments": "^3.0.1", + "tempy": "^1.0.1", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" }, - "engines": { - "node": ">=12" + "bin": { + "getstorybook": "bin/index.js", + "sb": "bin/index.js" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@testing-library/react/node_modules/ansi-styles": { + "node_modules/@storybook/cli/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -5869,10 +7502,11 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@testing-library/react/node_modules/chalk": { + "node_modules/@storybook/cli/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5884,10 +7518,11 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@testing-library/react/node_modules/color-convert": { + "node_modules/@storybook/cli/node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -5895,23 +7530,64 @@ "node": ">=7.0.0" } }, - "node_modules/@testing-library/react/node_modules/color-name": { + "node_modules/@storybook/cli/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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/@testing-library/react/node_modules/has-flag": { + "node_modules/@storybook/cli/node_modules/commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@storybook/cli/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/@storybook/cli/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/@testing-library/react/node_modules/supports-color": { + "node_modules/@storybook/cli/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/@storybook/cli/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -5919,583 +7595,1055 @@ "node": ">=8" } }, - "node_modules/@testing-library/user-event": { - "version": "13.5.0", - "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", - "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "node_modules/@storybook/cli/node_modules/tempy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz", + "integrity": "sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.12.5" + "del": "^6.0.0", + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" }, "engines": { - "node": ">=10", - "npm": ">=6" + "node": ">=10" }, - "peerDependencies": { - "@testing-library/dom": ">=7.21.4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "node_modules/@storybook/cli/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true, "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/@storybook/client-logger": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz", + "integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==", + "dev": true, + "dependencies": { + "@storybook/global": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" - }, - "node_modules/@types/aria-query": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.3.tgz", - "integrity": "sha512-0Z6Tr7wjKJIk4OUEjVUQMtyunLDy339vcMaj38Kpj6jM2OE1p3S4kXExKZ7a3uXQAPCoy3sbrP1wibDKaf39oA==" - }, - "node_modules/@types/babel__core": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.3.tgz", - "integrity": "sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA==", + "node_modules/@storybook/codemod": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.6.17.tgz", + "integrity": "sha512-JuTmf2u3C4fCnjO7o3dqRgrq3ozNYfWlrRP8xuIdvT7niMap7a396hJtSKqS10FxCgKFcMAOsRgrCalH1dWxUg==", + "dev": true, "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" + "@babel/core": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/types": "^7.23.0", + "@storybook/csf": "^0.1.2", + "@storybook/csf-tools": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/types": "7.6.17", + "@types/cross-spawn": "^6.0.2", + "cross-spawn": "^7.0.3", + "globby": "^11.0.2", + "jscodeshift": "^0.15.1", + "lodash": "^4.17.21", + "prettier": "^2.8.0", + "recast": "^0.23.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@types/babel__generator": { - "version": "7.6.6", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.6.tgz", - "integrity": "sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w==", - "dependencies": { - "@babel/types": "^7.0.0" + "node_modules/@storybook/codemod/node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/@types/babel__template": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.3.tgz", - "integrity": "sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==", + "node_modules/@storybook/components": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.6.17.tgz", + "integrity": "sha512-lbh7GynMidA+CZcJnstVku6Nhs+YkqjYaZ+mKPugvlVhGVWv0DaaeQFVuZ8cJtUGJ/5FFU4Y+n+gylYUHkGBMA==", + "dev": true, "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" + "@radix-ui/react-select": "^1.2.2", + "@radix-ui/react-toolbar": "^1.0.4", + "@storybook/client-logger": "7.6.17", + "@storybook/csf": "^0.1.2", + "@storybook/global": "^5.0.0", + "@storybook/theming": "7.6.17", + "@storybook/types": "7.6.17", + "memoizerific": "^1.11.3", + "use-resize-observer": "^9.1.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@types/babel__traverse": { - "version": "7.20.3", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.3.tgz", - "integrity": "sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==", + "node_modules/@storybook/components/node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz", + "integrity": "sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==", + "dev": true, "dependencies": { - "@babel/types": "^7.20.7" + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "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==", + "node_modules/@storybook/components/node_modules/@radix-ui/react-focus-scope": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.3.tgz", + "integrity": "sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==", + "dev": true, "dependencies": { - "@types/connect": "*", - "@types/node": "*" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "node_modules/@types/bonjour": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.12.tgz", - "integrity": "sha512-ky0kWSqXVxSqgqJvPIkgFkcn4C8MnRog308Ou8xBBIVo39OmUFy+jqNe0nPwLCDFxUpmT9EvT91YzOJgkDRcFg==", + "node_modules/@storybook/components/node_modules/@radix-ui/react-popper": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.2.tgz", + "integrity": "sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==", + "dev": true, "dependencies": { - "@types/node": "*" + "@babel/runtime": "^7.13.10", + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-rect": "1.0.1", + "@radix-ui/react-use-size": "1.0.1", + "@radix-ui/rect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "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==", + "node_modules/@storybook/components/node_modules/@radix-ui/react-portal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.3.tgz", + "integrity": "sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==", + "dev": true, "dependencies": { - "@types/node": "*" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "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==", + "node_modules/@storybook/components/node_modules/@radix-ui/react-select": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.2.2.tgz", + "integrity": "sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==", + "dev": true, "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.1", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.4", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.3", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.2", + "@radix-ui/react-portal": "1.0.3", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } } }, - "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==", + "node_modules/@storybook/core-client": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.6.17.tgz", + "integrity": "sha512-LuDbADK+DPNAOOCXOlvY09hdGVueXlDetsdOJ/DgYnSa9QSWv9Uv+F8QcEgR3QckZJbPlztKJIVLgP2n/Xkijw==", + "dev": true, "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" + "@storybook/client-logger": "7.6.17", + "@storybook/preview-api": "7.6.17" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "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==", + "node_modules/@storybook/core-common": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.17.tgz", + "integrity": "sha512-me2TP3Q9/qzqCLoDHUSsUF+VS1MHxfHbTVF6vAz0D/COTxzsxLpu9TxTbzJoBCxse6XRb6wWI1RgF1mIcjic7g==", + "dev": true, "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" + "@storybook/core-events": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/types": "7.6.17", + "@types/find-cache-dir": "^3.2.1", + "@types/node": "^18.0.0", + "@types/node-fetch": "^2.6.4", + "@types/pretty-hrtime": "^1.0.0", + "chalk": "^4.1.0", + "esbuild": "^0.18.0", + "esbuild-register": "^3.5.0", + "file-system-cache": "2.3.0", + "find-cache-dir": "^3.0.0", + "find-up": "^5.0.0", + "fs-extra": "^11.1.0", + "glob": "^10.0.0", + "handlebars": "^4.7.7", + "lazy-universal-dotenv": "^4.0.0", + "node-fetch": "^2.0.0", + "picomatch": "^2.3.0", + "pkg-dir": "^5.0.0", + "pretty-hrtime": "^1.0.3", + "resolve-from": "^5.0.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@types/estree": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.4.tgz", - "integrity": "sha512-2JwWnHK9H+wUZNorf2Zr6ves96WHoWDJIftkcxPKsS7Djta6Zu519LarhRNljPXkpsZR2ZMwNCPeW7omW07BJw==" - }, - "node_modules/@types/express": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", - "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", + "node_modules/@storybook/core-common/node_modules/@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dev": true, "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" + "undici-types": "~5.26.4" } }, - "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==", + "node_modules/@storybook/core-common/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@types/graceful-fs": { - "version": "4.1.8", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.8.tgz", - "integrity": "sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==", + "node_modules/@storybook/core-common/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "dependencies": { - "@types/node": "*" + "balanced-match": "^1.0.0" } }, - "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/@storybook/core-common/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/@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==", + "node_modules/@storybook/core-common/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { - "@types/node": "*" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "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/@storybook/core-common/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "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==", + "node_modules/@storybook/core-common/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "*" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" } }, - "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==", + "node_modules/@storybook/core-common/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, "dependencies": { - "@types/istanbul-lib-report": "*" + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@types/jest": { - "version": "29.5.7", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.7.tgz", - "integrity": "sha512-HLyetab6KVPSiF+7pFcUyMeLsx25LDNDemw9mGsJBkai/oouwrjTycocSDYopMEwFhN2Y4s9oPyOCZNofgSt2g==", - "dependencies": { - "expect": "^29.0.0", - "pretty-format": "^29.0.0" + "node_modules/@storybook/core-common/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/@types/jest/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/@storybook/core-common/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, "engines": { - "node": ">=10" + "node": ">=16 || 14 >=14.17" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/@types/jest/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/@storybook/core-common/node_modules/pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "find-up": "^5.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/@types/jest/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "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/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" - }, - "node_modules/@types/lodash": { - "version": "4.14.200", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.200.tgz", - "integrity": "sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q==", - "dev": true - }, - "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/@storybook/core-common/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/@types/node": { - "version": "20.8.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz", - "integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==", + "node_modules/@storybook/core-common/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { - "undici-types": "~5.26.4" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "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==", + "node_modules/@storybook/core-events": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz", + "integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==", + "dev": true, "dependencies": { - "@types/node": "*" + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "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/prettier": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", - "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" - }, - "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.35", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.35.tgz", - "integrity": "sha512-LG3xpFZ++rTndV+/XFyX5vUP7NI9yxyk+MQvBDq+CVs8I9DLSc3Ymwb1Vmw5YDoeNeHN4PDZa3HylMKJYT9PNQ==", + "node_modules/@storybook/core-server": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.6.17.tgz", + "integrity": "sha512-KWGhTTaL1Q14FolcoKKZgytlPJUbH6sbJ1Ptj/84EYWFewcnEgVs0Zlnh1VStRZg+Rd1WC1V4yVd/bbDzxrvQA==", + "dev": true, "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "@aw-web-design/x-default-browser": "1.4.126", + "@discoveryjs/json-ext": "^0.5.3", + "@storybook/builder-manager": "7.6.17", + "@storybook/channels": "7.6.17", + "@storybook/core-common": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/csf": "^0.1.2", + "@storybook/csf-tools": "7.6.17", + "@storybook/docs-mdx": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/manager": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/preview-api": "7.6.17", + "@storybook/telemetry": "7.6.17", + "@storybook/types": "7.6.17", + "@types/detect-port": "^1.3.0", + "@types/node": "^18.0.0", + "@types/pretty-hrtime": "^1.0.0", + "@types/semver": "^7.3.4", + "better-opn": "^3.0.2", + "chalk": "^4.1.0", + "cli-table3": "^0.6.1", + "compression": "^1.7.4", + "detect-port": "^1.3.0", + "express": "^4.17.3", + "fs-extra": "^11.1.0", + "globby": "^11.0.2", + "ip": "^2.0.1", + "lodash": "^4.17.21", + "open": "^8.4.0", + "pretty-hrtime": "^1.0.3", + "prompts": "^2.4.0", + "read-pkg-up": "^7.0.1", + "semver": "^7.3.7", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1", + "ts-dedent": "^2.0.0", + "util": "^0.12.4", + "util-deprecate": "^1.0.2", + "watchpack": "^2.2.0", + "ws": "^8.2.3" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@types/react-dom": { - "version": "18.2.14", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.14.tgz", - "integrity": "sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==", + "node_modules/@storybook/core-server/node_modules/@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dev": true, "dependencies": { - "@types/react": "*" + "undici-types": "~5.26.4" } }, - "node_modules/@types/react-google-recaptcha": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@types/react-google-recaptcha/-/react-google-recaptcha-2.1.7.tgz", - "integrity": "sha512-qAif3VMKgIrT6l3YcCN29F0W0LZR9Q5jxLvH2MANgc2Hm3Pk27goHBwj3Ri4vtFc0jZyFt6npdERdzUtZtJsLQ==", + "node_modules/@storybook/core-server/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "@types/react": "*" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@types/react-reconciler": { - "version": "0.28.6", - "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.6.tgz", - "integrity": "sha512-NlilRDg7yjtFX568NA046OiHWbz5EKM1q5FSXi2GP7WKyU+Vem4NJQcG+ZaMiWotyPiYqkIb6NKJkFuplbchAA==", + "node_modules/@storybook/core-server/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "@types/react": "*" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/react-transition-group": { - "version": "4.4.8", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.8.tgz", - "integrity": "sha512-QmQ22q+Pb+HQSn04NL3HtrqHwYMf4h3QKArOy5F8U5nEVMaihBs3SR10WiOM1iwPz5jIo8x/u11al+iEGZZrvg==", + "node_modules/@storybook/core-server/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { - "@types/react": "*" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", + "node_modules/@storybook/core-server/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@storybook/core-server/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, "dependencies": { - "@types/node": "*" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" } }, - "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/@storybook/core-server/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "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/@storybook/core-server/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/@types/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==" + "node_modules/@storybook/core-server/node_modules/ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "dev": true, + "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/@types/send": { - "version": "0.17.3", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.3.tgz", - "integrity": "sha512-/7fKxvKUoETxjFUsuFlPB9YndePpxxRAOfGC/yJdc9kTjTeP5kRCTzfnE8kPUKCeyiyIZu0YQ76s50hCedI1ug==", + "node_modules/@storybook/core-webpack": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-7.6.17.tgz", + "integrity": "sha512-PyGrFhRM8sTONGwwLWLqBQ1HO+LBnVZ+5TOQO7ejQfdV2FWyNOzjBXm2e5jL/C6XlqiEhmL5pyHEyDBaQJQ3KA==", + "dev": true, "dependencies": { - "@types/mime": "^1", - "@types/node": "*" + "@storybook/core-common": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/types": "7.6.17", + "@types/node": "^18.0.0", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "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==", + "node_modules/@storybook/core-webpack/node_modules/@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dev": true, "dependencies": { - "@types/express": "*" + "undici-types": "~5.26.4" } }, - "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==", + "node_modules/@storybook/csf": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.3.tgz", + "integrity": "sha512-IPZvXXo4b3G+gpmgBSBqVM81jbp2ePOKsvhgJdhyZJtkYQCII7rg9KKLQhvBQM5sLaF1eU6r0iuwmyynC9d9SA==", + "dev": true, "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" + "type-fest": "^2.19.0" } }, - "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==", + "node_modules/@storybook/csf-plugin": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.6.17.tgz", + "integrity": "sha512-xTHv9BUh3bkDVCvcbmdfVF0/e96BdrEgqPJ3G3RmKbSzWLOkQ2U9yiPfHzT0KJWPhVwj12fjfZp0zunu+pcS6Q==", + "dev": true, "dependencies": { - "@types/node": "*" + "@storybook/csf-tools": "7.6.17", + "unplugin": "^1.3.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@types/stack-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.2.tgz", - "integrity": "sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==" + "node_modules/@storybook/csf-tools": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.17.tgz", + "integrity": "sha512-dAQtam0EBPeTJYcQPLxXgz4L9JFqD+HWbLFG9CmNIhMMjticrB0mpk1EFIS6vPXk/VsVWpBgMLD7dZlD6YMKcQ==", + "dev": true, + "dependencies": { + "@babel/generator": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0", + "@storybook/csf": "^0.1.2", + "@storybook/types": "7.6.17", + "fs-extra": "^11.1.0", + "recast": "^0.23.1", + "ts-dedent": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } }, - "node_modules/@types/testing-library__jest-dom": { - "version": "5.14.9", - "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", - "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", + "node_modules/@storybook/csf-tools/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, "dependencies": { - "@types/jest": "*" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" } }, - "node_modules/@types/trusted-types": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.5.tgz", - "integrity": "sha512-I3pkr8j/6tmQtKV/ZzHtuaqYSQvyjGRKH4go60Rr0IDLlFxuRT5V32uvB1mecM5G1EVAUyF/4r4QZ1GHgz+mxA==" + "node_modules/@storybook/csf/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==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "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==", + "node_modules/@storybook/docs-mdx": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz", + "integrity": "sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==", + "dev": true + }, + "node_modules/@storybook/docs-tools": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.6.17.tgz", + "integrity": "sha512-bYrLoj06adqklyLkEwD32C0Ww6t+9ZVvrJHiVT42bIhTRpFiFPAetl1a9KPHtFLnfduh4n2IxIr1jv32ThPDTA==", + "dev": true, "dependencies": { - "@types/node": "*" + "@storybook/core-common": "7.6.17", + "@storybook/preview-api": "7.6.17", + "@storybook/types": "7.6.17", + "@types/doctrine": "^0.0.3", + "assert": "^2.1.0", + "doctrine": "^3.0.0", + "lodash": "^4.17.21" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@types/yargs": { - "version": "17.0.29", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.29.tgz", - "integrity": "sha512-nacjqA3ee9zRF/++a3FUY1suHTFKZeHba2n8WeDw9cCVdmzmHpIxyzOJBcpHvvEmS8E9KqWlSnWHUkOrkhWcvA==", + "node_modules/@storybook/global": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz", + "integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==" + }, + "node_modules/@storybook/instrumenter": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-7.6.17.tgz", + "integrity": "sha512-zTLIPTt1fvlWgkIVUyQpF327iVE+EiPdpM0Or0aARaNfIikPRBTcjU+6cK96E+Ust2E1qKajEjIuv4i4lLQPng==", + "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "@storybook/channels": "7.6.17", + "@storybook/client-logger": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/global": "^5.0.0", + "@storybook/preview-api": "7.6.17", + "@vitest/utils": "^0.34.6", + "util": "^0.12.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "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/@storybook/manager": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.6.17.tgz", + "integrity": "sha512-A1LDDIqMpwRzq/dqkbbiza0QI04o4ZHCl2a3UMDZUV/+QLc2nsr2DAaLk4CVL4/cIc5zGqmIcaOTvprx2YKVBw==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "node_modules/@storybook/manager-api": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.17.tgz", + "integrity": "sha512-IJIV1Yc6yw1dhCY4tReHCfBnUKDqEBnMyHp3mbXpsaHxnxJZrXO45WjRAZIKlQKhl/Ge1CrnznmHRCmYgqmrWg==", + "dev": true, "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "@storybook/channels": "7.6.17", + "@storybook/client-logger": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/csf": "^0.1.2", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.6.17", + "@storybook/theming": "7.6.17", + "@storybook/types": "7.6.17", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "url": "https://opencollective.com/storybook" } }, - "node_modules/@typescript-eslint/experimental-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", - "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", + "node_modules/@storybook/mdx2-csf": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@storybook/mdx2-csf/-/mdx2-csf-1.1.0.tgz", + "integrity": "sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==", + "dev": true + }, + "node_modules/@storybook/node-logger": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz", + "integrity": "sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/postinstall": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.6.17.tgz", + "integrity": "sha512-WaWqB8o9vUc9aaVls+povQSVirf1Xd1LZcVhUKfAocAF3mzYUsnJsVqvnbjRj/F96UFVihOyDt9Zjl/9OvrCvQ==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/preset-create-react-app": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/preset-create-react-app/-/preset-create-react-app-7.6.17.tgz", + "integrity": "sha512-iLjIKBG7UK/iac7wdm3JJcoHss3wKUuHuMJ/cc10UGJdBe1kEJnkcnab/whPhWo3E59wXBLkCXoh9BwiOP8sbw==", + "dev": true, "dependencies": { - "@typescript-eslint/utils": "5.62.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.1", + "@storybook/react-docgen-typescript-plugin": "1.0.6--canary.9.0c3f3b7.0", + "@storybook/types": "7.6.17", + "@types/babel__core": "^7.1.7", + "@types/semver": "^7.3.4", + "pnp-webpack-plugin": "^1.7.0", + "semver": "^7.3.5" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@babel/core": "*", + "react-scripts": ">=5.0.0" } }, - "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "node_modules/@storybook/preset-react-webpack": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-7.6.17.tgz", + "integrity": "sha512-gn/LvIbll9loOkzwbFlxzOZGmJ6t1vF2/gfi+p/N/AifDYe8+LVM1QV4KRVKt6UEJwsQd79lKf7vPH92AQaKKQ==", + "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "debug": "^4.3.4" + "@babel/preset-flow": "^7.22.15", + "@babel/preset-react": "^7.22.15", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", + "@storybook/core-webpack": "7.6.17", + "@storybook/docs-tools": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/react": "7.6.17", + "@storybook/react-docgen-typescript-plugin": "1.0.6--canary.9.0c3f3b7.0", + "@types/node": "^18.0.0", + "@types/semver": "^7.3.4", + "babel-plugin-add-react-displayname": "^0.0.5", + "fs-extra": "^11.1.0", + "magic-string": "^0.30.5", + "react-docgen": "^7.0.0", + "react-refresh": "^0.14.0", + "semver": "^7.3.7", + "webpack": "5" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=16.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "@babel/core": "^7.22.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" }, "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, "typescript": { "optional": true } } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "node_modules/@storybook/preset-react-webpack/node_modules/@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "undici-types": "~5.26.4" + } + }, + "node_modules/@storybook/preset-react-webpack/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=14.14" + } + }, + "node_modules/@storybook/preset-react-webpack/node_modules/magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@storybook/preset-react-webpack/node_modules/react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@storybook/preview": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.6.17.tgz", + "integrity": "sha512-LvkMYK/y6alGjwRVNDIKL1lFlbyZ0H0c8iAbcQkiMoaFiujMQyVswMDKlWcj42Upfr/B1igydiruomc+eUt0mw==", + "dev": true, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/storybook" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "node_modules/@storybook/preview-api": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.17.tgz", + "integrity": "sha512-wLfDdI9RWo1f2zzFe54yRhg+2YWyxLZvqdZnSQ45mTs4/7xXV5Wfbv3QNTtcdw8tT3U5KRTrN1mTfTCiRJc0Kw==", + "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" + "@storybook/channels": "7.6.17", + "@storybook/client-logger": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/csf": "^0.1.2", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.6.17", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/@storybook/react": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-7.6.17.tgz", + "integrity": "sha512-lVqzQSU03rRJWYW+gK2gq6mSo3/qtnVICY8B8oP7gc36jVu4ksDIu45bTfukM618ODkUZy0vZe6T4engK3azjA==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.6.17", + "@storybook/core-client": "7.6.17", + "@storybook/docs-tools": "7.6.17", + "@storybook/global": "^5.0.0", + "@storybook/preview-api": "7.6.17", + "@storybook/react-dom-shim": "7.6.17", + "@storybook/types": "7.6.17", + "@types/escodegen": "^0.0.6", + "@types/estree": "^0.0.51", + "@types/node": "^18.0.0", + "acorn": "^7.4.1", + "acorn-jsx": "^5.3.1", + "acorn-walk": "^7.2.0", + "escodegen": "^2.1.0", + "html-tags": "^3.1.0", + "lodash": "^4.17.21", + "prop-types": "^15.7.2", + "react-element-to-jsx-string": "^15.0.0", + "ts-dedent": "^2.0.0", + "type-fest": "~2.19", + "util-deprecate": "^1.0.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=16.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/storybook" }, "peerDependencies": { - "eslint": "*" + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "typescript": "*" }, "peerDependenciesMeta": { "typescript": { @@ -6503,875 +8651,1112 @@ } } }, - "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node_modules/@storybook/react-docgen-typescript-plugin": { + "version": "1.0.6--canary.9.0c3f3b7.0", + "resolved": "https://registry.npmjs.org/@storybook/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-1.0.6--canary.9.0c3f3b7.0.tgz", + "integrity": "sha512-KUqXC3oa9JuQ0kZJLBhVdS4lOneKTOopnNBK4tUAgoxWQ3u/IjzdueZjFr7gyBrXMoU6duutk3RQR9u8ZpYJ4Q==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "endent": "^2.0.1", + "find-cache-dir": "^3.3.1", + "flat-cache": "^3.0.4", + "micromatch": "^4.0.2", + "react-docgen-typescript": "^2.2.2", + "tslib": "^2.0.0" }, + "peerDependencies": { + "typescript": ">= 4.x", + "webpack": ">= 4" + } + }, + "node_modules/@storybook/react-dom-shim": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.6.17.tgz", + "integrity": "sha512-32Sa/G+WnvaPiQ1Wvjjw5UM9rr2c4GDohwCcWVv3/LJuiFPqNS6zglAtmnsrlIBnUwRBMLMh/ekCTdqMiUmfDw==", + "dev": true, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "node_modules/@storybook/react-webpack5": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-7.6.17.tgz", + "integrity": "sha512-qGc2JxaSmvPXV7ndxA/8qPtPLK7lAwejL/QdrzLXhxEmVdZLMew640FBYgOV/zWnehV3BnivThln/8PsQyst/g==", + "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "@storybook/builder-webpack5": "7.6.17", + "@storybook/preset-react-webpack": "7.6.17", + "@storybook/react": "7.6.17", + "@types/node": "^18.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=16.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://opencollective.com/storybook" + }, + "peerDependencies": { + "@babel/core": "^7.22.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0", + "typescript": "*" }, "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, "typescript": { "optional": true } } }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "node_modules/@storybook/react-webpack5/node_modules/@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "undici-types": "~5.26.4" + } + }, + "node_modules/@storybook/react/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==", + "dev": true + }, + "node_modules/@storybook/react/node_modules/@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@storybook/react/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=0.4.0" + } + }, + "node_modules/@storybook/react/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==", + "dev": true, + "engines": { + "node": ">=12.20" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@storybook/router": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.6.17.tgz", + "integrity": "sha512-GnyC0j6Wi5hT4qRhSyT8NPtJfGmf82uZw97LQRWeyYu5gWEshUdM7aj40XlNiScd5cZDp0owO1idduVF2k2l2A==", + "dev": true, + "dependencies": { + "@storybook/client-logger": "7.6.17", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@typescript-eslint/utils/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==", + "node_modules/@storybook/telemetry": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.6.17.tgz", + "integrity": "sha512-WOcOAmmengYnGInH98Px44F47DSpLyk20BM+Z/IIQDzfttGOLlxNqBBG1XTEhNRn+AYuk4aZ2JEed2lCjVIxcA==", + "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "@storybook/client-logger": "7.6.17", + "@storybook/core-common": "7.6.17", + "@storybook/csf-tools": "7.6.17", + "chalk": "^4.1.0", + "detect-package-manager": "^2.0.1", + "fetch-retry": "^5.0.2", + "fs-extra": "^11.1.0", + "read-pkg-up": "^7.0.1" }, - "engines": { - "node": ">=8.0.0" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@typescript-eslint/utils/node_modules/estraverse": { + "node_modules/@storybook/telemetry/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=4.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "node_modules/@storybook/telemetry/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" - }, - "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==", + "node_modules/@storybook/telemetry/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "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/@storybook/telemetry/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "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==", + "node_modules/@storybook/telemetry/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" } }, - "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/@storybook/telemetry/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "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==", + "node_modules/@storybook/telemetry/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "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" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "node_modules/@storybook/test": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/test/-/test-7.6.17.tgz", + "integrity": "sha512-WGrmUUtKiuq3bzDsN4MUvluGcX120jwczMik1GDTyxS+JBoe7P0t2Y8dDuVs/l3nZd1J7qY4z0RGxMDYqONIOw==", + "dev": true, "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "@storybook/client-logger": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/instrumenter": "7.6.17", + "@storybook/preview-api": "7.6.17", + "@testing-library/dom": "^9.3.1", + "@testing-library/jest-dom": "^6.1.3", + "@testing-library/user-event": "14.3.0", + "@types/chai": "^4", + "@vitest/expect": "^0.34.2", + "@vitest/spy": "^0.34.1", + "chai": "^4.3.7", + "util": "^0.12.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "node_modules/@storybook/test/node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@xtuc/long": "4.2.2" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/@storybook/test/node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, "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" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/@storybook/test/node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "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==", + "node_modules/@storybook/test/node_modules/@jest/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==", + "dev": true, + "optional": true, + "peer": true, "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" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/@storybook/test/node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" - }, - "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==", + "node_modules/@storybook/test/node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">= 0.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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" + "node_modules/@storybook/test/node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" }, "engines": { - "node": ">=0.4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/acorn-globals": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", - "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", + "node_modules/@storybook/test/node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "acorn": "^7.1.1", - "acorn-walk": "^7.1.1" - } - }, - "node_modules/acorn-globals/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "bin": { - "acorn": "bin/acorn" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" }, "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-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/acorn-node": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", - "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", + "node_modules/@storybook/test/node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "acorn": "^7.0.0", - "acorn-walk": "^7.0.0", - "xtend": "^4.0.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/acorn-node/node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "node_modules/@storybook/test/node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, - "bin": { - "acorn": "bin/acorn" + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">=0.4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/acorn-walk": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", - "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "node_modules/@storybook/test/node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, "engines": { - "node": ">=0.4.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.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==", + "node_modules/@storybook/test/node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, "engines": { - "node": ">= 10.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "node_modules/@storybook/test/node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, "engines": { - "node": ">=8.9" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/adjust-sourcemap-loader/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==", + "node_modules/@storybook/test/node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8.9.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/@storybook/test/node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" + "type-detect": "4.0.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==", + "node_modules/@storybook/test/node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "optional": true, + "peer": true, "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" + "@sinonjs/commons": "^3.0.0" } }, - "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==", + "node_modules/@storybook/test/node_modules/@testing-library/jest-dom": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.2.tgz", + "integrity": "sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==", + "dev": true, "dependencies": { - "ajv": "^8.0.0" + "@adobe/css-tools": "^4.3.2", + "@babel/runtime": "^7.9.2", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "lodash": "^4.17.15", + "redent": "^3.0.0" + }, + "engines": { + "node": ">=14", + "npm": ">=6", + "yarn": ">=1" }, "peerDependencies": { - "ajv": "^8.0.0" + "@jest/globals": ">= 28", + "@types/bun": "latest", + "@types/jest": ">= 28", + "jest": ">= 28", + "vitest": ">= 0.32" }, "peerDependenciesMeta": { - "ajv": { + "@jest/globals": { + "optional": true + }, + "@types/bun": { + "optional": true + }, + "@types/jest": { + "optional": true + }, + "jest": { + "optional": true + }, + "vitest": { "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" + "node_modules/@storybook/test/node_modules/@testing-library/user-event": { + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.3.0.tgz", + "integrity": "sha512-P02xtBBa8yMaLhK8CzJCIns8rqwnF6FxhR9zs810flHOBXUYCFjLd8Io1rQrAkQRWEmW2PGdZIEdMxf/KLsqFA==", + "dev": true, + "engines": { + "node": ">=12", + "npm": ">=6" }, - "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" + "@testing-library/dom": ">=7.21.4" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/@storybook/test/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { - "type-fest": "^0.21.3" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "node_modules/@storybook/test/node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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" + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "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==", + "node_modules/@storybook/test/node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/@storybook/test/node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "color-convert": "^1.9.0" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">=4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" - }, - "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==", + "node_modules/@storybook/test/node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": ">= 8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/are-docs-informative": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", - "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "node_modules/@storybook/test/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">=14" + "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==" - }, - "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/aria-hidden": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", - "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "node_modules/@storybook/test/node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "tslib": "^2.0.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" } }, - "node_modules/aria-query": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", - "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "node_modules/@storybook/test/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { - "deep-equal": "^2.0.5" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "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" + "node_modules/@storybook/test/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/@storybook/test/node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "optional": true, + "peer": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } } }, - "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/@storybook/test/node_modules/dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true }, - "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "is-string": "^1.0.7" - }, + "node_modules/@storybook/test/node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "optional": true, + "peer": true, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "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==", + "node_modules/@storybook/test/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { "node": ">=8" } }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", - "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", + "node_modules/@storybook/test/node_modules/istanbul-lib-instrument": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", + "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/array.prototype.flat": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", - "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", + "node_modules/@storybook/test/node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", - "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", + "node_modules/@storybook/test/node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/@storybook/test/node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "optional": true, + "peer": true, "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" + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", - "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0", - "get-intrinsic": "^1.2.1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/@storybook/test/node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, "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" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "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/ast-types-flow": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" - }, - "node_modules/async": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", - "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" - }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dependencies": { - "has-symbols": "^1.0.3" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - }, - "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" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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" - } - ], + "node_modules/@storybook/test/node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "optional": true, + "peer": true, "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" + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" }, "bin": { - "autoprefixer": "bin/autoprefixer" + "jest": "bin/jest.js" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "postcss": "^8.1.0" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "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==", + "node_modules/@storybook/test/node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axe-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", - "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/axios": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", - "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", - "dependencies": { - "dequal": "^2.0.3" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/babel-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", - "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", + "node_modules/@storybook/test/node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__core": "^7.1.14", - "babel-plugin-istanbul": "^6.1.1", - "babel-preset-jest": "^27.5.1", + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "slash": "^3.0.0" + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, "peerDependencies": { - "@babel/core": "^7.8.0" + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "node_modules/babel-jest/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "node_modules/@storybook/test/node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/babel-jest/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "node_modules/@storybook/test/node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@types/yargs-parser": "*" + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/babel-jest/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==", + "node_modules/@storybook/test/node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "color-convert": "^2.0.1" + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/babel-jest/node_modules/chalk": { + "node_modules/@storybook/test/node_modules/jest-each/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -7383,3337 +9768,3178 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/babel-jest/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==", + "node_modules/@storybook/test/node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "color-name": "~1.1.4" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">=7.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/babel-jest/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/babel-jest/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==", + "node_modules/@storybook/test/node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "node_modules/babel-jest/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==", + "node_modules/@storybook/test/node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "has-flag": "^4.0.0" + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/@storybook/test/node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "find-cache-dir": "^3.3.1", - "loader-utils": "^2.0.0", - "make-dir": "^3.1.0", - "schema-utils": "^2.6.5" + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" }, "engines": { - "node": ">= 8.9" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "webpack": ">=2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/babel-loader/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" - }, + "node_modules/@storybook/test/node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "optional": true, + "peer": true, "engines": { - "node": ">=8.9.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "node_modules/@storybook/test/node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/babel-plugin-jest-hoist": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", - "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", + "node_modules/@storybook/test/node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@babel/template": "^7.3.3", - "@babel/types": "^7.3.3", - "@types/babel__core": "^7.0.0", - "@types/babel__traverse": "^7.0.6" + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", - "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "node_modules/@storybook/test/node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "node_modules/babel-plugin-named-asset-import": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", - "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", - "peerDependencies": { - "@babel/core": "^7.1.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/@storybook/test/node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.3", - "semver": "^6.3.1" + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/babel-plugin-polyfill-corejs2/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/@storybook/test/node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "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/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==", + "node_modules/@storybook/test/node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3", - "core-js-compat": "^3.33.1" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.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==", + "node_modules/@storybook/test/node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.3" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/babel-plugin-transform-react-remove-prop-types": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", - "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" - }, - "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "node_modules/@storybook/test/node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", - "@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-top-level-await": "^7.8.3" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/babel-preset-jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", - "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", + "node_modules/@storybook/test/node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "babel-plugin-jest-hoist": "^27.5.1", - "babel-preset-current-node-syntax": "^1.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" }, - "peerDependencies": { - "@babel/core": "^7.0.0" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/babel-preset-react-app": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", - "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", + "node_modules/@storybook/test/node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@babel/core": "^7.16.0", - "@babel/plugin-proposal-class-properties": "^7.16.0", - "@babel/plugin-proposal-decorators": "^7.16.4", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", - "@babel/plugin-proposal-numeric-separator": "^7.16.0", - "@babel/plugin-proposal-optional-chaining": "^7.16.0", - "@babel/plugin-proposal-private-methods": "^7.16.0", - "@babel/plugin-transform-flow-strip-types": "^7.16.0", - "@babel/plugin-transform-react-display-name": "^7.16.0", - "@babel/plugin-transform-runtime": "^7.16.4", - "@babel/preset-env": "^7.16.4", - "@babel/preset-react": "^7.16.0", - "@babel/preset-typescript": "^7.16.0", - "@babel/runtime": "^7.16.3", - "babel-plugin-macros": "^3.1.0", - "babel-plugin-transform-react-remove-prop-types": "^0.4.24" + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "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/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/bfj": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", - "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", + "node_modules/@storybook/test/node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "bluebird": "^3.7.2", - "check-types": "^11.2.3", - "hoopy": "^0.1.4", - "jsonpath": "^1.1.1", - "tryer": "^1.0.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 8.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/big-integer": { - "version": "1.6.51", - "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", - "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", + "node_modules/@storybook/test/node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, "engines": { - "node": ">=0.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/@storybook/test/node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { - "node": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/@storybook/test/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==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + "node_modules/@storybook/test/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==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } }, - "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==", + "node_modules/@storybook/test/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "optional": true, + "peer": true, "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" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/@storybook/test/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "optional": true, + "peer": true, "engines": { - "node": ">= 0.8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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/@storybook/test/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/@storybook/test/node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=10" } }, - "node_modules/body-parser/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" - }, + "node_modules/@storybook/test/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==", + "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=0.10.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==", + "node_modules/@storybook/test/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "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/bplist-parser": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", - "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "node_modules/@storybook/test/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "big-integer": "^1.6.44" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 5.10.0" + "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==", + "node_modules/@storybook/test/node_modules/v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/@storybook/test/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "fill-range": "^7.0.1" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/broadcast-channel": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/broadcast-channel/-/broadcast-channel-3.7.0.tgz", - "integrity": "sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==", + "node_modules/@storybook/test/node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@babel/runtime": "^7.7.2", - "detect-node": "^2.1.0", - "js-sha3": "0.8.0", - "microseconds": "0.2.0", - "nano-time": "1.0.0", - "oblivious-set": "1.0.0", - "rimraf": "3.0.2", - "unload": "2.2.0" + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" } }, - "node_modules/browser-process-hrtime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + "node_modules/@storybook/test/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=12" + } }, - "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" - } - ], + "node_modules/@storybook/theming": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.17.tgz", + "integrity": "sha512-ZbaBt3KAbmBtfjNqgMY7wPMBshhSJlhodyMNQypv+95xLD/R+Az6aBYbpVAOygLaUQaQk4ar7H/Ww6lFIoiFbA==", + "dev": true, "dependencies": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.13" + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.6.17", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" }, - "bin": { - "browserslist": "cli.js" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/bser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", - "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "node_modules/@storybook/types": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz", + "integrity": "sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==", + "dev": true, "dependencies": { - "node-int64": "^0.4.0" + "@storybook/channels": "7.6.17", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" } }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "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/@surma/rollup-plugin-off-main-thread": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@surma/rollup-plugin-off-main-thread/-/rollup-plugin-off-main-thread-2.2.3.tgz", + "integrity": "sha512-lR8q/9W7hZpMWweNiAKU7NQerBnzQQLvi8qnTDU/fxItPhtZVMbPV3lbCwjhIlNBe9Bbr5V+KHshvWmVSG9cxQ==", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" + "ejs": "^3.1.6", + "json5": "^2.2.0", + "magic-string": "^0.25.0", + "string.prototype.matchall": "^4.0.6" } }, - "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/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "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": ">=6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/bundle-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", - "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", - "dev": true, - "dependencies": { - "run-applescript": "^5.0.0" - }, + "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": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "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": ">= 0.8" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "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" + "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": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "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": ">=6" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "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/@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/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "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": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "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==", + "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": ">= 6" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "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==", + "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": { - "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.30001561", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz", - "integrity": "sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==", - "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/case-sensitive-paths-webpack-plugin": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", - "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "@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": ">=4" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "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==", + "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": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "@svgr/plugin-jsx": "^5.5.0", + "camelcase": "^6.2.0", + "cosmiconfig": "^7.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/char-regex": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", - "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "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/check-types": { - "version": "11.2.3", - "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", - "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==" - }, - "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/" - } - ], + "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": { - "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" + "@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": ">= 8.10.0" + "node": ">=10" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "node_modules/chokidar/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==", + "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": { - "is-glob": "^4.0.1" + "cosmiconfig": "^7.0.0", + "deepmerge": "^4.2.2", + "svgo": "^1.2.2" }, "engines": { - "node": ">= 6" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "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==", + "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": ">=6.0" + "node": ">=10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/gregberge" } }, - "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" - } - ], + "node_modules/@svgr/webpack/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" + "node": ">=8.9.0" } }, - "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" - }, - "node_modules/class-variance-authority": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz", - "integrity": "sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==", + "node_modules/@swc/core": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.8.tgz", + "integrity": "sha512-uY2RSJcFPgNOEg12RQZL197LZX+MunGiKxsbxmh22VfVxrOYGRvh4mPANFlrD1yb38CgmW1wI6YgIi8LkIwmWg==", + "devOptional": true, + "hasInstallScript": true, "dependencies": { - "clsx": "2.0.0" + "@swc/counter": "^0.1.2", + "@swc/types": "^0.1.5" + }, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://joebell.co.uk" + "type": "opencollective", + "url": "https://opencollective.com/swc" + }, + "optionalDependencies": { + "@swc/core-darwin-arm64": "1.4.8", + "@swc/core-darwin-x64": "1.4.8", + "@swc/core-linux-arm-gnueabihf": "1.4.8", + "@swc/core-linux-arm64-gnu": "1.4.8", + "@swc/core-linux-arm64-musl": "1.4.8", + "@swc/core-linux-x64-gnu": "1.4.8", + "@swc/core-linux-x64-musl": "1.4.8", + "@swc/core-win32-arm64-msvc": "1.4.8", + "@swc/core-win32-ia32-msvc": "1.4.8", + "@swc/core-win32-x64-msvc": "1.4.8" + }, + "peerDependencies": { + "@swc/helpers": "^0.5.0" + }, + "peerDependenciesMeta": { + "@swc/helpers": { + "optional": true + } } }, - "node_modules/classnames": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", - "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + "node_modules/@swc/core-darwin-arm64": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.8.tgz", + "integrity": "sha512-hhQCffRTgzpTIbngSnC30vV6IJVTI9FFBF954WEsshsecVoCGFiMwazBbrkLG+RwXENTrMhgeREEFh6R3KRgKQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } }, - "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" - }, + "node_modules/@swc/core-darwin-x64": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.8.tgz", + "integrity": "sha512-P3ZBw8Jr8rKhY/J8d+6WqWriqngGTgHwtFeJ8MIakQJTbdYbFgXSZxcvDiERg3psbGeFXaUaPI0GO6BXv9k/OQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">= 10.0" + "node": ">=10" } }, - "node_modules/clean-css/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==", + "node_modules/@swc/core-linux-arm-gnueabihf": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.8.tgz", + "integrity": "sha512-PP9JIJt19bUWhAGcQW6qMwTjZOcMyzkvZa0/LWSlDm0ORYVLmDXUoeQbGD3e0Zju9UiZxyulnpjEN0ZihJgPTA==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=0.10.0" + "node": ">=10" } }, - "node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" + "node_modules/@swc/core-linux-arm64-gnu": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.8.tgz", + "integrity": "sha512-HvEWnwKHkoVUr5iftWirTApFJ13hGzhAY2CMw4lz9lur2m+zhPviRRED0FCI6T95Knpv7+8eUOr98Z7ctrG6DQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=10" } }, - "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" - }, + "node_modules/@swc/core-linux-arm64-musl": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.8.tgz", + "integrity": "sha512-kY8+qa7k/dEeBq9p0Hrta18QnJPpsiJvDQSLNaTIFpdM3aEM9zbkshWz8gaX5VVGUEALowCBUWqmzO4VaqM+2w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "node_modules/@swc/core-linux-x64-gnu": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.8.tgz", + "integrity": "sha512-0WWyIw432wpO/zeGblwq4f2YWam4pn8Z/Ig4KzHMgthR/KmiLU3f0Z7eo45eVmq5vcU7Os1zi/Zb65OOt09q/w==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/co": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", - "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "node_modules/@swc/core-linux-x64-musl": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.8.tgz", + "integrity": "sha512-p4yxvVS05rBNCrBaSTa20KK88vOwtg8ifTW7ec/yoab0bD5EwzzB8KbDmLLxE6uziFa0sdjF0dfRDwSZPex37Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], "engines": { - "iojs": ">= 1.0.0", - "node": ">= 0.12.0" + "node": ">=10" } }, - "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" - }, + "node_modules/@swc/core-win32-arm64-msvc": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.8.tgz", + "integrity": "sha512-jKuXihxAaqUnbFfvPxtmxjdJfs87F1GdBf33il+VUmSyWCP4BE6vW+/ReDAe8sRNsKyrZ3UH1vI5q1n64csBUA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 4.0" + "node": ">=10" } }, - "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" - }, - "node_modules/color": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", - "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.3", - "color-string": "^1.6.0" + "node_modules/@swc/core-win32-ia32-msvc": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.8.tgz", + "integrity": "sha512-O0wT4AGHrX8aBeH6c2ADMHgagAJc5Kf6W48U5moyYDAkkVnKvtSc4kGhjWhe1Yl0sI0cpYh2In2FxvYsb44eWw==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" } }, - "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/@swc/core-win32-x64-msvc": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.8.tgz", + "integrity": "sha512-C2AYc3A2o+ECciqsJWRgIpp83Vk5EaRzHe7ed/xOWzVd0MsWR+fweEsyOjlmzHfpUxJSi46Ak3/BIZJlhZbXbg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" } }, - "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/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "devOptional": true }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dev": true, + "node_modules/@swc/types": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.6.tgz", + "integrity": "sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==", + "devOptional": true, "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" + "@swc/counter": "^0.1.3" } }, - "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/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" + "node_modules/@tailwindcss/line-clamp": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.4.4.tgz", + "integrity": "sha512-5U6SY5z8N42VtrCrKlsTAA35gy2VSyYtHWCsg1H87NU1SXnEfekTVlrga9fzUDrrHcGi2Lb5KenUWb4lRQT5/g==", + "peerDependencies": { + "tailwindcss": ">=2.0.0 || >=3.0.0 || >=3.0.0-alpha.1" } }, - "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/@tanstack/query-core": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/@tanstack/query-core/-/query-core-5.8.3.tgz", + "integrity": "sha512-SWFMFtcHfttLYif6pevnnMYnBvxKf3C+MHMH7bevyYfpXpTMsLB9O6nNGBdWSoPwnZRXFNyNeVZOw25Wmdasow==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/comment-parser": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.0.tgz", - "integrity": "sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==", + "node_modules/@tanstack/query-devtools": { + "version": "5.8.4", + "resolved": "https://registry.npmjs.org/@tanstack/query-devtools/-/query-devtools-5.8.4.tgz", + "integrity": "sha512-F1dRbITNt9tMUoM9WCH8WQ2c54116hv52m/PKK8ZiN/pO2wGVzTZtKuLanF8pFpwmNchjIixcMw/a57HY5ivcw==", "dev": true, - "engines": { - "node": ">= 12.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" - }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "engines": { - "node": ">=4.0.0" + "node_modules/@tanstack/react-query": { + "version": "5.8.4", + "resolved": "https://registry.npmjs.org/@tanstack/react-query/-/react-query-5.8.4.tgz", + "integrity": "sha512-CD+AkXzg8J72JrE6ocmuBEJfGzEzu/bzkD6sFXFDDB5yji9N20JofXZlN6n0+CaPJuIi+e4YLCbGsyPFKkfNQA==", + "dependencies": { + "@tanstack/query-core": "5.8.3" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0", + "react-native": "*" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } } }, - "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==", + "node_modules/@tanstack/react-query-devtools": { + "version": "5.8.4", + "resolved": "https://registry.npmjs.org/@tanstack/react-query-devtools/-/react-query-devtools-5.8.4.tgz", + "integrity": "sha512-mffs51FJqXU/5rwhbwv393DccL6et7uK2pRLwOcmMrWbPyW8vpxr9oidaghHX4cdVeP/7u5owW9yMpBhBAJfcQ==", + "dev": true, "dependencies": { - "mime-db": ">= 1.43.0 < 2" + "@tanstack/query-devtools": "5.8.4" }, - "engines": { - "node": ">= 0.6" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "@tanstack/react-query": "^5.8.4", + "react": "^18.0.0", + "react-dom": "^18.0.0" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "node_modules/@testing-library/dom": { + "version": "9.3.3", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", + "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", "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" + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" }, "engines": { - "node": ">= 0.8.0" + "node": ">=14" } }, - "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==", + "node_modules/@testing-library/dom/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": { - "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/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==" - }, - "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/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" - }, - "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==", + "color-convert": "^2.0.1" + }, "engines": { - "node": ">=0.8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/@testing-library/dom/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": { - "safe-buffer": "5.2.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/@testing-library/dom/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": ">= 0.6" + "node": ">=7.0.0" } }, - "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/@testing-library/dom/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/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "node_modules/@testing-library/dom/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": ">= 0.6" + "node": ">=8" } }, - "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/core-js": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.2.tgz", - "integrity": "sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/@testing-library/dom/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/core-js-compat": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.2.tgz", - "integrity": "sha512-axfo+wxFVxnqf8RvxTzoAlzW4gRoacrHeoFlc9n0x50+7BEyZL/Rt3hicaED1/CEd7I6tPCPVUYcJwCMO5XUYw==", + "node_modules/@testing-library/jest-dom": { + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.17.0.tgz", + "integrity": "sha512-ynmNeT7asXyH3aSVv4vvX4Rb+0qjOhdNHnO/3vuZNqPmhDpV/+rCSGwQ7bLcmU2cJ4dvoheIO85LQj0IbJHEtg==", "dependencies": { - "browserslist": "^4.22.1" + "@adobe/css-tools": "^4.0.1", + "@babel/runtime": "^7.9.2", + "@types/testing-library__jest-dom": "^5.9.1", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.5.6", + "lodash": "^4.17.15", + "redent": "^3.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "engines": { + "node": ">=8", + "npm": ">=6", + "yarn": ">=1" } }, - "node_modules/core-js-pure": { - "version": "3.33.2", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.2.tgz", - "integrity": "sha512-a8zeCdyVk7uF2elKIGz67AjcXOxjRbwOLz8SbklEso1V+2DoW4OkAMZN9S9GBgvZIaqQi/OemFX4OiSoQEmg1Q==", - "hasInstallScript": true, + "node_modules/@testing-library/jest-dom/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": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/@testing-library/jest-dom/node_modules/chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", "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" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=10" + "node": ">=8" } }, - "node_modules/cosmiconfig-typescript-loader": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-1.0.9.tgz", - "integrity": "sha512-tRuMRhxN4m1Y8hP9SNYfz7jRwt8lZdWxdjg/ohg5esKmsndJIn4yT96oJVcf5x0eA11taXl+sIp+ielu529k6g==", + "node_modules/@testing-library/jest-dom/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": { - "cosmiconfig": "^7", - "ts-node": "^10.7.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=12", - "npm": ">=6" - }, - "peerDependencies": { - "@types/node": "*", - "cosmiconfig": ">=7", - "typescript": ">=3" + "node": ">=7.0.0" } }, - "node_modules/craco-alias": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/craco-alias/-/craco-alias-3.0.1.tgz", - "integrity": "sha512-N+Qaf/Gr/f3o5ZH2TQjMu5NhR9PnT1ZYsfejpNvZPpB0ujdrhsSr4Ct6GVjnV5ostCVquhTKJpIVBKyL9qDQYA==", - "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", - "dev": true - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + "node_modules/@testing-library/jest-dom/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/cross-fetch": { + "node_modules/@testing-library/jest-dom/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", - "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", - "dependencies": { - "node-fetch": "^2.6.12" + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "engines": { + "node": ">=8" } }, - "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==", + "node_modules/@testing-library/jest-dom/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": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" + "has-flag": "^4.0.0" }, - "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-blank-pseudo": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", - "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", + "node_modules/@testing-library/react": { + "version": "13.4.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-13.4.0.tgz", + "integrity": "sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==", "dependencies": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-blank-pseudo": "dist/cli.cjs" + "@babel/runtime": "^7.12.5", + "@testing-library/dom": "^8.5.0", + "@types/react-dom": "^18.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=12" }, "peerDependencies": { - "postcss": "^8.4" + "react": "^18.0.0", + "react-dom": "^18.0.0" } }, - "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" + "node_modules/@testing-library/react/node_modules/@testing-library/dom": { + "version": "8.20.1", + "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-8.20.1.tgz", + "integrity": "sha512-/DiOQ5xBxgdYRC8LNk7U+RWat0S3qRLeIw3ZIkMQ9kkVlRmwD/Eg8k8CqIpD6GW7u20JIUOfMKbxtiLutpjQ4g==", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "@babel/runtime": "^7.12.5", + "@types/aria-query": "^5.0.1", + "aria-query": "5.1.3", + "chalk": "^4.1.0", + "dom-accessibility-api": "^0.5.9", + "lz-string": "^1.5.0", + "pretty-format": "^27.0.2" }, - "peerDependencies": { - "postcss": "^8.0.9" + "engines": { + "node": ">=12" } }, - "node_modules/css-has-pseudo": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", - "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", + "node_modules/@testing-library/react/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": { - "postcss-selector-parser": "^6.0.9" - }, - "bin": { - "css-has-pseudo": "dist/cli.cjs" + "color-convert": "^2.0.1" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=8" }, - "peerDependencies": { - "postcss": "^8.4" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/@testing-library/react/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": { - "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" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/css-minimizer-webpack-plugin": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", - "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", + "node_modules/@testing-library/react/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": { - "cssnano": "^5.0.6", - "jest-worker": "^27.0.2", - "postcss": "^8.3.5", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0", - "source-map": "^0.6.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@parcel/css": { - "optional": true - }, - "clean-css": { - "optional": true - }, - "csso": { - "optional": true - }, - "esbuild": { - "optional": true - } + "node": ">=7.0.0" } }, - "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/@testing-library/react/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/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/@testing-library/react/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/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==", + "node_modules/@testing-library/react/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": { - "@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" + "has-flag": "^4.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/css-minimizer-webpack-plugin/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": ">=8" } }, - "node_modules/css-prefers-color-scheme": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", - "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", - "bin": { - "css-prefers-color-scheme": "dist/cli.cjs" + "node_modules/@testing-library/user-event": { + "version": "13.5.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-13.5.0.tgz", + "integrity": "sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==", + "dependencies": { + "@babel/runtime": "^7.12.5" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=10", + "npm": ">=6" }, "peerDependencies": { - "postcss": "^8.4" - } - }, - "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" + "@testing-library/dom": ">=7.21.4" } }, - "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" - }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "engines": { - "node": ">=8.0.0" + "node": ">= 6" } }, - "node_modules/css-tree/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==", + "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": ">=0.10.0" + "node": ">=10.13.0" } }, - "node_modules/css-unit-converter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", - "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", - "dev": true + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" }, - "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/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" }, - "node_modules/css.escape": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", - "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" }, - "node_modules/cssdb": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.9.0.tgz", - "integrity": "sha512-WPMT9seTQq6fPAa1yN4zjgZZeoTriSN2LqW9C+otjar12DQIWA4LuSfFrvFJiKp4oD0xIk1vumDLw8K9ur4NBw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - { - "type": "github", - "url": "https://github.com/sponsors/csstools" - } - ] + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" }, - "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/@types/aria-query": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/@types/aria-query/-/aria-query-5.0.3.tgz", + "integrity": "sha512-0Z6Tr7wjKJIk4OUEjVUQMtyunLDy339vcMaj38Kpj6jM2OE1p3S4kXExKZ7a3uXQAPCoy3sbrP1wibDKaf39oA==" + }, + "node_modules/@types/babel__core": { + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.3.tgz", + "integrity": "sha512-54fjTSeSHwfan8AyHWrKbfBWiEUrNTZsUwPTDSNaaP1QDQIZbeNUg3a59E9D+375MzUw/x1vx2/0F5LBz+AeYA==", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" } }, - "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==", + "node_modules/@types/babel__generator": { + "version": "7.6.6", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.6.tgz", + "integrity": "sha512-66BXMKb/sUWbMdBNdMvajU7i/44RkrA3z/Yt1c7R5xejt8qh84iU54yUWCtm0QwGJlDcf/gg4zd/x4mpLAlb/w==", "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" + "@babel/types": "^7.0.0" } }, - "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==", + "node_modules/@types/babel__template": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.3.tgz", + "integrity": "sha512-ciwyCLeuRfxboZ4isgdNZi/tkt06m8Tw6uGbBSBgWrnnZGNXiEyM27xc/PjXGQLqlZ6ylbgHMnm7ccF9tCkOeQ==", "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" + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" } }, - "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/@types/babel__traverse": { + "version": "7.20.3", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.3.tgz", + "integrity": "sha512-Lsh766rGEFbaxMIDH7Qa+Yha8cMVI3qAK6CHt3OR0YfxOIn5Z54iHiyDRycHrBqeIiqGa20Kpsv1cavfBKkRSw==", + "dependencies": { + "@babel/types": "^7.20.7" } }, - "node_modules/csso": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", - "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "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": { - "css-tree": "^1.1.2" - }, - "engines": { - "node": ">=8.0.0" + "@types/connect": "*", + "@types/node": "*" } }, - "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==", + "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": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=8.0.0" + "@types/node": "*" } }, - "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/@types/chai": { + "version": "4.3.14", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.14.tgz", + "integrity": "sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==", + "dev": true }, - "node_modules/csso/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/@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/cssom": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", - "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + "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/cssstyle": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", - "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", + "node_modules/@types/cross-spawn": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==", + "dev": true, "dependencies": { - "cssom": "~0.3.6" - }, - "engines": { - "node": ">=8" + "@types/node": "*" } }, - "node_modules/cssstyle/node_modules/cssom": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", - "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + "node_modules/@types/detect-port": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/detect-port/-/detect-port-1.3.5.tgz", + "integrity": "sha512-Rf3/lB9WkDfIL9eEKaSYKc+1L/rNVYBjThk22JTqQw0YozXarX8YljFAz+HCoC6h4B4KwCMsBPZHaFezwT4BNA==", + "dev": true }, - "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/@types/doctrine": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.3.tgz", + "integrity": "sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==", + "dev": true }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + "node_modules/@types/ejs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", + "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==", + "dev": true }, - "node_modules/data-urls": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", - "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", + "node_modules/@types/emscripten": { + "version": "1.39.10", + "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.10.tgz", + "integrity": "sha512-TB/6hBkYQJxsZHSqyeuO1Jt0AB/bW6G7rHt9g7lML7SOF6lbgcHvw/Lr+69iqN0qxgXLhWKScAon73JNnptuDw==", + "dev": true + }, + "node_modules/@types/escodegen": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/escodegen/-/escodegen-0.0.6.tgz", + "integrity": "sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig==", + "dev": true + }, + "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": { - "abab": "^2.0.3", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.0.0" - }, - "engines": { - "node": ">=10" + "@types/estree": "*", + "@types/json-schema": "*" } }, - "node_modules/data-urls/node_modules/tr46": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", + "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": { - "punycode": "^2.1.1" - }, - "engines": { - "node": ">=8" + "@types/eslint": "*", + "@types/estree": "*" } }, - "node_modules/data-urls/node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "node_modules/@types/estree": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.4.tgz", + "integrity": "sha512-2JwWnHK9H+wUZNorf2Zr6ves96WHoWDJIftkcxPKsS7Djta6Zu519LarhRNljPXkpsZR2ZMwNCPeW7omW07BJw==" + }, + "node_modules/@types/express": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.20.tgz", + "integrity": "sha512-rOaqlkgEvOW495xErXMsmyX3WKBInbhG5eqojXYi3cGUaLoRDlXa5d52fkfWZT963AZ3v2eZ4MbKE6WpDAGVsw==", "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "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": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" } }, - "node_modules/decimal.js": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", - "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" - }, - "node_modules/dedent": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", - "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + "node_modules/@types/find-cache-dir": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/find-cache-dir/-/find-cache-dir-3.2.1.tgz", + "integrity": "sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==", + "dev": true }, - "node_modules/deep-equal": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", - "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", + "node_modules/@types/graceful-fs": { + "version": "4.1.8", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.8.tgz", + "integrity": "sha512-NhRH7YzWq8WiNKVavKPBmtLYZHxNY19Hh+az28O/phfp68CF45pMFud+ZzJ8ewnxnC5smIdF3dqFeiSUQ5I+pw==", "dependencies": { - "array-buffer-byte-length": "^1.0.0", - "call-bind": "^1.0.2", - "es-get-iterator": "^1.1.3", - "get-intrinsic": "^1.2.1", - "is-arguments": "^1.1.1", - "is-array-buffer": "^3.0.2", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.2", - "isarray": "^2.0.5", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "object.assign": "^4.1.4", - "regexp.prototype.flags": "^1.5.0", - "side-channel": "^1.0.4", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@types/node": "*" } }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + "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/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/@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/default-browser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", - "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", - "dev": true, + "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": { - "bundle-name": "^3.0.0", - "default-browser-id": "^3.0.0", - "execa": "^7.1.1", - "titleize": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "@types/node": "*" } }, - "node_modules/default-browser-id": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", - "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", - "dev": true, - "dependencies": { - "bplist-parser": "^0.2.0", - "untildify": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "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/default-browser/node_modules/execa": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", - "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", - "dev": true, + "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": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "@types/istanbul-lib-coverage": "*" } }, - "node_modules/default-browser/node_modules/human-signals": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", - "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", - "dev": true, - "engines": { - "node": ">=14.18.0" + "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/default-browser/node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node_modules/@types/jest": { + "version": "29.5.7", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.7.tgz", + "integrity": "sha512-HLyetab6KVPSiF+7pFcUyMeLsx25LDNDemw9mGsJBkai/oouwrjTycocSDYopMEwFhN2Y4s9oPyOCZNofgSt2g==", + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" } }, - "node_modules/default-browser/node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, + "node_modules/@types/jest/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "engines": { - "node": ">=12" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/default-browser/node_modules/npm-run-path": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", - "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", - "dev": true, + "node_modules/@types/jest/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dependencies": { - "path-key": "^4.0.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/default-browser/node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/@types/jest/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, - "node_modules/default-browser/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "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/default-browser/node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==" }, - "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/@types/lodash": { + "version": "4.14.200", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.200.tgz", + "integrity": "sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q==", + "dev": true }, - "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/@types/mdx": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.12.tgz", + "integrity": "sha512-H9VZ9YqE+H28FQVchC83RCs5xQ2J7mAAv6qdDEaWmXEVl3OpdH+xfrSUzQ1lp7U7oSTRZ0RvW08ASPJsYBi7Cw==", + "dev": true }, - "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/@types/mime": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", + "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" }, - "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==", + "node_modules/@types/mime-types": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.4.tgz", + "integrity": "sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.8.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz", + "integrity": "sha512-TlgT8JntpcbmKUFzjhsyhGfP2fsiz1Mv56im6enJ905xG1DAYesxJaeSbGqQmAw8OWPdhyJGhGSQGKRNJ45u9w==", "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" + "undici-types": "~5.26.4" } }, - "node_modules/defined": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "node_modules/@types/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", - "engines": { - "node": ">=0.4.0" + "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/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/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "engines": { - "node": ">=6" - } + "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/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/@types/platform": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@types/platform/-/platform-1.3.6.tgz", + "integrity": "sha512-ZmSaqHuvzv+jC232cFoz2QqPUkaj6EvMmCrWcx3WRr7xTPVFCMUOTcOq8m2d+Zw1iKRc1kDiaA+jtNrV0hkVew==", + "dev": true }, - "node_modules/detect-newline": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", - "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", - "engines": { - "node": ">=8" - } + "node_modules/@types/prettier": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", + "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" }, - "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/@types/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==", + "dev": true }, - "node_modules/detect-node-es": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", - "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + "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/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==", + "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.35", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.35.tgz", + "integrity": "sha512-LG3xpFZ++rTndV+/XFyX5vUP7NI9yxyk+MQvBDq+CVs8I9DLSc3Ymwb1Vmw5YDoeNeHN4PDZa3HylMKJYT9PNQ==", "dependencies": { - "address": "^1.0.1", - "debug": "^2.6.0" - }, - "bin": { - "detect": "bin/detect-port", - "detect-port": "bin/detect-port" - }, - "engines": { - "node": ">= 4.2.1" + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, - "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==", + "node_modules/@types/react-dom": { + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.14.tgz", + "integrity": "sha512-V835xgdSVmyQmI1KLV2BEIUgqEuinxp9O4G6g3FqO/SqLac049E53aysv0oEFD2kHfejeKU+ZqL2bcFWj9gLAQ==", "dependencies": { - "ms": "2.0.0" + "@types/react": "*" } }, - "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/detective": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", - "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "node_modules/@types/react-google-recaptcha": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@types/react-google-recaptcha/-/react-google-recaptcha-2.1.7.tgz", + "integrity": "sha512-qAif3VMKgIrT6l3YcCN29F0W0LZR9Q5jxLvH2MANgc2Hm3Pk27goHBwj3Ri4vtFc0jZyFt6npdERdzUtZtJsLQ==", "dev": true, "dependencies": { - "acorn-node": "^1.8.2", - "defined": "^1.0.0", - "minimist": "^1.2.6" - }, - "bin": { - "detective": "bin/detective.js" - }, - "engines": { - "node": ">=0.8.0" + "@types/react": "*" } }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "engines": { - "node": ">=0.3.1" + "node_modules/@types/react-reconciler": { + "version": "0.28.6", + "resolved": "https://registry.npmjs.org/@types/react-reconciler/-/react-reconciler-0.28.6.tgz", + "integrity": "sha512-NlilRDg7yjtFX568NA046OiHWbz5EKM1q5FSXi2GP7WKyU+Vem4NJQcG+ZaMiWotyPiYqkIb6NKJkFuplbchAA==", + "dev": true, + "dependencies": { + "@types/react": "*" } }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node_modules/@types/react-transition-group": { + "version": "4.4.8", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.8.tgz", + "integrity": "sha512-QmQ22q+Pb+HQSn04NL3HtrqHwYMf4h3QKArOy5F8U5nEVMaihBs3SR10WiOM1iwPz5jIo8x/u11al+iEGZZrvg==", + "dependencies": { + "@types/react": "*" } }, - "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==", + "node_modules/@types/resolve": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", + "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" + "@types/node": "*" } }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + "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/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/@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/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", + "node_modules/@types/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==" + }, + "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": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" + "@types/mime": "^1", + "@types/node": "*" } }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "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": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" + "@types/express": "*" } }, - "node_modules/dom-accessibility-api": { - "version": "0.5.16", - "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", - "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" - }, - "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==", + "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": { - "utila": "~0.4" + "@types/http-errors": "*", + "@types/mime": "*", + "@types/node": "*" } }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "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": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" + "@types/node": "*" } }, - "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==", + "node_modules/@types/stack-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.2.tgz", + "integrity": "sha512-g7CK9nHdwjK2n0ymT2CW698FuWJRIx+RP6embAzZ2Qi8/ilIrA1Imt2LVSeHUzKvpoi7BhmmQcXz95eS0f2JXw==" + }, + "node_modules/@types/testing-library__jest-dom": { + "version": "5.14.9", + "resolved": "https://registry.npmjs.org/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.9.tgz", + "integrity": "sha512-FSYhIjFlfOpGSRyVoMBMuS3ws5ehFQODymf3vlI7U1K8c7PHwWwFY7VREfmsuzHSOnoKs/9/Y983ayOs7eRzqw==", "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "@types/jest": "*" } }, - "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/@types/trusted-types": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.5.tgz", + "integrity": "sha512-I3pkr8j/6tmQtKV/ZzHtuaqYSQvyjGRKH4go60Rr0IDLlFxuRT5V32uvB1mecM5G1EVAUyF/4r4QZ1GHgz+mxA==" }, - "node_modules/domexception": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", - "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", + "node_modules/@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", + "dev": true + }, + "node_modules/@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", + "dev": true + }, + "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": { - "webidl-conversions": "^5.0.0" - }, - "engines": { - "node": ">=8" + "@types/node": "*" } }, - "node_modules/domexception/node_modules/webidl-conversions": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", - "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", - "engines": { - "node": ">=8" + "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/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "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/@typescript-eslint/eslint-plugin": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dependencies": { - "domelementtype": "^2.2.0" + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">= 4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.62.0.tgz", + "integrity": "sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==", "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "@typescript-eslint/utils": "5.62.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/dot-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", - "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "node_modules/@typescript-eslint/parser": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dependencies": { - "no-case": "^3.0.4", - "tslib": "^2.0.3" - } - }, - "node_modules/dotenv": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", - "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "debug": "^4.3.4" + }, "engines": { - "node": ">=10" - } - }, - "node_modules/dotenv-expand": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", - "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" - }, - "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/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/ejs": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", - "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", - "dependencies": { - "jake": "^10.8.5" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "bin": { - "ejs": "bin/cli.js" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/electron-to-chromium": { - "version": "1.4.576", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.576.tgz", - "integrity": "sha512-yXsZyXJfAqzWk1WKryr0Wl0MN2D47xodPvEEwlVePBnhU5E7raevLQR+E6b9JAD3GfL/7MbAL9ZtWQQPcLx7wA==" - }, - "node_modules/emittery": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", - "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "dependencies": { + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" + }, "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "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==", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, "engines": { - "node": ">= 4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "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==", + "node_modules/@typescript-eslint/types": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "engines": { - "node": ">= 0.8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "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==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=10.13.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/enhanced-resolve/node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "node_modules/@typescript-eslint/utils": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, "engines": { - "node": ">=6" - } - }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "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==", + "node_modules/@typescript-eslint/utils/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": { - "is-arrayish": "^0.2.1" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "node_modules/error-stack-parser": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", - "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dependencies": { - "stackframe": "^1.3.4" + "node_modules/@typescript-eslint/utils/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/es-abstract": { - "version": "1.22.3", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz", - "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "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" + "@typescript-eslint/types": "5.62.0", + "eslint-visitor-keys": "^3.3.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "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/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, - "node_modules/es-get-iterator": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", - "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", + "node_modules/@vitest/expect": { + "version": "0.34.7", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.7.tgz", + "integrity": "sha512-G9iEtwrD6ZQ4MVHZufif9Iqz3eLtuwBBNx971fNAGPaugM7ftAWjQN+ob2zWhtzURp8RK3zGXOxVb01mFo3zAQ==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "has-symbols": "^1.0.3", - "is-arguments": "^1.1.1", - "is-map": "^2.0.2", - "is-set": "^2.0.2", - "is-string": "^1.0.7", - "isarray": "^2.0.5", - "stop-iteration-iterator": "^1.0.0" + "@vitest/spy": "0.34.7", + "@vitest/utils": "0.34.7", + "chai": "^4.3.10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-iterator-helpers": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", - "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", - "dependencies": { - "asynciterator.prototype": "^1.0.0", - "call-bind": "^1.0.2", - "define-properties": "^1.2.1", - "es-abstract": "^1.22.1", - "es-set-tostringtag": "^2.0.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.2.1", - "globalthis": "^1.0.3", - "has-property-descriptors": "^1.0.0", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.0.1" + "url": "https://opencollective.com/vitest" } }, - "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==", + "node_modules/@vitest/spy": { + "version": "0.34.7", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.7.tgz", + "integrity": "sha512-NMMSzOY2d8L0mcOt4XcliDOS1ISyGlAXuQtERWVOoVHnKwmG+kKhinAiGw3dTtMQWybfa89FG8Ucg9tiC/FhTQ==", + "dev": true, "dependencies": { - "get-intrinsic": "^1.2.2", - "has-tostringtag": "^1.0.0", - "hasown": "^2.0.0" + "tinyspy": "^2.1.1" }, - "engines": { - "node": ">= 0.4" + "funding": { + "url": "https://opencollective.com/vitest" } }, - "node_modules/es-shim-unscopables": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", - "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", + "node_modules/@vitest/utils": { + "version": "0.34.7", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.7.tgz", + "integrity": "sha512-ziAavQLpCYS9sLOorGrFFKmy2gnfiNU0ZJ15TsMz/K92NAPS/rp9K4z6AJQQk5Y8adCy4Iwpxy7pQumQ/psnRg==", + "dev": true, "dependencies": { - "hasown": "^2.0.0" + "diff-sequences": "^29.4.3", + "loupe": "^2.3.6", + "pretty-format": "^29.5.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" } }, - "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" - }, + "node_modules/@vitest/utils/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/@vitest/utils/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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/@vitest/utils/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, - "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/@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/escodegen": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", - "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", + "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": { - "esprima": "^4.0.1", - "estraverse": "^5.2.0", - "esutils": "^2.0.2" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" - }, - "engines": { - "node": ">=6.0" - }, - "optionalDependencies": { - "source-map": "~0.6.1" + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "node_modules/escodegen/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==", - "optional": true, - "engines": { - "node": ">=0.10.0" + "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/eslint": { - "version": "8.53.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz", - "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==", + "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": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.3", - "@eslint/js": "8.53.0", - "@humanwhocodes/config-array": "^0.11.13", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.3.2", - "doctrine": "^3.0.0", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.2", - "eslint-visitor-keys": "^3.4.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "text-table": "^0.2.0" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/eslint-config-prettier": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", - "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.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/eslint-config-react-app": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", - "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", + "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": { - "@babel/core": "^7.16.0", - "@babel/eslint-parser": "^7.16.3", - "@rushstack/eslint-patch": "^1.1.0", - "@typescript-eslint/eslint-plugin": "^5.5.0", - "@typescript-eslint/parser": "^5.5.0", - "babel-preset-react-app": "^10.0.1", - "confusing-browser-globals": "^1.0.11", - "eslint-plugin-flowtype": "^8.0.3", - "eslint-plugin-import": "^2.25.3", - "eslint-plugin-jest": "^25.3.0", - "eslint-plugin-jsx-a11y": "^6.5.1", - "eslint-plugin-react": "^7.27.1", - "eslint-plugin-react-hooks": "^4.3.0", - "eslint-plugin-testing-library": "^5.0.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "eslint": "^8.0.0" + "@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/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", + "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": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" + "@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/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "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": { - "ms": "^2.1.1" + "@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/eslint-module-utils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", - "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", + "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": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } + "@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/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "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": { - "ms": "^2.1.1" + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "node_modules/eslint-plugin-flowtype": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", - "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", + "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/@yarnpkg/esbuild-plugin-pnp": { + "version": "3.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@yarnpkg/esbuild-plugin-pnp/-/esbuild-plugin-pnp-3.0.0-rc.15.tgz", + "integrity": "sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==", + "dev": true, "dependencies": { - "lodash": "^4.17.21", - "string-natural-compare": "^3.0.1" + "tslib": "^2.4.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.15.0" }, "peerDependencies": { - "@babel/plugin-syntax-flow": "^7.14.5", - "@babel/plugin-transform-react-jsx": "^7.14.9", - "eslint": "^8.1.0" + "esbuild": ">=0.10.0" } }, - "node_modules/eslint-plugin-import": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz", - "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==", + "node_modules/@yarnpkg/fslib": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@yarnpkg/fslib/-/fslib-2.10.3.tgz", + "integrity": "sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==", + "dev": true, "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlastindex": "^1.2.3", - "array.prototype.flat": "^1.3.2", - "array.prototype.flatmap": "^1.3.2", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.8.0", - "hasown": "^2.0.0", - "is-core-module": "^2.13.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.7", - "object.groupby": "^1.0.1", - "object.values": "^1.1.7", - "semver": "^6.3.1", - "tsconfig-paths": "^3.14.2" + "@yarnpkg/libzip": "^2.3.0", + "tslib": "^1.13.0" }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "node_modules/@yarnpkg/fslib/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/@yarnpkg/libzip": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/libzip/-/libzip-2.3.0.tgz", + "integrity": "sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==", + "dev": true, "dependencies": { - "ms": "^2.1.1" + "@types/emscripten": "^1.39.6", + "tslib": "^1.13.0" + }, + "engines": { + "node": ">=12 <14 || 14.2 - 14.9 || >14.10.0" } }, - "node_modules/eslint-plugin-import/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "node_modules/@yarnpkg/libzip/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==" + }, + "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": { - "esutils": "^2.0.2" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" }, "engines": { - "node": ">=0.10.0" + "node": ">= 0.6" } }, - "node_modules/eslint-plugin-import/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "bin": { - "semver": "bin/semver.js" + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" } }, - "node_modules/eslint-plugin-jest": { - "version": "25.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", - "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", + "node_modules/acorn-globals": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz", + "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==", "dependencies": { - "@typescript-eslint/experimental-utils": "^5.0.0" + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1" + } + }, + "node_modules/acorn-globals/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - }, + "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": { - "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "@typescript-eslint/eslint-plugin": { - "optional": true - }, - "jest": { - "optional": true - } + "acorn": "^8" } }, - "node_modules/eslint-plugin-jsdoc": { - "version": "46.8.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.8.2.tgz", - "integrity": "sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ==", + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-node": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz", + "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==", "dev": true, "dependencies": { - "@es-joy/jsdoccomment": "~0.40.1", - "are-docs-informative": "^0.0.2", - "comment-parser": "1.4.0", - "debug": "^4.3.4", - "escape-string-regexp": "^4.0.0", - "esquery": "^1.5.0", - "is-builtin-module": "^3.2.1", - "semver": "^7.5.4", - "spdx-expression-parse": "^3.0.1" + "acorn": "^7.0.0", + "acorn-walk": "^7.0.0", + "xtend": "^4.0.2" + } + }, + "node_modules/acorn-node/node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" }, "engines": { - "node": ">=16" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "node": ">=0.4.0" } }, - "node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, + "node_modules/acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=0.4.0" } }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", - "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", + "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/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", "dependencies": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" }, "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "node": ">=8.9" } }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", - "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "node_modules/adjust-sourcemap-loader/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": { - "dequal": "^2.0.3" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" } }, - "node_modules/eslint-plugin-prettier": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz", - "integrity": "sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==", - "dev": true, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.5" + "debug": "4" }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } + "node": ">= 6.0.0" } }, - "node_modules/eslint-plugin-react": { - "version": "7.33.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", - "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", + "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==", + "dev": true, "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flatmap": "^1.3.1", - "array.prototype.tosorted": "^1.1.1", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.12", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.6", - "object.fromentries": "^2.0.6", - "object.hasown": "^1.1.2", - "object.values": "^1.1.6", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.4", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.8" + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" }, "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "node": ">=8" } }, - "node_modules/eslint-plugin-react-hooks": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", - "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", - "engines": { - "node": ">=10" + "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" }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/eslint-plugin-react/node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "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": { - "esutils": "^2.0.2" + "ajv": "^8.0.0" }, - "engines": { - "node": ">=0.10.0" + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "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": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "bin": { - "semver": "bin/semver.js" - } + "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/eslint-plugin-testing-library": { - "version": "5.11.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", - "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", - "dependencies": { - "@typescript-eslint/utils": "^5.58.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0", - "npm": ">=6" - }, + "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": { - "eslint": "^7.5.0 || ^8.0.0" + "ajv": "^6.9.1" } }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" + "type-fest": "^0.21.3" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-webpack-plugin": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", - "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", - "dependencies": { - "@types/eslint": "^7.29.0 || ^8.4.1", - "jest-worker": "^28.0.2", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.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" + ], + "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": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0", - "webpack": "^5.0.0" + "node": ">=8" } }, - "node_modules/eslint-webpack-plugin/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "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": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "color-convert": "^1.9.0" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=4" } }, - "node_modules/eslint-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==", + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "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": { - "fast-deep-equal": "^3.1.3" + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" }, - "peerDependencies": { - "ajv": "^8.8.2" + "engines": { + "node": ">= 8" } }, - "node_modules/eslint-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==", + "node_modules/app-root-dir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz", + "integrity": "sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==", + "dev": true + }, + "node_modules/are-docs-informative": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", + "integrity": "sha512-ixiS0nLNNG5jNQzgZJNoUpBKdo9yTYZMGJ+QgT2jmjR7G7+QHRCc4v6LQ3NgE7EBJq+o0ams3waJwkrlBom8Ig==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=14" } }, - "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", - "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", + "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/aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" + "tslib": "^2.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=10" } }, - "node_modules/eslint-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/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dependencies": { + "deep-equal": "^2.0.5" + } }, - "node_modules/eslint-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==", + "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": { - "@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" + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint-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==", + "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-includes": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", + "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", "dependencies": { - "has-flag": "^4.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "is-string": "^1.0.7" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/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" - }, + "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" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/array.prototype.findlastindex": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz", + "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/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==", + "node_modules/array.prototype.flat": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.2.tgz", + "integrity": "sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==", "dependencies": { - "color-name": "~1.1.4" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/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/eslint/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" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/node_modules/globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "node_modules/array.prototype.flatmap": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.2.tgz", + "integrity": "sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==", "dependencies": { - "type-fest": "^0.20.2" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/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" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/eslint/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==", + "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": { - "has-flag": "^4.0.0" + "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": ">=8" - } - }, - "node_modules/eslint/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" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/array.prototype.tosorted": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz", + "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==", "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "es-shim-unscopables": "^1.0.0", + "get-intrinsic": "^1.2.1" + } + }, + "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": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">= 0.4" }, "funding": { - "url": "https://opencollective.com/eslint" + "url": "https://github.com/sponsors/ljharb" } }, - "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/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "node_modules/assert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", + "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", + "dev": true, "dependencies": { - "estraverse": "^5.1.0" - }, + "call-bind": "^1.0.2", + "is-nan": "^1.3.2", + "object-is": "^1.1.5", + "object.assign": "^4.1.4", + "util": "^0.12.5" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, "engines": { - "node": ">=0.10" + "node": "*" } }, - "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==", + "node_modules/ast-types": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", + "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", + "dev": true, "dependencies": { - "estraverse": "^5.2.0" + "tslib": "^2.0.1" }, "engines": { - "node": ">=4.0" + "node": ">=4" } }, - "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/ast-types-flow": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", + "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==" }, - "node_modules/estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + "node_modules/async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" }, - "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/async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true }, - "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/asynciterator.prototype": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", + "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", + "dependencies": { + "has-symbols": "^1.0.3" } }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "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": ">=0.8.x" + "node": ">= 4.0.0" } }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "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": { - "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" + "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" + "node": "^10 || ^12 || >=14" }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "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.8.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/expect": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", - "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", - "dependencies": { - "@jest/expect-utils": "^29.7.0", - "jest-get-type": "^29.6.3", - "jest-matcher-utils": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-util": "^29.7.0" - }, + "node_modules/axe-core": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.7.0.tgz", + "integrity": "sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==", "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4" } }, - "node_modules/express": { - "version": "4.18.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", - "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", + "node_modules/axios": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.0.tgz", + "integrity": "sha512-EZ1DYihju9pwVB+jg67ogm+Tmqc6JmhamRN6I4Zt8DfZu5lbcQGw3ozH9lFejSJgs/ibaef3A9PMXPLeefFGJg==", "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" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.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/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", "dependencies": { - "ms": "2.0.0" + "dequal": "^2.0.3" } }, - "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/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-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "dev": true, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "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==", + "node_modules/babel-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", + "integrity": "sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg==", "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" + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, "engines": { - "node": ">=8.6.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/babel-jest/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "is-glob": "^4.0.1" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">= 6" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.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-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + "node_modules/babel-jest/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "dependencies": { + "@types/yargs-parser": "*" + } }, - "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==", + "node_modules/babel-jest/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": { - "reusify": "^1.0.4" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/babel-jest/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": { - "websocket-driver": ">=0.5.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/fb-watchman": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", - "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "node_modules/babel-jest/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": { - "bser": "2.1.1" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "node_modules/babel-jest/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/babel-jest/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/babel-jest/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": { - "flat-cache": "^3.0.4" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=8" } }, - "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==", + "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", - "schema-utils": "^3.0.0" + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "node": ">= 8.9" }, "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "@babel/core": "^7.0.0", + "webpack": ">=2" } }, - "node_modules/file-loader/node_modules/loader-utils": { + "node_modules/babel-loader/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==", @@ -10726,577 +12952,550 @@ "node": ">=8.9.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==", + "node_modules/babel-plugin-add-react-displayname": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz", + "integrity": "sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw==", + "dev": true + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" }, "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/filelist": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", - "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", - "dependencies": { - "minimatch": "^5.0.1" + "node": ">=8" } }, - "node_modules/filelist/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/babel-plugin-jest-hoist": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz", + "integrity": "sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ==", "dependencies": { - "balanced-match": "^1.0.0" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.0.0", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/filelist/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "node_modules/babel-plugin-macros": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", + "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", "dependencies": { - "brace-expansion": "^2.0.1" + "@babel/runtime": "^7.12.5", + "cosmiconfig": "^7.0.0", + "resolve": "^1.19.0" }, "engines": { - "node": ">=10" + "node": ">=10", + "npm": ">=6" } }, - "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/babel-plugin-named-asset-import": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz", + "integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==", + "peerDependencies": { + "@babel/core": "^7.1.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==", + "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": { - "to-regex-range": "^5.0.1" + "@babel/compat-data": "^7.22.6", + "@babel/helper-define-polyfill-provider": "^0.4.3", + "semver": "^6.3.1" }, - "engines": { - "node": ">=8" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "node_modules/babel-plugin-polyfill-corejs2/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/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": { - "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" + "@babel/helper-define-polyfill-provider": "^0.4.3", + "core-js-compat": "^3.33.1" }, - "engines": { - "node": ">= 0.8" + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, - "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==", + "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": { - "ms": "2.0.0" + "@babel/helper-define-polyfill-provider": "^0.4.3" + }, + "peerDependencies": { + "@babel/core": "^7.4.0 || ^8.0.0-0 <8.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/babel-plugin-transform-react-remove-prop-types": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-remove-prop-types/-/babel-plugin-transform-react-remove-prop-types-0.4.24.tgz", + "integrity": "sha512-eqj0hVcJUR57/Ug2zE1Yswsw4LhuqqHhD+8v120T1cl3kjg76QwtyBrdIk4WVwK+lAhBJVYCd/v+4nc4y+8JsA==" }, - "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" + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@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-top-level-await": "^7.8.3" }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/find-root": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" - }, - "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==", + "node_modules/babel-preset-jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz", + "integrity": "sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag==", "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" + "babel-plugin-jest-hoist": "^27.5.1", + "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": ">=10" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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" + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/flat-cache": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", - "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", + "node_modules/babel-preset-react-app": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-react-app/-/babel-preset-react-app-10.0.1.tgz", + "integrity": "sha512-b0D9IZ1WhhCWkrTXyFuIIgqGzSkRIH5D5AmB0bXbzYAB1OBAwHcUeyWW2LorutLWF5btNo/N7r/cIdmvvKJlYg==", "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=12.0.0" + "@babel/core": "^7.16.0", + "@babel/plugin-proposal-class-properties": "^7.16.0", + "@babel/plugin-proposal-decorators": "^7.16.4", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.16.0", + "@babel/plugin-proposal-numeric-separator": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.16.0", + "@babel/plugin-proposal-private-methods": "^7.16.0", + "@babel/plugin-transform-flow-strip-types": "^7.16.0", + "@babel/plugin-transform-react-display-name": "^7.16.0", + "@babel/plugin-transform-runtime": "^7.16.4", + "@babel/preset-env": "^7.16.4", + "@babel/preset-react": "^7.16.0", + "@babel/preset-typescript": "^7.16.0", + "@babel/runtime": "^7.16.3", + "babel-plugin-macros": "^3.1.0", + "babel-plugin-transform-react-remove-prop-types": "^0.4.24" } }, - "node_modules/flatted": { - "version": "3.2.9", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", - "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" + "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/follow-redirects": { - "version": "1.15.3", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", - "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "funding": [ { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true + "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/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/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/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==", + "node_modules/better-opn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", + "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", + "dev": true, "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" + "open": "^8.0.4" }, "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": ">=12.0.0" } }, - "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==", + "node_modules/bfj": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", + "integrity": "sha512-I6MMLkn+anzNdCUp9hMRyui1HaNEUCco50lxbvNS4+EyXg8lN3nJ48PjPWtbH8UVS9CuMoaKE9U2V3l29DaRQw==", "dependencies": { - "color-convert": "^2.0.1" + "bluebird": "^3.7.2", + "check-types": "^11.2.3", + "hoopy": "^0.1.4", + "jsonpath": "^1.1.1", + "tryer": "^1.0.1" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">= 8.0.0" } }, - "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" - }, + "node_modules/big-integer": { + "version": "1.6.51", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.51.tgz", + "integrity": "sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=0.6" } }, - "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" - }, + "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": ">=7.0.0" + "node": "*" } }, - "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" - }, + "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/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/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "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==", + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "node_modules/form-data": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", - "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "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": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "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": ">= 6" - } - }, - "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": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "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==", + "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": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" + "node": ">= 0.8" } }, - "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/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/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==", + "node_modules/body-parser/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": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "safer-buffer": ">= 2.1.2 < 3" }, "engines": { - "node": ">=10" + "node": ">=0.10.0" } }, - "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/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/fs.realpath": { + "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/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==" }, - "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" - ], + "node_modules/bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "dependencies": { + "big-integer": "^1.6.44" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": ">= 5.10.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/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/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==", + "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": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "fill-range": "^7.0.1" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "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/broadcast-channel": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/broadcast-channel/-/broadcast-channel-3.7.0.tgz", + "integrity": "sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==", + "dependencies": { + "@babel/runtime": "^7.7.2", + "detect-node": "^2.1.0", + "js-sha3": "0.8.0", + "microseconds": "0.2.0", + "nano-time": "1.0.0", + "oblivious-set": "1.0.0", + "rimraf": "3.0.2", + "unload": "2.2.0" } }, - "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/browser-assert": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", + "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", + "dev": true }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" + "node_modules/browser-process-hrtime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", + "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" + }, + "node_modules/browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==", + "dev": true, + "dependencies": { + "pako": "~0.2.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==", + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "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": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "node_modules/get-nonce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", - "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", - "engines": { - "node": ">=6" + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dependencies": { + "node-int64": "^0.4.0" } }, - "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-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "engines": { - "node": ">=8.0.0" - } - }, - "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/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==", + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "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": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" } }, - "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" - }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, "engines": { "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" } }, - "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/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/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" - }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", "engines": { "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/global-prefix": { + "node_modules/bundle-name": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/global-prefix/-/global-prefix-3.0.0.tgz", - "integrity": "sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dev": true, "dependencies": { - "ini": "^1.3.5", - "kind-of": "^6.0.2", - "which": "^1.3.1" + "run-applescript": "^5.0.0" }, "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" + "node": ">=12" }, - "bin": { - "which": "bin/which" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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": ">=4" + "node": ">= 0.8" } }, - "node_modules/globalthis": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz", - "integrity": "sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==", + "node_modules/call-bind": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "dependencies": { - "define-properties": "^1.1.3" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -11305,53 +13504,27 @@ "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" - }, + "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": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=6" } }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "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": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" } }, - "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/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" - }, - "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" - }, + "node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "engines": { "node": ">=10" }, @@ -11359,1294 +13532,1498 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/handle-thing": { + "node_modules/camelcase-css": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + "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/harmony-reflect": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", - "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + "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/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/caniuse-lite": { + "version": "1.0.30001600", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz", + "integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==", + "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/case-sensitive-paths-webpack-plugin": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", + "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==", + "engines": { + "node": ">=4" } }, - "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==", + "node_modules/chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + }, "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==", + "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": { - "get-intrinsic": "^1.2.2" + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "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==", + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=10" } }, - "node_modules/has-symbols": { + "node_modules/check-error": { "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" + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "*" } }, - "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==", + "node_modules/check-types": { + "version": "11.2.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", + "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==" + }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dependencies": { - "has-symbols": "^1.0.2" + "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": ">= 0.4" + "node": ">= 8.10.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "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==", + "node_modules/chokidar/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": { - "function-bind": "^1.1.2" + "is-glob": "^4.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">= 6" } }, - "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/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" } }, - "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/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/hoist-non-react-statics/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/hoopy": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", - "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "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": ">= 6.0.0" + "node": ">=8" } }, - "node_modules/hotkeys-js": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.12.0.tgz", - "integrity": "sha512-Z+N573ycUKIGwFYS3ID1RzMJiGmtWMGKMiaNLyJS8B1ei+MllF4ZYmKS2T0kMWBktOz+WZLVNikftEgnukOrXg==", - "dev": true - }, - "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==", + "node_modules/citty": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "dev": true, "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "consola": "^3.2.3" } }, - "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==" + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==" }, - "node_modules/hpack.js/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==", + "node_modules/class-variance-authority": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.0.tgz", + "integrity": "sha512-jFI8IQw4hczaL4ALINxqLEXQbWcNjoSkloa4IaufXCJr6QawJyw7tuRysRsrE8w2p/4gGaxKIt/hX3qz/IbD1A==", "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" + "clsx": "2.0.0" + }, + "funding": { + "url": "https://joebell.co.uk" } }, - "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==" + "node_modules/classnames": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", + "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" }, - "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==", + "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": { - "safe-buffer": "~5.1.0" + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" } }, - "node_modules/html-dom-parser": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-5.0.4.tgz", - "integrity": "sha512-azy8THLKd4Ar0OVJpEgX+MSjYvKdNDWlGiRBIlovMqEQYMAnLLXBhhiSwjylDD3RDdcCYT8Utg6uoRDeLHUyHg==", - "dependencies": { - "domhandler": "5.0.3", - "htmlparser2": "9.0.0" + "node_modules/clean-css/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/html-dom-parser/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/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" } }, - "node_modules/html-dom-parser/node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, "dependencies": { - "domelementtype": "^2.3.0" + "restore-cursor": "^3.1.0" }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">=8" } }, - "node_modules/html-dom-parser/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" + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "engines": { + "node": ">=6" }, "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/html-dom-parser/node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "node_modules/cli-table3": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.4.tgz", + "integrity": "sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0" + }, "engines": { - "node": ">=0.12" + "node": "10.* || >= 12.*" }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "optionalDependencies": { + "@colors/colors": "1.5.0" } }, - "node_modules/html-dom-parser/node_modules/htmlparser2": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.0.0.tgz", - "integrity": "sha512-uxbSI98wmFT/G4P2zXx4OVx04qWUmyFPrD2/CNepa2Zo3GPNaCaaxElDgwUrwYWkK1nr9fft0Ya8dws8coDLLQ==", - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.1.0", - "entities": "^4.5.0" + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "node_modules/html-encoding-sniffer": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", - "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", - "dependencies": { - "whatwg-encoding": "^1.0.5" - }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, "engines": { - "node": ">=10" + "node": ">=0.8" } }, - "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-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" - }, - "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==", + "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": { - "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" + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" }, "engines": { - "node": ">=12" + "node": ">=6" } }, - "node_modules/html-parse-stringify": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", - "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", - "dependencies": { - "void-elements": "3.1.0" + "node_modules/clsx": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", + "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "engines": { + "node": ">=6" } }, - "node_modules/html-react-parser": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-5.0.6.tgz", - "integrity": "sha512-aPSzFhO2bK/L/mYQbMwFz+1QG8nhxozbwENt/52HTApasrBvDX87MFD5uSQIjq7Io0bnKzH4uh7PM42zZ4ag9A==", - "dependencies": { - "domhandler": "5.0.3", - "html-dom-parser": "5.0.4", - "react-property": "2.0.2", - "style-to-js": "1.1.9" - }, - "peerDependencies": { - "react": "0.14 || 15 || 16 || 17 || 18" + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" } }, - "node_modules/html-react-parser/node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "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": { - "domelementtype": "^2.3.0" + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" }, "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "node": ">= 4.0" } }, - "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==", + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==" + }, + "node_modules/color": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/color/-/color-3.2.1.tgz", + "integrity": "sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==", "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "dependencies": { + "color-convert": "^1.9.3", + "color-string": "^1.6.0" } }, - "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==", + "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": { - "@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" + "color-name": "1.1.3" } }, - "node_modules/html-webpack-plugin/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/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/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" - } - ], + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dev": true, "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.0.0", - "domutils": "^2.5.2", - "entities": "^2.0.0" + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" } }, - "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/colord": { + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz", + "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==" }, - "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==", + "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/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" + "delayed-stream": "~1.0.0" }, "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/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/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" - }, + "node_modules/comment-parser": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/comment-parser/-/comment-parser-1.4.0.tgz", + "integrity": "sha512-QLyTNiZ2KDOibvFPlZ6ZngVsZ/0gYnE6uTXi5aoDg8ed3AkJAz4sEje3Y8a29hQ1s6A99MZXe47fLAXQ1rTqaw==", + "dev": true, "engines": { - "node": ">=8.0.0" + "node": ">= 12.0.0" } }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, + "node_modules/common-path-prefix": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", + "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==" + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", "engines": { - "node": ">= 6" + "node": ">=4.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==", + "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": { - "@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" + "mime-db": ">= 1.43.0 < 2" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } + "node": ">= 0.6" } }, - "node_modules/http-status-codes": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-2.3.0.tgz", - "integrity": "sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==" - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "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": { - "agent-base": "6", - "debug": "4" + "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": ">= 6" + "node": ">= 0.8.0" } }, - "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/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/i18next": { - "version": "23.6.0", - "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.6.0.tgz", - "integrity": "sha512-z0Cxr0MGkt+kli306WS4nNNM++9cgt2b2VCMprY92j+AIab/oclgPxdwtTZVLP1zn5t5uo8M6uLsZmYrcjr3HA==", - "funding": [ - { - "type": "individual", - "url": "https://locize.com" - }, - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - } + "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/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==" + }, + "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/concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "engines": [ + "node >= 0.8" ], "dependencies": { - "@babel/runtime": "^7.22.5" + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" } }, - "node_modules/i18next-browser-languagedetector": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.1.0.tgz", - "integrity": "sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA==", + "node_modules/concat-stream/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/concat-stream/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==", + "dev": true, "dependencies": { - "@babel/runtime": "^7.19.4" + "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/i18next-http-backend": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.3.1.tgz", - "integrity": "sha512-jnagFs5cnq4ryb+g92Hex4tB5kj3tWmiRWx8gHMCcE/PEgV1fjH5rC7xyJmPSgyb9r2xgcP8rvZxPKgsmvMqTw==", + "node_modules/concat-stream/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==", + "dev": true + }, + "node_modules/concat-stream/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==", + "dev": true, "dependencies": { - "cross-fetch": "4.0.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/i18next-icu": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/i18next-icu/-/i18next-icu-2.3.0.tgz", - "integrity": "sha512-x+j7kd5nDJCfbU53uwsMfXD7ALPu5uv0bqjAMQ5nVvXRoj1L7gkmswKtM3XDWYo4YUHf1jznlhSdPyy0xEwU+Q==", - "peerDependencies": { - "intl-messageformat": "^10.3.3" - } + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==" }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, + "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.10.0" + "node": ">=0.8" } }, - "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==", + "node_modules/consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "dev": true, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": "^14.18.0 || >=16.10.0" } }, - "node_modules/idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true }, - "node_modules/identity-obj-proxy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", - "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", + "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": { - "harmony-reflect": "^1.4.6" + "safe-buffer": "5.2.1" }, "engines": { - "node": ">=4" + "node": ">= 0.6" } }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "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/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "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": ">= 4" + "node": ">= 0.6" } }, - "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/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/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" - }, + "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/core-js": { + "version": "3.33.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.33.2.tgz", + "integrity": "sha512-XeBzWI6QL3nJQiHmdzbAOiMYqjrb7hwU7A39Qhvd/POSa/t9E1AeZyEZx3fNvp/vtM8zXwhoL0FsiS0hD0pruQ==", + "hasInstallScript": true, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "node_modules/core-js-compat": { + "version": "3.33.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.33.2.tgz", + "integrity": "sha512-axfo+wxFVxnqf8RvxTzoAlzW4gRoacrHeoFlc9n0x50+7BEyZL/Rt3hicaED1/CEd7I6tPCPVUYcJwCMO5XUYw==", "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" + "browserslist": "^4.22.1" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "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/core-js-pure": { + "version": "3.33.2", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.33.2.tgz", + "integrity": "sha512-a8zeCdyVk7uF2elKIGz67AjcXOxjRbwOLz8SbklEso1V+2DoW4OkAMZN9S9GBgvZIaqQi/OemFX4OiSoQEmg1Q==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "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/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/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/cosmiconfig": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", + "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "@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/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.2.2", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz", - "integrity": "sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==" - }, - "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==", + "node_modules/cosmiconfig-typescript-loader": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-1.0.9.tgz", + "integrity": "sha512-tRuMRhxN4m1Y8hP9SNYfz7jRwt8lZdWxdjg/ohg5esKmsndJIn4yT96oJVcf5x0eA11taXl+sIp+ielu529k6g==", "dependencies": { - "get-intrinsic": "^1.2.2", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "cosmiconfig": "^7", + "ts-node": "^10.7.0" }, "engines": { - "node": ">= 0.4" + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=7", + "typescript": ">=3" } }, - "node_modules/intl-messageformat": { - "version": "10.5.8", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.8.tgz", - "integrity": "sha512-NRf0jpBWV0vd671G5b06wNofAN8tp7WWDogMZyaU8GUAsmbouyvgwmFJI7zLjfAMpm3zK+vSwRP3jzaoIcMbaA==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.18.0", - "@formatjs/fast-memoize": "2.2.0", - "@formatjs/icu-messageformat-parser": "2.7.3", - "tslib": "^2.4.0" - } + "node_modules/craco-alias": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/craco-alias/-/craco-alias-3.0.1.tgz", + "integrity": "sha512-N+Qaf/Gr/f3o5ZH2TQjMu5NhR9PnT1ZYsfejpNvZPpB0ujdrhsSr4Ct6GVjnV5ostCVquhTKJpIVBKyL9qDQYA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dev": true }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "optional": true, + "peer": true, "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==", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, "engines": { - "node": ">= 10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "node_modules/create-jest/node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/create-jest/node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.0", - "is-typed-array": "^1.1.10" + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", + "node_modules/create-jest/node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "node_modules/create-jest/node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "has-bigints": "^1.0.1" + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/create-jest/node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "binary-extensions": "^2.0.0" + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/create-jest/node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-builtin-module": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", - "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "node_modules/create-jest/node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "builtin-modules": "^3.3.0" + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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" + "node_modules/create-jest/node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/create-jest/node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "type-detect": "4.0.8" } }, - "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==", + "node_modules/create-jest/node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "@sinonjs/commons": "^3.0.0" } }, - "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" + "node_modules/create-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/is-finalizationregistry": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", - "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", + "node_modules/create-jest/node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "call-bind": "^1.0.2" + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", - "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "engines": { - "node": ">=6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" } }, - "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "node_modules/create-jest/node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/create-jest/node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "is-extglob": "^2.1.1" + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", - "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "node_modules/create-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=14.16" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/is-inside-container/node_modules/is-docker": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", - "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "node_modules/create-jest/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "bin": { - "is-docker": "cli.js" + "optional": true, + "peer": true, + "dependencies": { + "color-name": "~1.1.4" }, "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=7.0.0" } }, - "node_modules/is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } + "node_modules/create-jest/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "optional": true, + "peer": true }, - "node_modules/is-module": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" + "node_modules/create-jest/node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "optional": true, + "peer": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } }, - "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==", + "node_modules/create-jest/node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "optional": true, + "peer": true, "engines": { - "node": ">= 0.4" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "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==", + "node_modules/create-jest/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true, + "peer": true, "engines": { - "node": ">=0.12.0" + "node": ">=8" } }, - "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==", + "node_modules/create-jest/node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/create-jest/node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "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==", + "node_modules/create-jest/node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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" + "node_modules/create-jest/node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/create-jest/node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "isobject": "^3.0.1" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-potential-custom-element-name": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", - "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" - }, - "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==", + "node_modules/create-jest/node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" }, "engines": { - "node": ">= 0.4" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "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" + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "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==", + "node_modules/create-jest/node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, "engines": { - "node": ">=6" - } - }, - "node_modules/is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/create-jest/node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "call-bind": "^1.0.2" + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/create-jest/node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "optional": true, + "peer": true, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "node_modules/create-jest/node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "has-tostringtag": "^1.0.0" + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/create-jest/node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "has-symbols": "^1.0.2" + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/create-jest/node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "which-typed-array": "^1.1.11" + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" }, "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-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/create-jest/node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "call-bind": "^1.0.2" + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/is-weakset": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", - "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "node_modules/create-jest/node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/create-jest/node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "is-docker": "^2.0.0" + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "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==", + "node_modules/create-jest/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==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "node_modules/create-jest/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==", + "dev": true, + "optional": true, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "node_modules/create-jest/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/istanbul-lib-instrument/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/create-jest/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "optional": true, + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, + "node_modules/create-jest/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true, + "optional": true, + "peer": true + }, + "node_modules/create-jest/node_modules/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "optional": true, + "peer": true, "engines": { "node": ">=10" } }, - "node_modules/istanbul-lib-report/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==", + "node_modules/create-jest/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==", + "dev": true, + "optional": true, + "peer": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "node_modules/create-jest/node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { + "node_modules/create-jest/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -12654,1855 +15031,2142 @@ "node": ">=8" } }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "node_modules/create-jest/node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "node_modules/istanbul-lib-source-maps/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/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, + "node_modules/cross-fetch": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.0.0.tgz", + "integrity": "sha512-e4a5N8lVvuLgAWgnCrLr2PP0YyDOTHa9H/Rj54dirp61qXnNq46m82bRhNqIA5VccJtWBvPTFRV3TtvHUKPB1g==", + "dependencies": { + "node-fetch": "^2.6.12" } }, - "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "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": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" + "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/iterator.prototype": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", - "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", - "dependencies": { - "define-properties": "^1.2.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "reflect.getprototypeof": "^1.0.4", - "set-function-name": "^2.0.1" - } - }, - "node_modules/jake": { - "version": "10.8.7", - "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", - "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "node_modules/css-blank-pseudo": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-3.0.3.tgz", + "integrity": "sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==", "dependencies": { - "async": "^3.2.3", - "chalk": "^4.0.2", - "filelist": "^1.0.4", - "minimatch": "^3.1.2" + "postcss-selector-parser": "^6.0.9" }, "bin": { - "jake": "bin/cli.js" + "css-blank-pseudo": "dist/cli.cjs" }, "engines": { - "node": ">=10" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/jake/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" - }, + "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": ">=8" + "node": "^10 || ^12 || >=14" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "postcss": "^8.0.9" } }, - "node_modules/jake/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/css-has-pseudo": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-3.0.4.tgz", + "integrity": "sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "postcss-selector-parser": "^6.0.9" + }, + "bin": { + "css-has-pseudo": "dist/cli.cjs" }, "engines": { - "node": ">=10" + "node": "^12 || ^14 || >=16" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/jake/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==", + "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": { - "color-name": "~1.1.4" + "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": ">=7.0.0" - } - }, - "node_modules/jake/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/jake/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/jake/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" + "node": ">= 12.13.0" }, - "engines": { - "node": ">=8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "node_modules/jest": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", - "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "node_modules/css-minimizer-webpack-plugin": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.4.1.tgz", + "integrity": "sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==", "dependencies": { - "@jest/core": "^27.5.1", - "import-local": "^3.0.2", - "jest-cli": "^27.5.1" - }, - "bin": { - "jest": "bin/jest.js" + "cssnano": "^5.0.6", + "jest-worker": "^27.0.2", + "postcss": "^8.3.5", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" }, "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "webpack": "^5.0.0" }, "peerDependenciesMeta": { - "node-notifier": { + "@parcel/css": { + "optional": true + }, + "clean-css": { + "optional": true + }, + "csso": { + "optional": true + }, + "esbuild": { "optional": true } } }, - "node_modules/jest-changed-files": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", - "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", + "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": { - "@jest/types": "^27.5.1", - "execa": "^5.0.0", - "throat": "^6.0.1" + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/jest-changed-files/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "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": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "fast-deep-equal": "^3.1.3" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "peerDependencies": { + "ajv": "^8.8.2" } }, - "node_modules/jest-changed-files/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", - "dependencies": { - "@types/yargs-parser": "*" - } + "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/jest-changed-files/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==", + "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": { - "color-convert": "^2.0.1" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": ">=8" + "node": ">= 12.13.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/jest-changed-files/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" + "node_modules/css-minimizer-webpack-plugin/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/css-prefers-color-scheme": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz", + "integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==", + "bin": { + "css-prefers-color-scheme": "dist/cli.cjs" }, "engines": { - "node": ">=10" + "node": "^12 || ^14 || >=16" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/jest-changed-files/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==", + "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": { - "color-name": "~1.1.4" + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" }, - "engines": { - "node": ">=7.0.0" + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/jest-changed-files/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-changed-files/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/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/jest-changed-files/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==", + "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": { - "has-flag": "^4.0.0" + "mdn-data": "2.0.4", + "source-map": "^0.6.1" }, "engines": { - "node": ">=8" + "node": ">=8.0.0" } }, - "node_modules/jest-circus": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", - "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", - "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "co": "^4.6.0", - "dedent": "^0.7.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3", - "throat": "^6.0.1" - }, + "node_modules/css-tree/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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-circus/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, + "node_modules/css-unit-converter": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-unit-converter/-/css-unit-converter-1.1.2.tgz", + "integrity": "sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==", + "dev": true + }, + "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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/jest-circus/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", - "dependencies": { - "@types/yargs-parser": "*" - } + "node_modules/css.escape": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/css.escape/-/css.escape-1.5.1.tgz", + "integrity": "sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==" }, - "node_modules/jest-circus/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" + "node_modules/cssdb": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-7.9.0.tgz", + "integrity": "sha512-WPMT9seTQq6fPAa1yN4zjgZZeoTriSN2LqW9C+otjar12DQIWA4LuSfFrvFJiKp4oD0xIk1vumDLw8K9ur4NBw==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + } + ] + }, + "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": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=4" } }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "cssnano-preset-default": "^5.2.14", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" }, "engines": { - "node": ">=10" + "node": "^10 || ^12 || >=14.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/jest-circus/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==", + "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": { - "color-name": "~1.1.4" + "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": ">=7.0.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/jest-circus/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-circus/node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "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.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/jest-circus/node_modules/expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "css-tree": "^1.1.2" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8.0.0" } }, - "node_modules/jest-circus/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==", + "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" + "node": ">=8.0.0" } }, - "node_modules/jest-circus/node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.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/jest-circus/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "node_modules/csso/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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-circus/node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "node_modules/cssom": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz", + "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==" + }, + "node_modules/cssstyle": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz", + "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "cssom": "~0.3.6" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-circus/node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "node_modules/cssstyle/node_modules/cssom": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", + "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" + }, + "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/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==" + }, + "node_modules/data-urls": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz", + "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "abab": "^2.0.3", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" } }, - "node_modules/jest-circus/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "node_modules/data-urls/node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "punycode": "^2.1.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-circus/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==", + "node_modules/data-urls/node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", "dependencies": { - "has-flag": "^4.0.0" + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/jest-cli": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", - "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { - "@jest/core": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "import-local": "^3.0.2", - "jest-config": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "prompts": "^2.0.1", - "yargs": "^16.2.0" - }, - "bin": { - "jest": "bin/jest.js" + "ms": "2.1.2" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + "node": ">=6.0" }, "peerDependenciesMeta": { - "node-notifier": { + "supports-color": { "optional": true } } }, - "node_modules/jest-cli/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "node_modules/decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==" + }, + "node_modules/dedent": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", + "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "type-detect": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6" } }, - "node_modules/jest-cli/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "node_modules/deep-equal": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", + "integrity": "sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==", "dependencies": { - "@types/yargs-parser": "*" + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.1", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-cli/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==", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==" + }, + "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-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" }, "engines": { - "node": ">=8" + "node": ">=14.16" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" }, "engines": { - "node": ">=10" + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-cli/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==", + "node_modules/default-browser/node_modules/execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">=7.0.0" + "node": "^14.18.0 || ^16.14.0 || >=18.0.0" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/jest-cli/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/default-browser/node_modules/human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true, + "engines": { + "node": ">=14.18.0" + } }, - "node_modules/jest-cli/node_modules/has-flag": { + "node_modules/default-browser/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/mimic-fn": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-cli/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "node_modules/default-browser/node_modules/npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "path-key": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-cli/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==", + "node_modules/default-browser/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "mimic-fn": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-config": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", - "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", - "dependencies": { - "@babel/core": "^7.8.0", - "@jest/test-sequencer": "^27.5.1", - "@jest/types": "^27.5.1", - "babel-jest": "^27.5.1", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "deepmerge": "^4.2.2", - "glob": "^7.1.1", - "graceful-fs": "^4.2.9", - "jest-circus": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-jasmine2": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "micromatch": "^4.0.4", - "parse-json": "^5.2.0", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, + "node_modules/default-browser/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=12" }, - "peerDependencies": { - "ts-node": ">=9.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/default-browser/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" }, - "peerDependenciesMeta": { - "ts-node": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-config/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "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": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "execa": "^5.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 10" } }, - "node_modules/jest-config/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-config/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==", + "node_modules/define-data-property": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "dependencies": { - "color-convert": "^2.0.1" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "define-data-property": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-config/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==", + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "dev": true + }, + "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==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "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": ">=7.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-config/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-config/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==", + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", "engines": { - "node": ">=8" + "node": ">=0.4.0" } }, - "node_modules/jest-config/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 0.8" } }, - "node_modules/jest-config/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6" } }, - "node_modules/jest-config/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" - }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "engines": { - "node": ">=8" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/jest-diff": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", - "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", - "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^29.6.3", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" - }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, - "node_modules/jest-diff/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" - }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" + }, + "node_modules/detect-package-manager": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-2.0.1.tgz", + "integrity": "sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "execa": "^5.1.1" }, "engines": { - "node": ">=10" + "node": ">=12" + } + }, + "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==", + "dev": true, + "dependencies": { + "address": "^1.0.1", + "debug": "4" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "bin": { + "detect": "bin/detect-port.js", + "detect-port": "bin/detect-port.js" } }, - "node_modules/jest-diff/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==", + "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": { - "color-name": "~1.1.4" + "address": "^1.0.1", + "debug": "^2.6.0" + }, + "bin": { + "detect": "bin/detect-port", + "detect-port": "bin/detect-port" }, "engines": { - "node": ">=7.0.0" + "node": ">= 4.2.1" } }, - "node_modules/jest-diff/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-diff/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/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/jest-diff/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "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/detective": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz", + "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==", + "dev": true, "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "acorn-node": "^1.8.2", + "defined": "^1.0.0", + "minimist": "^1.2.6" + }, + "bin": { + "detective": "bin/detective.js" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.8.0" } }, - "node_modules/jest-diff/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=0.3.1" } }, - "node_modules/jest-diff/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/jest-diff/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" - }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-docblock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", - "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", + "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": { - "detect-newline": "^3.0.0" + "path-type": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-each": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", - "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, + "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": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1" + "@leichtgewicht/ip-codec": "^2.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6" } }, - "node_modules/jest-each/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "esutils": "^2.0.2" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6.0.0" } }, - "node_modules/jest-each/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "node_modules/dom-accessibility-api": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz", + "integrity": "sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==" + }, + "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": { - "@types/yargs-parser": "*" + "utila": "~0.4" } }, - "node_modules/jest-each/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==", + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" } }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/jest-each/node_modules/color-convert": { + "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/domexception": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz", + "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==", "dependencies": { - "color-name": "~1.1.4" + "webidl-conversions": "^5.0.0" }, "engines": { - "node": ">=7.0.0" + "node": ">=8" } }, - "node_modules/jest-each/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-each/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==", + "node_modules/domexception/node_modules/webidl-conversions": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz", + "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==", "engines": { "node": ">=8" } }, - "node_modules/jest-each/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/jest-each/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/jest-each/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==", + "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": { - "has-flag": "^4.0.0" - }, + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/jest-environment-jsdom": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", - "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==" + }, + "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/duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1", - "jsdom": "^16.6.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" } }, - "node_modules/jest-environment-jsdom/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "node_modules/duplexify/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/duplexify/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==", + "dev": true, "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "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/jest-environment-jsdom/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "node_modules/duplexify/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==", + "dev": true + }, + "node_modules/duplexify/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==", + "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "safe-buffer": "~5.1.0" } }, - "node_modules/jest-environment-jsdom/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==", + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "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/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", "dependencies": { - "color-convert": "^2.0.1" + "jake": "^10.8.5" }, - "engines": { - "node": ">=8" + "bin": { + "ejs": "bin/cli.js" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/jest-environment-jsdom/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" - }, + "node_modules/electron-to-chromium": { + "version": "1.4.717", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.717.tgz", + "integrity": "sha512-6Fmg8QkkumNOwuZ/5mIbMU9WI3H2fmn5ajcVya64I5Yr5CcNmO7vcLt0Y7c96DCiMO5/9G+4sI2r6eEvdg1F7A==" + }, + "node_modules/emittery": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.8.1.tgz", + "integrity": "sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg==", "engines": { "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "node_modules/jest-environment-jsdom/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" - }, + "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": ">=7.0.0" + "node": ">= 4" } }, - "node_modules/jest-environment-jsdom/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-environment-jsdom/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==", + "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": ">=8" + "node": ">= 0.8" } }, - "node_modules/jest-environment-jsdom/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "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==", + "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "once": "^1.4.0" } }, - "node_modules/jest-environment-jsdom/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==", + "node_modules/endent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/endent/-/endent-2.1.0.tgz", + "integrity": "sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "dedent": "^0.7.0", + "fast-json-parse": "^1.0.3", + "objectorarray": "^1.0.5" } }, - "node_modules/jest-environment-node": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", - "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", + "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": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10.13.0" } }, - "node_modules/jest-environment-node/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "node_modules/enhanced-resolve/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/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/envinfo": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", + "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=4" } }, - "node_modules/jest-environment-node/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "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": { - "@types/yargs-parser": "*" + "is-arrayish": "^0.2.1" } }, - "node_modules/jest-environment-node/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==", + "node_modules/error-stack-parser": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", + "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "stackframe": "^1.3.4" } }, - "node_modules/jest-environment-node/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "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": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-environment-node/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==", + "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-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", "dependencies": { - "color-name": "~1.1.4" + "get-intrinsic": "^1.2.4" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.4" } }, - "node_modules/jest-environment-node/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-environment-node/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==", + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "engines": { - "node": ">=8" + "node": ">= 0.4" } }, - "node_modules/jest-environment-node/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-environment-node/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==", + "node_modules/es-iterator-helpers": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz", + "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==", "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-get-type": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", - "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "asynciterator.prototype": "^1.0.0", + "call-bind": "^1.0.2", + "define-properties": "^1.2.1", + "es-abstract": "^1.22.1", + "es-set-tostringtag": "^2.0.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "iterator.prototype": "^1.1.2", + "safe-array-concat": "^1.0.1" } }, - "node_modules/jest-haste-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", - "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/graceful-fs": "^4.1.2", - "@types/node": "*", - "anymatch": "^3.0.3", - "fb-watchman": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-regex-util": "^27.5.1", - "jest-serializer": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "micromatch": "^4.0.4", - "walker": "^1.0.7" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - } + "node_modules/es-module-lexer": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz", + "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==" }, - "node_modules/jest-haste-map/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "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": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "get-intrinsic": "^1.2.2", + "has-tostringtag": "^1.0.0", + "hasown": "^2.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 0.4" } }, - "node_modules/jest-haste-map/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "node_modules/es-shim-unscopables": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.0.2.tgz", + "integrity": "sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==", "dependencies": { - "@types/yargs-parser": "*" + "hasown": "^2.0.0" } }, - "node_modules/jest-haste-map/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==", + "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": { - "color-convert": "^2.0.1" + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-haste-map/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" + "node_modules/esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=10" + "node": ">=12" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } + "optionalDependencies": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "node_modules/esbuild-plugin-alias": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz", + "integrity": "sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==", + "dev": true }, - "node_modules/jest-haste-map/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==", + "node_modules/esbuild-register": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.5.0.tgz", + "integrity": "sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "debug": "^4.3.4" }, + "peerDependencies": { + "esbuild": ">=0.12 <1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "engines": { - "node": ">=7.0.0" + "node": ">=6" } }, - "node_modules/jest-haste-map/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/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/jest-haste-map/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==", + "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": ">=8" + "node": ">=0.8.0" } }, - "node_modules/jest-haste-map/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "node_modules/escodegen": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.1.0.tgz", + "integrity": "sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "esprima": "^4.0.1", + "estraverse": "^5.2.0", + "esutils": "^2.0.2" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" } }, - "node_modules/jest-haste-map/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" - }, + "node_modules/escodegen/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==", + "optional": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-jasmine2": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", - "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", + "node_modules/eslint": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.53.0.tgz", + "integrity": "sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==", "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.3", + "@eslint/js": "8.53.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", - "co": "^4.6.0", - "expect": "^27.5.1", - "is-generator-fn": "^2.0.0", - "jest-each": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "pretty-format": "^27.5.1", - "throat": "^6.0.1" + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "bin": { + "eslint": "bin/eslint.js" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/jest-jasmine2/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", - "dependencies": { - "@types/yargs-parser": "*" + "node_modules/eslint-config-prettier": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz", + "integrity": "sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/jest-jasmine2/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==", + "node_modules/eslint-config-react-app": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-7.0.1.tgz", + "integrity": "sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==", "dependencies": { - "color-convert": "^2.0.1" + "@babel/core": "^7.16.0", + "@babel/eslint-parser": "^7.16.3", + "@rushstack/eslint-patch": "^1.1.0", + "@typescript-eslint/eslint-plugin": "^5.5.0", + "@typescript-eslint/parser": "^5.5.0", + "babel-preset-react-app": "^10.0.1", + "confusing-browser-globals": "^1.0.11", + "eslint-plugin-flowtype": "^8.0.3", + "eslint-plugin-import": "^2.25.3", + "eslint-plugin-jest": "^25.3.0", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-react": "^7.27.1", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-testing-library": "^5.0.1" }, "engines": { - "node": ">=8" + "node": ">=14.0.0" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "eslint": "^8.0.0" } }, - "node_modules/jest-jasmine2/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/eslint-import-resolver-node": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", + "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "debug": "^3.2.7", + "is-core-module": "^2.13.0", + "resolve": "^1.22.4" } }, - "node_modules/jest-jasmine2/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==", + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-jasmine2/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-jasmine2/node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "ms": "^2.1.1" } }, - "node_modules/jest-jasmine2/node_modules/expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "node_modules/eslint-module-utils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz", + "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==", "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "debug": "^3.2.7" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=4" + }, + "peerDependenciesMeta": { + "eslint": { + "optional": true + } } }, - "node_modules/jest-jasmine2/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/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dependencies": { + "ms": "^2.1.1" } }, - "node_modules/jest-jasmine2/node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "node_modules/eslint-plugin-flowtype": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-8.0.3.tgz", + "integrity": "sha512-dX8l6qUL6O+fYPtpNRideCFSpmWOUVx5QcaGLVqe/vlDiBSe4vYljDWDETwnyFzpl7By/WVIu6rcrniCgH9BqQ==", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "lodash": "^4.17.21", + "string-natural-compare": "^3.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-jasmine2/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=12.0.0" + }, + "peerDependencies": { + "@babel/plugin-syntax-flow": "^7.14.5", + "@babel/plugin-transform-react-jsx": "^7.14.9", + "eslint": "^8.1.0" } }, - "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "node_modules/eslint-plugin-import": { + "version": "2.29.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.29.0.tgz", + "integrity": "sha512-QPOO5NO6Odv5lpoTkddtutccQjysJuFxoPS7fAHO+9m9udNHvTCPSAMW9zGAYj8lAIdr40I8yPCdUYrncXtrwg==", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "array-includes": "^3.1.7", + "array.prototype.findlastindex": "^1.2.3", + "array.prototype.flat": "^1.3.2", + "array.prototype.flatmap": "^1.3.2", + "debug": "^3.2.7", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.9", + "eslint-module-utils": "^2.8.0", + "hasown": "^2.0.0", + "is-core-module": "^2.13.1", + "is-glob": "^4.0.3", + "minimatch": "^3.1.2", + "object.fromentries": "^2.0.7", + "object.groupby": "^1.0.1", + "object.values": "^1.1.7", + "semver": "^6.3.1", + "tsconfig-paths": "^3.14.2" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" } }, - "node_modules/jest-jasmine2/node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "ms": "^2.1.1" } }, - "node_modules/jest-jasmine2/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "node_modules/eslint-plugin-import/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "esutils": "^2.0.2" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-jasmine2/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==", + "node_modules/eslint-plugin-import/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-plugin-jest": { + "version": "25.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-25.7.0.tgz", + "integrity": "sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==", "dependencies": { - "has-flag": "^4.0.0" + "@typescript-eslint/experimental-utils": "^5.0.0" }, "engines": { - "node": ">=8" + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "^4.0.0 || ^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "@typescript-eslint/eslint-plugin": { + "optional": true + }, + "jest": { + "optional": true + } } }, - "node_modules/jest-leak-detector": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "node_modules/eslint-plugin-jsdoc": { + "version": "46.8.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-46.8.2.tgz", + "integrity": "sha512-5TSnD018f3tUJNne4s4gDWQflbsgOycIKEUBoCLn6XtBMgNHxQFmV8vVxUtiPxAQq8lrX85OaSG/2gnctxw9uQ==", + "dev": true, "dependencies": { - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "@es-joy/jsdoccomment": "~0.40.1", + "are-docs-informative": "^0.0.2", + "comment-parser": "1.4.0", + "debug": "^4.3.4", + "escape-string-regexp": "^4.0.0", + "esquery": "^1.5.0", + "is-builtin-module": "^3.2.1", + "semver": "^7.5.4", + "spdx-expression-parse": "^3.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=16" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" } }, - "node_modules/jest-leak-detector/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-matcher-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", - "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", + "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^29.7.0", - "jest-get-type": "^29.6.3", - "pretty-format": "^29.7.0" + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/jest-matcher-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==", + "node_modules/eslint-plugin-jsx-a11y/node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "dequal": "^2.0.3" } }, - "node_modules/jest-matcher-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==", + "node_modules/eslint-plugin-prettier": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz", + "integrity": "sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==", + "dev": true, "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.5" }, "engines": { - "node": ">=10" + "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://opencollective.com/prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } } }, - "node_modules/jest-matcher-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==", + "node_modules/eslint-plugin-react": { + "version": "7.33.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz", + "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==", "dependencies": { - "color-name": "~1.1.4" + "array-includes": "^3.1.6", + "array.prototype.flatmap": "^1.3.1", + "array.prototype.tosorted": "^1.1.1", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.12", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.6", + "object.fromentries": "^2.0.6", + "object.hasown": "^1.1.2", + "object.values": "^1.1.6", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.4", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.8" }, "engines": { - "node": ">=7.0.0" + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/jest-matcher-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/jest-matcher-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==", + "node_modules/eslint-plugin-react-hooks": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz", + "integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==", "engines": { - "node": ">=8" + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" } }, - "node_modules/jest-matcher-utils/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/eslint-plugin-react/node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "esutils": "^2.0.2" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-matcher-utils/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.5", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", + "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", + "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/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-matcher-utils/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/jest-matcher-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/eslint-plugin-react/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/jest-message-util": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", - "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "node_modules/eslint-plugin-testing-library": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-5.11.1.tgz", + "integrity": "sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.6.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^29.7.0", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "@typescript-eslint/utils": "^5.58.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0", + "npm": ">=6" + }, + "peerDependencies": { + "eslint": "^7.5.0 || ^8.0.0" } }, - "node_modules/jest-message-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==", + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dependencies": { - "color-convert": "^2.0.1" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "node_modules/jest-message-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" - }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "engines": { - "node": ">=10" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://opencollective.com/eslint" } }, - "node_modules/jest-message-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-message-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-message-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-message-util/node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "node_modules/eslint-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/eslint-webpack-plugin/-/eslint-webpack-plugin-3.2.0.tgz", + "integrity": "sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==", "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" + "@types/eslint": "^7.29.0 || ^8.4.1", + "jest-worker": "^28.0.2", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0", + "webpack": "^5.0.0" } }, - "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" + "node_modules/eslint-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": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/jest-message-util/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/jest-message-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==", + "node_modules/eslint-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": { - "has-flag": "^4.0.0" + "fast-deep-equal": "^3.1.3" }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/eslint-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/jest-mock": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", - "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", + "node_modules/eslint-webpack-plugin/node_modules/jest-worker": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-28.1.3.tgz", + "integrity": "sha512-CqRA220YV/6jCo8VWvAt1KKx6eek1VIHMPeLEbpcfSfkEeWyBNppynM/o6q+Wmw+sOhos2ml34wZbSX3G13//g==", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/jest-mock/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "node_modules/eslint-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/eslint-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/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/jest-mock/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "node_modules/eslint-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": { - "@types/yargs-parser": "*" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/jest-mock/node_modules/ansi-styles": { + "node_modules/eslint/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==", @@ -14516,7 +17180,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-mock/node_modules/chalk": { + "node_modules/eslint/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -14531,7 +17195,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-mock/node_modules/color-convert": { + "node_modules/eslint/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==", @@ -14542,12 +17206,37 @@ "node": ">=7.0.0" } }, - "node_modules/jest-mock/node_modules/color-name": { + "node_modules/eslint/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-mock/node_modules/has-flag": { + "node_modules/eslint/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/eslint/node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/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==", @@ -14555,7 +17244,7 @@ "node": ">=8" } }, - "node_modules/jest-mock/node_modules/supports-color": { + "node_modules/eslint/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==", @@ -14566,462 +17255,669 @@ "node": ">=8" } }, - "node_modules/jest-pnp-resolver": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", - "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "node_modules/eslint/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": ">=6" - }, - "peerDependencies": { - "jest-resolve": "*" + "node": ">=10" }, - "peerDependenciesMeta": { - "jest-resolve": { - "optional": true - } - } - }, - "node_modules/jest-regex-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", - "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-resolve": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", - "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dependencies": { - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-pnp-resolver": "^1.2.2", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "resolve": "^1.20.0", - "resolve.exports": "^1.1.0", - "slash": "^3.0.0" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/jest-resolve-dependencies": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", - "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", - "dependencies": { - "@jest/types": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-snapshot": "^27.5.1" + "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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=4" } }, - "node_modules/jest-resolve-dependencies/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "estraverse": "^5.1.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } - }, - "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", - "dependencies": { - "@types/yargs-parser": "*" + "node": ">=0.10" } }, - "node_modules/jest-resolve-dependencies/node_modules/ansi-styles": { + "node_modules/esrecurse": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dependencies": { - "color-convert": "^2.0.1" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=4.0" } }, - "node_modules/jest-resolve-dependencies/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" - }, + "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": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">=4.0" } }, - "node_modules/jest-resolve-dependencies/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" - }, + "node_modules/estree-walker": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", + "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==" + }, + "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": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/jest-resolve-dependencies/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-resolve-dependencies/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==", + "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": ">=8" + "node": ">= 0.6" } }, - "node_modules/jest-resolve-dependencies/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" - }, + "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": ">=8" + "node": ">=0.8.x" } }, - "node_modules/jest-resolve/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dependencies": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "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.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "node_modules/jest-resolve/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", - "dependencies": { - "@types/yargs-parser": "*" + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "engines": { + "node": ">= 0.8.0" } }, - "node_modules/jest-resolve/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==", + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dependencies": { - "color-convert": "^2.0.1" + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "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": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 0.10.0" } }, - "node_modules/jest-resolve/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==", + "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/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" + "ms": "2.0.0" } }, - "node_modules/jest-resolve/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/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/jest-resolve/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/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true }, - "node_modules/jest-resolve/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "node_modules/extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "dev": true, "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "bin": { + "extract-zip": "cli.js" } }, - "node_modules/jest-resolve/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==", + "node_modules/extract-zip/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "ms": "2.0.0" + } + }, + "node_modules/extract-zip/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "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-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "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" + "node": ">=8.6.0" } }, - "node_modules/jest-runner": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", - "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dependencies": { - "@jest/console": "^27.5.1", - "@jest/environment": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^27.5.1", - "jest-environment-jsdom": "^27.5.1", - "jest-environment-node": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-leak-detector": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "source-map-support": "^0.5.6", - "throat": "^6.0.1" + "is-glob": "^4.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 6" } }, - "node_modules/jest-runner/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "node_modules/fast-json-parse": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz", + "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==", + "dev": true + }, + "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-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==" + }, + "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": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=0.8.0" } }, - "node_modules/jest-runner/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dependencies": { - "@types/yargs-parser": "*" + "bser": "2.1.1" } }, - "node_modules/jest-runner/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==", + "node_modules/fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "pend": "~1.2.0" + } + }, + "node_modules/fetch-retry": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-5.0.6.tgz", + "integrity": "sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==", + "dev": true + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dependencies": { + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=8" + "node": "^10.12.0 || >=12.0.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==", + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" } }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/file-loader/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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": ">=10" + "node": ">=8.9.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": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "node_modules/jest-runner/node_modules/color-convert": { + "node_modules/file-system-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-2.3.0.tgz", + "integrity": "sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ==", + "dev": true, + "dependencies": { + "fs-extra": "11.1.1", + "ramda": "0.29.0" + } + }, + "node_modules/file-system-cache/node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dependencies": { - "color-name": "~1.1.4" + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": ">=7.0.0" + "node": ">=10" } }, - "node_modules/jest-runner/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/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/jest-runner/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==", + "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/jest-runner/node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 0.8" } }, - "node_modules/jest-runner/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "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": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/jest-runner/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==", + "node_modules/find-root": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + }, + "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": { - "has-flag": "^4.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-runtime": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", - "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "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/flat-cache": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", "dependencies": { - "@jest/environment": "^27.5.1", - "@jest/fake-timers": "^27.5.1", - "@jest/globals": "^27.5.1", - "@jest/source-map": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "chalk": "^4.0.0", - "cjs-module-lexer": "^1.0.0", - "collect-v8-coverage": "^1.0.0", - "execa": "^5.0.0", - "glob": "^7.1.3", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0", - "strip-bom": "^4.0.0" + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=12.0.0" } }, - "node_modules/jest-runtime/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" + }, + "node_modules/flow-parser": { + "version": "0.231.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.231.0.tgz", + "integrity": "sha512-WVzuqwq7ZnvBceCG0DGeTQebZE+iIU0mlk5PmJgYj9DDrt+0isGC2m1ezW9vxL4V+HERJJo9ExppOnwKH2op6Q==", + "dev": true, + "engines": { + "node": ">=0.4.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": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "is-callable": "^1.1.3" + } + }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/jest-runtime/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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": { - "@types/yargs-parser": "*" + "@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/jest-runtime/node_modules/ansi-styles": { + "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==", @@ -15035,7 +17931,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-runtime/node_modules/chalk": { + "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==", @@ -15050,7 +17946,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/jest-runtime/node_modules/color-convert": { + "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==", @@ -15061,12 +17957,27 @@ "node": ">=7.0.0" } }, - "node_modules/jest-runtime/node_modules/color-name": { + "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/jest-runtime/node_modules/has-flag": { + "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/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", @@ -15074,1802 +17985,1590 @@ "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "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": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8" } }, - "node_modules/jest-runtime/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 6" } }, - "node_modules/jest-runtime/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" - }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "engines": { - "node": ">=8" + "node": ">= 0.6" } }, - "node_modules/jest-serializer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", - "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", - "dependencies": { - "@types/node": "*", - "graceful-fs": "^4.2.9" - }, + "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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://github.com/sponsors/rawify" } }, - "node_modules/jest-snapshot": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", - "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", - "dependencies": { - "@babel/core": "^7.7.2", - "@babel/generator": "^7.7.2", - "@babel/plugin-syntax-typescript": "^7.7.2", - "@babel/traverse": "^7.7.2", - "@babel/types": "^7.0.0", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/babel__traverse": "^7.0.4", - "@types/prettier": "^2.1.5", - "babel-preset-current-node-syntax": "^1.0.0", - "chalk": "^4.0.0", - "expect": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "natural-compare": "^1.4.0", - "pretty-format": "^27.5.1", - "semver": "^7.3.2" - }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 0.6" } }, - "node_modules/jest-snapshot/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, + "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": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" } }, - "node_modules/jest-snapshot/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, "dependencies": { - "@types/yargs-parser": "*" + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/jest-snapshot/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==", + "node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "yallist": "^4.0.0" }, "engines": { "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/jest-snapshot/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" - }, + "node_modules/fs-minipass/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "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": ">=10" - }, + "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/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-snapshot/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==", + "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": { - "color-name": "~1.1.4" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "functions-have-names": "^1.2.3" }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-snapshot/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/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/jest-snapshot/node_modules/diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6.9.0" } }, - "node_modules/jest-snapshot/node_modules/expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", - "dependencies": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" - }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": "6.* || 8.* || >= 10.*" } }, - "node_modules/jest-snapshot/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==", + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, "engines": { - "node": ">=8" + "node": "*" } }, - "node_modules/jest-snapshot/node_modules/jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "node_modules/get-intrinsic": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "dependencies": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-snapshot/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6" } }, - "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", - "dependencies": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" - }, + "node_modules/get-npm-tarball-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-npm-tarball-url/-/get-npm-tarball-url-2.1.0.tgz", + "integrity": "sha512-ro+DiMu5DXgRBabqXupW38h7WPZ9+Ad8UjwhvsmmN8w1sU7ab0nzAXvVZ4kqYg57OrqomRtJvepX5/xvFKNtjA==", + "dev": true, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=12.17" } }, - "node_modules/jest-snapshot/node_modules/jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "dependencies": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - }, - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } + "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/jest-snapshot/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "dependencies": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=8.0.0" } }, - "node_modules/jest-snapshot/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" - }, + "node_modules/get-port": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", + "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", + "dev": true, "engines": { "node": ">=8" - } - }, - "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" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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" - }, + "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": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "node_modules/giget": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.3.tgz", + "integrity": "sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==", + "dev": true, "dependencies": { - "color-name": "~1.1.4" + "citty": "^0.1.6", + "consola": "^3.2.3", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.3", + "nypm": "^0.3.8", + "ohash": "^1.1.3", + "pathe": "^1.1.2", + "tar": "^6.2.0" }, - "engines": { - "node": ">=7.0.0" + "bin": { + "giget": "dist/cli.mjs" } }, - "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/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==", + "dev": true }, - "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==", + "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": ">=8" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "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==", + "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": { - "has-flag": "^4.0.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=8" + "node": ">=10.13.0" } }, - "node_modules/jest-validate": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", - "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "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-modules": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-2.0.0.tgz", + "integrity": "sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==", "dependencies": { - "@jest/types": "^27.5.1", - "camelcase": "^6.2.0", - "chalk": "^4.0.0", - "jest-get-type": "^27.5.1", - "leven": "^3.1.0", - "pretty-format": "^27.5.1" + "global-prefix": "^3.0.0" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6" } }, - "node_modules/jest-validate/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "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": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "ini": "^1.3.5", + "kind-of": "^6.0.2", + "which": "^1.3.1" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=6" } }, - "node_modules/jest-validate/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "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": { - "@types/yargs-parser": "*" + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "node_modules/jest-validate/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" - }, + "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": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=4" } }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "define-properties": "^1.1.3" }, "engines": { - "node": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-validate/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==", + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dependencies": { - "color-name": "~1.1.4" + "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": ">=7.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-validate/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-validate/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/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/jest-validate/node_modules/jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", - "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" - } + "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/jest-validate/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==", + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" + }, + "node_modules/gunzip-maybe": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/gunzip-maybe/-/gunzip-maybe-1.4.2.tgz", + "integrity": "sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==", + "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "browserify-zlib": "^0.1.4", + "is-deflate": "^1.0.0", + "is-gzip": "^1.0.0", + "peek-stream": "^1.1.0", + "pumpify": "^1.3.3", + "through2": "^2.0.3" }, - "engines": { - "node": ">=8" + "bin": { + "gunzip-maybe": "bin.js" } }, - "node_modules/jest-watch-typeahead": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", - "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", + "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": { - "ansi-escapes": "^4.3.1", - "chalk": "^4.0.0", - "jest-regex-util": "^28.0.0", - "jest-watcher": "^28.0.0", - "slash": "^4.0.0", - "string-length": "^5.0.1", - "strip-ansi": "^7.0.1" + "duplexer": "^0.1.2" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=10" }, - "peerDependencies": { - "jest": "^27.0.0 || ^28.0.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-watch-typeahead/node_modules/@jest/console": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", - "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", + "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/handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, "dependencies": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^28.1.3", - "jest-util": "^28.1.3", - "slash": "^3.0.0" + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" } }, - "node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/handlebars/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==", + "dev": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/jest-watch-typeahead/node_modules/@jest/schemas": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", - "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", - "dependencies": { - "@sinclair/typebox": "^0.24.1" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node_modules/harmony-reflect": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", + "integrity": "sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==" + }, + "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/jest-watch-typeahead/node_modules/@jest/test-result": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", - "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", - "dependencies": { - "@jest/console": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" - }, + "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": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">=4" } }, - "node_modules/jest-watch-typeahead/node_modules/@jest/types": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", - "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", + "node_modules/has-property-descriptors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "dependencies": { - "@jest/schemas": "^28.1.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" + "es-define-property": "^1.0.0" }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-watch-typeahead/node_modules/@sinclair/typebox": { - "version": "0.24.51", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", - "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" - }, - "node_modules/jest-watch-typeahead/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" - }, + "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": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-watch-typeahead/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" - }, + "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": ">=10" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-watch-typeahead/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==", + "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": { - "color-name": "~1.1.4" + "has-symbols": "^1.0.2" }, "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watch-typeahead/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-watch-typeahead/node_modules/emittery": { - "version": "0.10.2", - "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", - "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", - "engines": { - "node": ">=12" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sindresorhus/emittery?sponsor=1" - } - }, - "node_modules/jest-watch-typeahead/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" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", - "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", + "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": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^28.1.3", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^28.1.3", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "function-bind": "^1.1.2" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" - } - }, - "node_modules/jest-watch-typeahead/node_modules/jest-message-util/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": ">= 0.4" } }, - "node_modules/jest-watch-typeahead/node_modules/jest-regex-util": { - "version": "28.0.2", - "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", - "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "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/jest-watch-typeahead/node_modules/jest-util": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", - "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "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": { - "@jest/types": "^28.1.3", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "react-is": "^16.7.0" } }, - "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", - "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", - "dependencies": { - "@jest/test-result": "^28.1.3", - "@jest/types": "^28.1.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.10.2", - "jest-util": "^28.1.3", - "string-length": "^4.0.1" - }, + "node_modules/hoist-non-react-statics/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/hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "node": ">= 6.0.0" } }, - "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, + "node_modules/hotkeys-js": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.12.0.tgz", + "integrity": "sha512-Z+N573ycUKIGwFYS3ID1RzMJiGmtWMGKMiaNLyJS8B1ei+MllF4ZYmKS2T0kMWBktOz+WZLVNikftEgnukOrXg==", + "dev": true + }, + "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": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" } }, - "node_modules/jest-watch-typeahead/node_modules/jest-watcher/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==", + "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==" + }, + "node_modules/hpack.js/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": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" + "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/jest-watch-typeahead/node_modules/pretty-format": { - "version": "28.1.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", - "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", + "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==" + }, + "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==", "dependencies": { - "@jest/schemas": "^28.1.3", - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" + "safe-buffer": "~5.1.0" } }, - "node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node_modules/html-dom-parser": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/html-dom-parser/-/html-dom-parser-5.0.4.tgz", + "integrity": "sha512-azy8THLKd4Ar0OVJpEgX+MSjYvKdNDWlGiRBIlovMqEQYMAnLLXBhhiSwjylDD3RDdcCYT8Utg6uoRDeLHUyHg==", + "dependencies": { + "domhandler": "5.0.3", + "htmlparser2": "9.0.0" } }, - "node_modules/jest-watch-typeahead/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - }, - "node_modules/jest-watch-typeahead/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" + "node_modules/html-dom-parser/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/sponsors/sindresorhus" + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/jest-watch-typeahead/node_modules/string-length": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", - "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", + "node_modules/html-dom-parser/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": { - "char-regex": "^2.0.0", - "strip-ansi": "^7.0.1" + "domelementtype": "^2.3.0" }, "engines": { - "node": ">=12.20" + "node": ">= 4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", - "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", - "engines": { - "node": ">=12.20" + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/jest-watch-typeahead/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==", + "node_modules/html-dom-parser/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": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" }, "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/jest-watch-typeahead/node_modules/strip-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==", + "node_modules/html-dom-parser/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": ">=12" + "node": ">=0.12" }, "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/jest-watch-typeahead/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==", + "node_modules/html-dom-parser/node_modules/htmlparser2": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-9.0.0.tgz", + "integrity": "sha512-uxbSI98wmFT/G4P2zXx4OVx04qWUmyFPrD2/CNepa2Zo3GPNaCaaxElDgwUrwYWkK1nr9fft0Ya8dws8coDLLQ==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.1.0", + "entities": "^4.5.0" } }, - "node_modules/jest-watcher": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", - "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", - "dependencies": { - "@jest/test-result": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "jest-util": "^27.5.1", - "string-length": "^4.0.1" + "node_modules/html-encoding-sniffer": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz", + "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==", + "dependencies": { + "whatwg-encoding": "^1.0.5" }, "engines": { - "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10" } }, - "node_modules/jest-watcher/node_modules/@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "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-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==" + }, + "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": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=12" } }, - "node_modules/jest-watcher/node_modules/@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "node_modules/html-parse-stringify": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-parse-stringify/-/html-parse-stringify-3.0.1.tgz", + "integrity": "sha512-KknJ50kTInJ7qIScF3jeaFRpMpE8/lfiTdzf/twXyPBLAGrLRTmkz3AdTnKeh40X8k9L2fdYwEp/42WGXIRGcg==", "dependencies": { - "@types/yargs-parser": "*" + "void-elements": "3.1.0" } }, - "node_modules/jest-watcher/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==", + "node_modules/html-react-parser": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/html-react-parser/-/html-react-parser-5.0.6.tgz", + "integrity": "sha512-aPSzFhO2bK/L/mYQbMwFz+1QG8nhxozbwENt/52HTApasrBvDX87MFD5uSQIjq7Io0bnKzH4uh7PM42zZ4ag9A==", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "domhandler": "5.0.3", + "html-dom-parser": "5.0.4", + "react-property": "2.0.2", + "style-to-js": "1.1.9" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "peerDependencies": { + "react": "0.14 || 15 || 16 || 17 || 18" } }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/html-react-parser/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": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "domelementtype": "^2.3.0" }, "engines": { - "node": ">=10" + "node": ">= 4" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-watcher/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" + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/jest-watcher/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-watcher/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==", + "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==", + "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-watcher/node_modules/jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "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": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "@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 || ^12.13.0 || ^14.15.0 || >=15.0.0" + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/html-webpack-plugin" + }, + "peerDependencies": { + "webpack": "^5.20.0" } }, - "node_modules/jest-watcher/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" - }, + "node_modules/html-webpack-plugin/node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "engines": { - "node": ">=8" + "node": ">=6" } }, - "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==", + "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": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" + "domelementtype": "^2.0.1", + "domhandler": "^4.0.0", + "domutils": "^2.5.2", + "entities": "^2.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/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/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==", + "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": { - "has-flag": "^4.0.0" + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "bin": { - "jiti": "bin/jiti.js" + "node": ">= 0.8" } }, - "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/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/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "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": { - "argparse": "^2.0.1" + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "engines": { + "node": ">=8.0.0" } }, - "node_modules/jsdoc-type-pratt-parser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", - "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", - "dev": true, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, "engines": { - "node": ">=12.0.0" + "node": ">= 6" } }, - "node_modules/jsdom": { - "version": "16.7.0", - "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", - "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", + "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": { - "abab": "^2.0.5", - "acorn": "^8.2.4", - "acorn-globals": "^6.0.0", - "cssom": "^0.4.4", - "cssstyle": "^2.3.0", - "data-urls": "^2.0.0", - "decimal.js": "^10.2.1", - "domexception": "^2.0.1", - "escodegen": "^2.0.0", - "form-data": "^3.0.0", - "html-encoding-sniffer": "^2.0.1", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-potential-custom-element-name": "^1.0.1", - "nwsapi": "^2.2.0", - "parse5": "6.0.1", - "saxes": "^5.0.1", - "symbol-tree": "^3.2.4", - "tough-cookie": "^4.0.0", - "w3c-hr-time": "^1.0.2", - "w3c-xmlserializer": "^2.0.0", - "webidl-conversions": "^6.1.0", - "whatwg-encoding": "^1.0.5", - "whatwg-mimetype": "^2.3.0", - "whatwg-url": "^8.5.0", - "ws": "^7.4.6", - "xml-name-validator": "^3.0.0" + "@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": ">=10" + "node": ">=12.0.0" }, "peerDependencies": { - "canvas": "^2.5.0" + "@types/express": "^4.17.13" }, "peerDependenciesMeta": { - "canvas": { + "@types/express": { "optional": true } } }, - "node_modules/jsdom/node_modules/form-data": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", - "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", + "node_modules/http-status-codes": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/http-status-codes/-/http-status-codes-2.3.0.tgz", + "integrity": "sha512-RJ8XvFvpPM/Dmc5SV+dC4y5PCeOhT3x1Hq0NU3rjGeg5a/CqlhZ7uudknPwZFz4aeAXDcbAyaeP7GAo9lvngtA==" + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "agent-base": "6", + "debug": "4" }, "engines": { "node": ">= 6" } }, - "node_modules/jsdom/node_modules/tr46": { + "node_modules/human-signals": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", - "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", - "dependencies": { - "punycode": "^2.1.1" - }, + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "engines": { - "node": ">=8" + "node": ">=10.17.0" } }, - "node_modules/jsdom/node_modules/whatwg-url": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", - "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", + "node_modules/i18next": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.6.0.tgz", + "integrity": "sha512-z0Cxr0MGkt+kli306WS4nNNM++9cgt2b2VCMprY92j+AIab/oclgPxdwtTZVLP1zn5t5uo8M6uLsZmYrcjr3HA==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], "dependencies": { - "lodash": "^4.7.0", - "tr46": "^2.1.0", - "webidl-conversions": "^6.1.0" - }, - "engines": { - "node": ">=10" + "@babel/runtime": "^7.22.5" } }, - "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/i18next-browser-languagedetector": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/i18next-browser-languagedetector/-/i18next-browser-languagedetector-7.1.0.tgz", + "integrity": "sha512-cr2k7u1XJJ4HTOjM9GyOMtbOA47RtUoWRAtt52z43r3AoMs2StYKyjS3URPhzHaf+mn10hY9dZWamga5WPQjhA==", + "dependencies": { + "@babel/runtime": "^7.19.4" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" - }, - "node_modules/json-parse-even-better-errors": { + "node_modules/i18next-http-backend": { "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": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", - "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" - }, - "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/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" - }, - "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==", + "resolved": "https://registry.npmjs.org/i18next-http-backend/-/i18next-http-backend-2.3.1.tgz", + "integrity": "sha512-jnagFs5cnq4ryb+g92Hex4tB5kj3tWmiRWx8gHMCcE/PEgV1fjH5rC7xyJmPSgyb9r2xgcP8rvZxPKgsmvMqTw==", "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "cross-fetch": "4.0.0" } }, - "node_modules/jsonpath": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", - "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", - "dependencies": { - "esprima": "1.2.2", - "static-eval": "2.0.2", - "underscore": "1.12.1" + "node_modules/i18next-icu": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/i18next-icu/-/i18next-icu-2.3.0.tgz", + "integrity": "sha512-x+j7kd5nDJCfbU53uwsMfXD7ALPu5uv0bqjAMQ5nVvXRoj1L7gkmswKtM3XDWYo4YUHf1jznlhSdPyy0xEwU+Q==", + "peerDependencies": { + "intl-messageformat": "^10.3.3" } }, - "node_modules/jsonpath/node_modules/esprima": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", - "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">=0.4.0" + "node": ">=0.10.0" } }, - "node_modules/jsonpointer": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", - "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "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": ">=0.10.0" + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "node_modules/identity-obj-proxy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==", "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" + "harmony-reflect": "^1.4.6" }, "engines": { - "node": ">=4.0" + "node": ">=4" } }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "engines": { - "node": ">=0.10.0" - } + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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/kleur": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", - "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "engines": { - "node": ">=6" + "node": ">= 4" } }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", - "engines": { - "node": ">= 8" + "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/language-subtag-registry": { - "version": "0.3.22", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", - "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" - }, - "node_modules/language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", + "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": { - "language-subtag-registry": "^0.3.20" + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" }, - "engines": { - "node": ">=0.10" - } - }, - "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" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/libphonenumber-js": { - "version": "1.10.49", - "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.49.tgz", - "integrity": "sha512-gvLtyC3tIuqfPzjvYLH9BmVdqzGDiSi4VjtWe2fAgSdBf0yt8yPmbNnRIHNbR5IdtVkm0ayGuzwQKTWmU0hdjQ==" - }, - "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": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "engines": { - "node": ">=6.11.5" + "node": ">=0.8.19" } }, - "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==", + "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": ">= 12.13.0" + "node": ">=8" } }, - "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==", + "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": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "once": "^1.3.0", + "wrappy": "1" } }, - "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.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.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.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + "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/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + "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/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/inline-style-parser": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.2.tgz", + "integrity": "sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==" }, - "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==", + "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": { - "js-tokens": "^3.0.0 || ^4.0.0" + "get-intrinsic": "^1.2.2", + "hasown": "^2.0.0", + "side-channel": "^1.0.4" }, - "bin": { - "loose-envify": "cli.js" + "engines": { + "node": ">= 0.4" } }, - "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==", + "node_modules/intl-messageformat": { + "version": "10.5.8", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.5.8.tgz", + "integrity": "sha512-NRf0jpBWV0vd671G5b06wNofAN8tp7WWDogMZyaU8GUAsmbouyvgwmFJI7zLjfAMpm3zK+vSwRP3jzaoIcMbaA==", "dependencies": { - "tslib": "^2.0.3" + "@formatjs/ecma402-abstract": "1.18.0", + "@formatjs/fast-memoize": "2.2.0", + "@formatjs/icu-messageformat-parser": "2.7.3", + "tslib": "^2.4.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==", + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dependencies": { - "yallist": "^3.0.2" + "loose-envify": "^1.0.0" } }, - "node_modules/lz-string": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", - "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", - "bin": { - "lz-string": "bin/bin.js" + "node_modules/ip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", + "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==", + "dev": true + }, + "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/magic-string": { - "version": "0.25.9", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", - "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", - "dependencies": { - "sourcemap-codec": "^1.4.8" + "node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true, + "engines": { + "node": ">=8" } }, - "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==", + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", "dependencies": { - "semver": "^6.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">=8" + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/make-dir/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/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/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + "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/makeerror": { - "version": "1.0.12", - "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", - "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "node_modules/is-async-function": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", + "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", "dependencies": { - "tmpl": "1.0.5" + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/match-sorter": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz", - "integrity": "sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==", + "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": { - "@babel/runtime": "^7.12.5", - "remove-accents": "0.4.2" + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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/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==", + "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": ">= 0.6" + "node": ">=8" } }, - "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", + "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": { - "fs-monkey": "^1.0.4" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" }, "engines": { - "node": ">= 4.0.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/memoize-one": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", - "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" - }, - "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==", + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", + "dev": true, + "dependencies": { + "builtin-modules": "^3.3.0" + }, "engines": { - "node": ">= 8" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "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.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "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": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "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": ">=8.6" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/microseconds": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/microseconds/-/microseconds-0.2.0.tgz", - "integrity": "sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==" + "node_modules/is-deflate": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-deflate/-/is-deflate-1.0.0.tgz", + "integrity": "sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==", + "dev": true }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "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": { - "mime": "cli.js" + "is-docker": "cli.js" }, "engines": { - "node": ">=4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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.6" + "node": ">=0.10.0" } }, - "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==", + "node_modules/is-finalizationregistry": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.0.2.tgz", + "integrity": "sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==", "dependencies": { - "mime-db": "1.52.0" + "call-bind": "^1.0.2" }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/mimic-fn": { + "node_modules/is-generator-fn": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "engines": { "node": ">=6" } }, - "node_modules/min-indent": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", - "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "node_modules/is-generator-function": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", + "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, "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" + "node": ">= 0.4" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "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": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "is-extglob": "^2.1.1" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=0.10.0" } }, - "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/is-gzip": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", + "integrity": "sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "node_modules/mini-css-extract-plugin/node_modules/json-schema-traverse": { + "node_modules/is-inside-container": { "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==", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" }, "engines": { - "node": ">= 12.13.0" + "node": ">=14.16" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/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" + "node_modules/is-inside-container/node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" }, "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" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "bin": { - "mkdirp": "bin/cmd.js" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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/is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" } }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/nano-time": { + "node_modules/is-module": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/nano-time/-/nano-time-1.0.0.tgz", - "integrity": "sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==", - "dependencies": { - "big-integer": "^1.6.16" - } + "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" }, - "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" + "node_modules/is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" - }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" - }, - "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==", + "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.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": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" + "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/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==", + "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": { - "whatwg-url": "^5.0.0" + "has-tostringtag": "^1.0.0" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "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": ">= 6.13.0" + "node": ">=0.10.0" } }, - "node_modules/node-int64": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", - "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" - }, - "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==", + "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==", + "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=6" } }, - "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==", + "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": ">=0.10.0" + "node": ">=8" } }, - "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==", + "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" }, @@ -16877,101 +19576,89 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/normalize.css": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", - "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==", - "dev": true - }, - "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==", + "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": { - "path-key": "^3.0.0" + "isobject": "^3.0.1" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "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==", + "node_modules/is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==" + }, + "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": { - "boolbase": "^1.0.0" + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" }, "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==", - "dev": true - }, - "node_modules/nwsapi": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", - "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" - }, - "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==", + "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/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "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": ">=6" } }, - "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==", + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "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", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" + "call-bind": "^1.0.2" }, "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==", + "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": ">= 0.4" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" + "has-tostringtag": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -16980,27 +19667,26 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.entries": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", - "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "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": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "has-symbols": "^1.0.2" }, "engines": { "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "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": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "which-typed-array": "^1.1.11" }, "engines": { "node": ">= 0.4" @@ -17009,152 +19695,141 @@ "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" - }, + "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-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/object.groupby": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", - "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1" + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.hasown": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", - "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "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": { - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.2" }, "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==", + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", "dependencies": { "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" + "get-intrinsic": "^1.1.1" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/oblivious-set": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.0.0.tgz", - "integrity": "sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==" + "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/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + "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/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/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, - "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==", + "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.8" + "node": ">=0.10.0" } }, - "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/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "engines": { + "node": ">=8" } }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dependencies": { - "mimic-fn": "^2.1.0" + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" }, "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "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==", + "node_modules/istanbul-lib-instrument/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/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=10" } }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, + "node_modules/istanbul-lib-report/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": ">= 0.8.0" + "node": ">=8" } }, - "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==", + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dependencies": { - "yocto-queue": "^0.1.0" + "semver": "^7.5.3" }, "engines": { "node": ">=10" @@ -17163,1965 +19838,1884 @@ "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==", + "node_modules/istanbul-lib-report/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": { - "p-limit": "^3.0.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=8" } }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "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==", + "node_modules/istanbul-lib-source-maps/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": ">=6" + "node": ">=0.10.0" } }, - "node_modules/param-case": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", - "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", "dependencies": { - "dot-case": "^3.0.4", - "tslib": "^2.0.3" + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "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==", + "node_modules/iterator.prototype": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz", + "integrity": "sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==", "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" + "define-properties": "^1.2.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "reflect.getprototypeof": "^1.0.4", + "set-function-name": "^2.0.1" } }, - "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==", + "node_modules/jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, "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" + "@isaacs/cliui": "^8.0.2" }, "engines": { - "node": ">=8" + "node": ">=14" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "node_modules/jake": { + "version": "10.8.7", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", + "integrity": "sha512-ZDi3aP+fG/LchyBzUM804VjddnwfSfsdeYkwt8NcbKRvo4rFkjhs456iLFn3k2ZUWvNe4i48WACDbza8fhq2+w==", + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.4", + "minimatch": "^3.1.2" + }, + "bin": { + "jake": "bin/cli.js" + }, "engines": { - "node": ">= 0.8" + "node": ">=10" } }, - "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==", + "node_modules/jake/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": { - "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==", + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/jake/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": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/jake/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": ">=8" + "node": ">=7.0.0" } }, - "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": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==" + "node_modules/jake/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/path-type": { + "node_modules/jake/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { "node": ">=8" } }, - "node_modules/performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" - }, - "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" + "node_modules/jake/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" }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "engines": { - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "node_modules/jest": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", + "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", + "dependencies": { + "@jest/core": "^27.5.1", + "import-local": "^3.0.2", + "jest-cli": "^27.5.1" + }, + "bin": { + "jest": "bin/jest.js" + }, "engines": { - "node": ">= 6" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "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==", + "node_modules/jest-changed-files": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-27.5.1.tgz", + "integrity": "sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw==", "dependencies": { - "find-up": "^4.0.0" + "@jest/types": "^27.5.1", + "execa": "^5.0.0", + "throat": "^6.0.1" }, "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-changed-files/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-changed-files/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", "dependencies": { - "p-locate": "^4.1.0" + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-changed-files/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/pkg-dir/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==", + "node_modules/jest-changed-files/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": { - "p-try": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/jest-changed-files/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": { - "p-limit": "^2.2.0" + "color-name": "~1.1.4" }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-changed-files/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-changed-files/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/pkg-up": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz", - "integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==", + "node_modules/jest-changed-files/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": { - "find-up": "^3.0.0" + "has-flag": "^4.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==", + "node_modules/jest-circus": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-27.5.1.tgz", + "integrity": "sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw==", "dependencies": { - "locate-path": "^3.0.0" + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^0.7.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3", + "throat": "^6.0.1" }, "engines": { - "node": ">=6" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-circus/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=6" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/pkg-up/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==", + "node_modules/jest-circus/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", "dependencies": { - "p-try": "^2.0.0" + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-circus/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": ">=6" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/jest-circus/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": { - "p-limit": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/jest-circus/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": ">=4" + "node": ">=7.0.0" } }, - "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" - }, + "node_modules/jest-circus/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-circus/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "engines": { - "node": "^10 || ^12 || >=14" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", - "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", + "node_modules/jest-circus/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", "dependencies": { - "postcss-selector-parser": "^6.0.10" + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-browser-comments": { + "node_modules/jest-circus/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", - "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { "node": ">=8" - }, - "peerDependencies": { - "browserslist": ">=4", - "postcss": ">=8" } }, - "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==", + "node_modules/jest-circus/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dependencies": { - "postcss-selector-parser": "^6.0.9", - "postcss-value-parser": "^4.2.0" + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, - "peerDependencies": { - "postcss": "^8.2.2" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-clamp": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", - "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", - "dependencies": { - "postcss-value-parser": "^4.2.0" - }, + "node_modules/jest-circus/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { - "node": ">=7.6.0" - }, - "peerDependencies": { - "postcss": "^8.4.6" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-color-functional-notation": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", - "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", + "node_modules/jest-circus/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-color-hex-alpha": { - "version": "8.0.4", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", - "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", + "node_modules/jest-circus/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-color-rebeccapurple": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", - "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", + "node_modules/jest-circus/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-circus/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": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "colord": "^2.9.1", - "postcss-value-parser": "^4.2.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "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==", + "node_modules/jest-cli": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-27.5.1.tgz", + "integrity": "sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw==", "dependencies": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" + "@jest/core": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "import-local": "^3.0.2", + "jest-config": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "prompts": "^2.0.1", + "yargs": "^16.2.0" + }, + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "peerDependencies": { - "postcss": "^8.2.15" + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/postcss-custom-media": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", - "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", + "node_modules/jest-cli/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-custom-properties": { - "version": "12.1.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", - "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", + "node_modules/jest-cli/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", "dependencies": { - "postcss-value-parser": "^4.2.0" - }, - "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "@types/yargs-parser": "*" } }, - "node_modules/postcss-custom-selectors": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", - "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", + "node_modules/jest-cli/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": { - "postcss-selector-parser": "^6.0.4" + "color-convert": "^2.0.1" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.3" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/postcss-dir-pseudo-class": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", - "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", + "node_modules/jest-cli/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": { - "postcss-selector-parser": "^6.0.10" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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" + "node_modules/jest-cli/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" }, - "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": ">=7.0.0" } }, - "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/jest-cli/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/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==", + "node_modules/jest-cli/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": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "node_modules/postcss-double-position-gradients": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", - "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", + "node_modules/jest-cli/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-env-function": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", - "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "node_modules/jest-cli/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": { - "postcss-value-parser": "^4.2.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" - } - }, - "node_modules/postcss-flexbugs-fixes": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", - "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", - "peerDependencies": { - "postcss": "^8.1.4" + "node": ">=8" } }, - "node_modules/postcss-focus-visible": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", - "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "node_modules/jest-config": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-27.5.1.tgz", + "integrity": "sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA==", "dependencies": { - "postcss-selector-parser": "^6.0.9" + "@babel/core": "^7.8.0", + "@jest/test-sequencer": "^27.5.1", + "@jest/types": "^27.5.1", + "babel-jest": "^27.5.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.1", + "graceful-fs": "^4.2.9", + "jest-circus": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-jasmine2": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, "peerDependencies": { - "postcss": "^8.4" + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + } } }, - "node_modules/postcss-focus-within": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", - "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "node_modules/jest-config/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "postcss-selector-parser": "^6.0.9" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-font-variant": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", - "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", - "peerDependencies": { - "postcss": "^8.1.0" + "node_modules/jest-config/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/postcss-functions": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-functions/-/postcss-functions-3.0.0.tgz", - "integrity": "sha512-N5yWXWKA+uhpLQ9ZhBRl2bIAdM6oVJYpDojuI1nF2SzXBimJcdjFwiAouBVbO5VuOF3qA6BSFWFc3wXbbj72XQ==", - "dev": true, + "node_modules/jest-config/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": { - "glob": "^7.1.2", - "object-assign": "^4.1.1", - "postcss": "^6.0.9", - "postcss-value-parser": "^3.3.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/postcss-functions/node_modules/postcss": { - "version": "6.0.23", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", - "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", - "dev": true, + "node_modules/jest-config/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": { - "chalk": "^2.4.1", - "source-map": "^0.6.1", - "supports-color": "^5.4.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/postcss-functions/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true + "node_modules/jest-config/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/postcss-functions/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==", - "dev": true, + "node_modules/jest-config/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-config/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": ">=0.10.0" + "node": ">=8" } }, - "node_modules/postcss-gap-properties": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", - "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", + "node_modules/jest-config/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-image-set-function": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", - "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", + "node_modules/jest-config/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "node_modules/jest-config/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": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" + "node": ">=8" } }, - "node_modules/postcss-initial": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", - "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", - "peerDependencies": { - "postcss": "^8.0.0" + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "node_modules/jest-diff/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": { - "camelcase-css": "^2.0.1" + "color-convert": "^2.0.1" }, "engines": { - "node": "^12 || ^14 || >= 16" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/postcss-lab-function": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", - "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "node_modules/jest-diff/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": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "node_modules/jest-diff/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": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" + "color-name": "~1.1.4" }, "engines": { - "node": ">= 14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } + "node": ">=7.0.0" } }, - "node_modules/postcss-load-config/node_modules/yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "node_modules/jest-diff/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-diff/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": ">= 14" + "node": ">=8" } }, - "node_modules/postcss-loader": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", - "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "node_modules/jest-diff/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dependencies": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.5", - "semver": "^7.3.5" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/postcss-logical": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", - "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "node_modules/jest-diff/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.4" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/postcss-media-minmax": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", - "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", - "engines": { - "node": ">=10.0.0" + "node_modules/jest-diff/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/jest-diff/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" }, - "peerDependencies": { - "postcss": "^8.1.0" + "engines": { + "node": ">=8" } }, - "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==", + "node_modules/jest-docblock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-27.5.1.tgz", + "integrity": "sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ==", "dependencies": { - "postcss-value-parser": "^4.2.0", - "stylehacks": "^5.1.1" + "detect-newline": "^3.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-each": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-27.5.1.tgz", + "integrity": "sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ==", "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0", - "cssnano-utils": "^3.1.0", - "postcss-selector-parser": "^6.0.5" + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-each/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-each/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", "dependencies": { - "colord": "^2.9.1", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-each/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": "^10 || ^12 || >=14.0" + "node": ">=8" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/jest-each/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": { - "browserslist": "^4.21.4", - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/jest-each/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": { - "postcss-selector-parser": "^6.0.5" + "color-name": "~1.1.4" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=7.0.0" } }, - "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==", + "node_modules/jest-each/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-each/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": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=8" } }, - "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" - }, + "node_modules/jest-each/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.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==", + "node_modules/jest-each/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "postcss-selector-parser": "^6.0.4" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.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==", + "node_modules/jest-each/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": { - "icss-utils": "^5.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" + "node": ">=8" } }, - "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "node_modules/jest-environment-jsdom": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz", + "integrity": "sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw==", "dependencies": { - "postcss-selector-parser": "^6.0.11" + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1", + "jsdom": "^16.6.0" }, "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-nesting": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", - "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "node_modules/jest-environment-jsdom/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-normalize": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", - "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "node_modules/jest-environment-jsdom/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", "dependencies": { - "@csstools/normalize.css": "*", - "postcss-browser-comments": "^4", - "sanitize.css": "*" - }, - "engines": { - "node": ">= 12" - }, - "peerDependencies": { - "browserslist": ">= 4", - "postcss": ">= 8" - } - }, - "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" + "@types/yargs-parser": "*" } }, - "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==", + "node_modules/jest-environment-jsdom/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": { - "postcss-value-parser": "^4.2.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">=8" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/jest-environment-jsdom/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": { - "postcss-value-parser": "^4.2.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">=10" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/jest-environment-jsdom/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": { - "postcss-value-parser": "^4.2.0" + "color-name": "~1.1.4" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=7.0.0" } }, - "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" - }, + "node_modules/jest-environment-jsdom/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-environment-jsdom/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": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "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==", + "node_modules/jest-environment-jsdom/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-environment-jsdom/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": { - "browserslist": "^4.21.4", - "postcss-value-parser": "^4.2.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=8" } }, - "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==", + "node_modules/jest-environment-node": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz", + "integrity": "sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==", "dependencies": { - "normalize-url": "^6.0.1", - "postcss-value-parser": "^4.2.0" + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-environment-node/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-opacity-percentage": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", - "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", - "funding": [ - { - "type": "kofi", - "url": "https://ko-fi.com/mrcgrtz" - }, - { - "type": "liberapay", - "url": "https://liberapay.com/mrcgrtz" - } - ], - "engines": { - "node": "^12 || ^14 || >=16" - }, - "peerDependencies": { - "postcss": "^8.2" + "node_modules/jest-environment-node/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "dependencies": { + "@types/yargs-parser": "*" } }, - "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==", + "node_modules/jest-environment-node/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": { - "cssnano-utils": "^3.1.0", - "postcss-value-parser": "^4.2.0" + "color-convert": "^2.0.1" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": ">=8" }, - "peerDependencies": { - "postcss": "^8.2.15" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/postcss-overflow-shorthand": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", - "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "node_modules/jest-environment-node/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": { - "postcss-value-parser": "^4.2.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-environment-node/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" }, - "peerDependencies": { - "postcss": "^8.2" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/postcss-page-break": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", - "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", - "peerDependencies": { - "postcss": "^8" + "node_modules/jest-environment-node/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-environment-node/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/postcss-place": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", - "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "node_modules/jest-environment-node/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-preset-env": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", - "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "node_modules/jest-environment-node/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": { - "@csstools/postcss-cascade-layers": "^1.1.1", - "@csstools/postcss-color-function": "^1.1.1", - "@csstools/postcss-font-format-keywords": "^1.0.1", - "@csstools/postcss-hwb-function": "^1.0.2", - "@csstools/postcss-ic-unit": "^1.0.1", - "@csstools/postcss-is-pseudo-class": "^2.0.7", - "@csstools/postcss-nested-calc": "^1.0.0", - "@csstools/postcss-normalize-display-values": "^1.0.1", - "@csstools/postcss-oklab-function": "^1.1.1", - "@csstools/postcss-progressive-custom-properties": "^1.3.0", - "@csstools/postcss-stepped-value-functions": "^1.0.1", - "@csstools/postcss-text-decoration-shorthand": "^1.0.0", - "@csstools/postcss-trigonometric-functions": "^1.0.2", - "@csstools/postcss-unset-value": "^1.0.2", - "autoprefixer": "^10.4.13", - "browserslist": "^4.21.4", - "css-blank-pseudo": "^3.0.3", - "css-has-pseudo": "^3.0.4", - "css-prefers-color-scheme": "^6.0.3", - "cssdb": "^7.1.0", - "postcss-attribute-case-insensitive": "^5.0.2", - "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^4.2.4", - "postcss-color-hex-alpha": "^8.0.4", - "postcss-color-rebeccapurple": "^7.1.1", - "postcss-custom-media": "^8.0.2", - "postcss-custom-properties": "^12.1.10", - "postcss-custom-selectors": "^6.0.3", - "postcss-dir-pseudo-class": "^6.0.5", - "postcss-double-position-gradients": "^3.1.2", - "postcss-env-function": "^4.0.6", - "postcss-focus-visible": "^6.0.4", - "postcss-focus-within": "^5.0.4", - "postcss-font-variant": "^5.0.0", - "postcss-gap-properties": "^3.0.5", - "postcss-image-set-function": "^4.0.7", - "postcss-initial": "^4.0.1", - "postcss-lab-function": "^4.2.1", - "postcss-logical": "^5.0.4", - "postcss-media-minmax": "^5.0.0", - "postcss-nesting": "^10.2.0", - "postcss-opacity-percentage": "^1.1.2", - "postcss-overflow-shorthand": "^3.0.4", - "postcss-page-break": "^3.0.4", - "postcss-place": "^7.0.5", - "postcss-pseudo-class-any-link": "^7.1.6", - "postcss-replace-overflow-wrap": "^4.0.0", - "postcss-selector-not": "^6.0.1", - "postcss-value-parser": "^4.2.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": ">=8" } }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", - "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", - "dependencies": { - "postcss-selector-parser": "^6.0.10" - }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "engines": { - "node": "^12 || ^14 || >=16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/jest-haste-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-27.5.1.tgz", + "integrity": "sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng==", "dependencies": { - "browserslist": "^4.21.4", - "caniuse-api": "^3.0.0" + "@jest/types": "^27.5.1", + "@types/graceful-fs": "^4.1.2", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^27.5.1", + "jest-serializer": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "micromatch": "^4.0.4", + "walker": "^1.0.7" }, "engines": { - "node": "^10 || ^12 || >=14.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" }, - "peerDependencies": { - "postcss": "^8.2.15" + "optionalDependencies": { + "fsevents": "^2.3.2" } }, - "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==", + "node_modules/jest-haste-map/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "postcss-value-parser": "^4.2.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/postcss-replace-overflow-wrap": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", - "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", - "peerDependencies": { - "postcss": "^8.0.3" + "node_modules/jest-haste-map/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/postcss-selector-not": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", - "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "node_modules/jest-haste-map/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": { - "postcss-selector-parser": "^6.0.10" + "color-convert": "^2.0.1" }, "engines": { - "node": "^12 || ^14 || >=16" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/csstools" - }, - "peerDependencies": { - "postcss": "^8.2" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/jest-haste-map/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": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/jest-haste-map/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": { - "postcss-value-parser": "^4.2.0", - "svgo": "^2.7.0" - }, - "engines": { - "node": "^10 || ^12 || >=14.0" + "color-name": "~1.1.4" }, - "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": ">=7.0.0" } }, - "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==", + "node_modules/jest-haste-map/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-haste-map/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-haste-map/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "mdn-data": "2.0.14", - "source-map": "^0.6.1" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=8.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "node_modules/jest-haste-map/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": ">=0.10.0" + "node": ">=8" } }, - "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==", + "node_modules/jest-jasmine2": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz", + "integrity": "sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ==", "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" + "@jest/environment": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "expect": "^27.5.1", + "is-generator-fn": "^2.0.0", + "jest-each": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "pretty-format": "^27.5.1", + "throat": "^6.0.1" }, "engines": { - "node": ">=10.13.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.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==", + "node_modules/jest-jasmine2/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "postcss-selector-parser": "^6.0.5" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "engines": { - "node": ">= 0.8.0" + "node_modules/jest-jasmine2/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/prettier": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz", - "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==", - "dev": true, - "peer": true, - "bin": { - "prettier": "bin/prettier.cjs" + "node_modules/jest-jasmine2/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": ">=14" + "node": ">=8" }, "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, + "node_modules/jest-jasmine2/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": { - "fast-diff": "^1.1.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "engines": { - "node": ">=6" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/jest-jasmine2/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": { - "lodash": "^4.17.20", - "renderkid": "^3.0.0" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/pretty-format": { + "node_modules/jest-jasmine2/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-jasmine2/node_modules/diff-sequences": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-jasmine2/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", "dependencies": { - "ansi-regex": "^5.0.1", - "ansi-styles": "^5.0.0", - "react-is": "^17.0.1" + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" }, "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "node_modules/jest-jasmine2/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": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=8" } }, - "node_modules/pretty-hrtime": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", - "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", - "dev": true, + "node_modules/jest-jasmine2/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, "engines": { - "node": ">= 0.8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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/jest-jasmine2/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "node_modules/promise": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", - "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "node_modules/jest-jasmine2/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dependencies": { - "asap": "~2.0.6" + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-jasmine2/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { - "kleur": "^3.0.3", - "sisteransi": "^1.0.5" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">= 6" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "node_modules/jest-jasmine2/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/prop-types/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/property-expr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz", - "integrity": "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==" - }, - "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==", + "node_modules/jest-jasmine2/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": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.10" + "node": ">=8" } }, - "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==", + "node_modules/jest-leak-detector": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", + "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", + "dependencies": { + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + }, "engines": { - "node": ">= 0.10" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, - "node_modules/psl": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", - "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "node_modules/jest-leak-detector/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { - "node": ">=6" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/purgecss": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz", - "integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==", - "dev": true, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dependencies": { - "commander": "^5.0.0", - "glob": "^7.0.0", - "postcss": "7.0.32", - "postcss-selector-parser": "^6.0.2" + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" }, - "bin": { - "purgecss": "bin/purgecss" - } - }, - "node_modules/purgecss/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==", - "dev": true, "engines": { - "node": ">= 6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/purgecss/node_modules/postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", - "dev": true, + "node_modules/jest-matcher-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": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=6.0.0" + "node": ">=8" }, "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/purgecss/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==", - "dev": true, + "node_modules/jest-matcher-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": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/purgecss/node_modules/supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, + "node_modules/jest-matcher-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": { - "has-flag": "^3.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=6" + "node": ">=7.0.0" } }, - "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==", + "node_modules/jest-matcher-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/jest-matcher-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": ">=0.6.0", - "teleport": ">=0.2.0" + "node": ">=8" } }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "node_modules/jest-matcher-utils/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dependencies": { - "side-channel": "^1.0.4" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=0.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" - }, - "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/jest-matcher-utils/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, - "node_modules/raf": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", - "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "node_modules/jest-matcher-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": { - "performance-now": "^2.1.0" + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "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==", + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, "engines": { - "node": ">= 0.6" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "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==", + "node_modules/jest-message-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": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 0.8" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/jest-message-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": ">= 0.8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/raw-body/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==", + "node_modules/jest-message-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": { - "safer-buffer": ">= 2.1.2 < 3" + "color-name": "~1.1.4" }, "engines": { - "node": ">=0.10.0" + "node": ">=7.0.0" } }, - "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", - "dependencies": { - "loose-envify": "^1.1.0" - }, + "node_modules/jest-message-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-message-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": ">=0.10.0" + "node": ">=8" } }, - "node_modules/react-app-polyfill": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", - "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "node_modules/jest-message-util/node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dependencies": { - "core-js": "^3.19.2", - "object-assign": "^4.1.1", - "promise": "^8.1.0", - "raf": "^3.4.1", - "regenerator-runtime": "^0.13.9", - "whatwg-fetch": "^3.6.2" + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=14" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/react-app-polyfill/node_modules/regenerator-runtime": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", - "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + "node_modules/jest-message-util/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/react-async-script": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/react-async-script/-/react-async-script-1.2.0.tgz", - "integrity": "sha512-bCpkbm9JiAuMGhkqoAiC0lLkb40DJ0HOEJIku+9JDjxX3Rcs+ztEOG13wbrOskt3n2DTrjshhaQ/iay+SnGg5Q==", + "node_modules/jest-message-util/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, + "node_modules/jest-message-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": { - "hoist-non-react-statics": "^3.3.0", - "prop-types": "^15.5.0" + "has-flag": "^4.0.0" }, - "peerDependencies": { - "react": ">=16.4.1" + "engines": { + "node": ">=8" } }, - "node_modules/react-dev-inspector": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/react-dev-inspector/-/react-dev-inspector-2.0.0.tgz", - "integrity": "sha512-pNNGAsk9G69q0u9HNSeLn/FHS+8VawYZxnIJikHfFcCnCaAXFaXofn9TUum23OW/rSB59Wx0Vma2Wn9l6WDkUQ==", - "dev": true, + "node_modules/jest-mock": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz", + "integrity": "sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==", "dependencies": { - "@react-dev-inspector/babel-plugin": "2.0.0", - "@react-dev-inspector/middleware": "2.0.0", - "@react-dev-inspector/umi3-plugin": "2.0.0", - "@react-dev-inspector/umi4-plugin": "2.0.0", - "@react-dev-inspector/vite-plugin": "2.0.0", - "@types/react-reconciler": ">=0.26.6", - "hotkeys-js": "^3.8.1", - "picocolors": "1.0.0", - "react-dev-utils": "12.0.1" + "@jest/types": "^27.5.1", + "@types/node": "*" }, "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "react": ">=16.8.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.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==", + "node_modules/jest-mock/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "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" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=14" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/react-dev-utils/node_modules/ansi-styles": { + "node_modules/jest-mock/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/jest-mock/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==", @@ -19135,7 +21729,7 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/react-dev-utils/node_modules/chalk": { + "node_modules/jest-mock/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -19150,7 +21744,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/react-dev-utils/node_modules/color-convert": { + "node_modules/jest-mock/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==", @@ -19161,23 +21755,12 @@ "node": ">=7.0.0" } }, - "node_modules/react-dev-utils/node_modules/color-name": { + "node_modules/jest-mock/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/has-flag": { + "node_modules/jest-mock/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==", @@ -19185,7 +21768,7 @@ "node": ">=8" } }, - "node_modules/react-dev-utils/node_modules/supports-color": { + "node_modules/jest-mock/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==", @@ -19196,790 +21779,774 @@ "node": ">=8" } }, - "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "engines": { + "node": ">=6" }, "peerDependencies": { - "react": "^18.2.0" + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } } }, - "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/jest-regex-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.5.1.tgz", + "integrity": "sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "node_modules/react-google-recaptcha": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/react-google-recaptcha/-/react-google-recaptcha-3.1.0.tgz", - "integrity": "sha512-cYW2/DWas8nEKZGD7SCu9BSuVz8iOcOLHChHyi7upUuVhkpkhYG/6N3KDiTQ3XAiZ2UAZkfvYKMfAHOzBOcGEg==", + "node_modules/jest-resolve": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-27.5.1.tgz", + "integrity": "sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw==", "dependencies": { - "prop-types": "^15.5.0", - "react-async-script": "^1.2.0" + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "resolve": "^1.20.0", + "resolve.exports": "^1.1.0", + "slash": "^3.0.0" }, - "peerDependencies": { - "react": ">=16.4.1" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/react-hook-form": { - "version": "7.48.2", - "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.48.2.tgz", - "integrity": "sha512-H0T2InFQb1hX7qKtDIZmvpU1Xfn/bdahWBN1fH19gSe4bBEqTfmlr7H3XWTaVtiK4/tpPaI1F3355GPMZYge+A==", - "engines": { - "node": ">=12.22.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/react-hook-form" + "node_modules/jest-resolve-dependencies": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz", + "integrity": "sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-snapshot": "^27.5.1" }, - "peerDependencies": { - "react": "^16.8.0 || ^17 || ^18" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/react-i18next": { - "version": "13.3.1", - "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-13.3.1.tgz", - "integrity": "sha512-JAtYREK879JXaN9GdzfBI4yJeo/XyLeXWUsRABvYXiFUakhZJ40l+kaTo+i+A/3cKIED41kS/HAbZ5BzFtq/Og==", + "node_modules/jest-resolve-dependencies/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "@babel/runtime": "^7.22.5", - "html-parse-stringify": "^3.0.1" - }, - "peerDependencies": { - "i18next": ">= 23.2.3", - "react": ">= 16.8.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" - }, - "node_modules/react-pin-input": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/react-pin-input/-/react-pin-input-1.3.1.tgz", - "integrity": "sha512-/xlrm2GDryrZfZe2DMA8EadxXeOMzkx7lcvQaHFPWbw/v2f9mMbM+tYPgeBsqex1omKMtjZbT3XCqDpBrummpw==", - "peerDependencies": { - "prop-types": "^15.6.0", - "react": "^0.14.0 || ^15.4.2 || ^16.2.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^0.14.0 || ^15.4.2 || ^16.2.0 || ^17.0.0 || ^18.0.0" + "node_modules/jest-resolve-dependencies/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/react-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.2.tgz", - "integrity": "sha512-+PbtI3VuDV0l6CleQMsx2gtK0JZbZKbpdu5ynr+lbsuvtmgbNcS3VM0tuY2QjFNOcWxvXeHjDpy42RO+4U2rug==" - }, - "node_modules/react-query": { - "version": "3.39.3", - "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.39.3.tgz", - "integrity": "sha512-nLfLz7GiohKTJDuT4us4X3h/8unOh+00MLb2yJoGTPjxKs2bc1iDhkNx2bd5MKklXnOD3NrVZ+J2UXujA5In4g==", + "node_modules/jest-resolve-dependencies/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": { - "@babel/runtime": "^7.5.5", - "broadcast-channel": "^3.4.1", - "match-sorter": "^6.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "color-convert": "^2.0.1" }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } - } - }, - "node_modules/react-refresh": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", - "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", "engines": { - "node": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/react-remove-scroll": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", - "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "node_modules/jest-resolve-dependencies/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": { - "react-remove-scroll-bar": "^2.3.3", - "react-style-singleton": "^2.2.1", - "tslib": "^2.1.0", - "use-callback-ref": "^1.3.0", - "use-sidecar": "^1.1.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/react-remove-scroll-bar": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", - "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "node_modules/jest-resolve-dependencies/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": { - "react-style-singleton": "^2.2.1", - "tslib": "^2.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "node": ">=7.0.0" } }, - "node_modules/react-router": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.18.0.tgz", - "integrity": "sha512-vk2y7Dsy8wI02eRRaRmOs9g2o+aE72YCx5q9VasT1N9v+lrdB79tIqrjMfByHiY5+6aYkH2rUa5X839nwWGPDg==", + "node_modules/jest-resolve-dependencies/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-resolve-dependencies/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-resolve-dependencies/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": { - "@remix-run/router": "1.11.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8" + "node": ">=8" } }, - "node_modules/react-router-dom": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.18.0.tgz", - "integrity": "sha512-Ubrue4+Ercc/BoDkFQfc6og5zRQ4A8YxSO3Knsne+eRbZ+IepAsK249XBH/XaFuOYOYr3L3r13CXTLvYt5JDjw==", + "node_modules/jest-resolve/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "@remix-run/router": "1.11.0", - "react-router": "6.18.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/react-scripts": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", - "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", - "dependencies": { - "@babel/core": "^7.16.0", - "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", - "@svgr/webpack": "^5.5.0", - "babel-jest": "^27.4.2", - "babel-loader": "^8.2.3", - "babel-plugin-named-asset-import": "^0.3.8", - "babel-preset-react-app": "^10.0.1", - "bfj": "^7.0.2", - "browserslist": "^4.18.1", - "camelcase": "^6.2.1", - "case-sensitive-paths-webpack-plugin": "^2.4.0", - "css-loader": "^6.5.1", - "css-minimizer-webpack-plugin": "^3.2.0", - "dotenv": "^10.0.0", - "dotenv-expand": "^5.1.0", - "eslint": "^8.3.0", - "eslint-config-react-app": "^7.0.1", - "eslint-webpack-plugin": "^3.1.1", - "file-loader": "^6.2.0", - "fs-extra": "^10.0.0", - "html-webpack-plugin": "^5.5.0", - "identity-obj-proxy": "^3.0.0", - "jest": "^27.4.3", - "jest-resolve": "^27.4.2", - "jest-watch-typeahead": "^1.0.0", - "mini-css-extract-plugin": "^2.4.5", - "postcss": "^8.4.4", - "postcss-flexbugs-fixes": "^5.0.2", - "postcss-loader": "^6.2.1", - "postcss-normalize": "^10.0.1", - "postcss-preset-env": "^7.0.1", - "prompts": "^2.4.2", - "react-app-polyfill": "^3.0.0", - "react-dev-utils": "^12.0.1", - "react-refresh": "^0.11.0", - "resolve": "^1.20.0", - "resolve-url-loader": "^4.0.0", - "sass-loader": "^12.3.0", - "semver": "^7.3.5", - "source-map-loader": "^3.0.0", - "style-loader": "^3.3.1", - "tailwindcss": "^3.0.2", - "terser-webpack-plugin": "^5.2.5", - "webpack": "^5.64.4", - "webpack-dev-server": "^4.6.0", - "webpack-manifest-plugin": "^4.0.2", - "workbox-webpack-plugin": "^6.4.1" - }, - "bin": { - "react-scripts": "bin/react-scripts.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "fsevents": "^2.3.2" - }, - "peerDependencies": { - "react": ">= 16", - "typescript": "^3.2.1 || ^4" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "node_modules/jest-resolve/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/react-scripts/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==", + "node_modules/jest-resolve/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": { - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=12" - } - }, - "node_modules/react-select": { - "version": "5.7.7", - "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.7.7.tgz", - "integrity": "sha512-HhashZZJDRlfF/AKj0a0Lnfs3sRdw/46VJIRd8IbB9/Ovr74+ZIwkAdSBjSPXsFMG+u72c5xShqwLSKIJllzqw==", - "dependencies": { - "@babel/runtime": "^7.12.0", - "@emotion/cache": "^11.4.0", - "@emotion/react": "^11.8.1", - "@floating-ui/dom": "^1.0.1", - "@types/react-transition-group": "^4.4.0", - "memoize-one": "^6.0.0", - "prop-types": "^15.6.0", - "react-transition-group": "^4.3.0", - "use-isomorphic-layout-effect": "^1.1.2" + "node": ">=8" }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/react-style-singleton": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", - "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "node_modules/jest-resolve/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": { - "get-nonce": "^1.0.0", - "invariant": "^2.2.4", - "tslib": "^2.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/react-tooltip": { - "version": "5.22.0", - "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.22.0.tgz", - "integrity": "sha512-xbJBRY1LyHYd7j00UeBOqZR9SH/1S47Pe+m8vM1a+ZXglkeSNnBt5YYoPttU/amjC/VZJAPQ8+2B9x8Fl8U1qA==", + "node_modules/jest-resolve/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": { - "@floating-ui/dom": "^1.0.0", - "classnames": "^2.3.0" + "color-name": "~1.1.4" }, - "peerDependencies": { - "react": ">=16.14.0", - "react-dom": ">=16.14.0" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } + "node_modules/jest-resolve/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/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dependencies": { - "pify": "^2.3.0" + "node_modules/jest-resolve/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/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "node_modules/jest-resolve/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">= 6" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/jest-resolve/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": { - "picomatch": "^2.2.1" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=8.10.0" + "node": ">=8" } }, - "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==", + "node_modules/jest-runner": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-27.5.1.tgz", + "integrity": "sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ==", "dependencies": { - "minimatch": "^3.0.5" + "@jest/console": "^27.5.1", + "@jest/environment": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^27.5.1", + "jest-environment-jsdom": "^27.5.1", + "jest-environment-node": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-leak-detector": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "source-map-support": "^0.5.6", + "throat": "^6.0.1" }, "engines": { - "node": ">=6.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/redent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", - "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "node_modules/jest-runner/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/reduce-css-calc": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", - "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", - "dev": true, + "node_modules/jest-runner/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", "dependencies": { - "css-unit-converter": "^1.1.1", - "postcss-value-parser": "^3.3.0" + "@types/yargs-parser": "*" } }, - "node_modules/reduce-css-calc/node_modules/postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", - "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "node_modules/jest-runner/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": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "globalthis": "^1.0.3", - "which-builtin-type": "^1.1.3" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 0.4" + "node": ">=8" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/jest-runner/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": { - "regenerate": "^1.4.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/jest-runner/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": { - "@babel/runtime": "^7.8.4" + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "node_modules/regex-parser": { - "version": "2.2.11", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", - "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + "node_modules/jest-runner/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/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==", + "node_modules/jest-runner/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-runner/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "set-function-name": "^2.0.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-runner/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "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" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", + "node_modules/jest-runner/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": { - "jsesc": "~0.5.0" + "has-flag": "^4.0.0" }, - "bin": { - "regjsparser": "bin/parser" + "engines": { + "node": ">=8" } }, - "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/jest-runtime": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-27.5.1.tgz", + "integrity": "sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A==", + "dependencies": { + "@jest/environment": "^27.5.1", + "@jest/fake-timers": "^27.5.1", + "@jest/globals": "^27.5.1", + "@jest/source-map": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "execa": "^5.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/relateurl": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", - "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==", + "node_modules/jest-runtime/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + }, "engines": { - "node": ">= 0.10" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/remove-accents": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", - "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==" - }, - "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==", + "node_modules/jest-runtime/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", "dependencies": { - "css-select": "^4.1.3", - "dom-converter": "^0.2.0", - "htmlparser2": "^6.1.0", - "lodash": "^4.17.21", - "strip-ansi": "^6.0.1" + "@types/yargs-parser": "*" } }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "node_modules/jest-runtime/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": ">=0.10.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/jest-runtime/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": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/jest-runtime/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": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "color-name": "~1.1.4" }, - "bin": { - "resolve": "bin/resolve" + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jest-runtime/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-runtime/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-runtime/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "node_modules/jest-runtime/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "resolve-from": "^5.0.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, "engines": { - "node": ">=8" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/resolve-cwd/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "node_modules/jest-runtime/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/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==", + "node_modules/jest-serializer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-serializer/-/jest-serializer-27.5.1.tgz", + "integrity": "sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w==", + "dependencies": { + "@types/node": "*", + "graceful-fs": "^4.2.9" + }, "engines": { - "node": ">=4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/resolve-url-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", - "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "node_modules/jest-snapshot": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-27.5.1.tgz", + "integrity": "sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA==", "dependencies": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^7.0.35", - "source-map": "0.6.1" + "@babel/core": "^7.7.2", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/traverse": "^7.7.2", + "@babel/types": "^7.0.0", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/babel__traverse": "^7.0.4", + "@types/prettier": "^2.1.5", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "natural-compare": "^1.4.0", + "pretty-format": "^27.5.1", + "semver": "^7.3.2" }, "engines": { - "node": ">=8.9" - }, - "peerDependencies": { - "rework": "1.0.1", - "rework-visit": "1.0.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, - "peerDependenciesMeta": { - "rework": { - "optional": true - }, - "rework-visit": { - "optional": true - } + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/resolve-url-loader/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/jest-snapshot/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "dependencies": { + "@types/yargs-parser": "*" + } }, - "node_modules/resolve-url-loader/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==", + "node_modules/jest-snapshot/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": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=8.9.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/resolve-url-loader/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" - }, - "node_modules/resolve-url-loader/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "node_modules/jest-snapshot/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": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.0.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/resolve-url-loader/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==", + "node_modules/jest-snapshot/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": ">=0.10.0" + "node": ">=7.0.0" } }, - "node_modules/resolve.exports": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", - "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "node_modules/jest-snapshot/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-snapshot/node_modules/diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==", "engines": { - "node": ">=10" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "node_modules/jest-snapshot/node_modules/expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "dependencies": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + }, "engines": { - "node": ">= 4" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/jest-snapshot/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": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" + "node": ">=8" } }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "node_modules/jest-snapshot/node_modules/jest-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/rollup": { - "version": "2.79.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", - "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", - "bin": { - "rollup": "dist/bin/rollup" - }, + "node_modules/jest-snapshot/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "engines": { - "node": ">=10.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/rollup-plugin-terser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", - "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", - "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "node_modules/jest-snapshot/node_modules/jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", "dependencies": { - "@babel/code-frame": "^7.10.4", - "jest-worker": "^26.2.1", - "serialize-javascript": "^4.0.0", - "terser": "^5.0.0" + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" }, - "peerDependencies": { - "rollup": "^2.0.0" - } - }, - "node_modules/rollup-plugin-terser/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": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/rollup-plugin-terser/node_modules/jest-worker": { - "version": "26.6.2", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", - "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "node_modules/jest-snapshot/node_modules/jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" }, "engines": { - "node": ">= 10.13.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "node_modules/jest-snapshot/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "randombytes": "^2.1.0" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/rollup-plugin-terser/node_modules/supports-color": { + "node_modules/jest-snapshot/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==", @@ -19990,487 +22557,371 @@ "node": ">=8" } }, - "node_modules/rooks": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/rooks/-/rooks-7.14.1.tgz", - "integrity": "sha512-oPuLNGm3OaFm3WfZHzmDvJvRit8QrXGm9/Kn49Bz8lJUjkThSBtERWzuQ9wb5DveqrpUZvmNyBXjBE0KWVt13w==", + "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": { - "fast-deep-equal": "^3.1.3", - "lodash.debounce": "^4.0.8", - "raf": "^3.4.1", - "use-sync-external-store": "^1.2.0" + "@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": ">=v10.24.1" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/run-applescript": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", - "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", - "dev": true, + "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": { - "execa": "^5.0.0" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=12" + "node": ">=8" }, "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" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "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": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "isarray": "^2.0.5" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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/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==", + "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": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.3", - "is-regex": "^1.1.4" + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=7.0.0" } }, - "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/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/sanitize.css": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", - "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + "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/sass-loader": { - "version": "12.6.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", - "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "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": { - "klona": "^2.0.4", - "neo-async": "^2.6.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "fibers": ">= 3.1.0", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - } + "node": ">=8" } }, - "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/jest-validate": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-27.5.1.tgz", + "integrity": "sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ==", + "dependencies": { + "@jest/types": "^27.5.1", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^27.5.1", + "leven": "^3.1.0", + "pretty-format": "^27.5.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" + } }, - "node_modules/saxes": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", - "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "node_modules/jest-validate/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "xmlchars": "^2.2.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "node_modules/jest-validate/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", "dependencies": { - "loose-envify": "^1.1.0" + "@types/yargs-parser": "*" } }, - "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==", + "node_modules/jest-validate/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": { - "@types/json-schema": "^7.0.4", - "ajv": "^6.12.2", - "ajv-keywords": "^3.4.1" + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 8.9.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/jest-validate/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": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { "node": ">=10" - } - }, - "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" + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/semver/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==", + "node_modules/jest-validate/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": { - "yallist": "^4.0.0" + "color-name": "~1.1.4" }, "engines": { - "node": ">=10" + "node": ">=7.0.0" } }, - "node_modules/semver/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/jest-validate/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/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" - }, + "node_modules/jest-validate/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": ">= 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": ">=8" } }, - "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/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/jest-validate/node_modules/jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-validate/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": { - "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" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">=8" } }, - "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==", + "node_modules/jest-watch-typeahead": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jest-watch-typeahead/-/jest-watch-typeahead-1.1.0.tgz", + "integrity": "sha512-Va5nLSJTN7YFtC2jd+7wsoe1pNe5K4ShLux/E5iHEwlB9AxaxmggY7to9KUqKojhaJw3aXqt5WAb4jGPOolpEw==", "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==", + "ansi-escapes": "^4.3.1", + "chalk": "^4.0.0", + "jest-regex-util": "^28.0.0", + "jest-watcher": "^28.0.0", + "slash": "^4.0.0", + "string-length": "^5.0.1", + "strip-ansi": "^7.0.1" + }, "engines": { - "node": ">= 0.6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "jest": "^27.0.0 || ^28.0.0" } }, - "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==", + "node_modules/jest-watch-typeahead/node_modules/@jest/console": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-28.1.3.tgz", + "integrity": "sha512-QPAkP5EwKdK/bxIr6C1I4Vs0rm2nHiANzj/Z5X2JQkrZo6IqvC4ldZ9K95tF0HdidhA8Bo6egxSzUFPYKcEXLw==", "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^28.1.3", + "jest-util": "^28.1.3", + "slash": "^3.0.0" }, "engines": { - "node": ">= 0.6" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "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==", + "node_modules/jest-watch-typeahead/node_modules/@jest/console/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "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==", + "node_modules/jest-watch-typeahead/node_modules/@jest/schemas": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-28.1.3.tgz", + "integrity": "sha512-/l/VWsdt/aBXgjshLWOFyFt3IVdYypu5y2Wn2rOO1un6nkqIn8SLXzgIMYXFyYsRWDyF5EthmKJMIdJvk08grg==", "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" + "@sinclair/typebox": "^0.24.1" }, "engines": { - "node": ">= 0.8.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.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==", + "node_modules/jest-watch-typeahead/node_modules/@jest/test-result": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-28.1.3.tgz", + "integrity": "sha512-kZAkxnSE+FqE8YjW8gNuoVkkC9I7S1qmenl8sGcDOLropASP+BkcGKwhXoyqQuGOGeYY0y/ixjrd/iERpEXHNg==", "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "@jest/console": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">= 0.4" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "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==", + "node_modules/jest-watch-typeahead/node_modules/@jest/types": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-28.1.3.tgz", + "integrity": "sha512-RyjiyMUZrKz/c+zlMFO1pm70DcIlST8AeWTkoUdZevew44wcNZQHsEVOiCVtgVnlFFD82FPaXycys58cf2muVQ==", "dependencies": { - "define-data-property": "^1.0.1", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.0" + "@jest/schemas": "^28.1.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": ">= 0.4" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + "node_modules/jest-watch-typeahead/node_modules/@sinclair/typebox": { + "version": "0.24.51", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.24.51.tgz", + "integrity": "sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==" }, - "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==", + "node_modules/jest-watch-typeahead/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": { - "kind-of": "^6.0.2" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/jest-watch-typeahead/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": { - "shebang-regex": "^3.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/jest-watch-typeahead/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": ">=8" + "node": ">=7.0.0" } }, - "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/jest-watch-typeahead/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/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" + "node_modules/jest-watch-typeahead/node_modules/emittery": { + "version": "0.10.2", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.10.2.tgz", + "integrity": "sha512-aITqOwnLanpHLNXZJENbOgjUBeHocD+xsSJmNrjovKBW5HbSpW3d1pEls7GFQPUWXiwG9+0P4GtHfEqC/4M0Iw==", + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/emittery?sponsor=1" } }, - "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/jest-watch-typeahead/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/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "dev": true, + "node_modules/jest-watch-typeahead/node_modules/jest-message-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-28.1.3.tgz", + "integrity": "sha512-PFdn9Iewbt575zKPf1286Ht9EPoJmYT7P0kY+RibeYZ2XtOr53pDLEFoTWXbd1h4JiGiWpTBC84fc8xMXQMb7g==", "dependencies": { - "is-arrayish": "^0.3.1" + "@babel/code-frame": "^7.12.13", + "@jest/types": "^28.1.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^28.1.3", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/simple-swizzle/node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" - }, - "node_modules/slash": { + "node_modules/jest-watch-typeahead/node_modules/jest-message-util/node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", @@ -20478,832 +22929,890 @@ "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/jest-watch-typeahead/node_modules/jest-regex-util": { + "version": "28.0.2", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-28.0.2.tgz", + "integrity": "sha512-4s0IgyNIy0y9FK+cjoVYoxamT7Zeo7MhzqRGx7YDYmaQn1wucY9rotiGkBzzcMXTtjrCAP/f7f+E0F7+fxPNdw==", + "engines": { + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" - }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "node_modules/jest-watch-typeahead/node_modules/jest-util": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-28.1.3.tgz", + "integrity": "sha512-XdqfpHwpcSRko/C35uLYFM2emRAltIIKZiJ9eAmhjsj0CqZMa0p1ib0R5fWIqGhn1a103DebTbpqIaP1qCQ6tQ==", + "dependencies": { + "@jest/types": "^28.1.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, "engines": { - "node": ">= 8" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.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==", + "node_modules/jest-watch-typeahead/node_modules/jest-watcher": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-28.1.3.tgz", + "integrity": "sha512-t4qcqj9hze+jviFPUN3YAtAEeFnr/azITXQEMARf5cMwKY2SMBRnCQTXLixTl20OR6mLh9KLMrgVJgJISym+1g==", + "dependencies": { + "@jest/test-result": "^28.1.3", + "@jest/types": "^28.1.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.10.2", + "jest-util": "^28.1.3", + "string-length": "^4.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/source-map-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", - "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dependencies": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" }, - "peerDependencies": { - "webpack": "^5.0.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/source-map-support/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/sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "deprecated": "Please use @jridgewell/sourcemap-codec instead" - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "node": ">=10" } }, - "node_modules/spdx-license-ids": { - "version": "3.0.16", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", - "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", - "dev": true - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "node_modules/jest-watch-typeahead/node_modules/jest-watcher/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": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" + "ansi-regex": "^5.0.1" }, "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": ">=8" } }, - "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/stack-utils": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", - "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "node_modules/jest-watch-typeahead/node_modules/pretty-format": { + "version": "28.1.3", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-28.1.3.tgz", + "integrity": "sha512-8gFb/To0OmxHR9+ZTb14Df2vNxdGCX8g1xWGUTqUw5TiZvcQf5sHKObd5UcPyLLyowNwDAMTF3XWOG1B6mxl1Q==", "dependencies": { - "escape-string-regexp": "^2.0.0" + "@jest/schemas": "^28.1.3", + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || ^16.10.0 || >=17.0.0" } }, - "node_modules/stack-utils/node_modules/escape-string-regexp": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", - "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "node_modules/jest-watch-typeahead/node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/stackframe": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", - "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + "node_modules/jest-watch-typeahead/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, - "node_modules/static-eval": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", - "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", - "dependencies": { - "escodegen": "^1.8.1" + "node_modules/jest-watch-typeahead/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/static-eval/node_modules/escodegen": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", - "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "node_modules/jest-watch-typeahead/node_modules/string-length": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", "dependencies": { - "esprima": "^4.0.1", - "estraverse": "^4.2.0", - "esutils": "^2.0.2", - "optionator": "^0.8.1" - }, - "bin": { - "escodegen": "bin/escodegen.js", - "esgenerate": "bin/esgenerate.js" + "char-regex": "^2.0.0", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=4.0" + "node": ">=12.20" }, - "optionalDependencies": { - "source-map": "~0.6.1" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/static-eval/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "node_modules/jest-watch-typeahead/node_modules/string-length/node_modules/char-regex": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-2.0.1.tgz", + "integrity": "sha512-oSvEeo6ZUD7NepqAat3RqoucZ5SeqLJgOvVIwkafu6IP3V0pO38s/ypdVUmDDK6qIIHNlYHJAKX9E7R7HoKElw==", "engines": { - "node": ">=4.0" + "node": ">=12.20" } }, - "node_modules/static-eval/node_modules/levn": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", - "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "node_modules/jest-watch-typeahead/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": { - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/static-eval/node_modules/optionator": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", - "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", - "dependencies": { - "deep-is": "~0.1.3", - "fast-levenshtein": "~2.0.6", - "levn": "~0.3.0", - "prelude-ls": "~1.1.2", - "type-check": "~0.3.2", - "word-wrap": "~1.2.3" + "node": ">=12" }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/static-eval/node_modules/prelude-ls": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", - "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", - "engines": { - "node": ">= 0.8.0" + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/static-eval/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==", - "optional": true, + "node_modules/jest-watch-typeahead/node_modules/strip-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": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/static-eval/node_modules/type-check": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", - "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "node_modules/jest-watch-typeahead/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": { - "prelude-ls": "~1.1.2" + "has-flag": "^4.0.0" }, "engines": { - "node": ">= 0.8.0" - } - }, - "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": ">=8" } }, - "node_modules/stop-iteration-iterator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", - "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "node_modules/jest-watcher": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-27.5.1.tgz", + "integrity": "sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw==", "dependencies": { - "internal-slot": "^1.0.4" + "@jest/test-result": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "jest-util": "^27.5.1", + "string-length": "^4.0.1" }, "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/string-length": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", - "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "node_modules/jest-watcher/node_modules/@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", "dependencies": { - "char-regex": "^1.0.2", - "strip-ansi": "^6.0.0" + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" }, "engines": { - "node": ">=10" + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "node_modules/string-natural-compare": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", - "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + "node_modules/jest-watcher/node_modules/@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "dependencies": { + "@types/yargs-parser": "*" + } }, - "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==", + "node_modules/jest-watcher/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": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "color-convert": "^2.0.1" }, "engines": { "node": ">=8" - } - }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", - "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", - "has-symbols": "^1.0.3", - "internal-slot": "^1.0.5", - "regexp.prototype.flags": "^1.5.0", - "set-function-name": "^2.0.0", - "side-channel": "^1.0.4" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/ansi-styles?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==", + "node_modules/jest-watcher/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": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 0.4" + "node": ">=10" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/jest-watcher/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": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=7.0.0" } }, - "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==", + "node_modules/jest-watcher/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-watcher/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-watcher/node_modules/jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "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==", + "node_modules/jest-watcher/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": { - "get-own-enumerable-property-symbols": "^3.0.0", - "is-obj": "^1.0.1", - "is-regexp": "^1.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=8" } }, - "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==", + "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": { - "ansi-regex": "^5.0.1" + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" }, "engines": { - "node": ">=8" + "node": ">= 10.13.0" } }, - "node_modules/strip-bom": { + "node_modules/jest-worker/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", - "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "engines": { "node": ">=8" } }, - "node_modules/strip-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", - "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "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/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/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "bin": { + "jiti": "bin/jiti.js" } }, - "node_modules/strip-indent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", - "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "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": { - "min-indent": "^1.0.0" + "argparse": "^2.0.1" }, - "engines": { - "node": ">=8" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "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-loader": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", - "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==", - "engines": { - "node": ">= 12.13.0" + "node_modules/jscodeshift": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.2.tgz", + "integrity": "sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.23.0", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/preset-flow": "^7.22.15", + "@babel/preset-typescript": "^7.23.0", + "@babel/register": "^7.22.15", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.23.3", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "bin": { + "jscodeshift": "bin/jscodeshift.js" }, "peerDependencies": { - "webpack": "^5.0.0" + "@babel/preset-env": "^7.1.6" + }, + "peerDependenciesMeta": { + "@babel/preset-env": { + "optional": true + } } }, - "node_modules/style-to-js": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.9.tgz", - "integrity": "sha512-6bkwhOlPOx+wKiHVlPTHjUqM4zDKv9pyccehB8zetZL0hhQ7MVp7UEWUsohjiMdxwhSsEdjMrEve+8qzUVmY4w==", + "node_modules/jscodeshift/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { - "style-to-object": "1.0.4" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/style-to-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.4.tgz", - "integrity": "sha512-KyNO6mfijxSnypdvEjeXlhvbGPSh0l1zBJp80n+ncBQvrEbSwBHwZCpo0xz6Q4AKSPfXowWwypCBAUAdfz3rFQ==", + "node_modules/jscodeshift/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "inline-style-parser": "0.2.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/stylehacks": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz", - "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==", + "node_modules/jscodeshift/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { - "browserslist": "^4.21.4", - "postcss-selector-parser": "^6.0.4" + "color-name": "~1.1.4" }, "engines": { - "node": "^10 || ^12 || >=14.0" - }, - "peerDependencies": { - "postcss": "^8.2.15" + "node": ">=7.0.0" } }, - "node_modules/stylis": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + "node_modules/jscodeshift/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "node_modules/sucrase": { - "version": "3.34.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", - "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "node_modules/jscodeshift/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jscodeshift/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/sucrase/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "node_modules/jscodeshift/node_modules/write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "node_modules/jsdoc-type-pratt-parser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", + "integrity": "sha512-YtOli5Cmzy3q4dP26GraSOeAhqecewG04hoO8DY56CH4KJ9Fvv5qKWUCCo3HZob7esJQHCv6/+bnTy72xZZaVQ==", + "dev": true, "engines": { - "node": ">= 6" + "node": ">=12.0.0" } }, - "node_modules/sucrase/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/jsdom": { + "version": "16.7.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz", + "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "abab": "^2.0.5", + "acorn": "^8.2.4", + "acorn-globals": "^6.0.0", + "cssom": "^0.4.4", + "cssstyle": "^2.3.0", + "data-urls": "^2.0.0", + "decimal.js": "^10.2.1", + "domexception": "^2.0.1", + "escodegen": "^2.0.0", + "form-data": "^3.0.0", + "html-encoding-sniffer": "^2.0.1", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.0", + "parse5": "6.0.1", + "saxes": "^5.0.1", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.0.0", + "w3c-hr-time": "^1.0.2", + "w3c-xmlserializer": "^2.0.0", + "webidl-conversions": "^6.1.0", + "whatwg-encoding": "^1.0.5", + "whatwg-mimetype": "^2.3.0", + "whatwg-url": "^8.5.0", + "ws": "^7.4.6", + "xml-name-validator": "^3.0.0" }, "engines": { - "node": "*" + "node": ">=10" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependencies": { + "canvas": "^2.5.0" + }, + "peerDependenciesMeta": { + "canvas": { + "optional": true + } } }, - "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==", + "node_modules/jsdom/node_modules/form-data": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz", + "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==", "dependencies": { - "has-flag": "^3.0.0" + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" }, "engines": { - "node": ">=4" + "node": ">= 6" } }, - "node_modules/supports-hyperlinks": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", - "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "node_modules/jsdom/node_modules/tr46": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz", + "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==", "dependencies": { - "has-flag": "^4.0.0", - "supports-color": "^7.0.0" + "punycode": "^2.1.1" }, "engines": { "node": ">=8" } }, - "node_modules/supports-hyperlinks/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/supports-hyperlinks/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==", + "node_modules/jsdom/node_modules/whatwg-url": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz", + "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==", "dependencies": { - "has-flag": "^4.0.0" + "lodash": "^4.7.0", + "tr46": "^2.1.0", + "webidl-conversions": "^6.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "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" + "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" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4" } }, - "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/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==" }, - "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" - }, + "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": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "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/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==" + }, + "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": { - "svgo": "bin/svgo" + "json5": "lib/cli.js" }, "engines": { - "node": ">=4.0.0" + "node": ">=6" } }, - "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==", + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dependencies": { - "sprintf-js": "~1.0.2" + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "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==", + "node_modules/jsonpath": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/jsonpath/-/jsonpath-1.1.1.tgz", + "integrity": "sha512-l6Cg7jRpixfbgoWgkrl77dgEj8RPvND0wMH6TwQmi9Qs4TFfS9u5cUFnbeKTwj5ga5Y3BTGGNI28k117LJ009w==", "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" + "esprima": "1.2.2", + "static-eval": "2.0.2", + "underscore": "1.12.1" } }, - "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" + "node_modules/jsonpath/node_modules/esprima": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-1.2.2.tgz", + "integrity": "sha512-+JpPZam9w5DuJ3Q67SqsMGtiHKENSMRVoxvArfJZK01/BfLEObtZ6orJa/MtoGNR/rfMgp5837T41PAmTwAv/A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "engines": { + "node": ">=0.4.0" } }, - "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==", + "node_modules/jsonpointer": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-5.0.1.tgz", + "integrity": "sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.3.5", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", + "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", "dependencies": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" + "array-includes": "^3.1.6", + "array.prototype.flat": "^1.3.1", + "object.assign": "^4.1.4", + "object.values": "^1.1.6" + }, + "engines": { + "node": ">=4.0" } }, - "node_modules/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==", + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", "dependencies": { - "dom-serializer": "0", - "domelementtype": "1" + "json-buffer": "3.0.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/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/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/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/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/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "engines": { + "node": ">= 8" } }, - "node_modules/symbol-tree": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", - "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + "node_modules/language-subtag-registry": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.22.tgz", + "integrity": "sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==" }, - "node_modules/synckit": { - "version": "0.8.5", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", - "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", - "dev": true, + "node_modules/language-tags": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", + "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", "dependencies": { - "@pkgr/utils": "^2.3.1", - "tslib": "^2.5.0" + "language-subtag-registry": "^0.3.20" }, "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" + "node": ">=0.10" } }, - "node_modules/tailwind-merge": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.0.0.tgz", - "integrity": "sha512-WO8qghn9yhsldLSg80au+3/gY9E4hFxIvQ3qOmlpXnqpDKoMruKfi/56BbbMg6fHTQJ9QD3cc79PoWqlaQE4rw==", + "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": { - "@babel/runtime": "^7.23.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" + "picocolors": "^1.0.0", + "shell-quote": "^1.8.1" } }, - "node_modules/tailwindcss": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.5.tgz", - "integrity": "sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==", + "node_modules/lazy-universal-dotenv": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lazy-universal-dotenv/-/lazy-universal-dotenv-4.0.0.tgz", + "integrity": "sha512-aXpZJRnTkpK6gQ/z4nk+ZBLd/Qdp118cvPruLSIQzQNRhKwEcdXCOzXuF55VDqIiuAaY3UGZ10DJtvZzDcvsxg==", + "dev": true, "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.0", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.19.1", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" + "app-root-dir": "^1.0.2", + "dotenv": "^16.0.0", + "dotenv-expand": "^10.0.0" }, "engines": { "node": ">=14.0.0" } }, - "node_modules/tailwindcss-animate": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", - "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==", - "peerDependencies": { - "tailwindcss": ">=3.0.0 || insiders" + "node_modules/lazy-universal-dotenv/node_modules/dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" } }, - "node_modules/tailwindcss-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/tailwindcss-dir/-/tailwindcss-dir-4.0.0.tgz", - "integrity": "sha512-G5orTODS8sDQOZqKa2Q4Ey/F4nlxK1mTZm02iKHLxZaNjpboPews/h2KUksC5KbgIVrpmOe1hqcNYZJy07ftwA==", + "node_modules/lazy-universal-dotenv/node_modules/dotenv-expand": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", + "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", "dev": true, - "dependencies": { - "tailwindcss": "^1.0.1" + "engines": { + "node": ">=12" } }, - "node_modules/tailwindcss-dir/node_modules/ansi-styles": { + "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/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/libphonenumber-js": { + "version": "1.10.49", + "resolved": "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.10.49.tgz", + "integrity": "sha512-gvLtyC3tIuqfPzjvYLH9BmVdqzGDiSi4VjtWe2fAgSdBf0yt8yPmbNnRIHNbR5IdtVkm0ayGuzwQKTWmU0hdjQ==" + }, + "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/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "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": "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/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/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "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.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.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "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/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" }, "engines": { - "node": ">=8" + "node": ">=10" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tailwindcss-dir/node_modules/autoprefixer": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", - "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "picocolors": "^0.2.1", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" + "color-convert": "^2.0.1" }, - "bin": { - "autoprefixer": "bin/autoprefixer" + "engines": { + "node": ">=8" }, "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/tailwindcss-dir/node_modules/chalk": { + "node_modules/log-symbols/node_modules/chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", @@ -21319,7 +23828,7 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/tailwindcss-dir/node_modules/color-convert": { + "node_modules/log-symbols/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==", @@ -21331,27 +23840,13 @@ "node": ">=7.0.0" } }, - "node_modules/tailwindcss-dir/node_modules/color-name": { + "node_modules/log-symbols/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/tailwindcss-dir/node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/tailwindcss-dir/node_modules/has-flag": { + "node_modules/log-symbols/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==", @@ -21360,4032 +23855,12991 @@ "node": ">=8" } }, - "node_modules/tailwindcss-dir/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/tailwindcss-dir/node_modules/object-hash": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "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/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, - "engines": { - "node": ">= 6" + "dependencies": { + "get-func-name": "^2.0.1" } }, - "node_modules/tailwindcss-dir/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true + "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/tailwindcss-dir/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, + "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": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.294.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.294.0.tgz", + "integrity": "sha512-V7o0/VECSGbLHn3/1O67FUgBwWB+hmzshrgDVRJQhMh8uj5D3HBuIvhuAmQTtlupILSplwIZg5FTc4tTKMA2SA==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/lz-string": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", + "integrity": "sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "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": ">=6.0.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tailwindcss-dir/node_modules/postcss-js": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz", - "integrity": "sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w==", - "dev": true, - "dependencies": { - "camelcase-css": "^2.0.1", - "postcss": "^7.0.18" + "node_modules/make-dir/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/tailwindcss-dir/node_modules/postcss-nested": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-4.2.3.tgz", - "integrity": "sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw==", - "dev": true, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dependencies": { - "postcss": "^7.0.32", - "postcss-selector-parser": "^6.0.2" + "tmpl": "1.0.5" } }, - "node_modules/tailwindcss-dir/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==", + "node_modules/map-or-similar": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz", + "integrity": "sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==", + "dev": true + }, + "node_modules/markdown-to-jsx": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.5.tgz", + "integrity": "sha512-c8NB0H/ig+FOWssE9be0PKsYbCDhcWEkicxMnpdfUuHbFljnen4LAdgUShOyR/PgO3/qKvt9cwfQ0U/zQvZ44A==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">= 10" + }, + "peerDependencies": { + "react": ">= 0.14.0" } }, - "node_modules/tailwindcss-dir/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==", + "node_modules/match-sorter": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz", + "integrity": "sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==", + "dependencies": { + "@babel/runtime": "^7.12.5", + "remove-accents": "0.4.2" + } + }, + "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==", "dev": true, "dependencies": { - "has-flag": "^4.0.0" + "unist-util-visit": "^2.0.0" }, - "engines": { - "node": ">=8" + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "node_modules/tailwindcss-dir/node_modules/tailwindcss": { - "version": "1.9.6", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-1.9.6.tgz", - "integrity": "sha512-nY8WYM/RLPqGsPEGEV2z63riyQPcHYZUJpAwdyBzVpxQHOHqHE+F/fvbCeXhdF1+TA5l72vSkZrtYCB9hRcwkQ==", + "node_modules/mdast-util-to-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", + "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==", "dev": true, + "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/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.5.3", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", + "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", "dependencies": { - "@fullhuman/postcss-purgecss": "^2.1.2", - "autoprefixer": "^9.4.5", - "browserslist": "^4.12.0", - "bytes": "^3.0.0", - "chalk": "^3.0.0 || ^4.0.0", - "color": "^3.1.2", - "detective": "^5.2.0", - "fs-extra": "^8.0.0", - "html-tags": "^3.1.0", - "lodash": "^4.17.20", - "node-emoji": "^1.8.1", - "normalize.css": "^8.0.1", - "object-hash": "^2.0.3", - "postcss": "^7.0.11", - "postcss-functions": "^3.0.0", - "postcss-js": "^2.0.0", - "postcss-nested": "^4.1.1", - "postcss-selector-parser": "^6.0.0", - "postcss-value-parser": "^4.1.0", - "pretty-hrtime": "^1.0.3", - "reduce-css-calc": "^2.1.6", - "resolve": "^1.14.2" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" + "fs-monkey": "^1.0.4" }, "engines": { - "node": ">=8.9.0" + "node": ">= 4.0.0" } }, - "node_modules/tailwindcss-dir/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" + }, + "node_modules/memoizerific": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", + "integrity": "sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==", "dev": true, - "engines": { - "node": ">= 4.0.0" + "dependencies": { + "map-or-similar": "^1.5.0" } }, - "node_modules/tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "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": ">=6" + "node": ">= 8" } }, - "node_modules/temp-dir": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", - "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "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": ">=8" + "node": ">= 0.6" } }, - "node_modules/tempy": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", - "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "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": { - "is-stream": "^2.0.0", - "temp-dir": "^2.0.0", - "type-fest": "^0.16.0", - "unique-string": "^2.0.0" + "braces": "^3.0.2", + "picomatch": "^2.3.1" }, "engines": { - "node": ">=10" + "node": ">=8.6" + } + }, + "node_modules/microseconds": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/microseconds/-/microseconds-0.2.0.tgz", + "integrity": "sha512-n7DHHMjR1avBbSpsTBj6fmMGh2AGrifVV4e+WYc3Q9lO+xnSZ3NyhcBND3vzzatt05LFhoKFRxrIyklmLlUtyA==" + }, + "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" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=4" } }, - "node_modules/tempy/node_modules/type-fest": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", - "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "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": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/terminal-link": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", - "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "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": { - "ansi-escapes": "^4.2.1", - "supports-hyperlinks": "^2.0.0" + "mime-db": "1.52.0" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">= 0.6" } }, - "node_modules/terser": { - "version": "5.24.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", - "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, + "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": ">=10" + "node": ">=6" } }, - "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==", + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "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": { - "@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" + "schema-utils": "^4.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.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 - } + "webpack": "^5.0.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==", + "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": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "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": ">= 10.13.0" + "node": ">= 12.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==" + "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/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "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": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=8" + "node": "*" } }, - "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/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/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, "dependencies": { - "any-promise": "^1.0.0" + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" } }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, "dependencies": { - "thenify": ">= 3.1.0 < 4" + "yallist": "^4.0.0" }, "engines": { - "node": ">=0.8" + "node": ">=8" } }, - "node_modules/throat": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", - "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, - "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/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/tiny-case": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz", - "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==" + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true }, - "node_modules/titleize": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", - "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", - "dev": true, - "engines": { - "node": ">=12" + "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" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "multicast-dns": "cli.js" } }, - "node_modules/tmpl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", - "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" - }, - "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/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" } }, - "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==", + "node_modules/nano-time": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/nano-time/-/nano-time-1.0.0.tgz", + "integrity": "sha512-flnngywOoQ0lLQOTRNexn2gGSNuM9bKj9RZAWSzhQ+UJYaAFG9bac4DW9VHjUAzrOaIcajHybCTHe/bkvozQqA==", "dependencies": { - "is-number": "^7.0.0" + "big-integer": "^1.6.16" + } + }, + "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": ">=8.0" + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, - "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==", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==" + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==" + }, + "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": ">= 0.6" } }, - "node_modules/toposort": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", - "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" + "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/tough-cookie": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", - "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "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": { - "psl": "^1.1.33", - "punycode": "^2.1.1", - "universalify": "^0.2.0", - "url-parse": "^1.5.3" - }, - "engines": { - "node": ">=6" + "lower-case": "^2.0.2", + "tslib": "^2.0.3" } }, - "node_modules/tough-cookie/node_modules/universalify": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", - "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "node_modules/node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "dev": true + }, + "node_modules/node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "dev": true, + "dependencies": { + "minimatch": "^3.0.2" + }, "engines": { - "node": ">= 4.0.0" + "node": ">= 0.10.5" } }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, - "node_modules/tryer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", - "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + "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==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + } }, - "node_modules/ts-node": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", - "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "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": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" + "whatwg-url": "^5.0.0" }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" + "engines": { + "node": "4.x || >=6.0.0" }, "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" + "encoding": "^0.1.0" }, "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { + "encoding": { "optional": true } } }, - "node_modules/ts-node/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==", + "node_modules/node-fetch-native": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz", + "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==", + "dev": 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==", "engines": { - "node": ">=0.4.0" + "node": ">= 6.13.0" } }, - "node_modules/ts-node/node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" }, - "node_modules/tsconfig-paths": { - "version": "3.14.2", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", - "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" } }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dependencies": { - "minimist": "^1.2.0" - }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, "bin": { - "json5": "lib/cli.js" + "semver": "bin/semver" } }, - "node_modules/tsconfig-paths/node_modules/strip-bom": { + "node_modules/normalize-path": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "engines": { - "node": ">=4" + "node": ">=0.10.0" } }, - "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/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/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dependencies": { - "tslib": "^1.8.1" - }, + "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": ">= 6" + "node": ">=10" }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + "node_modules/normalize.css": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", + "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==", + "dev": true }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "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": { - "prelude-ls": "^1.2.1" + "path-key": "^3.0.0" }, "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "engines": { - "node": ">=4" + "node": ">=8" } }, - "node_modules/type-fest": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.6.0.tgz", - "integrity": "sha512-rLjWJzQFOq4xw7MgJrCZ6T1jIOvvYElXT12r+y0CC6u67hegDHaxcPqb2fZHOGlqxugGQPNB1EnTezjBetkwkw==", - "devOptional": true, - "engines": { - "node": ">=16" + "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/sponsors/sindresorhus" + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "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/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==", + "dev": true }, - "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==", + "node_modules/nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" + }, + "node_modules/nypm": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.8.tgz", + "integrity": "sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1", - "is-typed-array": "^1.1.10" + "citty": "^0.1.6", + "consola": "^3.2.3", + "execa": "^8.0.1", + "pathe": "^1.1.2", + "ufo": "^1.4.0" + }, + "bin": { + "nypm": "dist/cli.mjs" }, "engines": { - "node": ">= 0.4" + "node": "^14.16.0 || >=16.10.0" } }, - "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==", + "node_modules/nypm/node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "for-each": "^0.3.3", - "has-proto": "^1.0.1", - "is-typed-array": "^1.1.10" + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=16.17" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "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" - }, + "node_modules/nypm/node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, "engines": { - "node": ">= 0.4" + "node": ">=16" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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": "4.9.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", - "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, + "node_modules/nypm/node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, "engines": { - "node": ">=4.2.0" + "node": ">=16.17.0" } }, - "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" + "node_modules/nypm/node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/underscore": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", - "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" - }, - "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/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==", + "node_modules/nypm/node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/nypm/node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" + "path-key": "^4.0.0" }, "engines": { - "node": ">=4" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/nypm/node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, "engines": { - "node": ">=4" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "node_modules/nypm/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, "engines": { - "node": ">=4" - } - }, - "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" + "node": ">=12" }, - "engines": { - "node": ">=8" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/universalify": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", - "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "node_modules/nypm/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, "engines": { - "node": ">= 10.0.0" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/unload": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unload/-/unload-2.2.0.tgz", - "integrity": "sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==", - "dependencies": { - "@babel/runtime": "^7.6.2", - "detect-node": "^2.0.4" + "node_modules/nypm/node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "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.8" + "node": ">=0.10.0" } }, - "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/untildify": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", - "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", - "dev": true, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", "engines": { - "node": ">=8" + "node": ">= 6" } }, - "node_modules/upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "engines": { - "node": ">=4", - "yarn": "*" + "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/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" - } - ], + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" }, - "bin": { - "update-browserslist-db": "cli.js" + "engines": { + "node": ">= 0.4" }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dependencies": { - "punycode": "^2.1.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/url-parse": { - "version": "1.5.10", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", - "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", - "dependencies": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "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/use-callback-ref": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", - "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", + "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": { - "tslib": "^2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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" + "node_modules/object.entries": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", + "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } + "engines": { + "node": ">= 0.4" } }, - "node_modules/use-sidecar": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", - "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "node_modules/object.fromentries": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", + "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", "dependencies": { - "detect-node-es": "^1.1.0", - "tslib": "^2.0.0" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/use-sync-external-store": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", - "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "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==", + "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": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" + "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/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/utils-merge": { + "node_modules/object.groupby": { "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" + "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz", + "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1" } }, - "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/object.hasown": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.3.tgz", + "integrity": "sha512-fFI4VcYpRHvSLXxP7yiZOMAd331cPfd2p7PFDVbgUsYOfCT3tICVqXWngbjr4m49OvsBwUBQ6O2uQoJvy3RexA==", + "dependencies": { + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" - }, - "node_modules/v8-to-istanbul": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", - "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "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": { - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^1.6.0", - "source-map": "^0.7.3" + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1" }, "engines": { - "node": ">=10.12.0" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/v8-to-istanbul/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/objectorarray": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.5.tgz", + "integrity": "sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==", + "dev": true }, - "node_modules/vary": { + "node_modules/oblivious-set": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.0.0.tgz", + "integrity": "sha512-z+pI07qxo4c2CulUHCDf9lcqDlMSo72N/4rLUpRXf6fu+q8vjt8y0xS+Tlf8NTJDdTXHbdeO1n3MlbctwEoXZw==" + }, + "node_modules/obuf": { "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/ohash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz", + "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==", + "dev": true + }, + "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/void-elements": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", - "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "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.10.0" + "node": ">= 0.8" } }, - "node_modules/w3c-hr-time": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", - "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", - "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "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": { - "browser-process-hrtime": "^1.0.0" + "wrappy": "1" } }, - "node_modules/w3c-xmlserializer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", - "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dependencies": { - "xml-name-validator": "^3.0.0" + "mimic-fn": "^2.1.0" }, "engines": { - "node": ">=10" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/walker": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", - "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "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": { - "makeerror": "1.0.12" + "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/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" }, "engines": { - "node": ">=10.13.0" + "node": ">= 0.8.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==", + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/web-vitals": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", - "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" - }, - "node_modules/webidl-conversions": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", - "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, "engines": { - "node": ">=10.4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack": { - "version": "5.89.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz", - "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==", + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "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" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=10.13.0" + "node": ">=8" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "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==", + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "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==", + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "color-name": "~1.1.4" }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "engines": { + "node": ">=7.0.0" } }, - "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==", + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.3" + "has-flag": "^4.0.0" }, - "peerDependencies": { - "ajv": "^8.8.2" + "engines": { + "node": ">=8" } }, - "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/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==", + "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": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" + "yocto-queue": "^0.1.0" }, "engines": { - "node": ">= 12.13.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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": { - "@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" + "p-limit": "^3.0.2" }, "engines": { - "node": ">= 12.13.0" + "node": ">=10" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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==", + "dev": true, "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/sindresorhus" } }, - "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==", + "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": { - "fast-deep-equal": "^3.1.3" + "@types/retry": "0.12.0", + "retry": "^0.13.1" }, - "peerDependencies": { - "ajv": "^8.8.2" + "engines": { + "node": ">=8" } }, - "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/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/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==", + "node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "dev": true + }, + "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": { - "@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" + "dot-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "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" + "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" }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "engines": { + "node": ">=6" } }, - "node_modules/webpack-manifest-plugin": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", - "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "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": { - "tapable": "^2.0.0", - "webpack-sources": "^2.2.0" + "@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": ">=12.22.0" + "node": ">=8" }, - "peerDependencies": { - "webpack": "^4.44.2 || ^5.47.0" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-manifest-plugin/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/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==" }, - "node_modules/webpack-manifest-plugin/node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "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": ">=6" + "node": ">= 0.8" } }, - "node_modules/webpack-manifest-plugin/node_modules/webpack-sources": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", - "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "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": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10.13.0" + "no-case": "^3.0.4", + "tslib": "^2.0.3" } }, - "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/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true }, - "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==", + "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": ">=10.13.0" + "node": ">=8" } }, - "node_modules/webpack/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" - }, + "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": ">=8.0.0" + "node": ">=0.10.0" } }, - "node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "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": ">=4.0" + "node": ">=8" } }, - "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==", + "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-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" }, "engines": { - "node": ">= 10.13.0" + "node": ">=16 || 14 >=14.17" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/webpack/node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true, "engines": { - "node": ">=6" + "node": "14 || >=16.14" } }, - "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" - }, + "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/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": ">=0.8.0" + "node": ">=8" } }, - "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==", + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, "engines": { - "node": ">=0.8.0" + "node": "*" } }, - "node_modules/whatwg-encoding": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", - "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "node_modules/peek-stream": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz", + "integrity": "sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==", + "dev": true, "dependencies": { - "iconv-lite": "0.4.24" + "buffer-from": "^1.0.0", + "duplexify": "^3.5.0", + "through2": "^2.0.3" } }, - "node_modules/whatwg-encoding/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" + "node_modules/pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "node_modules/performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==" + }, + "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/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "engines": { "node": ">=0.10.0" } }, - "node_modules/whatwg-fetch": { - "version": "3.6.19", - "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz", - "integrity": "sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==" - }, - "node_modules/whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" - }, - "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/whatwg-url/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/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" - }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "engines": { - "node": ">= 8" + "node": ">= 6" } }, - "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==", + "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": { - "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" + "find-up": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "node_modules/which-builtin-type": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", - "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "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==", "dependencies": { - "function.prototype.name": "^1.1.5", - "has-tostringtag": "^1.0.0", - "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", - "is-finalizationregistry": "^1.0.2", - "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.9" + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">=8" } }, - "node_modules/which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "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==", "dependencies": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" + "p-locate": "^4.1.0" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=8" } }, - "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==", + "node_modules/pkg-dir/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": { - "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" + "p-try": "^2.0.0" }, "engines": { - "node": ">= 0.4" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "engines": { - "node": ">=0.10.0" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/workbox-background-sync": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", - "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "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==", "dependencies": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/workbox-broadcast-update": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", - "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "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": { - "workbox-core": "6.6.0" + "find-up": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "node_modules/workbox-build": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", - "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "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": { - "@apideck/better-ajv-errors": "^0.3.1", - "@babel/core": "^7.11.1", - "@babel/preset-env": "^7.11.0", - "@babel/runtime": "^7.11.2", - "@rollup/plugin-babel": "^5.2.0", - "@rollup/plugin-node-resolve": "^11.2.1", - "@rollup/plugin-replace": "^2.4.1", - "@surma/rollup-plugin-off-main-thread": "^2.2.3", - "ajv": "^8.6.0", - "common-tags": "^1.8.0", - "fast-json-stable-stringify": "^2.1.0", - "fs-extra": "^9.0.1", - "glob": "^7.1.6", - "lodash": "^4.17.20", - "pretty-bytes": "^5.3.0", - "rollup": "^2.43.1", - "rollup-plugin-terser": "^7.0.0", - "source-map": "^0.8.0-beta.0", - "stringify-object": "^3.3.0", - "strip-comments": "^2.0.1", - "tempy": "^0.6.0", - "upath": "^1.2.0", - "workbox-background-sync": "6.6.0", - "workbox-broadcast-update": "6.6.0", - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-google-analytics": "6.6.0", - "workbox-navigation-preload": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-range-requests": "6.6.0", - "workbox-recipes": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0", - "workbox-streams": "6.6.0", - "workbox-sw": "6.6.0", - "workbox-window": "6.6.0" + "locate-path": "^3.0.0" }, "engines": { - "node": ">=10.0.0" + "node": ">=6" } }, - "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", - "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "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": { - "json-schema": "^0.4.0", - "jsonpointer": "^5.0.0", - "leven": "^3.1.0" + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" }, "engines": { - "node": ">=10" - }, - "peerDependencies": { - "ajv": ">=8" + "node": ">=6" } }, - "node_modules/workbox-build/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "node_modules/pkg-up/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": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/workbox-build/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/workbox-build/node_modules/source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "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": { - "whatwg-url": "^7.0.0" + "p-limit": "^2.0.0" }, "engines": { - "node": ">= 8" + "node": ">=6" } }, - "node_modules/workbox-build/node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "dependencies": { - "punycode": "^2.1.0" + "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/workbox-build/node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + "node_modules/platform": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", + "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==" }, - "node_modules/workbox-build/node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "node_modules/pnp-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", + "dev": true, "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" + "ts-pnp": "^1.1.6" + }, + "engines": { + "node": ">=6" } }, - "node_modules/workbox-cacheable-response": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", - "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", - "deprecated": "workbox-background-sync@6.6.0", + "node_modules/polished": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz", + "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==", + "dev": true, "dependencies": { - "workbox-core": "6.6.0" + "@babel/runtime": "^7.17.8" + }, + "engines": { + "node": ">=10" } }, - "node_modules/workbox-core": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", - "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" - }, - "node_modules/workbox-expiration": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", - "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "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": { - "idb": "^7.0.1", - "workbox-core": "6.6.0" + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "node_modules/workbox-google-analytics": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", - "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "node_modules/postcss-attribute-case-insensitive": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-5.0.2.tgz", + "integrity": "sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==", "dependencies": { - "workbox-background-sync": "6.6.0", - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/workbox-navigation-preload": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", - "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", - "dependencies": { - "workbox-core": "6.6.0" + "node_modules/postcss-browser-comments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz", + "integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==", + "engines": { + "node": ">=8" + }, + "peerDependencies": { + "browserslist": ">=4", + "postcss": ">=8" } }, - "node_modules/workbox-precaching": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", - "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "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": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" } }, - "node_modules/workbox-range-requests": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", - "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "node_modules/postcss-clamp": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-clamp/-/postcss-clamp-4.1.0.tgz", + "integrity": "sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==", "dependencies": { - "workbox-core": "6.6.0" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": ">=7.6.0" + }, + "peerDependencies": { + "postcss": "^8.4.6" } }, - "node_modules/workbox-recipes": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", - "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "node_modules/postcss-color-functional-notation": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-4.2.4.tgz", + "integrity": "sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==", "dependencies": { - "workbox-cacheable-response": "6.6.0", - "workbox-core": "6.6.0", - "workbox-expiration": "6.6.0", - "workbox-precaching": "6.6.0", - "workbox-routing": "6.6.0", - "workbox-strategies": "6.6.0" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/workbox-routing": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", - "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "node_modules/postcss-color-hex-alpha": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-8.0.4.tgz", + "integrity": "sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==", "dependencies": { - "workbox-core": "6.6.0" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/workbox-strategies": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", - "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "node_modules/postcss-color-rebeccapurple": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-7.1.1.tgz", + "integrity": "sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==", "dependencies": { - "workbox-core": "6.6.0" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/workbox-streams": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", - "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "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": { - "workbox-core": "6.6.0", - "workbox-routing": "6.6.0" + "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/workbox-sw": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", - "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" - }, - "node_modules/workbox-webpack-plugin": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", - "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "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": { - "fast-json-stable-stringify": "^2.1.0", - "pretty-bytes": "^5.4.1", - "upath": "^1.2.0", - "webpack-sources": "^1.4.3", - "workbox-build": "6.6.0" + "browserslist": "^4.21.4", + "postcss-value-parser": "^4.2.0" }, "engines": { - "node": ">=10.0.0" + "node": "^10 || ^12 || >=14.0" }, "peerDependencies": { - "webpack": "^4.4.0 || ^5.9.0" + "postcss": "^8.2.15" } }, - "node_modules/workbox-webpack-plugin/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/workbox-webpack-plugin/node_modules/webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "node_modules/postcss-custom-media": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-8.0.2.tgz", + "integrity": "sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==", "dependencies": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" } }, - "node_modules/workbox-window": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", - "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "node_modules/postcss-custom-properties": { + "version": "12.1.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-12.1.11.tgz", + "integrity": "sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==", "dependencies": { - "@types/trusted-types": "^2.0.2", - "workbox-core": "6.6.0" + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "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==", + "node_modules/postcss-custom-selectors": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-6.0.3.tgz", + "integrity": "sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==", "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" + "postcss-selector-parser": "^6.0.4" }, "engines": { - "node": ">=10" + "node": "^12 || ^14 || >=16" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.3" } }, - "node_modules/wrap-ansi/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==", + "node_modules/postcss-dir-pseudo-class": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-6.0.5.tgz", + "integrity": "sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==", "dependencies": { - "color-convert": "^2.0.1" + "postcss-selector-parser": "^6.0.10" }, "engines": { - "node": ">=8" + "node": "^12 || ^14 || >=16" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/wrap-ansi/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" + "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": ">=7.0.0" + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "node_modules/wrap-ansi/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/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/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/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/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==", + "node_modules/postcss-double-position-gradients": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-3.1.2.tgz", + "integrity": "sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==", "dependencies": { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5" + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/ws": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", - "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "node_modules/postcss-env-function": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-4.0.6.tgz", + "integrity": "sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=8.3.0" + "node": "^12 || ^14 || >=16" }, "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } + "postcss": "^8.4" } }, - "node_modules/xml-name-validator": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", - "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" - }, - "node_modules/xmlchars": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", - "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + "node_modules/postcss-flexbugs-fixes": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz", + "integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==", + "peerDependencies": { + "postcss": "^8.1.4" + } }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, + "node_modules/postcss-focus-visible": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-6.0.4.tgz", + "integrity": "sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, "engines": { - "node": ">=0.4" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.4" } }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "node_modules/postcss-focus-within": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-5.0.4.tgz", + "integrity": "sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.9" + }, "engines": { - "node": ">=10" + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.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/postcss-font-variant": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz", + "integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==", + "peerDependencies": { + "postcss": "^8.1.0" + } }, - "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/postcss-functions": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-functions/-/postcss-functions-3.0.0.tgz", + "integrity": "sha512-N5yWXWKA+uhpLQ9ZhBRl2bIAdM6oVJYpDojuI1nF2SzXBimJcdjFwiAouBVbO5VuOF3qA6BSFWFc3wXbbj72XQ==", + "dev": true, + "dependencies": { + "glob": "^7.1.2", + "object-assign": "^4.1.1", + "postcss": "^6.0.9", + "postcss-value-parser": "^3.3.0" } }, - "node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "node_modules/postcss-functions/node_modules/postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" }, "engines": { - "node": ">=10" + "node": ">=4.0.0" } }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "engines": { - "node": ">=10" - } + "node_modules/postcss-functions/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "node_modules/postcss-functions/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==", + "dev": true, "engines": { - "node": ">=6" + "node": ">=0.10.0" } }, - "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==", + "node_modules/postcss-gap-properties": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz", + "integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==", "engines": { - "node": ">=10" + "node": "^12 || ^14 || >=16" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "node_modules/yup": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/yup/-/yup-1.3.2.tgz", - "integrity": "sha512-6KCM971iQtJ+/KUaHdrhVr2LDkfhBtFPRnsG1P8F4q3uUVQ2RfEM9xekpha9aA4GXWJevjM10eDcPQ1FfWlmaQ==", + "node_modules/postcss-image-set-function": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-4.0.7.tgz", + "integrity": "sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==", "dependencies": { - "property-expr": "^2.0.5", - "tiny-case": "^1.0.3", - "toposort": "^2.0.2", - "type-fest": "^2.19.0" - } - }, - "node_modules/yup/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==", + "postcss-value-parser": "^4.2.0" + }, "engines": { - "node": ">=12.20" + "node": "^12 || ^14 || >=16" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } - } - }, - "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==" - }, - "@adobe/css-tools": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.1.tgz", - "integrity": "sha512-/62yikz7NLScCGAAST5SHdnjaDJQBDq0M2muyRTpf2VQhw6StBg2ALiu73zSJQ4fMVLA+0uBhBHAle7Wg+2kSg==" - }, - "@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==" }, - "@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" + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" } }, - "@babel/code-frame": { - "version": "7.22.13", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", - "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", - "requires": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" + "node_modules/postcss-initial": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz", + "integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==", + "peerDependencies": { + "postcss": "^8.0.0" } }, - "@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.2", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.2.tgz", - "integrity": "sha512-n7s51eWdaWZ3vGT2tD4T7J6eJs3QoBXydv7vkUM06Bf1cbVD2Kc2UrkzhiQwobfV7NwOnQXYL7UBJ5VPU+RGoQ==", - "requires": { - "@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" - }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" } }, - "@babel/eslint-parser": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz", - "integrity": "sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==", - "requires": { - "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", - "eslint-visitor-keys": "^2.1.0", - "semver": "^6.3.1" + "node_modules/postcss-lab-function": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-4.2.1.tgz", + "integrity": "sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==", + "dependencies": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + "ts-node": { + "optional": true } } }, - "@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "requires": { - "@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": { - "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" + "node_modules/postcss-load-config/node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "engines": { + "node": ">= 14" } }, - "@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" + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" } }, - "@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" + "node_modules/postcss-logical": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz", + "integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==", + "engines": { + "node": "^12 || ^14 || >=16" }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } + "peerDependencies": { + "postcss": "^8.4" } }, - "@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" + "node_modules/postcss-media-minmax": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz", + "integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==", + "engines": { + "node": ">=10.0.0" }, - "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } + "peerDependencies": { + "postcss": "^8.1.0" } }, - "@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" - }, + "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": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@babel/helper-module-transforms": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.0.tgz", - "integrity": "sha512-WhDWw1tdrlT0gMgUJSlX0IQvoO1eN279zrAUbVB+KpV2c3Tylz8+GnKOLllCS6Z/iZQEyVYxhZVUdPTqs2YYPw==", - "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" + "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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" } }, - "@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" + "node_modules/postcss-nesting": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-10.2.0.tgz", + "integrity": "sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==", + "dependencies": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "@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" + "node_modules/postcss-normalize": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize/-/postcss-normalize-10.0.1.tgz", + "integrity": "sha512-+5w18/rDev5mqERcG3W5GZNMJa1eoYYNGo8gB7tEwaos0ajk3ZXAI4mHGcNT47NE+ZnZD1pEpUOFLvltIwmeJA==", + "dependencies": { + "@csstools/normalize.css": "*", + "postcss-browser-comments": "^4", + "sanitize.css": "*" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "browserslist": ">= 4", + "postcss": ">= 8" } }, - "@babel/helper-string-parser": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", - "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==" - }, - "@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" + "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" } }, - "@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" + "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" } }, - "@babel/highlight": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", - "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", - "requires": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "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" } }, - "@babel/parser": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", - "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==" + "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" + } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@babel/plugin-proposal-decorators": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.2.tgz", - "integrity": "sha512-eR0gJQc830fJVGz37oKLvt9W9uUIQSAovUl0e9sJ3YeO09dlcoBVYD3CLrjCj4qHdXmfiyTyFt8yeQYSN5fxLg==", - "requires": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/plugin-syntax-decorators": "^7.22.10" + "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" } }, - "@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" + "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" } }, - "@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" + "node_modules/postcss-opacity-percentage": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/postcss-opacity-percentage/-/postcss-opacity-percentage-1.1.3.tgz", + "integrity": "sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==", + "funding": [ + { + "type": "kofi", + "url": "https://ko-fi.com/mrcgrtz" + }, + { + "type": "liberapay", + "url": "https://liberapay.com/mrcgrtz" + } + ], + "engines": { + "node": "^12 || ^14 || >=16" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", - "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", - "requires": { - "@babel/helper-plugin-utils": "^7.20.2", - "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" + "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" } }, - "@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" + "node_modules/postcss-overflow-shorthand": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-3.0.4.tgz", + "integrity": "sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "@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": {} + "node_modules/postcss-page-break": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz", + "integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==", + "peerDependencies": { + "postcss": "^8" + } }, - "@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" + "node_modules/postcss-place": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-7.0.5.tgz", + "integrity": "sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==", + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "@babel/plugin-syntax-bigint": { + "node_modules/postcss-preset-env": { "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", - "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-7.8.3.tgz", + "integrity": "sha512-T1LgRm5uEVFSEF83vHZJV2z19lHg4yJuZ6gXZZkqVsqv63nlr6zabMH3l4Pc01FQCyfWVrh2GaUeCVy9Po+Aag==", + "dependencies": { + "@csstools/postcss-cascade-layers": "^1.1.1", + "@csstools/postcss-color-function": "^1.1.1", + "@csstools/postcss-font-format-keywords": "^1.0.1", + "@csstools/postcss-hwb-function": "^1.0.2", + "@csstools/postcss-ic-unit": "^1.0.1", + "@csstools/postcss-is-pseudo-class": "^2.0.7", + "@csstools/postcss-nested-calc": "^1.0.0", + "@csstools/postcss-normalize-display-values": "^1.0.1", + "@csstools/postcss-oklab-function": "^1.1.1", + "@csstools/postcss-progressive-custom-properties": "^1.3.0", + "@csstools/postcss-stepped-value-functions": "^1.0.1", + "@csstools/postcss-text-decoration-shorthand": "^1.0.0", + "@csstools/postcss-trigonometric-functions": "^1.0.2", + "@csstools/postcss-unset-value": "^1.0.2", + "autoprefixer": "^10.4.13", + "browserslist": "^4.21.4", + "css-blank-pseudo": "^3.0.3", + "css-has-pseudo": "^3.0.4", + "css-prefers-color-scheme": "^6.0.3", + "cssdb": "^7.1.0", + "postcss-attribute-case-insensitive": "^5.0.2", + "postcss-clamp": "^4.1.0", + "postcss-color-functional-notation": "^4.2.4", + "postcss-color-hex-alpha": "^8.0.4", + "postcss-color-rebeccapurple": "^7.1.1", + "postcss-custom-media": "^8.0.2", + "postcss-custom-properties": "^12.1.10", + "postcss-custom-selectors": "^6.0.3", + "postcss-dir-pseudo-class": "^6.0.5", + "postcss-double-position-gradients": "^3.1.2", + "postcss-env-function": "^4.0.6", + "postcss-focus-visible": "^6.0.4", + "postcss-focus-within": "^5.0.4", + "postcss-font-variant": "^5.0.0", + "postcss-gap-properties": "^3.0.5", + "postcss-image-set-function": "^4.0.7", + "postcss-initial": "^4.0.1", + "postcss-lab-function": "^4.2.1", + "postcss-logical": "^5.0.4", + "postcss-media-minmax": "^5.0.0", + "postcss-nesting": "^10.2.0", + "postcss-opacity-percentage": "^1.1.2", + "postcss-overflow-shorthand": "^3.0.4", + "postcss-page-break": "^3.0.4", + "postcss-place": "^7.0.5", + "postcss-pseudo-class-any-link": "^7.1.6", + "postcss-replace-overflow-wrap": "^4.0.0", + "postcss-selector-not": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "@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" + "node_modules/postcss-pseudo-class-any-link": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-7.1.6.tgz", + "integrity": "sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "@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" + "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" } }, - "@babel/plugin-syntax-decorators": { - "version": "7.22.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.10.tgz", - "integrity": "sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "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" } }, - "@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" + "node_modules/postcss-replace-overflow-wrap": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz", + "integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==", + "peerDependencies": { + "postcss": "^8.0.3" } }, - "@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" + "node_modules/postcss-selector-not": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-6.0.1.tgz", + "integrity": "sha512-1i9affjAe9xu/y9uqWH+tD4r6/hDaXJruk8xn2x1vzxC2U3J3LKO3zJW4CyxlNhA56pADJ/djpEwpH1RClI2rQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.10" + }, + "engines": { + "node": "^12 || ^14 || >=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + }, + "peerDependencies": { + "postcss": "^8.2" } }, - "@babel/plugin-syntax-flow": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.22.5.tgz", - "integrity": "sha512-9RdCl0i+q0QExayk2nOS7853w08yLucnnPML6EN9S8fgMPVtdLDCdx/cOQ/i44Lb9UeQX9A35yaqBBOMMZxPxQ==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5" + "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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" - } + "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==" }, - "@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" + "node_modules/postcss-svgo/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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" - } + "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==" }, - "@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" + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "engines": { + "node": ">= 0.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" + "node_modules/prettier": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz", + "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "@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" + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.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" + "node_modules/prettier-plugin-tailwindcss": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.12.tgz", + "integrity": "sha512-o74kiDBVE73oHW+pdkFSluHBL3cYEvru5YgEqNkBMFF7Cjv+w1vI565lTlfoJT4VLWDe0FMtZ7FkE/7a4pMXSQ==", + "dev": true, + "engines": { + "node": ">=14.21.3" + }, + "peerDependencies": { + "@ianvs/prettier-plugin-sort-imports": "*", + "@prettier/plugin-pug": "*", + "@shopify/prettier-plugin-liquid": "*", + "@trivago/prettier-plugin-sort-imports": "*", + "prettier": "^3.0", + "prettier-plugin-astro": "*", + "prettier-plugin-css-order": "*", + "prettier-plugin-import-sort": "*", + "prettier-plugin-jsdoc": "*", + "prettier-plugin-marko": "*", + "prettier-plugin-organize-attributes": "*", + "prettier-plugin-organize-imports": "*", + "prettier-plugin-sort-imports": "*", + "prettier-plugin-style-order": "*", + "prettier-plugin-svelte": "*" + }, + "peerDependenciesMeta": { + "@ianvs/prettier-plugin-sort-imports": { + "optional": true + }, + "@prettier/plugin-pug": { + "optional": true + }, + "@shopify/prettier-plugin-liquid": { + "optional": true + }, + "@trivago/prettier-plugin-sort-imports": { + "optional": true + }, + "prettier-plugin-astro": { + "optional": true + }, + "prettier-plugin-css-order": { + "optional": true + }, + "prettier-plugin-import-sort": { + "optional": true + }, + "prettier-plugin-jsdoc": { + "optional": true + }, + "prettier-plugin-marko": { + "optional": true + }, + "prettier-plugin-organize-attributes": { + "optional": true + }, + "prettier-plugin-organize-imports": { + "optional": true + }, + "prettier-plugin-sort-imports": { + "optional": true + }, + "prettier-plugin-style-order": { + "optional": true + }, + "prettier-plugin-svelte": { + "optional": true + }, + "prettier-plugin-twig-melody": { + "optional": true + } } }, - "@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" + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@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" + "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" } }, - "@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" + "node_modules/pretty-format": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", + "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", + "dependencies": { + "ansi-regex": "^5.0.1", + "ansi-styles": "^5.0.0", + "react-is": "^17.0.1" + }, + "engines": { + "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, - "@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" + "node_modules/pretty-format/node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@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" + "node_modules/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", + "dev": true, + "engines": { + "node": ">= 0.8" } }, - "@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" + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true, + "engines": { + "node": ">= 0.6.0" } }, - "@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" - } + "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==" }, - "@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" + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" } }, - "@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" + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "dependencies": { + "asap": "~2.0.6" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" - } + "node_modules/prop-types/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==" }, - "@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" - } + "node_modules/property-expr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/property-expr/-/property-expr-2.0.6.tgz", + "integrity": "sha512-SVtmxhRE/CGkn3eZY1T6pC8Nln6Fr/lu1mKSgRud0eC73whjGfoAogbn78LkD8aFL0zz3bAFerKSnOl7NlErBA==" }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" - } + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" }, - "@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" - } + "node_modules/psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, - "@babel/plugin-transform-flow-strip-types": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.22.5.tgz", - "integrity": "sha512-tujNbZdxdG0/54g/oua8ISToaXTFBf8EnSb5PgQSciIXWOWKX3S4+JR7ZE9ol8FZwf9kxitzkGQ+QWeov/mCiA==", - "requires": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-flow": "^7.22.5" + "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==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "@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" + "node_modules/pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "dependencies": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" } }, - "@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" + "node_modules/pumpify/node_modules/pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" } }, - "@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" + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" } }, - "@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" + "node_modules/puppeteer-core": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-2.1.1.tgz", + "integrity": "sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w==", + "dev": true, + "dependencies": { + "@types/mime-types": "^2.1.0", + "debug": "^4.1.0", + "extract-zip": "^1.6.6", + "https-proxy-agent": "^4.0.0", + "mime": "^2.0.3", + "mime-types": "^2.1.25", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^2.6.1", + "ws": "^6.1.0" + }, + "engines": { + "node": ">=8.16.0" } }, - "@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" + "node_modules/puppeteer-core/node_modules/agent-base": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", + "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", + "dev": true, + "engines": { + "node": ">= 6.0.0" } }, - "@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" + "node_modules/puppeteer-core/node_modules/https-proxy-agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", + "dev": true, + "dependencies": { + "agent-base": "5", + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "@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" + "node_modules/puppeteer-core/node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" } }, - "@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" + "node_modules/puppeteer-core/node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "@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" + "node_modules/puppeteer-core/node_modules/ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "dependencies": { + "async-limiter": "~1.0.0" } }, - "@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" - } + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ], + "optional": true, + "peer": true }, - "@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" + "node_modules/purgecss": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz", + "integrity": "sha512-BE5CROfVGsx2XIhxGuZAT7rTH9lLeQx/6M0P7DTXQH4IUc3BBzs9JUzt4yzGf3JrH9enkeq6YJBe9CTtkm1WmQ==", + "dev": true, + "dependencies": { + "commander": "^5.0.0", + "glob": "^7.0.0", + "postcss": "7.0.32", + "postcss-selector-parser": "^6.0.2" + }, + "bin": { + "purgecss": "bin/purgecss" } }, - "@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" + "node_modules/purgecss/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==", + "dev": true, + "engines": { + "node": ">= 6" } }, - "@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" + "node_modules/purgecss/node_modules/postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" } }, - "@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" + "node_modules/purgecss/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==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "@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" + "node_modules/purgecss/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" - } + "node_modules/querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" }, - "@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" + "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/raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "dependencies": { + "performance-now": "^2.1.0" } }, - "@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" + "node_modules/ramda": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", + "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/ramda" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "node_modules/raw-body/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" } }, - "@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" + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "@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" + "node_modules/react-app-polyfill": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/react-app-polyfill/-/react-app-polyfill-3.0.0.tgz", + "integrity": "sha512-sZ41cxiU5llIB003yxxQBYrARBqe0repqPTTYBTmMqTz9szeBbE37BehCE891NZsmdZqqP+xWKdT3eo3vOzN8w==", + "dependencies": { + "core-js": "^3.19.2", + "object-assign": "^4.1.1", + "promise": "^8.1.0", + "raf": "^3.4.1", + "regenerator-runtime": "^0.13.9", + "whatwg-fetch": "^3.6.2" + }, + "engines": { + "node": ">=14" } }, - "@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" + "node_modules/react-app-polyfill/node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==" + }, + "node_modules/react-async-script": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/react-async-script/-/react-async-script-1.2.0.tgz", + "integrity": "sha512-bCpkbm9JiAuMGhkqoAiC0lLkb40DJ0HOEJIku+9JDjxX3Rcs+ztEOG13wbrOskt3n2DTrjshhaQ/iay+SnGg5Q==", + "dependencies": { + "hoist-non-react-statics": "^3.3.0", + "prop-types": "^15.5.0" + }, + "peerDependencies": { + "react": ">=16.4.1" } }, - "@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" + "node_modules/react-colorful": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz", + "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==", + "dev": true, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" } }, - "@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" - }, + "node_modules/react-dev-inspector": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-dev-inspector/-/react-dev-inspector-2.0.0.tgz", + "integrity": "sha512-pNNGAsk9G69q0u9HNSeLn/FHS+8VawYZxnIJikHfFcCnCaAXFaXofn9TUum23OW/rSB59Wx0Vma2Wn9l6WDkUQ==", + "dev": true, "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } + "@react-dev-inspector/babel-plugin": "2.0.0", + "@react-dev-inspector/middleware": "2.0.0", + "@react-dev-inspector/umi3-plugin": "2.0.0", + "@react-dev-inspector/umi4-plugin": "2.0.0", + "@react-dev-inspector/vite-plugin": "2.0.0", + "@types/react-reconciler": ">=0.26.6", + "hotkeys-js": "^3.8.1", + "picocolors": "1.0.0", + "react-dev-utils": "12.0.1" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "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" } }, - "@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" + "node_modules/react-docgen": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-7.0.3.tgz", + "integrity": "sha512-i8aF1nyKInZnANZ4uZrH49qn1paRgBZ7wZiCNBMnenlPzEv0mRl+ShpTVEI6wZNl8sSc79xZkivtgLKQArcanQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.18.9", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9", + "@types/babel__core": "^7.18.0", + "@types/babel__traverse": "^7.18.0", + "@types/doctrine": "^0.0.9", + "@types/resolve": "^1.20.2", + "doctrine": "^3.0.0", + "resolve": "^1.22.1", + "strip-indent": "^4.0.0" + }, + "engines": { + "node": ">=16.14.0" } }, - "@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" + "node_modules/react-docgen-typescript": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz", + "integrity": "sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==", + "dev": true, + "peerDependencies": { + "typescript": ">= 4.3.x" } }, - "@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" + "node_modules/react-docgen/node_modules/@types/doctrine": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz", + "integrity": "sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==", + "dev": true + }, + "node_modules/react-docgen/node_modules/@types/resolve": { + "version": "1.20.6", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz", + "integrity": "sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==", + "dev": true + }, + "node_modules/react-docgen/node_modules/strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@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" + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "node_modules/react-element-to-jsx-string": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/react-element-to-jsx-string/-/react-element-to-jsx-string-15.0.0.tgz", + "integrity": "sha512-UDg4lXB6BzlobN60P8fHWVPX3Kyw8ORrTeBtClmIlGdkOOE+GYQSFvmEU5iLLpwp/6v42DINwNcwOhOLfQ//FQ==", + "dev": true, "dependencies": { - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" - } + "@base2/pretty-print-object": "1.0.1", + "is-plain-object": "5.0.0", + "react-is": "18.1.0" + }, + "peerDependencies": { + "react": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0", + "react-dom": "^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0" } }, - "@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" + "node_modules/react-element-to-jsx-string/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==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "@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/react-element-to-jsx-string/node_modules/react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true }, - "@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" - } + "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==" }, - "@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" + "node_modules/react-google-recaptcha": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/react-google-recaptcha/-/react-google-recaptcha-3.1.0.tgz", + "integrity": "sha512-cYW2/DWas8nEKZGD7SCu9BSuVz8iOcOLHChHyi7upUuVhkpkhYG/6N3KDiTQ3XAiZ2UAZkfvYKMfAHOzBOcGEg==", + "dependencies": { + "prop-types": "^15.5.0", + "react-async-script": "^1.2.0" + }, + "peerDependencies": { + "react": ">=16.4.1" } }, - "@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "requires": { - "@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" + "node_modules/react-hook-form": { + "version": "7.48.2", + "resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.48.2.tgz", + "integrity": "sha512-H0T2InFQb1hX7qKtDIZmvpU1Xfn/bdahWBN1fH19gSe4bBEqTfmlr7H3XWTaVtiK4/tpPaI1F3355GPMZYge+A==", + "engines": { + "node": ">=12.22.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/react-hook-form" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18" } }, - "@babel/types": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", - "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", - "requires": { - "@babel/helper-string-parser": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" + "node_modules/react-i18next": { + "version": "13.3.1", + "resolved": "https://registry.npmjs.org/react-i18next/-/react-i18next-13.3.1.tgz", + "integrity": "sha512-JAtYREK879JXaN9GdzfBI4yJeo/XyLeXWUsRABvYXiFUakhZJ40l+kaTo+i+A/3cKIED41kS/HAbZ5BzFtq/Og==", + "dependencies": { + "@babel/runtime": "^7.22.5", + "html-parse-stringify": "^3.0.1" + }, + "peerDependencies": { + "i18next": ">= 23.2.3", + "react": ">= 16.8.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true + } } }, - "@bcoe/v8-coverage": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", - "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==" }, - "@craco/craco": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@craco/craco/-/craco-7.1.0.tgz", - "integrity": "sha512-oRAcPIKYrfPXp9rSzlsDNeOaVtDiKhoyqSXUoqiK24jCkHr4T8m/a2f74yXIzCbIheoUWDOIfWZyRgFgT+cpqA==", - "requires": { - "autoprefixer": "^10.4.12", - "cosmiconfig": "^7.0.1", - "cosmiconfig-typescript-loader": "^1.0.0", - "cross-spawn": "^7.0.3", - "lodash": "^4.17.21", - "semver": "^7.3.7", - "webpack-merge": "^5.8.0" + "node_modules/react-pin-input": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/react-pin-input/-/react-pin-input-1.3.1.tgz", + "integrity": "sha512-/xlrm2GDryrZfZe2DMA8EadxXeOMzkx7lcvQaHFPWbw/v2f9mMbM+tYPgeBsqex1omKMtjZbT3XCqDpBrummpw==", + "peerDependencies": { + "prop-types": "^15.6.0", + "react": "^0.14.0 || ^15.4.2 || ^16.2.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^0.14.0 || ^15.4.2 || ^16.2.0 || ^17.0.0 || ^18.0.0" } }, - "@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "requires": { - "@jridgewell/trace-mapping": "0.3.9" - }, + "node_modules/react-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.2.tgz", + "integrity": "sha512-+PbtI3VuDV0l6CleQMsx2gtK0JZbZKbpdu5ynr+lbsuvtmgbNcS3VM0tuY2QjFNOcWxvXeHjDpy42RO+4U2rug==" + }, + "node_modules/react-query": { + "version": "3.39.3", + "resolved": "https://registry.npmjs.org/react-query/-/react-query-3.39.3.tgz", + "integrity": "sha512-nLfLz7GiohKTJDuT4us4X3h/8unOh+00MLb2yJoGTPjxKs2bc1iDhkNx2bd5MKklXnOD3NrVZ+J2UXujA5In4g==", "dependencies": { - "@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } + "@babel/runtime": "^7.5.5", + "broadcast-channel": "^3.4.1", + "match-sorter": "^6.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + }, + "react-native": { + "optional": true } } }, - "@csstools/normalize.css": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", - "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" + "node_modules/react-refresh": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.11.0.tgz", + "integrity": "sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==", + "engines": { + "node": ">=0.10.0" + } }, - "@csstools/postcss-cascade-layers": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", - "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", - "requires": { - "@csstools/selector-specificity": "^2.0.2", - "postcss-selector-parser": "^6.0.10" + "node_modules/react-remove-scroll": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", + "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "dependencies": { + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "@csstools/postcss-color-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", - "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "node_modules/react-remove-scroll-bar": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz", + "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "@csstools/postcss-font-format-keywords": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", - "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", - "requires": { - "postcss-value-parser": "^4.2.0" + "node_modules/react-router": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.18.0.tgz", + "integrity": "sha512-vk2y7Dsy8wI02eRRaRmOs9g2o+aE72YCx5q9VasT1N9v+lrdB79tIqrjMfByHiY5+6aYkH2rUa5X839nwWGPDg==", + "dependencies": { + "@remix-run/router": "1.11.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8" } }, - "@csstools/postcss-hwb-function": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", - "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", - "requires": { - "postcss-value-parser": "^4.2.0" + "node_modules/react-router-dom": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.18.0.tgz", + "integrity": "sha512-Ubrue4+Ercc/BoDkFQfc6og5zRQ4A8YxSO3Knsne+eRbZ+IepAsK249XBH/XaFuOYOYr3L3r13CXTLvYt5JDjw==", + "dependencies": { + "@remix-run/router": "1.11.0", + "react-router": "6.18.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "react": ">=16.8", + "react-dom": ">=16.8" } }, - "@csstools/postcss-ic-unit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", - "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "node_modules/react-scripts": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-scripts/-/react-scripts-5.0.1.tgz", + "integrity": "sha512-8VAmEm/ZAwQzJ+GOMLbBsTdDKOpuZh7RPs0UymvBR2vRk4iZWCskjbFnxqjrzoIvlNNRZ3QJFx6/qDSi6zSnaQ==", + "dependencies": { + "@babel/core": "^7.16.0", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.3", + "@svgr/webpack": "^5.5.0", + "babel-jest": "^27.4.2", + "babel-loader": "^8.2.3", + "babel-plugin-named-asset-import": "^0.3.8", + "babel-preset-react-app": "^10.0.1", + "bfj": "^7.0.2", + "browserslist": "^4.18.1", + "camelcase": "^6.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "css-loader": "^6.5.1", + "css-minimizer-webpack-plugin": "^3.2.0", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "eslint": "^8.3.0", + "eslint-config-react-app": "^7.0.1", + "eslint-webpack-plugin": "^3.1.1", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "html-webpack-plugin": "^5.5.0", + "identity-obj-proxy": "^3.0.0", + "jest": "^27.4.3", + "jest-resolve": "^27.4.2", + "jest-watch-typeahead": "^1.0.0", + "mini-css-extract-plugin": "^2.4.5", + "postcss": "^8.4.4", + "postcss-flexbugs-fixes": "^5.0.2", + "postcss-loader": "^6.2.1", + "postcss-normalize": "^10.0.1", + "postcss-preset-env": "^7.0.1", + "prompts": "^2.4.2", + "react-app-polyfill": "^3.0.0", + "react-dev-utils": "^12.0.1", + "react-refresh": "^0.11.0", + "resolve": "^1.20.0", + "resolve-url-loader": "^4.0.0", + "sass-loader": "^12.3.0", + "semver": "^7.3.5", + "source-map-loader": "^3.0.0", + "style-loader": "^3.3.1", + "tailwindcss": "^3.0.2", + "terser-webpack-plugin": "^5.2.5", + "webpack": "^5.64.4", + "webpack-dev-server": "^4.6.0", + "webpack-manifest-plugin": "^4.0.2", + "workbox-webpack-plugin": "^6.4.1" + }, + "bin": { + "react-scripts": "bin/react-scripts.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + }, + "peerDependencies": { + "react": ">= 16", + "typescript": "^3.2.1 || ^4" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "@csstools/postcss-is-pseudo-class": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", - "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", - "requires": { - "@csstools/selector-specificity": "^2.0.0", - "postcss-selector-parser": "^6.0.10" + "node_modules/react-scripts/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" } }, - "@csstools/postcss-nested-calc": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", - "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", - "requires": { - "postcss-value-parser": "^4.2.0" + "node_modules/react-select": { + "version": "5.7.7", + "resolved": "https://registry.npmjs.org/react-select/-/react-select-5.7.7.tgz", + "integrity": "sha512-HhashZZJDRlfF/AKj0a0Lnfs3sRdw/46VJIRd8IbB9/Ovr74+ZIwkAdSBjSPXsFMG+u72c5xShqwLSKIJllzqw==", + "dependencies": { + "@babel/runtime": "^7.12.0", + "@emotion/cache": "^11.4.0", + "@emotion/react": "^11.8.1", + "@floating-ui/dom": "^1.0.1", + "@types/react-transition-group": "^4.4.0", + "memoize-one": "^6.0.0", + "prop-types": "^15.6.0", + "react-transition-group": "^4.3.0", + "use-isomorphic-layout-effect": "^1.1.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, - "@csstools/postcss-normalize-display-values": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", - "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", - "requires": { - "postcss-value-parser": "^4.2.0" + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, - "@csstools/postcss-oklab-function": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", - "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", - "requires": { - "@csstools/postcss-progressive-custom-properties": "^1.1.0", - "postcss-value-parser": "^4.2.0" + "node_modules/react-timer-hook": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/react-timer-hook/-/react-timer-hook-3.0.7.tgz", + "integrity": "sha512-ATpNcU+PQRxxfNBPVqce2+REtjGAlwmfoNQfcEBMZFxPj0r3GYdKhyPHdStvqrejejEi0QvqaJZjy2lBlFvAsA==", + "peerDependencies": { + "react": ">=16.8.0" } }, - "@csstools/postcss-progressive-custom-properties": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", - "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", - "requires": { - "postcss-value-parser": "^4.2.0" + "node_modules/react-tooltip": { + "version": "5.22.0", + "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.22.0.tgz", + "integrity": "sha512-xbJBRY1LyHYd7j00UeBOqZR9SH/1S47Pe+m8vM1a+ZXglkeSNnBt5YYoPttU/amjC/VZJAPQ8+2B9x8Fl8U1qA==", + "dependencies": { + "@floating-ui/dom": "^1.0.0", + "classnames": "^2.3.0" + }, + "peerDependencies": { + "react": ">=16.14.0", + "react-dom": ">=16.14.0" } }, - "@csstools/postcss-stepped-value-functions": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", - "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", - "requires": { - "postcss-value-parser": "^4.2.0" + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" } }, - "@csstools/postcss-text-decoration-shorthand": { + "node_modules/read-cache": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", - "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", - "requires": { - "postcss-value-parser": "^4.2.0" + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" } }, - "@csstools/postcss-trigonometric-functions": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", - "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", - "requires": { - "postcss-value-parser": "^4.2.0" + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" } }, - "@csstools/postcss-unset-value": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", - "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", - "requires": {} - }, - "@csstools/selector-specificity": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", - "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", - "requires": {} - }, - "@emotion/babel-plugin": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", - "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", - "requires": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/serialize": "^1.1.2", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.2.0" - }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, "dependencies": { - "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==" - }, - "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==" - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" - } + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@emotion/cache": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", - "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", - "requires": { - "@emotion/memoize": "^0.8.1", - "@emotion/sheet": "^1.2.2", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", - "stylis": "4.2.0" + "node_modules/read-pkg-up/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==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "@emotion/hash": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", - "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" - }, - "@emotion/memoize": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", - "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" - }, - "@emotion/react": { - "version": "11.11.1", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz", - "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==", - "requires": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/cache": "^11.11.0", - "@emotion/serialize": "^1.1.2", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", - "hoist-non-react-statics": "^3.3.1" + "node_modules/read-pkg-up/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==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" } }, - "@emotion/serialize": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", - "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", - "requires": { - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/unitless": "^0.8.1", - "@emotion/utils": "^1.2.1", - "csstype": "^3.0.2" + "node_modules/read-pkg-up/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==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@emotion/sheet": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", - "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + "node_modules/read-pkg-up/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==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } }, - "@emotion/unitless": { + "node_modules/read-pkg-up/node_modules/type-fest": { "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", - "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", - "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", - "requires": {} + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "@emotion/utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", - "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + "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" + } }, - "@emotion/weak-memoize": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", - "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + "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" + } }, - "@es-joy/jsdoccomment": { - "version": "0.40.1", - "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz", - "integrity": "sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==", + "node_modules/recast": { + "version": "0.23.6", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.6.tgz", + "integrity": "sha512-9FHoNjX1yjuesMwuthAmPKabxYQdOgihFYmT5ebXfYGBcnqXZf3WOVz+5foEZ8Y83P4ZY6yQD5GMmtV+pgCCAQ==", "dev": true, - "requires": { - "comment-parser": "1.4.0", - "esquery": "^1.5.0", - "jsdoc-type-pratt-parser": "~4.0.0" + "dependencies": { + "ast-types": "^0.16.1", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tiny-invariant": "^1.3.3", + "tslib": "^2.0.1" + }, + "engines": { + "node": ">= 4" } }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "requires": { - "eslint-visitor-keys": "^3.3.0" + "node_modules/recast/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==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "@eslint-community/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==" + "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" + } }, - "@eslint/eslintrc": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", - "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", - "requires": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/reduce-css-calc": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-2.1.8.tgz", + "integrity": "sha512-8liAVezDmUcH+tdzoEGrhfbGcP7nOV4NkGE3a74+qqvE7nt9i4sKLGBuZNOnpI4WiGksiNPklZxva80061QiPg==", + "dev": true, "dependencies": { - "globals": { - "version": "13.23.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", - "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", - "requires": { - "type-fest": "^0.20.2" - } - }, - "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==" - } + "css-unit-converter": "^1.1.1", + "postcss-value-parser": "^3.3.0" } }, - "@eslint/js": { - "version": "8.53.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz", - "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==" + "node_modules/reduce-css-calc/node_modules/postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true }, - "@floating-ui/core": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz", - "integrity": "sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==", - "requires": { - "@floating-ui/utils": "^0.1.3" + "node_modules/reflect.getprototypeof": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", + "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "globalthis": "^1.0.3", + "which-builtin-type": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "@floating-ui/dom": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", - "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", - "requires": { - "@floating-ui/core": "^1.4.2", - "@floating-ui/utils": "^0.1.3" + "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" } }, - "@floating-ui/react-dom": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.2.tgz", - "integrity": "sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ==", - "requires": { - "@floating-ui/dom": "^1.5.1" + "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" } }, - "@floating-ui/utils": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz", - "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==" + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" }, - "@formatjs/ecma402-abstract": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.18.0.tgz", - "integrity": "sha512-PEVLoa3zBevWSCZzPIM/lvPCi8P5l4G+NXQMc/CjEiaCWgyHieUoo0nM7Bs0n/NbuQ6JpXEolivQ9pKSBHaDlA==", - "requires": { - "@formatjs/intl-localematcher": "0.5.2", - "tslib": "^2.4.0" + "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" } }, - "@formatjs/fast-memoize": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz", - "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==", - "requires": { - "tslib": "^2.4.0" + "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" } }, - "@formatjs/icu-messageformat-parser": { - "version": "2.7.3", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.3.tgz", - "integrity": "sha512-X/jy10V9S/vW+qlplqhMUxR8wErQ0mmIYSq4mrjpjDl9mbuGcCILcI1SUYkL5nlM4PJqpc0KOS0bFkkJNPxYRw==", - "requires": { - "@formatjs/ecma402-abstract": "1.18.0", - "@formatjs/icu-skeleton-parser": "1.7.0", - "tslib": "^2.4.0" + "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" } }, - "@formatjs/icu-skeleton-parser": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.7.0.tgz", - "integrity": "sha512-Cfdo/fgbZzpN/jlN/ptQVe0lRHora+8ezrEeg2RfrNjyp+YStwBy7cqDY8k5/z2LzXg6O0AdzAV91XS0zIWv+A==", - "requires": { - "@formatjs/ecma402-abstract": "1.18.0", - "tslib": "^2.4.0" + "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" } }, - "@formatjs/intl-localematcher": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.2.tgz", - "integrity": "sha512-txaaE2fiBMagLrR4jYhxzFO6wEdEG4TPMqrzBAcbr4HFUYzH/YC+lg6OIzKCHm8WgDdyQevxbAAV1OgcXctuGw==", - "requires": { - "tslib": "^2.4.0" + "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" } }, - "@fullhuman/postcss-purgecss": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-2.3.0.tgz", - "integrity": "sha512-qnKm5dIOyPGJ70kPZ5jiz0I9foVOic0j+cOzNDoo8KoCf6HjicIZ99UfO2OmE7vCYSKAAepEwJtNzpiiZAh9xw==", + "node_modules/remark-external-links": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/remark-external-links/-/remark-external-links-8.0.0.tgz", + "integrity": "sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA==", "dev": true, - "requires": { - "postcss": "7.0.32", - "purgecss": "^2.3.0" + "dependencies": { + "extend": "^3.0.0", + "is-absolute-url": "^3.0.0", + "mdast-util-definitions": "^4.0.0", + "space-separated-tokens": "^1.0.0", + "unist-util-visit": "^2.0.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-slug": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-6.1.0.tgz", + "integrity": "sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ==", + "dev": true, "dependencies": { - "postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "github-slugger": "^1.0.0", + "mdast-util-to-string": "^1.0.0", + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" } }, - "@hookform/resolvers": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.3.2.tgz", - "integrity": "sha512-Tw+GGPnBp+5DOsSg4ek3LCPgkBOuOgS5DsDV7qsWNH9LZc433kgsWICjlsh2J9p04H2K66hsXPPb9qn9ILdUtA==", - "requires": {} + "node_modules/remove-accents": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", + "integrity": "sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==" }, - "@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", - "requires": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "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" } }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" - }, - "@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==" + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "engines": { + "node": ">=0.10.0" + } }, - "@ianvs/prettier-plugin-sort-imports": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@ianvs/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.1.1.tgz", + "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/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-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "engines": { + "node": ">=8" + } + }, + "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-url-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-4.0.0.tgz", + "integrity": "sha512-05VEMczVREcbtT7Bz+C+96eUO5HDNvdthIiMB34t7FcF8ehcu4wC0sSgPUubs3XW2Q3CNLJk/BJrCU9wVRymiA==", + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^7.0.35", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=8.9" + }, + "peerDependencies": { + "rework": "1.0.1", + "rework-visit": "1.0.0" + }, + "peerDependenciesMeta": { + "rework": { + "optional": true + }, + "rework-visit": { + "optional": true + } + } + }, + "node_modules/resolve-url-loader/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/resolve-url-loader/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/resolve-url-loader/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==" + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/resolve-url-loader/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/resolve.exports": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", + "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "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/rollup": { + "version": "2.79.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.1.tgz", + "integrity": "sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==", + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=10.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/rollup-plugin-terser": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz", + "integrity": "sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==", + "deprecated": "This package has been deprecated and is no longer maintained. Please use @rollup/plugin-terser", + "dependencies": { + "@babel/code-frame": "^7.10.4", + "jest-worker": "^26.2.1", + "serialize-javascript": "^4.0.0", + "terser": "^5.0.0" + }, + "peerDependencies": { + "rollup": "^2.0.0" + } + }, + "node_modules/rollup-plugin-terser/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/rollup-plugin-terser/node_modules/jest-worker": { + "version": "26.6.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.6.2.tgz", + "integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==", + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/rollup-plugin-terser/node_modules/serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/rollup-plugin-terser/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/rooks": { + "version": "7.14.1", + "resolved": "https://registry.npmjs.org/rooks/-/rooks-7.14.1.tgz", + "integrity": "sha512-oPuLNGm3OaFm3WfZHzmDvJvRit8QrXGm9/Kn49Bz8lJUjkThSBtERWzuQ9wb5DveqrpUZvmNyBXjBE0KWVt13w==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "lodash.debounce": "^4.0.8", + "raf": "^3.4.1", + "use-sync-external-store": "^1.2.0" + }, + "engines": { + "node": ">=v10.24.1" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "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/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-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/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/sanitize.css": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/sanitize.css/-/sanitize.css-13.0.0.tgz", + "integrity": "sha512-ZRwKbh/eQ6w9vmTjkuG0Ioi3HBwPFce0O+v//ve+aOq1oeCy7jMV2qzzAlpsNuqpqCBjjriM1lbtZbF/Q8jVyA==" + }, + "node_modules/sass-loader": { + "version": "12.6.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz", + "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==", + "dependencies": { + "klona": "^2.0.4", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + } + } + }, + "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/saxes": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz", + "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==", + "dependencies": { + "xmlchars": "^2.2.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "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/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": "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/semver/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/semver/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/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/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-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.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", + "dependencies": { + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/set-function-name": { + "version": "2.0.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/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/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/side-channel": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/simple-swizzle/node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==" + }, + "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/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "engines": { + "node": ">= 8" + } + }, + "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-loader": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-3.0.2.tgz", + "integrity": "sha512-BokxPoLjyl3iOrgkWaakaxqnelAJSS+0V+De0kKIq6lyWrXuiPgYTGp6z3iHmqljKAaLXwZa+ctD8GccRJeVvg==", + "dependencies": { + "abab": "^2.0.5", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.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/source-map-support/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/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead" + }, + "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==", + "dev": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", + "dev": true + }, + "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/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/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/stack-utils/node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/stackframe": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", + "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==" + }, + "node_modules/static-eval": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/static-eval/-/static-eval-2.0.2.tgz", + "integrity": "sha512-N/D219Hcr2bPjLxPiV+TQE++Tsmrady7TqAJugLy7Xk1EumfDWS/f5dtBbkRCGE7wKKXuYockQoj8Rm2/pVKyg==", + "dependencies": { + "escodegen": "^1.8.1" + } + }, + "node_modules/static-eval/node_modules/escodegen": { + "version": "1.14.3", + "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-1.14.3.tgz", + "integrity": "sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==", + "dependencies": { + "esprima": "^4.0.1", + "estraverse": "^4.2.0", + "esutils": "^2.0.2", + "optionator": "^0.8.1" + }, + "bin": { + "escodegen": "bin/escodegen.js", + "esgenerate": "bin/esgenerate.js" + }, + "engines": { + "node": ">=4.0" + }, + "optionalDependencies": { + "source-map": "~0.6.1" + } + }, + "node_modules/static-eval/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/static-eval/node_modules/levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==", + "dependencies": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dependencies": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/node_modules/prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/static-eval/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==", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/static-eval/node_modules/type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==", + "dependencies": { + "prelude-ls": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/store2": { + "version": "2.14.3", + "resolved": "https://registry.npmjs.org/store2/-/store2-2.14.3.tgz", + "integrity": "sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg==", + "dev": true + }, + "node_modules/storybook": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.6.17.tgz", + "integrity": "sha512-8+EIo91bwmeFWPg1eysrxXlhIYv3OsXrznTr4+4Eq0NikqAoq6oBhtlN5K2RGS2lBVF537eN+9jTCNbR+WrzDA==", + "dev": true, + "dependencies": { + "@storybook/cli": "7.6.17" + }, + "bin": { + "sb": "index.js", + "storybook": "index.js" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/storybook" + } + }, + "node_modules/stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "dev": true + }, + "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==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-natural-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/string-natural-compare/-/string-natural-compare-3.0.1.tgz", + "integrity": "sha512-n3sPwynL1nwKi3WJ6AIsClwBMa0zTi54fn2oLU6ndfTSIO05xaznjSf15PcBZU6FNWbmN5Q6cxT4V5hGvB4taw==" + }, + "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/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", + "integrity": "sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "es-abstract": "^1.22.1", + "get-intrinsic": "^1.2.1", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.5", + "regexp.prototype.flags": "^1.5.0", + "set-function-name": "^2.0.0", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-comments/-/strip-comments-2.0.1.tgz", + "integrity": "sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==", + "engines": { + "node": ">=10" + } + }, + "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-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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-loader": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.3.tgz", + "integrity": "sha512-53BiGLXAcll9maCYtZi2RCQZKa8NQQai5C4horqKyRmHj9H7QmcUyucrH+4KW/gBQbXM2AsB0axoEcFZPlfPcw==", + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + } + }, + "node_modules/style-to-js": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.9.tgz", + "integrity": "sha512-6bkwhOlPOx+wKiHVlPTHjUqM4zDKv9pyccehB8zetZL0hhQ7MVp7UEWUsohjiMdxwhSsEdjMrEve+8qzUVmY4w==", + "dependencies": { + "style-to-object": "1.0.4" + } + }, + "node_modules/style-to-object": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.4.tgz", + "integrity": "sha512-KyNO6mfijxSnypdvEjeXlhvbGPSh0l1zBJp80n+ncBQvrEbSwBHwZCpo0xz6Q4AKSPfXowWwypCBAUAdfz3rFQ==", + "dependencies": { + "inline-style-parser": "0.2.2" + } + }, + "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/stylis": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + }, + "node_modules/sucrase": { + "version": "3.34.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", + "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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-hyperlinks": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz", + "integrity": "sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==", + "dependencies": { + "has-flag": "^4.0.0", + "supports-color": "^7.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-hyperlinks/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/supports-hyperlinks/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/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/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/swc-loader": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.6.tgz", + "integrity": "sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==", + "dev": true, + "dependencies": { + "@swc/counter": "^0.1.3" + }, + "peerDependencies": { + "@swc/core": "^1.2.147", + "webpack": ">=2" + } + }, + "node_modules/symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" + }, + "node_modules/synchronous-promise": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.17.tgz", + "integrity": "sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==", + "dev": true + }, + "node_modules/synckit": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", + "integrity": "sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==", + "dev": true, + "dependencies": { + "@pkgr/utils": "^2.3.1", + "tslib": "^2.5.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/tailwind-merge": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.0.0.tgz", + "integrity": "sha512-WO8qghn9yhsldLSg80au+3/gY9E4hFxIvQ3qOmlpXnqpDKoMruKfi/56BbbMg6fHTQJ9QD3cc79PoWqlaQE4rw==", + "dependencies": { + "@babel/runtime": "^7.23.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss-animate": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/tailwindcss-animate/-/tailwindcss-animate-1.0.7.tgz", + "integrity": "sha512-bl6mpH3T7I3UFxuvDEXLxy/VuFxBk5bbzplh7tXI68mwMokNYd1t9qPBHlnyTwfa4JGC4zP516I1hYYtQ/vspA==", + "peerDependencies": { + "tailwindcss": ">=3.0.0 || insiders" + } + }, + "node_modules/tailwindcss-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/tailwindcss-dir/-/tailwindcss-dir-4.0.0.tgz", + "integrity": "sha512-G5orTODS8sDQOZqKa2Q4Ey/F4nlxK1mTZm02iKHLxZaNjpboPews/h2KUksC5KbgIVrpmOe1hqcNYZJy07ftwA==", + "dev": true, + "dependencies": { + "tailwindcss": "^1.0.1" + } + }, + "node_modules/tailwindcss-dir/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/tailwindcss-dir/node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/tailwindcss-dir/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "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/tailwindcss-dir/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/tailwindcss-dir/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/tailwindcss-dir/node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/tailwindcss-dir/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss-dir/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/tailwindcss-dir/node_modules/object-hash": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", + "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tailwindcss-dir/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/tailwindcss-dir/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/tailwindcss-dir/node_modules/postcss-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-2.0.3.tgz", + "integrity": "sha512-zS59pAk3deu6dVHyrGqmC3oDXBdNdajk4k1RyxeVXCrcEDBUBHoIhE4QTsmhxgzXxsaqFDAkUZfmMa5f/N/79w==", + "dev": true, + "dependencies": { + "camelcase-css": "^2.0.1", + "postcss": "^7.0.18" + } + }, + "node_modules/tailwindcss-dir/node_modules/postcss-nested": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-4.2.3.tgz", + "integrity": "sha512-rOv0W1HquRCamWy2kFl3QazJMMe1ku6rCFoAAH+9AcxdbpDeBr6k968MLWuLjvjMcGEip01ak09hKOEgpK9hvw==", + "dev": true, + "dependencies": { + "postcss": "^7.0.32", + "postcss-selector-parser": "^6.0.2" + } + }, + "node_modules/tailwindcss-dir/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==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tailwindcss-dir/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwindcss-dir/node_modules/tailwindcss": { + "version": "1.9.6", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-1.9.6.tgz", + "integrity": "sha512-nY8WYM/RLPqGsPEGEV2z63riyQPcHYZUJpAwdyBzVpxQHOHqHE+F/fvbCeXhdF1+TA5l72vSkZrtYCB9hRcwkQ==", + "dev": true, + "dependencies": { + "@fullhuman/postcss-purgecss": "^2.1.2", + "autoprefixer": "^9.4.5", + "browserslist": "^4.12.0", + "bytes": "^3.0.0", + "chalk": "^3.0.0 || ^4.0.0", + "color": "^3.1.2", + "detective": "^5.2.0", + "fs-extra": "^8.0.0", + "html-tags": "^3.1.0", + "lodash": "^4.17.20", + "node-emoji": "^1.8.1", + "normalize.css": "^8.0.1", + "object-hash": "^2.0.3", + "postcss": "^7.0.11", + "postcss-functions": "^3.0.0", + "postcss-js": "^2.0.0", + "postcss-nested": "^4.1.1", + "postcss-selector-parser": "^6.0.0", + "postcss-value-parser": "^4.1.0", + "pretty-hrtime": "^1.0.3", + "reduce-css-calc": "^2.1.6", + "resolve": "^1.14.2" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/tailwindcss-dir/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "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/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/telejson": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/telejson/-/telejson-7.2.0.tgz", + "integrity": "sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==", + "dev": true, + "dependencies": { + "memoizerific": "^1.11.3" + } + }, + "node_modules/temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "dev": true, + "dependencies": { + "rimraf": "~2.6.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/temp-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", + "integrity": "sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/temp/node_modules/rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/tempy": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-0.6.0.tgz", + "integrity": "sha512-G13vtMYPT/J8A4X2SjdtBTphZlrp1gKv6hZiOjw14RCWg6GbHuQBGtjlx75xLbYV/wEc0D7G5K4rxKP/cXk8Bw==", + "dependencies": { + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tempy/node_modules/type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terminal-link": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/terminal-link/-/terminal-link-2.1.1.tgz", + "integrity": "sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "supports-hyperlinks": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/terser": { + "version": "5.24.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.24.0.tgz", + "integrity": "sha512-ZpGR4Hy3+wBEzVEnHvstMvqpD/nABNelQn/z2r0fjVWGQsN3bpOLzQlqDxmb4CDZnXq5lpjnQ+mHQLAOpfM5iw==", + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "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/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/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/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "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/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/throat": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", + "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" + }, + "node_modules/through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "dependencies": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "node_modules/through2/node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "node_modules/through2/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==", + "dev": true, + "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/through2/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==", + "dev": true + }, + "node_modules/through2/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==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "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-case": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz", + "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==" + }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + }, + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==" + }, + "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-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/tocbot": { + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.25.0.tgz", + "integrity": "sha512-kE5wyCQJ40hqUaRVkyQ4z5+4juzYsv/eK+aqD97N62YH0TxFhzJvo22RUQQZdO3YnXAk42ZOfOpjVdy+Z0YokA==", + "dev": true + }, + "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/toposort": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-2.0.2.tgz", + "integrity": "sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==" + }, + "node_modules/tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dependencies": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tough-cookie/node_modules/universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" + }, + "node_modules/tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true, + "engines": { + "node": ">=6.10" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/ts-node/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/ts-node/node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "node_modules/ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tsconfig-paths": { + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", + "integrity": "sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g==", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths-webpack-plugin": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz", + "integrity": "sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.7.0", + "tsconfig-paths": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tsconfig-paths-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==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/tsconfig-paths-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==", + "dev": true, + "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/tsconfig-paths-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==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/tsconfig-paths-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==", + "dev": true + }, + "node_modules/tsconfig-paths-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==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsconfig-paths-webpack-plugin/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/tsconfig-paths-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==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsconfig-paths-webpack-plugin/node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tsconfig-paths/node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "engines": { + "node": ">=4" + } + }, + "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/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.6.0.tgz", + "integrity": "sha512-rLjWJzQFOq4xw7MgJrCZ6T1jIOvvYElXT12r+y0CC6u67hegDHaxcPqb2fZHOGlqxugGQPNB1EnTezjBetkwkw==", + "devOptional": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "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": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, + "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": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/ufo": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", + "dev": true + }, + "node_modules/uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "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/underscore": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.12.1.tgz", + "integrity": "sha512-hEQt0+ZLDVUMhebKxL4x1BTtDY7bavVofhZ9KZ4aI26X9SRaE+Y3m83XUL1UP2jn8ynjndwCCpEHdUG+9pP1Tw==" + }, + "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/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/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-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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unload": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/unload/-/unload-2.2.0.tgz", + "integrity": "sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==", + "dependencies": { + "@babel/runtime": "^7.6.2", + "detect-node": "^2.0.4" + } + }, + "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/unplugin": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.10.0.tgz", + "integrity": "sha512-CuZtvvO8ua2Wl+9q2jEaqH6m3DoQ38N7pvBYQbbaeNlWGvK2l6GHiKi29aIHDPoSxdUzQ7Unevf1/ugil5X6Pg==", + "dev": true, + "dependencies": { + "acorn": "^8.11.3", + "chokidar": "^3.6.0", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.6.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/unplugin/node_modules/webpack-virtual-modules": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz", + "integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==", + "dev": true + }, + "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/untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", + "engines": { + "node": ">=4", + "yarn": "*" + } + }, + "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/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/url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "dev": true, + "dependencies": { + "punycode": "^1.4.1", + "qs": "^6.11.2" + } + }, + "node_modules/url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dependencies": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "node_modules/url/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==", + "dev": true + }, + "node_modules/url/node_modules/qs": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.0.tgz", + "integrity": "sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz", + "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "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-resize-observer": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/use-resize-observer/-/use-resize-observer-9.1.0.tgz", + "integrity": "sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==", + "dev": true, + "dependencies": { + "@juggle/resize-observer": "^3.3.1" + }, + "peerDependencies": { + "react": "16.8.0 - 18", + "react-dom": "16.8.0 - 18" + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, + "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/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/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, + "node_modules/v8-to-istanbul": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz", + "integrity": "sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w==", + "dependencies": { + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^1.6.0", + "source-map": "^0.7.3" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/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/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "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/void-elements": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-3.1.0.tgz", + "integrity": "sha512-Dhxzh5HZuiHQhbvTW9AMetFfBHDMYpo23Uo9btPXgdYP+3T5S+p+jgNy7spra+veYhBP2dCSgxR/i2Y02h5/6w==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/w3c-hr-time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", + "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==", + "deprecated": "Use your platform's native performance.now() and performance.timeOrigin.", + "dependencies": { + "browser-process-hrtime": "^1.0.0" + } + }, + "node_modules/w3c-xmlserializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz", + "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==", + "dependencies": { + "xml-name-validator": "^3.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dependencies": { + "makeerror": "1.0.12" + } + }, + "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/wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "dependencies": { + "defaults": "^1.0.3" + } + }, + "node_modules/web-vitals": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", + "integrity": "sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg==" + }, + "node_modules/webidl-conversions": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", + "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==", + "engines": { + "node": ">=10.4" + } + }, + "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-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/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-hot-middleware": { + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.26.1.tgz", + "integrity": "sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A==", + "devOptional": true, + "dependencies": { + "ansi-html-community": "0.0.8", + "html-entities": "^2.1.0", + "strip-ansi": "^6.0.0" + } + }, + "node_modules/webpack-manifest-plugin": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", + "integrity": "sha512-YXUAwxtfKIJIKkhg03MKuiFAD72PlrqCiwdwO4VEXdRO5V0ORCNwaOwAZawPZalCbmH9kBDmXnNeQOw+BIEiow==", + "dependencies": { + "tapable": "^2.0.0", + "webpack-sources": "^2.2.0" + }, + "engines": { + "node": ">=12.22.0" + }, + "peerDependencies": { + "webpack": "^4.44.2 || ^5.47.0" + } + }, + "node_modules/webpack-manifest-plugin/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/webpack-manifest-plugin/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/webpack-manifest-plugin/node_modules/webpack-sources": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.1.tgz", + "integrity": "sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==", + "dependencies": { + "source-list-map": "^2.0.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "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-virtual-modules": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==", + "dev": true + }, + "node_modules/webpack/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/webpack/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/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/webpack/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/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-encoding": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz", + "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==", + "dependencies": { + "iconv-lite": "0.4.24" + } + }, + "node_modules/whatwg-encoding/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/whatwg-fetch": { + "version": "3.6.19", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.19.tgz", + "integrity": "sha512-d67JP4dHSbm2TrpFj8AbO8DnL1JXL5J9u0Kq2xW6d0TFDbCA3Muhdt8orXC22utleTVj7Prqt82baN6RBvnEgw==" + }, + "node_modules/whatwg-mimetype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", + "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==" + }, + "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/whatwg-url/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/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-builtin-type": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz", + "integrity": "sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==", + "dependencies": { + "function.prototype.name": "^1.1.5", + "has-tostringtag": "^1.0.0", + "is-async-function": "^2.0.0", + "is-date-object": "^1.0.5", + "is-finalizationregistry": "^1.0.2", + "is-generator-function": "^1.0.10", + "is-regex": "^1.1.4", + "is-weakref": "^1.0.2", + "isarray": "^2.0.5", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "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/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==" + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, + "node_modules/workbox-background-sync": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", + "integrity": "sha512-jkf4ZdgOJxC9u2vztxLuPT/UjlH7m/nWRQ/MgGL0v8BJHoZdVGJd18Kck+a0e55wGXdqyHO+4IQTk0685g4MUw==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-broadcast-update/-/workbox-broadcast-update-6.6.0.tgz", + "integrity": "sha512-nm+v6QmrIFaB/yokJmQ/93qIJ7n72NICxIwQwe5xsZiV2aI93MGGyEyzOzDPVz5THEr5rC3FJSsO3346cId64Q==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-build": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-build/-/workbox-build-6.6.0.tgz", + "integrity": "sha512-Tjf+gBwOTuGyZwMz2Nk/B13Fuyeo0Q84W++bebbVsfr9iLkDSo6j6PST8tET9HYA58mlRXwlMGpyWO8ETJiXdQ==", + "dependencies": { + "@apideck/better-ajv-errors": "^0.3.1", + "@babel/core": "^7.11.1", + "@babel/preset-env": "^7.11.0", + "@babel/runtime": "^7.11.2", + "@rollup/plugin-babel": "^5.2.0", + "@rollup/plugin-node-resolve": "^11.2.1", + "@rollup/plugin-replace": "^2.4.1", + "@surma/rollup-plugin-off-main-thread": "^2.2.3", + "ajv": "^8.6.0", + "common-tags": "^1.8.0", + "fast-json-stable-stringify": "^2.1.0", + "fs-extra": "^9.0.1", + "glob": "^7.1.6", + "lodash": "^4.17.20", + "pretty-bytes": "^5.3.0", + "rollup": "^2.43.1", + "rollup-plugin-terser": "^7.0.0", + "source-map": "^0.8.0-beta.0", + "stringify-object": "^3.3.0", + "strip-comments": "^2.0.1", + "tempy": "^0.6.0", + "upath": "^1.2.0", + "workbox-background-sync": "6.6.0", + "workbox-broadcast-update": "6.6.0", + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-google-analytics": "6.6.0", + "workbox-navigation-preload": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-range-requests": "6.6.0", + "workbox-recipes": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0", + "workbox-streams": "6.6.0", + "workbox-sw": "6.6.0", + "workbox-window": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/workbox-build/node_modules/@apideck/better-ajv-errors": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@apideck/better-ajv-errors/-/better-ajv-errors-0.3.6.tgz", + "integrity": "sha512-P+ZygBLZtkp0qqOAJJVX4oX/sFo5JR3eBWwwuqHHhK0GIgQOKWrAfiAaWX0aArHkRWHMuggFEgAZNxVPwPZYaA==", + "dependencies": { + "json-schema": "^0.4.0", + "jsonpointer": "^5.0.0", + "leven": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "ajv": ">=8" + } + }, + "node_modules/workbox-build/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/workbox-build/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/workbox-build/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/workbox-build/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/workbox-build/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/workbox-build/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-cacheable-response/-/workbox-cacheable-response-6.6.0.tgz", + "integrity": "sha512-JfhJUSQDwsF1Xv3EV1vWzSsCOZn4mQ38bWEBR3LdvOxSPgB65gAM6cS2CX8rkkKHRgiLrN7Wxoyu+TuH67kHrw==", + "deprecated": "workbox-background-sync@6.6.0", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-core": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-core/-/workbox-core-6.6.0.tgz", + "integrity": "sha512-GDtFRF7Yg3DD859PMbPAYPeJyg5gJYXuBQAC+wyrWuuXgpfoOrIQIvFRZnQ7+czTIQjIr1DhLEGFzZanAT/3bQ==" + }, + "node_modules/workbox-expiration": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-expiration/-/workbox-expiration-6.6.0.tgz", + "integrity": "sha512-baplYXcDHbe8vAo7GYvyAmlS4f6998Jff513L4XvlzAOxcl8F620O91guoJ5EOf5qeXG4cGdNZHkkVAPouFCpw==", + "dependencies": { + "idb": "^7.0.1", + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-google-analytics": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-google-analytics/-/workbox-google-analytics-6.6.0.tgz", + "integrity": "sha512-p4DJa6OldXWd6M9zRl0H6vB9lkrmqYFkRQ2xEiNdBFp9U0LhsGO7hsBscVEyH9H2/3eZZt8c97NB2FD9U2NJ+Q==", + "dependencies": { + "workbox-background-sync": "6.6.0", + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-navigation-preload/-/workbox-navigation-preload-6.6.0.tgz", + "integrity": "sha512-utNEWG+uOfXdaZmvhshrh7KzhDu/1iMHyQOV6Aqup8Mm78D286ugu5k9MFD9SzBT5TcwgwSORVvInaXWbvKz9Q==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-precaching": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-precaching/-/workbox-precaching-6.6.0.tgz", + "integrity": "sha512-eYu/7MqtRZN1IDttl/UQcSZFkHP7dnvr/X3Vn6Iw6OsPMruQHiVjjomDFCNtd8k2RdjLs0xiz9nq+t3YVBcWPw==", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-range-requests": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-range-requests/-/workbox-range-requests-6.6.0.tgz", + "integrity": "sha512-V3aICz5fLGq5DpSYEU8LxeXvsT//mRWzKrfBOIxzIdQnV/Wj7R+LyJVTczi4CQ4NwKhAaBVaSujI1cEjXW+hTw==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-recipes": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-recipes/-/workbox-recipes-6.6.0.tgz", + "integrity": "sha512-TFi3kTgYw73t5tg73yPVqQC8QQjxJSeqjXRO4ouE/CeypmP2O/xqmB/ZFBBQazLTPxILUQ0b8aeh0IuxVn9a6A==", + "dependencies": { + "workbox-cacheable-response": "6.6.0", + "workbox-core": "6.6.0", + "workbox-expiration": "6.6.0", + "workbox-precaching": "6.6.0", + "workbox-routing": "6.6.0", + "workbox-strategies": "6.6.0" + } + }, + "node_modules/workbox-routing": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-routing/-/workbox-routing-6.6.0.tgz", + "integrity": "sha512-x8gdN7VDBiLC03izAZRfU+WKUXJnbqt6PG9Uh0XuPRzJPpZGLKce/FkOX95dWHRpOHWLEq8RXzjW0O+POSkKvw==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-strategies": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-strategies/-/workbox-strategies-6.6.0.tgz", + "integrity": "sha512-eC07XGuINAKUWDnZeIPdRdVja4JQtTuc35TZ8SwMb1ztjp7Ddq2CJ4yqLvWzFWGlYI7CG/YGqaETntTxBGdKgQ==", + "dependencies": { + "workbox-core": "6.6.0" + } + }, + "node_modules/workbox-streams": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-streams/-/workbox-streams-6.6.0.tgz", + "integrity": "sha512-rfMJLVvwuED09CnH1RnIep7L9+mj4ufkTyDPVaXPKlhi9+0czCu+SJggWCIFbPpJaAZmp2iyVGLqS3RUmY3fxg==", + "dependencies": { + "workbox-core": "6.6.0", + "workbox-routing": "6.6.0" + } + }, + "node_modules/workbox-sw": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-sw/-/workbox-sw-6.6.0.tgz", + "integrity": "sha512-R2IkwDokbtHUE4Kus8pKO5+VkPHD2oqTgl+XJwh4zbF1HyjAbgNmK/FneZHVU7p03XUt9ICfuGDYISWG9qV/CQ==" + }, + "node_modules/workbox-webpack-plugin": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-webpack-plugin/-/workbox-webpack-plugin-6.6.0.tgz", + "integrity": "sha512-xNZIZHalboZU66Wa7x1YkjIqEy1gTR+zPM+kjrYJzqN7iurYZBctBLISyScjhkJKYuRrZUP0iqViZTh8rS0+3A==", + "dependencies": { + "fast-json-stable-stringify": "^2.1.0", + "pretty-bytes": "^5.4.1", + "upath": "^1.2.0", + "webpack-sources": "^1.4.3", + "workbox-build": "6.6.0" + }, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.9.0" + } + }, + "node_modules/workbox-webpack-plugin/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/workbox-webpack-plugin/node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/workbox-window": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/workbox-window/-/workbox-window-6.6.0.tgz", + "integrity": "sha512-L4N9+vka17d16geaJXXRjENLFldvkWy7JyGxElRD0JvBxvFEd8LOhr+uXCcar/NzAmIBRv9EZ+M+Qr4mOoBITw==", + "dependencies": { + "@types/trusted-types": "^2.0.2", + "workbox-core": "6.6.0" + } + }, + "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/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "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/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrap-ansi/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/wrap-ansi/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/wrap-ansi/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/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.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml-name-validator": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz", + "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==" + }, + "node_modules/xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" + }, + "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/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "engines": { + "node": ">=10" + } + }, + "node_modules/yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "dependencies": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "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/yup": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/yup/-/yup-1.3.2.tgz", + "integrity": "sha512-6KCM971iQtJ+/KUaHdrhVr2LDkfhBtFPRnsG1P8F4q3uUVQ2RfEM9xekpha9aA4GXWJevjM10eDcPQ1FfWlmaQ==", + "dependencies": { + "property-expr": "^2.0.5", + "tiny-case": "^1.0.3", + "toposort": "^2.0.2", + "type-fest": "^2.19.0" + } + }, + "node_modules/yup/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/zustand": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.2.tgz", + "integrity": "sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==", + "dependencies": { + "use-sync-external-store": "1.2.0" + }, + "engines": { + "node": ">=12.7.0" + }, + "peerDependencies": { + "@types/react": ">=16.8", + "immer": ">=9.0.6", + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "immer": { + "optional": true + }, + "react": { + "optional": true + } + } + } + }, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==" + }, + "@adobe/css-tools": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/@adobe/css-tools/-/css-tools-4.3.3.tgz", + "integrity": "sha512-rE0Pygv0sEZ4vBWHlAgJLGDU7Pm8xoO6p3wsEceb7GYAjScrOHpEo8KK/eVkAcnSM+slAEtXjA2JpdjLp4fJQQ==" + }, + "@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==" + }, + "@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" + } + }, + "@aw-web-design/x-default-browser": { + "version": "1.4.126", + "resolved": "https://registry.npmjs.org/@aw-web-design/x-default-browser/-/x-default-browser-1.4.126.tgz", + "integrity": "sha512-Xk1sIhyNC/esHGGVjL/niHLowM0csl/kFO5uawBy4IrWwy0o1G8LGt3jP6nmWGz+USxeeqbihAmp/oVZju6wug==", + "dev": true, + "requires": { + "default-browser-id": "3.0.0" + } + }, + "@babel/code-frame": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz", + "integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==", + "requires": { + "@babel/highlight": "^7.24.2", + "picocolors": "^1.0.0" + } + }, + "@babel/compat-data": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.1.tgz", + "integrity": "sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==" + }, + "@babel/core": { + "version": "7.24.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.3.tgz", + "integrity": "sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==", + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.24.2", + "@babel/generator": "^7.24.1", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.24.1", + "@babel/parser": "^7.24.1", + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.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" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/eslint-parser": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.22.15.tgz", + "integrity": "sha512-yc8OOBIQk1EcRrpizuARSQS0TWAcOMpEJ1aafhNznaeYkeL+OhqnDObGFylB8ka8VFF/sZc+S4RzHyO+3LjQxg==", + "requires": { + "@nicolo-ribaudo/eslint-scope-5-internals": "5.1.1-v1", + "eslint-visitor-keys": "^2.1.0", + "semver": "^6.3.1" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==" + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/generator": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.24.1.tgz", + "integrity": "sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==", + "requires": { + "@babel/types": "^7.24.0", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "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.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "requires": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@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" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@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" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@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.24.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", + "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==" + }, + "@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.24.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz", + "integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==" + }, + "@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.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==" + }, + "@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.24.1", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.1.tgz", + "integrity": "sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==", + "requires": { + "@babel/template": "^7.24.0", + "@babel/traverse": "^7.24.1", + "@babel/types": "^7.24.0" + } + }, + "@babel/highlight": { + "version": "7.24.2", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz", + "integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==", + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + } + }, + "@babel/parser": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.1.tgz", + "integrity": "sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==" + }, + "@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-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-decorators": { + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.23.2.tgz", + "integrity": "sha512-eR0gJQc830fJVGz37oKLvt9W9uUIQSAovUl0e9sJ3YeO09dlcoBVYD3CLrjCj4qHdXmfiyTyFt8yeQYSN5fxLg==", + "requires": { + "@babel/helper-create-class-features-plugin": "^7.22.15", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/plugin-syntax-decorators": "^7.22.10" + } + }, + "@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-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "requires": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@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.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-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "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-decorators": { + "version": "7.22.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.22.10.tgz", + "integrity": "sha512-z1KTVemBjnz+kSEilAsI4lbkPOl5TvJH7YDSY1CTIzvLWJ+KHXp+mRe8VPmfnyvqOPqar1V2gid2PleKzRUstQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.22.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-flow": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.24.1.tgz", + "integrity": "sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.0" + } + }, + "@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-flow-strip-types": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.24.1.tgz", + "integrity": "sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==", + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/plugin-syntax-flow": "^7.24.1" + } + }, + "@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" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@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" + }, + "dependencies": { + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==" + } + } + }, + "@babel/preset-flow": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/preset-flow/-/preset-flow-7.24.1.tgz", + "integrity": "sha512-sWCV2G9pcqZf+JHyv/RyqEIpFypxdCSxWIxQjpdaQxenNog7cN1pr76hg8u0Fz8Qgg0H4ETkGcJnXL8d4j0PPA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.24.0", + "@babel/helper-validator-option": "^7.23.5", + "@babel/plugin-transform-flow-strip-types": "^7.24.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/register": { + "version": "7.23.7", + "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.23.7.tgz", + "integrity": "sha512-EjJeB6+kvpk+Y5DAkEAmbOBEFkh9OASx0huoEkqYTFxAZHzOAX2Oh5uwAUuL2rUddqfM0SA+KPXV2TbzoZ2kvQ==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "find-cache-dir": "^2.0.0", + "make-dir": "^2.1.0", + "pirates": "^4.0.6", + "source-map-support": "^0.5.16" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "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==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.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==", + "dev": true, + "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==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } + }, + "@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/template": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", + "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.24.0", + "@babel/types": "^7.24.0" + } + }, + "@babel/traverse": { + "version": "7.24.1", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.1.tgz", + "integrity": "sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==", + "requires": { + "@babel/code-frame": "^7.24.1", + "@babel/generator": "^7.24.1", + "@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.24.1", + "@babel/types": "^7.24.0", + "debug": "^4.3.1", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.24.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", + "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", + "requires": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + } + }, + "@base2/pretty-print-object": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz", + "integrity": "sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==", + "dev": true + }, + "@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==" + }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true + }, + "@craco/craco": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@craco/craco/-/craco-7.1.0.tgz", + "integrity": "sha512-oRAcPIKYrfPXp9rSzlsDNeOaVtDiKhoyqSXUoqiK24jCkHr4T8m/a2f74yXIzCbIheoUWDOIfWZyRgFgT+cpqA==", + "requires": { + "autoprefixer": "^10.4.12", + "cosmiconfig": "^7.0.1", + "cosmiconfig-typescript-loader": "^1.0.0", + "cross-spawn": "^7.0.3", + "lodash": "^4.17.21", + "semver": "^7.3.7", + "webpack-merge": "^5.8.0" + } + }, + "@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "requires": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "dependencies": { + "@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + } + } + }, + "@csstools/normalize.css": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-12.0.0.tgz", + "integrity": "sha512-M0qqxAcwCsIVfpFQSlGN5XjXWu8l5JDZN+fPt1LeW5SZexQTgnaEvgXAY+CeygRw0EeppWHi12JxESWiWrB0Sg==" + }, + "@csstools/postcss-cascade-layers": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-cascade-layers/-/postcss-cascade-layers-1.1.1.tgz", + "integrity": "sha512-+KdYrpKC5TgomQr2DlZF4lDEpHcoxnj5IGddYYfBWJAKfj1JtuHUIqMa+E1pJJ+z3kvDViWMqyqPlG4Ja7amQA==", + "requires": { + "@csstools/selector-specificity": "^2.0.2", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-color-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-1.1.1.tgz", + "integrity": "sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-font-format-keywords": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-font-format-keywords/-/postcss-font-format-keywords-1.0.1.tgz", + "integrity": "sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-hwb-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-1.0.2.tgz", + "integrity": "sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-ic-unit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-ic-unit/-/postcss-ic-unit-1.0.1.tgz", + "integrity": "sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-is-pseudo-class": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-is-pseudo-class/-/postcss-is-pseudo-class-2.0.7.tgz", + "integrity": "sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==", + "requires": { + "@csstools/selector-specificity": "^2.0.0", + "postcss-selector-parser": "^6.0.10" + } + }, + "@csstools/postcss-nested-calc": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-nested-calc/-/postcss-nested-calc-1.0.0.tgz", + "integrity": "sha512-JCsQsw1wjYwv1bJmgjKSoZNvf7R6+wuHDAbi5f/7MbFhl2d/+v+TvBTU4BJH3G1X1H87dHl0mh6TfYogbT/dJQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-normalize-display-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-normalize-display-values/-/postcss-normalize-display-values-1.0.1.tgz", + "integrity": "sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-oklab-function": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-1.1.1.tgz", + "integrity": "sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==", + "requires": { + "@csstools/postcss-progressive-custom-properties": "^1.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-progressive-custom-properties": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-progressive-custom-properties/-/postcss-progressive-custom-properties-1.3.0.tgz", + "integrity": "sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-stepped-value-functions": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-1.0.1.tgz", + "integrity": "sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-text-decoration-shorthand": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@csstools/postcss-text-decoration-shorthand/-/postcss-text-decoration-shorthand-1.0.0.tgz", + "integrity": "sha512-c1XwKJ2eMIWrzQenN0XbcfzckOLLJiczqy+YvfGmzoVXd7pT9FfObiSEfzs84bpE/VqfpEuAZ9tCRbZkZxxbdw==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-trigonometric-functions": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-1.0.2.tgz", + "integrity": "sha512-woKaLO///4bb+zZC2s80l+7cm07M7268MsyG3M0ActXXEFi6SuhvriQYcb58iiKGbjwwIU7n45iRLEHypB47Og==", + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "@csstools/postcss-unset-value": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz", + "integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==", + "requires": {} + }, + "@csstools/selector-specificity": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.2.0.tgz", + "integrity": "sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==", + "requires": {} + }, + "@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==", + "dev": true + }, + "@emotion/babel-plugin": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", + "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/runtime": "^7.18.3", + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/serialize": "^1.1.2", + "babel-plugin-macros": "^3.1.0", + "convert-source-map": "^1.5.0", + "escape-string-regexp": "^4.0.0", + "find-root": "^1.1.0", + "source-map": "^0.5.7", + "stylis": "4.2.0" + }, + "dependencies": { + "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==" + }, + "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==" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==" + } + } + }, + "@emotion/cache": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", + "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", + "requires": { + "@emotion/memoize": "^0.8.1", + "@emotion/sheet": "^1.2.2", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "stylis": "4.2.0" + } + }, + "@emotion/hash": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", + "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + }, + "@emotion/memoize": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + }, + "@emotion/react": { + "version": "11.11.1", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz", + "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==", + "requires": { + "@babel/runtime": "^7.18.3", + "@emotion/babel-plugin": "^11.11.0", + "@emotion/cache": "^11.11.0", + "@emotion/serialize": "^1.1.2", + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", + "@emotion/utils": "^1.2.1", + "@emotion/weak-memoize": "^0.3.1", + "hoist-non-react-statics": "^3.3.1" + } + }, + "@emotion/serialize": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", + "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", + "requires": { + "@emotion/hash": "^0.9.1", + "@emotion/memoize": "^0.8.1", + "@emotion/unitless": "^0.8.1", + "@emotion/utils": "^1.2.1", + "csstype": "^3.0.2" + } + }, + "@emotion/sheet": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", + "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + }, + "@emotion/unitless": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + }, + "@emotion/use-insertion-effect-with-fallbacks": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", + "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "requires": {} + }, + "@emotion/utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + }, + "@emotion/weak-memoize": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", + "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + }, + "@es-joy/jsdoccomment": { + "version": "0.40.1", + "resolved": "https://registry.npmjs.org/@es-joy/jsdoccomment/-/jsdoccomment-0.40.1.tgz", + "integrity": "sha512-YORCdZSusAlBrFpZ77pJjc5r1bQs5caPWtAu+WWmiSo+8XaUzseapVrfAtiRFbQWnrBxxLLEwF6f6ZG/UgCQCg==", + "dev": true, + "requires": { + "comment-parser": "1.4.0", + "esquery": "^1.5.0", + "jsdoc-type-pratt-parser": "~4.0.0" + } + }, + "@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "dev": true, + "optional": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==" + }, + "@eslint/eslintrc": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.3.tgz", + "integrity": "sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==", + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "requires": { + "type-fest": "^0.20.2" + } + }, + "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==" + } + } + }, + "@eslint/js": { + "version": "8.53.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.53.0.tgz", + "integrity": "sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==" + }, + "@fal-works/esbuild-plugin-global-externals": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz", + "integrity": "sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==", + "dev": true + }, + "@floating-ui/core": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz", + "integrity": "sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==", + "requires": { + "@floating-ui/utils": "^0.1.3" + } + }, + "@floating-ui/dom": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", + "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", + "requires": { + "@floating-ui/core": "^1.4.2", + "@floating-ui/utils": "^0.1.3" + } + }, + "@floating-ui/react-dom": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.2.tgz", + "integrity": "sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ==", + "requires": { + "@floating-ui/dom": "^1.5.1" + } + }, + "@floating-ui/utils": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz", + "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==" + }, + "@fontsource-variable/inter": { + "version": "5.0.17", + "resolved": "https://registry.npmjs.org/@fontsource-variable/inter/-/inter-5.0.17.tgz", + "integrity": "sha512-sa80nNnqF8kzhBvqusWiL9vlPMVpdmOwMmDBup46Jggsr1VBqo+YuzwB36Ls+X6uHJtb8Yv3ALBHL/zGmT862A==" + }, + "@fontsource-variable/kantumruy-pro": { + "version": "5.0.13", + "resolved": "https://registry.npmjs.org/@fontsource-variable/kantumruy-pro/-/kantumruy-pro-5.0.13.tgz", + "integrity": "sha512-H5fhrc2fQCFcFvRdNpElfE70KdBHxaa5eZhC9BCVo8RzI/xtlsjBSrU4es/FW1CS/mujtHcDfv2jrLfmtFfWig==" + }, + "@formatjs/ecma402-abstract": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.18.0.tgz", + "integrity": "sha512-PEVLoa3zBevWSCZzPIM/lvPCi8P5l4G+NXQMc/CjEiaCWgyHieUoo0nM7Bs0n/NbuQ6JpXEolivQ9pKSBHaDlA==", + "requires": { + "@formatjs/intl-localematcher": "0.5.2", + "tslib": "^2.4.0" + } + }, + "@formatjs/fast-memoize": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-2.2.0.tgz", + "integrity": "sha512-hnk/nY8FyrL5YxwP9e4r9dqeM6cAbo8PeU9UjyXojZMNvVad2Z06FAVHyR3Ecw6fza+0GH7vdJgiKIVXTMbSBA==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@formatjs/icu-messageformat-parser": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.7.3.tgz", + "integrity": "sha512-X/jy10V9S/vW+qlplqhMUxR8wErQ0mmIYSq4mrjpjDl9mbuGcCILcI1SUYkL5nlM4PJqpc0KOS0bFkkJNPxYRw==", + "requires": { + "@formatjs/ecma402-abstract": "1.18.0", + "@formatjs/icu-skeleton-parser": "1.7.0", + "tslib": "^2.4.0" + } + }, + "@formatjs/icu-skeleton-parser": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.7.0.tgz", + "integrity": "sha512-Cfdo/fgbZzpN/jlN/ptQVe0lRHora+8ezrEeg2RfrNjyp+YStwBy7cqDY8k5/z2LzXg6O0AdzAV91XS0zIWv+A==", + "requires": { + "@formatjs/ecma402-abstract": "1.18.0", + "tslib": "^2.4.0" + } + }, + "@formatjs/intl-localematcher": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.5.2.tgz", + "integrity": "sha512-txaaE2fiBMagLrR4jYhxzFO6wEdEG4TPMqrzBAcbr4HFUYzH/YC+lg6OIzKCHm8WgDdyQevxbAAV1OgcXctuGw==", + "requires": { + "tslib": "^2.4.0" + } + }, + "@fullhuman/postcss-purgecss": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-2.3.0.tgz", + "integrity": "sha512-qnKm5dIOyPGJ70kPZ5jiz0I9foVOic0j+cOzNDoo8KoCf6HjicIZ99UfO2OmE7vCYSKAAepEwJtNzpiiZAh9xw==", + "dev": true, + "requires": { + "postcss": "7.0.32", + "purgecss": "^2.3.0" + }, + "dependencies": { + "postcss": { + "version": "7.0.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", + "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@hookform/resolvers": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/@hookform/resolvers/-/resolvers-3.3.2.tgz", + "integrity": "sha512-Tw+GGPnBp+5DOsSg4ek3LCPgkBOuOgS5DsDV7qsWNH9LZc433kgsWICjlsh2J9p04H2K66hsXPPb9qn9ILdUtA==", + "requires": {} + }, + "@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "requires": { + "@humanwhocodes/object-schema": "^2.0.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==" + }, + "@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==" + }, + "@ianvs/prettier-plugin-sort-imports": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@ianvs/prettier-plugin-sort-imports/-/prettier-plugin-sort-imports-4.1.1.tgz", "integrity": "sha512-kJhXq63ngpTQ2dxgf5GasbPJWsJA3LgoOdd7WGhpUSzLgLgI4IsIzYkbJf9kmpOHe7Vdm/o3PcRA3jmizXUuAQ==", "dev": true, "requires": { - "@babel/core": "^7.21.8", - "@babel/generator": "^7.21.5", - "@babel/parser": "^7.21.8", - "@babel/traverse": "^7.21.5", - "@babel/types": "^7.21.5", - "semver": "^7.5.2" + "@babel/core": "^7.21.8", + "@babel/generator": "^7.21.5", + "@babel/parser": "^7.21.8", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5", + "semver": "^7.5.2" + } + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + } + } + } + }, + "@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "requires": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.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" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + }, + "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" + } + }, + "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" + } + }, + "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-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" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + } + } + }, + "@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" + }, + "@jest/console": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", + "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^27.5.1", + "jest-util": "^27.5.1", + "slash": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "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==" + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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/core": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", + "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/reporters": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.8.1", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^27.5.1", + "jest-config": "^27.5.1", + "jest-haste-map": "^27.5.1", + "jest-message-util": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-resolve-dependencies": "^27.5.1", + "jest-runner": "^27.5.1", + "jest-runtime": "^27.5.1", + "jest-snapshot": "^27.5.1", + "jest-util": "^27.5.1", + "jest-validate": "^27.5.1", + "jest-watcher": "^27.5.1", + "micromatch": "^4.0.4", + "rimraf": "^3.0.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "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==" + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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/environment": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", + "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", + "requires": { + "@jest/fake-timers": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "jest-mock": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "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/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "dependencies": { + "@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "peer": true, + "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==", + "dev": true, + "optional": true, + "peer": true, + "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==", + "dev": true, + "optional": true, + "peer": true, + "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==", + "dev": true, + "optional": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true, + "peer": true + }, + "jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + } + }, + "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==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true, + "optional": true, + "peer": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + } + } + }, + "@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "requires": { + "jest-get-type": "^29.6.3" + } + }, + "@jest/fake-timers": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", + "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "requires": { + "@jest/types": "^27.5.1", + "@sinonjs/fake-timers": "^8.0.1", + "@types/node": "*", + "jest-message-util": "^27.5.1", + "jest-mock": "^27.5.1", + "jest-util": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "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==" + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "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/globals": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", + "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "requires": { + "@jest/environment": "^27.5.1", + "@jest/types": "^27.5.1", + "expect": "^27.5.1" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "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==" + }, + "diff-sequences": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", + "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + }, + "expect": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", + "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "requires": { + "@jest/types": "^27.5.1", + "jest-get-type": "^27.5.1", + "jest-matcher-utils": "^27.5.1", + "jest-message-util": "^27.5.1" + } + }, + "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-diff": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", + "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "requires": { + "chalk": "^4.0.0", + "diff-sequences": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-get-type": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", + "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + }, + "jest-matcher-utils": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", + "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "requires": { + "chalk": "^4.0.0", + "jest-diff": "^27.5.1", + "jest-get-type": "^27.5.1", + "pretty-format": "^27.5.1" + } + }, + "jest-message-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", + "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "requires": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^27.5.1", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^27.5.1", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "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/reporters": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", + "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^27.5.1", + "@jest/test-result": "^27.5.1", + "@jest/transform": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.2", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-haste-map": "^27.5.1", + "jest-resolve": "^27.5.1", + "jest-util": "^27.5.1", + "jest-worker": "^27.5.1", + "slash": "^3.0.0", + "source-map": "^0.6.0", + "string-length": "^4.0.1", + "terminal-link": "^2.0.0", + "v8-to-istanbul": "^8.1.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "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==" + }, + "jest-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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/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/source-map": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", + "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "requires": { + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9", + "source-map": "^0.6.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + } + } + }, + "@jest/test-result": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", + "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "requires": { + "@jest/console": "^27.5.1", + "@jest/types": "^27.5.1", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "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/test-sequencer": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", + "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "requires": { + "@jest/test-result": "^27.5.1", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-runtime": "^27.5.1" + } + }, + "@jest/transform": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", + "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "requires": { + "@babel/core": "^7.1.0", + "@jest/types": "^27.5.1", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^1.4.0", + "fast-json-stable-stringify": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^27.5.1", + "jest-regex-util": "^27.5.1", + "jest-util": "^27.5.1", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "source-map": "^0.6.1", + "write-file-atomic": "^3.0.0" + }, + "dependencies": { + "@jest/types": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", + "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "requires": { + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^16.0.0", + "chalk": "^4.0.0" + } + }, + "@types/yargs": { + "version": "16.0.7", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", + "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "requires": { + "@types/yargs-parser": "*" + } + }, + "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==" + }, + "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==" + }, + "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-util": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", + "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "requires": { + "@jest/types": "^27.5.1", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "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/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.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "requires": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "@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.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==" + }, + "@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.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@juggle/resize-observer": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@juggle/resize-observer/-/resize-observer-3.4.0.tgz", + "integrity": "sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==", + "dev": true + }, + "@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==" + }, + "@mdx-js/react": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-2.3.0.tgz", + "integrity": "sha512-zQH//gdOmuu7nt2oJR29vFhDv88oGPmVw6BggmrHeMI+xgEkp1B2dX9/bMBSYtK0dyLX/aOmesKS09g222K1/g==", + "dev": true, + "requires": { + "@types/mdx": "^2.0.0", + "@types/react": ">=16" + } + }, + "@ndelangen/get-tarball": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/@ndelangen/get-tarball/-/get-tarball-3.0.9.tgz", + "integrity": "sha512-9JKTEik4vq+yGosHYhZ1tiH/3WpUS0Nh0kej4Agndhox8pAdWhEx5knFVRcb/ya9knCRCs1rPxNrSXTDdfVqpA==", + "dev": true, + "requires": { + "gunzip-maybe": "^1.4.2", + "pump": "^3.0.0", + "tar-fs": "^2.1.1" + } + }, + "@nicolo-ribaudo/eslint-scope-5-internals": { + "version": "5.1.1-v1", + "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", + "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "requires": { + "eslint-scope": "5.1.1" + }, + "dependencies": { + "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" + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + } + } + }, + "@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" + } + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, + "@pkgr/utils": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "fast-glob": "^3.3.0", + "is-glob": "^4.0.3", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "tslib": "^2.6.0" + }, + "dependencies": { + "define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true + }, + "open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "dev": true, + "requires": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + } + } + } + }, + "@pmmmwh/react-refresh-webpack-plugin": { + "version": "0.5.11", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", + "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", + "requires": { + "ansi-html-community": "^0.0.8", + "common-path-prefix": "^3.0.0", + "core-js-pure": "^3.23.3", + "error-stack-parser": "^2.0.6", + "find-up": "^5.0.0", + "html-entities": "^2.1.0", + "loader-utils": "^2.0.4", + "schema-utils": "^3.0.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "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" + } + }, + "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" + } + } + } + }, + "@radix-ui/number": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz", + "integrity": "sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-alert-dialog": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.0.5.tgz", + "integrity": "sha512-OrVIOcZL0tl6xibeuGt5/+UxoT2N27KCFOPjFyfXMnchxSHZ/OW7cCX2nGlIYJrbHK/fczPcFzAwvNBB6XBNMA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dialog": "1.0.5", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" + } + }, + "@radix-ui/react-arrow": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz", + "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + } + }, + "@radix-ui/react-checkbox": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.4.tgz", + "integrity": "sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-use-size": "1.0.1" + } + }, + "@radix-ui/react-collection": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", + "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" + } + }, + "@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-dialog": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.5.tgz", + "integrity": "sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + } + }, + "@radix-ui/react-direction": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", + "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-dismissable-layer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", + "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" + } + }, + "@radix-ui/react-dropdown-menu": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.0.6.tgz", + "integrity": "sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-menu": "2.0.6", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + } + }, + "@radix-ui/react-focus-guards": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", + "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-focus-scope": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz", + "integrity": "sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1" + } + }, + "@radix-ui/react-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", + "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + } + }, + "@radix-ui/react-label": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.0.2.tgz", + "integrity": "sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + } + }, + "@radix-ui/react-menu": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.0.6.tgz", + "integrity": "sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.3", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + } + }, + "@radix-ui/react-popover": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.0.7.tgz", + "integrity": "sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.3", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-controllable-state": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + } + }, + "@radix-ui/react-popper": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.3.tgz", + "integrity": "sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==", + "requires": { + "@babel/runtime": "^7.13.10", + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-rect": "1.0.1", + "@radix-ui/react-use-size": "1.0.1", + "@radix-ui/rect": "1.0.1" + } + }, + "@radix-ui/react-portal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", + "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + } + }, + "@radix-ui/react-presence": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", + "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + } + }, + "@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" + } + }, + "@radix-ui/react-roving-focus": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", + "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1" + } + }, + "@radix-ui/react-select": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.0.0.tgz", + "integrity": "sha512-RH5b7af4oHtkcHS7pG6Sgv5rk5Wxa7XI8W5gvB1N/yiuDGZxko1ynvOiVhFM7Cis2A8zxF9bTOUVbRDzPepe6w==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.1", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.3", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + } + }, + "@radix-ui/react-separator": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-separator/-/react-separator-1.0.3.tgz", + "integrity": "sha512-itYmTy/kokS21aiV5+Z56MZB54KrhPgn6eHDKkFeOLR34HMN2s8PaN47qZZAGnvupcjxHaFZnW4pQEh0BvvVuw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + } + }, + "@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + } + }, + "@radix-ui/react-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle/-/react-toggle-1.0.3.tgz", + "integrity": "sha512-Pkqg3+Bc98ftZGsl60CLANXQBBQ4W3mTFS9EJvNxKMZ7magklKV69/id1mlAlOFDDfHvlCms0fx8fA4CMKDJHg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + } + }, + "@radix-ui/react-toggle-group": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toggle-group/-/react-toggle-group-1.0.4.tgz", + "integrity": "sha512-Uaj/M/cMyiyT9Bx6fOZO0SAG4Cls0GptBWiBmBxofmDbNVnYYoyRWj/2M/6VCi/7qcXFWnHhRUfdfZFvvkuu8A==", + "dev": true, + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-toggle": "1.0.3", + "@radix-ui/react-use-controllable-state": "1.0.1" + } + }, + "@radix-ui/react-toolbar": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-toolbar/-/react-toolbar-1.0.4.tgz", + "integrity": "sha512-tBgmM/O7a07xbaEkYJWYTXkIdU/1pW4/KZORR43toC/4XWyBCURK0ei9kMUdp+gTPPKBgYLxXmRSH1EVcIDp8Q==", + "dev": true, + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-separator": "1.0.3", + "@radix-ui/react-toggle-group": "1.0.4" + } + }, + "@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + } + }, + "@radix-ui/react-use-escape-keydown": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", + "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + } + }, + "@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-use-previous": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz", + "integrity": "sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@radix-ui/react-use-rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz", + "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/rect": "1.0.1" + } + }, + "@radix-ui/react-use-size": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", + "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + } + }, + "@radix-ui/react-visually-hidden": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", + "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", + "requires": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + } + }, + "@radix-ui/rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz", + "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==", + "requires": { + "@babel/runtime": "^7.13.10" + } + }, + "@react-dev-inspector/babel-plugin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@react-dev-inspector/babel-plugin/-/babel-plugin-2.0.0.tgz", + "integrity": "sha512-KzSlNQ0BLzGfnfXPNCvfvj7S9rih3eCBfCoNNoo/8MvFtz3Zk6uNc5H2o5QdUfTn8THA5K1LW8kYwg2U/aZ7sg==", + "dev": true, + "requires": { + "@babel/core": "^7.20.5", + "@babel/generator": "^7.20.5", + "@babel/parser": "^7.20.5", + "@babel/traverse": "^7.20.5", + "@babel/types": "7.20.5" + }, + "dependencies": { + "@babel/types": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", + "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.19.4", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + } + } + } + }, + "@react-dev-inspector/middleware": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@react-dev-inspector/middleware/-/middleware-2.0.0.tgz", + "integrity": "sha512-6bmqhUNitwvXR7NNzJzHKaQmzJCvpB69AeIQcqask1FUcJEidaG8kxwewubqp/3JnU9SsofBSpfIOcb8CXb7RA==", + "dev": true, + "requires": { + "react-dev-utils": "12.0.1" + } + }, + "@react-dev-inspector/umi3-plugin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@react-dev-inspector/umi3-plugin/-/umi3-plugin-2.0.0.tgz", + "integrity": "sha512-evQ8/MU0GX+13GM2vw0P5E7q5AkLfOA3F3V4xox5sRo8dJPO/7kMJvXwqih0YPNV3DvvXUK2uZsYL2W7P1i9vg==", + "dev": true, + "requires": { + "@react-dev-inspector/babel-plugin": "2.0.0", + "@react-dev-inspector/middleware": "2.0.0" + } + }, + "@react-dev-inspector/umi4-plugin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@react-dev-inspector/umi4-plugin/-/umi4-plugin-2.0.0.tgz", + "integrity": "sha512-bRLWFGWdflRNcRceB8TpmSXfWz7T79QHX7P9VJBld4Tn7FsGzhGM0iuhhYWQ8yzj23OCO2GWQp+SS6+zfVnzCw==", + "dev": true, + "requires": { + "@react-dev-inspector/babel-plugin": "2.0.0", + "@react-dev-inspector/middleware": "2.0.0" + } + }, + "@react-dev-inspector/vite-plugin": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@react-dev-inspector/vite-plugin/-/vite-plugin-2.0.0.tgz", + "integrity": "sha512-dJqkBk1l3j+XA/OZJ3Jaqx3vGlAVKz0iXVvhjbjBsbqxHVVwIaehL/d3k/FHNGFkHL3wZTvs5pw8iSKq/sb/ng==", + "dev": true, + "requires": { + "@react-dev-inspector/middleware": "2.0.0" + } + }, + "@remix-run/router": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.11.0.tgz", + "integrity": "sha512-BHdhcWgeiudl91HvVa2wxqZjSHbheSgIiDvxrF1VjFzBzpTtuDPkOdOi3Iqvc08kXtFkLjhbS+ML9aM8mJS+wQ==" + }, + "@rollup/plugin-babel": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", + "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", + "requires": { + "@babel/helper-module-imports": "^7.10.4", + "@rollup/pluginutils": "^3.1.0" + } + }, + "@rollup/plugin-node-resolve": { + "version": "11.2.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", + "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "@types/resolve": "1.17.1", + "builtin-modules": "^3.1.0", + "deepmerge": "^4.2.2", + "is-module": "^1.0.0", + "resolve": "^1.19.0" + } + }, + "@rollup/plugin-replace": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", + "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", + "requires": { + "@rollup/pluginutils": "^3.1.0", + "magic-string": "^0.25.7" + } + }, + "@rollup/pluginutils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", + "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "requires": { + "@types/estree": "0.0.39", + "estree-walker": "^1.0.1", + "picomatch": "^2.2.2" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.39", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", + "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" + } + } + }, + "@rushstack/eslint-patch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz", + "integrity": "sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==" + }, + "@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==" + }, + "@sinonjs/commons": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", + "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", + "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", + "requires": { + "@sinonjs/commons": "^1.7.0" } }, - "@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "@storybook/addon-actions": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-7.6.17.tgz", + "integrity": "sha512-TBphs4v6LRfyTpFo/WINF0TkMaE3rrNog7wW5mbz6n0j8o53kDN4o9ZEcygSL5zQX43CAaghQTeDCss7ueG7ZQ==", + "dev": true, "requires": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" + "@storybook/core-events": "7.6.17", + "@storybook/global": "^5.0.0", + "@types/uuid": "^9.0.1", + "dequal": "^2.0.2", + "polished": "^4.2.2", + "uuid": "^9.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" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "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" - } - }, - "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" - } - }, - "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-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" - } - }, - "resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" + "uuid": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", + "integrity": "sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==", + "dev": true } } }, - "@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==" + "@storybook/addon-backgrounds": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-7.6.17.tgz", + "integrity": "sha512-7dize7x8+37PH77kmt69b0xSaeDqOcZ4fpzW6+hk53hIaCVU26eGs4+j+743Xva31eOgZWNLupUhOpUDc6SqZw==", + "dev": true, + "requires": { + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3", + "ts-dedent": "^2.0.0" + } }, - "@jest/console": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-27.5.1.tgz", - "integrity": "sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg==", + "@storybook/addon-controls": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-7.6.17.tgz", + "integrity": "sha512-zR0aLaUF7FtV/nMRyfniFbCls/e0DAAoXACuOAUAwNAv0lbIS8AyZZiHSmKucCvziUQ6WceeCC7+du3C+9y0rQ==", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "jest-message-util": "^27.5.1", - "jest-util": "^27.5.1", - "slash": "^3.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "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==" - }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "@storybook/blocks": "7.6.17", + "lodash": "^4.17.21", + "ts-dedent": "^2.0.0" + } + }, + "@storybook/addon-docs": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-7.6.17.tgz", + "integrity": "sha512-FKa4Mdy7nhgvEVZJHpMkHriDzpVHbohn87zv9NCL+Ctjs1iAmzGwxEm0culszyDS1HN2ToVoY0h8CSi2RSSZqA==", + "dev": true, + "requires": { + "@jest/transform": "^29.3.1", + "@mdx-js/react": "^2.1.5", + "@storybook/blocks": "7.6.17", + "@storybook/client-logger": "7.6.17", + "@storybook/components": "7.6.17", + "@storybook/csf-plugin": "7.6.17", + "@storybook/csf-tools": "7.6.17", + "@storybook/global": "^5.0.0", + "@storybook/mdx2-csf": "^1.0.0", + "@storybook/node-logger": "7.6.17", + "@storybook/postinstall": "7.6.17", + "@storybook/preview-api": "7.6.17", + "@storybook/react-dom-shim": "7.6.17", + "@storybook/theming": "7.6.17", + "@storybook/types": "7.6.17", + "fs-extra": "^11.1.0", + "remark-external-links": "^8.0.0", + "remark-slug": "^6.0.0", + "ts-dedent": "^2.0.0" + }, + "dependencies": { + "@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", + "pirates": "^4.0.4", "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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/core": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-27.5.1.tgz", - "integrity": "sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ==", - "requires": { - "@jest/console": "^27.5.1", - "@jest/reporters": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.8.1", - "exit": "^0.1.2", - "graceful-fs": "^4.2.9", - "jest-changed-files": "^27.5.1", - "jest-config": "^27.5.1", - "jest-haste-map": "^27.5.1", - "jest-message-util": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-resolve-dependencies": "^27.5.1", - "jest-runner": "^27.5.1", - "jest-runtime": "^27.5.1", - "jest-snapshot": "^27.5.1", - "jest-util": "^27.5.1", - "jest-validate": "^27.5.1", - "jest-watcher": "^27.5.1", - "micromatch": "^4.0.4", - "rimraf": "^3.0.0", - "slash": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", - "requires": { - "@types/yargs-parser": "*" + "write-file-atomic": "^4.0.2" } }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -25394,6 +36848,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -25403,6 +36858,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { "color-name": "~1.1.4" } @@ -25410,190 +36866,221 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "requires": { + "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==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "walker": "^1.0.8" } }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true + }, + "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==", + "dev": true, "requires": { - "@jest/types": "^27.5.1", "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.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==", + "dev": true, "requires": { "has-flag": "^4.0.0" } - } - } - }, - "@jest/environment": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz", - "integrity": "sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==", - "requires": { - "@jest/fake-timers": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "jest-mock": "^27.5.1" - }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "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==", + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, "requires": { - "has-flag": "^4.0.0" + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" } } } }, - "@jest/expect-utils": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", - "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "@storybook/addon-essentials": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-7.6.17.tgz", + "integrity": "sha512-qlSpamxuYfT2taF953nC9QijGF2pSbg1ewMNpdwLTj16PTZvR/d8NCDMTJujI1bDwM2m18u8Yc43ibh5LEmxCw==", + "dev": true, "requires": { - "jest-get-type": "^29.6.3" + "@storybook/addon-actions": "7.6.17", + "@storybook/addon-backgrounds": "7.6.17", + "@storybook/addon-controls": "7.6.17", + "@storybook/addon-docs": "7.6.17", + "@storybook/addon-highlight": "7.6.17", + "@storybook/addon-measure": "7.6.17", + "@storybook/addon-outline": "7.6.17", + "@storybook/addon-toolbars": "7.6.17", + "@storybook/addon-viewport": "7.6.17", + "@storybook/core-common": "7.6.17", + "@storybook/manager-api": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/preview-api": "7.6.17", + "ts-dedent": "^2.0.0" + } + }, + "@storybook/addon-highlight": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-7.6.17.tgz", + "integrity": "sha512-R1yBPUUqGn+60aJakn8q+5Zt34E/gU3n3VmgPdryP0LJUdZ5q1/RZShoVDV+yYQ40htMH6oaCv3OyyPzFAGJ6A==", + "dev": true, + "requires": { + "@storybook/global": "^5.0.0" } }, - "@jest/fake-timers": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz", - "integrity": "sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==", + "@storybook/addon-interactions": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-7.6.17.tgz", + "integrity": "sha512-6zlX+RDQ1PlA6fp7C+hun8t7h2RXfCGs5dGrhEenp2lqnR/rYuUJRC0tmKpkZBb8kZVcbSChzkB/JYkBjBCzpQ==", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@sinonjs/fake-timers": "^8.0.1", - "@types/node": "*", - "jest-message-util": "^27.5.1", - "jest-mock": "^27.5.1", - "jest-util": "^27.5.1" + "@storybook/global": "^5.0.0", + "@storybook/types": "7.6.17", + "jest-mock": "^27.0.6", + "polished": "^4.2.2", + "ts-dedent": "^2.2.0" + } + }, + "@storybook/addon-links": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-7.6.17.tgz", + "integrity": "sha512-iFUwKObRn0EKI0zMETsil2p9a/81rCuSMEWECsi+khkCAs1FUnD2cT6Ag5ydcNcBXsdtdfDJdtXQrkw+TSoStQ==", + "dev": true, + "requires": { + "@storybook/csf": "^0.1.2", + "@storybook/global": "^5.0.0", + "ts-dedent": "^2.0.0" + } + }, + "@storybook/addon-measure": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-7.6.17.tgz", + "integrity": "sha512-O5vnHZNkduvZ95jf1UssbOl6ivIxzl5tv+4EpScPYId7w700bxWsJH+QX7ip6KlrCf2o3iUhmPe8bm05ghG2KA==", + "requires": { + "@storybook/global": "^5.0.0", + "tiny-invariant": "^1.3.1" + } + }, + "@storybook/addon-outline": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-7.6.17.tgz", + "integrity": "sha512-9o9JXDsYjNaDgz/cY5+jv694+aik/1aiRGGvsCv68e1p/ob0glkGKav4lnJe2VJqD+gCmaARoD8GOJlhoQl8JQ==", + "dev": true, + "requires": { + "@storybook/global": "^5.0.0", + "ts-dedent": "^2.0.0" + } + }, + "@storybook/addon-toolbars": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-7.6.17.tgz", + "integrity": "sha512-UMrchbUHiyWrh6WuGnpy34Jqzkx/63B+MSgb3CW7YsQaXz64kE0Rol0TNSznnB+mYXplcqH+ndI4r4kFsmgwDg==", + "dev": true + }, + "@storybook/addon-viewport": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-7.6.17.tgz", + "integrity": "sha512-sA0QCcf4QAMixWvn8uvRYPfkKCSl6JajJaAspoPqXSxHEpK7uwOlpg3kqFU5XJJPXD0X957M+ONgNvBzYqSpEw==", + "dev": true, + "requires": { + "memoizerific": "^1.11.3" + } + }, + "@storybook/blocks": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/blocks/-/blocks-7.6.17.tgz", + "integrity": "sha512-PsNVoe0bX1mMn4Kk3nbKZ0ItDZZ0YJnYAFJ6toAbsyBAbgzg1sce88sQinzvbn58/RT9MPKeWMPB45ZS7ggiNg==", + "dev": true, + "requires": { + "@storybook/channels": "7.6.17", + "@storybook/client-logger": "7.6.17", + "@storybook/components": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/csf": "^0.1.2", + "@storybook/docs-tools": "7.6.17", + "@storybook/global": "^5.0.0", + "@storybook/manager-api": "7.6.17", + "@storybook/preview-api": "7.6.17", + "@storybook/theming": "7.6.17", + "@storybook/types": "7.6.17", + "@types/lodash": "^4.14.167", + "color-convert": "^2.0.1", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "markdown-to-jsx": "^7.1.8", + "memoizerific": "^1.11.3", + "polished": "^4.2.2", + "react-colorful": "^5.1.2", + "telejson": "^7.2.0", + "tocbot": "^4.20.1", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" }, "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", - "requires": { - "@types/yargs-parser": "*" - } - }, - "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==", + "dev": true, "requires": { "color-name": "~1.1.4" } @@ -25601,94 +37088,127 @@ "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==" - }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", - "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" - } - }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", - "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" - } - }, - "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" - } + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true } } }, - "@jest/globals": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-27.5.1.tgz", - "integrity": "sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q==", + "@storybook/builder-manager": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/builder-manager/-/builder-manager-7.6.17.tgz", + "integrity": "sha512-Sj8hcDYiPCCMfeLzus37czl0zdrAxAz4IyYam2jBjVymrIrcDAFyL1OCZvnq33ft179QYQWhUs9qwzVmlR/ZWg==", + "dev": true, "requires": { - "@jest/environment": "^27.5.1", - "@jest/types": "^27.5.1", - "expect": "^27.5.1" + "@fal-works/esbuild-plugin-global-externals": "^2.1.2", + "@storybook/core-common": "7.6.17", + "@storybook/manager": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@types/ejs": "^3.1.1", + "@types/find-cache-dir": "^3.2.1", + "@yarnpkg/esbuild-plugin-pnp": "^3.0.0-rc.10", + "browser-assert": "^1.2.1", + "ejs": "^3.1.8", + "esbuild": "^0.18.0", + "esbuild-plugin-alias": "^0.2.1", + "express": "^4.17.3", + "find-cache-dir": "^3.0.0", + "fs-extra": "^11.1.0", + "process": "^0.11.10", + "util": "^0.12.4" }, - "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", + "dependencies": { + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } - }, - "@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + } + } + }, + "@storybook/builder-webpack5": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-7.6.17.tgz", + "integrity": "sha512-GMaBd8/RzivuAmWrYSt9Rga3j8WLcu5LCMYiPVs+XKXsKAC8lTkV0WRWh8Nk6wTmfzsRQ2acwFjSG5oE4ClZKA==", + "dev": true, + "requires": { + "@babel/core": "^7.23.2", + "@storybook/channels": "7.6.17", + "@storybook/client-logger": "7.6.17", + "@storybook/core-common": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/core-webpack": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/preview": "7.6.17", + "@storybook/preview-api": "7.6.17", + "@swc/core": "^1.3.82", + "@types/node": "^18.0.0", + "@types/semver": "^7.3.4", + "babel-loader": "^9.0.0", + "browser-assert": "^1.2.1", + "case-sensitive-paths-webpack-plugin": "^2.4.0", + "cjs-module-lexer": "^1.2.3", + "constants-browserify": "^1.0.0", + "css-loader": "^6.7.1", + "es-module-lexer": "^1.4.1", + "express": "^4.17.3", + "fork-ts-checker-webpack-plugin": "^8.0.0", + "fs-extra": "^11.1.0", + "html-webpack-plugin": "^5.5.0", + "magic-string": "^0.30.5", + "path-browserify": "^1.0.1", + "process": "^0.11.10", + "semver": "^7.3.7", + "style-loader": "^3.3.1", + "swc-loader": "^0.2.3", + "terser-webpack-plugin": "^5.3.1", + "ts-dedent": "^2.0.0", + "url": "^0.11.0", + "util": "^0.12.4", + "util-deprecate": "^1.0.2", + "webpack": "5", + "webpack-dev-middleware": "^6.1.1", + "webpack-hot-middleware": "^2.25.1", + "webpack-virtual-modules": "^0.5.0" + }, + "dependencies": { + "@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dev": true, "requires": { - "@types/yargs-parser": "*" + "undici-types": "~5.26.4" } }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } }, + "babel-loader": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", + "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", + "dev": true, + "requires": { + "find-cache-dir": "^4.0.0", + "schema-utils": "^4.0.0" + } + }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -25698,6 +37218,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { "color-name": "~1.1.4" } @@ -25705,138 +37226,285 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "diff-sequences": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz", - "integrity": "sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==" + "find-cache-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", + "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", + "dev": true, + "requires": { + "common-path-prefix": "^3.0.0", + "pkg-dir": "^7.0.0" + } }, - "expect": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/expect/-/expect-27.5.1.tgz", - "integrity": "sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw==", + "find-up": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", + "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "jest-get-type": "^27.5.1", - "jest-matcher-utils": "^27.5.1", - "jest-message-util": "^27.5.1" + "locate-path": "^7.1.0", + "path-exists": "^5.0.0" + } + }, + "fork-ts-checker-webpack-plugin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-8.0.0.tgz", + "integrity": "sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "chalk": "^4.1.2", + "chokidar": "^3.5.3", + "cosmiconfig": "^7.0.1", + "deepmerge": "^4.2.2", + "fs-extra": "^10.0.0", + "memfs": "^3.4.1", + "minimatch": "^3.0.4", + "node-abort-controller": "^3.0.1", + "schema-utils": "^3.1.1", + "semver": "^7.3.5", + "tapable": "^2.2.1" + }, + "dependencies": { + "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==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.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==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "requires": { + "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==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, - "jest-diff": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz", - "integrity": "sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==", + "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==", + "dev": true + }, + "locate-path": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", + "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", + "dev": true, "requires": { - "chalk": "^4.0.0", - "diff-sequences": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "p-locate": "^6.0.0" } }, - "jest-get-type": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==" + "magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } }, - "jest-matcher-utils": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz", - "integrity": "sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==", + "p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, "requires": { - "chalk": "^4.0.0", - "jest-diff": "^27.5.1", - "jest-get-type": "^27.5.1", - "pretty-format": "^27.5.1" + "yocto-queue": "^1.0.0" } }, - "jest-message-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz", - "integrity": "sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==", + "p-locate": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", + "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", + "dev": true, "requires": { - "@babel/code-frame": "^7.12.13", - "@jest/types": "^27.5.1", - "@types/stack-utils": "^2.0.0", - "chalk": "^4.0.0", - "graceful-fs": "^4.2.9", - "micromatch": "^4.0.4", - "pretty-format": "^27.5.1", - "slash": "^3.0.0", - "stack-utils": "^2.0.3" + "p-limit": "^4.0.0" + } + }, + "path-exists": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", + "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", + "dev": true + }, + "pkg-dir": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", + "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", + "dev": true, + "requires": { + "find-up": "^6.3.0" + } + }, + "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==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" + }, + "dependencies": { + "ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "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==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + } } }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "requires": { "has-flag": "^4.0.0" } + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "webpack-dev-middleware": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.2.tgz", + "integrity": "sha512-Wu+EHmX326YPYUpQLKmKbTyZZJIB8/n6R09pTmB03kJmnMsVPTo9COzHZFr01txwaCAuZvfBJE4ZCHRcKs5JaQ==", + "dev": true, + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.12", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + } + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true } } }, - "@jest/reporters": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-27.5.1.tgz", - "integrity": "sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw==", + "@storybook/channels": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/channels/-/channels-7.6.17.tgz", + "integrity": "sha512-GFG40pzaSxk1hUr/J/TMqW5AFDDPUSu+HkeE/oqSWJbOodBOLJzHN6CReJS6y1DjYSZLNFt1jftPWZZInG/XUA==", + "dev": true, "requires": { - "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^27.5.1", - "@jest/test-result": "^27.5.1", - "@jest/transform": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "collect-v8-coverage": "^1.0.0", - "exit": "^0.1.2", - "glob": "^7.1.2", - "graceful-fs": "^4.2.9", - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.0", - "istanbul-reports": "^3.1.3", - "jest-haste-map": "^27.5.1", - "jest-resolve": "^27.5.1", - "jest-util": "^27.5.1", - "jest-worker": "^27.5.1", - "slash": "^3.0.0", - "source-map": "^0.6.0", - "string-length": "^4.0.1", - "terminal-link": "^2.0.0", - "v8-to-istanbul": "^8.1.0" + "@storybook/client-logger": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/global": "^5.0.0", + "qs": "^6.10.0", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1" + } + }, + "@storybook/cli": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/cli/-/cli-7.6.17.tgz", + "integrity": "sha512-1sCo+nCqyR+nKfTcEidVu8XzNoECC7Y1l+uW38/r7s2f/TdDorXaIGAVrpjbSaXSoQpx5DxYJVaKCcQuOgqwcA==", + "dev": true, + "requires": { + "@babel/core": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/types": "^7.23.0", + "@ndelangen/get-tarball": "^3.0.7", + "@storybook/codemod": "7.6.17", + "@storybook/core-common": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/core-server": "7.6.17", + "@storybook/csf-tools": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/telemetry": "7.6.17", + "@storybook/types": "7.6.17", + "@types/semver": "^7.3.4", + "@yarnpkg/fslib": "2.10.3", + "@yarnpkg/libzip": "2.3.0", + "chalk": "^4.1.0", + "commander": "^6.2.1", + "cross-spawn": "^7.0.3", + "detect-indent": "^6.1.0", + "envinfo": "^7.7.3", + "execa": "^5.0.0", + "express": "^4.17.3", + "find-up": "^5.0.0", + "fs-extra": "^11.1.0", + "get-npm-tarball-url": "^2.0.3", + "get-port": "^5.1.1", + "giget": "^1.0.0", + "globby": "^11.0.2", + "jscodeshift": "^0.15.1", + "leven": "^3.1.0", + "ora": "^5.4.1", + "prettier": "^2.8.0", + "prompts": "^2.4.0", + "puppeteer-core": "^2.1.1", + "read-pkg-up": "^7.0.1", + "semver": "^7.3.7", + "strip-json-comments": "^3.0.1", + "tempy": "^1.0.1", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" }, "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", - "requires": { - "@types/yargs-parser": "*" - } - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -25845,6 +37513,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -25854,6 +37523,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { "color-name": "~1.1.4" } @@ -25861,207 +37531,285 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "requires": { "has-flag": "^4.0.0" } + }, + "tempy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tempy/-/tempy-1.0.1.tgz", + "integrity": "sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==", + "dev": true, + "requires": { + "del": "^6.0.0", + "is-stream": "^2.0.0", + "temp-dir": "^2.0.0", + "type-fest": "^0.16.0", + "unique-string": "^2.0.0" + } + }, + "type-fest": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.16.0.tgz", + "integrity": "sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==", + "dev": true } } }, - "@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==", + "@storybook/client-logger": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/client-logger/-/client-logger-7.6.17.tgz", + "integrity": "sha512-6WBYqixAXNAXlSaBWwgljWpAu10tPRBJrcFvx2gPUne58EeMM20Gi/iHYBz2kMCY+JLAgeIH7ZxInqwO8vDwiQ==", + "dev": true, "requires": { - "@sinclair/typebox": "^0.27.8" + "@storybook/global": "^5.0.0" } }, - "@jest/source-map": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-27.5.1.tgz", - "integrity": "sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg==", + "@storybook/codemod": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/codemod/-/codemod-7.6.17.tgz", + "integrity": "sha512-JuTmf2u3C4fCnjO7o3dqRgrq3ozNYfWlrRP8xuIdvT7niMap7a396hJtSKqS10FxCgKFcMAOsRgrCalH1dWxUg==", + "dev": true, "requires": { - "callsites": "^3.0.0", - "graceful-fs": "^4.2.9", - "source-map": "^0.6.0" + "@babel/core": "^7.23.2", + "@babel/preset-env": "^7.23.2", + "@babel/types": "^7.23.0", + "@storybook/csf": "^0.1.2", + "@storybook/csf-tools": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/types": "7.6.17", + "@types/cross-spawn": "^6.0.2", + "cross-spawn": "^7.0.3", + "globby": "^11.0.2", + "jscodeshift": "^0.15.1", + "lodash": "^4.17.21", + "prettier": "^2.8.0", + "recast": "^0.23.1" }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true } } }, - "@jest/test-result": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-27.5.1.tgz", - "integrity": "sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag==", + "@storybook/components": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/components/-/components-7.6.17.tgz", + "integrity": "sha512-lbh7GynMidA+CZcJnstVku6Nhs+YkqjYaZ+mKPugvlVhGVWv0DaaeQFVuZ8cJtUGJ/5FFU4Y+n+gylYUHkGBMA==", + "dev": true, "requires": { - "@jest/console": "^27.5.1", - "@jest/types": "^27.5.1", - "@types/istanbul-lib-coverage": "^2.0.0", - "collect-v8-coverage": "^1.0.0" + "@radix-ui/react-select": "^1.2.2", + "@radix-ui/react-toolbar": "^1.0.4", + "@storybook/client-logger": "7.6.17", + "@storybook/csf": "^0.1.2", + "@storybook/global": "^5.0.0", + "@storybook/theming": "7.6.17", + "@storybook/types": "7.6.17", + "memoizerific": "^1.11.3", + "use-resize-observer": "^9.1.0", + "util-deprecate": "^1.0.2" }, "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "@radix-ui/react-dismissable-layer": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.4.tgz", + "integrity": "sha512-7UpBa/RKMoHJYjie1gkF1DlK8l1fdU/VKDpoS3rCCo8YBJR294GwcEHyxHw72yvphJ7ld0AXEcSLAzY2F/WyCg==", + "dev": true, "requires": { - "@types/yargs-parser": "*" + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" } }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "@radix-ui/react-focus-scope": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.3.tgz", + "integrity": "sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==", + "dev": true, "requires": { - "color-convert": "^2.0.1" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1" } }, - "chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "@radix-ui/react-popper": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.2.tgz", + "integrity": "sha512-1CnGGfFi/bbqtJZZ0P/NQY20xdG3E0LALJaLUEoKwPLwl6PPPfbeiCqMVQnhoFRAxjJj4RpBRJzDmUgsex2tSg==", + "dev": true, "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==", + "@babel/runtime": "^7.13.10", + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-rect": "1.0.1", + "@radix-ui/react-use-size": "1.0.1", + "@radix-ui/rect": "1.0.1" + } + }, + "@radix-ui/react-portal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.3.tgz", + "integrity": "sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==", + "dev": true, "requires": { - "color-name": "~1.1.4" + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" } }, - "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==", + "@radix-ui/react-select": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-1.2.2.tgz", + "integrity": "sha512-zI7McXr8fNaSrUY9mZe4x/HC0jTLY9fWNhO1oLWYMQGDXuV4UCivIGTxwioSzO0ZCYX9iSLyWmAh/1TOmX3Cnw==", + "dev": true, "requires": { - "has-flag": "^4.0.0" + "@babel/runtime": "^7.13.10", + "@radix-ui/number": "1.0.1", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.4", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.3", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.2", + "@radix-ui/react-portal": "1.0.3", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-previous": "1.0.1", + "@radix-ui/react-visually-hidden": "1.0.3", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" } } } }, - "@jest/test-sequencer": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz", - "integrity": "sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ==", + "@storybook/core-client": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/core-client/-/core-client-7.6.17.tgz", + "integrity": "sha512-LuDbADK+DPNAOOCXOlvY09hdGVueXlDetsdOJ/DgYnSa9QSWv9Uv+F8QcEgR3QckZJbPlztKJIVLgP2n/Xkijw==", + "dev": true, "requires": { - "@jest/test-result": "^27.5.1", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-runtime": "^27.5.1" + "@storybook/client-logger": "7.6.17", + "@storybook/preview-api": "7.6.17" } }, - "@jest/transform": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-27.5.1.tgz", - "integrity": "sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw==", + "@storybook/core-common": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/core-common/-/core-common-7.6.17.tgz", + "integrity": "sha512-me2TP3Q9/qzqCLoDHUSsUF+VS1MHxfHbTVF6vAz0D/COTxzsxLpu9TxTbzJoBCxse6XRb6wWI1RgF1mIcjic7g==", + "dev": true, "requires": { - "@babel/core": "^7.1.0", - "@jest/types": "^27.5.1", - "babel-plugin-istanbul": "^6.1.1", - "chalk": "^4.0.0", - "convert-source-map": "^1.4.0", - "fast-json-stable-stringify": "^2.0.0", - "graceful-fs": "^4.2.9", - "jest-haste-map": "^27.5.1", - "jest-regex-util": "^27.5.1", - "jest-util": "^27.5.1", - "micromatch": "^4.0.4", - "pirates": "^4.0.4", - "slash": "^3.0.0", - "source-map": "^0.6.1", - "write-file-atomic": "^3.0.0" + "@storybook/core-events": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/types": "7.6.17", + "@types/find-cache-dir": "^3.2.1", + "@types/node": "^18.0.0", + "@types/node-fetch": "^2.6.4", + "@types/pretty-hrtime": "^1.0.0", + "chalk": "^4.1.0", + "esbuild": "^0.18.0", + "esbuild-register": "^3.5.0", + "file-system-cache": "2.3.0", + "find-cache-dir": "^3.0.0", + "find-up": "^5.0.0", + "fs-extra": "^11.1.0", + "glob": "^10.0.0", + "handlebars": "^4.7.7", + "lazy-universal-dotenv": "^4.0.0", + "node-fetch": "^2.0.0", + "picomatch": "^2.3.0", + "pkg-dir": "^5.0.0", + "pretty-hrtime": "^1.0.3", + "resolve-from": "^5.0.0", + "ts-dedent": "^2.0.0" }, "dependencies": { - "@jest/types": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz", - "integrity": "sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==", - "requires": { - "@types/istanbul-lib-coverage": "^2.0.0", - "@types/istanbul-reports": "^3.0.0", - "@types/node": "*", - "@types/yargs": "^16.0.0", - "chalk": "^4.0.0" - } - }, - "@types/yargs": { - "version": "16.0.7", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.7.tgz", - "integrity": "sha512-lQcYmxWuOfJq4IncK88/nwud9rwr1F04CFc5xzk0k4oKVyz/AI35TfsXmhjf6t8zp8mpCOi17BfvuNWx+zrYkg==", + "@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dev": true, "requires": { - "@types/yargs-parser": "*" + "undici-types": "~5.26.4" } }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, "chalk": { "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -26071,6 +37819,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { "color-name": "~1.1.4" } @@ -26078,63 +37827,146 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, - "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==" + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + } }, "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, - "jest-util": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz", - "integrity": "sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==", + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, "requires": { - "@jest/types": "^27.5.1", - "@types/node": "*", - "chalk": "^4.0.0", - "ci-info": "^3.2.0", - "graceful-fs": "^4.2.9", - "picomatch": "^2.2.3" + "brace-expansion": "^2.0.1" } }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + "pkg-dir": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz", + "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==", + "dev": true, + "requires": { + "find-up": "^5.0.0" + } + }, + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "requires": { "has-flag": "^4.0.0" } } } }, - "@jest/types": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", - "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "@storybook/core-events": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/core-events/-/core-events-7.6.17.tgz", + "integrity": "sha512-AriWMCm/k1cxlv10f+jZ1wavThTRpLaN3kY019kHWbYT9XgaSuLU67G7GPr3cGnJ6HuA6uhbzu8qtqVCd6OfXA==", + "dev": true, "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": { + "ts-dedent": "^2.0.0" + } + }, + "@storybook/core-server": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/core-server/-/core-server-7.6.17.tgz", + "integrity": "sha512-KWGhTTaL1Q14FolcoKKZgytlPJUbH6sbJ1Ptj/84EYWFewcnEgVs0Zlnh1VStRZg+Rd1WC1V4yVd/bbDzxrvQA==", + "dev": true, + "requires": { + "@aw-web-design/x-default-browser": "1.4.126", + "@discoveryjs/json-ext": "^0.5.3", + "@storybook/builder-manager": "7.6.17", + "@storybook/channels": "7.6.17", + "@storybook/core-common": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/csf": "^0.1.2", + "@storybook/csf-tools": "7.6.17", + "@storybook/docs-mdx": "^0.1.0", + "@storybook/global": "^5.0.0", + "@storybook/manager": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/preview-api": "7.6.17", + "@storybook/telemetry": "7.6.17", + "@storybook/types": "7.6.17", + "@types/detect-port": "^1.3.0", + "@types/node": "^18.0.0", + "@types/pretty-hrtime": "^1.0.0", + "@types/semver": "^7.3.4", + "better-opn": "^3.0.2", + "chalk": "^4.1.0", + "cli-table3": "^0.6.1", + "compression": "^1.7.4", + "detect-port": "^1.3.0", + "express": "^4.17.3", + "fs-extra": "^11.1.0", + "globby": "^11.0.2", + "ip": "^2.0.1", + "lodash": "^4.17.21", + "open": "^8.4.0", + "pretty-hrtime": "^1.0.3", + "prompts": "^2.4.0", + "read-pkg-up": "^7.0.1", + "semver": "^7.3.7", + "telejson": "^7.2.0", + "tiny-invariant": "^1.3.1", + "ts-dedent": "^2.0.0", + "util": "^0.12.4", + "util-deprecate": "^1.0.2", + "watchpack": "^2.2.0", + "ws": "^8.2.3" + }, + "dependencies": { + "@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dev": true, + "requires": { + "undici-types": "~5.26.4" + } + }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -26143,6 +37975,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -26152,6 +37985,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { "color-name": "~1.1.4" } @@ -26159,736 +37993,1650 @@ "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==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "requires": { + "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==" + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "requires": { "has-flag": "^4.0.0" } + }, + "ws": { + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", + "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", + "dev": true, + "requires": {} } } }, - "@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==" - }, - "@nicolo-ribaudo/eslint-scope-5-internals": { - "version": "5.1.1-v1", - "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", - "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", + "@storybook/core-webpack": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-7.6.17.tgz", + "integrity": "sha512-PyGrFhRM8sTONGwwLWLqBQ1HO+LBnVZ+5TOQO7ejQfdV2FWyNOzjBXm2e5jL/C6XlqiEhmL5pyHEyDBaQJQ3KA==", + "dev": true, "requires": { - "eslint-scope": "5.1.1" + "@storybook/core-common": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/types": "7.6.17", + "@types/node": "^18.0.0", + "ts-dedent": "^2.0.0" }, "dependencies": { - "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==", + "@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dev": true, "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "undici-types": "~5.26.4" } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" } } }, - "@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" - } - }, - "@pkgr/utils": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", - "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "@storybook/csf": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@storybook/csf/-/csf-0.1.3.tgz", + "integrity": "sha512-IPZvXXo4b3G+gpmgBSBqVM81jbp2ePOKsvhgJdhyZJtkYQCII7rg9KKLQhvBQM5sLaF1eU6r0iuwmyynC9d9SA==", "dev": true, "requires": { - "cross-spawn": "^7.0.3", - "fast-glob": "^3.3.0", - "is-glob": "^4.0.3", - "open": "^9.1.0", - "picocolors": "^1.0.0", - "tslib": "^2.6.0" + "type-fest": "^2.19.0" }, "dependencies": { - "define-lazy-prop": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", - "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", "dev": true - }, - "open": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", - "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", - "dev": true, - "requires": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" - } } } }, - "@pmmmwh/react-refresh-webpack-plugin": { - "version": "0.5.11", - "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.11.tgz", - "integrity": "sha512-7j/6vdTym0+qZ6u4XbSAxrWBGYSdCfTzySkj7WAFgDLmSyWlOrWvpyzxlFh5jtw9dn0oL/jtW+06XfFiisN3JQ==", + "@storybook/csf-plugin": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-7.6.17.tgz", + "integrity": "sha512-xTHv9BUh3bkDVCvcbmdfVF0/e96BdrEgqPJ3G3RmKbSzWLOkQ2U9yiPfHzT0KJWPhVwj12fjfZp0zunu+pcS6Q==", + "dev": true, "requires": { - "ansi-html-community": "^0.0.8", - "common-path-prefix": "^3.0.0", - "core-js-pure": "^3.23.3", - "error-stack-parser": "^2.0.6", - "find-up": "^5.0.0", - "html-entities": "^2.1.0", - "loader-utils": "^2.0.4", - "schema-utils": "^3.0.0", - "source-map": "^0.7.3" + "@storybook/csf-tools": "7.6.17", + "unplugin": "^1.3.1" + } + }, + "@storybook/csf-tools": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-7.6.17.tgz", + "integrity": "sha512-dAQtam0EBPeTJYcQPLxXgz4L9JFqD+HWbLFG9CmNIhMMjticrB0mpk1EFIS6vPXk/VsVWpBgMLD7dZlD6YMKcQ==", + "dev": true, + "requires": { + "@babel/generator": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/traverse": "^7.23.2", + "@babel/types": "^7.23.0", + "@storybook/csf": "^0.1.2", + "@storybook/types": "7.6.17", + "fs-extra": "^11.1.0", + "recast": "^0.23.1", + "ts-dedent": "^2.0.0" }, "dependencies": { - "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" - } - }, - "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==", + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, "requires": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" } } } }, - "@radix-ui/number": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/number/-/number-1.0.1.tgz", - "integrity": "sha512-T5gIdVO2mmPW3NNhjNgEP3cqMXjXL9UbO0BzWcXfvdBs+BohbQxvd/K5hSVKmn9/lbTdsQVKbUcP5WLCwvUbBg==", - "requires": { - "@babel/runtime": "^7.13.10" - } - }, - "@radix-ui/primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", - "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", - "requires": { - "@babel/runtime": "^7.13.10" - } - }, - "@radix-ui/react-alert-dialog": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-alert-dialog/-/react-alert-dialog-1.0.5.tgz", - "integrity": "sha512-OrVIOcZL0tl6xibeuGt5/+UxoT2N27KCFOPjFyfXMnchxSHZ/OW7cCX2nGlIYJrbHK/fczPcFzAwvNBB6XBNMA==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-dialog": "1.0.5", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-slot": "1.0.2" - } - }, - "@radix-ui/react-arrow": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz", - "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" - } - }, - "@radix-ui/react-checkbox": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-checkbox/-/react-checkbox-1.0.4.tgz", - "integrity": "sha512-CBuGQa52aAYnADZVt/KBQzXrwx6TqnlwtcIPGtVt5JkkzQwMOLJjPukimhfKEr4GQNd43C+djUh5Ikopj8pSLg==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-presence": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-controllable-state": "1.0.1", - "@radix-ui/react-use-previous": "1.0.1", - "@radix-ui/react-use-size": "1.0.1" - } - }, - "@radix-ui/react-collection": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", - "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-slot": "1.0.2" - } - }, - "@radix-ui/react-compose-refs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", - "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", - "requires": { - "@babel/runtime": "^7.13.10" - } - }, - "@radix-ui/react-context": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", - "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", - "requires": { - "@babel/runtime": "^7.13.10" - } - }, - "@radix-ui/react-dialog": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.0.5.tgz", - "integrity": "sha512-GjWJX/AUpB703eEBanuBnIWdIXg6NvJFCXcNlSZk4xdszCdhrJgBoUd1cGk67vFO+WdA2pfI/plOpqz/5GUP6Q==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-dismissable-layer": "1.0.5", - "@radix-ui/react-focus-guards": "1.0.1", - "@radix-ui/react-focus-scope": "1.0.4", - "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-portal": "1.0.4", - "@radix-ui/react-presence": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-slot": "1.0.2", - "@radix-ui/react-use-controllable-state": "1.0.1", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.5.5" - } - }, - "@radix-ui/react-direction": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", - "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", - "requires": { - "@babel/runtime": "^7.13.10" - } - }, - "@radix-ui/react-dismissable-layer": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", - "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-escape-keydown": "1.0.3" - } - }, - "@radix-ui/react-dropdown-menu": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-2.0.6.tgz", - "integrity": "sha512-i6TuFOoWmLWq+M/eCLGd/bQ2HfAX1RJgvrBQ6AQLmzfvsLdefxbWu8G9zczcPFfcSPehz9GcpF6K9QYreFV8hA==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-menu": "2.0.6", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-controllable-state": "1.0.1" - } - }, - "@radix-ui/react-focus-guards": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", - "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", - "requires": { - "@babel/runtime": "^7.13.10" - } - }, - "@radix-ui/react-focus-scope": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz", - "integrity": "sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1" - } - }, - "@radix-ui/react-id": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", - "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-layout-effect": "1.0.1" - } - }, - "@radix-ui/react-label": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-label/-/react-label-2.0.2.tgz", - "integrity": "sha512-N5ehvlM7qoTLx7nWPodsPYPgMzA5WM8zZChQg8nyFJKnDO5WHdba1vv5/H6IO5LtJMfD2Q3wh1qHFGNtK0w3bQ==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" - } - }, - "@radix-ui/react-menu": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.0.6.tgz", - "integrity": "sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-collection": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-dismissable-layer": "1.0.5", - "@radix-ui/react-focus-guards": "1.0.1", - "@radix-ui/react-focus-scope": "1.0.4", - "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-popper": "1.1.3", - "@radix-ui/react-portal": "1.0.4", - "@radix-ui/react-presence": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-roving-focus": "1.0.4", - "@radix-ui/react-slot": "1.0.2", - "@radix-ui/react-use-callback-ref": "1.0.1", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.5.5" - } - }, - "@radix-ui/react-popover": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-1.0.7.tgz", - "integrity": "sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-dismissable-layer": "1.0.5", - "@radix-ui/react-focus-guards": "1.0.1", - "@radix-ui/react-focus-scope": "1.0.4", - "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-popper": "1.1.3", - "@radix-ui/react-portal": "1.0.4", - "@radix-ui/react-presence": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-slot": "1.0.2", - "@radix-ui/react-use-controllable-state": "1.0.1", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.5.5" - } + "@storybook/docs-mdx": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@storybook/docs-mdx/-/docs-mdx-0.1.0.tgz", + "integrity": "sha512-JDaBR9lwVY4eSH5W8EGHrhODjygPd6QImRbwjAuJNEnY0Vw4ie3bPkeGfnacB3OBW6u/agqPv2aRlR46JcAQLg==", + "dev": true }, - "@radix-ui/react-popper": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.3.tgz", - "integrity": "sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==", + "@storybook/docs-tools": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/docs-tools/-/docs-tools-7.6.17.tgz", + "integrity": "sha512-bYrLoj06adqklyLkEwD32C0Ww6t+9ZVvrJHiVT42bIhTRpFiFPAetl1a9KPHtFLnfduh4n2IxIr1jv32ThPDTA==", + "dev": true, "requires": { - "@babel/runtime": "^7.13.10", - "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-layout-effect": "1.0.1", - "@radix-ui/react-use-rect": "1.0.1", - "@radix-ui/react-use-size": "1.0.1", - "@radix-ui/rect": "1.0.1" + "@storybook/core-common": "7.6.17", + "@storybook/preview-api": "7.6.17", + "@storybook/types": "7.6.17", + "@types/doctrine": "^0.0.3", + "assert": "^2.1.0", + "doctrine": "^3.0.0", + "lodash": "^4.17.21" } }, - "@radix-ui/react-portal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", - "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" - } + "@storybook/global": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@storybook/global/-/global-5.0.0.tgz", + "integrity": "sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==" }, - "@radix-ui/react-presence": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", - "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", + "@storybook/instrumenter": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-7.6.17.tgz", + "integrity": "sha512-zTLIPTt1fvlWgkIVUyQpF327iVE+EiPdpM0Or0aARaNfIikPRBTcjU+6cK96E+Ust2E1qKajEjIuv4i4lLQPng==", + "dev": true, "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-use-layout-effect": "1.0.1" + "@storybook/channels": "7.6.17", + "@storybook/client-logger": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/global": "^5.0.0", + "@storybook/preview-api": "7.6.17", + "@vitest/utils": "^0.34.6", + "util": "^0.12.4" } }, - "@radix-ui/react-primitive": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", - "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-slot": "1.0.2" - } + "@storybook/manager": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/manager/-/manager-7.6.17.tgz", + "integrity": "sha512-A1LDDIqMpwRzq/dqkbbiza0QI04o4ZHCl2a3UMDZUV/+QLc2nsr2DAaLk4CVL4/cIc5zGqmIcaOTvprx2YKVBw==", + "dev": true }, - "@radix-ui/react-roving-focus": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", - "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", + "@storybook/manager-api": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-7.6.17.tgz", + "integrity": "sha512-IJIV1Yc6yw1dhCY4tReHCfBnUKDqEBnMyHp3mbXpsaHxnxJZrXO45WjRAZIKlQKhl/Ge1CrnznmHRCmYgqmrWg==", + "dev": true, "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-collection": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-controllable-state": "1.0.1" + "@storybook/channels": "7.6.17", + "@storybook/client-logger": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/csf": "^0.1.2", + "@storybook/global": "^5.0.0", + "@storybook/router": "7.6.17", + "@storybook/theming": "7.6.17", + "@storybook/types": "7.6.17", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "store2": "^2.14.2", + "telejson": "^7.2.0", + "ts-dedent": "^2.0.0" } }, - "@radix-ui/react-select": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@radix-ui/react-select/-/react-select-2.0.0.tgz", - "integrity": "sha512-RH5b7af4oHtkcHS7pG6Sgv5rk5Wxa7XI8W5gvB1N/yiuDGZxko1ynvOiVhFM7Cis2A8zxF9bTOUVbRDzPepe6w==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/number": "1.0.1", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-collection": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-dismissable-layer": "1.0.5", - "@radix-ui/react-focus-guards": "1.0.1", - "@radix-ui/react-focus-scope": "1.0.4", - "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-popper": "1.1.3", - "@radix-ui/react-portal": "1.0.4", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-slot": "1.0.2", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-controllable-state": "1.0.1", - "@radix-ui/react-use-layout-effect": "1.0.1", - "@radix-ui/react-use-previous": "1.0.1", - "@radix-ui/react-visually-hidden": "1.0.3", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.5.5" - } + "@storybook/mdx2-csf": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@storybook/mdx2-csf/-/mdx2-csf-1.1.0.tgz", + "integrity": "sha512-TXJJd5RAKakWx4BtpwvSNdgTDkKM6RkXU8GK34S/LhidQ5Pjz3wcnqb0TxEkfhK/ztbP8nKHqXFwLfa2CYkvQw==", + "dev": true }, - "@radix-ui/react-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", - "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", - "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1" - } + "@storybook/node-logger": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/node-logger/-/node-logger-7.6.17.tgz", + "integrity": "sha512-w59MQuXhhUNrUVmVkXhMwIg2nvFWjdDczLTwYLorhfsE36CWeUOY5QCZWQy0Qf/h+jz8Uo7Evy64qn18v9C4wA==", + "dev": true }, - "@radix-ui/react-use-callback-ref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", - "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", - "requires": { - "@babel/runtime": "^7.13.10" - } + "@storybook/postinstall": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/postinstall/-/postinstall-7.6.17.tgz", + "integrity": "sha512-WaWqB8o9vUc9aaVls+povQSVirf1Xd1LZcVhUKfAocAF3mzYUsnJsVqvnbjRj/F96UFVihOyDt9Zjl/9OvrCvQ==", + "dev": true }, - "@radix-ui/react-use-controllable-state": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", - "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", + "@storybook/preset-create-react-app": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/preset-create-react-app/-/preset-create-react-app-7.6.17.tgz", + "integrity": "sha512-iLjIKBG7UK/iac7wdm3JJcoHss3wKUuHuMJ/cc10UGJdBe1kEJnkcnab/whPhWo3E59wXBLkCXoh9BwiOP8sbw==", + "dev": true, "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.1" + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.1", + "@storybook/react-docgen-typescript-plugin": "1.0.6--canary.9.0c3f3b7.0", + "@storybook/types": "7.6.17", + "@types/babel__core": "^7.1.7", + "@types/semver": "^7.3.4", + "pnp-webpack-plugin": "^1.7.0", + "semver": "^7.3.5" } }, - "@radix-ui/react-use-escape-keydown": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", - "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", + "@storybook/preset-react-webpack": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-7.6.17.tgz", + "integrity": "sha512-gn/LvIbll9loOkzwbFlxzOZGmJ6t1vF2/gfi+p/N/AifDYe8+LVM1QV4KRVKt6UEJwsQd79lKf7vPH92AQaKKQ==", + "dev": true, "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.1" + "@babel/preset-flow": "^7.22.15", + "@babel/preset-react": "^7.22.15", + "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", + "@storybook/core-webpack": "7.6.17", + "@storybook/docs-tools": "7.6.17", + "@storybook/node-logger": "7.6.17", + "@storybook/react": "7.6.17", + "@storybook/react-docgen-typescript-plugin": "1.0.6--canary.9.0c3f3b7.0", + "@types/node": "^18.0.0", + "@types/semver": "^7.3.4", + "babel-plugin-add-react-displayname": "^0.0.5", + "fs-extra": "^11.1.0", + "magic-string": "^0.30.5", + "react-docgen": "^7.0.0", + "react-refresh": "^0.14.0", + "semver": "^7.3.7", + "webpack": "5" + }, + "dependencies": { + "@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dev": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "magic-string": { + "version": "0.30.8", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.8.tgz", + "integrity": "sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==", + "dev": true, + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "react-refresh": { + "version": "0.14.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.0.tgz", + "integrity": "sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==", + "dev": true + } } }, - "@radix-ui/react-use-layout-effect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", - "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "@storybook/preview": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/preview/-/preview-7.6.17.tgz", + "integrity": "sha512-LvkMYK/y6alGjwRVNDIKL1lFlbyZ0H0c8iAbcQkiMoaFiujMQyVswMDKlWcj42Upfr/B1igydiruomc+eUt0mw==", + "dev": true + }, + "@storybook/preview-api": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-7.6.17.tgz", + "integrity": "sha512-wLfDdI9RWo1f2zzFe54yRhg+2YWyxLZvqdZnSQ45mTs4/7xXV5Wfbv3QNTtcdw8tT3U5KRTrN1mTfTCiRJc0Kw==", + "dev": true, "requires": { - "@babel/runtime": "^7.13.10" + "@storybook/channels": "7.6.17", + "@storybook/client-logger": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/csf": "^0.1.2", + "@storybook/global": "^5.0.0", + "@storybook/types": "7.6.17", + "@types/qs": "^6.9.5", + "dequal": "^2.0.2", + "lodash": "^4.17.21", + "memoizerific": "^1.11.3", + "qs": "^6.10.0", + "synchronous-promise": "^2.0.15", + "ts-dedent": "^2.0.0", + "util-deprecate": "^1.0.2" } }, - "@radix-ui/react-use-previous": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-previous/-/react-use-previous-1.0.1.tgz", - "integrity": "sha512-cV5La9DPwiQ7S0gf/0qiD6YgNqM5Fk97Kdrlc5yBcrF3jyEZQwm7vYFqMo4IfeHgJXsRaMvLABFtd0OVEmZhDw==", + "@storybook/react": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/react/-/react-7.6.17.tgz", + "integrity": "sha512-lVqzQSU03rRJWYW+gK2gq6mSo3/qtnVICY8B8oP7gc36jVu4ksDIu45bTfukM618ODkUZy0vZe6T4engK3azjA==", + "dev": true, "requires": { - "@babel/runtime": "^7.13.10" + "@storybook/client-logger": "7.6.17", + "@storybook/core-client": "7.6.17", + "@storybook/docs-tools": "7.6.17", + "@storybook/global": "^5.0.0", + "@storybook/preview-api": "7.6.17", + "@storybook/react-dom-shim": "7.6.17", + "@storybook/types": "7.6.17", + "@types/escodegen": "^0.0.6", + "@types/estree": "^0.0.51", + "@types/node": "^18.0.0", + "acorn": "^7.4.1", + "acorn-jsx": "^5.3.1", + "acorn-walk": "^7.2.0", + "escodegen": "^2.1.0", + "html-tags": "^3.1.0", + "lodash": "^4.17.21", + "prop-types": "^15.7.2", + "react-element-to-jsx-string": "^15.0.0", + "ts-dedent": "^2.0.0", + "type-fest": "~2.19", + "util-deprecate": "^1.0.2" + }, + "dependencies": { + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dev": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "type-fest": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz", + "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==", + "dev": true + } } }, - "@radix-ui/react-use-rect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz", - "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==", + "@storybook/react-docgen-typescript-plugin": { + "version": "1.0.6--canary.9.0c3f3b7.0", + "resolved": "https://registry.npmjs.org/@storybook/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-1.0.6--canary.9.0c3f3b7.0.tgz", + "integrity": "sha512-KUqXC3oa9JuQ0kZJLBhVdS4lOneKTOopnNBK4tUAgoxWQ3u/IjzdueZjFr7gyBrXMoU6duutk3RQR9u8ZpYJ4Q==", + "dev": true, "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/rect": "1.0.1" + "debug": "^4.1.1", + "endent": "^2.0.1", + "find-cache-dir": "^3.3.1", + "flat-cache": "^3.0.4", + "micromatch": "^4.0.2", + "react-docgen-typescript": "^2.2.2", + "tslib": "^2.0.0" } }, - "@radix-ui/react-use-size": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", - "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", + "@storybook/react-dom-shim": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-7.6.17.tgz", + "integrity": "sha512-32Sa/G+WnvaPiQ1Wvjjw5UM9rr2c4GDohwCcWVv3/LJuiFPqNS6zglAtmnsrlIBnUwRBMLMh/ekCTdqMiUmfDw==", + "dev": true, + "requires": {} + }, + "@storybook/react-webpack5": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-7.6.17.tgz", + "integrity": "sha512-qGc2JxaSmvPXV7ndxA/8qPtPLK7lAwejL/QdrzLXhxEmVdZLMew640FBYgOV/zWnehV3BnivThln/8PsQyst/g==", + "dev": true, "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-layout-effect": "1.0.1" + "@storybook/builder-webpack5": "7.6.17", + "@storybook/preset-react-webpack": "7.6.17", + "@storybook/react": "7.6.17", + "@types/node": "^18.0.0" + }, + "dependencies": { + "@types/node": { + "version": "18.19.26", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.26.tgz", + "integrity": "sha512-+wiMJsIwLOYCvUqSdKTrfkS8mpTp+MPINe6+Np4TAGFWWRWiBQ5kSq9nZGCSPkzx9mvT+uEukzpX4MOSCydcvw==", + "dev": true, + "requires": { + "undici-types": "~5.26.4" + } + } } }, - "@radix-ui/react-visually-hidden": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.0.3.tgz", - "integrity": "sha512-D4w41yN5YRKtu464TLnByKzMDG/JlMPHtfZgQAu9v6mNakUqGUI9vUrfQKz8NK41VMm/xbZbh76NUTVtIYqOMA==", + "@storybook/router": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/router/-/router-7.6.17.tgz", + "integrity": "sha512-GnyC0j6Wi5hT4qRhSyT8NPtJfGmf82uZw97LQRWeyYu5gWEshUdM7aj40XlNiScd5cZDp0owO1idduVF2k2l2A==", + "dev": true, "requires": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" + "@storybook/client-logger": "7.6.17", + "memoizerific": "^1.11.3", + "qs": "^6.10.0" } }, - "@radix-ui/rect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz", - "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==", + "@storybook/telemetry": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/telemetry/-/telemetry-7.6.17.tgz", + "integrity": "sha512-WOcOAmmengYnGInH98Px44F47DSpLyk20BM+Z/IIQDzfttGOLlxNqBBG1XTEhNRn+AYuk4aZ2JEed2lCjVIxcA==", + "dev": true, "requires": { - "@babel/runtime": "^7.13.10" + "@storybook/client-logger": "7.6.17", + "@storybook/core-common": "7.6.17", + "@storybook/csf-tools": "7.6.17", + "chalk": "^4.1.0", + "detect-package-manager": "^2.0.1", + "fetch-retry": "^5.0.2", + "fs-extra": "^11.1.0", + "read-pkg-up": "^7.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", + "dev": true, + "requires": { + "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==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } } }, - "@react-dev-inspector/babel-plugin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@react-dev-inspector/babel-plugin/-/babel-plugin-2.0.0.tgz", - "integrity": "sha512-KzSlNQ0BLzGfnfXPNCvfvj7S9rih3eCBfCoNNoo/8MvFtz3Zk6uNc5H2o5QdUfTn8THA5K1LW8kYwg2U/aZ7sg==", + "@storybook/test": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/test/-/test-7.6.17.tgz", + "integrity": "sha512-WGrmUUtKiuq3bzDsN4MUvluGcX120jwczMik1GDTyxS+JBoe7P0t2Y8dDuVs/l3nZd1J7qY4z0RGxMDYqONIOw==", "dev": true, "requires": { - "@babel/core": "^7.20.5", - "@babel/generator": "^7.20.5", - "@babel/parser": "^7.20.5", - "@babel/traverse": "^7.20.5", - "@babel/types": "7.20.5" + "@storybook/client-logger": "7.6.17", + "@storybook/core-events": "7.6.17", + "@storybook/instrumenter": "7.6.17", + "@storybook/preview-api": "7.6.17", + "@testing-library/dom": "^9.3.1", + "@testing-library/jest-dom": "^6.1.3", + "@testing-library/user-event": "14.3.0", + "@types/chai": "^4", + "@vitest/expect": "^0.34.2", + "@vitest/spy": "^0.34.1", + "chai": "^4.3.7", + "util": "^0.12.4" }, "dependencies": { - "@babel/types": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.20.5.tgz", - "integrity": "sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==", + "@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + } + }, + "@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + } + }, + "@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "@testing-library/jest-dom": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.4.2.tgz", + "integrity": "sha512-CzqH0AFymEMG48CpzXFriYYkOjk6ZGPCLMhW9e9jg3KMCn5OfJecF8GtGW7yGfR/IgCe3SX8BSwjdzI6BBbZLw==", + "dev": true, + "requires": { + "@adobe/css-tools": "^4.3.2", + "@babel/runtime": "^7.9.2", + "aria-query": "^5.0.0", + "chalk": "^3.0.0", + "css.escape": "^1.5.1", + "dom-accessibility-api": "^0.6.3", + "lodash": "^4.17.15", + "redent": "^3.0.0" + } + }, + "@testing-library/user-event": { + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.3.0.tgz", + "integrity": "sha512-P02xtBBa8yMaLhK8CzJCIns8rqwnF6FxhR9zs810flHOBXUYCFjLd8Io1rQrAkQRWEmW2PGdZIEdMxf/KLsqFA==", + "dev": true, + "requires": {} + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "chalk": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", + "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.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==", + "dev": true, + "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==", + "dev": true + }, + "dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "optional": true, + "peer": true, + "requires": {} + }, + "dom-accessibility-api": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/dom-accessibility-api/-/dom-accessibility-api-0.6.3.tgz", + "integrity": "sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==", + "dev": true + }, + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "optional": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "istanbul-lib-instrument": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.2.tgz", + "integrity": "sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + } + }, + "jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + } + }, + "jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + } + }, + "jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + } + }, + "jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + } + }, + "jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, + "optional": true, + "peer": true, "requires": { - "@babel/helper-string-parser": "^7.19.4", - "@babel/helper-validator-identifier": "^7.19.1", - "to-fast-properties": "^2.0.0" + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + } + }, + "jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + } + } + }, + "jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "dependencies": { + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.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==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true, + "optional": true, + "peer": true + }, + "resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "optional": true, + "peer": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "peer": true + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.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==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + } + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + }, + "yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" } + }, + "yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "optional": true, + "peer": true } } }, - "@react-dev-inspector/middleware": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@react-dev-inspector/middleware/-/middleware-2.0.0.tgz", - "integrity": "sha512-6bmqhUNitwvXR7NNzJzHKaQmzJCvpB69AeIQcqask1FUcJEidaG8kxwewubqp/3JnU9SsofBSpfIOcb8CXb7RA==", - "dev": true, - "requires": { - "react-dev-utils": "12.0.1" - } - }, - "@react-dev-inspector/umi3-plugin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@react-dev-inspector/umi3-plugin/-/umi3-plugin-2.0.0.tgz", - "integrity": "sha512-evQ8/MU0GX+13GM2vw0P5E7q5AkLfOA3F3V4xox5sRo8dJPO/7kMJvXwqih0YPNV3DvvXUK2uZsYL2W7P1i9vg==", - "dev": true, - "requires": { - "@react-dev-inspector/babel-plugin": "2.0.0", - "@react-dev-inspector/middleware": "2.0.0" - } - }, - "@react-dev-inspector/umi4-plugin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@react-dev-inspector/umi4-plugin/-/umi4-plugin-2.0.0.tgz", - "integrity": "sha512-bRLWFGWdflRNcRceB8TpmSXfWz7T79QHX7P9VJBld4Tn7FsGzhGM0iuhhYWQ8yzj23OCO2GWQp+SS6+zfVnzCw==", + "@storybook/theming": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/theming/-/theming-7.6.17.tgz", + "integrity": "sha512-ZbaBt3KAbmBtfjNqgMY7wPMBshhSJlhodyMNQypv+95xLD/R+Az6aBYbpVAOygLaUQaQk4ar7H/Ww6lFIoiFbA==", "dev": true, "requires": { - "@react-dev-inspector/babel-plugin": "2.0.0", - "@react-dev-inspector/middleware": "2.0.0" + "@emotion/use-insertion-effect-with-fallbacks": "^1.0.0", + "@storybook/client-logger": "7.6.17", + "@storybook/global": "^5.0.0", + "memoizerific": "^1.11.3" } }, - "@react-dev-inspector/vite-plugin": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@react-dev-inspector/vite-plugin/-/vite-plugin-2.0.0.tgz", - "integrity": "sha512-dJqkBk1l3j+XA/OZJ3Jaqx3vGlAVKz0iXVvhjbjBsbqxHVVwIaehL/d3k/FHNGFkHL3wZTvs5pw8iSKq/sb/ng==", + "@storybook/types": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/@storybook/types/-/types-7.6.17.tgz", + "integrity": "sha512-GRY0xEJQ0PrL7DY2qCNUdIfUOE0Gsue6N+GBJw9ku1IUDFLJRDOF+4Dx2BvYcVCPI5XPqdWKlEyZdMdKjiQN7Q==", "dev": true, "requires": { - "@react-dev-inspector/middleware": "2.0.0" - } - }, - "@remix-run/router": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.11.0.tgz", - "integrity": "sha512-BHdhcWgeiudl91HvVa2wxqZjSHbheSgIiDvxrF1VjFzBzpTtuDPkOdOi3Iqvc08kXtFkLjhbS+ML9aM8mJS+wQ==" - }, - "@rollup/plugin-babel": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz", - "integrity": "sha512-WFfdLWU/xVWKeRQnKmIAQULUI7Il0gZnBIH/ZFO069wYIfPu+8zrfp/KMW0atmELoRDq8FbiP3VCss9MhCut7Q==", - "requires": { - "@babel/helper-module-imports": "^7.10.4", - "@rollup/pluginutils": "^3.1.0" - } - }, - "@rollup/plugin-node-resolve": { - "version": "11.2.1", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-11.2.1.tgz", - "integrity": "sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.19.0" - } - }, - "@rollup/plugin-replace": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-replace/-/plugin-replace-2.4.2.tgz", - "integrity": "sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==", - "requires": { - "@rollup/pluginutils": "^3.1.0", - "magic-string": "^0.25.7" - } - }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, - "dependencies": { - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==" - } - } - }, - "@rushstack/eslint-patch": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.5.1.tgz", - "integrity": "sha512-6i/8UoL0P5y4leBIGzvkZdS85RDMG9y1ihZzmTZQ5LdHUYmZ7pKFoj8X0236s3lusPs1Fa5HTQUpwI+UfTcmeA==" - }, - "@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==" - }, - "@sinonjs/commons": { - "version": "1.8.6", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.6.tgz", - "integrity": "sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==", - "requires": { - "type-detect": "4.0.8" - } - }, - "@sinonjs/fake-timers": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz", - "integrity": "sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==", - "requires": { - "@sinonjs/commons": "^1.7.0" + "@storybook/channels": "7.6.17", + "@types/babel__core": "^7.0.0", + "@types/express": "^4.7.0", + "file-system-cache": "2.3.0" } }, "@surma/rollup-plugin-off-main-thread": { @@ -27023,6 +39771,101 @@ } } }, + "@swc/core": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core/-/core-1.4.8.tgz", + "integrity": "sha512-uY2RSJcFPgNOEg12RQZL197LZX+MunGiKxsbxmh22VfVxrOYGRvh4mPANFlrD1yb38CgmW1wI6YgIi8LkIwmWg==", + "devOptional": true, + "requires": { + "@swc/core-darwin-arm64": "1.4.8", + "@swc/core-darwin-x64": "1.4.8", + "@swc/core-linux-arm-gnueabihf": "1.4.8", + "@swc/core-linux-arm64-gnu": "1.4.8", + "@swc/core-linux-arm64-musl": "1.4.8", + "@swc/core-linux-x64-gnu": "1.4.8", + "@swc/core-linux-x64-musl": "1.4.8", + "@swc/core-win32-arm64-msvc": "1.4.8", + "@swc/core-win32-ia32-msvc": "1.4.8", + "@swc/core-win32-x64-msvc": "1.4.8", + "@swc/counter": "^0.1.2", + "@swc/types": "^0.1.5" + } + }, + "@swc/core-darwin-arm64": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.4.8.tgz", + "integrity": "sha512-hhQCffRTgzpTIbngSnC30vV6IJVTI9FFBF954WEsshsecVoCGFiMwazBbrkLG+RwXENTrMhgeREEFh6R3KRgKQ==", + "optional": true + }, + "@swc/core-darwin-x64": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.4.8.tgz", + "integrity": "sha512-P3ZBw8Jr8rKhY/J8d+6WqWriqngGTgHwtFeJ8MIakQJTbdYbFgXSZxcvDiERg3psbGeFXaUaPI0GO6BXv9k/OQ==", + "optional": true + }, + "@swc/core-linux-arm-gnueabihf": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.4.8.tgz", + "integrity": "sha512-PP9JIJt19bUWhAGcQW6qMwTjZOcMyzkvZa0/LWSlDm0ORYVLmDXUoeQbGD3e0Zju9UiZxyulnpjEN0ZihJgPTA==", + "optional": true + }, + "@swc/core-linux-arm64-gnu": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.4.8.tgz", + "integrity": "sha512-HvEWnwKHkoVUr5iftWirTApFJ13hGzhAY2CMw4lz9lur2m+zhPviRRED0FCI6T95Knpv7+8eUOr98Z7ctrG6DQ==", + "optional": true + }, + "@swc/core-linux-arm64-musl": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.4.8.tgz", + "integrity": "sha512-kY8+qa7k/dEeBq9p0Hrta18QnJPpsiJvDQSLNaTIFpdM3aEM9zbkshWz8gaX5VVGUEALowCBUWqmzO4VaqM+2w==", + "optional": true + }, + "@swc/core-linux-x64-gnu": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.4.8.tgz", + "integrity": "sha512-0WWyIw432wpO/zeGblwq4f2YWam4pn8Z/Ig4KzHMgthR/KmiLU3f0Z7eo45eVmq5vcU7Os1zi/Zb65OOt09q/w==", + "optional": true + }, + "@swc/core-linux-x64-musl": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.4.8.tgz", + "integrity": "sha512-p4yxvVS05rBNCrBaSTa20KK88vOwtg8ifTW7ec/yoab0bD5EwzzB8KbDmLLxE6uziFa0sdjF0dfRDwSZPex37Q==", + "optional": true + }, + "@swc/core-win32-arm64-msvc": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.4.8.tgz", + "integrity": "sha512-jKuXihxAaqUnbFfvPxtmxjdJfs87F1GdBf33il+VUmSyWCP4BE6vW+/ReDAe8sRNsKyrZ3UH1vI5q1n64csBUA==", + "optional": true + }, + "@swc/core-win32-ia32-msvc": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.4.8.tgz", + "integrity": "sha512-O0wT4AGHrX8aBeH6c2ADMHgagAJc5Kf6W48U5moyYDAkkVnKvtSc4kGhjWhe1Yl0sI0cpYh2In2FxvYsb44eWw==", + "optional": true + }, + "@swc/core-win32-x64-msvc": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.4.8.tgz", + "integrity": "sha512-C2AYc3A2o+ECciqsJWRgIpp83Vk5EaRzHe7ed/xOWzVd0MsWR+fweEsyOjlmzHfpUxJSi46Ak3/BIZJlhZbXbg==", + "optional": true + }, + "@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==", + "devOptional": true + }, + "@swc/types": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/@swc/types/-/types-0.1.6.tgz", + "integrity": "sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==", + "devOptional": true, + "requires": { + "@swc/counter": "^0.1.3" + } + }, "@tailwindcss/line-clamp": { "version": "0.4.4", "resolved": "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.4.4.tgz", @@ -27061,7 +39904,6 @@ "version": "9.3.3", "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-9.3.3.tgz", "integrity": "sha512-fB0R+fa3AUqbLHWyxXa2kGVtf1Fe1ZZFr0Zp6AIbIAzXb2mKbEXl+PCQNUOaq5lbTab5tfctfXRNsWXxa2f7Aw==", - "peer": true, "requires": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -27077,7 +39919,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "peer": true, "requires": { "color-convert": "^2.0.1" } @@ -27086,7 +39927,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "peer": true, "requires": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -27096,7 +39936,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "peer": true, "requires": { "color-name": "~1.1.4" } @@ -27104,20 +39943,17 @@ "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==", - "peer": true + "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==", - "peer": true + "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==", - "peer": true, "requires": { "has-flag": "^4.0.0" } @@ -27352,6 +40188,12 @@ "@types/node": "*" } }, + "@types/chai": { + "version": "4.3.14", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.14.tgz", + "integrity": "sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==", + "dev": true + }, "@types/connect": { "version": "3.4.37", "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.37.tgz", @@ -27369,6 +40211,45 @@ "@types/node": "*" } }, + "@types/cross-spawn": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@types/cross-spawn/-/cross-spawn-6.0.6.tgz", + "integrity": "sha512-fXRhhUkG4H3TQk5dBhQ7m/JDdSNHKwR2BBia62lhwEIq9xGiQKLxd6LymNhn47SjXhsUEPmxi+PKw2OkW4LLjA==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/detect-port": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/detect-port/-/detect-port-1.3.5.tgz", + "integrity": "sha512-Rf3/lB9WkDfIL9eEKaSYKc+1L/rNVYBjThk22JTqQw0YozXarX8YljFAz+HCoC6h4B4KwCMsBPZHaFezwT4BNA==", + "dev": true + }, + "@types/doctrine": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.3.tgz", + "integrity": "sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==", + "dev": true + }, + "@types/ejs": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.5.tgz", + "integrity": "sha512-nv+GSx77ZtXiJzwKdsASqi+YQ5Z7vwHsTP0JY2SiQgjGckkBRKZnk8nIM+7oUZ1VCtuTz0+By4qVR7fqzp/Dfg==", + "dev": true + }, + "@types/emscripten": { + "version": "1.39.10", + "resolved": "https://registry.npmjs.org/@types/emscripten/-/emscripten-1.39.10.tgz", + "integrity": "sha512-TB/6hBkYQJxsZHSqyeuO1Jt0AB/bW6G7rHt9g7lML7SOF6lbgcHvw/Lr+69iqN0qxgXLhWKScAon73JNnptuDw==", + "dev": true + }, + "@types/escodegen": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/escodegen/-/escodegen-0.0.6.tgz", + "integrity": "sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig==", + "dev": true + }, "@types/eslint": { "version": "8.44.6", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.44.6.tgz", @@ -27414,6 +40295,12 @@ "@types/send": "*" } }, + "@types/find-cache-dir": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/find-cache-dir/-/find-cache-dir-3.2.1.tgz", + "integrity": "sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==", + "dev": true + }, "@types/graceful-fs": { "version": "4.1.8", "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.8.tgz", @@ -27508,11 +40395,23 @@ "integrity": "sha512-YI/M/4HRImtNf3pJgbF+W6FrXovqj+T+/HpENLTooK9PnkacBsDpeP3IpHab40CClUfhNmdM2WTNP2sa2dni5Q==", "dev": true }, + "@types/mdx": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.12.tgz", + "integrity": "sha512-H9VZ9YqE+H28FQVchC83RCs5xQ2J7mAAv6qdDEaWmXEVl3OpdH+xfrSUzQ1lp7U7oSTRZ0RvW08ASPJsYBi7Cw==", + "dev": true + }, "@types/mime": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.4.tgz", "integrity": "sha512-1Gjee59G25MrQGk8bsNvC6fxNiRgUlGn2wlhGf95a59DrprnnHk80FIMMFG9XHMdrfsuA119ht06QPDXA1Z7tw==" }, + "@types/mime-types": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@types/mime-types/-/mime-types-2.1.4.tgz", + "integrity": "sha512-lfU4b34HOri+kAY5UheuFMWPDOI+OPceBSHZKp69gEyTL/mmJ4cnU6Y/rlme3UL3GyOn6Y42hyIEw0/q8sWx5w==", + "dev": true + }, "@types/node": { "version": "20.8.10", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.10.tgz", @@ -27521,6 +40420,16 @@ "undici-types": "~5.26.4" } }, + "@types/node-fetch": { + "version": "2.6.11", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.11.tgz", + "integrity": "sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==", + "dev": true, + "requires": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, "@types/node-forge": { "version": "1.3.8", "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.8.tgz", @@ -27529,16 +40438,34 @@ "@types/node": "*" } }, + "@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, "@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/platform": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@types/platform/-/platform-1.3.6.tgz", + "integrity": "sha512-ZmSaqHuvzv+jC232cFoz2QqPUkaj6EvMmCrWcx3WRr7xTPVFCMUOTcOq8m2d+Zw1iKRc1kDiaA+jtNrV0hkVew==", + "dev": true + }, "@types/prettier": { "version": "2.7.3", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.3.tgz", "integrity": "sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==" }, + "@types/pretty-hrtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@types/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz", + "integrity": "sha512-nj39q0wAIdhwn7DGUyT9irmsKK1tV0bd5WFEhgpqNTMFZ8cE+jieuTphCW0tfdm47S2zVT5mr09B28b1chmQMA==", + "dev": true + }, "@types/prop-types": { "version": "15.7.9", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.9.tgz", @@ -27679,6 +40606,18 @@ "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.5.tgz", "integrity": "sha512-I3pkr8j/6tmQtKV/ZzHtuaqYSQvyjGRKH4go60Rr0IDLlFxuRT5V32uvB1mecM5G1EVAUyF/4r4QZ1GHgz+mxA==" }, + "@types/unist": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.10.tgz", + "integrity": "sha512-IfYcSBWE3hLpBg8+X2SEa8LVkJdJEkT2Ese2aaLs3ptGdVtABxndrMaxuFlQ1qdFf9Q5rDvDpxI3WwgvKFAsQA==", + "dev": true + }, + "@types/uuid": { + "version": "9.0.8", + "resolved": "https://registry.npmjs.org/@types/uuid/-/uuid-9.0.8.tgz", + "integrity": "sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==", + "dev": true + }, "@types/ws": { "version": "8.5.8", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.8.tgz", @@ -27820,6 +40759,62 @@ "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==" }, + "@vitest/expect": { + "version": "0.34.7", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.7.tgz", + "integrity": "sha512-G9iEtwrD6ZQ4MVHZufif9Iqz3eLtuwBBNx971fNAGPaugM7ftAWjQN+ob2zWhtzURp8RK3zGXOxVb01mFo3zAQ==", + "dev": true, + "requires": { + "@vitest/spy": "0.34.7", + "@vitest/utils": "0.34.7", + "chai": "^4.3.10" + } + }, + "@vitest/spy": { + "version": "0.34.7", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.7.tgz", + "integrity": "sha512-NMMSzOY2d8L0mcOt4XcliDOS1ISyGlAXuQtERWVOoVHnKwmG+kKhinAiGw3dTtMQWybfa89FG8Ucg9tiC/FhTQ==", + "dev": true, + "requires": { + "tinyspy": "^2.1.1" + } + }, + "@vitest/utils": { + "version": "0.34.7", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.7.tgz", + "integrity": "sha512-ziAavQLpCYS9sLOorGrFFKmy2gnfiNU0ZJ15TsMz/K92NAPS/rp9K4z6AJQQk5Y8adCy4Iwpxy7pQumQ/psnRg==", + "dev": true, + "requires": { + "diff-sequences": "^29.4.3", + "loupe": "^2.3.6", + "pretty-format": "^29.5.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + } + } + }, "@webassemblyjs/ast": { "version": "1.11.6", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", @@ -27961,6 +40956,51 @@ "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==" }, + "@yarnpkg/esbuild-plugin-pnp": { + "version": "3.0.0-rc.15", + "resolved": "https://registry.npmjs.org/@yarnpkg/esbuild-plugin-pnp/-/esbuild-plugin-pnp-3.0.0-rc.15.tgz", + "integrity": "sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==", + "dev": true, + "requires": { + "tslib": "^2.4.0" + } + }, + "@yarnpkg/fslib": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@yarnpkg/fslib/-/fslib-2.10.3.tgz", + "integrity": "sha512-41H+Ga78xT9sHvWLlFOZLIhtU6mTGZ20pZ29EiZa97vnxdohJD2AF42rCoAoWfqUz486xY6fhjMH+DYEM9r14A==", + "dev": true, + "requires": { + "@yarnpkg/libzip": "^2.3.0", + "tslib": "^1.13.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "@yarnpkg/libzip": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/libzip/-/libzip-2.3.0.tgz", + "integrity": "sha512-6xm38yGVIa6mKm/DUCF2zFFJhERh/QWp1ufm4cNUvxsONBmfPg8uZ9pZBdOmF6qFGr/HlT6ABBkCSx/dlEtvWg==", + "dev": true, + "requires": { + "@types/emscripten": "^1.39.6", + "tslib": "^1.13.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, "abab": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", @@ -27976,9 +41016,9 @@ } }, "acorn": { - "version": "8.11.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", - "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==" + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" }, "acorn-globals": { "version": "6.0.0", @@ -28066,6 +41106,16 @@ "debug": "4" } }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "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", @@ -28156,6 +41206,12 @@ "picomatch": "^2.0.4" } }, + "app-root-dir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/app-root-dir/-/app-root-dir-1.0.2.tgz", + "integrity": "sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==", + "dev": true + }, "are-docs-informative": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", @@ -28296,6 +41352,34 @@ "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==" }, + "assert": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-2.1.0.tgz", + "integrity": "sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "is-nan": "^1.3.2", + "object-is": "^1.1.5", + "object.assign": "^4.1.4", + "util": "^0.12.5" + } + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, + "ast-types": { + "version": "0.16.1", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.16.1.tgz", + "integrity": "sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==", + "dev": true, + "requires": { + "tslib": "^2.0.1" + } + }, "ast-types-flow": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", @@ -28306,6 +41390,12 @@ "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==" }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, "asynciterator.prototype": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", @@ -28365,6 +41455,13 @@ "dequal": "^2.0.3" } }, + "babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "dev": true, + "requires": {} + }, "babel-jest": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-27.5.1.tgz", @@ -28468,6 +41565,12 @@ } } }, + "babel-plugin-add-react-displayname": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz", + "integrity": "sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw==", + "dev": true + }, "babel-plugin-istanbul": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", @@ -28612,6 +41715,15 @@ "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==" }, + "better-opn": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/better-opn/-/better-opn-3.0.2.tgz", + "integrity": "sha512-aVNobHnJqLiUelTaHat9DZ1qM2w0C0Eym4LPI/3JxOnSokGVdsl1T1kN7TFvsEAD8G47A6VKQ0TVHqbBnYMJlQ==", + "dev": true, + "requires": { + "open": "^8.0.4" + } + }, "bfj": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/bfj/-/bfj-7.1.0.tgz", @@ -28639,6 +41751,29 @@ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==" }, + "bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "requires": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + }, + "dependencies": { + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + } + } + }, "bluebird": { "version": "3.7.2", "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", @@ -28748,19 +41883,34 @@ "unload": "2.2.0" } }, + "browser-assert": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz", + "integrity": "sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==", + "dev": true + }, "browser-process-hrtime": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==" }, + "browserify-zlib": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz", + "integrity": "sha512-19OEpq7vWgsH6WkvkBJQDFvJS1uPcbFOQ4v9CU839dO+ZZXUZO6XpE6hNCqvlIIj+4fZvRiJ6DsAQ382GwiyTQ==", + "dev": true, + "requires": { + "pako": "~0.2.0" + } + }, "browserslist": { - "version": "4.22.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.1.tgz", - "integrity": "sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==", + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", "requires": { - "caniuse-lite": "^1.0.30001541", - "electron-to-chromium": "^1.4.535", - "node-releases": "^2.0.13", + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", "update-browserslist-db": "^1.0.13" } }, @@ -28781,6 +41931,12 @@ "ieee754": "^1.2.1" } }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, "buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", @@ -28806,13 +41962,15 @@ "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==" }, "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==", + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", + "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", "requires": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.1" } }, "callsites": { @@ -28851,15 +42009,30 @@ } }, "caniuse-lite": { - "version": "1.0.30001561", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001561.tgz", - "integrity": "sha512-NTt0DNoKe958Q0BE0j0c1V9jbUzhBxHIEJy7asmGrpE0yG63KTV7PLHPnK2E1O9RsQrQ081I3NLuXGS6zht3cw==" + "version": "1.0.30001600", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz", + "integrity": "sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==" }, "case-sensitive-paths-webpack-plugin": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz", "integrity": "sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==" }, + "chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "dev": true, + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", @@ -28875,15 +42048,24 @@ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==" }, + "check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "requires": { + "get-func-name": "^2.0.2" + } + }, "check-types": { "version": "11.2.3", "resolved": "https://registry.npmjs.org/check-types/-/check-types-11.2.3.tgz", "integrity": "sha512-+67P1GkJRaxQD6PKK0Et9DhwQB+vGg3PM5+aavopCpZT1lj9jeqfvpgTLAWErNj8qApkkmXlu/Ug74kmhagkXg==" }, "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -28905,6 +42087,12 @@ } } }, + "chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true + }, "chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", @@ -28915,6 +42103,15 @@ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==" }, + "citty": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.1.6.tgz", + "integrity": "sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==", + "dev": true, + "requires": { + "consola": "^3.2.3" + } + }, "cjs-module-lexer": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", @@ -28948,6 +42145,37 @@ } } }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true + }, + "cli-table3": { + "version": "0.6.4", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.4.tgz", + "integrity": "sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==", + "dev": true, + "requires": { + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + } + }, "cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -28958,6 +42186,12 @@ "wrap-ansi": "^7.0.0" } }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true + }, "clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", @@ -29117,6 +42351,56 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "confusing-browser-globals": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", @@ -29127,6 +42411,18 @@ "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==" }, + "consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "dev": true + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, "content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", @@ -29205,6 +42501,697 @@ "integrity": "sha512-N+Qaf/Gr/f3o5ZH2TQjMu5NhR9PnT1ZYsfejpNvZPpB0ujdrhsSr4Ct6GVjnV5ostCVquhTKJpIVBKyL9qDQYA==", "dev": true }, + "create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "dependencies": { + "@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + } + }, + "@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + } + }, + "@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + } + }, + "@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + } + }, + "@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + } + }, + "@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + } + }, + "@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + } + }, + "@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "type-detect": "4.0.8" + } + }, + "@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@sinonjs/commons": "^3.0.0" + } + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + } + }, + "babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + } + }, + "babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "optional": true, + "peer": true, + "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==", + "dev": true, + "optional": true, + "peer": true, + "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==", + "dev": true, + "optional": true, + "peer": true + }, + "dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "optional": true, + "peer": true, + "requires": {} + }, + "emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "optional": true, + "peer": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "optional": true, + "peer": true + }, + "jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + } + }, + "jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + } + }, + "jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "detect-newline": "^3.0.0" + } + }, + "jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + } + }, + "jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + } + }, + "jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "fsevents": "^2.3.2", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + } + }, + "jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + } + }, + "jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + } + }, + "jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "optional": true, + "peer": true + }, + "jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + } + }, + "jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + } + }, + "jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + } + }, + "jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + } + }, + "jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + } + }, + "jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + } + }, + "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==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "optional": true, + "peer": true + } + } + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true, + "optional": true, + "peer": true + }, + "resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "optional": true, + "peer": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "peer": true + }, + "source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.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==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "optional": true, + "peer": true, + "requires": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + } + } + } + }, "create-require": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", @@ -29549,6 +43536,15 @@ "resolved": "https://registry.npmjs.org/dedent/-/dedent-0.7.0.tgz", "integrity": "sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==" }, + "deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "requires": { + "type-detect": "^4.0.0" + } + }, "deep-equal": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz", @@ -29681,14 +43677,23 @@ "execa": "^5.0.0" } }, + "defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, "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==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", + "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", "requires": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" } }, "define-lazy-prop": { @@ -29712,6 +43717,28 @@ "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", "dev": true }, + "defu": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.4.tgz", + "integrity": "sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==", + "dev": true + }, + "del": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-6.1.1.tgz", + "integrity": "sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==", + "dev": true, + "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" + } + }, "delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -29732,6 +43759,12 @@ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" }, + "detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true + }, "detect-newline": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", @@ -29747,6 +43780,25 @@ "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==" }, + "detect-package-manager": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/detect-package-manager/-/detect-package-manager-2.0.1.tgz", + "integrity": "sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==", + "dev": true, + "requires": { + "execa": "^5.1.1" + } + }, + "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==", + "dev": true, + "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", @@ -29925,6 +43977,62 @@ "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", @@ -29939,9 +44047,9 @@ } }, "electron-to-chromium": { - "version": "1.4.576", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.576.tgz", - "integrity": "sha512-yXsZyXJfAqzWk1WKryr0Wl0MN2D47xodPvEEwlVePBnhU5E7raevLQR+E6b9JAD3GfL/7MbAL9ZtWQQPcLx7wA==" + "version": "1.4.717", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.717.tgz", + "integrity": "sha512-6Fmg8QkkumNOwuZ/5mIbMU9WI3H2fmn5ajcVya64I5Yr5CcNmO7vcLt0Y7c96DCiMO5/9G+4sI2r6eEvdg1F7A==" }, "emittery": { "version": "0.8.1", @@ -29963,6 +44071,26 @@ "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==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "endent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/endent/-/endent-2.1.0.tgz", + "integrity": "sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w==", + "dev": true, + "requires": { + "dedent": "^0.7.0", + "fast-json-parse": "^1.0.3", + "objectorarray": "^1.0.5" + } + }, "enhanced-resolve": { "version": "5.15.0", "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", @@ -29984,6 +44112,12 @@ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==" }, + "envinfo": { + "version": "7.11.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.11.1.tgz", + "integrity": "sha512-8PiZgZNIB4q/Lw4AhOvAfB/ityHAd2bli3lESSWmWSzSsl5dKpy5N1d1Rfkd2teq/g9xN90lc6o98DOjMeYHpg==", + "dev": true + }, "error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", @@ -30051,6 +44185,19 @@ "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-define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", + "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", + "requires": { + "get-intrinsic": "^1.2.4" + } + }, + "es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==" + }, "es-get-iterator": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", @@ -30089,9 +44236,9 @@ } }, "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==" + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.0.tgz", + "integrity": "sha512-pqrTKmwEIgafsYZAGw9kszYzmagcE/n4dbgwGWLEXg7J4QFJVQRBld8j3Q3GNez79jzxZshq0bcT962QHOghjw==" }, "es-set-tostringtag": { "version": "2.0.2", @@ -30121,6 +44268,51 @@ "is-symbol": "^1.0.2" } }, + "esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "esbuild-plugin-alias": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz", + "integrity": "sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==", + "dev": true + }, + "esbuild-register": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/esbuild-register/-/esbuild-register-3.5.0.tgz", + "integrity": "sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==", + "dev": true, + "requires": { + "debug": "^4.3.4" + } + }, "escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", @@ -30761,6 +44953,41 @@ } } }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extract-zip": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-1.7.0.tgz", + "integrity": "sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==", + "dev": true, + "requires": { + "concat-stream": "^1.6.2", + "debug": "^2.6.9", + "mkdirp": "^0.5.4", + "yauzl": "^2.10.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "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==", + "dev": true + } + } + }, "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", @@ -30794,6 +45021,12 @@ } } }, + "fast-json-parse": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fast-json-parse/-/fast-json-parse-1.0.3.tgz", + "integrity": "sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==", + "dev": true + }, "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", @@ -30828,6 +45061,21 @@ "bser": "2.1.1" } }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "fetch-retry": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/fetch-retry/-/fetch-retry-5.0.6.tgz", + "integrity": "sha512-3yurQZ2hD9VISAhJJP9bpYFNQrHHBXE2JxxjY5aLEcDi46RmAzJE2OC9FAde0yis5ElW0jTTzs0zfg/Cca4XqQ==", + "dev": true + }, "file-entry-cache": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", @@ -30867,6 +45115,29 @@ } } }, + "file-system-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/file-system-cache/-/file-system-cache-2.3.0.tgz", + "integrity": "sha512-l4DMNdsIPsVnKrgEXbJwDJsA5mB8rGwHYERMgqQx/xAUtChPJMre1bXBzDEqqVbWv9AIbFezXMxeEkZDSrXUOQ==", + "dev": true, + "requires": { + "fs-extra": "11.1.1", + "ramda": "0.29.0" + }, + "dependencies": { + "fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + } + } + }, "filelist": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", @@ -30979,6 +45250,12 @@ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" }, + "flow-parser": { + "version": "0.231.0", + "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.231.0.tgz", + "integrity": "sha512-WVzuqwq7ZnvBceCG0DGeTQebZE+iIU0mlk5PmJgYj9DDrt+0isGC2m1ezW9vxL4V+HERJJo9ExppOnwKH2op6Q==", + "dev": true + }, "follow-redirects": { "version": "1.15.3", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", @@ -30992,6 +45269,24 @@ "is-callable": "^1.1.3" } }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + } + } + }, "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", @@ -31094,6 +45389,12 @@ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" }, + "fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, "fs-extra": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", @@ -31105,6 +45406,32 @@ "universalify": "^2.0.0" } }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, "fs-monkey": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", @@ -31152,11 +45479,18 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, + "get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true + }, "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==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", + "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", "requires": { + "es-errors": "^1.3.0", "function-bind": "^1.1.2", "has-proto": "^1.0.1", "has-symbols": "^1.0.3", @@ -31168,6 +45502,12 @@ "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==" }, + "get-npm-tarball-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/get-npm-tarball-url/-/get-npm-tarball-url-2.1.0.tgz", + "integrity": "sha512-ro+DiMu5DXgRBabqXupW38h7WPZ9+Ad8UjwhvsmmN8w1sU7ab0nzAXvVZ4kqYg57OrqomRtJvepX5/xvFKNtjA==", + "dev": true + }, "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", @@ -31178,6 +45518,12 @@ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==" }, + "get-port": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/get-port/-/get-port-5.1.1.tgz", + "integrity": "sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==", + "dev": true + }, "get-stream": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", @@ -31192,6 +45538,28 @@ "get-intrinsic": "^1.1.1" } }, + "giget": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/giget/-/giget-1.2.3.tgz", + "integrity": "sha512-8EHPljDvs7qKykr6uw8b+lqLiUc/vUg+KVTI0uND4s63TdsZM2Xus3mflvF0DDG9SiM4RlCkFGL+7aAjRmV7KA==", + "dev": true, + "requires": { + "citty": "^0.1.6", + "consola": "^3.2.3", + "defu": "^6.1.4", + "node-fetch-native": "^1.6.3", + "nypm": "^0.3.8", + "ohash": "^1.1.3", + "pathe": "^1.1.2", + "tar": "^6.2.0" + } + }, + "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==", + "dev": true + }, "glob": { "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", @@ -31290,6 +45658,20 @@ "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==" }, + "gunzip-maybe": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/gunzip-maybe/-/gunzip-maybe-1.4.2.tgz", + "integrity": "sha512-4haO1M4mLO91PW57BMsDFf75UmwoRX0GkdD+Faw+Lr+r/OZrOCS0pIBwOL1xCKQqnQzbNFGgK2V2CpBUPeFNTw==", + "dev": true, + "requires": { + "browserify-zlib": "^0.1.4", + "is-deflate": "^1.0.0", + "is-gzip": "^1.0.0", + "peek-stream": "^1.1.0", + "pumpify": "^1.3.3", + "through2": "^2.0.3" + } + }, "gzip-size": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", @@ -31303,6 +45685,27 @@ "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" }, + "handlebars": { + "version": "4.7.8", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.8.tgz", + "integrity": "sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==", + "dev": true, + "requires": { + "minimist": "^1.2.5", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4", + "wordwrap": "^1.0.0" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "harmony-reflect": { "version": "1.6.2", "resolved": "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.6.2.tgz", @@ -31319,11 +45722,11 @@ "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==", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", + "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", "requires": { - "get-intrinsic": "^1.2.2" + "es-define-property": "^1.0.0" } }, "has-proto": { @@ -31377,6 +45780,12 @@ "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" }, + "hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true + }, "hotkeys-js": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/hotkeys-js/-/hotkeys-js-3.12.0.tgz", @@ -31806,11 +46215,23 @@ "loose-envify": "^1.0.0" } }, + "ip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.1.tgz", + "integrity": "sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==", + "dev": true + }, "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-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, "is-arguments": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", @@ -31898,6 +46319,12 @@ "has-tostringtag": "^1.0.0" } }, + "is-deflate": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-deflate/-/is-deflate-1.0.0.tgz", + "integrity": "sha512-YDoFpuZWu1VRXlsnlYMzKyVRITXj7Ej/V9gXQ2/pAe7X1J7M/RNOqaIYi6qUn+B7nGyB9pDXrv02dsB58d2ZAQ==", + "dev": true + }, "is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", @@ -31942,6 +46369,12 @@ "is-extglob": "^2.1.1" } }, + "is-gzip": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-gzip/-/is-gzip-1.0.0.tgz", + "integrity": "sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ==", + "dev": true + }, "is-inside-container": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", @@ -31959,6 +46392,12 @@ } } }, + "is-interactive": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", + "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true + }, "is-map": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", @@ -31969,6 +46408,16 @@ "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==" }, + "is-nan": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz", + "integrity": "sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, "is-negative-zero": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", @@ -31992,6 +46441,12 @@ "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==", + "dev": true + }, "is-path-inside": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", @@ -32081,6 +46536,12 @@ "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, "is-weakmap": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", @@ -32221,6 +46682,16 @@ "set-function-name": "^2.0.1" } }, + "jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, "jake": { "version": "10.8.7", "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.7.tgz", @@ -34752,6 +49223,96 @@ "argparse": "^2.0.1" } }, + "jscodeshift": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/jscodeshift/-/jscodeshift-0.15.2.tgz", + "integrity": "sha512-FquR7Okgmc4Sd0aEDwqho3rEiKR3BdvuG9jfdHjLJ6JQoWSMpavug3AoIfnfWhxFlf+5pzQh8qjqz0DWFrNQzA==", + "dev": true, + "requires": { + "@babel/core": "^7.23.0", + "@babel/parser": "^7.23.0", + "@babel/plugin-transform-class-properties": "^7.22.5", + "@babel/plugin-transform-modules-commonjs": "^7.23.0", + "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", + "@babel/plugin-transform-optional-chaining": "^7.23.0", + "@babel/plugin-transform-private-methods": "^7.22.5", + "@babel/preset-flow": "^7.22.15", + "@babel/preset-typescript": "^7.23.0", + "@babel/register": "^7.22.15", + "babel-core": "^7.0.0-bridge.0", + "chalk": "^4.1.2", + "flow-parser": "0.*", + "graceful-fs": "^4.2.4", + "micromatch": "^4.0.4", + "neo-async": "^2.5.0", + "node-dir": "^0.1.17", + "recast": "^0.23.3", + "temp": "^0.8.4", + "write-file-atomic": "^2.3.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "write-file-atomic": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", + "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + } + } + }, "jsdoc-type-pratt-parser": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.0.0.tgz", @@ -34944,6 +49505,31 @@ "shell-quote": "^1.8.1" } }, + "lazy-universal-dotenv": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/lazy-universal-dotenv/-/lazy-universal-dotenv-4.0.0.tgz", + "integrity": "sha512-aXpZJRnTkpK6gQ/z4nk+ZBLd/Qdp118cvPruLSIQzQNRhKwEcdXCOzXuF55VDqIiuAaY3UGZ10DJtvZzDcvsxg==", + "dev": true, + "requires": { + "app-root-dir": "^1.0.2", + "dotenv": "^16.0.0", + "dotenv-expand": "^10.0.0" + }, + "dependencies": { + "dotenv": { + "version": "16.4.5", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.5.tgz", + "integrity": "sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==", + "dev": true + }, + "dotenv-expand": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-10.0.0.tgz", + "integrity": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==", + "dev": true + } + } + }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -35021,6 +49607,67 @@ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==" }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "loose-envify": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", @@ -35029,6 +49676,15 @@ "js-tokens": "^3.0.0 || ^4.0.0" } }, + "loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "requires": { + "get-func-name": "^2.0.1" + } + }, "lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -35045,6 +49701,12 @@ "yallist": "^3.0.2" } }, + "lucide-react": { + "version": "0.294.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.294.0.tgz", + "integrity": "sha512-V7o0/VECSGbLHn3/1O67FUgBwWB+hmzshrgDVRJQhMh8uj5D3HBuIvhuAmQTtlupILSplwIZg5FTc4tTKMA2SA==", + "requires": {} + }, "lz-string": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.5.0.tgz", @@ -35086,6 +49748,19 @@ "tmpl": "1.0.5" } }, + "map-or-similar": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz", + "integrity": "sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==", + "dev": true + }, + "markdown-to-jsx": { + "version": "7.4.5", + "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.5.tgz", + "integrity": "sha512-c8NB0H/ig+FOWssE9be0PKsYbCDhcWEkicxMnpdfUuHbFljnen4LAdgUShOyR/PgO3/qKvt9cwfQ0U/zQvZ44A==", + "dev": true, + "requires": {} + }, "match-sorter": { "version": "6.3.1", "resolved": "https://registry.npmjs.org/match-sorter/-/match-sorter-6.3.1.tgz", @@ -35095,6 +49770,21 @@ "remove-accents": "0.4.2" } }, + "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==", + "dev": true, + "requires": { + "unist-util-visit": "^2.0.0" + } + }, + "mdast-util-to-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", + "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==", + "dev": true + }, "mdn-data": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", @@ -35118,6 +49808,15 @@ "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz", "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==" }, + "memoizerific": { + "version": "1.11.3", + "resolved": "https://registry.npmjs.org/memoizerific/-/memoizerific-1.11.3.tgz", + "integrity": "sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==", + "dev": true, + "requires": { + "map-or-similar": "^1.5.0" + } + }, "merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", @@ -35243,6 +49942,39 @@ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" }, + "minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true + }, + "minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "requires": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "dependencies": { + "minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, "mkdirp": { "version": "0.5.6", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", @@ -35251,6 +49983,12 @@ "minimist": "^1.2.6" } }, + "mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -35317,6 +50055,21 @@ "tslib": "^2.0.3" } }, + "node-abort-controller": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz", + "integrity": "sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==", + "dev": true + }, + "node-dir": { + "version": "0.1.17", + "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", + "integrity": "sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==", + "dev": true, + "requires": { + "minimatch": "^3.0.2" + } + }, "node-emoji": { "version": "1.11.0", "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz", @@ -35334,6 +50087,12 @@ "whatwg-url": "^5.0.0" } }, + "node-fetch-native": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.4.tgz", + "integrity": "sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==", + "dev": true + }, "node-forge": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", @@ -35345,9 +50104,29 @@ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==" }, "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==" + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==" + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + }, + "dependencies": { + "semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true + } + } }, "normalize-path": { "version": "3.0.0", @@ -35397,6 +50176,98 @@ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==" }, + "nypm": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.3.8.tgz", + "integrity": "sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==", + "dev": true, + "requires": { + "citty": "^0.1.6", + "consola": "^3.2.3", + "execa": "^8.0.1", + "pathe": "^1.1.2", + "ufo": "^1.4.0" + }, + "dependencies": { + "execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + } + }, + "get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true + }, + "human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true + }, + "npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "requires": { + "path-key": "^4.0.0" + } + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true + }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true + } + } + }, "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -35499,6 +50370,12 @@ "es-abstract": "^1.22.1" } }, + "objectorarray": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/objectorarray/-/objectorarray-1.0.5.tgz", + "integrity": "sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==", + "dev": true + }, "oblivious-set": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/oblivious-set/-/oblivious-set-1.0.0.tgz", @@ -35509,6 +50386,12 @@ "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" }, + "ohash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-1.1.3.tgz", + "integrity": "sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==", + "dev": true + }, "on-finished": { "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", @@ -35561,6 +50444,74 @@ "type-check": "^0.4.0" } }, + "ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "dev": true, + "requires": { + "bl": "^4.1.0", + "chalk": "^4.1.0", + "cli-cursor": "^3.1.0", + "cli-spinners": "^2.5.0", + "is-interactive": "^1.0.0", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", + "strip-ansi": "^6.0.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -35577,6 +50528,15 @@ "p-limit": "^3.0.2" } }, + "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==", + "dev": true, + "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", @@ -35591,6 +50551,12 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" }, + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==", + "dev": true + }, "param-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", @@ -35638,6 +50604,12 @@ "tslib": "^2.0.3" } }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -35658,6 +50630,24 @@ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "requires": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", + "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", + "dev": true + } + } + }, "path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", @@ -35668,6 +50658,35 @@ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==" }, + "pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true + }, + "peek-stream": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/peek-stream/-/peek-stream-1.1.3.tgz", + "integrity": "sha512-FhJ+YbOSBb9/rIl2ZeE/QHEsWn7PqNYt8ARAY3kIgNGOk13g9FGyIY6JIl/xB/3TFRVoTv5as0l11weORrTekA==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "duplexify": "^3.5.0", + "through2": "^2.0.3" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, "performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", @@ -35784,6 +50803,29 @@ } } }, + "platform": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", + "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==" + }, + "pnp-webpack-plugin": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.7.0.tgz", + "integrity": "sha512-2Rb3vm+EXble/sMXNSu6eoBx8e79gKqhNq9F5ZWW6ERNCTE/Q0wQNne5541tE5vKjfM8hpNCYL+LGc1YTfI0dg==", + "dev": true, + "requires": { + "ts-pnp": "^1.1.6" + } + }, + "polished": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/polished/-/polished-4.3.1.tgz", + "integrity": "sha512-OBatVyC/N7SCW/FaDHrSd+vn0o5cS855TOmYi4OkdWUMSJCET/xip//ch8xGUvtr3i44X9LVyWwQlRMTN3pwSA==", + "dev": true, + "requires": { + "@babel/runtime": "^7.17.8" + } + }, "postcss": { "version": "8.4.31", "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", @@ -36491,8 +51533,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz", "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==", - "dev": true, - "peer": true + "dev": true }, "prettier-linter-helpers": { "version": "1.0.0", @@ -36503,6 +51544,13 @@ "fast-diff": "^1.1.2" } }, + "prettier-plugin-tailwindcss": { + "version": "0.5.12", + "resolved": "https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.5.12.tgz", + "integrity": "sha512-o74kiDBVE73oHW+pdkFSluHBL3cYEvru5YgEqNkBMFF7Cjv+w1vI565lTlfoJT4VLWDe0FMtZ7FkE/7a4pMXSQ==", + "dev": true, + "requires": {} + }, "pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", @@ -36540,11 +51588,23 @@ "integrity": "sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==", "dev": true }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true + }, "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==" }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, "promise": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", @@ -36610,11 +51670,112 @@ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==" }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, "punycode": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" }, + "puppeteer-core": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-2.1.1.tgz", + "integrity": "sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w==", + "dev": true, + "requires": { + "@types/mime-types": "^2.1.0", + "debug": "^4.1.0", + "extract-zip": "^1.6.6", + "https-proxy-agent": "^4.0.0", + "mime": "^2.0.3", + "mime-types": "^2.1.25", + "progress": "^2.0.1", + "proxy-from-env": "^1.0.0", + "rimraf": "^2.6.1", + "ws": "^6.1.0" + }, + "dependencies": { + "agent-base": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-5.1.1.tgz", + "integrity": "sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==", + "dev": true + }, + "https-proxy-agent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz", + "integrity": "sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==", + "dev": true, + "requires": { + "agent-base": "5", + "debug": "4" + } + }, + "mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ws": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.2.tgz", + "integrity": "sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + } + } + }, + "pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dev": true, + "optional": true, + "peer": true + }, "purgecss": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-2.3.0.tgz", @@ -36692,6 +51853,12 @@ "performance-now": "^2.1.0" } }, + "ramda": { + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/ramda/-/ramda-0.29.0.tgz", + "integrity": "sha512-BBea6L67bYLtdbOqfp8f58fPMqEwx0doL+pAi8TZyp2YWz8R9G8z9x75CZI8W+ftqhFHCpEX2cRnUUXK130iKA==", + "dev": true + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -36768,6 +51935,13 @@ "prop-types": "^15.5.0" } }, + "react-colorful": { + "version": "5.6.1", + "resolved": "https://registry.npmjs.org/react-colorful/-/react-colorful-5.6.1.tgz", + "integrity": "sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==", + "dev": true, + "requires": {} + }, "react-dev-inspector": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/react-dev-inspector/-/react-dev-inspector-2.0.0.tgz", @@ -36866,6 +52040,54 @@ } } }, + "react-docgen": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/react-docgen/-/react-docgen-7.0.3.tgz", + "integrity": "sha512-i8aF1nyKInZnANZ4uZrH49qn1paRgBZ7wZiCNBMnenlPzEv0mRl+ShpTVEI6wZNl8sSc79xZkivtgLKQArcanQ==", + "dev": true, + "requires": { + "@babel/core": "^7.18.9", + "@babel/traverse": "^7.18.9", + "@babel/types": "^7.18.9", + "@types/babel__core": "^7.18.0", + "@types/babel__traverse": "^7.18.0", + "@types/doctrine": "^0.0.9", + "@types/resolve": "^1.20.2", + "doctrine": "^3.0.0", + "resolve": "^1.22.1", + "strip-indent": "^4.0.0" + }, + "dependencies": { + "@types/doctrine": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/@types/doctrine/-/doctrine-0.0.9.tgz", + "integrity": "sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==", + "dev": true + }, + "@types/resolve": { + "version": "1.20.6", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.6.tgz", + "integrity": "sha512-A4STmOXPhMUtHH+S6ymgE2GiBSMqf4oTvcQZMcHzokuTLVYzXTB8ttjcgxOVaAp2lGwEdzZ0J+cRbbeevQj1UQ==", + "dev": true + }, + "strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, + "requires": { + "min-indent": "^1.0.1" + } + } + } + }, + "react-docgen-typescript": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz", + "integrity": "sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==", + "dev": true, + "requires": {} + }, "react-dom": { "version": "18.2.0", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", @@ -36875,6 +52097,31 @@ "scheduler": "^0.23.0" } }, + "react-element-to-jsx-string": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/react-element-to-jsx-string/-/react-element-to-jsx-string-15.0.0.tgz", + "integrity": "sha512-UDg4lXB6BzlobN60P8fHWVPX3Kyw8ORrTeBtClmIlGdkOOE+GYQSFvmEU5iLLpwp/6v42DINwNcwOhOLfQ//FQ==", + "dev": true, + "requires": { + "@base2/pretty-print-object": "1.0.1", + "is-plain-object": "5.0.0", + "react-is": "18.1.0" + }, + "dependencies": { + "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==", + "dev": true + }, + "react-is": { + "version": "18.1.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.1.0.tgz", + "integrity": "sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==", + "dev": true + } + } + }, "react-error-overlay": { "version": "6.0.11", "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.11.tgz", @@ -37066,6 +52313,12 @@ "tslib": "^2.0.0" } }, + "react-timer-hook": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/react-timer-hook/-/react-timer-hook-3.0.7.tgz", + "integrity": "sha512-ATpNcU+PQRxxfNBPVqce2+REtjGAlwmfoNQfcEBMZFxPj0r3GYdKhyPHdStvqrejejEi0QvqaJZjy2lBlFvAsA==", + "requires": {} + }, "react-tooltip": { "version": "5.22.0", "resolved": "https://registry.npmjs.org/react-tooltip/-/react-tooltip-5.22.0.tgz", @@ -37094,6 +52347,82 @@ "pify": "^2.3.0" } }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "dependencies": { + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + } + } + }, + "read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "requires": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "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==", + "dev": true, + "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==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "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==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true + } + } + }, "readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -37112,6 +52441,27 @@ "picomatch": "^2.2.1" } }, + "recast": { + "version": "0.23.6", + "resolved": "https://registry.npmjs.org/recast/-/recast-0.23.6.tgz", + "integrity": "sha512-9FHoNjX1yjuesMwuthAmPKabxYQdOgihFYmT5ebXfYGBcnqXZf3WOVz+5foEZ8Y83P4ZY6yQD5GMmtV+pgCCAQ==", + "dev": true, + "requires": { + "ast-types": "^0.16.1", + "esprima": "~4.0.0", + "source-map": "~0.6.1", + "tiny-invariant": "^1.3.3", + "tslib": "^2.0.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, "recursive-readdir": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.3.tgz", @@ -37234,6 +52584,30 @@ "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==" }, + "remark-external-links": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/remark-external-links/-/remark-external-links-8.0.0.tgz", + "integrity": "sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA==", + "dev": true, + "requires": { + "extend": "^3.0.0", + "is-absolute-url": "^3.0.0", + "mdast-util-definitions": "^4.0.0", + "space-separated-tokens": "^1.0.0", + "unist-util-visit": "^2.0.0" + } + }, + "remark-slug": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-6.1.0.tgz", + "integrity": "sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ==", + "dev": true, + "requires": { + "github-slugger": "^1.0.0", + "mdast-util-to-string": "^1.0.0", + "unist-util-visit": "^2.0.0" + } + }, "remove-accents": { "version": "0.4.2", "resolved": "https://registry.npmjs.org/remove-accents/-/remove-accents-0.4.2.tgz", @@ -37349,6 +52723,16 @@ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.1.tgz", "integrity": "sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ==" }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, "retry": { "version": "0.13.1", "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", @@ -37682,14 +53066,16 @@ } }, "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==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", + "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", "requires": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", + "define-data-property": "^1.1.4", + "es-errors": "^1.3.0", + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.4", "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" + "has-property-descriptors": "^1.0.2" } }, "set-function-name": { @@ -37734,13 +53120,14 @@ "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==" }, "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", + "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.4", + "object-inspect": "^1.13.1" } }, "signal-exit": { @@ -37831,6 +53218,22 @@ "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==" }, + "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==", + "dev": true + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, "spdx-exceptions": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", @@ -37989,6 +53392,27 @@ "internal-slot": "^1.0.4" } }, + "store2": { + "version": "2.14.3", + "resolved": "https://registry.npmjs.org/store2/-/store2-2.14.3.tgz", + "integrity": "sha512-4QcZ+yx7nzEFiV4BMLnr/pRa5HYzNITX2ri0Zh6sT9EyQHbBHacC6YigllUPU9X3D0f/22QCgfokpKs52YRrUg==", + "dev": true + }, + "storybook": { + "version": "7.6.17", + "resolved": "https://registry.npmjs.org/storybook/-/storybook-7.6.17.tgz", + "integrity": "sha512-8+EIo91bwmeFWPg1eysrxXlhIYv3OsXrznTr4+4Eq0NikqAoq6oBhtlN5K2RGS2lBVF537eN+9jTCNbR+WrzDA==", + "dev": true, + "requires": { + "@storybook/cli": "7.6.17" + } + }, + "stream-shift": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.3.tgz", + "integrity": "sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==", + "dev": true + }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -38028,6 +53452,25 @@ } } }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "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==", + "dev": true + } + } + }, "string.prototype.matchall": { "version": "4.0.10", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz", @@ -38092,6 +53535,15 @@ "ansi-regex": "^5.0.1" } }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-bom": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", @@ -38320,11 +53772,26 @@ } } }, + "swc-loader": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/swc-loader/-/swc-loader-0.2.6.tgz", + "integrity": "sha512-9Zi9UP2YmDpgmQVbyOPJClY0dwf58JDyDMQ7uRc4krmc72twNI2fvlBWHLqVekBpPc7h5NJkGVT1zNDxFrqhvg==", + "dev": true, + "requires": { + "@swc/counter": "^0.1.3" + } + }, "symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==" }, + "synchronous-promise": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/synchronous-promise/-/synchronous-promise-2.0.17.tgz", + "integrity": "sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==", + "dev": true + }, "synckit": { "version": "0.8.5", "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.5.tgz", @@ -38344,9 +53811,9 @@ } }, "tailwindcss": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.5.tgz", - "integrity": "sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", "requires": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", @@ -38562,6 +54029,96 @@ "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==" }, + "tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "requires": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "dependencies": { + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dev": true, + "requires": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + }, + "dependencies": { + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + } + } + }, + "tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "requires": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + } + }, + "telejson": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/telejson/-/telejson-7.2.0.tgz", + "integrity": "sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==", + "dev": true, + "requires": { + "memoizerific": "^1.11.3" + } + }, + "temp": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", + "integrity": "sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==", + "dev": true, + "requires": { + "rimraf": "~2.6.2" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "temp-dir": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/temp-dir/-/temp-dir-2.0.0.tgz", @@ -38672,6 +54229,54 @@ "resolved": "https://registry.npmjs.org/throat/-/throat-6.0.2.tgz", "integrity": "sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==" }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + }, + "dependencies": { + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", + "dev": true + }, + "readable-stream": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", + "dev": true, + "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==", + "dev": true + }, + "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==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", @@ -38682,6 +54287,17 @@ "resolved": "https://registry.npmjs.org/tiny-case/-/tiny-case-1.0.3.tgz", "integrity": "sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==" }, + "tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + }, + "tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "dev": true + }, "titleize": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", @@ -38706,6 +54322,12 @@ "is-number": "^7.0.0" } }, + "tocbot": { + "version": "4.25.0", + "resolved": "https://registry.npmjs.org/tocbot/-/tocbot-4.25.0.tgz", + "integrity": "sha512-kE5wyCQJ40hqUaRVkyQ4z5+4juzYsv/eK+aqD97N62YH0TxFhzJvo22RUQQZdO3YnXAk42ZOfOpjVdy+Z0YokA==", + "dev": true + }, "toidentifier": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", @@ -38744,6 +54366,12 @@ "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==" }, + "ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true + }, "ts-interface-checker": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", @@ -38781,6 +54409,12 @@ } } }, + "ts-pnp": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", + "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", + "dev": true + }, "tsconfig-paths": { "version": "3.14.2", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", @@ -38807,6 +54441,85 @@ } } }, + "tsconfig-paths-webpack-plugin": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths-webpack-plugin/-/tsconfig-paths-webpack-plugin-4.1.0.tgz", + "integrity": "sha512-xWFISjviPydmtmgeUAuXp4N1fky+VCtfhOkDUFIv5ea7p4wuTomI4QTrXvFBX2S4jZsmyTSrStQl+E+4w+RzxA==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.7.0", + "tsconfig-paths": "^4.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true, + "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==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "requires": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + } + } + } + }, "tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", @@ -38898,6 +54611,12 @@ "is-typed-array": "^1.1.9" } }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==", + "dev": true + }, "typedarray-to-buffer": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", @@ -38911,6 +54630,19 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==" }, + "ufo": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.5.3.tgz", + "integrity": "sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==", + "dev": true + }, + "uglify-js": { + "version": "3.17.4", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.17.4.tgz", + "integrity": "sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==", + "dev": true, + "optional": true + }, "unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -38964,6 +54696,33 @@ "crypto-random-string": "^2.0.0" } }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "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==", + "dev": true, + "requires": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + } + }, "universalify": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", @@ -38983,6 +54742,26 @@ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" }, + "unplugin": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.10.0.tgz", + "integrity": "sha512-CuZtvvO8ua2Wl+9q2jEaqH6m3DoQ38N7pvBYQbbaeNlWGvK2l6GHiKi29aIHDPoSxdUzQ7Unevf1/ugil5X6Pg==", + "dev": true, + "requires": { + "acorn": "^8.11.3", + "chokidar": "^3.6.0", + "webpack-sources": "^3.2.3", + "webpack-virtual-modules": "^0.6.1" + }, + "dependencies": { + "webpack-virtual-modules": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz", + "integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==", + "dev": true + } + } + }, "unquote": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", @@ -39016,6 +54795,33 @@ "punycode": "^2.1.0" } }, + "url": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.3.tgz", + "integrity": "sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==", + "dev": true, + "requires": { + "punycode": "^1.4.1", + "qs": "^6.11.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==", + "dev": true + }, + "qs": { + "version": "6.12.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.0.tgz", + "integrity": "sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==", + "dev": true, + "requires": { + "side-channel": "^1.0.6" + } + } + } + }, "url-parse": { "version": "1.5.10", "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", @@ -39039,6 +54845,15 @@ "integrity": "sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==", "requires": {} }, + "use-resize-observer": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/use-resize-observer/-/use-resize-observer-9.1.0.tgz", + "integrity": "sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==", + "dev": true, + "requires": { + "@juggle/resize-observer": "^3.3.1" + } + }, "use-sidecar": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", @@ -39054,6 +54869,19 @@ "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", "requires": {} }, + "util": { + "version": "0.12.5", + "resolved": "https://registry.npmjs.org/util/-/util-0.12.5.tgz", + "integrity": "sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "is-arguments": "^1.0.4", + "is-generator-function": "^1.0.7", + "is-typed-array": "^1.1.3", + "which-typed-array": "^1.1.2" + } + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -39107,6 +54935,16 @@ } } }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, "vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", @@ -39158,6 +54996,15 @@ "minimalistic-assert": "^1.0.0" } }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, "web-vitals": { "version": "2.1.4", "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-2.1.4.tgz", @@ -39359,6 +55206,17 @@ } } }, + "webpack-hot-middleware": { + "version": "2.26.1", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.26.1.tgz", + "integrity": "sha512-khZGfAeJx6I8K9zKohEWWYN6KDlVw2DHownoe+6Vtwj1LP9WFgegXnVMSkZ/dBEBtXFwrkkydsaPFlB7f8wU2A==", + "devOptional": true, + "requires": { + "ansi-html-community": "0.0.8", + "html-entities": "^2.1.0", + "strip-ansi": "^6.0.0" + } + }, "webpack-manifest-plugin": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-4.1.1.tgz", @@ -39404,6 +55262,12 @@ "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==" }, + "webpack-virtual-modules": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.5.0.tgz", + "integrity": "sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==", + "dev": true + }, "websocket-driver": { "version": "0.7.4", "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", @@ -39535,6 +55399,12 @@ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==" }, + "wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true + }, "workbox-background-sync": { "version": "6.6.0", "resolved": "https://registry.npmjs.org/workbox-background-sync/-/workbox-background-sync-6.6.0.tgz", @@ -39827,6 +55697,43 @@ } } }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.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==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "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==", + "dev": true + } + } + }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -39899,6 +55806,16 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==" }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, "yn": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", @@ -39926,6 +55843,14 @@ "integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==" } } + }, + "zustand": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/zustand/-/zustand-4.5.2.tgz", + "integrity": "sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==", + "requires": { + "use-sync-external-store": "1.2.0" + } } } } diff --git a/signup-ui/package.json b/signup-ui/package.json index d95b0115..516c131a 100644 --- a/signup-ui/package.json +++ b/signup-ui/package.json @@ -3,6 +3,7 @@ "version": "0.1.0", "private": true, "dependencies": { + "@cospired/i18n-iso-languages": "^4.2.0", "@craco/craco": "^7.1.0", "@fontsource-variable/inter": "^5.0.15", "@fontsource-variable/kantumruy-pro": "^5.0.9", @@ -39,6 +40,7 @@ "libphonenumber-js": "^1.10.49", "lodash": "^4.17.21", "lucide-react": "^0.294.0", + "platform": "^1.3.6", "react": "^18.2.0", "react-dom": "^18.2.0", "react-google-recaptcha": "^3.1.0", @@ -94,6 +96,7 @@ "@storybook/test": "^7.6.0", "@tanstack/react-query-devtools": "^5.8.4", "@types/lodash": "^4.14.200", + "@types/platform": "^1.3.6", "@types/react-google-recaptcha": "^2.1.7", "autoprefixer": "^10.4.16", "craco-alias": "^3.0.1", diff --git a/signup-ui/public/env-config.js b/signup-ui/public/env-config.js index 4d69df45..42b2c14e 100644 --- a/signup-ui/public/env-config.js +++ b/signup-ui/public/env-config.js @@ -15,4 +15,8 @@ urlSearchParams.forEach(function (value, key) { window._env_ = { // Set the default language, if ui_locales available from the URL else set it to khmer. DEFAULT_LANG: jsonObject.ui_locales ?? "km", + DEFAULT_THEME: "", + DEFAULT_FEVICON: "favicon.ico", + DEFAULT_TITLE: "eSignet-Signup", + SUPPORTED_LNG: ["en", "km"], }; diff --git a/signup-ui/public/favicon.ico b/signup-ui/public/favicon.ico index a11777cc471a4344702741ab1c8a588998b1311a..2768df4e37c57b50f8cc1373d9534eac5887894d 100644 GIT binary patch literal 1150 zcmcJPO>9h26vywhO)M-r5s|R!ibh9EBUUWRLQ6*fq2`Q2;e8k71XeIh)-aO;Y_nY_kKX>Mhkyvskzd2{lJ^y>pJ@;mm^6}&M zD}L9h9W_eLQcBemh8QWvX_VsJ{~QZ;8H&`9xnv#LLfZd=!~;Z^Bep~x?YV|dV`6@X zk*5!j#@z-4`5oxg_A>K)f#2GBoO>#BYx+$LjMx}{mPYtRMsw$726xHLCuy`DG11Ur z3^BKg8rgd~xz)(Ed#)!i5p^KLDFE5LTPBwWtfY%=7cA88{6pWydXw8PT8P^P*clhs zA}O7>@l+fho9M3(#?ibt3f5iTpMJ1;kAZt*8NKhBa1sl<3@kqs!>XgEu2*Une+6Tu zK6v^n_Tfg$ff&Z892h?eXgzGA{k(X2mssH|1R_B}!+j2fM@xB%@ zzN9;fD-Tk7PVPg_#`&&N?`4g}?BDld|6JH<7grw^`zNuXM=7MTE~1G7HlMY?+;7x0 zRp_hfpI|+1?_ffoTQ-yX6J&fb9PA4vby1ljCb>Gy=9FV`ue?!&)94JmNVB9=1+O@vMt69AMG5{ tO173*Njsa!Tsi+=IDk@?PpNS(79o8V(3L+A)mK5Jnz_@csZ~m}zW}Y&E5QH& literal 3870 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 baj7?x%VD!5Cxk2YbYLNVeiXvvpMCWYo=by@ diff --git a/signup-ui/public/index.html b/signup-ui/public/index.html index 6d39bf52..ebcb9236 100644 --- a/signup-ui/public/index.html +++ b/signup-ui/public/index.html @@ -26,8 +26,10 @@ --> + + - Sign Up + eSignet-Signup diff --git a/signup-ui/public/locales/default.json b/signup-ui/public/locales/default.json new file mode 100644 index 00000000..cc46c92d --- /dev/null +++ b/signup-ui/public/locales/default.json @@ -0,0 +1,15 @@ +{ + "languages_2Letters": { + "km": "ខ្មែរ", + "en": "English" + }, + "rtlLanguages": ["ar"], + "langCodeMapping": { + "khm": "km", + "eng": "en" + }, + "langFontMapping": { + "en": "font-inter", + "km": "font-kantumruypro" + } +} diff --git a/signup-ui/public/locales/en.json b/signup-ui/public/locales/en.json index 1af962ab..1cc771af 100644 --- a/signup-ui/public/locales/en.json +++ b/signup-ui/public/locales/en.json @@ -66,13 +66,14 @@ "attempts_left_and_retry": "{attemptLeft, plural, =0 {0 of {totalAttempt} attempts left. Please try again after {attemptRetryAfter} minutes.} other {{attemptLeft} of {totalAttempt} attempts left}}", "captcha_token_validation": "Please verify that you are a human.", "username_validation": "Enter a valid username", - "username_lead_zero_validation": "Number cannot start with zero. Enter a valid mobile number.", + "username_lead_zero_validation": "Number cannot start with zero. Please enter a valid mobile number", "full_name_validation": "Please enter a valid name", "full_name_all_spaces_validation": "Please enter a valid name.", "full_name_in_lng_validation": "Full Name has to be in Khmer only.", "password_validation": "Password does not meet the password policy. Click on \"i\" to know more.", "password_validation_must_match": "New Password and Confirm New Password do not match.", "register_password_validation_must_match": "Password and Confirm Password do not match.", + "captcha_required": "Please re-enter the captcha to resend the OTP", "terms_and_conditions_validation": "You must accept the terms and conditions", "terms_and_conditions_title": "Terms & Conditions", "terms_and_conditions_content": "

Presentation

To facilitate your access to online services, the Digital Government Committee has set up the KHID. KHID allows access to services requiring a higher level of security electronic identification/authentication. The list of partners from KHID is available here: URL link or logo of private sectors/public services

The online service provider you want to connect that defines the level of assurance of identification/authentication required to access its online services(s).

To use KHID, you must (L2):

To use KHID, you must (L1):

The KHID is responsible for making the bridge between the Identity Supplier and the Service Provider by generating a unique technical identifier. Thus, following your successful identification/authentication with the Identity card/passport you have chosen, the latter sends your identity data (phone number, full name in Khmer). The KHID then questions the Mobile phone service provider for identification via an OTP code (One-time password) code to check that you exist. If your identification/authentication is validated, the selected identity data may be transmitted from your Service Provider to the Service Provider. You are then connected to the online service of the Service provider.

Access to KHID is free of charge.

Our Responsibilities

We may not be held liable for identity theft or any fraudulent use of KHID. We cannot be held liable for any damage caused by any person Unauthorized using your usernames and passwords. You are reminded that anyone who makes a false declaration for itself, or others shall be liable.

We reserve the right to block your access, without notice or compensation of any kind, in the event of a suspicion of illegal, fraudulent, or contrary to these general conditions of use.

Your Responsibilities

It is up to you to comply with the conditions of use of the identification service and electronic authentication subscribed to your Identity Provider. It belongs to You in particular, never to disclose your login details and passwords, which must remain confidential.

It is up to you to comply with the conditions of use of the service as defined by the Supplier of service. In particular, we recommend that you log out at the end of your navigation.

Quality Of Services

The KHID may be interrupted, without prior notice, in particular for reasons of maintenance, safety, or cases of force majeure. An information message indicating this unavailability may be displayed. The unavailability of the KHID does not entitle you to any compensation.

Contact US

Under this function a user can contact KHID’s Customer Support Center via the available feedback form, or call-in to our hotline number XX XXX XXX.

", @@ -119,6 +120,7 @@ "timed_out": "Timedout", "timeout_transaction": "Transaction Timeout", "request_limit": "It is taking time to fetch your account status. Please try login after 5 minutes.", + "reset_pwd_request_limit": "Delay in fetching status of your request. Try logging in with a new password after 5 minutes.", "not_registered": "Not Registered", "reset_pwd_failed": "Reset Password Failed", "identifier_already_registered": "Identifier already registered", @@ -129,14 +131,15 @@ "fetch_identity_failed": "Fetch Identifier Failed", "challenge_format_and_type_mismatch": "Challenge format and type mismatch", "knowledgebase_mismatch": "Invalid number or name. Please enter a registered mobile number and full name.", - "identifier_blocked": "Identifier blocked for 5 minutes", + "identifier_blocked": "User is blocked. Please try again after 5 minutes.", "unsupported_purpose": "Invalid Request", + "otp_notification_failed": "Failed to send the otp", "IDR-IDC-001": "Missing Input Parameter", "IDR-IDC-002": "Invalid Input Parameter", "IDR-IDC-003": "Invalid Request", "IDR-IDC-004": "Unknown error occurred", "IDR-IDC-005": "Input Data Validation Failed", - "IDR-IDC-006": "Error occured while performing DB operations", + "IDR-IDC-006": "Username already exist. Please try again with a different username", "IDR-IDC-007": "No Record(s) found", "IDR-IDC-008": "4XX - Client Error occured", "IDR-IDC-009": "5XX - Server Error occured", @@ -144,7 +147,7 @@ "IDR-IDC-011": "Authorization Failed", "IDR-IDC-012": "Record already exists in DB", "IDR-IDC-013": "Update count limit for the attributes exceeded", - "IDR-IDC-014": "Handle record already exists in DB", + "IDR-IDC-014": "Username already exist. Please try again with a different username", "IDR-IDS-001": "Identity Element hash does not match", "IDR-IDS-002": "Biometric/Document hash does not match", "IDR-IDS-003": "Failed to either encrypt/decrypt message using Kernel Crypto Manager", diff --git a/signup-ui/public/locales/km.json b/signup-ui/public/locales/km.json index b7637dae..de77a028 100644 --- a/signup-ui/public/locales/km.json +++ b/signup-ui/public/locales/km.json @@ -66,13 +66,14 @@ "attempts_left_and_retry": "{attemptLeft, plural, =0 {ការព្យាយាមនៅសល់ 0 នៃ {totalAttempt}។ សូមព្យាយាមម្តងទៀតនៅ {attemptRetryAfter} នាទីបន្ទាប់។} other {ការព្យាយាមនៅសល់ {attemptLeft} នៃ {totalAttempt}}}", "captcha_token_validation": "សូមបញ្ជាក់ថាអ្នកជាមនុស្ស", "username_validation": "សូមបញ្ចូលឈ្មោះអ្នកប្រើប្រាស់ត្រឹមត្រូវ", - "username_lead_zero_validation": "លេខមិនអាចចាប់ផ្តើមដោយលេខសូន្យបានទេ។បញ្ចូលលេខទូរស័ព្ទដែលត្រឹមត្រូវ។", + "username_lead_zero_validation": "លេខមិនអាចចាប់ផ្តើមដោយលេខសូន្យបានទេ។ សូមបញ្ចូលលេខទូរស័ព្ទដែលត្រឹមត្រូវ", "full_name_validation": "សូមបញ្ចូលគោត្តនាម-នាមឱ្យបានត្រឹមត្រូវ", "full_name_all_spaces_validation": "សូមបញ្ចូលឈ្មោះអ្នកឲ្យបានត្រឹមត្រូវ", "full_name_in_lng_validation": "គោត្តនាម-នាមត្រូវតែមានតែអក្សរខ្មែរ", "password_validation": "ពាក្យ​សម្ងាត់​មិន​ត្រូវ​តាម​គោលការណ៍​លេខ​សម្ងាត់​ទេ។ ចុចលើ \"i\" ដើម្បីដឹងបន្ថែម។", "password_validation_must_match": "ពាក្យសម្ងាត់ថ្មី និងបញ្ជាក់ពាក្យសម្ងាត់ថ្មីមិនត្រូវគ្នាទេ។", "register_password_validation_must_match": "ពាក្យសម្ងាត់ និងបញ្ជាក់ពាក្យសម្ងាត់មិនត្រូវគ្នាទេ។", + "captcha_required": "សូមបញ្ចូល captcha ម្តងទៀត ដើម្បីផ្ញើ OTP ឡើងវិញ", "terms_and_conditions_validation": "អ្នកត្រូវយល់ព្រមតាមលក្ខខណ្ឌ និងគោលការណ៍", "terms_and_conditions_title": "លក្ខខណ្ឌទូទៅ", "terms_and_conditions_content": "

អំពីគម្រោង

ដើម្បីជួយសម្រួលដល់ការចូលទៅកាន់សេវាកម្មអនឡាញ គណៈកម្មាធិការរដ្ឋាភិបាលឌីជីថលបានបង្កើត KHID ។ KHID អនុញ្ញាតឱ្យចូលប្រើសេវាកម្មដែលទាមទារកម្រិតខ្ពស់នៃការកំណត់អត្តសញ្ញាណអេឡិចត្រូនិក/ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ។ បញ្ជីឈ្មោះដៃគូពី KHID មាននៅទីនេះ៖ តំណភ្ជាប់ URL ឬនិមិត្តសញ្ញានៃវិស័យឯកជន/សេវាសាធារណៈ។

អ្នកផ្តល់សេវាអនឡាញ ដែលចង់ភ្ជាប់កំណត់កម្រិតនៃការធានានៃការកំណត់អត្តសញ្ញាណ/ការផ្ទៀងផ្ទាត់តម្រូវឱ្យចូលប្រើសេវាកម្មអនឡាញរបស់ខ្លួន។

ដើម្បីប្រើ KHID អ្នកត្រូវតែ(សម្រាប់អ្នកប្រើប្រាស់កម្រិត 2)

  • ប្រសិនបើអ្នកជាជនជាតិខ្មែរ ត្រូវចុះឈ្មោះជាមួយអត្តសញ្ញាណប័ណ្ណ/លិខិតឆ្លងដែន ដើម្បីឱ្យទិន្នន័យអត្តសញ្ញាណរបស់អ្នកត្រូវបានផ្ទៀងផ្ទាត់។
  • ប្រសិនបើអ្នកជាជនបរទេស ត្រូវចុះឈ្មោះជាមួយលិខិតឆ្លងដែន ដើម្បីឱ្យទិន្នន័យអត្តសញ្ញាណរបស់អ្នកត្រូវបានផ្ទៀងផ្ទាត់។

ដើម្បីប្រើ KHID អ្នកត្រូវតែ(សម្រាប់អ្នកប្រើប្រាស់កម្រិត 1)

  • ត្រូវចុះឈ្មោះជាមួយលេខទូរសព្ទ ដើម្បីឱ្យទិន្នន័យអត្តសញ្ញាណរបស់អ្នកត្រូវបានផ្ទៀងផ្ទាត់

KHID ទទួលខុសត្រូវក្នុងការបង្កើតទំនាក់ទំនងរវាង Identity Supplier និង service provider ដោយបង្កើតអត្តសញ្ញាណបច្ចេកទេសតែមួយគត់។ បន្ទាប់មកនឹងផ្ញើទិន្នន័យអត្តសញ្ញាណរបស់អ្នកដូចជា លេខទូរសព្ទ និង ឈ្មោះពេញជាភាសាខ្មែរ)។

KHID ផ្ញើព័ត៌មានរបស់អ្នកទៅកាន់អ្នកផ្តល់សេវាទូរស័ព្ទសម្រាប់ការកំណត់អត្តសញ្ញាណ និងស្នើសុំលេខកូដ OTP (One-time password) ដើម្បីពិនិត្យមើលថាអ្នកមាននៅក្នុងប្រព័ន្ធ។ ប្រសិនបើការកំណត់អត្តសញ្ញាណ/ការផ្ទៀងផ្ទាត់របស់អ្នកមានសុពលភាព ទិន្នន័យអត្តសញ្ញាណដែលបានជ្រើសរើសអាចត្រូវបានបញ្ជូនពី service provider to service provider។ បន្ទាប់មកអ្នកត្រូវបានភ្ជាប់ទៅសេវាកម្មអនឡាញរបស់អ្នកផ្តល់សេវា។

ការចូលប្រើ KHID គឺមិនគិតថ្លៃទេ។

ទំនួលខុសត្រូវរបស់យើង

យើងប្រហែលជាមិនទទួលខុសត្រូវចំពោះការលួចអត្តសញ្ញាណ ឬការប្រើប្រាស់ការក្លែងបន្លំណាមួយរបស់ KHID នោះទេ។ យើង​មិន​អាច​ទទួល​ខុស​ត្រូវ​ចំពោះ​ការ​ខូច​ខាត​ដែល​បង្ក​ឡើង​ដោយ​ជន​ណា​ម្នាក់​ដែល​គ្មាន​ការ​អនុញ្ញាត​ដោយ​ប្រើ​ឈ្មោះ​អ្នក​ប្រើ​និង​ពាក្យ​សម្ងាត់​របស់​អ្នក​ឡើយ។ អ្នក​ត្រូវ​បាន​រំលឹក​ថា​អ្នក​ណា​ដែល​ធ្វើ​ការ​ប្រកាស​មិន​ពិត​សម្រាប់​ខ្លួន​ឯង​ឬ​អ្នក​ដទៃ​ត្រូវ​ទទួល​ខុស​ត្រូវ​។

យើងរក្សាសិទ្ធិក្នុងការទប់ស្កាត់ការចូលប្រើរបស់អ្នក ដោយមិនមានការជូនដំណឹង ឬសំណងណាមួយឡើយ ក្នុងករណីមានការសង្ស័យថាខុសច្បាប់ ការក្លែងបន្លំ ឬផ្ទុយនឹងលក្ខខណ្ឌទូទៅនៃការប្រើប្រាស់ទាំងនេះ។

ទំនួលខុសត្រូវរបស់អ្នក

វាអាស្រ័យលើអ្នកក្នុងការអនុលោមតាមល័ក្ខខ័ណ្ឌនៃការប្រើប្រាស់សេវាកម្មកំណត់អត្តសញ្ញាណ និងការផ្ទៀងផ្ទាត់តាមអេឡិចត្រូនិកដែលបានជាវទៅអ្នកផ្តល់អត្តសញ្ញាណរបស់អ្នក។ ជាពិសេស មិនត្រូវបង្ហាញព័ត៌មានលម្អិតអំពីការចូល និងពាក្យសម្ងាត់របស់អ្នក ដែលត្រូវតែរក្សាការសម្ងាត់។

វាអាស្រ័យលើអ្នកក្នុងការអនុលោមតាមលក្ខខណ្ឌនៃការប្រើប្រាស់សេវាកម្ម ដូចដែលបានកំណត់ដោយអ្នកផ្គត់ផ្គង់សេវា។ ជាពិសេស យើងសូមណែនាំអ្នកឱ្យចេញនៅចុងបញ្ចប់នៃការរុករករបស់អ្នក។

គុណភាពនៃសេវាកម្ម

KHID អាច​ត្រូវ​បាន​កាត់ផ្ដាច់​ដោយ​មិន​មាន​ការ​ជូន​ដំណឹង​ជា​មុន ជា​ពិសេស​សម្រាប់​ហេតុផល​នៃ​ការ​ថែទាំ សុវត្ថិភាព ឬ​ករណី​នៃ​គ្រោះ​មហន្តរាយ។ សារដែលបង្ហាញពីភាពមិនអាចរកបាននេះអាចត្រូវបានបង្ហាញ។ ភាព​មិន​អាច​ប្រើ​បាន​របស់ KHID មិន​ផ្តល់​សិទ្ធិ​ឱ្យ​អ្នក​ទទួល​បាន​សំណង​ណាមួយ​ឡើយ។

ទាក់ទង​មក​យើង

នៅក្រោមមុខងារនេះ អ្នកប្រើប្រាស់អាចទាក់ទងមជ្ឈមណ្ឌលជំនួយអតិថិជនរបស់ KHID តាមរយៈទម្រង់មតិកែលម្អដែលមាន ឬហៅចូលទៅកាន់លេខ hotline របស់យើង XX XXX XXX។

", @@ -119,6 +120,7 @@ "timed_out": "អស់ម៉ោង", "timeout_transaction": "ប្រតិបត្តិការផុតកំណត់", "request_limit": "ត្រូវការពេលវេលាដើម្បីទាញយកស្ថានភាពគណនីរបស់អ្នក។ សូមព្យាយាមចូលប្រើបន្ទាប់ពី 5 នាទី។", + "reset_pwd_request_limit": "ត្រូវការពេលវេលាក្នុងការទាញយកស្ថានភាពនៃសំណើរបស់អ្នក។ សូមព្យាយាមចូលប្រើជាមួយពាក្យសម្ងាត់ថ្មីបន្ទាប់ពី 5 នាទី។", "not_registered": "មិនបានចុះឈ្មោះ", "reset_pwd_failed": "ការកំណត់ពាក្យសម្ងាត់ឡើងវិញបានបរាជ័យ", "identifier_already_registered": "អត្តសញ្ញាណបានចុះឈ្មោះរួចហើយ", @@ -129,14 +131,15 @@ "fetch_identity_failed": "ទាញ​យក​លេខ​សម្គាល់​បាន​បរាជ័យ", "challenge_format_and_type_mismatch": "លេខទូរស័ព្ទ ឬឈ្មោះមិនត្រឹមត្រូវ។ សូមបញ្ចូលលេខទូរស័ព្ទនិងឈ្មោះដែលបានចុះឈ្មោះ។", "knowledgebase_mismatch": "លេខទូរស័ព្ទ ឬឈ្មោះមិនត្រឹមត្រូវ។ សូមបញ្ចូលលេខទូរស័ព្ទនិងឈ្មោះដែលបានចុះឈ្មោះ។", - "identifier_blocked": "លេខសម្គាល់ត្រូវបានបិទចោលរយៈពេល5នាទី", + "identifier_blocked": "អ្នកប្រើប្រាស់ត្រូវបានទប់ស្កាត់។ សូមព្យាយាមម្តងទៀតនៅ 5 នាទីក្រោយ។", "unsupported_purpose": "សំណើមិនត្រឹមត្រូវ", + "otp_notification_failed": "បរាជ័យក្នុងការផ្ញើ otp", "IDR-IDC-001": "រកមិនឃើញតម្លៃដែលបានបញ្ចូល", "IDR-IDC-002": "តម្លៃដែលបានបញ្ចូលមិនត្រឹមត្រូវ", "IDR-IDC-003": "សំណើរមិនត្រឹមត្រូវ", "IDR-IDC-004": "មានកំហុសមួយបានកើតឡើង", "IDR-IDC-005": "ការបញ្ជាក់ទិន្នន័យដែលបានបញ្ចូលបានបរាជ័យ", - "IDR-IDC-006": "កំហុសមួយបានកើតឡើងពេលធ្វើប្រតិបត្តិការនៅក្នុងមូលដ្ឋានទិន្នន័យ", + "IDR-IDC-006": "លេខទូរស័ព្ទមានរួចហើយ។ សូមព្យាយាមបង្កើតគណនីដោយប្រើលេខទូរស័ព្ទផ្សេងទៀត", "IDR-IDC-007": "រកមិនឃើញកំណត់ត្រា", "IDR-IDC-008": "4XX - កំហុសមួយបានកើតឡើងដោយសារអ្នកប្រើប្រាស់", "IDR-IDC-009": "5XX - កំហុសមួយបានកើតឡើងដោយសារម៉ាស៉ីនមេ", @@ -144,7 +147,7 @@ "IDR-IDC-011": "ការត្រួតពិនិត្យបរាជ័យ", "IDR-IDC-012": "កំណត់ត្រាមាននៅក្នុងមូលដ្ឋានទិន្នន័យរួចស្រាប់ហើយ", "IDR-IDC-013": "ការធ្វើបច្ចុប្បន្នភាពលើសចំនួនកំណត់", - "IDR-IDC-014": "កំណត់ត្រា Handle មាននៅក្នុងមូលដ្ឋានទិន្នន័យរួចស្រាប់ហើយ", + "IDR-IDC-014": "លេខទូរស័ព្ទមានរួចហើយ។ សូមព្យាយាមបង្កើតគណនីដោយប្រើលេខទូរស័ព្ទផ្សេងទៀត", "IDR-IDS-001": "អត្តសញ្ញាណមិនត្រឹមត្រូវ", "IDR-IDS-002": "ជីវមាត្រមិនត្រឹមត្រូវ", "IDR-IDS-003": "ការដោះការបំលែងកូដ ឬការបំលែងកូដដោយប្រើ Kernel Crypto Manager បានបរាជ័យ", diff --git a/signup-ui/public/manifest.json b/signup-ui/public/manifest.json index 080d6c77..6f89e1f7 100644 --- a/signup-ui/public/manifest.json +++ b/signup-ui/public/manifest.json @@ -1,6 +1,6 @@ { - "short_name": "React App", - "name": "Create React App Sample", + "short_name": "eSignet-Signup", + "name": "eSignet SignUp", "icons": [ { "src": "favicon.ico", diff --git a/signup-ui/public/theme-config.js b/signup-ui/public/theme-config.js new file mode 100644 index 00000000..c78f3f11 --- /dev/null +++ b/signup-ui/public/theme-config.js @@ -0,0 +1,3 @@ +document.getElementsByTagName("body")[0].classList.add(window._env_.DEFAULT_THEME); +document.getElementById("icon").href=window._env_.DEFAULT_FEVICON; +document.getElementById("title").innerHTML=window._env_.DEFAULT_TITLE; diff --git a/signup-ui/public/theme/variables.css b/signup-ui/public/theme/variables.css new file mode 100644 index 00000000..e45ac9ca --- /dev/null +++ b/signup-ui/public/theme/variables.css @@ -0,0 +1,72 @@ +:root { + --background-body: #f7f9fd; + --background-color: 200 60% 98%; + + --foreground-color: 222.2 47.4% 11.2%; + --primary-muted: 0 0% 80%; + + --primary-muted-foreground: 204 10% 10%; + --primary-muted-neutral-gray: 0 0% 51%; + --primary-muted-dark-gray: 0 0% 29%; + --primary-muted-light-gray: 0 0% 95%; + + --primary-popover: 0 0% 100%; + --primary-popover-foreground: 222.2 47.4% 11.2%; + + --primary-border: 214.3 31.8% 91.4%; + --primary-input: 0 0% 44%; + + --primary-card: 0 0% 100%; + --primary-card-foreground: 222.2 47.4% 11.2%; + --primary-step: 0 0% 100%; + --primary-step-foreground: 222.2 47.4% 11.2%; + + --primary-color: 21 83% 55%; + --primary-foreground-color: 0 0% 100%; + + --secondary-color: 210 40% 96.1%; + --secondary-foreground-color: 222.2 47.4% 11.2%; + + --accent-color: 0 0% 100%; + --accent-foreground-color: 222.2 47.4% 11.2%; + + --destructive-color: 0 68% 50%; + --destructive-foreground-color: 0 52% 96%; + + --ring-color: 215 20.2% 65.1%; + + --radius-font-size: 0.5rem; +} + +[class="dark"] { + --background-color: 224 71% 4%; + --foreground-color: 213 31% 91%; + + --primary-muted: 223 47% 11%; + --primary-muted-foreground: 215.4 16.3% 56.9%; + + --accent-color: 216 34% 17%; + --accent-foreground-color: 210 40% 98%; + + --primary-popover: 224 71% 4%; + --primary-popover-foreground: 215 20.2% 65.1%; + + --primary-border: 216 34% 17%; + --primary-input: 216 34% 17%; + + --primary-card: 224 71% 4%; + --primary-card-foreground: 213 31% 91%; + + --primary-color: 210 40% 98%; + --primary-foreground-color: 222.2 47.4% 1.2%; + + --secondary-color: 222.2 47.4% 11.2%; + --secondary-foreground-color: 210 40% 98%; + + --destructive-color: 0 63% 31%; + --destructive-foreground-color: 210 40% 98%; + + --ring-color: 216 34% 17%; + + --radius-font-size: 0.5rem; +} \ No newline at end of file diff --git a/signup-ui/src/App.css b/signup-ui/src/App.css index c60044de..6e63143e 100644 --- a/signup-ui/src/App.css +++ b/signup-ui/src/App.css @@ -1,12 +1,11 @@ @tailwind base; @tailwind components; @tailwind utilities; - @import "@fontsource-variable/inter"; @import "@fontsource-variable/kantumruy-pro"; body { - background: #f7f9fd 0% 0% no-repeat padding-box; + background: var(--background-body) 0% 0% no-repeat padding-box; } @layer base { @@ -14,113 +13,74 @@ body { --font-inter: "Inter"; --font-kantumruypro: "Kantumruy Pro Variable"; - --background: 220 60% 98%; - --foreground: 222.2 47.4% 11.2%; + --background: var(--background-color); + --foreground: var(--foreground-color); - --muted: 0 0% 80%; - --muted-foreground: 204 10% 10%; - --muted-neutral-gray: 0 0% 51%; - --muted-dark-gray: 0 0% 29%; - --muted-light-gray: 0 0% 95%; + --muted: var(--primary-muted); + --muted-foreground: var(--primary-muted-foreground); + --muted-neutral-gray: var(--primary-muted-neutral-gray); + --muted-dark-gray: var(--primary-muted-dark-gray); + --muted-light-gray: var(--primary-muted-light-gray); - --popover: 0 0% 100%; - --popover-foreground: 222.2 47.4% 11.2%; + --popover: var(--primary-popover); + --popover-foreground: var(--primary-popover-foreground); - --border: 214.3 31.8% 91.4%; - --input: 0 0% 44%; + --border: var(--primary-border); + --input: var(--primary-input); - --card: 0 0% 100%; - --card-foreground: 222.2 47.4% 11.2%; + --card: var(--primary-card); + --card-foreground: var(--primary-card-foreground); - --step: 0 0% 100%; - --step-foreground: 222.2 47.4% 11.2%; + --step: var(--primary-step); + --step-foreground: var(--primary-step-foreground); - --primary: 21 83% 55%; - --primary-foreground: 0 0% 100%; + --primary: var(--primary-color); + --primary-foreground: var(--primary-foreground-color); - --secondary: 210 40% 96.1%; - --secondary-foreground: 222.2 47.4% 11.2%; + --secondary: var(--secondary-color); + --secondary-foreground: var(--secondary-foreground-color); - --accent: 0 0% 100%; - --accent-foreground: 222.2 47.4% 11.2%; + --accent: var(--accent-color); + --accent-foreground: var(--accent-foreground-color); - --destructive: 0 68% 50%; - --destructive-foreground: 0 52% 96%; + --destructive: var(--destructive-color); + --destructive-foreground: var(--destructive-foreground-color); - --ring: 215 20.2% 65.1%; + --ring: var(--ring-color); - --radius: 0.5rem; + --radius: var(--radius-font-size); } .dark { - --background: 224 71% 4%; - --foreground: 213 31% 91%; + --background: var(--background-color); + --foreground: var(--foreground-color); - --muted: 223 47% 11%; - --muted-foreground: 215.4 16.3% 56.9%; + --muted: var(--primary-muted); + --muted-foreground: var(--primary-muted-foreground); - --accent: 216 34% 17%; - --accent-foreground: 210 40% 98%; + --accent: var(--accent-color); + --accent-foreground: var(--accent-foreground-color); - --popover: 224 71% 4%; - --popover-foreground: 215 20.2% 65.1%; + --popover: var(--primary-popover); + --popover-foreground: var(--primary-popover-foreground); - --border: 216 34% 17%; - --input: 216 34% 17%; + --border: var(--primary-border); + --input: var(--primary-input); - --card: 224 71% 4%; - --card-foreground: 213 31% 91%; + --card: var(--primary-card); + --card-foreground: var(--primary-card-foreground); - --primary: 210 40% 98%; - --primary-foreground: 222.2 47.4% 1.2%; + --primary: var(--primary-color); + --primary-foreground: var(--primary-foreground-color); - --secondary: 222.2 47.4% 11.2%; - --secondary-foreground: 210 40% 98%; + --secondary: var(--secondary-color); + --secondary-foreground: var(--secondary-foreground-color); - --destructive: 0 63% 31%; - --destructive-foreground: 210 40% 98%; + --destructive: var(--destructive-color); + --destructive-foreground: var(--destructive-foreground-color); - --ring: 216 34% 17%; + --ring: var(--ring-color); - --radius: 0.5rem; + --radius: var(--radius-font-size); } -} - -@layer base { - * { - @apply border-border; - } - body { - @apply bg-background text-foreground; - font-feature-settings: - "rlig" 1, - "calt" 1; - } -} - -@layer components { - .recaptcha { - transform: scale(1); - } - .input{ - height: 52px; - } - - .term-condition-content { - h4 { - @apply text-xl font-semibold text-gray-900 dark:text-white mb-2; - } - p { - @apply pb-3; - } - ul { - @apply list-disc list-inside pb-5; - } - ol { - @apply space-y-4 list-decimal list-inside; - } - ol li ul { - @apply ps-5 mt-2 space-y-1 list-disc list-inside; - } - } -} +} \ No newline at end of file diff --git a/signup-ui/src/App.tsx b/signup-ui/src/App.tsx index eb0e5fa3..3924cee5 100644 --- a/signup-ui/src/App.tsx +++ b/signup-ui/src/App.tsx @@ -3,17 +3,24 @@ import { Inspector, InspectParams } from "react-dev-inspector"; import "./App.css"; +import { useCallback, useEffect } from "react"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { useTranslation } from "react-i18next"; import { BrowserRouter } from "react-router-dom"; -import { langFontMapping } from "~constants/language"; import { HttpError } from "~services/api.service"; +import langConfigService from "~services/langConfig.service"; import { AppRouter } from "./app/AppRouter"; +import { + langFontMappingSelector, + setLangCodeMappingSelector, + setLangFontMappingSelector, + setLanguages2LettersSelector, + setRtlLanguagesSelector, + useLanguageStore, +} from "./useLanguageStore"; -import NavBar from "~components/ui/nav-bar"; -import Footer from "~components/ui/footer"; // Create a client const queryClient = new QueryClient({ defaultOptions: { @@ -33,6 +40,55 @@ const queryClient = new QueryClient({ function App() { const isDev = process.env.NODE_ENV === "development"; + const { + langFontMapping, + setLanguages2Letters, + setRtlLanguages, + setLangCodeMapping, + setLangFontMapping, + } = useLanguageStore( + useCallback( + (state) => ({ + langFontMapping: langFontMappingSelector(state), + setLanguages2Letters: setLanguages2LettersSelector(state), + setRtlLanguages: setRtlLanguagesSelector(state), + setLangCodeMapping: setLangCodeMappingSelector(state), + setLangFontMapping: setLangFontMappingSelector(state), + }), + [] + ) + ); + + useEffect(() => { + try { + langConfigService.getLocaleConfiguration().then((response: any) => { + let lookup: { [key: string]: number } = {}; + let supportedLanguages = response.languages_2Letters; + let langData = []; + for (let lang in supportedLanguages) { + //check to avoid duplication language labels + if (!(supportedLanguages[lang] in lookup)) { + lookup[supportedLanguages[lang]] = 1; + langData.push({ + label: supportedLanguages[lang], + value: lang, + }); + } + } + setLangCodeMapping(response.langCodeMapping); + setLanguages2Letters(response.languages_2Letters); + setRtlLanguages(response.rtlLanguages); + setLangFontMapping(response.langFontMapping); + }); + } catch (error) { + console.error("Failed to load rtl languages!"); + } + + window.onbeforeunload = function () { + return true; + }; + }, []); + const { i18n } = useTranslation(); return ( diff --git a/signup-ui/src/components/language.tsx b/signup-ui/src/components/language.tsx index 83f418be..9b660a0a 100644 --- a/signup-ui/src/components/language.tsx +++ b/signup-ui/src/components/language.tsx @@ -1,24 +1,70 @@ +import { useCallback } from "react"; import * as DropdownMenu from "@radix-ui/react-dropdown-menu"; import { useTranslation } from "react-i18next"; import { ReactComponent as TranslationIcon } from "~assets/svg/translation-icon.svg"; -import { langFontMapping, languages_2Letters } from "~constants/language"; import { cn } from "~utils/cn"; +import { + langFontMappingSelector, + languages2LettersSelector, + useLanguageStore, +} from "~/useLanguageStore"; import { Icons } from "./ui/icons"; export const Language = () => { const { i18n } = useTranslation(); + const { languages_2Letters, langFontMapping } = useLanguageStore( + useCallback( + (state) => ({ + languages_2Letters: languages2LettersSelector(state), + langFontMapping: langFontMappingSelector(state), + }), + [] + ) + ); + + const ui_locales = "ui_locales"; const handleLanguageChange = (language: string) => { i18n.changeLanguage(language); + + // Get the encoded string from the URL + const hashCode = window.location.hash.substring(1); + + // Decode the string + const decodedBase64 = atob(hashCode) + + var urlSearchParams = new URLSearchParams(decodedBase64); + + // Convert the decoded string to JSON + var jsonObject: Record = {}; + urlSearchParams.forEach(function (value, key) { + jsonObject[key] = value; + // Assign the current i18n language to the ui_locales + if(key === ui_locales) { + jsonObject[key] = language + } + }); + + // Convert the JSON back to decoded string + Object.entries(jsonObject).forEach(([key, value]) => { + urlSearchParams.set(key, value); + }); + + // Encode the string + const encodedBase64 = btoa(urlSearchParams.toString()); + const url = window.location.origin + window.location.pathname + "#" + encodedBase64 + + // Replace the current url with the modified url due to the language change + window.history.replaceState(null, "", url); }; return (
- + { > {Object.entries(languages_2Letters).map(([key, value]) => ( ( /> {type === "password" && (
-
diff --git a/signup-ui/src/pages/ResetPasswordPage/Otp/Otp.tsx b/signup-ui/src/pages/ResetPasswordPage/Otp/Otp.tsx index 59b9c120..bbb61b17 100644 --- a/signup-ui/src/pages/ResetPasswordPage/Otp/Otp.tsx +++ b/signup-ui/src/pages/ResetPasswordPage/Otp/Otp.tsx @@ -34,6 +34,7 @@ import { SettingsDto, VerifyChallengeRequestDto, } from "~typings/types"; +import { langCodeMappingSelector, useLanguageStore } from "~/useLanguageStore"; import { resetPasswordFormDefaultValues } from "../ResetPasswordPage"; import { @@ -64,6 +65,16 @@ export const Otp = ({ methods, settings }: OtpProps) => { [] ) ); + + const { langCodeMapping } = useLanguageStore( + useCallback( + (state) => ({ + langCodeMapping: langCodeMappingSelector(state), + }), + [] + ) + ); + const { trigger, reset, formState, resetField } = methods; const [resendAttempts, setResendAttempts] = useState(0); const { generateChallengeMutation } = useGenerateChallenge(); @@ -71,6 +82,40 @@ export const Otp = ({ methods, settings }: OtpProps) => { const [challengeVerificationError, setChallengeVerificationError] = useState(null); + var pinInputStyle: object; + + var pinInputStyles = { + margin: "0px 02px", + border: "2px solid #C1C1C1", + color: "#000000", + borderRadius: "8px" + } + + if (window.screen.availWidth <= 430) { + let inputBoxSizeMd = { + width: "48px", + height: "48px" + } + let inputBoxSizeSm = { + width: "32px", + height: "32px", + overflow: "auto" + } + if (settings.response.configs["otp.length"] <= 6) { + pinInputStyle = {...pinInputStyles, ...inputBoxSizeMd} + } + else { + pinInputStyle = {...pinInputStyles, ...inputBoxSizeSm} + } + } + else { + let inputBoxSize = { + width: "55px", + height: "52px" + } + pinInputStyle = {...pinInputStyles, ...inputBoxSize} + } + const { totalSeconds: resendOtpTotalSecs, restart: restartResendOtpTotalSecs, @@ -106,6 +151,7 @@ export const Otp = ({ methods, settings }: OtpProps) => { const handleOtpChange = (otp: string) => { setValue("otp", otp, { shouldValidate: true, shouldTouch: true }); + setChallengeVerificationError(null); }; const handleResendOtp = useCallback( @@ -122,8 +168,8 @@ export const Otp = ({ methods, settings }: OtpProps) => { }${getValues("username")}`, fullname: getValues("fullname"), captchaToken: getValues("captchaToken"), - locale: getLocale(i18n.language), - regenerate: true, + locale: getLocale(i18n.language, langCodeMapping), + regenerateChallenge: true, purpose: "RESET_PASSWORD", }, }; @@ -240,6 +286,8 @@ export const Otp = ({ methods, settings }: OtpProps) => { @@ -285,7 +333,6 @@ export const Otp = ({ methods, settings }: OtpProps) => { { padding: "5px 0px", fontSize: "24px", }} - inputStyle={{ - width: "55px", - height: "52px", - margin: "0px 02px", - border: "2px solid #C1C1C1", - color: "#000000", - borderRadius: "8px", - }} + inputStyle={pinInputStyle} inputFocusStyle={{ border: "2px solid #676766", }} @@ -321,6 +361,8 @@ export const Otp = ({ methods, settings }: OtpProps) => { )} />
diff --git a/signup-ui/src/pages/SignUpPage/AccountSetup/AccountSetup.tsx b/signup-ui/src/pages/SignUpPage/AccountSetup/AccountSetup.tsx index a2421ec5..ffc19bf3 100644 --- a/signup-ui/src/pages/SignUpPage/AccountSetup/AccountSetup.tsx +++ b/signup-ui/src/pages/SignUpPage/AccountSetup/AccountSetup.tsx @@ -98,6 +98,7 @@ export const AccountSetup = ({ settings, methods }: AccountSetupProps) => { }${getValues("phone")}`, preferredLang: "eng", }, + locale: null }, }; @@ -166,6 +167,7 @@ export const AccountSetup = ({ settings, methods }: AccountSetupProps) => { {t("username")} { @@ -201,6 +204,7 @@ export const AccountSetup = ({ settings, methods }: AccountSetupProps) => { { @@ -248,6 +253,7 @@ export const AccountSetup = ({ settings, methods }: AccountSetupProps) => { { maxLength={ settings.response.configs["password.length.max"] } + onBlur={() => { + trigger("password") + trigger("confirmPassword") + }} /> @@ -277,6 +287,7 @@ export const AccountSetup = ({ settings, methods }: AccountSetupProps) => { {t("confirm_password")} { { )} /> diff --git a/signup-ui/src/pages/SignUpPage/Otp/Otp.tsx b/signup-ui/src/pages/SignUpPage/Otp/Otp.tsx index e548bd95..ab5d58b6 100644 --- a/signup-ui/src/pages/SignUpPage/Otp/Otp.tsx +++ b/signup-ui/src/pages/SignUpPage/Otp/Otp.tsx @@ -31,10 +31,12 @@ import { SettingsDto, VerifyChallengeRequestDto, } from "~typings/types"; +import { langCodeMappingSelector, useLanguageStore } from "~/useLanguageStore"; import { SignUpForm, signUpFormDefaultValues } from "../SignUpPage"; import { setCriticalErrorSelector, + setResendOtpSelector, setStepSelector, SignUpStep, stepSelector, @@ -51,23 +53,67 @@ export const Otp = ({ methods, settings }: OtpProps) => { const pinInputRef = useRef(null); const { control, getValues, setValue } = useFormContext(); - const { step, setStep, setCriticalError } = useSignUpStore( + const { step, setStep, setCriticalError, setResendOtp } = useSignUpStore( useCallback( (state) => ({ step: stepSelector(state), setStep: setStepSelector(state), setCriticalError: setCriticalErrorSelector(state), + setResendOtp: setResendOtpSelector(state), + }), + [] + ) + ); + const { langCodeMapping } = useLanguageStore( + useCallback( + (state) => ({ + langCodeMapping: langCodeMappingSelector(state), }), [] ) ); const { trigger, reset, resetField, formState } = methods; const [resendAttempts, setResendAttempts] = useState(0); + const [captchaRequired, setCaptchaRequired] = useState(false); const { generateChallengeMutation } = useGenerateChallenge(); const { verifyChallengeMutation } = useVerifyChallenge(); const [challengeVerificationError, setChallengeVerificationError] = useState(null); + var pinInputStyle: object; + + var pinInputStyles = { + margin: "0px 02px", + border: "2px solid #C1C1C1", + color: "#000000", + borderRadius: "8px" + } + + if (window.screen.availWidth <= 430) { + let inputBoxSizeMd = { + width: "48px", + height: "48px" + } + let inputBoxSizeSm = { + width: "32px", + height: "32px", + overflow: "auto" + } + if (settings.response.configs["otp.length"] <= 6) { + pinInputStyle = {...pinInputStyles, ...inputBoxSizeMd} + } + else { + pinInputStyle = {...pinInputStyles, ...inputBoxSizeSm} + } + } + else { + let inputBoxSize = { + width: "55px", + height: "52px" + } + pinInputStyle = {...pinInputStyles, ...inputBoxSize} + } + useEffect(() => { resetField("otp", { defaultValue: signUpFormDefaultValues.otp }); }, [resetField]); @@ -81,6 +127,7 @@ export const Otp = ({ methods, settings }: OtpProps) => { useEffect(() => { setResendAttempts(settings.response.configs["resend.attempts"]); + setCaptchaRequired(settings.response.configs["send-challenge.captcha.required"]); }, [settings.response.configs]); useEffect(() => { @@ -103,6 +150,7 @@ export const Otp = ({ methods, settings }: OtpProps) => { const handleOtpChange = (otp: string) => { setValue("otp", otp, { shouldValidate: true, shouldTouch: true }); + setChallengeVerificationError(null); }; const handleResendOtp = useCallback( @@ -110,7 +158,11 @@ export const Otp = ({ methods, settings }: OtpProps) => { e.preventDefault(); if (settings?.response.configs && resendAttempts > 0) { setChallengeVerificationError(null); - + if (captchaRequired) { + handleBack(); + setResendOtp(true); + } + else { const generateChallengeRequestDto: GenerateChallengeRequestDto = { requestTime: new Date().toISOString(), request: { @@ -118,8 +170,8 @@ export const Otp = ({ methods, settings }: OtpProps) => { settings.response.configs["identifier.prefix"] }${getValues("phone")}`, captchaToken: getValues("captchaToken"), - locale: getLocale(i18n.language), - regenerate: true, + locale: getLocale(i18n.language, langCodeMapping), + regenerateChallenge: true, purpose: "REGISTRATION", }, }; @@ -146,6 +198,7 @@ export const Otp = ({ methods, settings }: OtpProps) => { }, }); } + } }, [ settings?.response.configs, @@ -233,6 +286,8 @@ export const Otp = ({ methods, settings }: OtpProps) => { @@ -278,7 +333,6 @@ export const Otp = ({ methods, settings }: OtpProps) => { { padding: "5px 0px", fontSize: "24px", }} - inputStyle={{ - width: "55px", - height: "52px", - margin: "0px 02px", - border: "2px solid #C1C1C1", - color: "#000000", - borderRadius: "8px", - }} + inputStyle={pinInputStyle} inputFocusStyle={{ border: "2px solid #676766", }} @@ -315,6 +362,8 @@ export const Otp = ({ methods, settings }: OtpProps) => { )} /> diff --git a/signup-ui/src/pages/SignUpPage/SignUpPage.tsx b/signup-ui/src/pages/SignUpPage/SignUpPage.tsx index 66de3f71..507bfd7f 100644 --- a/signup-ui/src/pages/SignUpPage/SignUpPage.tsx +++ b/signup-ui/src/pages/SignUpPage/SignUpPage.tsx @@ -175,7 +175,7 @@ export const SignUpPage = ({ settings }: SignUpPageProps) => { criticalError.errorCode ) && }
- {getSignUpStepContent(step)}
+
{getSignUpStepContent(step)}
); diff --git a/signup-ui/src/pages/SignUpPage/SignUpPopover.tsx b/signup-ui/src/pages/SignUpPage/SignUpPopover.tsx index d95bc0ee..961dfe55 100644 --- a/signup-ui/src/pages/SignUpPage/SignUpPopover.tsx +++ b/signup-ui/src/pages/SignUpPage/SignUpPopover.tsx @@ -56,6 +56,8 @@ export const SignUpPopover = () => { diff --git a/signup-ui/src/pages/SignUpPage/useSignUpStore.tsx b/signup-ui/src/pages/SignUpPage/useSignUpStore.tsx index 58ef3e55..87dd4569 100644 --- a/signup-ui/src/pages/SignUpPage/useSignUpStore.tsx +++ b/signup-ui/src/pages/SignUpPage/useSignUpStore.tsx @@ -18,6 +18,8 @@ export type SignUpStore = { setStep: (step: SignUpStep) => void; criticalError: Error | null; setCriticalError: (criticalError: Error | null) => void; + resendOtp: boolean; + setResendOtp: (resendOtp: boolean) => void; }; export const useSignUpStore = create()( @@ -34,6 +36,12 @@ export const useSignUpStore = create()( if (isEqual(current.criticalError, criticalError)) return; set((state) => ({ criticalError })); }, + resendOtp: false, + setResendOtp: (resendOtp: boolean) => { + const current = get(); + if (isEqual(current.resendOtp, resendOtp)) return; + set((state) => ({ resendOtp })); + }, })) ); @@ -43,6 +51,12 @@ export const stepSelector = (state: SignUpStore): SignUpStore["step"] => export const setStepSelector = (state: SignUpStore): SignUpStore["setStep"] => state.setStep; +export const resendOtpSelector = (state: SignUpStore): SignUpStore["resendOtp"] => + state.resendOtp; + +export const setResendOtpSelector = (state: SignUpStore): SignUpStore["setResendOtp"] => + state.setResendOtp; + export const criticalErrorSelector = ( state: SignUpStore ): SignUpStore["criticalError"] => state.criticalError; diff --git a/signup-ui/src/pages/shared/mutations.ts b/signup-ui/src/pages/shared/mutations.ts index 423b093f..6ed1261a 100644 --- a/signup-ui/src/pages/shared/mutations.ts +++ b/signup-ui/src/pages/shared/mutations.ts @@ -1,4 +1,6 @@ import { useMutation } from "@tanstack/react-query"; +import { useTranslation } from "react-i18next"; +import { alpha2ToAlpha3T } from "@cospired/i18n-iso-languages" import { ApiError } from "~typings/core"; import { @@ -55,14 +57,18 @@ export const useVerifyChallenge = () => { }; export const useRegister = () => { + const { i18n } = useTranslation(); + const locale = alpha2ToAlpha3T(i18n.language) ?? "khm"; + const registerMutation = useMutation< RegistrationResponseDto, ApiError, RegistrationRequestDto >({ mutationKey: keys.registration, - mutationFn: (registrationRequestDto: RegistrationRequestDto) => - register(registrationRequestDto), + mutationFn: (registrationRequestDto: RegistrationRequestDto) =>{ + registrationRequestDto.request.locale = locale + return register(registrationRequestDto)}, gcTime: Infinity, }); @@ -70,14 +76,18 @@ export const useRegister = () => { }; export const useResetPassword = () => { + const { i18n } = useTranslation(); + const locale = alpha2ToAlpha3T(i18n.language) ?? "khm"; + const resetPasswordMutation = useMutation< ResetPasswordResponseDto, ApiError, ResetPasswordRequestDto >({ mutationKey: keys.resetPassword, - mutationFn: (resetPasswordRequestDto: ResetPasswordRequestDto) => - resetPassword(resetPasswordRequestDto), + mutationFn: (resetPasswordRequestDto: ResetPasswordRequestDto) => { + resetPasswordRequestDto.request.locale = locale + return resetPassword(resetPasswordRequestDto)}, gcTime: Infinity, }); diff --git a/signup-ui/src/pages/shared/service.ts b/signup-ui/src/pages/shared/service.ts index 99324dab..c7f3156c 100644 --- a/signup-ui/src/pages/shared/service.ts +++ b/signup-ui/src/pages/shared/service.ts @@ -1,3 +1,5 @@ +import { useTranslation } from "react-i18next"; + import { ApiService } from "~services/api.service"; import { GenerateChallengeRequestDto, @@ -31,10 +33,10 @@ export const verifyChallenge = async ( ).then(({ data }) => data); }; -export const register = async (register: RegistrationRequestDto) => { - return ApiService.post("/registration/register", register).then( - ({ data }) => data - ); +export const register = async ( + register: RegistrationRequestDto +) => { + return ApiService.post("/registration/register", register).then(({ data }) => data); }; export const getRegistrationStatus = @@ -51,8 +53,8 @@ export const getRegistrationStatus = }); }; -export const resetPassword = async (newUserInfo: ResetPasswordRequestDto) => { - return ApiService.post("/reset-password", newUserInfo).then( - ({ data }) => data - ); +export const resetPassword = async ( + newUserInfo: ResetPasswordRequestDto +) => { + return ApiService.post("/reset-password", newUserInfo).then(({ data }) => data); }; diff --git a/signup-ui/src/pages/shared/validation.ts b/signup-ui/src/pages/shared/validation.ts index ace34bce..921e9dba 100644 --- a/signup-ui/src/pages/shared/validation.ts +++ b/signup-ui/src/pages/shared/validation.ts @@ -6,7 +6,6 @@ import { SettingsDto } from "~typings/types"; export const validateUsername = (settings: SettingsDto) => yup .string() - .trim() .matches(/^[^0].*$/, { message: "username_lead_zero_validation", excludeEmptyString: true, @@ -39,7 +38,6 @@ export const validateOtp = (settings: SettingsDto) => export const validatePassword = (settings: SettingsDto) => yup .string() - .trim() .matches(new RegExp(settings.response.configs["password.pattern"]), { message: "password_validation", excludeEmptyString: true, @@ -52,7 +50,6 @@ export const validateConfirmPassword = ( ) => yup .string() - .trim() .matches(new RegExp(settings.response.configs["password.pattern"]), { message: "password_validation", excludeEmptyString: true, diff --git a/signup-ui/src/resources.d.ts b/signup-ui/src/resources.d.ts index dd1452f2..45b3d1e6 100644 --- a/signup-ui/src/resources.d.ts +++ b/signup-ui/src/resources.d.ts @@ -81,6 +81,7 @@ interface Resources { privacy_and_policy_title: string; signup_discontinue_prompt: string; reset_password_discontinue_prompt: string; + captcha_required: string; footer: { powered_by: string; }; @@ -106,6 +107,7 @@ interface Resources { reset_pwd_failed: string; identifier_blocked: string; unsupported_purpose: string; + otp_notification_failed: string; }; }; } diff --git a/signup-ui/src/services/i18n.service.ts b/signup-ui/src/services/i18n.service.ts index 3903a5f9..053ca57d 100644 --- a/signup-ui/src/services/i18n.service.ts +++ b/signup-ui/src/services/i18n.service.ts @@ -4,8 +4,6 @@ import Backend from "i18next-http-backend"; import ICU from "i18next-icu"; import { initReactI18next } from "react-i18next"; -import { languages_2Letters } from "~constants/language"; - if (!localStorage.getItem("esignet-signup-language")) { localStorage.setItem( "esignet-signup-language", @@ -34,7 +32,6 @@ i18n interpolation: { escapeValue: false, // not needed for react as it escapes by default }, - supportedLngs: Object.keys(languages_2Letters), backend: { loadPath: process.env.PUBLIC_URL + "/locales/{{lng}}.json", }, diff --git a/signup-ui/src/services/langConfig.service.ts b/signup-ui/src/services/langConfig.service.ts new file mode 100644 index 00000000..5c367a2b --- /dev/null +++ b/signup-ui/src/services/langConfig.service.ts @@ -0,0 +1,33 @@ +import axios from "axios"; + +import { StringMap } from "../constants/types"; +import ILangConfig from "../models/langConfig.model"; + +const defaultConfigEndpoint = "/locales/default.json"; + +/** + * fetchs and return the locale configuration stored in public folder + * @returns json object + */ +const getLocaleConfiguration = async (): Promise => { + const endpoint = process.env.PUBLIC_URL + defaultConfigEndpoint; + + const response = await axios.get(endpoint); + return response.data; +}; + +const getLangCodeMapping = async (): Promise => { + let localConfig: ILangConfig = await getLocaleConfiguration(); + let reverseMap = Object.entries(localConfig.langCodeMapping).reduce( + (pv, [key, value]) => ((pv[value] = key), pv), + {} as StringMap + ); + return reverseMap; +}; + +const langConfigService = { + getLocaleConfiguration, + getLangCodeMapping, +}; + +export default langConfigService; diff --git a/signup-ui/src/typings/types.ts b/signup-ui/src/typings/types.ts index e8530d9d..57066f6d 100644 --- a/signup-ui/src/typings/types.ts +++ b/signup-ui/src/typings/types.ts @@ -116,6 +116,7 @@ export interface SettingsConfig { "fullname.allowed.characters": string; "fullname.length.min": number; "fullname.length.max": number; + "send-challenge.captcha.required": boolean; } export interface Settings { @@ -136,7 +137,7 @@ type BaseChallengeGenerationRequest = { identifier: string; captchaToken: string; locale: string; - regenerate: boolean; + regenerateChallenge: boolean; }; type RegistrationChallengeGenerationRequest = BaseChallengeGenerationRequest & { @@ -203,6 +204,7 @@ export type RegistrationRequestDto = BaseRequestDto & { username: string; password: string; consent: string; + locale: string | null; userInfo: UserInfo; }; }; @@ -234,6 +236,7 @@ export type ResetPasswordRequestDto = BaseRequestDto & { request: { identifier: string; password: string; + locale: string | null; }; }; diff --git a/signup-ui/src/useLanguageStore.tsx b/signup-ui/src/useLanguageStore.tsx new file mode 100644 index 00000000..a39e37d9 --- /dev/null +++ b/signup-ui/src/useLanguageStore.tsx @@ -0,0 +1,86 @@ +import { isEqual } from "lodash"; +import { create } from "zustand"; +import { devtools } from "zustand/middleware"; + +import { StringMap } from "~constants/types"; + +export type LanguageStore = { + languages_2Letters: StringMap; + setLanguages2Letters: (languages_2Letters: StringMap) => void; + rtlLanguages: string[]; + setRtlLanguages: (rtlLanguages: string[]) => void; + langCodeMapping: StringMap; + setLangCodeMapping: (langCodeMapping: StringMap) => void; + langFontMapping: StringMap; + setLangFontMapping: (langFontMapping: StringMap) => void; +}; + +export const useLanguageStore = create()( + devtools((set, get) => ({ + languages_2Letters: { + km: "ខ្មែរ", + en: "English", + }, + setLanguages2Letters: (languages_2Letters: StringMap) => { + const current = get(); + if (isEqual(current.languages_2Letters, languages_2Letters)) return; + set((state) => ({ languages_2Letters })); + }, + rtlLanguages: [], + setRtlLanguages: (rtlLanguages: string[]) => { + const current = get(); + if (isEqual(current.rtlLanguages, rtlLanguages)) return; + set((state) => ({ rtlLanguages })); + }, + langCodeMapping: { + khm: "km", + eng: "en", + }, + setLangCodeMapping: (langCodeMapping: StringMap) => { + const current = get(); + if (isEqual(current.langCodeMapping, langCodeMapping)) return; + set((state) => ({ langCodeMapping })); + }, + langFontMapping: { + en: "font-inter", + km: "font-kantumruypro", + }, + setLangFontMapping: (langFontMapping) => { + const current = get(); + if (isEqual(current.langFontMapping, langFontMapping)) return; + set((state) => ({ langFontMapping })); + }, + })) +); + +export const languages2LettersSelector = ( + state: LanguageStore +): LanguageStore["languages_2Letters"] => state.languages_2Letters; + +export const setLanguages2LettersSelector = ( + state: LanguageStore +): LanguageStore["setLanguages2Letters"] => state.setLanguages2Letters; + +export const rtlLanguagesSelector = ( + state: LanguageStore +): LanguageStore["rtlLanguages"] => state.rtlLanguages; + +export const setRtlLanguagesSelector = ( + state: LanguageStore +): LanguageStore["setRtlLanguages"] => state.setRtlLanguages; + +export const langCodeMappingSelector = ( + state: LanguageStore +): LanguageStore["langCodeMapping"] => state.langCodeMapping; + +export const setLangCodeMappingSelector = ( + state: LanguageStore +): LanguageStore["setLangCodeMapping"] => state.setLangCodeMapping; + +export const langFontMappingSelector = ( + state: LanguageStore +): LanguageStore["langFontMapping"] => state.langFontMapping; + +export const setLangFontMappingSelector = ( + state: LanguageStore +): LanguageStore["setLangFontMapping"] => state.setLangFontMapping; diff --git a/signup-ui/src/utils/input.ts b/signup-ui/src/utils/input.ts index 4082cd96..eb4e63a5 100644 --- a/signup-ui/src/utils/input.ts +++ b/signup-ui/src/utils/input.ts @@ -4,10 +4,15 @@ export const handleInputFilter = ( event: KeyboardEvent, condition: string ) => { - const allowedKeys = ["Backspace", "Delete", "ArrowLeft", "ArrowRight", "a"]; + const allowedKeys = ["Backspace", "Delete", "ArrowLeft", "ArrowRight", "a", "c", "v"]; // Allow select all key: Ctrl + "a" - if (event.key === "a" && !event.ctrlKey) { + // Allow copy key: Ctrl + "c" + // Allow paste key: Ctrl + "v" + if ( + (event.key === "a" || event.key === "c" || event.key === "v") && + !event.ctrlKey + ) { event.preventDefault(); return; } diff --git a/signup-ui/src/utils/language.ts b/signup-ui/src/utils/language.ts index 6b8b8870..3417f170 100644 --- a/signup-ui/src/utils/language.ts +++ b/signup-ui/src/utils/language.ts @@ -1,6 +1,6 @@ -import { langCodeMapping } from "~constants/language"; +import { StringMap } from "~constants/types"; -export const getLocale = (currentLang: string) => { +export const getLocale = (currentLang: string, langCodeMapping: StringMap) => { return ( Object.keys(langCodeMapping).find( (key) => From 7ed1186cfcb3135c18729c6fd486dab280d9d1ed Mon Sep 17 00:00:00 2001 From: Balaji Alluru <74903654+balaji-alluru@users.noreply.github.com> Date: Fri, 3 May 2024 20:28:07 +0530 Subject: [PATCH 51/63] [MOSIP-31132] Added limit for wrong attempts in OTP login (#135) (#139) * [MOSIP-31132] Added limit for wrong attempts in OTP login (#135) * added changes to tackle multiple invalid attempts in verifyChallenge Signed-off-by: Mohd Kaif Siddique * changed the property name Signed-off-by: Mohd Kaif Siddique * changed the property name Signed-off-by: Mohd Kaif Siddique * added testcase for exceeded attempts Signed-off-by: Mohd Kaif Siddique * changed the message for excceded attempts Signed-off-by: Mohd Kaif Siddique --------- Signed-off-by: Mohd Kaif Siddique Co-authored-by: Mohd Kaif Siddique Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * ES-943 (#124) * Refactor code for custom Theme Signed-off-by: Sreang Rathanak * Add translation for logo alt Signed-off-by: Sreang Rathanak * Add image download Signed-off-by: Sreang Rathanak * Revert root themse change Signed-off-by: Sreang Rathanak * Revert root themse change Signed-off-by: Sreang Rathanak * Revert root themse change Signed-off-by: Sreang Rathanak --------- Signed-off-by: Sreang Rathanak Co-authored-by: Sreang Rathanak Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> * Revert "ES-943 (#124)" This reverts commit 9aeccf68cc1db7ee0a4e84d3290b35f3bdc89999. Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> --------- Signed-off-by: Mohd Kaif Siddique Signed-off-by: Balaji <74903654+balaji-alluru@users.noreply.github.com> Signed-off-by: Sreang Rathanak Co-authored-by: Kaif Siddique <74772315+kaifk468@users.noreply.github.com> Co-authored-by: Mohd Kaif Siddique Co-authored-by: rathanak-0080 <148197234+rathanak-0080@users.noreply.github.com> Co-authored-by: Sreang Rathanak --- .../signup/dto/RegistrationTransaction.java | 9 ++++-- .../signup/services/RegistrationService.java | 13 ++++++-- .../io/mosip/signup/util/ErrorConstants.java | 1 + .../resources/application-default.properties | 1 + .../services/RegistrationServiceTest.java | 32 +++++++++++++++++++ 5 files changed, 50 insertions(+), 6 deletions(-) diff --git a/signup-service/src/main/java/io/mosip/signup/dto/RegistrationTransaction.java b/signup-service/src/main/java/io/mosip/signup/dto/RegistrationTransaction.java index 2ef282c5..7d6c651c 100644 --- a/signup-service/src/main/java/io/mosip/signup/dto/RegistrationTransaction.java +++ b/signup-service/src/main/java/io/mosip/signup/dto/RegistrationTransaction.java @@ -1,13 +1,10 @@ package io.mosip.signup.dto; import io.mosip.esignet.core.util.IdentityProviderUtil; -import io.mosip.signup.util.ErrorConstants; import io.mosip.signup.util.Purpose; import io.mosip.signup.util.RegistrationStatus; import lombok.Data; -import javax.validation.Valid; -import javax.validation.constraints.Pattern; import java.io.Serializable; import java.time.LocalDateTime; import java.time.ZoneOffset; @@ -23,6 +20,7 @@ public class RegistrationTransaction implements Serializable { private String challengeHash; private String identifier; private LocalDateTime startedAt; + private int verificationAttempts; private int challengeRetryAttempts; private LocalDateTime lastRetryAt; private String challengeTransactionId; @@ -43,6 +41,7 @@ public RegistrationTransaction(String identifier, Purpose purpose) { this.registrationStatus = null; this.challengeHash = null; this.challengeRetryAttempts = 0; + this.verificationAttempts = 0; this.lastRetryAt = null; this.purpose = purpose; } @@ -58,6 +57,10 @@ public void increaseAttempt() { this.lastRetryAt = LocalDateTime.now(ZoneOffset.UTC); } + public void incrementVerificationAttempt() { + this.verificationAttempts += 1; + } + public boolean isValidIdentifier(String inputIdentifier) { return this.identifier.equals(IdentityProviderUtil.generateB64EncodedHash(IdentityProviderUtil.ALGO_SHA3_256, inputIdentifier)); diff --git a/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java b/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java index 13d1a7be..e4339cb4 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java @@ -101,6 +101,9 @@ public class RegistrationService { @Value("${mosip.signup.challenge.resend-attempt}") private int resendAttempts; + @Value("${mosip.signup.challenge.verification-attempt}") + private int verificationAttempts; + @Value("${mosip.signup.challenge.resend-delay}") private long resendDelay; @@ -151,6 +154,7 @@ public GenerateChallengeResponse generateChallenge(GenerateChallengeRequest gene else { transaction = cacheUtilService.getChallengeGeneratedTransaction(transactionId); validateTransaction(transaction, identifier, generateChallengeRequest); + transaction.setVerificationAttempts(0); } // generate Challenge @@ -201,14 +205,17 @@ public VerifyChallengeResponse verifyChallenge(VerifyChallengeRequest verifyChal if(otpChallengeInfo.isEmpty()) throw new SignUpException(ErrorConstants.INVALID_CHALLENGE); - String challengeHash = IdentityProviderUtil.generateB64EncodedHash(IdentityProviderUtil.ALGO_SHA3_256, - otpChallengeInfo.get().getChallenge()); - if(transaction.getLastRetryToNow() >= challengeTimeout) { throw new SignUpException(ErrorConstants.CHALLENGE_EXPIRED); } + if(transaction.getVerificationAttempts() >= verificationAttempts){ + throw new SignUpException(ErrorConstants.TOO_MANY_VERIFY_ATTEMPTS); + } + String challengeHash = IdentityProviderUtil.generateB64EncodedHash(IdentityProviderUtil.ALGO_SHA3_256, + otpChallengeInfo.get().getChallenge()); if(!challengeHash.equals(transaction.getChallengeHash())) { + transaction.incrementVerificationAttempt(); log.error("Transaction {} : challenge not match", transactionId); throw new ChallengeFailedException(); } diff --git a/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java b/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java index acd2df9b..67a24791 100644 --- a/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java +++ b/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java @@ -17,6 +17,7 @@ public class ErrorConstants { public static final String GENERATE_CHALLENGE_FAILED ="generate_challenge_failed"; public static final String UNKNOWN_ERROR="unknown_error"; public static final String TOO_MANY_ATTEMPTS="too_many_attempts"; + public static final String TOO_MANY_VERIFY_ATTEMPTS="too_many_verify_attempts"; public static final String INVALID_REQUEST="invalid_request"; public static final String INVALID_CHALLENGE="invalid_challenge"; public static final String CHALLENGE_EXPIRED="challenge_expired"; diff --git a/signup-service/src/main/resources/application-default.properties b/signup-service/src/main/resources/application-default.properties index 873870c9..2cbb9454 100644 --- a/signup-service/src/main/resources/application-default.properties +++ b/signup-service/src/main/resources/application-default.properties @@ -20,6 +20,7 @@ mosip.signup.fullname.pattern=^[\\u1780-\\u17FF\\u19E0-\\u19FF\\u1A00-\\u1A9F\\u ## so 250 seconds is the Generate and verify cookie max age. mosip.signup.unauthenticated.txn.timeout=250 mosip.signup.challenge.resend-attempt=3 +mosip.signup.challenge.verification-attempt=3 mosip.signup.challenge.resend-delay=60 ## Time given to complete registration and get back the status of the registration in seconds. diff --git a/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java b/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java index ddadca57..3c3612ab 100644 --- a/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java +++ b/signup-service/src/test/java/io/mosip/signup/services/RegistrationServiceTest.java @@ -94,6 +94,8 @@ public void setUp() { ReflectionTestUtils.setField(registrationService, getRegistrationStatusEndpoint, getRegistrationStatusEndpoint); ReflectionTestUtils.setField( registrationService, "resendAttempts", 3); + ReflectionTestUtils.setField( + registrationService, "verificationAttempts", 3); ReflectionTestUtils.setField( registrationService, "resendDelay", 30); ReflectionTestUtils.setField( @@ -141,6 +143,36 @@ public void doVerifyChallenge_thenPass() { Assert.assertEquals("SUCCESS", verifyChallengeResponse.getStatus()); } + @Test + public void doVerifyChallenge_withExceededVerifyAttempt_thenFail() throws SignUpException { + ReflectionTestUtils.setField(registrationService, "verificationAttempts", 3); + ChallengeInfo challengeInfo = new ChallengeInfo(); + challengeInfo.setFormat("alpha-numeric"); + challengeInfo.setChallenge("123456"); + challengeInfo.setType("OTP"); + + List challengeList = new ArrayList<>(); + challengeList.add(challengeInfo); + + VerifyChallengeRequest verifyChallengeRequest = new VerifyChallengeRequest(); + verifyChallengeRequest.setIdentifier("123456"); + verifyChallengeRequest.setChallengeInfo(challengeList); + + String mockTransactionId = "mock-transactionId"; + RegistrationTransaction registrationTransaction = new RegistrationTransaction("+85512123123", Purpose.REGISTRATION); + registrationTransaction.setChallengeHash("failed"); + registrationTransaction.setIdentifier(verifyChallengeRequest.getIdentifier()); + registrationTransaction.setLastRetryAt(LocalDateTime.now(ZoneOffset.UTC)); + registrationTransaction.setVerificationAttempts(4); + when(cacheUtilService.getChallengeGeneratedTransaction(mockTransactionId)).thenReturn(registrationTransaction); + + try { + registrationService.verifyChallenge(verifyChallengeRequest, mockTransactionId); + Assert.fail(); + } catch (SignUpException signUpException) { + Assert.assertEquals(ErrorConstants.TOO_MANY_VERIFY_ATTEMPTS, signUpException.getErrorCode()); + } + } @Test public void doVerifyChallenge_whenIdentifierAlreadyRegisterError_throwIdentityAlreadyRegister() { From 4f6428183ddbd0cf9817c086fd738d99f1c9702c Mon Sep 17 00:00:00 2001 From: panharith-0118 <148301211+panharith-0118@users.noreply.github.com> Date: Thu, 2 May 2024 00:38:07 +0700 Subject: [PATCH 52/63] ES-852 (#125) Signed-off-by: pr --- .../services/ChallengeManagerService.java | 33 +-- .../signup/services/RegistrationService.java | 190 +++++++++++------- .../io/mosip/signup/util/ErrorConstants.java | 1 + signup-ui/public/locales/en.json | 1 + signup-ui/public/locales/km.json | 1 + signup-ui/src/resources.d.ts | 1 + 6 files changed, 139 insertions(+), 88 deletions(-) diff --git a/signup-service/src/main/java/io/mosip/signup/services/ChallengeManagerService.java b/signup-service/src/main/java/io/mosip/signup/services/ChallengeManagerService.java index 4f25d848..f3927025 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/ChallengeManagerService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/ChallengeManagerService.java @@ -16,6 +16,7 @@ import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.client.RestTemplate; +import org.springframework.web.client.RestClientException; @Service @Slf4j @@ -47,20 +48,26 @@ private String generateOTPChallenge(String challengeTransactionId) { restRequestWrapper.setRequesttime(IdentityProviderUtil.getUTCDateTime()); restRequestWrapper.setRequest(otpRequest); - RestResponseWrapper restResponseWrapper = selfTokenRestTemplate - .exchange(generateChallengeUrl, HttpMethod.POST, - new HttpEntity<>(restRequestWrapper), - new ParameterizedTypeReference>() {}) - .getBody(); + try { + RestResponseWrapper restResponseWrapper = selfTokenRestTemplate + .exchange(generateChallengeUrl, HttpMethod.POST, + new HttpEntity<>(restRequestWrapper), + new ParameterizedTypeReference>() { + }) + .getBody(); - if (restResponseWrapper != null && restResponseWrapper.getResponse() != null && - !StringUtils.isEmpty(restResponseWrapper.getResponse().getOtp()) && - !restResponseWrapper.getResponse().getOtp().equals("null")) { - return restResponseWrapper.getResponse().getOtp(); - } + if (restResponseWrapper != null && restResponseWrapper.getResponse() != null && + !StringUtils.isEmpty(restResponseWrapper.getResponse().getOtp()) && + !restResponseWrapper.getResponse().getOtp().equals("null")) { + return restResponseWrapper.getResponse().getOtp(); + } - log.error("Generate OTP failed with response {}", restResponseWrapper); - throw new SignUpException(restResponseWrapper != null && !CollectionUtils.isEmpty(restResponseWrapper.getErrors()) ? - restResponseWrapper.getErrors().get(0).getErrorCode() : ErrorConstants.GENERATE_CHALLENGE_FAILED); + log.error("Generate OTP failed with response {}", restResponseWrapper); + throw new SignUpException(restResponseWrapper != null && !CollectionUtils.isEmpty(restResponseWrapper.getErrors()) ? + restResponseWrapper.getErrors().get(0).getErrorCode() : ErrorConstants.GENERATE_CHALLENGE_FAILED); + } catch (RestClientException e) { + log.error("Endpoint {} is unreachable.", generateChallengeUrl); + throw new SignUpException(ErrorConstants.SERVER_UNREACHABLE); + } } } diff --git a/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java b/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java index e4339cb4..8498f817 100644 --- a/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java +++ b/signup-service/src/main/java/io/mosip/signup/services/RegistrationService.java @@ -316,21 +316,26 @@ private RestRequestWrapper getRestRequestWrapper(RegistrationTransaction transac } private void verifyIdentityResponseForResetPassword(RestRequestWrapper restRequest, String transactionId ) { - HttpEntity> resReq = new HttpEntity<>(restRequest); - RestResponseWrapper restResponseWrapper = selfTokenRestTemplate.exchange(identityEndpoint, - HttpMethod.PATCH, - resReq, - new ParameterizedTypeReference>() {}).getBody(); - - if (restResponseWrapper != null && restResponseWrapper.getErrors() != null && - !CollectionUtils.isEmpty(restResponseWrapper.getErrors())){ - log.error("Transaction {} : reset password failed with response {}", transactionId, restResponseWrapper); - throw new SignUpException(restResponseWrapper.getErrors().get(0).getErrorCode()); - } + try { + HttpEntity> resReq = new HttpEntity<>(restRequest); + RestResponseWrapper restResponseWrapper = selfTokenRestTemplate.exchange(identityEndpoint, + HttpMethod.PATCH, + resReq, + new ParameterizedTypeReference>() {}).getBody(); + + if (restResponseWrapper != null && restResponseWrapper.getErrors() != null && + !CollectionUtils.isEmpty(restResponseWrapper.getErrors())){ + log.error("Transaction {} : reset password failed with response {}", transactionId, restResponseWrapper); + throw new SignUpException(restResponseWrapper.getErrors().get(0).getErrorCode()); + } - if (restResponseWrapper == null || restResponseWrapper.getResponse() == null){ - log.error("Transaction {} : reset password failed with response {}", transactionId, restResponseWrapper); - throw new SignUpException(ErrorConstants.RESET_PWD_FAILED); + if (restResponseWrapper == null || restResponseWrapper.getResponse() == null){ + log.error("Transaction {} : reset password failed with response {}", transactionId, restResponseWrapper); + throw new SignUpException(ErrorConstants.RESET_PWD_FAILED); + } + } catch (RestClientException e) { + log.error("Endpoint {} is unreachable.", identityEndpoint); + throw new SignUpException(ErrorConstants.SERVER_UNREACHABLE); } } @@ -388,21 +393,29 @@ public RegistrationStatusResponse getRegistrationStatus(String transactionId) private void fetchAndCheckIdentity(String transactionId, RegistrationTransaction registrationTransaction, VerifyChallengeRequest verifyChallengeRequest) { - - String endpoint = String.format(getIdentityEndpoint, verifyChallengeRequest.getIdentifier()); - RestResponseWrapper restResponseWrapper = selfTokenRestTemplate - .exchange(endpoint, HttpMethod.GET, null, - new ParameterizedTypeReference>() {}).getBody(); - - if (restResponseWrapper == null) throw new SignUpException(ErrorConstants.FETCH_IDENTITY_FAILED); - - switch (registrationTransaction.getPurpose()){ - case REGISTRATION: checkIdentityExists(restResponseWrapper); - break; - case RESET_PASSWORD: checkActiveIdentityExists(transactionId, restResponseWrapper, registrationTransaction, - verifyChallengeRequest); - break; - default: throw new SignUpException(ErrorConstants.UNSUPPORTED_PURPOSE); + try { + String endpoint = String.format(getIdentityEndpoint, verifyChallengeRequest.getIdentifier()); + RestResponseWrapper restResponseWrapper = selfTokenRestTemplate + .exchange(endpoint, HttpMethod.GET, null, + new ParameterizedTypeReference>() { + }).getBody(); + + if (restResponseWrapper == null) throw new SignUpException(ErrorConstants.FETCH_IDENTITY_FAILED); + + switch (registrationTransaction.getPurpose()) { + case REGISTRATION: + checkIdentityExists(restResponseWrapper); + break; + case RESET_PASSWORD: + checkActiveIdentityExists(transactionId, restResponseWrapper, registrationTransaction, + verifyChallengeRequest); + break; + default: + throw new SignUpException(ErrorConstants.UNSUPPORTED_PURPOSE); + } + } catch (RestClientException e) { + log.error("Endpoint {} is unreachable.", getIdentityEndpoint); + throw new SignUpException(ErrorConstants.SERVER_UNREACHABLE); } } @@ -498,20 +511,26 @@ private void addIdentity(IdentityRequest identityRequest, String transactionId) restRequest.setRequest(identityRequest); log.debug("Transaction {} : start add identity", transactionId); - HttpEntity> resReq = new HttpEntity<>(restRequest); - RestResponseWrapper restResponseWrapper = selfTokenRestTemplate.exchange(identityEndpoint, - HttpMethod.POST, - resReq, - new ParameterizedTypeReference>() {}).getBody(); + try { + HttpEntity> resReq = new HttpEntity<>(restRequest); + RestResponseWrapper restResponseWrapper = selfTokenRestTemplate.exchange(identityEndpoint, + HttpMethod.POST, + resReq, + new ParameterizedTypeReference>() { + }).getBody(); + + if (restResponseWrapper != null && restResponseWrapper.getResponse() != null && + restResponseWrapper.getResponse().getStatus().equals("ACTIVATED")) { + return; + } - if (restResponseWrapper != null && restResponseWrapper.getResponse() != null && - restResponseWrapper.getResponse().getStatus().equals("ACTIVATED")) { - return; + log.error("Transaction {} : Add identity failed with response {}", transactionId, restResponseWrapper); + throw new SignUpException(restResponseWrapper != null && !CollectionUtils.isEmpty(restResponseWrapper.getErrors()) ? + restResponseWrapper.getErrors().get(0).getErrorCode() : ErrorConstants.ADD_IDENTITY_FAILED); + } catch (RestClientException e) { + log.error("Endpoint {} is unreachable.", identityEndpoint); + throw new SignUpException(ErrorConstants.SERVER_UNREACHABLE); } - - log.error("Transaction {} : Add identity failed with response {}", transactionId, restResponseWrapper); - throw new SignUpException(restResponseWrapper != null && !CollectionUtils.isEmpty(restResponseWrapper.getErrors()) ? - restResponseWrapper.getErrors().get(0).getErrorCode() : ErrorConstants.ADD_IDENTITY_FAILED); } private Password generateSaltedHash(String password, String transactionId) throws SignUpException{ @@ -522,35 +541,46 @@ private Password generateSaltedHash(String password, String transactionId) throw HttpEntity> resReq = new HttpEntity<>(restRequestWrapper); log.debug("Transaction {} : Generate salted hash started", transactionId); - RestResponseWrapper restResponseWrapper = selfTokenRestTemplate.exchange(generateHashEndpoint, HttpMethod.POST, resReq, new ParameterizedTypeReference>(){}).getBody(); + try { + RestResponseWrapper restResponseWrapper = selfTokenRestTemplate.exchange( + generateHashEndpoint, HttpMethod.POST, resReq, new ParameterizedTypeReference>(){}).getBody(); + + if (restResponseWrapper != null && restResponseWrapper.getResponse() != null && + !StringUtils.isEmpty(restResponseWrapper.getResponse().getHashValue()) && + !StringUtils.isEmpty(restResponseWrapper.getResponse().getSalt())) { + return new Password(restResponseWrapper.getResponse().getHashValue(), + restResponseWrapper.getResponse().getSalt()); + } - if (restResponseWrapper != null && restResponseWrapper.getResponse() != null && - !StringUtils.isEmpty(restResponseWrapper.getResponse().getHashValue()) && - !StringUtils.isEmpty(restResponseWrapper.getResponse().getSalt())) { - return new Password(restResponseWrapper.getResponse().getHashValue(), - restResponseWrapper.getResponse().getSalt()); + log.error("Transaction {} : Generate salted hash failed with response {}", transactionId, restResponseWrapper); + throw new SignUpException(restResponseWrapper != null && !CollectionUtils.isEmpty(restResponseWrapper.getErrors()) ? + restResponseWrapper.getErrors().get(0).getErrorCode() : ErrorConstants.HASH_GENERATE_FAILED); + } catch (RestClientException e) { + log.error("Endpoint {} is unreachable.", generateHashEndpoint); + throw new SignUpException(ErrorConstants.SERVER_UNREACHABLE); } - - log.error("Transaction {} : Generate salted hash failed with response {}", transactionId, restResponseWrapper); - throw new SignUpException(restResponseWrapper != null && !CollectionUtils.isEmpty(restResponseWrapper.getErrors()) ? - restResponseWrapper.getErrors().get(0).getErrorCode() : ErrorConstants.HASH_GENERATE_FAILED); } @Timed(value = "getuin.api.timer", percentiles = {0.9}) private String getUniqueIdentifier(String transactionId) throws SignUpException { + try { + RestResponseWrapper restResponseWrapper = selfTokenRestTemplate.exchange( + getUinEndpoint, + HttpMethod.GET, null, + new ParameterizedTypeReference>() {}).getBody(); + + if (restResponseWrapper != null && restResponseWrapper.getResponse() != null && + !StringUtils.isEmpty(restResponseWrapper.getResponse().getUIN()) ) { + return restResponseWrapper.getResponse().getUIN(); + } - RestResponseWrapper restResponseWrapper = selfTokenRestTemplate.exchange(getUinEndpoint, - HttpMethod.GET, null, - new ParameterizedTypeReference>() {}).getBody(); - - if (restResponseWrapper != null && restResponseWrapper.getResponse() != null && - !StringUtils.isEmpty(restResponseWrapper.getResponse().getUIN()) ) { - return restResponseWrapper.getResponse().getUIN(); + log.error("Transaction {} : Get unique identifier(UIN) failed with response {}", transactionId, restResponseWrapper); + throw new SignUpException(restResponseWrapper != null && !CollectionUtils.isEmpty(restResponseWrapper.getErrors()) ? + restResponseWrapper.getErrors().get(0).getErrorCode() : ErrorConstants.GET_UIN_FAILED); + } catch (RestClientException e) { + log.error("Endpoint {} is unreachable.", getUinEndpoint); + throw new SignUpException(ErrorConstants.SERVER_UNREACHABLE); } - - log.error("Transaction {} : Get unique identifier(UIN) failed with response {}", transactionId, restResponseWrapper); - throw new SignUpException(restResponseWrapper != null && !CollectionUtils.isEmpty(restResponseWrapper.getErrors()) ? - restResponseWrapper.getErrors().get(0).getErrorCode() : ErrorConstants.GET_UIN_FAILED); } private void validateTransaction(RegistrationTransaction transaction, String identifier, @@ -583,21 +613,31 @@ private void validateTransaction(RegistrationTransaction transaction, String ide @Timed(value = "getstatus.api.timer", percentiles = {0.9}) private RegistrationStatus getRegistrationStatusFromServer(String applicationId) { - RestResponseWrapper> restResponseWrapper = selfTokenRestTemplate.exchange(getRegistrationStatusEndpoint, - HttpMethod.GET, null, - new ParameterizedTypeReference>>() {}, applicationId).getBody(); - - if (restResponseWrapper != null && restResponseWrapper.getResponse() != null && - !StringUtils.isEmpty(restResponseWrapper.getResponse().get("statusCode")) ) { - switch (restResponseWrapper.getResponse().get("statusCode")) { - case "STORED" : return RegistrationStatus.COMPLETED; - case "FAILED" : return RegistrationStatus.FAILED; - case "ISSUED" : - default: return RegistrationStatus.PENDING; + try { + RestResponseWrapper> restResponseWrapper = selfTokenRestTemplate.exchange( + getRegistrationStatusEndpoint, + HttpMethod.GET, null, + new ParameterizedTypeReference>>() { + }, applicationId).getBody(); + + if (restResponseWrapper != null && restResponseWrapper.getResponse() != null && + !StringUtils.isEmpty(restResponseWrapper.getResponse().get("statusCode"))) { + switch (restResponseWrapper.getResponse().get("statusCode")) { + case "STORED": + return RegistrationStatus.COMPLETED; + case "FAILED": + return RegistrationStatus.FAILED; + case "ISSUED": + default: + return RegistrationStatus.PENDING; + } } + log.error("Transaction {} : Get registration status failed with response {}", applicationId, restResponseWrapper); + return RegistrationStatus.PENDING; + } catch (RestClientException e) { + log.error("Endpoint {} is unreachable.", getRegistrationStatusEndpoint); + throw new SignUpException(ErrorConstants.SERVER_UNREACHABLE); } - log.error("Transaction {} : Get registration status failed with response {}", applicationId, restResponseWrapper); - return RegistrationStatus.PENDING; } private void addCookieInResponse(String transactionId, int maxAge) { diff --git a/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java b/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java index 67a24791..96035cd4 100644 --- a/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java +++ b/signup-service/src/main/java/io/mosip/signup/util/ErrorConstants.java @@ -43,4 +43,5 @@ public class ErrorConstants { public static final String KNOWLEDGEBASE_MISMATCH = "knowledgebase_mismatch"; public static final String IDENTIFIER_BLOCKED = "identifier_blocked"; public static final String OTP_NOTIFICATION_FAILED = "otp_notification_failed"; + public static final String SERVER_UNREACHABLE = "server_unreachable"; } diff --git a/signup-ui/public/locales/en.json b/signup-ui/public/locales/en.json index 1cc771af..0a478f07 100644 --- a/signup-ui/public/locales/en.json +++ b/signup-ui/public/locales/en.json @@ -133,6 +133,7 @@ "knowledgebase_mismatch": "Invalid number or name. Please enter a registered mobile number and full name.", "identifier_blocked": "User is blocked. Please try again after 5 minutes.", "unsupported_purpose": "Invalid Request", + "server_unreachable": "We are unable to process your request, please try again later.", "otp_notification_failed": "Failed to send the otp", "IDR-IDC-001": "Missing Input Parameter", "IDR-IDC-002": "Invalid Input Parameter", diff --git a/signup-ui/public/locales/km.json b/signup-ui/public/locales/km.json index de77a028..abe9d6cd 100644 --- a/signup-ui/public/locales/km.json +++ b/signup-ui/public/locales/km.json @@ -133,6 +133,7 @@ "knowledgebase_mismatch": "លេខទូរស័ព្ទ ឬឈ្មោះមិនត្រឹមត្រូវ។ សូមបញ្ចូលលេខទូរស័ព្ទនិងឈ្មោះដែលបានចុះឈ្មោះ។", "identifier_blocked": "អ្នកប្រើប្រាស់ត្រូវបានទប់ស្កាត់។ សូមព្យាយាមម្តងទៀតនៅ 5 នាទីក្រោយ។", "unsupported_purpose": "សំណើមិនត្រឹមត្រូវ", + "server_unreachable": "យើងមិនអាចបន្តសំណើរបស់អ្នកឡើយ។ សូមព្យាយាមម្តងទៀតនៅពេលក្រោយ។", "otp_notification_failed": "បរាជ័យក្នុងការផ្ញើ otp", "IDR-IDC-001": "រកមិនឃើញតម្លៃដែលបានបញ្ចូល", "IDR-IDC-002": "តម្លៃដែលបានបញ្ចូលមិនត្រឹមត្រូវ", diff --git a/signup-ui/src/resources.d.ts b/signup-ui/src/resources.d.ts index 45b3d1e6..2d5436ec 100644 --- a/signup-ui/src/resources.d.ts +++ b/signup-ui/src/resources.d.ts @@ -108,6 +108,7 @@ interface Resources { identifier_blocked: string; unsupported_purpose: string; otp_notification_failed: string; + server_unreachable: string; }; }; } From 29b9ed11ebd9260874abd031f9b4816cd83d08bd Mon Sep 17 00:00:00 2001 From: rathanak-0080 <148197234+rathanak-0080@users.noreply.github.com> Date: Fri, 3 May 2024 17:23:02 +0700 Subject: [PATCH 53/63] ES-943 (#124) * Refactor code for custom Theme Signed-off-by: Sreang Rathanak * Add translation for logo alt Signed-off-by: Sreang Rathanak * Add image download Signed-off-by: Sreang Rathanak * Revert root themse change Signed-off-by: Sreang Rathanak * Revert root themse change Signed-off-by: Sreang Rathanak * Revert root themse change Signed-off-by: Sreang Rathanak --------- Signed-off-by: Sreang Rathanak Co-authored-by: Sreang Rathanak --- signup-ui/Dockerfile | 1 + signup-ui/configure_start.sh | 12 ++ signup-ui/public/env-config.js | 8 +- signup-ui/public/images/bg_bottom_left.png | Bin 0 -> 273802 bytes signup-ui/public/images/brand_logo.png | Bin 0 -> 3428 bytes signup-ui/public/images/section-bg.png | Bin 0 -> 527269 bytes signup-ui/public/index.html | 4 +- signup-ui/public/locales/en.json | 1 + signup-ui/public/locales/km.json | 1 + signup-ui/public/theme-config.js | 8 +- signup-ui/public/theme/variables.css | 66 +++++++++- signup-ui/src/App.css | 114 ++++++++++++++++++ signup-ui/src/App.tsx | 4 - signup-ui/src/assets/svg/translation-icon.svg | 6 +- signup-ui/src/components/ui/footer.tsx | 12 +- signup-ui/src/components/ui/nav-bar.tsx | 8 +- signup-ui/src/layouts/PageLayout.tsx | 32 +++-- .../src/pages/LandingPage/LandingPage.tsx | 40 +++--- .../src/pages/SignUpPage/Phone/Phone.tsx | 18 +-- .../SomethingWentWrongPage.tsx | 8 +- signup-ui/src/resources.d.ts | 1 + .../ErrorPageTemplate/ErrorPageTemplate.tsx | 9 +- 22 files changed, 286 insertions(+), 67 deletions(-) create mode 100644 signup-ui/public/images/bg_bottom_left.png create mode 100644 signup-ui/public/images/brand_logo.png create mode 100644 signup-ui/public/images/section-bg.png diff --git a/signup-ui/Dockerfile b/signup-ui/Dockerfile index 4828ba9f..c2e66e3e 100644 --- a/signup-ui/Dockerfile +++ b/signup-ui/Dockerfile @@ -55,6 +55,7 @@ ENV nginx_dir=/usr/share/nginx ENV work_dir=${nginx_dir}/html ENV i18n_path=${work_dir}/locales ENV theme_path=${work_dir}/theme +ENV image_path=${work_dir}/images ENV plugins_path=${nginx_dir}/html/plugins ENV plugins_format=iife diff --git a/signup-ui/configure_start.sh b/signup-ui/configure_start.sh index d44cb7b8..46908c89 100755 --- a/signup-ui/configure_start.sh +++ b/signup-ui/configure_start.sh @@ -27,6 +27,18 @@ cd $theme_path unzip -o esignet-signup-theme.zip rm esignet-signup-theme.zip +#image bundle +echo "Downloading image bundle files" +wget --no-check-certificate --no-cache --no-cookies $artifactory_url_env/artifactory/libs-release-local/image/esignet-signup-image.zip -O $image_path/esignet-signup-image.zip + +echo "unzip image bundle files.." +chmod 775 $image_path/* + +cd $image_path +unzip -o esignet-signup-image.zip +rm esignet-signup-image.zip + + echo "Pre-requisites download completed." workingDir=$nginx_dir/html diff --git a/signup-ui/public/env-config.js b/signup-ui/public/env-config.js index 42b2c14e..43369f7c 100644 --- a/signup-ui/public/env-config.js +++ b/signup-ui/public/env-config.js @@ -1,15 +1,15 @@ -// Get the encoded string from the URL +// Get the encoded string from the URL const hashCode = window.location.hash.substring(1); // Decode the string -const decodedBase64 = atob(hashCode) - +const decodedBase64 = atob(hashCode); + var urlSearchParams = new URLSearchParams(decodedBase64); // Convert the decoded string to JSON var jsonObject = {}; urlSearchParams.forEach(function (value, key) { - jsonObject[key] = value; + jsonObject[key] = value; }); window._env_ = { diff --git a/signup-ui/public/images/bg_bottom_left.png b/signup-ui/public/images/bg_bottom_left.png new file mode 100644 index 0000000000000000000000000000000000000000..ccc1e6aa7c40b3ea0c2c73de2ffc139de568b120 GIT binary patch literal 273802 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

ZR-09O}z)-V{>1S5s6Mc<$rPY2Rpjsy9hu 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 G0002M5S%Fh literal 0 HcmV?d00001 diff --git a/signup-ui/public/images/section-bg.png b/signup-ui/public/images/section-bg.png new file mode 100644 index 0000000000000000000000000000000000000000..c0a1d06cac8dc8101bc39c413cfcb663fa4e58d9 GIT binary patch literal 527269 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

@{mPSvK0LOd^oQZ+ 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 literal 0 HcmV?d00001 diff --git a/signup-ui/public/index.html b/signup-ui/public/index.html index ebcb9236..94ceb43e 100644 --- a/signup-ui/public/index.html +++ b/signup-ui/public/index.html @@ -2,7 +2,7 @@ - + - eSignet-Signup + eSignet-Signup diff --git a/signup-ui/public/locales/en.json b/signup-ui/public/locales/en.json index 0a478f07..905fa0fe 100644 --- a/signup-ui/public/locales/en.json +++ b/signup-ui/public/locales/en.json @@ -1,4 +1,5 @@ { + "logo_alt": "eSignet Signup", "register": "Register", "landing_page_title": "Oops! The page you are looking for does not exist.", "landing_page_description": "Please try navigating using the options below.", diff --git a/signup-ui/public/locales/km.json b/signup-ui/public/locales/km.json index abe9d6cd..333c3209 100644 --- a/signup-ui/public/locales/km.json +++ b/signup-ui/public/locales/km.json @@ -1,4 +1,5 @@ { + "logo_alt": "និមិត្តសញ្ញាអង្គភាព", "register": "បង្កើតគណនី", "landing_page_title": "សូមអភ័យទោស! ទំព័រដែលអ្នកស្វែងរកមិនមាននោះទេ។", "landing_page_description": "អ្នកអាចស្វែងរកដោយប្រើជម្រើសខាងក្រោម។", diff --git a/signup-ui/public/theme-config.js b/signup-ui/public/theme-config.js index c78f3f11..32b01fd4 100644 --- a/signup-ui/public/theme-config.js +++ b/signup-ui/public/theme-config.js @@ -1,3 +1,5 @@ -document.getElementsByTagName("body")[0].classList.add(window._env_.DEFAULT_THEME); -document.getElementById("icon").href=window._env_.DEFAULT_FEVICON; -document.getElementById("title").innerHTML=window._env_.DEFAULT_TITLE; +document + .getElementsByTagName("body")[0] + .classList.add(window._env_.DEFAULT_THEME); +document.getElementById("icon").href = window._env_.DEFAULT_FEVICON; +document.getElementById("title").innerHTML = window._env_.DEFAULT_TITLE; diff --git a/signup-ui/public/theme/variables.css b/signup-ui/public/theme/variables.css index e45ac9ca..aac7cf8a 100644 --- a/signup-ui/public/theme/variables.css +++ b/signup-ui/public/theme/variables.css @@ -69,4 +69,68 @@ --ring-color: 216 34% 17%; --radius-font-size: 0.5rem; -} \ No newline at end of file +} + +[class="camdgc"] { + --font-inter: "Inter"; + --font-kantumruypro: "Kantumruy Pro Variable"; + --background-body: #f7f9fd; + --background-color: 200 60% 98%; + --foreground-color: 222.2 47.4% 11.2%; + + --language-icon-color: #ffffff; + --language-icon-bg-color: #004282; + --brand-only-logo-url: url("/logo.png"); + --brand-logo-url: url("/images/brand_logo.png"); + + --signup-background: url("/images/section-bg.png") no-repeat; + --side-section-bg-with: 320px; + --top-left-bg-logo-url: url("/images/top.png"); + --top-left-bg-logo-display: none; + --bottom-left-bg-logo-url: url("/images/bg_bottom_left.png"); + --bottom-left-bg-logo-display: block; + --top-right-bg-logo-url: url("/images/bg_bottom_left.png"); + --top-right-bg-logo-display: none; + --bottom-right-bg-logo-url: url("/images/bottom.png"); + --bottom-right-bg-logo-display: none; + + --footer-brand-logo-url: url("/images/footer_logo.png"); + --footer-text-color: #ffffff; + --footer-text-size: 14px; + --footer-bg-color: #004282; + --footer-padding-top: 15px; + --footer-padding-bottom: 15px; + + --primary-muted: 0 0% 80%; + --primary-muted-foreground: 204 10% 10%; + --primary-muted-neutral-gray: 0 0% 51%; + --primary-muted-dark-gray: 0 0% 29%; + --primary-muted-light-gray: 0 0% 95%; + + --primary-popover: 0 0% 100%; + --primary-popover-foreground: 222.2 47.4% 11.2%; + + --primary-border: 214.3 31.8% 91.4%; + --primary-input: 0 0% 44%; + + --primary-card: 0 0% 100%; + --primary-card-foreground: 222.2 47.4% 11.2%; + --primary-step: 0 0% 100%; + --primary-step-foreground: 222.2 47.4% 11.2%; + + --primary-color: 210 100% 25%; + --primary-foreground-color: 0 0% 100%; + + --secondary-color: 210 40% 96.1%; + --secondary-foreground-color: 222.2 47.4% 11.2%; + + --accent-color: 0 0% 100%; + --accent-foreground-color: 222.2 47.4% 11.2%; + + --destructive-color: 0 68% 50%; + --destructive-foreground-color: 0 52% 96%; + + --ring-color: 215 20.2% 65.1%; + + --radius-font-size: 0.5rem; +} diff --git a/signup-ui/src/App.css b/signup-ui/src/App.css index 6e63143e..6aa38230 100644 --- a/signup-ui/src/App.css +++ b/signup-ui/src/App.css @@ -8,6 +8,78 @@ body { background: var(--background-body) 0% 0% no-repeat padding-box; } + +.language-icon-color { + fill: var(--language-icon-color); +} + +.language-icon-bg-color { + fill: var(--language-icon-bg-color); +} + +.brand-logo { + content: var(--brand-logo-url); + height: 40px; +} + +.brand-only-logo { + content: var(--brand-only-logo-url); +} + +.footer-brand-logo { + content: var(--footer-brand-logo-url); + height: 25px; +} + +.section-background { + background: var(--signup-background); + background-size: cover; +} + +.section-background .top_left_bg_logo, +.section-background .top_right_bg_logo, +.section-background .bottom_right_bg_logo, +.section-background .bottom_left_bg_logo { + width: var(--side-section-bg-with); +} + +.section-background .top_left_bg_logo { + display: var(--top-left-bg-logo-display); + content: var(--top-left-bg-logo-url); +} + +.section-background .top_right_bg_logo { + display: var(--top-right-bg-logo-display); + content: var(--top-right-bg-logo-url); +} + +.section-background .bottom_right_bg_logo { + display: var(--bottom-right-bg-logo-display); + content: var(--bottom-right-bg-logo-url); +} + +.section-background .bottom_left_bg_logo { + display: var(--bottom-left-bg-logo-display); + content: var(--bottom-left-bg-logo-url); +} + +@media screen and (max-width: 640px) { + .section-background .top_left_bg_logo, + .section-background .top_right_bg_logo, + .section-background .bottom_right_bg_logo, + .section-background .bottom_left_bg_logo { + display: none; + } +} + +.footer-container { + padding-top: var(--footer-padding-top); + padding-bottom: var(--footer-padding-bottom); + color: var(--footer-text-color); + font-size: var(--footer-text-size); + background-color: var(--footer-bg-color); +} + @layer base { :root { --font-inter: "Inter"; @@ -83,4 +155,46 @@ body { --radius: var(--radius-font-size); } + + [class="camdgc"] { + --font-inter: var(--font-inter); + --font-kantumruypro: var(--font-kantumruypro); + + --background: var(--background-color); + --foreground: var(--foreground-color); + + --muted: var(--primary-muted); + --muted-foreground: var(--primary-muted-foreground); + --muted-neutral-gray: var(--primary-muted-neutral-gray); + --muted-dark-gray: var(--primary-muted-dark-gray); + --muted-light-gray: var(--primary-muted-light-gray); + + --popover: var(--primary-popover); + --popover-foreground: var(--primary-popover-foreground); + + --border: var(--primary-border); + --input: var(--primary-input); + + --card: var(--primary-card); + --card-foreground: var(--primary-card-foreground); + + --step: var(--primary-step); + --step-foreground: var(--primary-step-foreground); + + --primary: var(--primary-color); + --primary-foreground: var(--primary-foreground-color); + + --secondary: var(--secondary-color); + --secondary-foreground: var(--secondary-foreground-color); + + --accent: var(--accent-color); + --accent-foreground: var(--accent-foreground-color); + + --destructive: var(--destructive-color); + --destructive-foreground: var(--destructive-foreground-color); + + --ring: var(--ring-color); + + --radius: var(--radius-font-size); + } } \ No newline at end of file diff --git a/signup-ui/src/App.tsx b/signup-ui/src/App.tsx index 3924cee5..fe81bdf7 100644 --- a/signup-ui/src/App.tsx +++ b/signup-ui/src/App.tsx @@ -83,10 +83,6 @@ function App() { } catch (error) { console.error("Failed to load rtl languages!"); } - - window.onbeforeunload = function () { - return true; - }; }, []); const { i18n } = useTranslation(); diff --git a/signup-ui/src/assets/svg/translation-icon.svg b/signup-ui/src/assets/svg/translation-icon.svg index 7d5eeb24..ee014f3f 100644 --- a/signup-ui/src/assets/svg/translation-icon.svg +++ b/signup-ui/src/assets/svg/translation-icon.svg @@ -1,7 +1,7 @@ - - - + + + diff --git a/signup-ui/src/components/ui/footer.tsx b/signup-ui/src/components/ui/footer.tsx index 189bd732..f56ed9ab 100644 --- a/signup-ui/src/components/ui/footer.tsx +++ b/signup-ui/src/components/ui/footer.tsx @@ -5,15 +5,9 @@ const Footer = () => { const { t } = useTranslation(); return ( -
- - {t("footer.powered_by")} - - footer logo +
+ {t("footer.powered_by")} + {t("logo_alt")}
); }; diff --git a/signup-ui/src/components/ui/nav-bar.tsx b/signup-ui/src/components/ui/nav-bar.tsx index f1b302e2..589f9c37 100644 --- a/signup-ui/src/components/ui/nav-bar.tsx +++ b/signup-ui/src/components/ui/nav-bar.tsx @@ -6,12 +6,10 @@ const NavBar = () => { return (

Ti1pLH%|;px72s+&ja`yiRLq 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�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