From 46eb69b13d84bde2d195cb7d1571055fb96850fc Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 10:27:14 +0000 Subject: [PATCH 01/56] feat(*): updated artifcats and example app dependencies --- ...ing.ZGlzdC9hbmd1bGFyLXNzci9icm93c2Vy.cache | 41 + examples/angular/.firebaserc | 5 + examples/angular/firebase.json | 7 + examples/angular/package-lock.json | 25569 ---------------- examples/angular/package.json | 8 +- examples/angular/src/app/app.config.ts | 16 +- .../email-link-oauth.component.ts | 2 +- .../email-link-screen.component.ts | 2 +- .../auth/email-link/email-link.component.ts | 2 +- .../forgot-password.component.ts | 2 +- .../src/app/auth/oauth/oauth.component.ts | 2 +- .../password-reset.component.ts | 2 +- .../auth/phone-oauth/phone-oauth.component.ts | 2 +- .../phone-screen/phone-screen.component.ts | 2 +- .../src/app/auth/phone/phone.component.ts | 2 +- .../register-oauth.component.ts | 2 +- .../app/auth/register/register.component.ts | 2 +- .../sign-in-handlers.component.ts | 2 +- .../sign-in-oauth/sign-in-oauth.component.ts | 2 +- .../sign-in-screen.component.ts | 2 +- .../src/app/auth/sign-in/sign-in.component.ts | 2 +- .../src/app/auth/sign-up/sign-up.component.ts | 2 +- examples/angular/src/styles.css | 2 +- .../fir-ui-2025-nextjs/hosting/404.html | 1 + .../static/chunks/198-fc2f857890282fd9.js | 1 + .../static/chunks/460-27f0fb3882b99f1c.js | 1 + .../static/chunks/499-b5a9acf51f160200.js | 15 + .../chunks/4bd1b696-a4582f7608b1c3f8.js | 1 + .../static/chunks/517-97f7a157326437f9.js | 2 + .../chunks/ae6eea6a-89606064f41da4dc.js | 1 + .../app/_not-found/page-09d475ed6534a562.js | 1 + .../forgot-password/page-6e3d7f138d1e62ba.js | 1 + .../chunks/app/layout-6aab929aad1d393d.js | 1 + .../chunks/app/page-8d787214c58f587b.js | 1 + .../app/register/page-b51a8bfb00044279.js | 1 + .../page-ffa6fcbeb7299aa7.js | 1 + .../page-cbbdc9acd56de275.js | 1 + .../oauth-screen/page-662bb862120ebe1d.js | 1 + .../page-7346f1f8c8959f83.js | 1 + .../page-96baddefbdcffb57.js | 1 + .../page-5ba757203936288e.js | 1 + .../page-077fb2f09d5d3268.js | 1 + .../page-018d6282ee014b52.js | 1 + .../page-58105dede38ce5c7.js | 1 + .../page-7dd5c04e4ab03479.js | 1 + .../page-ea1e24f2258e0ae5.js | 1 + .../sign-in/email/page-c77da0e5d7c5f5f5.js | 1 + .../app/sign-in/page-00912d0f7b1415fc.js | 1 + .../sign-in/phone/page-98c7321b7c0579e7.js | 1 + .../chunks/framework-f6c30afefa8caa28.js | 1 + .../static/chunks/main-7c5d8e9217f561df.js | 1 + .../chunks/main-app-e2be70030271765f.js | 1 + .../chunks/pages/_app-d23763e3e6c904ff.js | 1 + .../chunks/pages/_error-9b7125ad1a1e68fa.js | 1 + .../chunks/polyfills-42372ed130431b0a.js | 1 + .../static/chunks/webpack-db3214c5c58110e1.js | 1 + .../_next/static/css/2ceba05e598db6c3.css | 3 + .../g6qTQml7eoxYK-3XdIjKy/_buildManifest.js | 1 + .../g6qTQml7eoxYK-3XdIjKy/_ssgManifest.js | 1 + .../static/media/4cf2300e9c8272f7-s.p.woff2 | Bin 0 -> 28388 bytes .../static/media/747892c23ea88013-s.woff2 | Bin 0 -> 13036 bytes .../static/media/8d697b304b401681-s.woff2 | Bin 0 -> 14676 bytes .../static/media/93f479601ee12b01-s.p.woff2 | Bin 0 -> 31288 bytes .../static/media/9610d9e46709d722-s.woff2 | Bin 0 -> 12608 bytes .../static/media/ba015fad6dcf6784-s.woff2 | Bin 0 -> 15292 bytes .../fir-ui-2025-nextjs/hosting/favicon.ico | Bin 0 -> 25931 bytes .../fir-ui-2025-nextjs/hosting/file.svg | 1 + .../hosting/forgot-password.html | 1 + .../fir-ui-2025-nextjs/hosting/globe.svg | 1 + .../fir-ui-2025-nextjs/hosting/index.html | 1 + .../fir-ui-2025-nextjs/hosting/next.svg | 1 + .../fir-ui-2025-nextjs/hosting/register.html | 1 + .../email-link-auth-screen-w-oauth.html | 1 + .../screens/email-link-auth-screen.html | 1 + .../hosting/screens/oauth-screen.html | 1 + .../screens/password-reset-screen.html | 1 + .../screens/phone-auth-screen-w-oauth.html | 1 + .../hosting/screens/phone-auth-screen.html | 1 + .../sign-in-auth-screen-w-handlers.html | 1 + .../screens/sign-in-auth-screen-w-oauth.html | 1 + .../hosting/screens/sign-in-auth-screen.html | 1 + .../screens/sign-up-auth-screen-w-oauth.html | 1 + .../hosting/screens/sign-up-auth-screen.html | 1 + .../fir-ui-2025-nextjs/hosting/sign-in.html | 1 + .../hosting/sign-in/email.html | 1 + .../hosting/sign-in/phone.html | 1 + .../fir-ui-2025-nextjs/hosting/vercel.svg | 1 + .../fir-ui-2025-nextjs/hosting/window.svg | 1 + ...L2Zpci11aS0yMDI1LW5leHRqcy9ob3N0aW5n.cache | 65 + examples/nextjs/.firebaserc | 5 + .../nextjs/app/forgot-password/screen.tsx | 2 +- examples/nextjs/app/globals.css | 6 +- examples/nextjs/app/layout.tsx | 6 +- examples/nextjs/app/register/screen.tsx | 2 +- .../email-link-auth-screen-w-oauth/page.tsx | 2 +- .../screens/email-link-auth-screen/page.tsx | 2 +- .../nextjs/app/screens/oauth-screen/page.tsx | 2 +- .../screens/password-reset-screen/page.tsx | 2 +- .../phone-auth-screen-w-oauth/page.tsx | 2 +- .../app/screens/phone-auth-screen/page.tsx | 2 +- .../sign-in-auth-screen-w-handlers/page.tsx | 2 +- .../sign-in-auth-screen-w-oauth/page.tsx | 2 +- .../app/screens/sign-in-auth-screen/page.tsx | 2 +- .../sign-up-auth-screen-w-oauth/page.tsx | 2 +- .../app/screens/sign-up-auth-screen/page.tsx | 2 +- examples/nextjs/app/sign-in/email/screen.tsx | 2 +- examples/nextjs/app/sign-in/phone/screen.tsx | 2 +- examples/nextjs/app/sign-in/screen.tsx | 2 +- examples/nextjs/firebase.json | 7 + examples/nextjs/lib/components/header.tsx | 24 +- examples/nextjs/lib/examples/1/page.tsx | 2 +- examples/nextjs/lib/examples/2/page.tsx | 2 +- examples/nextjs/lib/examples/3/page.tsx | 2 +- examples/nextjs/lib/examples/4/page.tsx | 2 +- examples/nextjs/lib/firebase/clientApp.ts | 15 +- examples/nextjs/lib/firebase/config.ts | 4 +- examples/nextjs/lib/firebase/serverApp.ts | 47 +- examples/nextjs/lib/firebase/ui.tsx | 2 +- examples/nextjs/next.config.ts | 6 +- examples/nextjs/package-lock.json | 3341 ++ examples/nextjs/package.json | 8 +- examples/react/.firebase/hosting.ZGlzdA.cache | 4 + examples/react/.firebaserc | 5 + examples/react/firebase.json | 12 + examples/react/lib/firebase/clientApp.ts | 10 +- examples/react/lib/firebase/config.ts | 4 +- examples/react/lib/firebase/ui.tsx | 2 +- examples/react/package-lock.json | 4972 +++ examples/react/package.json | 8 +- examples/react/src/index.css | 6 +- .../email-link-auth-screen-w-oauth.tsx | 2 +- .../src/screens/email-link-auth-screen.tsx | 2 +- examples/react/src/screens/oauth-screen.tsx | 2 +- .../src/screens/password-reset-screen.tsx | 2 +- .../src/screens/phone-auth-screen-w-oauth.tsx | 2 +- .../react/src/screens/phone-auth-screen.tsx | 2 +- .../sign-in-auth-screen-w-handlers.tsx | 2 +- .../screens/sign-in-auth-screen-w-oauth.tsx | 2 +- .../react/src/screens/sign-in-auth-screen.tsx | 2 +- .../screens/sign-up-auth-screen-w-oauth.tsx | 2 +- .../react/src/screens/sign-up-auth-screen.tsx | 2 +- package.json | 30 +- packages/firebaseui-angular/package.json | 11 +- .../email-link-form.component.ts | 2 +- .../email-password-form.component.ts | 2 +- .../forgot-password-form.component.ts | 2 +- .../phone-form/phone-form.component.spec.ts | 2 +- .../forms/phone-form/phone-form.component.ts | 2 +- .../register-form/register-form.component.ts | 2 +- .../auth/oauth/oauth-button.component.spec.ts | 4 +- .../lib/auth/oauth/oauth-button.component.ts | 2 +- .../country-selector.component.spec.ts | 2 +- .../country-selector.component.ts | 2 +- .../firebaseui-angular/src/lib/provider.ts | 4 +- packages/firebaseui-core/package.json | 4 +- packages/firebaseui-core/src/config.ts | 2 +- packages/firebaseui-core/src/errors.ts | 2 +- packages/firebaseui-core/src/schemas.ts | 2 +- packages/firebaseui-core/src/translations.ts | 2 +- .../firebaseui-core/tests/unit/auth.test.ts | 2 +- .../firebaseui-core/tests/unit/config.test.ts | 2 +- .../firebaseui-core/tests/unit/errors.test.ts | 2 +- .../tests/unit/translations.test.ts | 2 +- packages/firebaseui-react/package.json | 6 +- .../src/auth/forms/email-link-form.tsx | 2 +- .../src/auth/forms/email-password-form.tsx | 2 +- .../src/auth/forms/forgot-password-form.tsx | 2 +- .../src/auth/forms/phone-form.tsx | 2 +- .../src/auth/forms/register-form.tsx | 2 +- .../src/auth/oauth/google-sign-in-button.tsx | 2 +- .../src/auth/oauth/oauth-button.tsx | 2 +- .../auth/screens/email-link-auth-screen.tsx | 2 +- .../src/auth/screens/oauth-screen.tsx | 2 +- .../auth/screens/password-reset-screen.tsx | 2 +- .../src/auth/screens/phone-auth-screen.tsx | 2 +- .../src/auth/screens/sign-in-auth-screen.tsx | 2 +- .../src/auth/screens/sign-up-auth-screen.tsx | 2 +- .../src/components/country-selector.tsx | 2 +- .../src/components/policies.tsx | 2 +- packages/firebaseui-react/src/context.tsx | 2 +- packages/firebaseui-react/src/hooks.ts | 2 +- .../auth/email-link-auth.integration.test.tsx | 2 +- .../email-password-auth.integration.test.tsx | 2 +- .../auth/forgot-password.integration.test.tsx | 2 +- .../auth/register.integration.test.tsx | 2 +- .../unit/auth/forms/email-link-form.test.tsx | 6 +- .../auth/forms/email-password-form.test.tsx | 6 +- .../auth/forms/forgot-password-form.test.tsx | 6 +- .../tests/unit/auth/forms/phone-form.test.tsx | 6 +- .../unit/auth/forms/register-form.test.tsx | 6 +- .../unit/auth/oauth/oauth-button.test.tsx | 6 +- .../unit/auth/screens/oauth-screen.test.tsx | 2 +- .../auth/screens/sign-up-auth-screen.test.tsx | 2 +- .../unit/components/country-selector.test.tsx | 2 +- .../unit/context/config-provider.test.tsx | 2 +- packages/firebaseui-react/vite.config.ts | 2 +- packages/firebaseui-styles/dist.css | 4 +- packages/firebaseui-styles/package.json | 2 +- packages/firebaseui-translations/package.json | 2 +- pnpm-lock.yaml | 7207 +++-- .../invertase-firebaseui-angular-0.0.1.tgz | Bin 0 -> 5173 bytes .../invertase-firebaseui-angular-0.0.2.tgz | Bin 0 -> 32667 bytes releases/invertase-firebaseui-core-0.0.1.tgz | Bin 0 -> 46377 bytes releases/invertase-firebaseui-react-0.0.1.tgz | Bin 0 -> 42995 bytes .../invertase-firebaseui-styles-0.0.1.tgz | Bin 0 -> 9230 bytes ...nvertase-firebaseui-translations-0.0.1.tgz | Bin 0 -> 10588 bytes 206 files changed, 12741 insertions(+), 29031 deletions(-) create mode 100644 examples/angular/.firebase/hosting.ZGlzdC9hbmd1bGFyLXNzci9icm93c2Vy.cache create mode 100644 examples/angular/.firebaserc create mode 100644 examples/angular/firebase.json delete mode 100644 examples/angular/package-lock.json create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/404.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/198-fc2f857890282fd9.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/460-27f0fb3882b99f1c.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/499-b5a9acf51f160200.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/4bd1b696-a4582f7608b1c3f8.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/517-97f7a157326437f9.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/ae6eea6a-89606064f41da4dc.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/_not-found/page-09d475ed6534a562.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/forgot-password/page-6e3d7f138d1e62ba.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/layout-6aab929aad1d393d.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/page-8d787214c58f587b.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/register/page-b51a8bfb00044279.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen-w-oauth/page-ffa6fcbeb7299aa7.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen/page-cbbdc9acd56de275.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/oauth-screen/page-662bb862120ebe1d.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/password-reset-screen/page-7346f1f8c8959f83.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen-w-oauth/page-96baddefbdcffb57.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen/page-5ba757203936288e.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-handlers/page-077fb2f09d5d3268.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-oauth/page-018d6282ee014b52.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen/page-58105dede38ce5c7.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen-w-oauth/page-7dd5c04e4ab03479.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen/page-ea1e24f2258e0ae5.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/email/page-c77da0e5d7c5f5f5.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/page-00912d0f7b1415fc.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/phone/page-98c7321b7c0579e7.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/framework-f6c30afefa8caa28.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-7c5d8e9217f561df.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-app-e2be70030271765f.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_app-d23763e3e6c904ff.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_error-9b7125ad1a1e68fa.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/polyfills-42372ed130431b0a.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/webpack-db3214c5c58110e1.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/css/2ceba05e598db6c3.css create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_buildManifest.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_ssgManifest.js create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/4cf2300e9c8272f7-s.p.woff2 create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/747892c23ea88013-s.woff2 create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/8d697b304b401681-s.woff2 create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/93f479601ee12b01-s.p.woff2 create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/9610d9e46709d722-s.woff2 create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/ba015fad6dcf6784-s.woff2 create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/favicon.ico create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/file.svg create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/forgot-password.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/globe.svg create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/index.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/next.svg create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/register.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen-w-oauth.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/oauth-screen.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/password-reset-screen.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen-w-oauth.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-handlers.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-oauth.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen-w-oauth.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/email.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/phone.html create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/vercel.svg create mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/window.svg create mode 100644 examples/nextjs/.firebase/hosting.LmZpcmViYXNlL2Zpci11aS0yMDI1LW5leHRqcy9ob3N0aW5n.cache create mode 100644 examples/nextjs/.firebaserc create mode 100644 examples/nextjs/firebase.json create mode 100644 examples/nextjs/package-lock.json create mode 100644 examples/react/.firebase/hosting.ZGlzdA.cache create mode 100644 examples/react/.firebaserc create mode 100644 examples/react/firebase.json create mode 100644 examples/react/package-lock.json create mode 100644 releases/invertase-firebaseui-angular-0.0.1.tgz create mode 100644 releases/invertase-firebaseui-angular-0.0.2.tgz create mode 100644 releases/invertase-firebaseui-core-0.0.1.tgz create mode 100644 releases/invertase-firebaseui-react-0.0.1.tgz create mode 100644 releases/invertase-firebaseui-styles-0.0.1.tgz create mode 100644 releases/invertase-firebaseui-translations-0.0.1.tgz diff --git a/examples/angular/.firebase/hosting.ZGlzdC9hbmd1bGFyLXNzci9icm93c2Vy.cache b/examples/angular/.firebase/hosting.ZGlzdC9hbmd1bGFyLXNzci9icm93c2Vy.cache new file mode 100644 index 00000000..0ed646e1 --- /dev/null +++ b/examples/angular/.firebase/hosting.ZGlzdC9hbmd1bGFyLXNzci9icm93c2Vy.cache @@ -0,0 +1,41 @@ +index.csr.html,1761243581367,f58671b8b3ffda16bc20b5d8853fbb2d6b725e9c0cd3ad84346d6ab9cc21203d +main-D6T25AIL.js,1761243581366,5fc768d094ae339aef3970a64d3b16764ab6445a08838fbdac6e968042c86ae7 +chunk-U55GEJFI.js,1761243581365,1051e8b1b9d3bdf0ef3d4584baf1ae44e5f5337c7cb66a5001ebe4bc257b628c +index.html,1761243581367,274745f4fcc1ad5b1254b474f506838b4ea666f8f18c2e550e0e7470f7de3649 +chunk-TBMQTJAU.js,1761243581365,657b1f49646a4da0b61668ca360e9e00397eff54826f11b61b548a05656b2069 +chunk-T7ZISSOJ.js,1761243581366,c11760c36346c5eb0af9a6389735d7b80b7fe4c94b86d01f8798b380b1555871 +chunk-VI42FYL5.js,1761243581366,c4efa2b510859c9bf4b1e979321abd1c5bb48f279aad90af00069d903d6b0438 +chunk-M32E6BCP.js,1761243581366,ee347d9c7b1f556e84873ce254d58d8d669929b37288e2960ca2abd5abbcb9da +chunk-HIF76WXZ.js,1761243581365,d91aaaebc48340cd15b0d7752793536bd02019a7613efdd02d8aaa32eb0e14f8 +chunk-LY4T6SJK.js,1761243581366,305517c239876c310c7fa191bb3d27fbdc0a80fbdbb1f18849524c37f0296037 +chunk-FXMCUYTT.js,1761243581366,5963f5a3a6042d2738640fe4179dd3147cc0a2347f0859a1008a491e542b2a29 +styles-OG7I5UFA.css,1761243581367,1080fafced19edb879fbfed31f491f2763ad14ebdcccb610875926ba453d4d71 +chunk-PIRTXCRB.js,1761243581365,8956dd1404109ce76cfb1e80c40ee37b4512eb782e0874e7e0de07e45432a6df +chunk-FVD272LY.js,1761243581366,06bf02d3960666bd6c2f7b9e73d73195d2f545b58f412111f127cde9a553c71c +chunk-AAMS47YL.js,1761243581365,b1374342c0082be15d234a5de0a25f0cb60ed28a22327e4f5b08aa85ff3445da +chunk-JYSIN36V.js,1761243581366,0164781795fe5697742bb366b4e7c083ae9cf420ea0764a04ac2edf48825e4cf +chunk-XFRSG72M.js,1761243581366,95cfdf56697cc7c78053a971fdcb6ec1c3e01c39aa22de12e8e75a8711428f97 +chunk-3ZB6XGNV.js,1761243581366,3af5f04ea8c538a2ad8b972134fa0c9bcc958b70d30f0cde0208bc71a5ea5743 +chunk-4HWMT6OK.js,1761243581365,41b8a7f96d64330f8ae899ed69837751e6656583877b38ab1a53c58137928452 +chunk-EWW5BQGN.js,1761243581365,1432aac3bb6972e64f1902edcb67162961d1bf80425d95c8b174ece7aa83810b +polyfills-FFHMD2TL.js,1761243581367,02522c25699ab93e99a93914c3fc1158c874090dc123472be90c6746e6cf2d13 +sign-in/email/index.html,1761243581364,252ca0698e9920cf0e069f1704d698455dd3dd07f5cd845cfa80b54e7c098b14 +sign-in/index.html,1761243581367,6df0c7f6c7a980b93e4f80e802838be7afcc543c930859b7adddbb6e53816b62 +chunk-3AXWGXDW.js,1761243581365,d40010db5673d2fa18465d0bd2b312c9ff0d57310fafd58d55b831b90c700afd +screens/sign-up-auth-screen/index.html,1761243581370,530332f96f741f2afa615cc3a93a2314bc8e13071c5deb4e7a72edcd4e15cc4c +sign-in/phone/index.html,1761243581366,b7baae2e100434b3938de593bbd89044e50a9b5ed82639ef54d03bc8133f9960 +screens/sign-in-auth-screen/index.html,1761243581366,ed6c7ca24156722b265965727565df9678401fe2074b8d044bd4be4c6def0c0e +screens/sign-up-auth-screen-w-oauth/index.html,1761243581370,454b25b0e04a594fdb42cdf7ab57fc517ff82894808c022cbf5955a89d708c0d +screens/sign-in-auth-screen-w-handlers/index.html,1761243581365,a41714436483004078342650a119794531a5436455a956f4be92d1878cb6b781 +screens/sign-in-auth-screen-w-oauth/index.html,1761243581369,b23445d959090a2afa644820d05ee08d53f4b98d52f2ec820c260eb58b57c4d8 +favicon.ico,1761243581363,8f1fc0f94ae643bb8757c3cb49f69bf6cb2228f632cb77c7e47d8ee3995d88a7 +screens/password-reset-screen/index.html,1761243581370,ca24fd4bbfcc965bee79bd2139799f9b142775c6177025a52e63c8fe633e5038 +screens/phone-auth-screen-w-oauth/index.html,1761243581369,7a3c3858738ae960ad9d47273088539690cd718f55f8a5e48018d234bd5f817a +screens/phone-auth-screen/index.html,1761243581370,b572b3a3f846b12a4e7edc8923f6083546b7d06580303acc8fefa53cf19218c9 +screens/oauth-screen/index.html,1761243581370,b4178d190e4c00a61d2f67fc7a428a83b3e664e09e90d4e793e31b06e13d2475 +screens/email-link-auth-screen-w-oauth/index.html,1761243581369,2ab1df22fccac8eafd34d60711ebf079f366452fad743a0ec7b004bba5f95b97 +screens/email-link-auth-screen/index.html,1761243581370,f19b915f672c07116bc17f633050344a3c44c66eda99b708c6feb0879d220d9a +forgot-password/index.html,1761243581366,324b84bb4ec7b3a2ffaa766a7c7e7261745c49ec47af673f4725f6eb9381ce35 +register/index.html,1761243581365,551d4d4a73e13db9331cd13497e7f07da525a729ea74bc8e20ce9b8d429477c8 +chunk-2FH3UNYO.js,1761243581366,c102aac1db92cf45d13d3425e239d426423a6f69975071bc0457baf8ee5b2b99 +chunk-GX2FMXOQ.js,1761243581366,a86e7f9bed44c74a34f299950c700a2cf8417fca80a8c076e57bd927c45e0a03 diff --git a/examples/angular/.firebaserc b/examples/angular/.firebaserc new file mode 100644 index 00000000..855f8283 --- /dev/null +++ b/examples/angular/.firebaserc @@ -0,0 +1,5 @@ +{ + "projects": { + "default": "fir-ui-2025" + } +} diff --git a/examples/angular/firebase.json b/examples/angular/firebase.json new file mode 100644 index 00000000..ae62bfc2 --- /dev/null +++ b/examples/angular/firebase.json @@ -0,0 +1,7 @@ +{ + "hosting": { + "site": "fir-ui-2025-angular", + "public": "dist/angular-ssr/browser", + "ignore": ["firebase.json", "**/.*", "**/node_modules/**"] + } +} diff --git a/examples/angular/package-lock.json b/examples/angular/package-lock.json deleted file mode 100644 index 4f1a7002..00000000 --- a/examples/angular/package-lock.json +++ /dev/null @@ -1,25569 +0,0 @@ -{ - "name": "angular-example", - "version": "0.0.0", - "lockfileVersion": 2, - "requires": true, - "packages": { - "": { - "name": "angular-example", - "version": "0.0.0", - "dependencies": { - "@angular/animations": "^19.1.0", - "@angular/common": "^19.1.0", - "@angular/compiler": "^19.1.0", - "@angular/core": "^19.1.0", - "@angular/fire": "^19.0.0", - "@angular/forms": "^19.1.0", - "@angular/platform-browser": "^19.1.0", - "@angular/platform-browser-dynamic": "^19.1.0", - "@angular/platform-server": "^19.1.0", - "@angular/router": "^19.1.0", - "@angular/ssr": "^19.1.7", - "@firebase-ui/angular": "https://github.com/invertase/firebaseui-web/releases/download/@firebase-ui/angular@0.0.1/firebase-ui-angular-0.0.1.tgz", - "@firebase-ui/core": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-core-0.0.1.tgz", - "@firebase-ui/styles": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-styles-0.0.1.tgz", - "@firebase-ui/translations": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-translations-0.0.1.tgz", - "@tailwindcss/postcss": "^4.0.6", - "express": "^4.18.2", - "postcss": "^8.5.2", - "rxjs": "~7.8.0", - "tailwindcss": "^4.0.6", - "tslib": "^2.3.0", - "zone.js": "~0.15.0" - }, - "devDependencies": { - "@angular-devkit/build-angular": "^19.1.7", - "@angular/cli": "^19.1.7", - "@angular/compiler-cli": "^19.1.0", - "@tanstack/angular-form": "^0.42.0", - "@types/express": "^4.17.17", - "@types/jasmine": "~5.1.0", - "@types/node": "^18.18.0", - "firebase": "^11", - "jasmine-core": "~5.5.0", - "karma": "~6.4.0", - "karma-chrome-launcher": "~3.2.0", - "karma-coverage": "~2.2.0", - "karma-jasmine": "~5.1.0", - "karma-jasmine-html-reporter": "~2.1.0", - "nanostores": "^0.11.3", - "ng-packagr": "^19.1.0", - "typescript": "~5.7.2" - } - }, - "node_modules/@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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@angular-devkit/architect": { - "version": "0.1902.12", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.12.tgz", - "integrity": "sha512-LfUc7k84YL290hAxsG+FvjQpXugQXyw5aDzrQQB4iTYhBgaABu2aaNOU4eu3JH+F8NeXd2EBF/YMr2LDSkYlMw==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "19.2.12", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/architect/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@angular-devkit/build-angular": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.2.12.tgz", - "integrity": "sha512-gPx3Vi7QFzHkSV388en6VqSqasojitJKuKmgTMPOV5keLtpOylPv3rjnr8oO9rYbYmLsT/WTUsP7bYiZhrr19Q==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1902.12", - "@angular-devkit/build-webpack": "0.1902.12", - "@angular-devkit/core": "19.2.12", - "@angular/build": "19.2.12", - "@babel/core": "7.26.10", - "@babel/generator": "7.26.10", - "@babel/helper-annotate-as-pure": "7.25.9", - "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-transform-async-generator-functions": "7.26.8", - "@babel/plugin-transform-async-to-generator": "7.25.9", - "@babel/plugin-transform-runtime": "7.26.10", - "@babel/preset-env": "7.26.9", - "@babel/runtime": "7.26.10", - "@discoveryjs/json-ext": "0.6.3", - "@ngtools/webpack": "19.2.12", - "@vitejs/plugin-basic-ssl": "1.2.0", - "ansi-colors": "4.1.3", - "autoprefixer": "10.4.20", - "babel-loader": "9.2.1", - "browserslist": "^4.21.5", - "copy-webpack-plugin": "12.0.2", - "css-loader": "7.1.2", - "esbuild-wasm": "0.25.4", - "fast-glob": "3.3.3", - "http-proxy-middleware": "3.0.5", - "istanbul-lib-instrument": "6.0.3", - "jsonc-parser": "3.3.1", - "karma-source-map-support": "1.4.0", - "less": "4.2.2", - "less-loader": "12.2.0", - "license-webpack-plugin": "4.0.2", - "loader-utils": "3.3.1", - "mini-css-extract-plugin": "2.9.2", - "open": "10.1.0", - "ora": "5.4.1", - "picomatch": "4.0.2", - "piscina": "4.8.0", - "postcss": "8.5.2", - "postcss-loader": "8.1.1", - "resolve-url-loader": "5.0.0", - "rxjs": "7.8.1", - "sass": "1.85.0", - "sass-loader": "16.0.5", - "semver": "7.7.1", - "source-map-loader": "5.0.0", - "source-map-support": "0.5.21", - "terser": "5.39.0", - "tree-kill": "1.2.2", - "tslib": "2.8.1", - "webpack": "5.98.0", - "webpack-dev-middleware": "7.4.2", - "webpack-dev-server": "5.2.0", - "webpack-merge": "6.0.1", - "webpack-subresource-integrity": "5.1.0" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "optionalDependencies": { - "esbuild": "0.25.4" - }, - "peerDependencies": { - "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", - "@angular/localize": "^19.0.0 || ^19.2.0-next.0", - "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", - "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "^19.2.12", - "@web/test-runner": "^0.20.0", - "browser-sync": "^3.0.2", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "karma": "^6.3.0", - "ng-packagr": "^19.0.0 || ^19.2.0-next.0", - "protractor": "^7.0.0", - "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", - "typescript": ">=5.5 <5.9" - }, - "peerDependenciesMeta": { - "@angular/localize": { - "optional": true - }, - "@angular/platform-server": { - "optional": true - }, - "@angular/service-worker": { - "optional": true - }, - "@angular/ssr": { - "optional": true - }, - "@web/test-runner": { - "optional": true - }, - "browser-sync": { - "optional": true - }, - "jest": { - "optional": true - }, - "jest-environment-jsdom": { - "optional": true - }, - "karma": { - "optional": true - }, - "ng-packagr": { - "optional": true - }, - "protractor": { - "optional": true - }, - "tailwindcss": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/postcss": { - "version": "8.5.2", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz", - "integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==", - "dev": true, - "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.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/@angular-devkit/build-angular/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@angular-devkit/build-webpack": { - "version": "0.1902.12", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1902.12.tgz", - "integrity": "sha512-JNwvzaN2RVbG1IClFPXhNpysVwf55nWmVsNN5iQHRXkD3kpqnaOfhUBtlhBBjLf/i6cwKEne2TI8zciaEYr+iw==", - "dev": true, - "dependencies": { - "@angular-devkit/architect": "0.1902.12", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "webpack": "^5.30.0", - "webpack-dev-server": "^5.0.2" - } - }, - "node_modules/@angular-devkit/build-webpack/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@angular-devkit/core": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.12.tgz", - "integrity": "sha512-v5pdfZHZ8MTZozfpkhKoPFBpXQW+2GFbTfdyis8FBtevJWCbIsCR3xhodgI4jwzkSEAraN4oVtWvSytdNyBC6A==", - "dependencies": { - "ajv": "8.17.1", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.2", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^4.0.0" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/core/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@angular-devkit/schematics": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.2.12.tgz", - "integrity": "sha512-vK5NI/asi1snWFkw02DpmC8tLq6u5ZbUwwXxgALKuVwGl3g1VLzrHrkoSCrcsOO9Nu6GQOPbxax2lR/DICmytg==", - "dependencies": { - "@angular-devkit/core": "19.2.12", - "jsonc-parser": "3.3.1", - "magic-string": "0.30.17", - "ora": "5.4.1", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/schematics/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/@angular/animations": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.2.11.tgz", - "integrity": "sha512-NR33bZVho7EgTc1fmCnmkwc2/U266n311Wfvk7VVtz+0Q9WliNdDLBon654V8IWSKvlqKXyU3W+fp0VjH/FvSw==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" - }, - "peerDependencies": { - "@angular/common": "19.2.11", - "@angular/core": "19.2.11" - } - }, - "node_modules/@angular/build": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.2.12.tgz", - "integrity": "sha512-G28ux1T5QDlWporwupWbcodBN3rcyHfK2Dh5M3UC5hj0GstpfEHcpBHxawZzIxhqPKy//tdVLlzORUgvAwnqbA==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1902.12", - "@babel/core": "7.26.10", - "@babel/helper-annotate-as-pure": "7.25.9", - "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-syntax-import-attributes": "7.26.0", - "@inquirer/confirm": "5.1.6", - "@vitejs/plugin-basic-ssl": "1.2.0", - "beasties": "0.3.2", - "browserslist": "^4.23.0", - "esbuild": "0.25.4", - "fast-glob": "3.3.3", - "https-proxy-agent": "7.0.6", - "istanbul-lib-instrument": "6.0.3", - "listr2": "8.2.5", - "magic-string": "0.30.17", - "mrmime": "2.0.1", - "parse5-html-rewriting-stream": "7.0.0", - "picomatch": "4.0.2", - "piscina": "4.8.0", - "rollup": "4.34.8", - "sass": "1.85.0", - "semver": "7.7.1", - "source-map-support": "0.5.21", - "vite": "6.2.7", - "watchpack": "2.4.2" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "optionalDependencies": { - "lmdb": "3.2.6" - }, - "peerDependencies": { - "@angular/compiler": "^19.0.0 || ^19.2.0-next.0", - "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", - "@angular/localize": "^19.0.0 || ^19.2.0-next.0", - "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", - "@angular/service-worker": "^19.0.0 || ^19.2.0-next.0", - "@angular/ssr": "^19.2.12", - "karma": "^6.4.0", - "less": "^4.2.0", - "ng-packagr": "^19.0.0 || ^19.2.0-next.0", - "postcss": "^8.4.0", - "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", - "typescript": ">=5.5 <5.9" - }, - "peerDependenciesMeta": { - "@angular/localize": { - "optional": true - }, - "@angular/platform-server": { - "optional": true - }, - "@angular/service-worker": { - "optional": true - }, - "@angular/ssr": { - "optional": true - }, - "karma": { - "optional": true - }, - "less": { - "optional": true - }, - "ng-packagr": { - "optional": true - }, - "postcss": { - "optional": true - }, - "tailwindcss": { - "optional": true - } - } - }, - "node_modules/@angular/build/node_modules/vite": { - "version": "6.2.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.7.tgz", - "integrity": "sha512-qg3LkeuinTrZoJHHF94coSaTfIPyBYoywp+ys4qu20oSJFbKMYoIJo0FWJT9q6Vp49l6z9IsJRbHdcGtiKbGoQ==", - "dev": true, - "dependencies": { - "esbuild": "^0.25.0", - "postcss": "^8.5.3", - "rollup": "^4.30.1" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/@angular/cli": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.2.12.tgz", - "integrity": "sha512-cZkHpM16uh3VouHG1XdWSk0ZWisQRxMVADk5IJlM9jMcPqnFyJwD/UXCS+XTaW3POpNDwsmbh2UB9Xabdgo7rw==", - "dev": true, - "dependencies": { - "@angular-devkit/architect": "0.1902.12", - "@angular-devkit/core": "19.2.12", - "@angular-devkit/schematics": "19.2.12", - "@inquirer/prompts": "7.3.2", - "@listr2/prompt-adapter-inquirer": "2.0.18", - "@schematics/angular": "19.2.12", - "@yarnpkg/lockfile": "1.1.0", - "ini": "5.0.0", - "jsonc-parser": "3.3.1", - "listr2": "8.2.5", - "npm-package-arg": "12.0.2", - "npm-pick-manifest": "10.0.0", - "pacote": "20.0.0", - "resolve": "1.22.10", - "semver": "7.7.1", - "symbol-observable": "4.0.0", - "yargs": "17.7.2" - }, - "bin": { - "ng": "bin/ng.js" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular/common": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.2.11.tgz", - "integrity": "sha512-/ZnF2Nfp6S6TAu3VlvUAIp4NVd81WE1Q95wuwSSuoEx2aSyXzI+1myyKWSYe/jYCyGuppmocjTciEh8mAInmOw==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" - }, - "peerDependencies": { - "@angular/core": "19.2.11", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/compiler": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.2.11.tgz", - "integrity": "sha512-/ZGFAEO2TyqkaE4neR8lGL9I2QeO2sRVFqulQv7Bu8zKTPStjcsFCwNkp+TNX8Oq/1rLcY9XWAOsUk1//AZd8Q==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" - } - }, - "node_modules/@angular/compiler-cli": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.2.11.tgz", - "integrity": "sha512-15aoOg+qj7Z3Uap1JKHMy51y12M09AOnseDBa0SYKidSx15XwZi8d01hv7sRaQJX/6Ie5cug9GiAbLKts6R33w==", - "dev": true, - "dependencies": { - "@babel/core": "7.26.9", - "@jridgewell/sourcemap-codec": "^1.4.14", - "chokidar": "^4.0.0", - "convert-source-map": "^1.5.1", - "reflect-metadata": "^0.2.0", - "semver": "^7.0.0", - "tslib": "^2.3.0", - "yargs": "^17.2.1" - }, - "bin": { - "ng-xi18n": "bundles/src/bin/ng_xi18n.js", - "ngc": "bundles/src/bin/ngc.js", - "ngcc": "bundles/ngcc/index.js" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" - }, - "peerDependencies": { - "@angular/compiler": "19.2.11", - "typescript": ">=5.5 <5.9" - } - }, - "node_modules/@angular/compiler-cli/node_modules/@babel/core": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", - "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.9", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.9", - "@babel/parser": "^7.26.9", - "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.9", - "@babel/types": "^7.26.9", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@angular/compiler-cli/node_modules/@babel/core/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==", - "dev": true - }, - "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@angular/core": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.2.11.tgz", - "integrity": "sha512-kmtJQB7B5F2V1JIzy1oBPS6WrRyedSYkuge+XoX1mCSFJDef8HRNd7GopnQ0Zaz0vOTGvCCkWvvaH/+7s2lmAQ==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" - }, - "peerDependencies": { - "rxjs": "^6.5.3 || ^7.4.0", - "zone.js": "~0.15.0" - } - }, - "node_modules/@angular/fire": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/@angular/fire/-/fire-19.1.0.tgz", - "integrity": "sha512-yyELJQLxF56EoGW8HUxfATBUeX5rzNpt/PjNAhSlmWdQ12jXVkgGeWyWsl5gvUlxhpFKIt+EVp3nYvwIlzey6Q==", - "dependencies": { - "@angular-devkit/schematics": "^19.0.0", - "@schematics/angular": "^19.0.0", - "firebase": "^11.2.0", - "rxfire": "^6.1.0", - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/common": "^19.0.0", - "@angular/core": "^19.0.0", - "@angular/platform-browser": "^19.0.0", - "@angular/platform-browser-dynamic": "^19.0.0", - "@angular/platform-server": "^19.0.0", - "firebase-tools": "^13.0.0", - "rxjs": "~7.8.0" - }, - "peerDependenciesMeta": { - "@angular/platform-server": { - "optional": true - }, - "firebase-tools": { - "optional": true - } - } - }, - "node_modules/@angular/forms": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.2.11.tgz", - "integrity": "sha512-ZH9ccuT6rTirNSbiMRtGRkRrj69a2/+BVaa/kEpUHjh41wDQXxhOlOfPZd/sfj04QiAzIpsYmVJrmoV7/LxPSw==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" - }, - "peerDependencies": { - "@angular/common": "19.2.11", - "@angular/core": "19.2.11", - "@angular/platform-browser": "19.2.11", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/platform-browser": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.2.11.tgz", - "integrity": "sha512-wAPJtgzmxBEpW31sa2eg9QssCHBZ52Zc9nm6azTflDlOAyfm9bzqec7y3wqy5sgVue/qID2gzHqmpS3Nx3o0xg==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" - }, - "peerDependencies": { - "@angular/animations": "19.2.11", - "@angular/common": "19.2.11", - "@angular/core": "19.2.11" - }, - "peerDependenciesMeta": { - "@angular/animations": { - "optional": true - } - } - }, - "node_modules/@angular/platform-browser-dynamic": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.2.11.tgz", - "integrity": "sha512-1/0FmjSAvsK+A6gWLgEc60YMnWQchP9fP6y4sE1uQOThIgK+qLnLjZqZn7uOw8zMDBMtxB7SlepajnXftVXddw==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" - }, - "peerDependencies": { - "@angular/common": "19.2.11", - "@angular/compiler": "19.2.11", - "@angular/core": "19.2.11", - "@angular/platform-browser": "19.2.11" - } - }, - "node_modules/@angular/platform-server": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.2.11.tgz", - "integrity": "sha512-RbIE99k6QRw1EDDFFpjwM1aVVZlZ6B6zXWJTcjLUTCkF2tcZd2zZH3/3qiENETlFFI4A4VE1zTTtZD3/29sJnA==", - "dependencies": { - "tslib": "^2.3.0", - "xhr2": "^0.2.0" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" - }, - "peerDependencies": { - "@angular/common": "19.2.11", - "@angular/compiler": "19.2.11", - "@angular/core": "19.2.11", - "@angular/platform-browser": "19.2.11", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/router": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.2.11.tgz", - "integrity": "sha512-nBwMwRgQ3s1c1CPItPnTJTf81NDOQHvK41r2MIJGHa3H9LONlcbY07q/9p49fqt/xn/dgoOmQTtJ22b/nbIJAQ==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0" - }, - "peerDependencies": { - "@angular/common": "19.2.11", - "@angular/core": "19.2.11", - "@angular/platform-browser": "19.2.11", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/ssr": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.2.12.tgz", - "integrity": "sha512-RNi/u6Hbg8bJ1FYOUbjT5dmyfM+H5kok1MuRWvpSaVUpH2s/CMNQ/F9fw6vzay2Nr/qVHeq+eeYYY8QXn2ZbhA==", - "dependencies": { - "tslib": "^2.3.0" - }, - "peerDependencies": { - "@angular/common": "^19.0.0 || ^19.2.0-next.0", - "@angular/core": "^19.0.0 || ^19.2.0-next.0", - "@angular/platform-server": "^19.0.0 || ^19.2.0-next.0", - "@angular/router": "^19.0.0 || ^19.2.0-next.0" - }, - "peerDependenciesMeta": { - "@angular/platform-server": { - "optional": true - } - } - }, - "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz", - "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", - "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.10", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.10", - "@babel/parser": "^7.26.10", - "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.10", - "@babel/types": "^7.26.10", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/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==", - "dev": true - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.10.tgz", - "integrity": "sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.26.10", - "@babel/types": "^7.26.10", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", - "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.27.2", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", - "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-member-expression-to-functions": "^7.27.1", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/traverse": "^7.27.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", - "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", - "dev": true, - "dependencies": { - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", - "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "regexpu-core": "^6.2.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", - "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", - "dev": true, - "dependencies": { - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz", - "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", - "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz", - "integrity": "sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", - "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", - "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-wrap-function": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", - "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", - "dev": true, - "dependencies": { - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", - "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", - "dev": true, - "dependencies": { - "@babel/helper-member-expression-to-functions": "^7.27.1", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", - "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.24.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz", - "integrity": "sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.27.1", - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz", - "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.2.tgz", - "integrity": "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.27.1" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", - "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", - "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.27.1", - "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.27.1.tgz", - "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", - "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/plugin-transform-optional-chaining": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz", - "integrity": "sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", - "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", - "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", - "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz", - "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-remap-async-to-generator": "^7.25.9", - "@babel/traverse": "^7.26.8" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", - "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-remap-async-to-generator": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", - "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.1.tgz", - "integrity": "sha512-QEcFlMl9nGTgh1rn2nIeU5bkfb9BAjaQcWbiP4LvKxUot52ABcTkpcyJ7f2Q2U2RuQ84BNLgts3jRme2dTx6Fw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", - "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz", - "integrity": "sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz", - "integrity": "sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-compilation-targets": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1", - "@babel/traverse": "^7.27.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-classes/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", - "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", - "dev": true, - "dependencies": { - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", - "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/template": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.1.tgz", - "integrity": "sha512-ttDCqhfvpE9emVkXbPD8vyxxh4TWYACVybGkDj+oReOGwnp066ITEivDlLwe0b1R0+evJ13IXQuLNB5w1fhC5Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", - "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", - "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", - "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", - "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", - "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", - "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", - "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", - "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", - "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", - "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", - "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", - "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", - "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", - "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", - "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", - "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", - "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", - "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", - "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", - "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.2.tgz", - "integrity": "sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.27.1", - "@babel/plugin-transform-parameters": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", - "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", - "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", - "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz", - "integrity": "sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", - "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", - "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object/node_modules/@babel/helper-annotate-as-pure": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", - "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", - "dev": true, - "dependencies": { - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", - "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.1.tgz", - "integrity": "sha512-B19lbbL7PMrKr52BNPjCqg1IyNUIjTcxKj8uX9zHO+PmWN93s19NDr/f69mIkEp2x9nmDJ08a7lgHaTTzvW7mw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regexp-modifiers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", - "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", - "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.26.10.tgz", - "integrity": "sha512-NWaL2qG6HRpONTnj4JvDU6th4jYeZOJgu3QhmFTCihib0ermtOJqktA5BduGm3suhhVe9EMP9c9+mfJ/I9slqw==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.26.5", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.11.0", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", - "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", - "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", - "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", - "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", - "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", - "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", - "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", - "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", - "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz", - "integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.26.8", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.26.0", - "@babel/plugin-syntax-import-attributes": "^7.26.0", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.25.9", - "@babel/plugin-transform-async-generator-functions": "^7.26.8", - "@babel/plugin-transform-async-to-generator": "^7.25.9", - "@babel/plugin-transform-block-scoped-functions": "^7.26.5", - "@babel/plugin-transform-block-scoping": "^7.25.9", - "@babel/plugin-transform-class-properties": "^7.25.9", - "@babel/plugin-transform-class-static-block": "^7.26.0", - "@babel/plugin-transform-classes": "^7.25.9", - "@babel/plugin-transform-computed-properties": "^7.25.9", - "@babel/plugin-transform-destructuring": "^7.25.9", - "@babel/plugin-transform-dotall-regex": "^7.25.9", - "@babel/plugin-transform-duplicate-keys": "^7.25.9", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-dynamic-import": "^7.25.9", - "@babel/plugin-transform-exponentiation-operator": "^7.26.3", - "@babel/plugin-transform-export-namespace-from": "^7.25.9", - "@babel/plugin-transform-for-of": "^7.26.9", - "@babel/plugin-transform-function-name": "^7.25.9", - "@babel/plugin-transform-json-strings": "^7.25.9", - "@babel/plugin-transform-literals": "^7.25.9", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", - "@babel/plugin-transform-member-expression-literals": "^7.25.9", - "@babel/plugin-transform-modules-amd": "^7.25.9", - "@babel/plugin-transform-modules-commonjs": "^7.26.3", - "@babel/plugin-transform-modules-systemjs": "^7.25.9", - "@babel/plugin-transform-modules-umd": "^7.25.9", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-new-target": "^7.25.9", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6", - "@babel/plugin-transform-numeric-separator": "^7.25.9", - "@babel/plugin-transform-object-rest-spread": "^7.25.9", - "@babel/plugin-transform-object-super": "^7.25.9", - "@babel/plugin-transform-optional-catch-binding": "^7.25.9", - "@babel/plugin-transform-optional-chaining": "^7.25.9", - "@babel/plugin-transform-parameters": "^7.25.9", - "@babel/plugin-transform-private-methods": "^7.25.9", - "@babel/plugin-transform-private-property-in-object": "^7.25.9", - "@babel/plugin-transform-property-literals": "^7.25.9", - "@babel/plugin-transform-regenerator": "^7.25.9", - "@babel/plugin-transform-regexp-modifiers": "^7.26.0", - "@babel/plugin-transform-reserved-words": "^7.25.9", - "@babel/plugin-transform-shorthand-properties": "^7.25.9", - "@babel/plugin-transform-spread": "^7.25.9", - "@babel/plugin-transform-sticky-regex": "^7.25.9", - "@babel/plugin-transform-template-literals": "^7.26.8", - "@babel/plugin-transform-typeof-symbol": "^7.26.7", - "@babel/plugin-transform-unicode-escapes": "^7.25.9", - "@babel/plugin-transform-unicode-property-regex": "^7.25.9", - "@babel/plugin-transform-unicode-regex": "^7.25.9", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.11.0", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.40.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz", - "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.1.tgz", - "integrity": "sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.1", - "@babel/parser": "^7.27.1", - "@babel/template": "^7.27.1", - "@babel/types": "^7.27.1", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/@babel/generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz", - "integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.27.1", - "@babel/types": "^7.27.1", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", - "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", - "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", - "dev": true, - "engines": { - "node": ">=14.17.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", - "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", - "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", - "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", - "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", - "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", - "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", - "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", - "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", - "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", - "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", - "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", - "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", - "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", - "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", - "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", - "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", - "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", - "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", - "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", - "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", - "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", - "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", - "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", - "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", - "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@firebase-ui/angular": { - "version": "0.0.1", - "resolved": "https://github.com/invertase/firebaseui-web/releases/download/@firebase-ui/angular@0.0.1/firebase-ui-angular-0.0.1.tgz", - "integrity": "sha512-usltgMAzwGFN2ghawAbMKy1Tgdf/VhbUFoiYsCWdiyS1oQ9hyjQvxhz0uDDrhg/bJW965VGUQVU81q2FmWqIDA==", - "dependencies": { - "@tanstack/angular-form": "^1.1.0", - "nanostores": "^0.11.3", - "tslib": "^2.3.0", - "zod": "^3.24.1" - }, - "peerDependencies": { - "@angular/common": "^19.1.0", - "@angular/core": "^19.1.0", - "@firebase-ui/core": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-core-0.0.1.tgz", - "@firebase-ui/translations": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-translations-0.0.1.tgz" - } - }, - "node_modules/@firebase-ui/angular/node_modules/@tanstack/angular-form": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@tanstack/angular-form/-/angular-form-1.11.2.tgz", - "integrity": "sha512-ll9ZHqjfqPIA4fRQsyrA22PZJtinQeNJYJBHAROrr+h3IbN7NOA/4yRVxjQWCwhFpwh9PU8Cl563a52x9c0iIQ==", - "dependencies": { - "@tanstack/angular-store": "^0.7.0", - "@tanstack/form-core": "1.11.2", - "tslib": "^2.8.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "@angular/core": ">=19.0.0" - } - }, - "node_modules/@firebase-ui/angular/node_modules/@tanstack/form-core": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@tanstack/form-core/-/form-core-1.11.2.tgz", - "integrity": "sha512-HAocV5E6y4EHisH6qPvredkr2X5ARULDLWx8Z7Jz9pNz0bUBzUjPF/QtVBHQKrYMrwl9cE+TxddcghjiQYDsmQ==", - "dependencies": { - "@tanstack/store": "^0.7.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@firebase-ui/core": { - "version": "0.0.1", - "resolved": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-core-0.0.1.tgz", - "integrity": "sha512-qwZPZvhZ99ODLmI/2aHNLjS61rS8BQnyMJYCama+567UPp3jU2GgLzS9XD5CB1Iy4IvmPfgFYHRh1evpmx7evA==", - "license": "MIT", - "dependencies": { - "@firebase-ui/translations": "0.0.1", - "nanostores": "^0.11.3", - "zod": "^3.24.1" - }, - "peerDependencies": { - "firebase": "^11" - } - }, - "node_modules/@firebase-ui/styles": { - "version": "0.0.1", - "resolved": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-styles-0.0.1.tgz", - "integrity": "sha512-aRsD27AjgsXTPOylYT7Qu3IeI0cOT1eZ6MiCddH5n8cHpG9lpXDwYD1+Bqo7ZBs6Wqi3LuX+6iI5Aq374E025w==" - }, - "node_modules/@firebase-ui/translations": { - "version": "0.0.1", - "resolved": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-translations-0.0.1.tgz", - "integrity": "sha512-k8mzvjPvRHlrB1zPXNVuq6vIOkzY5t7Ta97Lqrml+rmfpP/eISy9991eH0Rwy/Xoc10qCj6DMw9bQWBRVsnbCg==" - }, - "node_modules/@firebase/ai": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@firebase/ai/-/ai-1.3.0.tgz", - "integrity": "sha512-qBxJTtl9hpgZr050kVFTRADX6I0Ss6mEQyp/JEkBgKwwxixKnaRNqEDGFba4OKNL7K8E4Y7LlA/ZW6L8aCKH4A==", - "dependencies": { - "@firebase/app-check-interop-types": "0.3.3", - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x", - "@firebase/app-types": "0.x" - } - }, - "node_modules/@firebase/analytics": { - "version": "0.10.16", - "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.16.tgz", - "integrity": "sha512-cMtp19He7Fd6uaj/nDEul+8JwvJsN8aRSJyuA1QN3QrKvfDDp+efjVurJO61sJpkVftw9O9nNMdhFbRcTmTfRQ==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/installations": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/analytics-compat": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.22.tgz", - "integrity": "sha512-VogWHgwkdYhjWKh8O1XU04uPrRaiDihkWvE/EMMmtWtaUtVALnpLnUurc3QtSKdPnvTz5uaIGKlW84DGtSPFbw==", - "dependencies": { - "@firebase/analytics": "0.10.16", - "@firebase/analytics-types": "0.8.3", - "@firebase/component": "0.6.17", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/analytics-types": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.3.tgz", - "integrity": "sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==" - }, - "node_modules/@firebase/app": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.13.0.tgz", - "integrity": "sha512-Vj3MST245nq+V5UmmfEkB3isIgPouyUr8yGJlFeL9Trg/umG5ogAvrjAYvQ8gV7daKDoQSRnJKWI2JFpQqRsuQ==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "idb": "7.1.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@firebase/app-check": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.10.0.tgz", - "integrity": "sha512-AZlRlVWKcu8BH4Yf8B5EI8sOi2UNGTS8oMuthV45tbt6OVUTSQwFPIEboZzhNJNKY+fPsg7hH8vixUWFZ3lrhw==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/app-check-compat": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.25.tgz", - "integrity": "sha512-3zrsPZWAKfV7DVC20T2dgfjzjtQnSJS65OfMOiddMUtJL1S5i0nAZKsdX0bOEvvrd0SBIL8jYnfpfDeQRnhV3w==", - "dependencies": { - "@firebase/app-check": "0.10.0", - "@firebase/app-check-types": "0.5.3", - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/app-check-interop-types": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.3.tgz", - "integrity": "sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==" - }, - "node_modules/@firebase/app-check-types": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.3.tgz", - "integrity": "sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==" - }, - "node_modules/@firebase/app-compat": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.4.0.tgz", - "integrity": "sha512-LjLUrzbUgTa/sCtPoLKT2C7KShvLVHS3crnU1Du02YxnGVLE0CUBGY/NxgfR/Zg84mEbj1q08/dgesojxjn0dA==", - "dependencies": { - "@firebase/app": "0.13.0", - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@firebase/app-types": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.3.tgz", - "integrity": "sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==" - }, - "node_modules/@firebase/auth": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.10.5.tgz", - "integrity": "sha512-6wF/NdMTwObL4RNQePunuzMr9O3gyftisvFZFFKf57D2HONXo87YymogRV8d+Z7SLA0rcNBN1gLJVk2D0y97gA==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x", - "@react-native-async-storage/async-storage": "^1.18.1" - }, - "peerDependenciesMeta": { - "@react-native-async-storage/async-storage": { - "optional": true - } - } - }, - "node_modules/@firebase/auth-compat": { - "version": "0.5.25", - "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.25.tgz", - "integrity": "sha512-YKUYnvrxXBRhH/iYEwSOv85VPvc6P36GW1OCDRebTw/cvgoj7pwac2nZKYFs5FHlNYe7Bc9I4BoY2X0vlkJo+g==", - "dependencies": { - "@firebase/auth": "1.10.5", - "@firebase/auth-types": "0.13.0", - "@firebase/component": "0.6.17", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/auth-interop-types": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.4.tgz", - "integrity": "sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==" - }, - "node_modules/@firebase/auth-types": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.13.0.tgz", - "integrity": "sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg==", - "peerDependencies": { - "@firebase/app-types": "0.x", - "@firebase/util": "1.x" - } - }, - "node_modules/@firebase/component": { - "version": "0.6.17", - "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.17.tgz", - "integrity": "sha512-M6DOg7OySrKEFS8kxA3MU5/xc37fiOpKPMz6cTsMUcsuKB6CiZxxNAvgFta8HGRgEpZbi8WjGIj6Uf+TpOhyzg==", - "dependencies": { - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@firebase/data-connect": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@firebase/data-connect/-/data-connect-0.3.8.tgz", - "integrity": "sha512-xC50SxurrP0j9ksltZ8O2SuPuWTu9KymNxtSE4bmcc/HMOnOHaURgLyrQpcC5Pc7HmtCBxh9Q/lNKyc37rj5/g==", - "dependencies": { - "@firebase/auth-interop-types": "0.2.4", - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/database": { - "version": "1.0.18", - "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.18.tgz", - "integrity": "sha512-uXtYQmK6JCmqSx7dTOQD/qZtSnbMqnwvklF9n7wOJbdti4wKHmeUzgGXhPwDhN/R/BDTq78zKAbXya7hrCQjHw==", - "dependencies": { - "@firebase/app-check-interop-types": "0.3.3", - "@firebase/auth-interop-types": "0.2.4", - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "faye-websocket": "0.11.4", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@firebase/database-compat": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-2.0.9.tgz", - "integrity": "sha512-9S6zK5+Tzslkt+lrYHDqbCbKBSQn3YYrNLIw8hTa/ALoqRLNTXF6acQIlxAxSeZj1hTttE6RRbuxxpMQJYt83w==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/database": "1.0.18", - "@firebase/database-types": "1.0.14", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@firebase/database-types": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.14.tgz", - "integrity": "sha512-8a0Q1GrxM0akgF0RiQHliinhmZd+UQPrxEmUv7MnQBYfVFiLtKOgs3g6ghRt/WEGJHyQNslZ+0PocIwNfoDwKw==", - "dependencies": { - "@firebase/app-types": "0.9.3", - "@firebase/util": "1.12.0" - } - }, - "node_modules/@firebase/firestore": { - "version": "4.7.15", - "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.7.15.tgz", - "integrity": "sha512-FgWTmkNBEXdKCoN2ngBNjrMaXuBx6QwjiZZVnOGg+VjUmiBq5gAqlDIW5bZY6i/NYvLUrWugdqIs7y9GHEqwww==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "@firebase/webchannel-wrapper": "1.0.3", - "@grpc/grpc-js": "~1.9.0", - "@grpc/proto-loader": "^0.7.8", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/firestore-compat": { - "version": "0.3.50", - "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.50.tgz", - "integrity": "sha512-1hAM+iaIqy2HHvSHQ56ccOOIigTeWAwjIpeQ+/O92uBoiajEITHdJofnGHglhhB5VV5qFl59Yz/AVDc+DssdYg==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/firestore": "4.7.15", - "@firebase/firestore-types": "3.0.3", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/firestore-types": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.3.tgz", - "integrity": "sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==", - "peerDependencies": { - "@firebase/app-types": "0.x", - "@firebase/util": "1.x" - } - }, - "node_modules/@firebase/functions": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.12.7.tgz", - "integrity": "sha512-gi8cw7yvaz19Erut+S0rHzNOWp4zPxAU/Kplb+XQoaE5gMV7MjHQoOGnYhSY8uOVj5f80S553s+2OBszG+14Ag==", - "dependencies": { - "@firebase/app-check-interop-types": "0.3.3", - "@firebase/auth-interop-types": "0.2.4", - "@firebase/component": "0.6.17", - "@firebase/messaging-interop-types": "0.2.3", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/functions-compat": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.24.tgz", - "integrity": "sha512-UjJabci+Bqci+A9WqfJ6sjZp+wGvi47llnQMjQRrF4coKfUyu9zBNTXhbx5W3rdVFQYwnWJm8VuluuNh2PCuyQ==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/functions": "0.12.7", - "@firebase/functions-types": "0.6.3", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/functions-types": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.3.tgz", - "integrity": "sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==" - }, - "node_modules/@firebase/installations": { - "version": "0.6.17", - "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.17.tgz", - "integrity": "sha512-zfhqCNJZRe12KyADtRrtOj+SeSbD1H/K8J24oQAJVv/u02eQajEGlhZtcx9Qk7vhGWF5z9dvIygVDYqLL4o1XQ==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/util": "1.12.0", - "idb": "7.1.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/installations-compat": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.17.tgz", - "integrity": "sha512-J7afeCXB7yq25FrrJAgbx8mn1nG1lZEubOLvYgG7ZHvyoOCK00sis5rj7TgDrLYJgdj/SJiGaO1BD3BAp55TeA==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/installations": "0.6.17", - "@firebase/installations-types": "0.5.3", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/installations-types": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.3.tgz", - "integrity": "sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==", - "peerDependencies": { - "@firebase/app-types": "0.x" - } - }, - "node_modules/@firebase/logger": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.4.tgz", - "integrity": "sha512-mH0PEh1zoXGnaR8gD1DeGeNZtWFKbnz9hDO91dIml3iou1gpOnLqXQ2dJfB71dj6dpmUjcQ6phY3ZZJbjErr9g==", - "dependencies": { - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@firebase/messaging": { - "version": "0.12.21", - "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.21.tgz", - "integrity": "sha512-bYJ2Evj167Z+lJ1ach6UglXz5dUKY1zrJZd15GagBUJSR7d9KfiM1W8dsyL0lDxcmhmA/sLaBYAAhF1uilwN0g==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/installations": "0.6.17", - "@firebase/messaging-interop-types": "0.2.3", - "@firebase/util": "1.12.0", - "idb": "7.1.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/messaging-compat": { - "version": "0.2.21", - "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.21.tgz", - "integrity": "sha512-1yMne+4BGLbHbtyu/VyXWcLiefUE1+K3ZGfVTyKM4BH4ZwDFRGoWUGhhx+tKRX4Tu9z7+8JN67SjnwacyNWK5g==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/messaging": "0.12.21", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/messaging-interop-types": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.3.tgz", - "integrity": "sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==" - }, - "node_modules/@firebase/performance": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.7.6.tgz", - "integrity": "sha512-AsOz74dSTlyQGlnnbLWXiHFAsrxhpssPOsFFi4HgOJ5DjzkK7ZdZ/E9uMPrwFoXJyMVoybGRuqsL/wkIbFITsA==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/installations": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0", - "web-vitals": "^4.2.4" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/performance-compat": { - "version": "0.2.19", - "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.19.tgz", - "integrity": "sha512-4cU0T0BJ+LZK/E/UwFcvpBCVdkStgBMQwBztM9fJPT6udrEUk3ugF5/HT+E2Z22FCXtIaXDukJbYkE/c3c6IHw==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/performance": "0.7.6", - "@firebase/performance-types": "0.2.3", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/performance-types": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.3.tgz", - "integrity": "sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==" - }, - "node_modules/@firebase/remote-config": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.6.4.tgz", - "integrity": "sha512-ZyLJRT46wtycyz2+opEkGaoFUOqRQjt/0NX1WfUISOMCI/PuVoyDjqGpq24uK+e8D5NknyTpiXCVq5dowhScmg==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/installations": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/remote-config-compat": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.17.tgz", - "integrity": "sha512-KelsBD0sXSC0u3esr/r6sJYGRN6pzn3bYuI/6pTvvmZbjBlxQkRabHAVH6d+YhLcjUXKIAYIjZszczd1QJtOyA==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/remote-config": "0.6.4", - "@firebase/remote-config-types": "0.4.0", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/remote-config-types": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.4.0.tgz", - "integrity": "sha512-7p3mRE/ldCNYt8fmWMQ/MSGRmXYlJ15Rvs9Rk17t8p0WwZDbeK7eRmoI1tvCPaDzn9Oqh+yD6Lw+sGLsLg4kKg==" - }, - "node_modules/@firebase/storage": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.13.11.tgz", - "integrity": "sha512-nBtCGGpr39vuAeTQhG73nvMq3BjQBTgIg6fWufB6qglWYQCgky/XE4duSrOhTp2/QC+H3/SnaE/nKOQmjnPqjg==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/storage-compat": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.21.tgz", - "integrity": "sha512-LG3978H2Vy1XGa0Jz9VNFwgMrhjy/G8CTV8GkWpArzu+AhI/SE9c0e06SiXcFsVaQW2rObcqFa0zp51LDaVzRA==", - "dependencies": { - "@firebase/component": "0.6.17", - "@firebase/storage": "0.13.11", - "@firebase/storage-types": "0.8.3", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/storage-types": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.3.tgz", - "integrity": "sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==", - "peerDependencies": { - "@firebase/app-types": "0.x", - "@firebase/util": "1.x" - } - }, - "node_modules/@firebase/util": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0.tgz", - "integrity": "sha512-Z4rK23xBCwgKDqmzGVMef+Vb4xso2j5Q8OG0vVL4m4fA5ZjPMYQazu8OJJC3vtQRC3SQ/Pgx/6TPNVsCd70QRw==", - "hasInstallScript": true, - "dependencies": { - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@firebase/webchannel-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.3.tgz", - "integrity": "sha512-2xCRM9q9FlzGZCdgDMJwc0gyUkWFtkosy7Xxr6sFgQwn+wMNIWd7xIvYNauU1r64B5L5rsGKy/n9TKJ0aAFeqQ==" - }, - "node_modules/@grpc/grpc-js": { - "version": "1.9.15", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.15.tgz", - "integrity": "sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==", - "dependencies": { - "@grpc/proto-loader": "^0.7.8", - "@types/node": ">=12.12.47" - }, - "engines": { - "node": "^8.13.0 || >=10.10.0" - } - }, - "node_modules/@grpc/proto-loader": { - "version": "0.7.15", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.15.tgz", - "integrity": "sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==", - "dependencies": { - "lodash.camelcase": "^4.3.0", - "long": "^5.0.0", - "protobufjs": "^7.2.5", - "yargs": "^17.7.2" - }, - "bin": { - "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@inquirer/checkbox": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.1.6.tgz", - "integrity": "sha512-62u896rWCtKKE43soodq5e/QcRsA22I+7/4Ov7LESWnKRO6BVo2A1DFLDmXL9e28TB0CfHc3YtkbPm7iwajqkg==", - "dev": true, - "dependencies": { - "@inquirer/core": "^10.1.11", - "@inquirer/figures": "^1.0.11", - "@inquirer/type": "^3.0.6", - "ansi-escapes": "^4.3.2", - "yoctocolors-cjs": "^2.1.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/confirm": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.6.tgz", - "integrity": "sha512-6ZXYK3M1XmaVBZX6FCfChgtponnL0R6I7k8Nu+kaoNkT828FVZTcca1MqmWQipaW2oNREQl5AaPCUOOCVNdRMw==", - "dev": true, - "dependencies": { - "@inquirer/core": "^10.1.7", - "@inquirer/type": "^3.0.4" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/core": { - "version": "10.1.11", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.11.tgz", - "integrity": "sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==", - "dev": true, - "dependencies": { - "@inquirer/figures": "^1.0.11", - "@inquirer/type": "^3.0.6", - "ansi-escapes": "^4.3.2", - "cli-width": "^4.1.0", - "mute-stream": "^2.0.0", - "signal-exit": "^4.1.0", - "wrap-ansi": "^6.2.0", - "yoctocolors-cjs": "^2.1.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/editor": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.11.tgz", - "integrity": "sha512-YoZr0lBnnLFPpfPSNsQ8IZyKxU47zPyVi9NLjCWtna52//M/xuL0PGPAxHxxYhdOhnvY2oBafoM+BI5w/JK7jw==", - "dev": true, - "dependencies": { - "@inquirer/core": "^10.1.11", - "@inquirer/type": "^3.0.6", - "external-editor": "^3.1.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/expand": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.13.tgz", - "integrity": "sha512-HgYNWuZLHX6q5y4hqKhwyytqAghmx35xikOGY3TcgNiElqXGPas24+UzNPOwGUZa5Dn32y25xJqVeUcGlTv+QQ==", - "dev": true, - "dependencies": { - "@inquirer/core": "^10.1.11", - "@inquirer/type": "^3.0.6", - "yoctocolors-cjs": "^2.1.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/figures": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.11.tgz", - "integrity": "sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==", - "dev": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/@inquirer/input": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.1.10.tgz", - "integrity": "sha512-kV3BVne3wJ+j6reYQUZi/UN9NZGZLxgc/tfyjeK3mrx1QI7RXPxGp21IUTv+iVHcbP4ytZALF8vCHoxyNSC6qg==", - "dev": true, - "dependencies": { - "@inquirer/core": "^10.1.11", - "@inquirer/type": "^3.0.6" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/number": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.13.tgz", - "integrity": "sha512-IrLezcg/GWKS8zpKDvnJ/YTflNJdG0qSFlUM/zNFsdi4UKW/CO+gaJpbMgQ20Q58vNKDJbEzC6IebdkprwL6ew==", - "dev": true, - "dependencies": { - "@inquirer/core": "^10.1.11", - "@inquirer/type": "^3.0.6" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/password": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.13.tgz", - "integrity": "sha512-NN0S/SmdhakqOTJhDwOpeBEEr8VdcYsjmZHDb0rblSh2FcbXQOr+2IApP7JG4WE3sxIdKytDn4ed3XYwtHxmJQ==", - "dev": true, - "dependencies": { - "@inquirer/core": "^10.1.11", - "@inquirer/type": "^3.0.6", - "ansi-escapes": "^4.3.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/prompts": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.3.2.tgz", - "integrity": "sha512-G1ytyOoHh5BphmEBxSwALin3n1KGNYB6yImbICcRQdzXfOGbuJ9Jske/Of5Sebk339NSGGNfUshnzK8YWkTPsQ==", - "dev": true, - "dependencies": { - "@inquirer/checkbox": "^4.1.2", - "@inquirer/confirm": "^5.1.6", - "@inquirer/editor": "^4.2.7", - "@inquirer/expand": "^4.0.9", - "@inquirer/input": "^4.1.6", - "@inquirer/number": "^3.0.9", - "@inquirer/password": "^4.0.9", - "@inquirer/rawlist": "^4.0.9", - "@inquirer/search": "^3.0.9", - "@inquirer/select": "^4.0.9" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/rawlist": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.1.tgz", - "integrity": "sha512-VBUC0jPN2oaOq8+krwpo/mf3n/UryDUkKog3zi+oIi8/e5hykvdntgHUB9nhDM78RubiyR1ldIOfm5ue+2DeaQ==", - "dev": true, - "dependencies": { - "@inquirer/core": "^10.1.11", - "@inquirer/type": "^3.0.6", - "yoctocolors-cjs": "^2.1.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/search": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.0.13.tgz", - "integrity": "sha512-9g89d2c5Izok/Gw/U7KPC3f9kfe5rA1AJ24xxNZG0st+vWekSk7tB9oE+dJv5JXd0ZSijomvW0KPMoBd8qbN4g==", - "dev": true, - "dependencies": { - "@inquirer/core": "^10.1.11", - "@inquirer/figures": "^1.0.11", - "@inquirer/type": "^3.0.6", - "yoctocolors-cjs": "^2.1.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.2.1.tgz", - "integrity": "sha512-gt1Kd5XZm+/ddemcT3m23IP8aD8rC9drRckWoP/1f7OL46Yy2FGi8DSmNjEjQKtPl6SV96Kmjbl6p713KXJ/Jg==", - "dev": true, - "dependencies": { - "@inquirer/core": "^10.1.11", - "@inquirer/figures": "^1.0.11", - "@inquirer/type": "^3.0.6", - "ansi-escapes": "^4.3.2", - "yoctocolors-cjs": "^2.1.2" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@inquirer/type": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.6.tgz", - "integrity": "sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "@types/node": ">=18" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "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-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/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "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/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/@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "dependencies": { - "minipass": "^7.0.4" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@jsonjoy.com/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", - "dev": true, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/json-pack": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.2.0.tgz", - "integrity": "sha512-io1zEbbYcElht3tdlqEOFxZ0dMTYrHz9iMf0gqn1pPjZFTCgM5R4R5IMA20Chb2UPYYsxjzs8CgZ7Nb5n2K2rA==", - "dev": true, - "dependencies": { - "@jsonjoy.com/base64": "^1.1.1", - "@jsonjoy.com/util": "^1.1.2", - "hyperdyperid": "^1.2.0", - "thingies": "^1.20.0" - }, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@jsonjoy.com/util": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.6.0.tgz", - "integrity": "sha512-sw/RMbehRhN68WRtcKCpQOPfnH6lLP4GJfqzi3iYej8tnzpZUDr6UkZYJjcjjC0FWEJOJbyM3PTIwxucUmDG2A==", - "dev": true, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", - "dev": true - }, - "node_modules/@listr2/prompt-adapter-inquirer": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.18.tgz", - "integrity": "sha512-0hz44rAcrphyXcA8IS7EJ2SCoaBZD2u5goE8S/e+q/DL+dOGpqpcLidVOFeLG3VgML62SXmfRLAhWt0zL1oW4Q==", - "dev": true, - "dependencies": { - "@inquirer/type": "^1.5.5" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@inquirer/prompts": ">= 3 < 8" - } - }, - "node_modules/@listr2/prompt-adapter-inquirer/node_modules/@inquirer/type": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz", - "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==", - "dev": true, - "dependencies": { - "mute-stream": "^1.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@listr2/prompt-adapter-inquirer/node_modules/mute-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@lmdb/lmdb-darwin-arm64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.2.6.tgz", - "integrity": "sha512-yF/ih9EJJZc72psFQbwnn8mExIWfTnzWJg+N02hnpXtDPETYLmQswIMBn7+V88lfCaFrMozJsUvcEQIkEPU0Gg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@lmdb/lmdb-darwin-x64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.2.6.tgz", - "integrity": "sha512-5BbCumsFLbCi586Bb1lTWQFkekdQUw8/t8cy++Uq251cl3hbDIGEwD9HAwh8H6IS2F6QA9KdKmO136LmipRNkg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@lmdb/lmdb-linux-arm": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.2.6.tgz", - "integrity": "sha512-+6XgLpMb7HBoWxXj+bLbiiB4s0mRRcDPElnRS3LpWRzdYSe+gFk5MT/4RrVNqd2MESUDmb53NUXw1+BP69bjiQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@lmdb/lmdb-linux-arm64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.2.6.tgz", - "integrity": "sha512-l5VmJamJ3nyMmeD1ANBQCQqy7do1ESaJQfKPSm2IG9/ADZryptTyCj8N6QaYgIWewqNUrcbdMkJajRQAt5Qjfg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@lmdb/lmdb-linux-x64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.2.6.tgz", - "integrity": "sha512-nDYT8qN9si5+onHYYaI4DiauDMx24OAiuZAUsEqrDy+ja/3EbpXPX/VAkMV8AEaQhy3xc4dRC+KcYIvOFefJ4Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@lmdb/lmdb-win32-x64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.2.6.tgz", - "integrity": "sha512-XlqVtILonQnG+9fH2N3Aytria7P/1fwDgDhl29rde96uH2sLB8CHORIf2PfuLVzFQJ7Uqp8py9AYwr3ZUCFfWg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", - "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", - "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", - "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", - "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", - "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", - "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@napi-rs/nice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.0.1.tgz", - "integrity": "sha512-zM0mVWSXE0a0h9aKACLwKmD6nHcRiKrPpCfvaKqG1CqDEyjEawId0ocXxVzPMCAm6kkWr2P025msfxXEnt8UGQ==", - "dev": true, - "optional": true, - "engines": { - "node": ">= 10" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - }, - "optionalDependencies": { - "@napi-rs/nice-android-arm-eabi": "1.0.1", - "@napi-rs/nice-android-arm64": "1.0.1", - "@napi-rs/nice-darwin-arm64": "1.0.1", - "@napi-rs/nice-darwin-x64": "1.0.1", - "@napi-rs/nice-freebsd-x64": "1.0.1", - "@napi-rs/nice-linux-arm-gnueabihf": "1.0.1", - "@napi-rs/nice-linux-arm64-gnu": "1.0.1", - "@napi-rs/nice-linux-arm64-musl": "1.0.1", - "@napi-rs/nice-linux-ppc64-gnu": "1.0.1", - "@napi-rs/nice-linux-riscv64-gnu": "1.0.1", - "@napi-rs/nice-linux-s390x-gnu": "1.0.1", - "@napi-rs/nice-linux-x64-gnu": "1.0.1", - "@napi-rs/nice-linux-x64-musl": "1.0.1", - "@napi-rs/nice-win32-arm64-msvc": "1.0.1", - "@napi-rs/nice-win32-ia32-msvc": "1.0.1", - "@napi-rs/nice-win32-x64-msvc": "1.0.1" - } - }, - "node_modules/@napi-rs/nice-android-arm-eabi": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.0.1.tgz", - "integrity": "sha512-5qpvOu5IGwDo7MEKVqqyAxF90I6aLj4n07OzpARdgDRfz8UbBztTByBp0RC59r3J1Ij8uzYi6jI7r5Lws7nn6w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-android-arm64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.0.1.tgz", - "integrity": "sha512-GqvXL0P8fZ+mQqG1g0o4AO9hJjQaeYG84FRfZaYjyJtZZZcMjXW5TwkL8Y8UApheJgyE13TQ4YNUssQaTgTyvA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-darwin-arm64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.0.1.tgz", - "integrity": "sha512-91k3HEqUl2fsrz/sKkuEkscj6EAj3/eZNCLqzD2AA0TtVbkQi8nqxZCZDMkfklULmxLkMxuUdKe7RvG/T6s2AA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-darwin-x64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.0.1.tgz", - "integrity": "sha512-jXnMleYSIR/+TAN/p5u+NkCA7yidgswx5ftqzXdD5wgy/hNR92oerTXHc0jrlBisbd7DpzoaGY4cFD7Sm5GlgQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-freebsd-x64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.0.1.tgz", - "integrity": "sha512-j+iJ/ezONXRQsVIB/FJfwjeQXX7A2tf3gEXs4WUGFrJjpe/z2KB7sOv6zpkm08PofF36C9S7wTNuzHZ/Iiccfw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.0.1.tgz", - "integrity": "sha512-G8RgJ8FYXYkkSGQwywAUh84m946UTn6l03/vmEXBYNJxQJcD+I3B3k5jmjFG/OPiU8DfvxutOP8bi+F89MCV7Q==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-arm64-gnu": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.0.1.tgz", - "integrity": "sha512-IMDak59/W5JSab1oZvmNbrms3mHqcreaCeClUjwlwDr0m3BoR09ZiN8cKFBzuSlXgRdZ4PNqCYNeGQv7YMTjuA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-arm64-musl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.0.1.tgz", - "integrity": "sha512-wG8fa2VKuWM4CfjOjjRX9YLIbysSVV1S3Kgm2Fnc67ap/soHBeYZa6AGMeR5BJAylYRjnoVOzV19Cmkco3QEPw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-ppc64-gnu": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.0.1.tgz", - "integrity": "sha512-lxQ9WrBf0IlNTCA9oS2jg/iAjQyTI6JHzABV664LLrLA/SIdD+I1i3Mjf7TsnoUbgopBcCuDztVLfJ0q9ubf6Q==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-riscv64-gnu": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.0.1.tgz", - "integrity": "sha512-3xs69dO8WSWBb13KBVex+yvxmUeEsdWexxibqskzoKaWx9AIqkMbWmE2npkazJoopPKX2ULKd8Fm9veEn0g4Ig==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-s390x-gnu": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.0.1.tgz", - "integrity": "sha512-lMFI3i9rlW7hgToyAzTaEybQYGbQHDrpRkg+1gJWEpH0PLAQoZ8jiY0IzakLfNWnVda1eTYYlxxFYzW8Rqczkg==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-x64-gnu": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.0.1.tgz", - "integrity": "sha512-XQAJs7DRN2GpLN6Fb+ZdGFeYZDdGl2Fn3TmFlqEL5JorgWKrQGRUrpGKbgZ25UeZPILuTKJ+OowG2avN8mThBA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-linux-x64-musl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.0.1.tgz", - "integrity": "sha512-/rodHpRSgiI9o1faq9SZOp/o2QkKQg7T+DK0R5AkbnI/YxvAIEHf2cngjYzLMQSQgUhxym+LFr+UGZx4vK4QdQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-win32-arm64-msvc": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.0.1.tgz", - "integrity": "sha512-rEcz9vZymaCB3OqEXoHnp9YViLct8ugF+6uO5McifTedjq4QMQs3DHz35xBEGhH3gJWEsXMUbzazkz5KNM5YUg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-win32-ia32-msvc": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.0.1.tgz", - "integrity": "sha512-t7eBAyPUrWL8su3gDxw9xxxqNwZzAqKo0Szv3IjVQd1GpXXVkb6vBBQUuxfIYaXMzZLwlxRQ7uzM2vdUE9ULGw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@napi-rs/nice-win32-x64-msvc": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.0.1.tgz", - "integrity": "sha512-JlF+uDcatt3St2ntBG8H02F1mM45i5SF9W+bIKiReVE6wiy3o16oBP/yxt+RZ+N6LbCImJXJ6bXNO2kn9AXicg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@ngtools/webpack": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.2.12.tgz", - "integrity": "sha512-MTxkM+jZPQP55q0BWx/1w2kaN9mSFC14V9+p4sfNm/OXk7fibtxz5lXH/2sDGFWJi36s4gppKqfHBhp9OTdHCQ==", - "dev": true, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^19.0.0 || ^19.2.0-next.0", - "typescript": ">=5.5 <5.9", - "webpack": "^5.54.0" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@npmcli/agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", - "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", - "dev": true, - "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/agent/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, - "node_modules/@npmcli/fs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", - "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", - "dev": true, - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/git": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-6.0.3.tgz", - "integrity": "sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ==", - "dev": true, - "dependencies": { - "@npmcli/promise-spawn": "^8.0.0", - "ini": "^5.0.0", - "lru-cache": "^10.0.1", - "npm-pick-manifest": "^10.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/git/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, - "node_modules/@npmcli/git/node_modules/which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "dev": true, - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/installed-package-contents": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz", - "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==", - "dev": true, - "dependencies": { - "npm-bundled": "^4.0.0", - "npm-normalize-package-bin": "^4.0.0" - }, - "bin": { - "installed-package-contents": "bin/index.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/node-gyp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz", - "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==", - "dev": true, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/package-json": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.1.1.tgz", - "integrity": "sha512-d5qimadRAUCO4A/Txw71VM7UrRZzV+NPclxz/dc+M6B2oYwjWTjqh8HA/sGQgs9VZuJ6I/P7XIAlJvgrl27ZOw==", - "dev": true, - "dependencies": { - "@npmcli/git": "^6.0.0", - "glob": "^10.2.2", - "hosted-git-info": "^8.0.0", - "json-parse-even-better-errors": "^4.0.0", - "proc-log": "^5.0.0", - "semver": "^7.5.3", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/package-json/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": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@npmcli/package-json/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@npmcli/package-json/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@npmcli/promise-spawn": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.2.tgz", - "integrity": "sha512-/bNJhjc+o6qL+Dwz/bqfTQClkEO5nTQ1ZEcdCkAQjhkZMHIh22LPG7fNh1enJP1NKWDqYiiABnjFCY7E0zHYtQ==", - "dev": true, - "dependencies": { - "which": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/promise-spawn/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/@npmcli/promise-spawn/node_modules/which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "dev": true, - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/redact": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.2.2.tgz", - "integrity": "sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==", - "dev": true, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/run-script": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-9.1.0.tgz", - "integrity": "sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==", - "dev": true, - "dependencies": { - "@npmcli/node-gyp": "^4.0.0", - "@npmcli/package-json": "^6.0.0", - "@npmcli/promise-spawn": "^8.0.0", - "node-gyp": "^11.0.0", - "proc-log": "^5.0.0", - "which": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@npmcli/run-script/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/@npmcli/run-script/node_modules/which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "dev": true, - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@parcel/watcher": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", - "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "dependencies": { - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "@parcel/watcher-android-arm64": "2.5.1", - "@parcel/watcher-darwin-arm64": "2.5.1", - "@parcel/watcher-darwin-x64": "2.5.1", - "@parcel/watcher-freebsd-x64": "2.5.1", - "@parcel/watcher-linux-arm-glibc": "2.5.1", - "@parcel/watcher-linux-arm-musl": "2.5.1", - "@parcel/watcher-linux-arm64-glibc": "2.5.1", - "@parcel/watcher-linux-arm64-musl": "2.5.1", - "@parcel/watcher-linux-x64-glibc": "2.5.1", - "@parcel/watcher-linux-x64-musl": "2.5.1", - "@parcel/watcher-win32-arm64": "2.5.1", - "@parcel/watcher-win32-ia32": "2.5.1", - "@parcel/watcher-win32-x64": "2.5.1" - } - }, - "node_modules/@parcel/watcher-android-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", - "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", - "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-darwin-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", - "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-freebsd-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", - "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", - "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", - "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", - "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-arm64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", - "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", - "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-linux-x64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", - "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", - "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-ia32": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", - "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher-win32-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", - "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/@parcel/watcher/node_modules/detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dev": true, - "optional": true, - "bin": { - "detect-libc": "bin/detect-libc.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/@parcel/watcher/node_modules/node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true, - "optional": true - }, - "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/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" - }, - "node_modules/@rollup/plugin-json": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", - "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==", - "dev": true, - "dependencies": { - "@rollup/pluginutils": "^5.1.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/pluginutils": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", - "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz", - "integrity": "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz", - "integrity": "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz", - "integrity": "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz", - "integrity": "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz", - "integrity": "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz", - "integrity": "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz", - "integrity": "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz", - "integrity": "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz", - "integrity": "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz", - "integrity": "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz", - "integrity": "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz", - "integrity": "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz", - "integrity": "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.0.tgz", - "integrity": "sha512-ieQljaZKuJpmWvd8gW87ZmSFwid6AxMDk5bhONJ57U8zT77zpZ/TPKkU9HpnnFrM4zsgr4kiGuzbIbZTGi7u9A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz", - "integrity": "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz", - "integrity": "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz", - "integrity": "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz", - "integrity": "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz", - "integrity": "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz", - "integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/wasm-node": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.41.0.tgz", - "integrity": "sha512-G+y2Uj8XvsPWMA+kVfKPcrhOWtcwKaCCr8KNZPiADfJV4+g4HUeJKuT8Fz71F7PNVD3t+xqX8rlpIULAlAJ+sQ==", - "dev": true, - "dependencies": { - "@types/estree": "1.0.7" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/@schematics/angular": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.2.12.tgz", - "integrity": "sha512-6S6tclFctLrjMvhpi8eVvswIpXqlybRpZLCTWyVeWIC6PHYLEyFmFoOhuhcSmOdtnwudvzOt6xWnWEVb3qXZbQ==", - "dependencies": { - "@angular-devkit/core": "19.2.12", - "@angular-devkit/schematics": "19.2.12", - "jsonc-parser": "3.3.1" - }, - "engines": { - "node": "^18.19.1 || ^20.11.1 || >=22.0.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@sigstore/bundle": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-3.1.0.tgz", - "integrity": "sha512-Mm1E3/CmDDCz3nDhFKTuYdB47EdRFRQMOE/EAbiG1MJW77/w1b3P7Qx7JSrVJs8PfwOLOVcKQCHErIwCTyPbag==", - "dev": true, - "dependencies": { - "@sigstore/protobuf-specs": "^0.4.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@sigstore/core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-2.0.0.tgz", - "integrity": "sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==", - "dev": true, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@sigstore/protobuf-specs": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.4.2.tgz", - "integrity": "sha512-F2ye+n1INNhqT0MW+LfUEvTUPc/nS70vICJcxorKl7/gV9CO39+EDCw+qHNKEqvsDWk++yGVKCbzK1qLPvmC8g==", - "dev": true, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@sigstore/sign": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-3.1.0.tgz", - "integrity": "sha512-knzjmaOHOov1Ur7N/z4B1oPqZ0QX5geUfhrVaqVlu+hl0EAoL4o+l0MSULINcD5GCWe3Z0+YJO8ues6vFlW0Yw==", - "dev": true, - "dependencies": { - "@sigstore/bundle": "^3.1.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.4.0", - "make-fetch-happen": "^14.0.2", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@sigstore/tuf": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-3.1.1.tgz", - "integrity": "sha512-eFFvlcBIoGwVkkwmTi/vEQFSva3xs5Ot3WmBcjgjVdiaoelBLQaQ/ZBfhlG0MnG0cmTYScPpk7eDdGDWUcFUmg==", - "dev": true, - "dependencies": { - "@sigstore/protobuf-specs": "^0.4.1", - "tuf-js": "^3.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@sigstore/verify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-2.1.1.tgz", - "integrity": "sha512-hVJD77oT67aowHxwT4+M6PGOp+E2LtLdTK3+FC0lBO9T7sYwItDMXZ7Z07IDCvR1M717a4axbIWckrW67KMP/w==", - "dev": true, - "dependencies": { - "@sigstore/bundle": "^3.1.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.4.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@sindresorhus/merge-streams": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", - "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", - "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", - "dev": true - }, - "node_modules/@tailwindcss/node": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.7.tgz", - "integrity": "sha512-9rsOpdY9idRI2NH6CL4wORFY0+Q6fnx9XP9Ju+iq/0wJwGD5IByIgFmwVbyy4ymuyprj8Qh4ErxMKTUL4uNh3g==", - "dependencies": { - "@ampproject/remapping": "^2.3.0", - "enhanced-resolve": "^5.18.1", - "jiti": "^2.4.2", - "lightningcss": "1.30.1", - "magic-string": "^0.30.17", - "source-map-js": "^1.2.1", - "tailwindcss": "4.1.7" - } - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.7.tgz", - "integrity": "sha512-5SF95Ctm9DFiUyjUPnDGkoKItPX/k+xifcQhcqX5RA85m50jw1pT/KzjdvlqxRja45Y52nR4MR9fD1JYd7f8NQ==", - "hasInstallScript": true, - "dependencies": { - "detect-libc": "^2.0.4", - "tar": "^7.4.3" - }, - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.7", - "@tailwindcss/oxide-darwin-arm64": "4.1.7", - "@tailwindcss/oxide-darwin-x64": "4.1.7", - "@tailwindcss/oxide-freebsd-x64": "4.1.7", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.7", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.7", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.7", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.7", - "@tailwindcss/oxide-linux-x64-musl": "4.1.7", - "@tailwindcss/oxide-wasm32-wasi": "4.1.7", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.7", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.7" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.7.tgz", - "integrity": "sha512-IWA410JZ8fF7kACus6BrUwY2Z1t1hm0+ZWNEzykKmMNM09wQooOcN/VXr0p/WJdtHZ90PvJf2AIBS/Ceqx1emg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.7.tgz", - "integrity": "sha512-81jUw9To7fimGGkuJ2W5h3/oGonTOZKZ8C2ghm/TTxbwvfSiFSDPd6/A/KE2N7Jp4mv3Ps9OFqg2fEKgZFfsvg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.7.tgz", - "integrity": "sha512-q77rWjEyGHV4PdDBtrzO0tgBBPlQWKY7wZK0cUok/HaGgbNKecegNxCGikuPJn5wFAlIywC3v+WMBt0PEBtwGw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.7.tgz", - "integrity": "sha512-RfmdbbK6G6ptgF4qqbzoxmH+PKfP4KSVs7SRlTwcbRgBwezJkAO3Qta/7gDy10Q2DcUVkKxFLXUQO6J3CRvBGw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.7.tgz", - "integrity": "sha512-OZqsGvpwOa13lVd1z6JVwQXadEobmesxQ4AxhrwRiPuE04quvZHWn/LnihMg7/XkN+dTioXp/VMu/p6A5eZP3g==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.7.tgz", - "integrity": "sha512-voMvBTnJSfKecJxGkoeAyW/2XRToLZ227LxswLAwKY7YslG/Xkw9/tJNH+3IVh5bdYzYE7DfiaPbRkSHFxY1xA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.7.tgz", - "integrity": "sha512-PjGuNNmJeKHnP58M7XyjJyla8LPo+RmwHQpBI+W/OxqrwojyuCQ+GUtygu7jUqTEexejZHr/z3nBc/gTiXBj4A==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.7.tgz", - "integrity": "sha512-HMs+Va+ZR3gC3mLZE00gXxtBo3JoSQxtu9lobbZd+DmfkIxR54NO7Z+UQNPsa0P/ITn1TevtFxXTpsRU7qEvWg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.7.tgz", - "integrity": "sha512-MHZ6jyNlutdHH8rd+YTdr3QbXrHXqwIhHw9e7yXEBcQdluGwhpQY2Eku8UZK6ReLaWtQ4gijIv5QoM5eE+qlsA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.7.tgz", - "integrity": "sha512-ANaSKt74ZRzE2TvJmUcbFQ8zS201cIPxUDm5qez5rLEwWkie2SkGtA4P+GPTj+u8N6JbPrC8MtY8RmJA35Oo+A==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "optional": true, - "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@emnapi/wasi-threads": "^1.0.2", - "@napi-rs/wasm-runtime": "^0.2.9", - "@tybys/wasm-util": "^0.9.0", - "tslib": "^2.8.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.7.tgz", - "integrity": "sha512-HUiSiXQ9gLJBAPCMVRk2RT1ZrBjto7WvqsPBwUrNK2BcdSxMnk19h4pjZjI7zgPhDxlAbJSumTC4ljeA9y0tEw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.7.tgz", - "integrity": "sha512-rYHGmvoHiLJ8hWucSfSOEmdCBIGZIq7SpkPRSqLsH2Ab2YUNgKeAPT1Fi2cx3+hnYOrAb0jp9cRyode3bBW4mQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/postcss": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.7.tgz", - "integrity": "sha512-88g3qmNZn7jDgrrcp3ZXEQfp9CVox7xjP1HN2TFKI03CltPVd/c61ydn5qJJL8FYunn0OqBaW5HNUga0kmPVvw==", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.1.7", - "@tailwindcss/oxide": "4.1.7", - "postcss": "^8.4.41", - "tailwindcss": "4.1.7" - } - }, - "node_modules/@tanstack/angular-form": { - "version": "0.42.1", - "resolved": "https://registry.npmjs.org/@tanstack/angular-form/-/angular-form-0.42.1.tgz", - "integrity": "sha512-7uMewhfDrCo8X+CZSMGBu6xifeIhvGsDpwZeXrUYDrS7ZzVzUysFLuZPbGLylmWTVBRhdK85A6xXjoiBiAYP2A==", - "dev": true, - "dependencies": { - "@tanstack/angular-store": "^0.7.0", - "@tanstack/form-core": "0.42.1", - "tslib": "^2.8.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "@angular/core": ">=19.0.0" - } - }, - "node_modules/@tanstack/angular-store": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@tanstack/angular-store/-/angular-store-0.7.0.tgz", - "integrity": "sha512-Ybl3fCZpfubPDQPbhhvpLGHFx2FRwQHv5bi5tluOtlkTZw3gVxuF+rMxVHfvm3CTI418W7VwiRfPz8//8Gxvkw==", - "dependencies": { - "@tanstack/store": "0.7.0", - "tslib": "^2.8.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "@angular/common": ">=19.0.0", - "@angular/core": ">=19.0.0" - } - }, - "node_modules/@tanstack/form-core": { - "version": "0.42.1", - "resolved": "https://registry.npmjs.org/@tanstack/form-core/-/form-core-0.42.1.tgz", - "integrity": "sha512-jTU0jyHqFceujdtPNv3jPVej1dTqBwa8TYdIyWB5BCwRVUBZEp1PiYEBkC9r92xu5fMpBiKc+JKud3eeVjuMiA==", - "dev": true, - "dependencies": { - "@tanstack/store": "^0.7.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/store": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.7.0.tgz", - "integrity": "sha512-CNIhdoUsmD2NolYuaIs8VfWM467RK6oIBAW4nPEKZhg1smZ+/CwtCdpURgp7nxSqOaV9oKkzdWD80+bC66F/Jg==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tufjs/canonical-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", - "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", - "dev": true, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@tufjs/models": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-3.0.1.tgz", - "integrity": "sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==", - "dev": true, - "dependencies": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.5" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/@tufjs/models/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": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@tufjs/models/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", - "dev": true, - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/cors": { - "version": "2.8.18", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.18.tgz", - "integrity": "sha512-nX3d0sxJW41CqQvfOzVG1NCTXfFDrDWIghCZncpHeWlVFd81zxB/DLhg7avFg6eHLCRX7ckBmoIIcqa++upvJA==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", - "dev": true - }, - "node_modules/@types/express": { - "version": "4.17.22", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.22.tgz", - "integrity": "sha512-eZUmSnhRX9YRSkplpz0N+k6NljUUn5l3EWZIKZvYzhvMphEuNiyyy1viH/ejgt66JWgALwC/gtSUAeQKtSwW/w==", - "dev": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.19.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", - "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true - }, - "node_modules/@types/http-proxy": { - "version": "1.17.16", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.16.tgz", - "integrity": "sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/jasmine": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.8.tgz", - "integrity": "sha512-u7/CnvRdh6AaaIzYjCgUuVbREFgulhX05Qtf6ZtW+aOcjCKKVvKgpkPYJBFTZSHtFBYimzU4zP0V2vrEsq9Wcg==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true - }, - "node_modules/@types/node": { - "version": "18.19.101", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.101.tgz", - "integrity": "sha512-Ykg7fcE3+cOQlLUv2Ds3zil6DVjriGQaSN/kEpl5HQ3DIGM6W0F2n9+GkWV4bRt7KjLymgzNdTnSKCbFUUJ7Kw==", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true - }, - "node_modules/@types/retry": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", - "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", - "dev": true - }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "dev": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "dev": true, - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", - "dev": true, - "dependencies": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@vitejs/plugin-basic-ssl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.2.0.tgz", - "integrity": "sha512-mkQnxTkcldAzIsomk1UuLfAu9n+kpQ3JbHcpCp7d2Oo6ITtji8pHS3QToOWjhPFvNQSnhlkAjmGbhv2QvwO/7Q==", - "dev": true, - "engines": { - "node": ">=14.21.3" - }, - "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "node_modules/abbrev": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", - "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", - "dev": true, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.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==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "engines": { - "node": ">=8.9" - } - }, - "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==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", - "dev": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "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==", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "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/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "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/autoprefixer": { - "version": "10.4.20", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", - "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "browserslist": "^4.23.3", - "caniuse-lite": "^1.0.30001646", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.1", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/babel-loader": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", - "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", - "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/babel-plugin-polyfill-corejs2": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz", - "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.4", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.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==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", - "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.3", - "core-js-compat": "^3.40.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz", - "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.6.4" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.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==", - "dev": true - }, - "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/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true, - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, - "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==", - "dev": true - }, - "node_modules/beasties": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.2.tgz", - "integrity": "sha512-p4AF8uYzm9Fwu8m/hSVTCPXrRBPmB34hQpHsec2KOaR9CZmgoU8IOv4Cvwq4hgz2p4hLMNbsdNl5XeA6XbAQwA==", - "dev": true, - "dependencies": { - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "htmlparser2": "^10.0.0", - "picocolors": "^1.1.1", - "postcss": "^8.4.49", - "postcss-media-query-parser": "^0.2.3" - }, - "engines": { - "node": ">=14.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==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", - "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/bonjour-service": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", - "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.24.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", - "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001716", - "electron-to-chromium": "^1.5.149", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "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": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/bundle-name": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", - "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", - "dev": true, - "dependencies": { - "run-applescript": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacache": { - "version": "19.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", - "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", - "dev": true, - "dependencies": { - "@npmcli/fs": "^4.0.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^7.0.2", - "ssri": "^12.0.0", - "tar": "^7.4.3", - "unique-filename": "^4.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/cacache/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": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/cacache/node_modules/glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, - "node_modules/cacache/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001718", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001718.tgz", - "integrity": "sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw==", - "dev": true, - "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/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "devOptional": true, - "dependencies": { - "readdirp": "^4.0.1" - }, - "engines": { - "node": ">= 14.16.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", - "engines": { - "node": ">=18" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/cli-cursor": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", - "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", - "dev": true, - "dependencies": { - "restore-cursor": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", - "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", - "dev": true, - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, - "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==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/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/cliui/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/cliui/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/cliui/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/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/clone-deep/node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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/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/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "node_modules/commander": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", - "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", - "dev": true, - "engines": { - "node": ">=18" - } - }, - "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==", - "dev": 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==", - "dev": true - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.0.tgz", - "integrity": "sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "compressible": "~2.0.18", - "debug": "2.6.9", - "negotiator": "~0.6.4", - "on-headers": "~1.0.2", - "safe-buffer": "5.2.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/compression/node_modules/negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.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==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/connect/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": { - "ms": "2.0.0" - } - }, - "node_modules/connect/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==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/connect/node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/connect/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/connect/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/connect/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==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "node_modules/copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", - "dev": true, - "dependencies": { - "is-what": "^3.14.1" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz", - "integrity": "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==", - "dev": true, - "dependencies": { - "fast-glob": "^3.3.2", - "glob-parent": "^6.0.1", - "globby": "^14.0.0", - "normalize-path": "^3.0.0", - "schema-utils": "^4.2.0", - "serialize-javascript": "^6.0.2" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/core-js-compat": { - "version": "3.42.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.42.0.tgz", - "integrity": "sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ==", - "dev": true, - "dependencies": { - "browserslist": "^4.24.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dev": true, - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", - "dev": true, - "dependencies": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-loader": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", - "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", - "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.1.0", - "postcss-modules-local-by-default": "^4.0.5", - "postcss-modules-scope": "^3.2.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.27.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "engines": { - "node": ">= 6" - }, - "funding": { - "url": "https://github.com/sponsors/fb55" - } - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", - "dev": true - }, - "node_modules/date-format": { - "version": "4.0.14", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", - "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/default-browser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", - "dev": true, - "dependencies": { - "bundle-name": "^4.1.0", - "default-browser-id": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser-id": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/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, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dependency-graph": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-1.0.0.tgz", - "integrity": "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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/detect-libc": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", - "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true - }, - "node_modules/di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", - "dev": true, - "dependencies": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - }, - "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" - } - }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", - "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", - "dev": true, - "dependencies": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "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/electron-to-chromium": { - "version": "1.5.155", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.155.tgz", - "integrity": "sha512-ps5KcGGmwL8VaeJlvlDlu4fORQpv3+GIcF5I3f9tUKUlJ/wsysh6HU8P5L1XWRYeXfA0oJd4PyM8ds8zTFf6Ng==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", - "dev": true - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/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==", - "dev": true, - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/engine.io": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", - "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", - "dev": true, - "dependencies": { - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.7.2", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.17.1" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/engine.io-parser": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", - "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io/node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/engine.io/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/enhanced-resolve": { - "version": "5.18.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", - "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ent": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.2.tgz", - "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "punycode": "^1.4.1", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/environment": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", - "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "optional": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "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==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", - "dev": true - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/esbuild": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", - "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.4", - "@esbuild/android-arm": "0.25.4", - "@esbuild/android-arm64": "0.25.4", - "@esbuild/android-x64": "0.25.4", - "@esbuild/darwin-arm64": "0.25.4", - "@esbuild/darwin-x64": "0.25.4", - "@esbuild/freebsd-arm64": "0.25.4", - "@esbuild/freebsd-x64": "0.25.4", - "@esbuild/linux-arm": "0.25.4", - "@esbuild/linux-arm64": "0.25.4", - "@esbuild/linux-ia32": "0.25.4", - "@esbuild/linux-loong64": "0.25.4", - "@esbuild/linux-mips64el": "0.25.4", - "@esbuild/linux-ppc64": "0.25.4", - "@esbuild/linux-riscv64": "0.25.4", - "@esbuild/linux-s390x": "0.25.4", - "@esbuild/linux-x64": "0.25.4", - "@esbuild/netbsd-arm64": "0.25.4", - "@esbuild/netbsd-x64": "0.25.4", - "@esbuild/openbsd-arm64": "0.25.4", - "@esbuild/openbsd-x64": "0.25.4", - "@esbuild/sunos-x64": "0.25.4", - "@esbuild/win32-arm64": "0.25.4", - "@esbuild/win32-ia32": "0.25.4", - "@esbuild/win32-x64": "0.25.4" - } - }, - "node_modules/esbuild-wasm": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.25.4.tgz", - "integrity": "sha512-2HlCS6rNvKWaSKhWaG/YIyRsTsL3gUrMP2ToZMBIjw9LM7vVcIs+rz8kE2vExvTJgvM8OKPqNpcHawY/BQc/qQ==", - "dev": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-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/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==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/exponential-backoff": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", - "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==", - "dev": true - }, - "node_modules/express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/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/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ] - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", - "dev": true, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "node_modules/find-cache-dir": { - "version": "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/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/firebase": { - "version": "11.8.0", - "resolved": "https://registry.npmjs.org/firebase/-/firebase-11.8.0.tgz", - "integrity": "sha512-zIv11czOqFayPllaJySKIKB2pS+xoWOnfI7j85SOiBKY1IW3NuZIaL+UgsZA+4PQZkPhFP8vmU2/oOun04ALbg==", - "dependencies": { - "@firebase/ai": "1.3.0", - "@firebase/analytics": "0.10.16", - "@firebase/analytics-compat": "0.2.22", - "@firebase/app": "0.13.0", - "@firebase/app-check": "0.10.0", - "@firebase/app-check-compat": "0.3.25", - "@firebase/app-compat": "0.4.0", - "@firebase/app-types": "0.9.3", - "@firebase/auth": "1.10.5", - "@firebase/auth-compat": "0.5.25", - "@firebase/data-connect": "0.3.8", - "@firebase/database": "1.0.18", - "@firebase/database-compat": "2.0.9", - "@firebase/firestore": "4.7.15", - "@firebase/firestore-compat": "0.3.50", - "@firebase/functions": "0.12.7", - "@firebase/functions-compat": "0.3.24", - "@firebase/installations": "0.6.17", - "@firebase/installations-compat": "0.2.17", - "@firebase/messaging": "0.12.21", - "@firebase/messaging-compat": "0.2.21", - "@firebase/performance": "0.7.6", - "@firebase/performance-compat": "0.2.19", - "@firebase/remote-config": "0.6.4", - "@firebase/remote-config-compat": "0.2.17", - "@firebase/storage": "0.13.11", - "@firebase/storage-compat": "0.3.21", - "@firebase/util": "1.12.0" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "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/fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-east-asian-width": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", - "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "deprecated": "Glob versions prior to v9 are no longer supported", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "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==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", - "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", - "dev": true, - "dependencies": { - "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.3", - "ignore": "^7.0.3", - "path-type": "^6.0.0", - "slash": "^5.1.0", - "unicorn-magic": "^0.3.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/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==", - "dev": true - }, - "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/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hosted-git-info": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", - "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", - "dev": true, - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "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==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "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==", - "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/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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "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==", - "dev": true - }, - "node_modules/htmlparser2": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", - "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.2.1", - "entities": "^6.0.0" - } - }, - "node_modules/htmlparser2/node_modules/entities": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", - "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", - "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==" - }, - "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==", - "dev": true, - "dependencies": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/http-proxy-middleware": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.5.tgz", - "integrity": "sha512-GLZZm1X38BPY4lkXA01jhwxvDoOkkXqjgVyUzVxiEK4iuRu03PZoYHhHRwxnfhQMDuaxi3vVri0YgSro/1oWqg==", - "dev": true, - "dependencies": { - "@types/http-proxy": "^1.17.15", - "debug": "^4.3.6", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.3", - "is-plain-object": "^5.0.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, - "dependencies": { - "agent-base": "^7.1.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/hyperdyperid": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", - "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", - "dev": true, - "engines": { - "node": ">=10.18" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.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/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": "7.0.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz", - "integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/ignore-walk": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-7.0.0.tgz", - "integrity": "sha512-T4gbf83A4NH95zvhVYZc+qWocBBGlpzUXLPGurJggw/WIOwicfXJChLDP/iBZnN5WqROSu5Bm3hhle4z8a8YGQ==", - "dev": true, - "dependencies": { - "minimatch": "^9.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/ignore-walk/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": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/ignore-walk/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "dev": true, - "optional": true, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/immutable": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.2.tgz", - "integrity": "sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ==", - "dev": true - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-5.0.0.tgz", - "integrity": "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==", - "dev": true, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/injection-js": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/injection-js/-/injection-js-2.5.0.tgz", - "integrity": "sha512-UpY2ONt4xbht4GhSqQ2zMJ1rBIQq4uOY+DlR6aOeYyqK7xadXt7UQbJIyxmgk288bPMkIZKjViieHm0O0i72Jw==", - "dev": true, - "dependencies": { - "tslib": "^2.0.0" - } - }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "dev": true, - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.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==", - "dev": true, - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-network-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", - "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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" - } - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true - }, - "node_modules/is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "dev": true, - "dependencies": { - "is-inside-container": "^1.0.0" - }, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", - "dev": true, - "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", - "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", - "dev": true, - "dependencies": { - "@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": ">=10" - } - }, - "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==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jasmine-core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.5.0.tgz", - "integrity": "sha512-NHOvoPO6o9gVR6pwqEACTEpbgcH+JJ6QDypyymGbSUIFIFsMMbBJ/xsFNud8MSClfnWclXd7RQlAZBz7yVo5TQ==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "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": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jiti": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", - "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "dev": true - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", - "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", - "dev": true, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", - "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==" - }, - "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/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/karma": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz", - "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==", - "dev": true, - "dependencies": { - "@colors/colors": "1.5.0", - "body-parser": "^1.19.0", - "braces": "^3.0.2", - "chokidar": "^3.5.1", - "connect": "^3.7.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.1", - "glob": "^7.1.7", - "graceful-fs": "^4.2.6", - "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.8", - "lodash": "^4.17.21", - "log4js": "^6.4.1", - "mime": "^2.5.2", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.5", - "qjobs": "^1.2.0", - "range-parser": "^1.2.1", - "rimraf": "^3.0.2", - "socket.io": "^4.7.2", - "source-map": "^0.6.1", - "tmp": "^0.2.1", - "ua-parser-js": "^0.7.30", - "yargs": "^16.1.1" - }, - "bin": { - "karma": "bin/karma" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/karma-chrome-launcher": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", - "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", - "dev": true, - "dependencies": { - "which": "^1.2.1" - } - }, - "node_modules/karma-coverage": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", - "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.2.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.1", - "istanbul-reports": "^3.0.5", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/karma-coverage/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==", - "dev": 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" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma-coverage/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/karma-jasmine": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", - "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", - "dev": true, - "dependencies": { - "jasmine-core": "^4.1.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "karma": "^6.0.0" - } - }, - "node_modules/karma-jasmine-html-reporter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", - "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==", - "dev": true, - "peerDependencies": { - "jasmine-core": "^4.0.0 || ^5.0.0", - "karma": "^6.0.0", - "karma-jasmine": "^5.0.0" - } - }, - "node_modules/karma-jasmine/node_modules/jasmine-core": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz", - "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==", - "dev": true - }, - "node_modules/karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", - "dev": true, - "dependencies": { - "source-map-support": "^0.5.5" - } - }, - "node_modules/karma/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/karma/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==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/karma/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/karma/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/karma/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/karma/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/karma/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/karma/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/karma/node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", - "dev": true, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/karma/node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "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/karma/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "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" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/karma/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==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/launch-editor": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.10.0.tgz", - "integrity": "sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==", - "dev": true, - "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" - } - }, - "node_modules/less": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/less/-/less-4.2.2.tgz", - "integrity": "sha512-tkuLHQlvWUTeQ3doAqnHbNn8T6WX1KA8yvbKG9x4VtKtIjHsVKQZCH11zRgAfbDAXC2UNIg/K9BYAAcEzUIrNg==", - "dev": true, - "dependencies": { - "copy-anything": "^2.0.1", - "parse-node-version": "^1.0.1", - "tslib": "^2.3.0" - }, - "bin": { - "lessc": "bin/lessc" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^3.1.0", - "source-map": "~0.6.0" - } - }, - "node_modules/less-loader": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz", - "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==", - "dev": true, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "less": "^3.5.0 || ^4.0.0", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/less/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, - "optional": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/less/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "optional": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/less/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, - "optional": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/less/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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/license-webpack-plugin": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", - "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", - "dev": true, - "dependencies": { - "webpack-sources": "^3.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-sources": { - "optional": true - } - } - }, - "node_modules/lightningcss": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", - "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-darwin-arm64": "1.30.1", - "lightningcss-darwin-x64": "1.30.1", - "lightningcss-freebsd-x64": "1.30.1", - "lightningcss-linux-arm-gnueabihf": "1.30.1", - "lightningcss-linux-arm64-gnu": "1.30.1", - "lightningcss-linux-arm64-musl": "1.30.1", - "lightningcss-linux-x64-gnu": "1.30.1", - "lightningcss-linux-x64-musl": "1.30.1", - "lightningcss-win32-arm64-msvc": "1.30.1", - "lightningcss-win32-x64-msvc": "1.30.1" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", - "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", - "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", - "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", - "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", - "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", - "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", - "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", - "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", - "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", - "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/listr2": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", - "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==", - "dev": true, - "dependencies": { - "cli-truncate": "^4.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^6.1.0", - "rfdc": "^1.4.1", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/listr2/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/listr2/node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", - "dev": true - }, - "node_modules/listr2/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/lmdb": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.2.6.tgz", - "integrity": "sha512-SuHqzPl7mYStna8WRotY8XX/EUZBjjv3QyKIByeCLFfC9uXT/OIHByEcA07PzbMfQAM0KYJtLgtpMRlIe5dErQ==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "dependencies": { - "msgpackr": "^1.11.2", - "node-addon-api": "^6.1.0", - "node-gyp-build-optional-packages": "5.2.2", - "ordered-binary": "^1.5.3", - "weak-lru-cache": "^1.2.2" - }, - "bin": { - "download-lmdb-prebuilds": "bin/download-prebuilds.js" - }, - "optionalDependencies": { - "@lmdb/lmdb-darwin-arm64": "3.2.6", - "@lmdb/lmdb-darwin-x64": "3.2.6", - "@lmdb/lmdb-linux-arm": "3.2.6", - "@lmdb/lmdb-linux-arm64": "3.2.6", - "@lmdb/lmdb-linux-x64": "3.2.6", - "@lmdb/lmdb-win32-x64": "3.2.6" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", - "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", - "dev": true, - "engines": { - "node": ">= 12.13.0" - } - }, - "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/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "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==", - "dev": true - }, - "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==", - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", - "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", - "dev": true, - "dependencies": { - "ansi-escapes": "^7.0.0", - "cli-cursor": "^5.0.0", - "slice-ansi": "^7.1.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/ansi-escapes": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", - "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", - "dev": true, - "dependencies": { - "environment": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/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/log-update/node_modules/is-fullwidth-code-point": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", - "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", - "dev": true, - "dependencies": { - "get-east-asian-width": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", - "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/log4js": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", - "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", - "dev": true, - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "flatted": "^3.2.7", - "rfdc": "^1.3.0", - "streamroller": "^3.1.5" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/long": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", - "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==" - }, - "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==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-fetch-happen": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", - "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", - "dev": true, - "dependencies": { - "@npmcli/agent": "^3.0.0", - "cacache": "^19.0.1", - "http-cache-semantics": "^4.1.1", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^1.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "ssri": "^12.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/make-fetch-happen/node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.2.tgz", - "integrity": "sha512-NgYhCOWgovOXSzvYgUW0LQ7Qy72rWQMGGFJDoWg4G30RHd3z77VbYdtJ4fembJXBy8pMIUA31XNAupobOQlwdg==", - "dev": true, - "dependencies": { - "@jsonjoy.com/json-pack": "^1.0.3", - "@jsonjoy.com/util": "^1.3.0", - "tree-dump": "^1.0.1", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">= 4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "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" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/mimic-function": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", - "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", - "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", - "dev": true, - "dependencies": { - "schema-utils": "^4.0.0", - "tapable": "^2.2.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-fetch": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", - "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^3.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush/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": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-flush/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/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/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": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/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/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/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": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/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/minizlib": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", - "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", - "dependencies": { - "minipass": "^7.1.2" - }, - "engines": { - "node": ">= 18" - } - }, - "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==", - "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "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/msgpackr": { - "version": "1.11.4", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.4.tgz", - "integrity": "sha512-uaff7RG9VIC4jacFW9xzL3jc0iM32DNHe4jYVycBcjUePT/Klnfj7pqtWJt9khvDFizmjN2TlYniYmSS2LIaZg==", - "dev": true, - "optional": true, - "optionalDependencies": { - "msgpackr-extract": "^3.0.2" - } - }, - "node_modules/msgpackr-extract": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", - "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "dependencies": { - "node-gyp-build-optional-packages": "5.2.2" - }, - "bin": { - "download-msgpackr-prebuilds": "bin/download-prebuilds.js" - }, - "optionalDependencies": { - "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" - } - }, - "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==", - "dev": true, - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/mute-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", - "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", - "dev": true, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/nanostores": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/nanostores/-/nanostores-0.11.4.tgz", - "integrity": "sha512-k1oiVNN4hDK8NcNERSZLQiMfRzEGtfnvZvdBvey3SQbgn8Dcrk0h1I6vpxApjb10PFUflZrgJ2WEZyJQ+5v7YQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "engines": { - "node": "^18.0.0 || >=20.0.0" - } - }, - "node_modules/needle": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", - "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", - "dev": true, - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" - } - }, - "node_modules/needle/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==", - "dev": true, - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/ng-packagr": { - "version": "19.2.2", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.2.2.tgz", - "integrity": "sha512-dFuwFsDJMBSd1YtmLLcX5bNNUCQUlRqgf34aXA+79PmkOP+0eF8GP2949wq3+jMjmFTNm80Oo8IUYiSLwklKCQ==", - "dev": true, - "dependencies": { - "@rollup/plugin-json": "^6.1.0", - "@rollup/wasm-node": "^4.24.0", - "ajv": "^8.17.1", - "ansi-colors": "^4.1.3", - "browserslist": "^4.22.1", - "chokidar": "^4.0.1", - "commander": "^13.0.0", - "convert-source-map": "^2.0.0", - "dependency-graph": "^1.0.0", - "esbuild": "^0.25.0", - "fast-glob": "^3.3.2", - "find-cache-dir": "^3.3.2", - "injection-js": "^2.4.0", - "jsonc-parser": "^3.3.1", - "less": "^4.2.0", - "ora": "^5.1.0", - "piscina": "^4.7.0", - "postcss": "^8.4.47", - "rxjs": "^7.8.1", - "sass": "^1.81.0" - }, - "bin": { - "ng-packagr": "cli/main.js" - }, - "engines": { - "node": "^18.19.1 || >=20.11.1" - }, - "optionalDependencies": { - "rollup": "^4.24.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^19.0.0 || ^19.1.0-next.0 || ^19.2.0-next.0", - "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", - "tslib": "^2.3.0", - "typescript": ">=5.5 <5.9" - }, - "peerDependenciesMeta": { - "tailwindcss": { - "optional": true - } - } - }, - "node_modules/ng-packagr/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==", - "dev": true - }, - "node_modules/ng-packagr/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==", - "dev": true, - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/avajs/find-cache-dir?sponsor=1" - } - }, - "node_modules/ng-packagr/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" - } - }, - "node_modules/ng-packagr/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" - } - }, - "node_modules/ng-packagr/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==", - "dev": true, - "dependencies": { - "semver": "^6.0.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ng-packagr/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/ng-packagr/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" - } - }, - "node_modules/ng-packagr/node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ng-packagr/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==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ng-packagr/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", - "dev": true, - "optional": true - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true, - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-gyp": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.2.0.tgz", - "integrity": "sha512-T0S1zqskVUSxcsSTkAsLc7xCycrRYmtDHadDinzocrThjyQCn5kMlEBSj6H4qDbgsIOSLmmlRIeb0lZXj+UArA==", - "dev": true, - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^14.0.3", - "nopt": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "tar": "^7.4.3", - "tinyglobby": "^0.2.12", - "which": "^5.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/node-gyp-build-optional-packages": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", - "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", - "dev": true, - "optional": true, - "dependencies": { - "detect-libc": "^2.0.1" - }, - "bin": { - "node-gyp-build-optional-packages": "bin.js", - "node-gyp-build-optional-packages-optional": "optional.js", - "node-gyp-build-optional-packages-test": "build-test.js" - } - }, - "node_modules/node-gyp/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/node-gyp/node_modules/which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "dev": true, - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true - }, - "node_modules/nopt": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", - "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", - "dev": true, - "dependencies": { - "abbrev": "^3.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-bundled": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz", - "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==", - "dev": true, - "dependencies": { - "npm-normalize-package-bin": "^4.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-install-checks": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.1.tgz", - "integrity": "sha512-u6DCwbow5ynAX5BdiHQ9qvexme4U3qHW3MWe5NqH+NeBm0LbiH6zvGjNNew1fY+AZZUtVHbOPF3j7mJxbUzpXg==", - "dev": true, - "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-normalize-package-bin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", - "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", - "dev": true, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-package-arg": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", - "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", - "dev": true, - "dependencies": { - "hosted-git-info": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^6.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-packlist": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-9.0.0.tgz", - "integrity": "sha512-8qSayfmHJQTx3nJWYbbUmflpyarbLMBc6LCAjYsiGtXxDB68HaZpb8re6zeaLGxZzDuMdhsg70jryJe+RrItVQ==", - "dev": true, - "dependencies": { - "ignore-walk": "^7.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-pick-manifest": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz", - "integrity": "sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==", - "dev": true, - "dependencies": { - "npm-install-checks": "^7.1.0", - "npm-normalize-package-bin": "^4.0.0", - "npm-package-arg": "^12.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/npm-registry-fetch": { - "version": "18.0.2", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz", - "integrity": "sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==", - "dev": true, - "dependencies": { - "@npmcli/redact": "^3.0.0", - "jsonparse": "^1.3.1", - "make-fetch-happen": "^14.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minizlib": "^3.0.1", - "npm-package-arg": "^12.0.0", - "proc-log": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.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==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "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/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==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", - "dev": true, - "dependencies": { - "mimic-function": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", - "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", - "dev": true, - "dependencies": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/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==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/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==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/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/ora/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/ordered-binary": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.3.tgz", - "integrity": "sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA==", - "dev": true, - "optional": true - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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/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/p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", - "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", - "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", - "dev": true, - "dependencies": { - "@types/retry": "0.12.2", - "is-network-error": "^1.0.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry/node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true - }, - "node_modules/pacote": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-20.0.0.tgz", - "integrity": "sha512-pRjC5UFwZCgx9kUFDVM9YEahv4guZ1nSLqwmWiLUnDbGsjs+U5w7z6Uc8HNR1a6x8qnu5y9xtGE6D1uAuYz+0A==", - "dev": true, - "dependencies": { - "@npmcli/git": "^6.0.0", - "@npmcli/installed-package-contents": "^3.0.0", - "@npmcli/package-json": "^6.0.0", - "@npmcli/promise-spawn": "^8.0.0", - "@npmcli/run-script": "^9.0.0", - "cacache": "^19.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^12.0.0", - "npm-packlist": "^9.0.0", - "npm-pick-manifest": "^10.0.0", - "npm-registry-fetch": "^18.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "sigstore": "^3.0.0", - "ssri": "^12.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "bin/index.js" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/pacote/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/pacote/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": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/pacote/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": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pacote/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/pacote/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/pacote/node_modules/tar/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": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/pacote/node_modules/tar/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": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/pacote/node_modules/tar/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/pacote/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/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-json/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", - "dev": true, - "dependencies": { - "entities": "^6.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-html-rewriting-stream": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", - "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", - "dev": true, - "dependencies": { - "entities": "^4.3.0", - "parse5": "^7.0.0", - "parse5-sax-parser": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-sax-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", - "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", - "dev": true, - "dependencies": { - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5/node_modules/entities": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", - "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/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/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "dependencies": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, - "node_modules/path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==" - }, - "node_modules/path-type": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", - "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" - }, - "node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "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, - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/piscina": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.8.0.tgz", - "integrity": "sha512-EZJb+ZxDrQf3dihsUL7p42pjNyrNIFJCrRHPMgxu/svsj+P3xS3fuEWp7k2+rfsavfl1N0G29b1HGs7J0m8rZA==", - "dev": true, - "optionalDependencies": { - "@napi-rs/nice": "^1.0.1" - } - }, - "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/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", - "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.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-loader": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.1.1.tgz", - "integrity": "sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==", - "dev": true, - "dependencies": { - "cosmiconfig": "^9.0.0", - "jiti": "^1.20.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/postcss-loader/node_modules/jiti": { - "version": "1.21.7", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", - "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", - "dev": true, - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", - "dev": true - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", - "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^7.0.0", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", - "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^7.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=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==", - "dev": true - }, - "node_modules/proc-log": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", - "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", - "dev": true, - "engines": { - "node": "^18.17.0 || >=20.5.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==", - "dev": true - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/protobufjs": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.2.tgz", - "integrity": "sha512-f2ls6rpO6G153Cy+o2XQ+Y0sARLOZ17+OGVLHrc3VUKcLHYKEKWbkSujdBWQXM7gKn5NTfp0XnRPZn1MIu8n9w==", - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "optional": true - }, - "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/qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true, - "engines": { - "node": ">=0.9" - } - }, - "node_modules/qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "dependencies": { - "side-channel": "^1.0.6" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "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==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "devOptional": true, - "engines": { - "node": ">= 14.18.0" - }, - "funding": { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - }, - "node_modules/reflect-metadata": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", - "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true - }, - "node_modules/regex-parser": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.1.tgz", - "integrity": "sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ==", - "dev": true - }, - "node_modules/regexpu-core": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", - "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.0", - "regjsgen": "^0.8.0", - "regjsparser": "^0.12.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", - "dev": true - }, - "node_modules/regjsparser": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", - "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", - "dev": true, - "dependencies": { - "jsesc": "~3.0.2" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "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" - } - }, - "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==", - "dev": true - }, - "node_modules/resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "dev": true, - "dependencies": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-url-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", - "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", - "dev": true, - "dependencies": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.14", - "source-map": "0.6.1" - }, - "engines": { - "node": ">=12" - } - }, - "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==", - "dev": true, - "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/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/restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", - "dev": true, - "dependencies": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "dev": true - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "deprecated": "Rimraf versions prior to v4 are no longer supported", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz", - "integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==", - "dev": true, - "dependencies": { - "@types/estree": "1.0.6" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.34.8", - "@rollup/rollup-android-arm64": "4.34.8", - "@rollup/rollup-darwin-arm64": "4.34.8", - "@rollup/rollup-darwin-x64": "4.34.8", - "@rollup/rollup-freebsd-arm64": "4.34.8", - "@rollup/rollup-freebsd-x64": "4.34.8", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", - "@rollup/rollup-linux-arm-musleabihf": "4.34.8", - "@rollup/rollup-linux-arm64-gnu": "4.34.8", - "@rollup/rollup-linux-arm64-musl": "4.34.8", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", - "@rollup/rollup-linux-riscv64-gnu": "4.34.8", - "@rollup/rollup-linux-s390x-gnu": "4.34.8", - "@rollup/rollup-linux-x64-gnu": "4.34.8", - "@rollup/rollup-linux-x64-musl": "4.34.8", - "@rollup/rollup-win32-arm64-msvc": "4.34.8", - "@rollup/rollup-win32-ia32-msvc": "4.34.8", - "@rollup/rollup-win32-x64-msvc": "4.34.8", - "fsevents": "~2.3.2" - } - }, - "node_modules/rollup/node_modules/@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true - }, - "node_modules/run-applescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", - "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", - "dev": true, - "engines": { - "node": ">=18" - }, - "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==", - "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": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxfire": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/rxfire/-/rxfire-6.1.0.tgz", - "integrity": "sha512-NezdjeY32VZcCuGO0bbb8H8seBsJSCaWdUwGsHNzUcAOHR0VGpzgPtzjuuLXr8R/iemkqSzbx/ioS7VwV43ynA==", - "peerDependencies": { - "firebase": "^9.0.0 || ^10.0.0 || ^11.0.0", - "rxjs": "^6.0.0 || ^7.0.0" - } - }, - "node_modules/rxjs": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "node_modules/sass": { - "version": "1.85.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.85.0.tgz", - "integrity": "sha512-3ToiC1xZ1Y8aU7+CkgCI/tqyuPXEmYGJXO7H4uqp0xkLXUqp88rQQ4j1HmP37xSJLbCJPaIiv+cT1y+grssrww==", - "dev": true, - "dependencies": { - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - }, - "optionalDependencies": { - "@parcel/watcher": "^2.4.1" - } - }, - "node_modules/sass-loader": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.5.tgz", - "integrity": "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==", - "dev": true, - "dependencies": { - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/sax": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", - "dev": true, - "optional": true - }, - "node_modules/schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", - "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": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/schema-utils/node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "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==", - "dev": true - }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", - "dev": true, - "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", - "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/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/send/node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", - "dependencies": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" - }, - "engines": { - "node": ">= 0.8.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/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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", - "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "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/sigstore": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-3.1.0.tgz", - "integrity": "sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q==", - "dev": true, - "dependencies": { - "@sigstore/bundle": "^3.1.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.4.0", - "@sigstore/sign": "^3.1.0", - "@sigstore/tuf": "^3.1.0", - "@sigstore/verify": "^2.1.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socket.io": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", - "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", - "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "cors": "~2.8.5", - "debug": "~4.3.2", - "engine.io": "~6.6.0", - "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", - "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", - "dev": true, - "dependencies": { - "debug": "~4.3.4", - "ws": "~8.17.1" - } - }, - "node_modules/socket.io-adapter/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", - "dev": true, - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/socket.io-parser/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/socket.io/node_modules/debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/socks": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", - "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", - "dev": true, - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", - "dev": true, - "dependencies": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" - }, - "engines": { - "node": ">= 14" - } - }, - "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.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", - "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", - "dev": true, - "dependencies": { - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.72.1" - } - }, - "node_modules/source-map-loader/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==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "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.21", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", - "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", - "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==", - "dev": true, - "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==", - "dev": true, - "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.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "dev": true - }, - "node_modules/ssri": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", - "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^18.17.0 || >=20.5.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/streamroller": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", - "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", - "dev": true, - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "fs-extra": "^8.1.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "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-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dev": true, - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "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-cjs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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/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-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/tailwindcss": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.7.tgz", - "integrity": "sha512-kr1o/ErIdNhTz8uzAYL7TpaUuzKIE6QPQ4qmSdxnoX/lo+5wmUHQA6h3L5yIqEImSRnAAURDirLu/BgiXGPAhg==" - }, - "node_modules/tapable": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", - "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/tar": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", - "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", - "dependencies": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", - "bin": { - "mkdirp": "dist/cjs/src/bin.js" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/tar/node_modules/yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", - "engines": { - "node": ">=18" - } - }, - "node_modules/terser": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", - "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", - "dev": true, - "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.14", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", - "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", - "terser": "^5.31.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser/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==", - "dev": true - }, - "node_modules/thingies": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", - "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", - "dev": true, - "engines": { - "node": ">=10.18" - }, - "peerDependencies": { - "tslib": "^2" - } - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "node_modules/tinyglobby": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", - "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", - "dev": true, - "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.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==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tree-dump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.3.tgz", - "integrity": "sha512-il+Cv80yVHFBwokQSfd4bldvr1Md951DpgAGfmhydt04L+YzHgubm2tQ7zueWDcGENKHq0ZvGFR/hjvNXilHEg==", - "dev": true, - "engines": { - "node": ">=10.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/streamich" - }, - "peerDependencies": { - "tslib": "2" - } - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "bin": { - "tree-kill": "cli.js" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" - }, - "node_modules/tuf-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-3.0.1.tgz", - "integrity": "sha512-+68OP1ZzSF84rTckf3FA95vJ1Zlx/uaXyiiKyPd1pA4rZNkpEvDAKmsu1xUSmbF/chCRYgZ6UZkDwC7PmzmAyA==", - "dev": true, - "dependencies": { - "@tufjs/models": "3.0.1", - "debug": "^4.3.6", - "make-fetch-happen": "^14.0.1" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "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-assert": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", - "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", - "dev": true - }, - "node_modules/typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/ua-parser-js": { - "version": "0.7.40", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.40.tgz", - "integrity": "sha512-us1E3K+3jJppDBa3Tl0L3MOJiGhe1C6P0+nIvQAFYbxlMAx0h81eOwLmU57xgqToduDDPx3y5QsdjPfDu+FgOQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "bin": { - "ua-parser-js": "script/cli.js" - }, - "engines": { - "node": "*" - } - }, - "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.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", - "dev": true, - "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==", - "dev": true, - "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.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", - "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicorn-magic": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", - "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/unique-filename": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", - "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", - "dev": true, - "dependencies": { - "unique-slug": "^5.0.0" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "node_modules/unique-slug": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", - "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^18.17.0 || >=20.5.0" - } - }, - "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/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/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", - "dev": true, - "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.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "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/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==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "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/validate-npm-package-name": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.0.tgz", - "integrity": "sha512-d7KLgL1LD3U3fgnvWEY1cQXoO/q6EQ1BSz48Sa149V/5zVTAbgmZIpyI8TRi6U9/JNyeYLlTKsEMPtLC27RFUg==", - "dev": true, - "engines": { - "node": "^18.17.0 || >=20.5.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/vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", - "dev": true, - "peer": true, - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.0.tgz", - "integrity": "sha512-KxN+zCjOYHGwCl4UCtSfZ6jrq/qi88JDUtiEFk8LELEHq2Egfc/FgW+jItZiOLRuQfb/3xJSgFuNPC9jzggX+A==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-android-arm64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.0.tgz", - "integrity": "sha512-yDvqx3lWlcugozax3DItKJI5j05B0d4Kvnjx+5mwiUpWramVvmAByYigMplaoAQ3pvdprGCTCE03eduqE/8mPQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.0.tgz", - "integrity": "sha512-2KOU574vD3gzcPSjxO0eyR5iWlnxxtmW1F5CkNOHmMlueKNCQkxR6+ekgWyVnz6zaZihpUNkGxjsYrkTJKhkaw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-darwin-x64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.0.tgz", - "integrity": "sha512-gE5ACNSxHcEZyP2BA9TuTakfZvULEW4YAOtxl/A/YDbIir/wPKukde0BNPlnBiP88ecaN4BJI2TtAd+HKuZPQQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.0.tgz", - "integrity": "sha512-GSxU6r5HnWij7FoSo7cZg3l5GPg4HFLkzsFFh0N/b16q5buW1NAWuCJ+HMtIdUEi6XF0qH+hN0TEd78laRp7Dg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.0.tgz", - "integrity": "sha512-KGiGKGDg8qLRyOWmk6IeiHJzsN/OYxO6nSbT0Vj4MwjS2XQy/5emsmtoqLAabqrohbgLWJ5GV3s/ljdrIr8Qjg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.0.tgz", - "integrity": "sha512-46OzWeqEVQyX3N2/QdiU/CMXYDH/lSHpgfBkuhl3igpZiaB3ZIfSjKuOnybFVBQzjsLwkus2mjaESy8H41SzvA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.0.tgz", - "integrity": "sha512-lfgW3KtQP4YauqdPpcUZHPcqQXmTmH4nYU0cplNeW583CMkAGjtImw4PKli09NFi2iQgChk4e9erkwlfYem6Lg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.0.tgz", - "integrity": "sha512-nn8mEyzMbdEJzT7cwxgObuwviMx6kPRxzYiOl6o/o+ChQq23gfdlZcUNnt89lPhhz3BYsZ72rp0rxNqBSfqlqw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.0.tgz", - "integrity": "sha512-l+QK99je2zUKGd31Gh+45c4pGDAqZSuWQiuRFCdHYC2CSiO47qUWsCcenrI6p22hvHZrDje9QjwSMAFL3iwXwQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.0.tgz", - "integrity": "sha512-WbnJaxPv1gPIm6S8O/Wg+wfE/OzGSXlBMbOe4ie+zMyykMOeqmgD1BhPxZQuDqwUN+0T/xOFtL2RUWBspnZj3w==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.0.tgz", - "integrity": "sha512-eRDWR5t67/b2g8Q/S8XPi0YdbKcCs4WQ8vklNnUYLaSWF+Cbv2axZsp4jni6/j7eKvMLYCYdcsv8dcU+a6QNFg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.0.tgz", - "integrity": "sha512-TWrZb6GF5jsEKG7T1IHwlLMDRy2f3DPqYldmIhnA2DVqvvhY2Ai184vZGgahRrg8k9UBWoSlHv+suRfTN7Ua4A==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.0.tgz", - "integrity": "sha512-/L3pW48SxrWAlVsKCN0dGLB2bi8Nv8pr5S5ocSM+S0XCn5RCVCXqi8GVtHFsOBBCSeR+u9brV2zno5+mg3S4Aw==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.0.tgz", - "integrity": "sha512-XMLeKjyH8NsEDCRptf6LO8lJk23o9wvB+dJwcXMaH6ZQbbkHu2dbGIUindbMtRN6ux1xKi16iXWu6q9mu7gDhQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.0.tgz", - "integrity": "sha512-m/P7LycHZTvSQeXhFmgmdqEiTqSV80zn6xHaQ1JSqwCtD1YGtwEK515Qmy9DcB2HK4dOUVypQxvhVSy06cJPEg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.0.tgz", - "integrity": "sha512-4yodtcOrFHpbomJGVEqZ8fzD4kfBeCbpsUy5Pqk4RluXOdsWdjLnjhiKy2w3qzcASWd04fp52Xz7JKarVJ5BTg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.0.tgz", - "integrity": "sha512-tmazCrAsKzdkXssEc65zIE1oC6xPHwfy9d5Ta25SRCDOZS+I6RypVVShWALNuU9bxIfGA0aqrmzlzoM5wO5SPQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/vite/node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.0.tgz", - "integrity": "sha512-h1J+Yzjo/X+0EAvR2kIXJDuTuyT7drc+t2ALY0nIcGPbTatNOf0VWdhEA2Z4AAjv6X1NJV7SYo5oCTYRJhSlVA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "peer": true - }, - "node_modules/vite/node_modules/rollup": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.0.tgz", - "integrity": "sha512-HqMFpUbWlf/tvcxBFNKnJyzc7Lk+XO3FGc3pbNBLqEbOz0gPLRgcrlS3UF4MfUrVlstOaP/q0kM6GVvi+LrLRg==", - "dev": true, - "peer": true, - "dependencies": { - "@types/estree": "1.0.7" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.41.0", - "@rollup/rollup-android-arm64": "4.41.0", - "@rollup/rollup-darwin-arm64": "4.41.0", - "@rollup/rollup-darwin-x64": "4.41.0", - "@rollup/rollup-freebsd-arm64": "4.41.0", - "@rollup/rollup-freebsd-x64": "4.41.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.41.0", - "@rollup/rollup-linux-arm-musleabihf": "4.41.0", - "@rollup/rollup-linux-arm64-gnu": "4.41.0", - "@rollup/rollup-linux-arm64-musl": "4.41.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.41.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.41.0", - "@rollup/rollup-linux-riscv64-gnu": "4.41.0", - "@rollup/rollup-linux-riscv64-musl": "4.41.0", - "@rollup/rollup-linux-s390x-gnu": "4.41.0", - "@rollup/rollup-linux-x64-gnu": "4.41.0", - "@rollup/rollup-linux-x64-musl": "4.41.0", - "@rollup/rollup-win32-arm64-msvc": "4.41.0", - "@rollup/rollup-win32-ia32-msvc": "4.41.0", - "@rollup/rollup-win32-x64-msvc": "4.41.0", - "fsevents": "~2.3.2" - } - }, - "node_modules/void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", - "dev": true, - "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==", - "dev": true, - "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==", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/weak-lru-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", - "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", - "dev": true, - "optional": true - }, - "node_modules/web-vitals": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz", - "integrity": "sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==" - }, - "node_modules/webpack": { - "version": "5.98.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz", - "integrity": "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.6", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.14.0", - "browserslist": "^4.24.0", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^4.3.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.11", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-middleware": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", - "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", - "dev": true, - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^4.6.0", - "mime-types": "^2.1.31", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.0.tgz", - "integrity": "sha512-90SqqYXA2SK36KcT6o1bvwvZfJFcmoamqeJY7+boioffX9g9C0wjjJRGUrQIuh43pb0ttX7+ssavmj/WN2RHtA==", - "dev": true, - "dependencies": { - "@types/bonjour": "^3.5.13", - "@types/connect-history-api-fallback": "^1.5.4", - "@types/express": "^4.17.21", - "@types/serve-index": "^1.9.4", - "@types/serve-static": "^1.15.5", - "@types/sockjs": "^0.3.36", - "@types/ws": "^8.5.10", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.2.1", - "chokidar": "^3.6.0", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "express": "^4.21.2", - "graceful-fs": "^4.2.6", - "http-proxy-middleware": "^2.0.7", - "ipaddr.js": "^2.1.0", - "launch-editor": "^2.6.1", - "open": "^10.0.3", - "p-retry": "^6.2.0", - "schema-utils": "^4.2.0", - "selfsigned": "^2.4.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^7.4.2", - "ws": "^8.18.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/webpack-dev-server/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/webpack-dev-server/node_modules/http-proxy-middleware": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", - "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", - "dev": true, - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/ipaddr.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-dev-server/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/webpack-dev-server/node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", - "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", - "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/webpack-merge": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", - "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.1" - }, - "engines": { - "node": ">=18.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==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-subresource-integrity": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", - "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", - "dev": true, - "dependencies": { - "typed-assert": "^1.0.8" - }, - "engines": { - "node": ">= 12" - }, - "peerDependencies": { - "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", - "webpack": "^5.12.0" - }, - "peerDependenciesMeta": { - "html-webpack-plugin": { - "optional": true - } - } - }, - "node_modules/webpack/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "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/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true - }, - "node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-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/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/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/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "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/xhr2": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.2.1.tgz", - "integrity": "sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw==", - "engines": { - "node": ">= 6" - } - }, - "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==", - "dev": true - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/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/yargs/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/yargs/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/yargs/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/yocto-queue": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", - "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/yoctocolors-cjs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz", - "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "3.25.7", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.7.tgz", - "integrity": "sha512-YGdT1cVRmKkOg6Sq7vY7IkxdphySKnXhaUmFI4r4FcuFVNgpCb9tZfNwXbT6BPjD5oz0nubFsoo9pIqKrDcCvg==", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zone.js": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.0.tgz", - "integrity": "sha512-9oxn0IIjbCZkJ67L+LkhYWRyAy7axphb3VgE2MBDlOqnmHMPWGYMxJxBYFueFq/JGY2GMwS0rU+UCLunEmy5UA==" - } - }, - "dependencies": { - "@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.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "requires": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "@angular-devkit/architect": { - "version": "0.1902.12", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1902.12.tgz", - "integrity": "sha512-LfUc7k84YL290hAxsG+FvjQpXugQXyw5aDzrQQB4iTYhBgaABu2aaNOU4eu3JH+F8NeXd2EBF/YMr2LDSkYlMw==", - "dev": true, - "requires": { - "@angular-devkit/core": "19.2.12", - "rxjs": "7.8.1" - }, - "dependencies": { - "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - } - } - }, - "@angular-devkit/build-angular": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-19.2.12.tgz", - "integrity": "sha512-gPx3Vi7QFzHkSV388en6VqSqasojitJKuKmgTMPOV5keLtpOylPv3rjnr8oO9rYbYmLsT/WTUsP7bYiZhrr19Q==", - "dev": true, - "requires": { - "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1902.12", - "@angular-devkit/build-webpack": "0.1902.12", - "@angular-devkit/core": "19.2.12", - "@angular/build": "19.2.12", - "@babel/core": "7.26.10", - "@babel/generator": "7.26.10", - "@babel/helper-annotate-as-pure": "7.25.9", - "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-transform-async-generator-functions": "7.26.8", - "@babel/plugin-transform-async-to-generator": "7.25.9", - "@babel/plugin-transform-runtime": "7.26.10", - "@babel/preset-env": "7.26.9", - "@babel/runtime": "7.26.10", - "@discoveryjs/json-ext": "0.6.3", - "@ngtools/webpack": "19.2.12", - "@vitejs/plugin-basic-ssl": "1.2.0", - "ansi-colors": "4.1.3", - "autoprefixer": "10.4.20", - "babel-loader": "9.2.1", - "browserslist": "^4.21.5", - "copy-webpack-plugin": "12.0.2", - "css-loader": "7.1.2", - "esbuild": "0.25.4", - "esbuild-wasm": "0.25.4", - "fast-glob": "3.3.3", - "http-proxy-middleware": "3.0.5", - "istanbul-lib-instrument": "6.0.3", - "jsonc-parser": "3.3.1", - "karma-source-map-support": "1.4.0", - "less": "4.2.2", - "less-loader": "12.2.0", - "license-webpack-plugin": "4.0.2", - "loader-utils": "3.3.1", - "mini-css-extract-plugin": "2.9.2", - "open": "10.1.0", - "ora": "5.4.1", - "picomatch": "4.0.2", - "piscina": "4.8.0", - "postcss": "8.5.2", - "postcss-loader": "8.1.1", - "resolve-url-loader": "5.0.0", - "rxjs": "7.8.1", - "sass": "1.85.0", - "sass-loader": "16.0.5", - "semver": "7.7.1", - "source-map-loader": "5.0.0", - "source-map-support": "0.5.21", - "terser": "5.39.0", - "tree-kill": "1.2.2", - "tslib": "2.8.1", - "webpack": "5.98.0", - "webpack-dev-middleware": "7.4.2", - "webpack-dev-server": "5.2.0", - "webpack-merge": "6.0.1", - "webpack-subresource-integrity": "5.1.0" - }, - "dependencies": { - "postcss": { - "version": "8.5.2", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.2.tgz", - "integrity": "sha512-MjOadfU3Ys9KYoX0AdkBlFEF1Vx37uCCeN4ZHnmwm9FfpbsGWMZeBLMmmpY+6Ocqod7mkdZ0DT31OlbsFrLlkA==", - "dev": true, - "requires": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - } - }, - "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - } - } - }, - "@angular-devkit/build-webpack": { - "version": "0.1902.12", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1902.12.tgz", - "integrity": "sha512-JNwvzaN2RVbG1IClFPXhNpysVwf55nWmVsNN5iQHRXkD3kpqnaOfhUBtlhBBjLf/i6cwKEne2TI8zciaEYr+iw==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.1902.12", - "rxjs": "7.8.1" - }, - "dependencies": { - "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dev": true, - "requires": { - "tslib": "^2.1.0" - } - } - } - }, - "@angular-devkit/core": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-19.2.12.tgz", - "integrity": "sha512-v5pdfZHZ8MTZozfpkhKoPFBpXQW+2GFbTfdyis8FBtevJWCbIsCR3xhodgI4jwzkSEAraN4oVtWvSytdNyBC6A==", - "requires": { - "ajv": "8.17.1", - "ajv-formats": "3.0.1", - "jsonc-parser": "3.3.1", - "picomatch": "4.0.2", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "dependencies": { - "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "requires": { - "tslib": "^2.1.0" - } - } - } - }, - "@angular-devkit/schematics": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-19.2.12.tgz", - "integrity": "sha512-vK5NI/asi1snWFkw02DpmC8tLq6u5ZbUwwXxgALKuVwGl3g1VLzrHrkoSCrcsOO9Nu6GQOPbxax2lR/DICmytg==", - "requires": { - "@angular-devkit/core": "19.2.12", - "jsonc-parser": "3.3.1", - "magic-string": "0.30.17", - "ora": "5.4.1", - "rxjs": "7.8.1" - }, - "dependencies": { - "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "requires": { - "tslib": "^2.1.0" - } - } - } - }, - "@angular/animations": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-19.2.11.tgz", - "integrity": "sha512-NR33bZVho7EgTc1fmCnmkwc2/U266n311Wfvk7VVtz+0Q9WliNdDLBon654V8IWSKvlqKXyU3W+fp0VjH/FvSw==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/build": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@angular/build/-/build-19.2.12.tgz", - "integrity": "sha512-G28ux1T5QDlWporwupWbcodBN3rcyHfK2Dh5M3UC5hj0GstpfEHcpBHxawZzIxhqPKy//tdVLlzORUgvAwnqbA==", - "dev": true, - "requires": { - "@ampproject/remapping": "2.3.0", - "@angular-devkit/architect": "0.1902.12", - "@babel/core": "7.26.10", - "@babel/helper-annotate-as-pure": "7.25.9", - "@babel/helper-split-export-declaration": "7.24.7", - "@babel/plugin-syntax-import-attributes": "7.26.0", - "@inquirer/confirm": "5.1.6", - "@vitejs/plugin-basic-ssl": "1.2.0", - "beasties": "0.3.2", - "browserslist": "^4.23.0", - "esbuild": "0.25.4", - "fast-glob": "3.3.3", - "https-proxy-agent": "7.0.6", - "istanbul-lib-instrument": "6.0.3", - "listr2": "8.2.5", - "lmdb": "3.2.6", - "magic-string": "0.30.17", - "mrmime": "2.0.1", - "parse5-html-rewriting-stream": "7.0.0", - "picomatch": "4.0.2", - "piscina": "4.8.0", - "rollup": "4.34.8", - "sass": "1.85.0", - "semver": "7.7.1", - "source-map-support": "0.5.21", - "vite": "6.2.7", - "watchpack": "2.4.2" - }, - "dependencies": { - "vite": { - "version": "6.2.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.2.7.tgz", - "integrity": "sha512-qg3LkeuinTrZoJHHF94coSaTfIPyBYoywp+ys4qu20oSJFbKMYoIJo0FWJT9q6Vp49l6z9IsJRbHdcGtiKbGoQ==", - "dev": true, - "requires": { - "esbuild": "^0.25.0", - "fsevents": "~2.3.3", - "postcss": "^8.5.3", - "rollup": "^4.30.1" - } - } - } - }, - "@angular/cli": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-19.2.12.tgz", - "integrity": "sha512-cZkHpM16uh3VouHG1XdWSk0ZWisQRxMVADk5IJlM9jMcPqnFyJwD/UXCS+XTaW3POpNDwsmbh2UB9Xabdgo7rw==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.1902.12", - "@angular-devkit/core": "19.2.12", - "@angular-devkit/schematics": "19.2.12", - "@inquirer/prompts": "7.3.2", - "@listr2/prompt-adapter-inquirer": "2.0.18", - "@schematics/angular": "19.2.12", - "@yarnpkg/lockfile": "1.1.0", - "ini": "5.0.0", - "jsonc-parser": "3.3.1", - "listr2": "8.2.5", - "npm-package-arg": "12.0.2", - "npm-pick-manifest": "10.0.0", - "pacote": "20.0.0", - "resolve": "1.22.10", - "semver": "7.7.1", - "symbol-observable": "4.0.0", - "yargs": "17.7.2" - } - }, - "@angular/common": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-19.2.11.tgz", - "integrity": "sha512-/ZnF2Nfp6S6TAu3VlvUAIp4NVd81WE1Q95wuwSSuoEx2aSyXzI+1myyKWSYe/jYCyGuppmocjTciEh8mAInmOw==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/compiler": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-19.2.11.tgz", - "integrity": "sha512-/ZGFAEO2TyqkaE4neR8lGL9I2QeO2sRVFqulQv7Bu8zKTPStjcsFCwNkp+TNX8Oq/1rLcY9XWAOsUk1//AZd8Q==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/compiler-cli": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-19.2.11.tgz", - "integrity": "sha512-15aoOg+qj7Z3Uap1JKHMy51y12M09AOnseDBa0SYKidSx15XwZi8d01hv7sRaQJX/6Ie5cug9GiAbLKts6R33w==", - "dev": true, - "requires": { - "@babel/core": "7.26.9", - "@jridgewell/sourcemap-codec": "^1.4.14", - "chokidar": "^4.0.0", - "convert-source-map": "^1.5.1", - "reflect-metadata": "^0.2.0", - "semver": "^7.0.0", - "tslib": "^2.3.0", - "yargs": "^17.2.1" - }, - "dependencies": { - "@babel/core": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", - "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.9", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.9", - "@babel/parser": "^7.26.9", - "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.9", - "@babel/types": "^7.26.9", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "dependencies": { - "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==", - "dev": true - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - } - } - }, - "@angular/core": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-19.2.11.tgz", - "integrity": "sha512-kmtJQB7B5F2V1JIzy1oBPS6WrRyedSYkuge+XoX1mCSFJDef8HRNd7GopnQ0Zaz0vOTGvCCkWvvaH/+7s2lmAQ==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/fire": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/@angular/fire/-/fire-19.1.0.tgz", - "integrity": "sha512-yyELJQLxF56EoGW8HUxfATBUeX5rzNpt/PjNAhSlmWdQ12jXVkgGeWyWsl5gvUlxhpFKIt+EVp3nYvwIlzey6Q==", - "requires": { - "@angular-devkit/schematics": "^19.0.0", - "@schematics/angular": "^19.0.0", - "firebase": "^11.2.0", - "rxfire": "^6.1.0", - "tslib": "^2.3.0" - } - }, - "@angular/forms": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-19.2.11.tgz", - "integrity": "sha512-ZH9ccuT6rTirNSbiMRtGRkRrj69a2/+BVaa/kEpUHjh41wDQXxhOlOfPZd/sfj04QiAzIpsYmVJrmoV7/LxPSw==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/platform-browser": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-19.2.11.tgz", - "integrity": "sha512-wAPJtgzmxBEpW31sa2eg9QssCHBZ52Zc9nm6azTflDlOAyfm9bzqec7y3wqy5sgVue/qID2gzHqmpS3Nx3o0xg==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/platform-browser-dynamic": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-19.2.11.tgz", - "integrity": "sha512-1/0FmjSAvsK+A6gWLgEc60YMnWQchP9fP6y4sE1uQOThIgK+qLnLjZqZn7uOw8zMDBMtxB7SlepajnXftVXddw==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/platform-server": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/platform-server/-/platform-server-19.2.11.tgz", - "integrity": "sha512-RbIE99k6QRw1EDDFFpjwM1aVVZlZ6B6zXWJTcjLUTCkF2tcZd2zZH3/3qiENETlFFI4A4VE1zTTtZD3/29sJnA==", - "requires": { - "tslib": "^2.3.0", - "xhr2": "^0.2.0" - } - }, - "@angular/router": { - "version": "19.2.11", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-19.2.11.tgz", - "integrity": "sha512-nBwMwRgQ3s1c1CPItPnTJTf81NDOQHvK41r2MIJGHa3H9LONlcbY07q/9p49fqt/xn/dgoOmQTtJ22b/nbIJAQ==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@angular/ssr": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@angular/ssr/-/ssr-19.2.12.tgz", - "integrity": "sha512-RNi/u6Hbg8bJ1FYOUbjT5dmyfM+H5kok1MuRWvpSaVUpH2s/CMNQ/F9fw6vzay2Nr/qVHeq+eeYYY8QXn2ZbhA==", - "requires": { - "tslib": "^2.3.0" - } - }, - "@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - } - }, - "@babel/compat-data": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.2.tgz", - "integrity": "sha512-TUtMJYRPyUb/9aU8f3K0mjmjf6M9N5Woshn2CS6nqJSeJtTtQcpLUXjGt9vbF8ZGff0El99sWkLgzwW3VXnxZQ==", - "dev": true - }, - "@babel/core": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz", - "integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==", - "dev": true, - "requires": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.10", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.10", - "@babel/parser": "^7.26.10", - "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.10", - "@babel/types": "^7.26.10", - "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": { - "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==", - "dev": true - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/generator": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.10.tgz", - "integrity": "sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==", - "dev": true, - "requires": { - "@babel/parser": "^7.26.10", - "@babel/types": "^7.26.10", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", - "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", - "dev": true, - "requires": { - "@babel/types": "^7.25.9" - } - }, - "@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.27.2", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "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==", - "dev": true - } - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz", - "integrity": "sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-member-expression-to-functions": "^7.27.1", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/traverse": "^7.27.1", - "semver": "^6.3.1" - }, - "dependencies": { - "@babel/helper-annotate-as-pure": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", - "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", - "dev": true, - "requires": { - "@babel/types": "^7.27.1" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz", - "integrity": "sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "regexpu-core": "^6.2.0", - "semver": "^6.3.1" - }, - "dependencies": { - "@babel/helper-annotate-as-pure": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", - "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", - "dev": true, - "requires": { - "@babel/types": "^7.27.1" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "@babel/helper-define-polyfill-provider": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.4.tgz", - "integrity": "sha512-jljfR1rGnXXNWnmQg2K3+bvhkxB51Rl32QRaOTuwwjviGrHzIbSc8+x9CpraDtbT7mfyjXObULP4w/adunNwAw==", - "dev": true, - "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-member-expression-to-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz", - "integrity": "sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==", - "dev": true, - "requires": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - } - }, - "@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", - "dev": true, - "requires": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - } - }, - "@babel/helper-module-transforms": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz", - "integrity": "sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.27.1" - } - }, - "@babel/helper-optimise-call-expression": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz", - "integrity": "sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==", - "dev": true, - "requires": { - "@babel/types": "^7.27.1" - } - }, - "@babel/helper-plugin-utils": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", - "dev": true - }, - "@babel/helper-remap-async-to-generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz", - "integrity": "sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-wrap-function": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "dependencies": { - "@babel/helper-annotate-as-pure": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", - "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", - "dev": true, - "requires": { - "@babel/types": "^7.27.1" - } - } - } - }, - "@babel/helper-replace-supers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz", - "integrity": "sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==", - "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.27.1", - "@babel/helper-optimise-call-expression": "^7.27.1", - "@babel/traverse": "^7.27.1" - } - }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz", - "integrity": "sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==", - "dev": true, - "requires": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", - "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", - "dev": true, - "requires": { - "@babel/types": "^7.24.7" - } - }, - "@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true - }, - "@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", - "dev": true - }, - "@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true - }, - "@babel/helper-wrap-function": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz", - "integrity": "sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==", - "dev": true, - "requires": { - "@babel/template": "^7.27.1", - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - } - }, - "@babel/helpers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz", - "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==", - "dev": true, - "requires": { - "@babel/template": "^7.27.1", - "@babel/types": "^7.27.1" - } - }, - "@babel/parser": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.2.tgz", - "integrity": "sha512-QYLs8299NA7WM/bZAdp+CviYYkVoYXlDW2rzliy3chxd1PQjej7JORuMJDJXJUb9g0TT+B99EwaVLKmX+sPXWw==", - "dev": true, - "requires": { - "@babel/types": "^7.27.1" - } - }, - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.27.1.tgz", - "integrity": "sha512-QPG3C9cCVRQLxAVwmefEmwdTanECuUBMQZ/ym5kiw3XKCGA7qkuQLcjWWHcrD/GKbn/WmJwaezfuuAOcyKlRPA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" - } - }, - "@babel/plugin-bugfix-safari-class-field-initializer-scope": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.27.1.tgz", - "integrity": "sha512-qNeq3bCKnGgLkEXUuFry6dPlGfCdQNZbn7yUAPCInwAJHMU7THJfrBSozkcWq5sNM6RcF3S8XyQL2A52KNR9IA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.27.1", - "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.27.1.tgz", - "integrity": "sha512-g4L7OYun04N1WyqMNjldFwlfPCLVkgB54A/YCXICZYBsvJJE3kByKv9c9+R/nAfmIfjl2rKYLNyMHboYbZaWaA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.27.1.tgz", - "integrity": "sha512-oO02gcONcD5O1iTLi/6frMJBIwWEHceWGSGqrpCmEL8nogiS6J9PBlE48CaK20/Jx1LuRml9aDftLgdjXT8+Cw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1", - "@babel/plugin-transform-optional-chaining": "^7.27.1" - } - }, - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.27.1.tgz", - "integrity": "sha512-6BpaYGDavZqkI6yT+KSPdpZFfpnd68UKXbcjI9pJ13pvHhPrCKWOOLp+ysvMeA+DxnhuPpgIaRpxRxo5A9t5jw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" - } - }, - "@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "requires": {} - }, - "@babel/plugin-syntax-import-assertions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.27.1.tgz", - "integrity": "sha512-UT/Jrhw57xg4ILHLFnzFpPDlMbcdEicaAtjPQpbj9wa8T4r5KVWCimHcL/460g8Ht0DMxDyjsLgiWSkVjnwPFg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-syntax-import-attributes": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", - "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.25.9" - } - }, - "@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==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - } - }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz", - "integrity": "sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-async-generator-functions": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz", - "integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-remap-async-to-generator": "^7.25.9", - "@babel/traverse": "^7.26.8" - } - }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.9.tgz", - "integrity": "sha512-NT7Ejn7Z/LjUH0Gv5KsBCxh7BH3fbLTV0ptHvpeMvrt3cPThHfJfst9Wrb7S8EvJ7vRTFI7z+VAvFVEQn/m5zQ==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.25.9", - "@babel/helper-remap-async-to-generator": "^7.25.9" - } - }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz", - "integrity": "sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-block-scoping": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.1.tgz", - "integrity": "sha512-QEcFlMl9nGTgh1rn2nIeU5bkfb9BAjaQcWbiP4LvKxUot52ABcTkpcyJ7f2Q2U2RuQ84BNLgts3jRme2dTx6Fw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-class-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.27.1.tgz", - "integrity": "sha512-D0VcalChDMtuRvJIu3U/fwWjf8ZMykz5iZsg77Nuj821vCKI3zCyRLwRdWbsuJ/uRwZhZ002QtCqIkwC/ZkvbA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-class-static-block": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.27.1.tgz", - "integrity": "sha512-s734HmYU78MVzZ++joYM+NkJusItbdRcbm+AGRgJCt3iA+yux0QpD9cBVdz3tKyrjVYWRl7j0mHSmv4lhV0aoA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-classes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.1.tgz", - "integrity": "sha512-7iLhfFAubmpeJe/Wo2TVuDrykh/zlWXLzPNdL0Jqn/Xu8R3QQ8h9ff8FQoISZOsw74/HFqFI7NX63HN7QFIHKA==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-compilation-targets": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1", - "@babel/traverse": "^7.27.1", - "globals": "^11.1.0" - }, - "dependencies": { - "@babel/helper-annotate-as-pure": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", - "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", - "dev": true, - "requires": { - "@babel/types": "^7.27.1" - } - } - } - }, - "@babel/plugin-transform-computed-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz", - "integrity": "sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/template": "^7.27.1" - } - }, - "@babel/plugin-transform-destructuring": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.1.tgz", - "integrity": "sha512-ttDCqhfvpE9emVkXbPD8vyxxh4TWYACVybGkDj+oReOGwnp066ITEivDlLwe0b1R0+evJ13IXQuLNB5w1fhC5Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz", - "integrity": "sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz", - "integrity": "sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.27.1.tgz", - "integrity": "sha512-hkGcueTEzuhB30B3eJCbCYeCaaEQOmQR0AdvzpD4LoN0GXMWzzGSuRrxR2xTnCrvNbVwK9N6/jQ92GSLfiZWoQ==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-dynamic-import": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.27.1.tgz", - "integrity": "sha512-MHzkWQcEmjzzVW9j2q8LGjwGWpG2mjwaaB0BNQwst3FIjqsg8Ct/mIZlvSPJvfi9y2AC8mi/ktxbFVL9pZ1I4A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz", - "integrity": "sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-export-namespace-from": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.27.1.tgz", - "integrity": "sha512-tQvHWSZ3/jH2xuq/vZDy0jNn+ZdXJeM8gHvX4lnJmsc3+50yPlWdZXIc5ay+umX+2/tJIqHqiEqcJvxlmIvRvQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-for-of": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz", - "integrity": "sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - } - }, - "@babel/plugin-transform-function-name": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz", - "integrity": "sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/traverse": "^7.27.1" - } - }, - "@babel/plugin-transform-json-strings": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.27.1.tgz", - "integrity": "sha512-6WVLVJiTjqcQauBhn1LkICsR2H+zm62I3h9faTDKt1qP4jn2o72tSvqMwtGFKGTpojce0gJs+76eZ2uCHRZh0Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz", - "integrity": "sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-logical-assignment-operators": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.27.1.tgz", - "integrity": "sha512-SJvDs5dXxiae4FbSL1aBJlG4wvl594N6YEVVn9e3JGulwioy6z3oPjx/sQBO3Y4NwUu5HNix6KJ3wBZoewcdbw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.27.1.tgz", - "integrity": "sha512-hqoBX4dcZ1I33jCSWcXrP+1Ku7kdqXf1oeah7ooKOIiAdKQ+uqftgCFNOSzA5AMS2XIHEYeGFg4cKRCdpxzVOQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-modules-amd": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz", - "integrity": "sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz", - "integrity": "sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz", - "integrity": "sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.27.1" - } - }, - "@babel/plugin-transform-modules-umd": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz", - "integrity": "sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz", - "integrity": "sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-new-target": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz", - "integrity": "sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.27.1.tgz", - "integrity": "sha512-aGZh6xMo6q9vq1JGcw58lZ1Z0+i0xB2x0XaauNIUXd6O1xXc3RwoWEBlsTQrY4KQ9Jf0s5rgD6SiNkaUdJegTA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-numeric-separator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.27.1.tgz", - "integrity": "sha512-fdPKAcujuvEChxDBJ5c+0BTaS6revLV7CJL08e4m3de8qJfNIuCc2nc7XJYOjBoTMJeqSmwXJ0ypE14RCjLwaw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-object-rest-spread": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.27.2.tgz", - "integrity": "sha512-AIUHD7xJ1mCrj3uPozvtngY3s0xpv7Nu7DoUSnzNY6Xam1Cy4rUznR//pvMHOhQ4AvbCexhbqXCtpxGHOGOO6g==", - "dev": true, - "requires": { - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/plugin-transform-destructuring": "^7.27.1", - "@babel/plugin-transform-parameters": "^7.27.1" - } - }, - "@babel/plugin-transform-object-super": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz", - "integrity": "sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-replace-supers": "^7.27.1" - } - }, - "@babel/plugin-transform-optional-catch-binding": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.27.1.tgz", - "integrity": "sha512-txEAEKzYrHEX4xSZN4kJ+OfKXFVSWKB2ZxM9dpcE3wT7smwkNmXo5ORRlVzMVdJbD+Q8ILTgSD7959uj+3Dm3Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-optional-chaining": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.27.1.tgz", - "integrity": "sha512-BQmKPPIuc8EkZgNKsv0X4bPmOoayeu4F1YCwx2/CfmDSXDbp7GnzlUH+/ul5VGfRg1AoFPsrIThlEBj2xb4CAg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - } - }, - "@babel/plugin-transform-parameters": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.1.tgz", - "integrity": "sha512-018KRk76HWKeZ5l4oTj2zPpSh+NbGdt0st5S6x0pga6HgrjBOJb24mMDHorFopOOd6YHkLgOZ+zaCjZGPO4aKg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-private-methods": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.27.1.tgz", - "integrity": "sha512-10FVt+X55AjRAYI9BrdISN9/AQWHqldOeZDUoLyif1Kn05a56xVBXb8ZouL8pZ9jem8QpXaOt8TS7RHUIS+GPA==", - "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-private-property-in-object": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.27.1.tgz", - "integrity": "sha512-5J+IhqTi1XPa0DXF83jYOaARrX+41gOewWbkPyjMNRDqgOCqdffGh8L3f/Ek5utaEBZExjSAzcyjmV9SSAWObQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.27.1", - "@babel/helper-create-class-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - }, - "dependencies": { - "@babel/helper-annotate-as-pure": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.1.tgz", - "integrity": "sha512-WnuuDILl9oOBbKnb4L+DyODx7iC47XfzmNCpTttFsSp6hTG7XZxu60+4IO+2/hPfcGOoKbFiwoI/+zwARbNQow==", - "dev": true, - "requires": { - "@babel/types": "^7.27.1" - } - } - } - }, - "@babel/plugin-transform-property-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.27.1.tgz", - "integrity": "sha512-oThy3BCuCha8kDZ8ZkgOg2exvPYUlprMukKQXI1r1pJ47NCvxfkEy8vK+r/hT9nF0Aa4H1WUPZZjHTFtAhGfmQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-regenerator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.1.tgz", - "integrity": "sha512-B19lbbL7PMrKr52BNPjCqg1IyNUIjTcxKj8uX9zHO+PmWN93s19NDr/f69mIkEp2x9nmDJ08a7lgHaTTzvW7mw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-regexp-modifiers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regexp-modifiers/-/plugin-transform-regexp-modifiers-7.27.1.tgz", - "integrity": "sha512-TtEciroaiODtXvLZv4rmfMhkCv8jx3wgKpL68PuiPh2M4fvz5jhsA7697N1gMvkvr/JTF13DrFYyEbY9U7cVPA==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-reserved-words": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.27.1.tgz", - "integrity": "sha512-V2ABPHIJX4kC7HegLkYoDpfg9PVmuWy/i6vUM5eGK22bx4YVFD3M5F0QQnWQoDs6AGsUWTVOopBiMFQgHaSkVw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-runtime": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.26.10.tgz", - "integrity": "sha512-NWaL2qG6HRpONTnj4JvDU6th4jYeZOJgu3QhmFTCihib0ermtOJqktA5BduGm3suhhVe9EMP9c9+mfJ/I9slqw==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-plugin-utils": "^7.26.5", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.11.0", - "babel-plugin-polyfill-regenerator": "^0.6.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==", - "dev": true - } - } - }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz", - "integrity": "sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz", - "integrity": "sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1", - "@babel/helper-skip-transparent-expression-wrappers": "^7.27.1" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz", - "integrity": "sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz", - "integrity": "sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz", - "integrity": "sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.27.1.tgz", - "integrity": "sha512-Ysg4v6AmF26k9vpfFuTZg8HRfVWzsh1kVfowA23y9j/Gu6dOuahdUVhkLqpObp3JIv27MLSii6noRnuKN8H0Mg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-unicode-property-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.27.1.tgz", - "integrity": "sha512-uW20S39PnaTImxp39O5qFlHLS9LJEmANjMG7SxIhap8rCHqu0Ik+tLEPX5DKmHn6CsWQ7j3lix2tFOa5YtL12Q==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz", - "integrity": "sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/plugin-transform-unicode-sets-regex": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.27.1.tgz", - "integrity": "sha512-EtkOujbc4cgvb0mlpQefi4NTPBzhSIevblFevACNLUspmrALgmEBdL/XfnyyITfd8fKBZrZys92zOWcik7j9Tw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.27.1", - "@babel/helper-plugin-utils": "^7.27.1" - } - }, - "@babel/preset-env": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz", - "integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.26.8", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-plugin-utils": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", - "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.9", - "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.9", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.9", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.9", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.9", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-import-assertions": "^7.26.0", - "@babel/plugin-syntax-import-attributes": "^7.26.0", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.25.9", - "@babel/plugin-transform-async-generator-functions": "^7.26.8", - "@babel/plugin-transform-async-to-generator": "^7.25.9", - "@babel/plugin-transform-block-scoped-functions": "^7.26.5", - "@babel/plugin-transform-block-scoping": "^7.25.9", - "@babel/plugin-transform-class-properties": "^7.25.9", - "@babel/plugin-transform-class-static-block": "^7.26.0", - "@babel/plugin-transform-classes": "^7.25.9", - "@babel/plugin-transform-computed-properties": "^7.25.9", - "@babel/plugin-transform-destructuring": "^7.25.9", - "@babel/plugin-transform-dotall-regex": "^7.25.9", - "@babel/plugin-transform-duplicate-keys": "^7.25.9", - "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-dynamic-import": "^7.25.9", - "@babel/plugin-transform-exponentiation-operator": "^7.26.3", - "@babel/plugin-transform-export-namespace-from": "^7.25.9", - "@babel/plugin-transform-for-of": "^7.26.9", - "@babel/plugin-transform-function-name": "^7.25.9", - "@babel/plugin-transform-json-strings": "^7.25.9", - "@babel/plugin-transform-literals": "^7.25.9", - "@babel/plugin-transform-logical-assignment-operators": "^7.25.9", - "@babel/plugin-transform-member-expression-literals": "^7.25.9", - "@babel/plugin-transform-modules-amd": "^7.25.9", - "@babel/plugin-transform-modules-commonjs": "^7.26.3", - "@babel/plugin-transform-modules-systemjs": "^7.25.9", - "@babel/plugin-transform-modules-umd": "^7.25.9", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.25.9", - "@babel/plugin-transform-new-target": "^7.25.9", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.26.6", - "@babel/plugin-transform-numeric-separator": "^7.25.9", - "@babel/plugin-transform-object-rest-spread": "^7.25.9", - "@babel/plugin-transform-object-super": "^7.25.9", - "@babel/plugin-transform-optional-catch-binding": "^7.25.9", - "@babel/plugin-transform-optional-chaining": "^7.25.9", - "@babel/plugin-transform-parameters": "^7.25.9", - "@babel/plugin-transform-private-methods": "^7.25.9", - "@babel/plugin-transform-private-property-in-object": "^7.25.9", - "@babel/plugin-transform-property-literals": "^7.25.9", - "@babel/plugin-transform-regenerator": "^7.25.9", - "@babel/plugin-transform-regexp-modifiers": "^7.26.0", - "@babel/plugin-transform-reserved-words": "^7.25.9", - "@babel/plugin-transform-shorthand-properties": "^7.25.9", - "@babel/plugin-transform-spread": "^7.25.9", - "@babel/plugin-transform-sticky-regex": "^7.25.9", - "@babel/plugin-transform-template-literals": "^7.26.8", - "@babel/plugin-transform-typeof-symbol": "^7.26.7", - "@babel/plugin-transform-unicode-escapes": "^7.25.9", - "@babel/plugin-transform-unicode-property-regex": "^7.25.9", - "@babel/plugin-transform-unicode-regex": "^7.25.9", - "@babel/plugin-transform-unicode-sets-regex": "^7.25.9", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.10", - "babel-plugin-polyfill-corejs3": "^0.11.0", - "babel-plugin-polyfill-regenerator": "^0.6.1", - "core-js-compat": "^3.40.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==", - "dev": true - } - } - }, - "@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==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz", - "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.14.0" - } - }, - "@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - } - }, - "@babel/traverse": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.1.tgz", - "integrity": "sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.1", - "@babel/parser": "^7.27.1", - "@babel/template": "^7.27.1", - "@babel/types": "^7.27.1", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "dependencies": { - "@babel/generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz", - "integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==", - "dev": true, - "requires": { - "@babel/parser": "^7.27.1", - "@babel/types": "^7.27.1", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - } - } - } - }, - "@babel/types": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", - "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", - "dev": true, - "requires": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" - } - }, - "@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 - }, - "@discoveryjs/json-ext": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", - "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", - "dev": true - }, - "@esbuild/aix-ppc64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.4.tgz", - "integrity": "sha512-1VCICWypeQKhVbE9oW/sJaAmjLxhVqacdkvPLEjwlttjfwENRSClS8EjBz0KzRyFSCPDIkuXW34Je/vk7zdB7Q==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.4.tgz", - "integrity": "sha512-QNdQEps7DfFwE3hXiU4BZeOV68HHzYwGd0Nthhd3uCkkEKK7/R6MTgM0P7H7FAs5pU/DIWsviMmEGxEoxIZ+ZQ==", - "dev": true, - "optional": true - }, - "@esbuild/android-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.4.tgz", - "integrity": "sha512-bBy69pgfhMGtCnwpC/x5QhfxAz/cBgQ9enbtwjf6V9lnPI/hMyT9iWpR1arm0l3kttTr4L0KSLpKmLp/ilKS9A==", - "dev": true, - "optional": true - }, - "@esbuild/android-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.4.tgz", - "integrity": "sha512-TVhdVtQIFuVpIIR282btcGC2oGQoSfZfmBdTip2anCaVYcqWlZXGcdcKIUklfX2wj0JklNYgz39OBqh2cqXvcQ==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.4.tgz", - "integrity": "sha512-Y1giCfM4nlHDWEfSckMzeWNdQS31BQGs9/rouw6Ub91tkK79aIMTH3q9xHvzH8d0wDru5Ci0kWB8b3up/nl16g==", - "dev": true, - "optional": true - }, - "@esbuild/darwin-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.4.tgz", - "integrity": "sha512-CJsry8ZGM5VFVeyUYB3cdKpd/H69PYez4eJh1W/t38vzutdjEjtP7hB6eLKBoOdxcAlCtEYHzQ/PJ/oU9I4u0A==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.4.tgz", - "integrity": "sha512-yYq+39NlTRzU2XmoPW4l5Ifpl9fqSk0nAJYM/V/WUGPEFfek1epLHJIkTQM6bBs1swApjO5nWgvr843g6TjxuQ==", - "dev": true, - "optional": true - }, - "@esbuild/freebsd-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.4.tgz", - "integrity": "sha512-0FgvOJ6UUMflsHSPLzdfDnnBBVoCDtBTVyn/MrWloUNvq/5SFmh13l3dvgRPkDihRxb77Y17MbqbCAa2strMQQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.4.tgz", - "integrity": "sha512-kro4c0P85GMfFYqW4TWOpvmF8rFShbWGnrLqlzp4X1TNWjRY3JMYUfDCtOxPKOIY8B0WC8HN51hGP4I4hz4AaQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.4.tgz", - "integrity": "sha512-+89UsQTfXdmjIvZS6nUnOOLoXnkUTB9hR5QAeLrQdzOSWZvNSAXAtcRDHWtqAUtAmv7ZM1WPOOeSxDzzzMogiQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ia32": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.4.tgz", - "integrity": "sha512-yTEjoapy8UP3rv8dB0ip3AfMpRbyhSN3+hY8mo/i4QXFeDxmiYbEKp3ZRjBKcOP862Ua4b1PDfwlvbuwY7hIGQ==", - "dev": true, - "optional": true - }, - "@esbuild/linux-loong64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.4.tgz", - "integrity": "sha512-NeqqYkrcGzFwi6CGRGNMOjWGGSYOpqwCjS9fvaUlX5s3zwOtn1qwg1s2iE2svBe4Q/YOG1q6875lcAoQK/F4VA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-mips64el": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.4.tgz", - "integrity": "sha512-IcvTlF9dtLrfL/M8WgNI/qJYBENP3ekgsHbYUIzEzq5XJzzVEV/fXY9WFPfEEXmu3ck2qJP8LG/p3Q8f7Zc2Xg==", - "dev": true, - "optional": true - }, - "@esbuild/linux-ppc64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.4.tgz", - "integrity": "sha512-HOy0aLTJTVtoTeGZh4HSXaO6M95qu4k5lJcH4gxv56iaycfz1S8GO/5Jh6X4Y1YiI0h7cRyLi+HixMR+88swag==", - "dev": true, - "optional": true - }, - "@esbuild/linux-riscv64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.4.tgz", - "integrity": "sha512-i8JUDAufpz9jOzo4yIShCTcXzS07vEgWzyX3NH2G7LEFVgrLEhjwL3ajFE4fZI3I4ZgiM7JH3GQ7ReObROvSUA==", - "dev": true, - "optional": true - }, - "@esbuild/linux-s390x": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.4.tgz", - "integrity": "sha512-jFnu+6UbLlzIjPQpWCNh5QtrcNfMLjgIavnwPQAfoGx4q17ocOU9MsQ2QVvFxwQoWpZT8DvTLooTvmOQXkO51g==", - "dev": true, - "optional": true - }, - "@esbuild/linux-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.4.tgz", - "integrity": "sha512-6e0cvXwzOnVWJHq+mskP8DNSrKBr1bULBvnFLpc1KY+d+irZSgZ02TGse5FsafKS5jg2e4pbvK6TPXaF/A6+CA==", - "dev": true, - "optional": true - }, - "@esbuild/netbsd-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.4.tgz", - "integrity": "sha512-vUnkBYxZW4hL/ie91hSqaSNjulOnYXE1VSLusnvHg2u3jewJBz3YzB9+oCw8DABeVqZGg94t9tyZFoHma8gWZQ==", - "dev": true, - "optional": true - }, - "@esbuild/netbsd-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.4.tgz", - "integrity": "sha512-XAg8pIQn5CzhOB8odIcAm42QsOfa98SBeKUdo4xa8OvX8LbMZqEtgeWE9P/Wxt7MlG2QqvjGths+nq48TrUiKw==", - "dev": true, - "optional": true - }, - "@esbuild/openbsd-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.4.tgz", - "integrity": "sha512-Ct2WcFEANlFDtp1nVAXSNBPDxyU+j7+tId//iHXU2f/lN5AmO4zLyhDcpR5Cz1r08mVxzt3Jpyt4PmXQ1O6+7A==", - "dev": true, - "optional": true - }, - "@esbuild/openbsd-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.4.tgz", - "integrity": "sha512-xAGGhyOQ9Otm1Xu8NT1ifGLnA6M3sJxZ6ixylb+vIUVzvvd6GOALpwQrYrtlPouMqd/vSbgehz6HaVk4+7Afhw==", - "dev": true, - "optional": true - }, - "@esbuild/sunos-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.4.tgz", - "integrity": "sha512-Mw+tzy4pp6wZEK0+Lwr76pWLjrtjmJyUB23tHKqEDP74R3q95luY/bXqXZeYl4NYlvwOqoRKlInQialgCKy67Q==", - "dev": true, - "optional": true - }, - "@esbuild/win32-arm64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.4.tgz", - "integrity": "sha512-AVUP428VQTSddguz9dO9ngb+E5aScyg7nOeJDrF1HPYu555gmza3bDGMPhmVXL8svDSoqPCsCPjb265yG/kLKQ==", - "dev": true, - "optional": true - }, - "@esbuild/win32-ia32": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.4.tgz", - "integrity": "sha512-i1sW+1i+oWvQzSgfRcxxG2k4I9n3O9NRqy8U+uugaT2Dy7kLO9Y7wI72haOahxceMX8hZAzgGou1FhndRldxRg==", - "dev": true, - "optional": true - }, - "@esbuild/win32-x64": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.4.tgz", - "integrity": "sha512-nOT2vZNw6hJ+z43oP1SPea/G/6AbN6X+bGNhNuq8NtRHy4wsMhw765IKLNmnjek7GvjWBYQ8Q5VBoYTFg9y1UQ==", - "dev": true, - "optional": true - }, - "@firebase-ui/angular": { - "version": "https://github.com/invertase/firebaseui-web/releases/download/@firebase-ui/angular@0.0.1/firebase-ui-angular-0.0.1.tgz", - "integrity": "sha512-usltgMAzwGFN2ghawAbMKy1Tgdf/VhbUFoiYsCWdiyS1oQ9hyjQvxhz0uDDrhg/bJW965VGUQVU81q2FmWqIDA==", - "requires": { - "@tanstack/angular-form": "^1.1.0", - "nanostores": "^0.11.3", - "tslib": "^2.3.0", - "zod": "^3.24.1" - }, - "dependencies": { - "@tanstack/angular-form": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@tanstack/angular-form/-/angular-form-1.11.2.tgz", - "integrity": "sha512-ll9ZHqjfqPIA4fRQsyrA22PZJtinQeNJYJBHAROrr+h3IbN7NOA/4yRVxjQWCwhFpwh9PU8Cl563a52x9c0iIQ==", - "requires": { - "@tanstack/angular-store": "^0.7.0", - "@tanstack/form-core": "1.11.2", - "tslib": "^2.8.1" - } - }, - "@tanstack/form-core": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/@tanstack/form-core/-/form-core-1.11.2.tgz", - "integrity": "sha512-HAocV5E6y4EHisH6qPvredkr2X5ARULDLWx8Z7Jz9pNz0bUBzUjPF/QtVBHQKrYMrwl9cE+TxddcghjiQYDsmQ==", - "requires": { - "@tanstack/store": "^0.7.0" - } - } - } - }, - "@firebase-ui/core": { - "version": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-core-0.0.1.tgz", - "integrity": "sha512-qwZPZvhZ99ODLmI/2aHNLjS61rS8BQnyMJYCama+567UPp3jU2GgLzS9XD5CB1Iy4IvmPfgFYHRh1evpmx7evA==", - "requires": { - "@firebase-ui/translations": "0.0.1", - "nanostores": "^0.11.3", - "zod": "^3.24.1" - } - }, - "@firebase-ui/styles": { - "version": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-styles-0.0.1.tgz", - "integrity": "sha512-aRsD27AjgsXTPOylYT7Qu3IeI0cOT1eZ6MiCddH5n8cHpG9lpXDwYD1+Bqo7ZBs6Wqi3LuX+6iI5Aq374E025w==" - }, - "@firebase-ui/translations": { - "version": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-translations-0.0.1.tgz", - "integrity": "sha512-k8mzvjPvRHlrB1zPXNVuq6vIOkzY5t7Ta97Lqrml+rmfpP/eISy9991eH0Rwy/Xoc10qCj6DMw9bQWBRVsnbCg==" - }, - "@firebase/ai": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@firebase/ai/-/ai-1.3.0.tgz", - "integrity": "sha512-qBxJTtl9hpgZr050kVFTRADX6I0Ss6mEQyp/JEkBgKwwxixKnaRNqEDGFba4OKNL7K8E4Y7LlA/ZW6L8aCKH4A==", - "requires": { - "@firebase/app-check-interop-types": "0.3.3", - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/analytics": { - "version": "0.10.16", - "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.16.tgz", - "integrity": "sha512-cMtp19He7Fd6uaj/nDEul+8JwvJsN8aRSJyuA1QN3QrKvfDDp+efjVurJO61sJpkVftw9O9nNMdhFbRcTmTfRQ==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/installations": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/analytics-compat": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.22.tgz", - "integrity": "sha512-VogWHgwkdYhjWKh8O1XU04uPrRaiDihkWvE/EMMmtWtaUtVALnpLnUurc3QtSKdPnvTz5uaIGKlW84DGtSPFbw==", - "requires": { - "@firebase/analytics": "0.10.16", - "@firebase/analytics-types": "0.8.3", - "@firebase/component": "0.6.17", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/analytics-types": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.3.tgz", - "integrity": "sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==" - }, - "@firebase/app": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.13.0.tgz", - "integrity": "sha512-Vj3MST245nq+V5UmmfEkB3isIgPouyUr8yGJlFeL9Trg/umG5ogAvrjAYvQ8gV7daKDoQSRnJKWI2JFpQqRsuQ==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "idb": "7.1.1", - "tslib": "^2.1.0" - } - }, - "@firebase/app-check": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.10.0.tgz", - "integrity": "sha512-AZlRlVWKcu8BH4Yf8B5EI8sOi2UNGTS8oMuthV45tbt6OVUTSQwFPIEboZzhNJNKY+fPsg7hH8vixUWFZ3lrhw==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/app-check-compat": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.25.tgz", - "integrity": "sha512-3zrsPZWAKfV7DVC20T2dgfjzjtQnSJS65OfMOiddMUtJL1S5i0nAZKsdX0bOEvvrd0SBIL8jYnfpfDeQRnhV3w==", - "requires": { - "@firebase/app-check": "0.10.0", - "@firebase/app-check-types": "0.5.3", - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/app-check-interop-types": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.3.tgz", - "integrity": "sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==" - }, - "@firebase/app-check-types": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.3.tgz", - "integrity": "sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==" - }, - "@firebase/app-compat": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.4.0.tgz", - "integrity": "sha512-LjLUrzbUgTa/sCtPoLKT2C7KShvLVHS3crnU1Du02YxnGVLE0CUBGY/NxgfR/Zg84mEbj1q08/dgesojxjn0dA==", - "requires": { - "@firebase/app": "0.13.0", - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/app-types": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.3.tgz", - "integrity": "sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==" - }, - "@firebase/auth": { - "version": "1.10.5", - "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.10.5.tgz", - "integrity": "sha512-6wF/NdMTwObL4RNQePunuzMr9O3gyftisvFZFFKf57D2HONXo87YymogRV8d+Z7SLA0rcNBN1gLJVk2D0y97gA==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/auth-compat": { - "version": "0.5.25", - "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.25.tgz", - "integrity": "sha512-YKUYnvrxXBRhH/iYEwSOv85VPvc6P36GW1OCDRebTw/cvgoj7pwac2nZKYFs5FHlNYe7Bc9I4BoY2X0vlkJo+g==", - "requires": { - "@firebase/auth": "1.10.5", - "@firebase/auth-types": "0.13.0", - "@firebase/component": "0.6.17", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/auth-interop-types": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.4.tgz", - "integrity": "sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==" - }, - "@firebase/auth-types": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.13.0.tgz", - "integrity": "sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg==", - "requires": {} - }, - "@firebase/component": { - "version": "0.6.17", - "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.17.tgz", - "integrity": "sha512-M6DOg7OySrKEFS8kxA3MU5/xc37fiOpKPMz6cTsMUcsuKB6CiZxxNAvgFta8HGRgEpZbi8WjGIj6Uf+TpOhyzg==", - "requires": { - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/data-connect": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@firebase/data-connect/-/data-connect-0.3.8.tgz", - "integrity": "sha512-xC50SxurrP0j9ksltZ8O2SuPuWTu9KymNxtSE4bmcc/HMOnOHaURgLyrQpcC5Pc7HmtCBxh9Q/lNKyc37rj5/g==", - "requires": { - "@firebase/auth-interop-types": "0.2.4", - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/database": { - "version": "1.0.18", - "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.18.tgz", - "integrity": "sha512-uXtYQmK6JCmqSx7dTOQD/qZtSnbMqnwvklF9n7wOJbdti4wKHmeUzgGXhPwDhN/R/BDTq78zKAbXya7hrCQjHw==", - "requires": { - "@firebase/app-check-interop-types": "0.3.3", - "@firebase/auth-interop-types": "0.2.4", - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "faye-websocket": "0.11.4", - "tslib": "^2.1.0" - } - }, - "@firebase/database-compat": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-2.0.9.tgz", - "integrity": "sha512-9S6zK5+Tzslkt+lrYHDqbCbKBSQn3YYrNLIw8hTa/ALoqRLNTXF6acQIlxAxSeZj1hTttE6RRbuxxpMQJYt83w==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/database": "1.0.18", - "@firebase/database-types": "1.0.14", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/database-types": { - "version": "1.0.14", - "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.14.tgz", - "integrity": "sha512-8a0Q1GrxM0akgF0RiQHliinhmZd+UQPrxEmUv7MnQBYfVFiLtKOgs3g6ghRt/WEGJHyQNslZ+0PocIwNfoDwKw==", - "requires": { - "@firebase/app-types": "0.9.3", - "@firebase/util": "1.12.0" - } - }, - "@firebase/firestore": { - "version": "4.7.15", - "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.7.15.tgz", - "integrity": "sha512-FgWTmkNBEXdKCoN2ngBNjrMaXuBx6QwjiZZVnOGg+VjUmiBq5gAqlDIW5bZY6i/NYvLUrWugdqIs7y9GHEqwww==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "@firebase/webchannel-wrapper": "1.0.3", - "@grpc/grpc-js": "~1.9.0", - "@grpc/proto-loader": "^0.7.8", - "tslib": "^2.1.0" - } - }, - "@firebase/firestore-compat": { - "version": "0.3.50", - "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.50.tgz", - "integrity": "sha512-1hAM+iaIqy2HHvSHQ56ccOOIigTeWAwjIpeQ+/O92uBoiajEITHdJofnGHglhhB5VV5qFl59Yz/AVDc+DssdYg==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/firestore": "4.7.15", - "@firebase/firestore-types": "3.0.3", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/firestore-types": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.3.tgz", - "integrity": "sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==", - "requires": {} - }, - "@firebase/functions": { - "version": "0.12.7", - "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.12.7.tgz", - "integrity": "sha512-gi8cw7yvaz19Erut+S0rHzNOWp4zPxAU/Kplb+XQoaE5gMV7MjHQoOGnYhSY8uOVj5f80S553s+2OBszG+14Ag==", - "requires": { - "@firebase/app-check-interop-types": "0.3.3", - "@firebase/auth-interop-types": "0.2.4", - "@firebase/component": "0.6.17", - "@firebase/messaging-interop-types": "0.2.3", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/functions-compat": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.24.tgz", - "integrity": "sha512-UjJabci+Bqci+A9WqfJ6sjZp+wGvi47llnQMjQRrF4coKfUyu9zBNTXhbx5W3rdVFQYwnWJm8VuluuNh2PCuyQ==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/functions": "0.12.7", - "@firebase/functions-types": "0.6.3", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/functions-types": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.3.tgz", - "integrity": "sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==" - }, - "@firebase/installations": { - "version": "0.6.17", - "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.17.tgz", - "integrity": "sha512-zfhqCNJZRe12KyADtRrtOj+SeSbD1H/K8J24oQAJVv/u02eQajEGlhZtcx9Qk7vhGWF5z9dvIygVDYqLL4o1XQ==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/util": "1.12.0", - "idb": "7.1.1", - "tslib": "^2.1.0" - } - }, - "@firebase/installations-compat": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.17.tgz", - "integrity": "sha512-J7afeCXB7yq25FrrJAgbx8mn1nG1lZEubOLvYgG7ZHvyoOCK00sis5rj7TgDrLYJgdj/SJiGaO1BD3BAp55TeA==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/installations": "0.6.17", - "@firebase/installations-types": "0.5.3", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/installations-types": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.3.tgz", - "integrity": "sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==", - "requires": {} - }, - "@firebase/logger": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.4.tgz", - "integrity": "sha512-mH0PEh1zoXGnaR8gD1DeGeNZtWFKbnz9hDO91dIml3iou1gpOnLqXQ2dJfB71dj6dpmUjcQ6phY3ZZJbjErr9g==", - "requires": { - "tslib": "^2.1.0" - } - }, - "@firebase/messaging": { - "version": "0.12.21", - "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.21.tgz", - "integrity": "sha512-bYJ2Evj167Z+lJ1ach6UglXz5dUKY1zrJZd15GagBUJSR7d9KfiM1W8dsyL0lDxcmhmA/sLaBYAAhF1uilwN0g==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/installations": "0.6.17", - "@firebase/messaging-interop-types": "0.2.3", - "@firebase/util": "1.12.0", - "idb": "7.1.1", - "tslib": "^2.1.0" - } - }, - "@firebase/messaging-compat": { - "version": "0.2.21", - "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.21.tgz", - "integrity": "sha512-1yMne+4BGLbHbtyu/VyXWcLiefUE1+K3ZGfVTyKM4BH4ZwDFRGoWUGhhx+tKRX4Tu9z7+8JN67SjnwacyNWK5g==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/messaging": "0.12.21", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/messaging-interop-types": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.3.tgz", - "integrity": "sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==" - }, - "@firebase/performance": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.7.6.tgz", - "integrity": "sha512-AsOz74dSTlyQGlnnbLWXiHFAsrxhpssPOsFFi4HgOJ5DjzkK7ZdZ/E9uMPrwFoXJyMVoybGRuqsL/wkIbFITsA==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/installations": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0", - "web-vitals": "^4.2.4" - } - }, - "@firebase/performance-compat": { - "version": "0.2.19", - "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.19.tgz", - "integrity": "sha512-4cU0T0BJ+LZK/E/UwFcvpBCVdkStgBMQwBztM9fJPT6udrEUk3ugF5/HT+E2Z22FCXtIaXDukJbYkE/c3c6IHw==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/performance": "0.7.6", - "@firebase/performance-types": "0.2.3", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/performance-types": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.3.tgz", - "integrity": "sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==" - }, - "@firebase/remote-config": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.6.4.tgz", - "integrity": "sha512-ZyLJRT46wtycyz2+opEkGaoFUOqRQjt/0NX1WfUISOMCI/PuVoyDjqGpq24uK+e8D5NknyTpiXCVq5dowhScmg==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/installations": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/remote-config-compat": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.17.tgz", - "integrity": "sha512-KelsBD0sXSC0u3esr/r6sJYGRN6pzn3bYuI/6pTvvmZbjBlxQkRabHAVH6d+YhLcjUXKIAYIjZszczd1QJtOyA==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/logger": "0.4.4", - "@firebase/remote-config": "0.6.4", - "@firebase/remote-config-types": "0.4.0", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/remote-config-types": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.4.0.tgz", - "integrity": "sha512-7p3mRE/ldCNYt8fmWMQ/MSGRmXYlJ15Rvs9Rk17t8p0WwZDbeK7eRmoI1tvCPaDzn9Oqh+yD6Lw+sGLsLg4kKg==" - }, - "@firebase/storage": { - "version": "0.13.11", - "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.13.11.tgz", - "integrity": "sha512-nBtCGGpr39vuAeTQhG73nvMq3BjQBTgIg6fWufB6qglWYQCgky/XE4duSrOhTp2/QC+H3/SnaE/nKOQmjnPqjg==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/storage-compat": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.21.tgz", - "integrity": "sha512-LG3978H2Vy1XGa0Jz9VNFwgMrhjy/G8CTV8GkWpArzu+AhI/SE9c0e06SiXcFsVaQW2rObcqFa0zp51LDaVzRA==", - "requires": { - "@firebase/component": "0.6.17", - "@firebase/storage": "0.13.11", - "@firebase/storage-types": "0.8.3", - "@firebase/util": "1.12.0", - "tslib": "^2.1.0" - } - }, - "@firebase/storage-types": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.3.tgz", - "integrity": "sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==", - "requires": {} - }, - "@firebase/util": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.0.tgz", - "integrity": "sha512-Z4rK23xBCwgKDqmzGVMef+Vb4xso2j5Q8OG0vVL4m4fA5ZjPMYQazu8OJJC3vtQRC3SQ/Pgx/6TPNVsCd70QRw==", - "requires": { - "tslib": "^2.1.0" - } - }, - "@firebase/webchannel-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.3.tgz", - "integrity": "sha512-2xCRM9q9FlzGZCdgDMJwc0gyUkWFtkosy7Xxr6sFgQwn+wMNIWd7xIvYNauU1r64B5L5rsGKy/n9TKJ0aAFeqQ==" - }, - "@grpc/grpc-js": { - "version": "1.9.15", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.15.tgz", - "integrity": "sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==", - "requires": { - "@grpc/proto-loader": "^0.7.8", - "@types/node": ">=12.12.47" - } - }, - "@grpc/proto-loader": { - "version": "0.7.15", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.15.tgz", - "integrity": "sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==", - "requires": { - "lodash.camelcase": "^4.3.0", - "long": "^5.0.0", - "protobufjs": "^7.2.5", - "yargs": "^17.7.2" - } - }, - "@inquirer/checkbox": { - "version": "4.1.6", - "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.1.6.tgz", - "integrity": "sha512-62u896rWCtKKE43soodq5e/QcRsA22I+7/4Ov7LESWnKRO6BVo2A1DFLDmXL9e28TB0CfHc3YtkbPm7iwajqkg==", - "dev": true, - "requires": { - "@inquirer/core": "^10.1.11", - "@inquirer/figures": "^1.0.11", - "@inquirer/type": "^3.0.6", - "ansi-escapes": "^4.3.2", - "yoctocolors-cjs": "^2.1.2" - } - }, - "@inquirer/confirm": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.6.tgz", - "integrity": "sha512-6ZXYK3M1XmaVBZX6FCfChgtponnL0R6I7k8Nu+kaoNkT828FVZTcca1MqmWQipaW2oNREQl5AaPCUOOCVNdRMw==", - "dev": true, - "requires": { - "@inquirer/core": "^10.1.7", - "@inquirer/type": "^3.0.4" - } - }, - "@inquirer/core": { - "version": "10.1.11", - "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.11.tgz", - "integrity": "sha512-BXwI/MCqdtAhzNQlBEFE7CEflhPkl/BqvAuV/aK6lW3DClIfYVDWPP/kXuXHtBWC7/EEbNqd/1BGq2BGBBnuxw==", - "dev": true, - "requires": { - "@inquirer/figures": "^1.0.11", - "@inquirer/type": "^3.0.6", - "ansi-escapes": "^4.3.2", - "cli-width": "^4.1.0", - "mute-stream": "^2.0.0", - "signal-exit": "^4.1.0", - "wrap-ansi": "^6.2.0", - "yoctocolors-cjs": "^2.1.2" - } - }, - "@inquirer/editor": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.11.tgz", - "integrity": "sha512-YoZr0lBnnLFPpfPSNsQ8IZyKxU47zPyVi9NLjCWtna52//M/xuL0PGPAxHxxYhdOhnvY2oBafoM+BI5w/JK7jw==", - "dev": true, - "requires": { - "@inquirer/core": "^10.1.11", - "@inquirer/type": "^3.0.6", - "external-editor": "^3.1.0" - } - }, - "@inquirer/expand": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.13.tgz", - "integrity": "sha512-HgYNWuZLHX6q5y4hqKhwyytqAghmx35xikOGY3TcgNiElqXGPas24+UzNPOwGUZa5Dn32y25xJqVeUcGlTv+QQ==", - "dev": true, - "requires": { - "@inquirer/core": "^10.1.11", - "@inquirer/type": "^3.0.6", - "yoctocolors-cjs": "^2.1.2" - } - }, - "@inquirer/figures": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.11.tgz", - "integrity": "sha512-eOg92lvrn/aRUqbxRyvpEWnrvRuTYRifixHkYVpJiygTgVSBIHDqLh0SrMQXkafvULg3ck11V7xvR+zcgvpHFw==", - "dev": true - }, - "@inquirer/input": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.1.10.tgz", - "integrity": "sha512-kV3BVne3wJ+j6reYQUZi/UN9NZGZLxgc/tfyjeK3mrx1QI7RXPxGp21IUTv+iVHcbP4ytZALF8vCHoxyNSC6qg==", - "dev": true, - "requires": { - "@inquirer/core": "^10.1.11", - "@inquirer/type": "^3.0.6" - } - }, - "@inquirer/number": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.13.tgz", - "integrity": "sha512-IrLezcg/GWKS8zpKDvnJ/YTflNJdG0qSFlUM/zNFsdi4UKW/CO+gaJpbMgQ20Q58vNKDJbEzC6IebdkprwL6ew==", - "dev": true, - "requires": { - "@inquirer/core": "^10.1.11", - "@inquirer/type": "^3.0.6" - } - }, - "@inquirer/password": { - "version": "4.0.13", - "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.13.tgz", - "integrity": "sha512-NN0S/SmdhakqOTJhDwOpeBEEr8VdcYsjmZHDb0rblSh2FcbXQOr+2IApP7JG4WE3sxIdKytDn4ed3XYwtHxmJQ==", - "dev": true, - "requires": { - "@inquirer/core": "^10.1.11", - "@inquirer/type": "^3.0.6", - "ansi-escapes": "^4.3.2" - } - }, - "@inquirer/prompts": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.3.2.tgz", - "integrity": "sha512-G1ytyOoHh5BphmEBxSwALin3n1KGNYB6yImbICcRQdzXfOGbuJ9Jske/Of5Sebk339NSGGNfUshnzK8YWkTPsQ==", - "dev": true, - "requires": { - "@inquirer/checkbox": "^4.1.2", - "@inquirer/confirm": "^5.1.6", - "@inquirer/editor": "^4.2.7", - "@inquirer/expand": "^4.0.9", - "@inquirer/input": "^4.1.6", - "@inquirer/number": "^3.0.9", - "@inquirer/password": "^4.0.9", - "@inquirer/rawlist": "^4.0.9", - "@inquirer/search": "^3.0.9", - "@inquirer/select": "^4.0.9" - } - }, - "@inquirer/rawlist": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.1.tgz", - "integrity": "sha512-VBUC0jPN2oaOq8+krwpo/mf3n/UryDUkKog3zi+oIi8/e5hykvdntgHUB9nhDM78RubiyR1ldIOfm5ue+2DeaQ==", - "dev": true, - "requires": { - "@inquirer/core": "^10.1.11", - "@inquirer/type": "^3.0.6", - "yoctocolors-cjs": "^2.1.2" - } - }, - "@inquirer/search": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.0.13.tgz", - "integrity": "sha512-9g89d2c5Izok/Gw/U7KPC3f9kfe5rA1AJ24xxNZG0st+vWekSk7tB9oE+dJv5JXd0ZSijomvW0KPMoBd8qbN4g==", - "dev": true, - "requires": { - "@inquirer/core": "^10.1.11", - "@inquirer/figures": "^1.0.11", - "@inquirer/type": "^3.0.6", - "yoctocolors-cjs": "^2.1.2" - } - }, - "@inquirer/select": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.2.1.tgz", - "integrity": "sha512-gt1Kd5XZm+/ddemcT3m23IP8aD8rC9drRckWoP/1f7OL46Yy2FGi8DSmNjEjQKtPl6SV96Kmjbl6p713KXJ/Jg==", - "dev": true, - "requires": { - "@inquirer/core": "^10.1.11", - "@inquirer/figures": "^1.0.11", - "@inquirer/type": "^3.0.6", - "ansi-escapes": "^4.3.2", - "yoctocolors-cjs": "^2.1.2" - } - }, - "@inquirer/type": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.6.tgz", - "integrity": "sha512-/mKVCtVpyBu3IDarv0G+59KC4stsD5mDsGpYh+GKs1NZT88Jh52+cuoA1AtLk2Q0r/quNl+1cSUyLRHBFeD0XA==", - "dev": true, - "requires": {} - }, - "@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-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 - }, - "emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true - }, - "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" - } - }, - "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" - } - } - } - }, - "@isaacs/fs-minipass": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", - "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", - "requires": { - "minipass": "^7.0.4" - } - }, - "@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==", - "dev": true - }, - "@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "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.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==" - }, - "@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.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, - "requires": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" - }, - "@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" - } - }, - "@jsonjoy.com/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA==", - "dev": true, - "requires": {} - }, - "@jsonjoy.com/json-pack": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.2.0.tgz", - "integrity": "sha512-io1zEbbYcElht3tdlqEOFxZ0dMTYrHz9iMf0gqn1pPjZFTCgM5R4R5IMA20Chb2UPYYsxjzs8CgZ7Nb5n2K2rA==", - "dev": true, - "requires": { - "@jsonjoy.com/base64": "^1.1.1", - "@jsonjoy.com/util": "^1.1.2", - "hyperdyperid": "^1.2.0", - "thingies": "^1.20.0" - } - }, - "@jsonjoy.com/util": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.6.0.tgz", - "integrity": "sha512-sw/RMbehRhN68WRtcKCpQOPfnH6lLP4GJfqzi3iYej8tnzpZUDr6UkZYJjcjjC0FWEJOJbyM3PTIwxucUmDG2A==", - "dev": true, - "requires": {} - }, - "@leichtgewicht/ip-codec": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz", - "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==", - "dev": true - }, - "@listr2/prompt-adapter-inquirer": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-2.0.18.tgz", - "integrity": "sha512-0hz44rAcrphyXcA8IS7EJ2SCoaBZD2u5goE8S/e+q/DL+dOGpqpcLidVOFeLG3VgML62SXmfRLAhWt0zL1oW4Q==", - "dev": true, - "requires": { - "@inquirer/type": "^1.5.5" - }, - "dependencies": { - "@inquirer/type": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz", - "integrity": "sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA==", - "dev": true, - "requires": { - "mute-stream": "^1.0.0" - } - }, - "mute-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", - "dev": true - } - } - }, - "@lmdb/lmdb-darwin-arm64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.2.6.tgz", - "integrity": "sha512-yF/ih9EJJZc72psFQbwnn8mExIWfTnzWJg+N02hnpXtDPETYLmQswIMBn7+V88lfCaFrMozJsUvcEQIkEPU0Gg==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-darwin-x64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.2.6.tgz", - "integrity": "sha512-5BbCumsFLbCi586Bb1lTWQFkekdQUw8/t8cy++Uq251cl3hbDIGEwD9HAwh8H6IS2F6QA9KdKmO136LmipRNkg==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-linux-arm": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.2.6.tgz", - "integrity": "sha512-+6XgLpMb7HBoWxXj+bLbiiB4s0mRRcDPElnRS3LpWRzdYSe+gFk5MT/4RrVNqd2MESUDmb53NUXw1+BP69bjiQ==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-linux-arm64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.2.6.tgz", - "integrity": "sha512-l5VmJamJ3nyMmeD1ANBQCQqy7do1ESaJQfKPSm2IG9/ADZryptTyCj8N6QaYgIWewqNUrcbdMkJajRQAt5Qjfg==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-linux-x64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.2.6.tgz", - "integrity": "sha512-nDYT8qN9si5+onHYYaI4DiauDMx24OAiuZAUsEqrDy+ja/3EbpXPX/VAkMV8AEaQhy3xc4dRC+KcYIvOFefJ4Q==", - "dev": true, - "optional": true - }, - "@lmdb/lmdb-win32-x64": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.2.6.tgz", - "integrity": "sha512-XlqVtILonQnG+9fH2N3Aytria7P/1fwDgDhl29rde96uH2sLB8CHORIf2PfuLVzFQJ7Uqp8py9AYwr3ZUCFfWg==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-darwin-arm64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", - "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-darwin-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", - "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-linux-arm": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", - "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-linux-arm64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", - "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-linux-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", - "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", - "dev": true, - "optional": true - }, - "@msgpackr-extract/msgpackr-extract-win32-x64": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", - "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", - "dev": true, - "optional": true - }, - "@napi-rs/nice": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.0.1.tgz", - "integrity": "sha512-zM0mVWSXE0a0h9aKACLwKmD6nHcRiKrPpCfvaKqG1CqDEyjEawId0ocXxVzPMCAm6kkWr2P025msfxXEnt8UGQ==", - "dev": true, - "optional": true, - "requires": { - "@napi-rs/nice-android-arm-eabi": "1.0.1", - "@napi-rs/nice-android-arm64": "1.0.1", - "@napi-rs/nice-darwin-arm64": "1.0.1", - "@napi-rs/nice-darwin-x64": "1.0.1", - "@napi-rs/nice-freebsd-x64": "1.0.1", - "@napi-rs/nice-linux-arm-gnueabihf": "1.0.1", - "@napi-rs/nice-linux-arm64-gnu": "1.0.1", - "@napi-rs/nice-linux-arm64-musl": "1.0.1", - "@napi-rs/nice-linux-ppc64-gnu": "1.0.1", - "@napi-rs/nice-linux-riscv64-gnu": "1.0.1", - "@napi-rs/nice-linux-s390x-gnu": "1.0.1", - "@napi-rs/nice-linux-x64-gnu": "1.0.1", - "@napi-rs/nice-linux-x64-musl": "1.0.1", - "@napi-rs/nice-win32-arm64-msvc": "1.0.1", - "@napi-rs/nice-win32-ia32-msvc": "1.0.1", - "@napi-rs/nice-win32-x64-msvc": "1.0.1" - } - }, - "@napi-rs/nice-android-arm-eabi": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.0.1.tgz", - "integrity": "sha512-5qpvOu5IGwDo7MEKVqqyAxF90I6aLj4n07OzpARdgDRfz8UbBztTByBp0RC59r3J1Ij8uzYi6jI7r5Lws7nn6w==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-android-arm64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.0.1.tgz", - "integrity": "sha512-GqvXL0P8fZ+mQqG1g0o4AO9hJjQaeYG84FRfZaYjyJtZZZcMjXW5TwkL8Y8UApheJgyE13TQ4YNUssQaTgTyvA==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-darwin-arm64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.0.1.tgz", - "integrity": "sha512-91k3HEqUl2fsrz/sKkuEkscj6EAj3/eZNCLqzD2AA0TtVbkQi8nqxZCZDMkfklULmxLkMxuUdKe7RvG/T6s2AA==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-darwin-x64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.0.1.tgz", - "integrity": "sha512-jXnMleYSIR/+TAN/p5u+NkCA7yidgswx5ftqzXdD5wgy/hNR92oerTXHc0jrlBisbd7DpzoaGY4cFD7Sm5GlgQ==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-freebsd-x64": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.0.1.tgz", - "integrity": "sha512-j+iJ/ezONXRQsVIB/FJfwjeQXX7A2tf3gEXs4WUGFrJjpe/z2KB7sOv6zpkm08PofF36C9S7wTNuzHZ/Iiccfw==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-arm-gnueabihf": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.0.1.tgz", - "integrity": "sha512-G8RgJ8FYXYkkSGQwywAUh84m946UTn6l03/vmEXBYNJxQJcD+I3B3k5jmjFG/OPiU8DfvxutOP8bi+F89MCV7Q==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-arm64-gnu": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.0.1.tgz", - "integrity": "sha512-IMDak59/W5JSab1oZvmNbrms3mHqcreaCeClUjwlwDr0m3BoR09ZiN8cKFBzuSlXgRdZ4PNqCYNeGQv7YMTjuA==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-arm64-musl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.0.1.tgz", - "integrity": "sha512-wG8fa2VKuWM4CfjOjjRX9YLIbysSVV1S3Kgm2Fnc67ap/soHBeYZa6AGMeR5BJAylYRjnoVOzV19Cmkco3QEPw==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-ppc64-gnu": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.0.1.tgz", - "integrity": "sha512-lxQ9WrBf0IlNTCA9oS2jg/iAjQyTI6JHzABV664LLrLA/SIdD+I1i3Mjf7TsnoUbgopBcCuDztVLfJ0q9ubf6Q==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-riscv64-gnu": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.0.1.tgz", - "integrity": "sha512-3xs69dO8WSWBb13KBVex+yvxmUeEsdWexxibqskzoKaWx9AIqkMbWmE2npkazJoopPKX2ULKd8Fm9veEn0g4Ig==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-s390x-gnu": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.0.1.tgz", - "integrity": "sha512-lMFI3i9rlW7hgToyAzTaEybQYGbQHDrpRkg+1gJWEpH0PLAQoZ8jiY0IzakLfNWnVda1eTYYlxxFYzW8Rqczkg==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-x64-gnu": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.0.1.tgz", - "integrity": "sha512-XQAJs7DRN2GpLN6Fb+ZdGFeYZDdGl2Fn3TmFlqEL5JorgWKrQGRUrpGKbgZ25UeZPILuTKJ+OowG2avN8mThBA==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-linux-x64-musl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.0.1.tgz", - "integrity": "sha512-/rodHpRSgiI9o1faq9SZOp/o2QkKQg7T+DK0R5AkbnI/YxvAIEHf2cngjYzLMQSQgUhxym+LFr+UGZx4vK4QdQ==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-win32-arm64-msvc": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.0.1.tgz", - "integrity": "sha512-rEcz9vZymaCB3OqEXoHnp9YViLct8ugF+6uO5McifTedjq4QMQs3DHz35xBEGhH3gJWEsXMUbzazkz5KNM5YUg==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-win32-ia32-msvc": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.0.1.tgz", - "integrity": "sha512-t7eBAyPUrWL8su3gDxw9xxxqNwZzAqKo0Szv3IjVQd1GpXXVkb6vBBQUuxfIYaXMzZLwlxRQ7uzM2vdUE9ULGw==", - "dev": true, - "optional": true - }, - "@napi-rs/nice-win32-x64-msvc": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.0.1.tgz", - "integrity": "sha512-JlF+uDcatt3St2ntBG8H02F1mM45i5SF9W+bIKiReVE6wiy3o16oBP/yxt+RZ+N6LbCImJXJ6bXNO2kn9AXicg==", - "dev": true, - "optional": true - }, - "@ngtools/webpack": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-19.2.12.tgz", - "integrity": "sha512-MTxkM+jZPQP55q0BWx/1w2kaN9mSFC14V9+p4sfNm/OXk7fibtxz5lXH/2sDGFWJi36s4gppKqfHBhp9OTdHCQ==", - "dev": true, - "requires": {} - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "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==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@npmcli/agent": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", - "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", - "dev": true, - "requires": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, - "dependencies": { - "lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - } - } - }, - "@npmcli/fs": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", - "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", - "dev": true, - "requires": { - "semver": "^7.3.5" - } - }, - "@npmcli/git": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-6.0.3.tgz", - "integrity": "sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ==", - "dev": true, - "requires": { - "@npmcli/promise-spawn": "^8.0.0", - "ini": "^5.0.0", - "lru-cache": "^10.0.1", - "npm-pick-manifest": "^10.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^5.0.0" - }, - "dependencies": { - "isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true - }, - "lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, - "which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "dev": true, - "requires": { - "isexe": "^3.1.1" - } - } - } - }, - "@npmcli/installed-package-contents": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz", - "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==", - "dev": true, - "requires": { - "npm-bundled": "^4.0.0", - "npm-normalize-package-bin": "^4.0.0" - } - }, - "@npmcli/node-gyp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz", - "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==", - "dev": true - }, - "@npmcli/package-json": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.1.1.tgz", - "integrity": "sha512-d5qimadRAUCO4A/Txw71VM7UrRZzV+NPclxz/dc+M6B2oYwjWTjqh8HA/sGQgs9VZuJ6I/P7XIAlJvgrl27ZOw==", - "dev": true, - "requires": { - "@npmcli/git": "^6.0.0", - "glob": "^10.2.2", - "hosted-git-info": "^8.0.0", - "json-parse-even-better-errors": "^4.0.0", - "proc-log": "^5.0.0", - "semver": "^7.5.3", - "validate-npm-package-license": "^3.0.4" - }, - "dependencies": { - "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" - } - }, - "glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - } - }, - "minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "@npmcli/promise-spawn": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.2.tgz", - "integrity": "sha512-/bNJhjc+o6qL+Dwz/bqfTQClkEO5nTQ1ZEcdCkAQjhkZMHIh22LPG7fNh1enJP1NKWDqYiiABnjFCY7E0zHYtQ==", - "dev": true, - "requires": { - "which": "^5.0.0" - }, - "dependencies": { - "isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true - }, - "which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "dev": true, - "requires": { - "isexe": "^3.1.1" - } - } - } - }, - "@npmcli/redact": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.2.2.tgz", - "integrity": "sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==", - "dev": true - }, - "@npmcli/run-script": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-9.1.0.tgz", - "integrity": "sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==", - "dev": true, - "requires": { - "@npmcli/node-gyp": "^4.0.0", - "@npmcli/package-json": "^6.0.0", - "@npmcli/promise-spawn": "^8.0.0", - "node-gyp": "^11.0.0", - "proc-log": "^5.0.0", - "which": "^5.0.0" - }, - "dependencies": { - "isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true - }, - "which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "dev": true, - "requires": { - "isexe": "^3.1.1" - } - } - } - }, - "@parcel/watcher": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", - "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", - "dev": true, - "optional": true, - "requires": { - "@parcel/watcher-android-arm64": "2.5.1", - "@parcel/watcher-darwin-arm64": "2.5.1", - "@parcel/watcher-darwin-x64": "2.5.1", - "@parcel/watcher-freebsd-x64": "2.5.1", - "@parcel/watcher-linux-arm-glibc": "2.5.1", - "@parcel/watcher-linux-arm-musl": "2.5.1", - "@parcel/watcher-linux-arm64-glibc": "2.5.1", - "@parcel/watcher-linux-arm64-musl": "2.5.1", - "@parcel/watcher-linux-x64-glibc": "2.5.1", - "@parcel/watcher-linux-x64-musl": "2.5.1", - "@parcel/watcher-win32-arm64": "2.5.1", - "@parcel/watcher-win32-ia32": "2.5.1", - "@parcel/watcher-win32-x64": "2.5.1", - "detect-libc": "^1.0.3", - "is-glob": "^4.0.3", - "micromatch": "^4.0.5", - "node-addon-api": "^7.0.0" - }, - "dependencies": { - "detect-libc": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", - "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", - "dev": true, - "optional": true - }, - "node-addon-api": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", - "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", - "dev": true, - "optional": true - } - } - }, - "@parcel/watcher-android-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", - "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", - "dev": true, - "optional": true - }, - "@parcel/watcher-darwin-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", - "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", - "dev": true, - "optional": true - }, - "@parcel/watcher-darwin-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", - "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", - "dev": true, - "optional": true - }, - "@parcel/watcher-freebsd-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", - "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", - "dev": true, - "optional": true - }, - "@parcel/watcher-linux-arm-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", - "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", - "dev": true, - "optional": true - }, - "@parcel/watcher-linux-arm-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", - "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", - "dev": true, - "optional": true - }, - "@parcel/watcher-linux-arm64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", - "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", - "dev": true, - "optional": true - }, - "@parcel/watcher-linux-arm64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", - "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", - "dev": true, - "optional": true - }, - "@parcel/watcher-linux-x64-glibc": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", - "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", - "dev": true, - "optional": true - }, - "@parcel/watcher-linux-x64-musl": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", - "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", - "dev": true, - "optional": true - }, - "@parcel/watcher-win32-arm64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", - "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", - "dev": true, - "optional": true - }, - "@parcel/watcher-win32-ia32": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", - "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", - "dev": true, - "optional": true - }, - "@parcel/watcher-win32-x64": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", - "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", - "dev": true, - "optional": true - }, - "@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 - }, - "@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" - }, - "@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - }, - "@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "requires": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" - }, - "@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" - }, - "@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" - }, - "@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" - }, - "@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" - }, - "@rollup/plugin-json": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.1.0.tgz", - "integrity": "sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^5.1.0" - } - }, - "@rollup/pluginutils": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.1.4.tgz", - "integrity": "sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==", - "dev": true, - "requires": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^4.0.2" - } - }, - "@rollup/rollup-android-arm-eabi": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.34.8.tgz", - "integrity": "sha512-q217OSE8DTp8AFHuNHXo0Y86e1wtlfVrXiAlwkIvGRQv9zbc6mE3sjIVfwI8sYUyNxwOg0j/Vm1RKM04JcWLJw==", - "dev": true, - "optional": true - }, - "@rollup/rollup-android-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.34.8.tgz", - "integrity": "sha512-Gigjz7mNWaOL9wCggvoK3jEIUUbGul656opstjaUSGC3eT0BM7PofdAJaBfPFWWkXNVAXbaQtC99OCg4sJv70Q==", - "dev": true, - "optional": true - }, - "@rollup/rollup-darwin-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.34.8.tgz", - "integrity": "sha512-02rVdZ5tgdUNRxIUrFdcMBZQoaPMrxtwSb+/hOfBdqkatYHR3lZ2A2EGyHq2sGOd0Owk80oV3snlDASC24He3Q==", - "dev": true, - "optional": true - }, - "@rollup/rollup-darwin-x64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.34.8.tgz", - "integrity": "sha512-qIP/elwR/tq/dYRx3lgwK31jkZvMiD6qUtOycLhTzCvrjbZ3LjQnEM9rNhSGpbLXVJYQ3rq39A6Re0h9tU2ynw==", - "dev": true, - "optional": true - }, - "@rollup/rollup-freebsd-arm64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.34.8.tgz", - "integrity": "sha512-IQNVXL9iY6NniYbTaOKdrlVP3XIqazBgJOVkddzJlqnCpRi/yAeSOa8PLcECFSQochzqApIOE1GHNu3pCz+BDA==", - "dev": true, - "optional": true - }, - "@rollup/rollup-freebsd-x64": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.34.8.tgz", - "integrity": "sha512-TYXcHghgnCqYFiE3FT5QwXtOZqDj5GmaFNTNt3jNC+vh22dc/ukG2cG+pi75QO4kACohZzidsq7yKTKwq/Jq7Q==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.34.8.tgz", - "integrity": "sha512-A4iphFGNkWRd+5m3VIGuqHnG3MVnqKe7Al57u9mwgbyZ2/xF9Jio72MaY7xxh+Y87VAHmGQr73qoKL9HPbXj1g==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-arm-musleabihf": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.34.8.tgz", - "integrity": "sha512-S0lqKLfTm5u+QTxlFiAnb2J/2dgQqRy/XvziPtDd1rKZFXHTyYLoVL58M/XFwDI01AQCDIevGLbQrMAtdyanpA==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-arm64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.34.8.tgz", - "integrity": "sha512-jpz9YOuPiSkL4G4pqKrus0pn9aYwpImGkosRKwNi+sJSkz+WU3anZe6hi73StLOQdfXYXC7hUfsQlTnjMd3s1A==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-arm64-musl": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.34.8.tgz", - "integrity": "sha512-KdSfaROOUJXgTVxJNAZ3KwkRc5nggDk+06P6lgi1HLv1hskgvxHUKZ4xtwHkVYJ1Rep4GNo+uEfycCRRxht7+Q==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.34.8.tgz", - "integrity": "sha512-NyF4gcxwkMFRjgXBM6g2lkT58OWztZvw5KkV2K0qqSnUEqCVcqdh2jN4gQrTn/YUpAcNKyFHfoOZEer9nwo6uQ==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.34.8.tgz", - "integrity": "sha512-LMJc999GkhGvktHU85zNTDImZVUCJ1z/MbAJTnviiWmmjyckP5aQsHtcujMjpNdMZPT2rQEDBlJfubhs3jsMfw==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-riscv64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.34.8.tgz", - "integrity": "sha512-xAQCAHPj8nJq1PI3z8CIZzXuXCstquz7cIOL73HHdXiRcKk8Ywwqtx2wrIy23EcTn4aZ2fLJNBB8d0tQENPCmw==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-riscv64-musl": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.41.0.tgz", - "integrity": "sha512-ieQljaZKuJpmWvd8gW87ZmSFwid6AxMDk5bhONJ57U8zT77zpZ/TPKkU9HpnnFrM4zsgr4kiGuzbIbZTGi7u9A==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-linux-s390x-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.34.8.tgz", - "integrity": "sha512-DdePVk1NDEuc3fOe3dPPTb+rjMtuFw89gw6gVWxQFAuEqqSdDKnrwzZHrUYdac7A7dXl9Q2Vflxpme15gUWQFA==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-x64-gnu": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.34.8.tgz", - "integrity": "sha512-8y7ED8gjxITUltTUEJLQdgpbPh1sUQ0kMTmufRF/Ns5tI9TNMNlhWtmPKKHCU0SilX+3MJkZ0zERYYGIVBYHIA==", - "dev": true, - "optional": true - }, - "@rollup/rollup-linux-x64-musl": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.34.8.tgz", - "integrity": "sha512-SCXcP0ZpGFIe7Ge+McxY5zKxiEI5ra+GT3QRxL0pMMtxPfpyLAKleZODi1zdRHkz5/BhueUrYtYVgubqe9JBNQ==", - "dev": true, - "optional": true - }, - "@rollup/rollup-win32-arm64-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.34.8.tgz", - "integrity": "sha512-YHYsgzZgFJzTRbth4h7Or0m5O74Yda+hLin0irAIobkLQFRQd1qWmnoVfwmKm9TXIZVAD0nZ+GEb2ICicLyCnQ==", - "dev": true, - "optional": true - }, - "@rollup/rollup-win32-ia32-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.34.8.tgz", - "integrity": "sha512-r3NRQrXkHr4uWy5TOjTpTYojR9XmF0j/RYgKCef+Ag46FWUTltm5ziticv8LdNsDMehjJ543x/+TJAek/xBA2w==", - "dev": true, - "optional": true - }, - "@rollup/rollup-win32-x64-msvc": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.34.8.tgz", - "integrity": "sha512-U0FaE5O1BCpZSeE6gBl3c5ObhePQSfk9vDRToMmTkbhCOgW4jqvtS5LGyQ76L1fH8sM0keRp4uDTsbjiUyjk0g==", - "dev": true, - "optional": true - }, - "@rollup/wasm-node": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/wasm-node/-/wasm-node-4.41.0.tgz", - "integrity": "sha512-G+y2Uj8XvsPWMA+kVfKPcrhOWtcwKaCCr8KNZPiADfJV4+g4HUeJKuT8Fz71F7PNVD3t+xqX8rlpIULAlAJ+sQ==", - "dev": true, - "requires": { - "@types/estree": "1.0.7", - "fsevents": "~2.3.2" - } - }, - "@schematics/angular": { - "version": "19.2.12", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-19.2.12.tgz", - "integrity": "sha512-6S6tclFctLrjMvhpi8eVvswIpXqlybRpZLCTWyVeWIC6PHYLEyFmFoOhuhcSmOdtnwudvzOt6xWnWEVb3qXZbQ==", - "requires": { - "@angular-devkit/core": "19.2.12", - "@angular-devkit/schematics": "19.2.12", - "jsonc-parser": "3.3.1" - } - }, - "@sigstore/bundle": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-3.1.0.tgz", - "integrity": "sha512-Mm1E3/CmDDCz3nDhFKTuYdB47EdRFRQMOE/EAbiG1MJW77/w1b3P7Qx7JSrVJs8PfwOLOVcKQCHErIwCTyPbag==", - "dev": true, - "requires": { - "@sigstore/protobuf-specs": "^0.4.0" - } - }, - "@sigstore/core": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-2.0.0.tgz", - "integrity": "sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==", - "dev": true - }, - "@sigstore/protobuf-specs": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.4.2.tgz", - "integrity": "sha512-F2ye+n1INNhqT0MW+LfUEvTUPc/nS70vICJcxorKl7/gV9CO39+EDCw+qHNKEqvsDWk++yGVKCbzK1qLPvmC8g==", - "dev": true - }, - "@sigstore/sign": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-3.1.0.tgz", - "integrity": "sha512-knzjmaOHOov1Ur7N/z4B1oPqZ0QX5geUfhrVaqVlu+hl0EAoL4o+l0MSULINcD5GCWe3Z0+YJO8ues6vFlW0Yw==", - "dev": true, - "requires": { - "@sigstore/bundle": "^3.1.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.4.0", - "make-fetch-happen": "^14.0.2", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1" - } - }, - "@sigstore/tuf": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-3.1.1.tgz", - "integrity": "sha512-eFFvlcBIoGwVkkwmTi/vEQFSva3xs5Ot3WmBcjgjVdiaoelBLQaQ/ZBfhlG0MnG0cmTYScPpk7eDdGDWUcFUmg==", - "dev": true, - "requires": { - "@sigstore/protobuf-specs": "^0.4.1", - "tuf-js": "^3.0.1" - } - }, - "@sigstore/verify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-2.1.1.tgz", - "integrity": "sha512-hVJD77oT67aowHxwT4+M6PGOp+E2LtLdTK3+FC0lBO9T7sYwItDMXZ7Z07IDCvR1M717a4axbIWckrW67KMP/w==", - "dev": true, - "requires": { - "@sigstore/bundle": "^3.1.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.4.1" - } - }, - "@sindresorhus/merge-streams": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/merge-streams/-/merge-streams-2.3.0.tgz", - "integrity": "sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==", - "dev": true - }, - "@socket.io/component-emitter": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", - "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", - "dev": true - }, - "@tailwindcss/node": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.7.tgz", - "integrity": "sha512-9rsOpdY9idRI2NH6CL4wORFY0+Q6fnx9XP9Ju+iq/0wJwGD5IByIgFmwVbyy4ymuyprj8Qh4ErxMKTUL4uNh3g==", - "requires": { - "@ampproject/remapping": "^2.3.0", - "enhanced-resolve": "^5.18.1", - "jiti": "^2.4.2", - "lightningcss": "1.30.1", - "magic-string": "^0.30.17", - "source-map-js": "^1.2.1", - "tailwindcss": "4.1.7" - } - }, - "@tailwindcss/oxide": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.7.tgz", - "integrity": "sha512-5SF95Ctm9DFiUyjUPnDGkoKItPX/k+xifcQhcqX5RA85m50jw1pT/KzjdvlqxRja45Y52nR4MR9fD1JYd7f8NQ==", - "requires": { - "@tailwindcss/oxide-android-arm64": "4.1.7", - "@tailwindcss/oxide-darwin-arm64": "4.1.7", - "@tailwindcss/oxide-darwin-x64": "4.1.7", - "@tailwindcss/oxide-freebsd-x64": "4.1.7", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.7", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.7", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.7", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.7", - "@tailwindcss/oxide-linux-x64-musl": "4.1.7", - "@tailwindcss/oxide-wasm32-wasi": "4.1.7", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.7", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.7", - "detect-libc": "^2.0.4", - "tar": "^7.4.3" - } - }, - "@tailwindcss/oxide-android-arm64": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.7.tgz", - "integrity": "sha512-IWA410JZ8fF7kACus6BrUwY2Z1t1hm0+ZWNEzykKmMNM09wQooOcN/VXr0p/WJdtHZ90PvJf2AIBS/Ceqx1emg==", - "optional": true - }, - "@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.7.tgz", - "integrity": "sha512-81jUw9To7fimGGkuJ2W5h3/oGonTOZKZ8C2ghm/TTxbwvfSiFSDPd6/A/KE2N7Jp4mv3Ps9OFqg2fEKgZFfsvg==", - "optional": true - }, - "@tailwindcss/oxide-darwin-x64": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.7.tgz", - "integrity": "sha512-q77rWjEyGHV4PdDBtrzO0tgBBPlQWKY7wZK0cUok/HaGgbNKecegNxCGikuPJn5wFAlIywC3v+WMBt0PEBtwGw==", - "optional": true - }, - "@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.7.tgz", - "integrity": "sha512-RfmdbbK6G6ptgF4qqbzoxmH+PKfP4KSVs7SRlTwcbRgBwezJkAO3Qta/7gDy10Q2DcUVkKxFLXUQO6J3CRvBGw==", - "optional": true - }, - "@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.7.tgz", - "integrity": "sha512-OZqsGvpwOa13lVd1z6JVwQXadEobmesxQ4AxhrwRiPuE04quvZHWn/LnihMg7/XkN+dTioXp/VMu/p6A5eZP3g==", - "optional": true - }, - "@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.7.tgz", - "integrity": "sha512-voMvBTnJSfKecJxGkoeAyW/2XRToLZ227LxswLAwKY7YslG/Xkw9/tJNH+3IVh5bdYzYE7DfiaPbRkSHFxY1xA==", - "optional": true - }, - "@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.7.tgz", - "integrity": "sha512-PjGuNNmJeKHnP58M7XyjJyla8LPo+RmwHQpBI+W/OxqrwojyuCQ+GUtygu7jUqTEexejZHr/z3nBc/gTiXBj4A==", - "optional": true - }, - "@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.7.tgz", - "integrity": "sha512-HMs+Va+ZR3gC3mLZE00gXxtBo3JoSQxtu9lobbZd+DmfkIxR54NO7Z+UQNPsa0P/ITn1TevtFxXTpsRU7qEvWg==", - "optional": true - }, - "@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.7.tgz", - "integrity": "sha512-MHZ6jyNlutdHH8rd+YTdr3QbXrHXqwIhHw9e7yXEBcQdluGwhpQY2Eku8UZK6ReLaWtQ4gijIv5QoM5eE+qlsA==", - "optional": true - }, - "@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.7.tgz", - "integrity": "sha512-ANaSKt74ZRzE2TvJmUcbFQ8zS201cIPxUDm5qez5rLEwWkie2SkGtA4P+GPTj+u8N6JbPrC8MtY8RmJA35Oo+A==", - "optional": true, - "requires": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@emnapi/wasi-threads": "^1.0.2", - "@napi-rs/wasm-runtime": "^0.2.9", - "@tybys/wasm-util": "^0.9.0", - "tslib": "^2.8.0" - } - }, - "@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.7.tgz", - "integrity": "sha512-HUiSiXQ9gLJBAPCMVRk2RT1ZrBjto7WvqsPBwUrNK2BcdSxMnk19h4pjZjI7zgPhDxlAbJSumTC4ljeA9y0tEw==", - "optional": true - }, - "@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.7.tgz", - "integrity": "sha512-rYHGmvoHiLJ8hWucSfSOEmdCBIGZIq7SpkPRSqLsH2Ab2YUNgKeAPT1Fi2cx3+hnYOrAb0jp9cRyode3bBW4mQ==", - "optional": true - }, - "@tailwindcss/postcss": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.7.tgz", - "integrity": "sha512-88g3qmNZn7jDgrrcp3ZXEQfp9CVox7xjP1HN2TFKI03CltPVd/c61ydn5qJJL8FYunn0OqBaW5HNUga0kmPVvw==", - "requires": { - "@alloc/quick-lru": "^5.2.0", - "@tailwindcss/node": "4.1.7", - "@tailwindcss/oxide": "4.1.7", - "postcss": "^8.4.41", - "tailwindcss": "4.1.7" - } - }, - "@tanstack/angular-form": { - "version": "0.42.1", - "resolved": "https://registry.npmjs.org/@tanstack/angular-form/-/angular-form-0.42.1.tgz", - "integrity": "sha512-7uMewhfDrCo8X+CZSMGBu6xifeIhvGsDpwZeXrUYDrS7ZzVzUysFLuZPbGLylmWTVBRhdK85A6xXjoiBiAYP2A==", - "dev": true, - "requires": { - "@tanstack/angular-store": "^0.7.0", - "@tanstack/form-core": "0.42.1", - "tslib": "^2.8.1" - } - }, - "@tanstack/angular-store": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@tanstack/angular-store/-/angular-store-0.7.0.tgz", - "integrity": "sha512-Ybl3fCZpfubPDQPbhhvpLGHFx2FRwQHv5bi5tluOtlkTZw3gVxuF+rMxVHfvm3CTI418W7VwiRfPz8//8Gxvkw==", - "requires": { - "@tanstack/store": "0.7.0", - "tslib": "^2.8.1" - } - }, - "@tanstack/form-core": { - "version": "0.42.1", - "resolved": "https://registry.npmjs.org/@tanstack/form-core/-/form-core-0.42.1.tgz", - "integrity": "sha512-jTU0jyHqFceujdtPNv3jPVej1dTqBwa8TYdIyWB5BCwRVUBZEp1PiYEBkC9r92xu5fMpBiKc+JKud3eeVjuMiA==", - "dev": true, - "requires": { - "@tanstack/store": "^0.7.0" - } - }, - "@tanstack/store": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.7.0.tgz", - "integrity": "sha512-CNIhdoUsmD2NolYuaIs8VfWM467RK6oIBAW4nPEKZhg1smZ+/CwtCdpURgp7nxSqOaV9oKkzdWD80+bC66F/Jg==" - }, - "@tufjs/canonical-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", - "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", - "dev": true - }, - "@tufjs/models": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-3.0.1.tgz", - "integrity": "sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==", - "dev": true, - "requires": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.5" - }, - "dependencies": { - "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" - } - }, - "minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "dev": true, - "requires": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", - "dev": true, - "requires": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "@types/cors": { - "version": "2.8.18", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.18.tgz", - "integrity": "sha512-nX3d0sxJW41CqQvfOzVG1NCTXfFDrDWIghCZncpHeWlVFd81zxB/DLhg7avFg6eHLCRX7ckBmoIIcqa++upvJA==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "dev": true, - "requires": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "requires": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", - "dev": true - }, - "@types/express": { - "version": "4.17.22", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.22.tgz", - "integrity": "sha512-eZUmSnhRX9YRSkplpz0N+k6NljUUn5l3EWZIKZvYzhvMphEuNiyyy1viH/ejgt66JWgALwC/gtSUAeQKtSwW/w==", - "dev": true, - "requires": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "@types/express-serve-static-core": { - "version": "4.19.6", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz", - "integrity": "sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true - }, - "@types/http-proxy": { - "version": "1.17.16", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.16.tgz", - "integrity": "sha512-sdWoUajOB1cd0A8cRRQ1cfyWNbmFKLAqBB89Y8x5iYyG/mkJHc0YUH8pdWBy2omi9qtCpiIgGjuwO0dQST2l5w==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/jasmine": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.8.tgz", - "integrity": "sha512-u7/CnvRdh6AaaIzYjCgUuVbREFgulhX05Qtf6ZtW+aOcjCKKVvKgpkPYJBFTZSHtFBYimzU4zP0V2vrEsq9Wcg==", - "dev": true - }, - "@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true - }, - "@types/node": { - "version": "18.19.101", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.101.tgz", - "integrity": "sha512-Ykg7fcE3+cOQlLUv2Ds3zil6DVjriGQaSN/kEpl5HQ3DIGM6W0F2n9+GkWV4bRt7KjLymgzNdTnSKCbFUUJ7Kw==", - "requires": { - "undici-types": "~5.26.4" - } - }, - "@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==", - "dev": true - }, - "@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true - }, - "@types/retry": { - "version": "0.12.2", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.2.tgz", - "integrity": "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow==", - "dev": true - }, - "@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "dev": true, - "requires": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "dev": true, - "requires": { - "@types/express": "*" - } - }, - "@types/serve-static": { - "version": "1.15.7", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz", - "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==", - "dev": true, - "requires": { - "@types/http-errors": "*", - "@types/node": "*", - "@types/send": "*" - } - }, - "@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@types/ws": { - "version": "8.18.1", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz", - "integrity": "sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==", - "dev": true, - "requires": { - "@types/node": "*" - } - }, - "@vitejs/plugin-basic-ssl": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.2.0.tgz", - "integrity": "sha512-mkQnxTkcldAzIsomk1UuLfAu9n+kpQ3JbHcpCp7d2Oo6ITtji8pHS3QToOWjhPFvNQSnhlkAjmGbhv2QvwO/7Q==", - "dev": true, - "requires": {} - }, - "@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "dev": true, - "requires": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true - }, - "@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "dev": true, - "requires": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "dev": true, - "requires": { - "@xtuc/long": "4.2.2" - } - }, - "@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" - } - }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@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==", - "dev": true - }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "abbrev": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", - "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", - "dev": true - }, - "accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "requires": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - } - }, - "acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "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==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - } - } - }, - "agent-base": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.3.tgz", - "integrity": "sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==", - "dev": true - }, - "ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "requires": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - } - }, - "ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", - "requires": { - "ajv": "^8.0.0" - } - }, - "ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3" - } - }, - "ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "requires": { - "type-fest": "^0.21.3" - } - }, - "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==", - "dev": true - }, - "ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "requires": { - "color-convert": "^2.0.1" - } - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "dependencies": { - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - } - } - }, - "argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" - }, - "autoprefixer": { - "version": "10.4.20", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz", - "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==", - "dev": true, - "requires": { - "browserslist": "^4.23.3", - "caniuse-lite": "^1.0.30001646", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.1", - "postcss-value-parser": "^4.2.0" - } - }, - "babel-loader": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz", - "integrity": "sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA==", - "dev": true, - "requires": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" - } - }, - "babel-plugin-polyfill-corejs2": { - "version": "0.4.13", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.13.tgz", - "integrity": "sha512-3sX/eOms8kd3q2KZ6DAhKPc0dgm525Gqq5NtWKZ7QYYZEv57OQ54KtblzJzH1lQF/eQxO8KjWGIK9IPUJNus5g==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.6.4", - "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==", - "dev": true - } - } - }, - "babel-plugin-polyfill-corejs3": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz", - "integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.6.3", - "core-js-compat": "^3.40.0" - } - }, - "babel-plugin-polyfill-regenerator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.4.tgz", - "integrity": "sha512-7gD3pRadPrbjhjLyxebmx/WrFYcuSjZ0XbdUujQMZ/fcE9oeewk2U/7PCvez84UeuK3oSjmPZ0Ch0dlupQvGzw==", - "dev": true, - "requires": { - "@babel/helper-define-polyfill-provider": "^0.6.4" - } - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true - }, - "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==", - "dev": true - }, - "beasties": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.2.tgz", - "integrity": "sha512-p4AF8uYzm9Fwu8m/hSVTCPXrRBPmB34hQpHsec2KOaR9CZmgoU8IOv4Cvwq4hgz2p4hLMNbsdNl5XeA6XbAQwA==", - "dev": true, - "requires": { - "css-select": "^5.1.0", - "css-what": "^6.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.3", - "htmlparser2": "^10.0.0", - "picocolors": "^1.1.1", - "postcss": "^8.4.49", - "postcss-media-query-parser": "^0.2.3" - } - }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", - "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", - "dev": true - }, - "bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "requires": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", - "requires": { - "bytes": "3.1.2", - "content-type": "~1.0.5", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "bonjour-service": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", - "integrity": "sha512-3YuAUiSkWykd+2Azjgyxei8OWf8thdn8AITIog2M4UICzoqfjlqr64WIjEXZllf/W6vK1goqleSR6brGomxQqA==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", - "dev": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "requires": { - "fill-range": "^7.1.1" - } - }, - "browserslist": { - "version": "4.24.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", - "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001716", - "electron-to-chromium": "^1.5.149", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.3" - } - }, - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "bundle-name": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-4.1.0.tgz", - "integrity": "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==", - "dev": true, - "requires": { - "run-applescript": "^7.0.0" - } - }, - "bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==" - }, - "cacache": { - "version": "19.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", - "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", - "dev": true, - "requires": { - "@npmcli/fs": "^4.0.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^7.0.2", - "ssri": "^12.0.0", - "tar": "^7.4.3", - "unique-filename": "^4.0.0" - }, - "dependencies": { - "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" - } - }, - "glob": { - "version": "10.4.5", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", - "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", - "dev": true, - "requires": { - "foreground-child": "^3.1.0", - "jackspeak": "^3.1.2", - "minimatch": "^9.0.4", - "minipass": "^7.1.2", - "package-json-from-dist": "^1.0.0", - "path-scurry": "^1.11.1" - } - }, - "lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - }, - "minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "requires": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - } - }, - "call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "requires": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - } - }, - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - }, - "caniuse-lite": { - "version": "1.0.30001718", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001718.tgz", - "integrity": "sha512-AflseV1ahcSunK53NfEs9gFWgOEmzr0f+kaMFA4xiLZlr9Hzt7HxcSpIFcnNCUkz6R6dWKa54rUz3HUmI3nVcw==", - "dev": true - }, - "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" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "chokidar": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", - "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", - "devOptional": true, - "requires": { - "readdirp": "^4.0.1" - } - }, - "chownr": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", - "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==" - }, - "chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true - }, - "cli-cursor": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", - "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", - "dev": true, - "requires": { - "restore-cursor": "^5.0.0" - } - }, - "cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==" - }, - "cli-truncate": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", - "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", - "dev": true, - "requires": { - "slice-ansi": "^5.0.0", - "string-width": "^7.0.0" - } - }, - "cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", - "dev": true - }, - "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==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "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==" - }, - "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==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - } - } - }, - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - }, - "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==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "dependencies": { - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "requires": { - "isobject": "^3.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==", - "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==" - }, - "colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "commander": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-13.1.0.tgz", - "integrity": "sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==", - "dev": true - }, - "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==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.8.0.tgz", - "integrity": "sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==", - "dev": true, - "requires": { - "bytes": "3.1.2", - "compressible": "~2.0.18", - "debug": "2.6.9", - "negotiator": "~0.6.4", - "on-headers": "~1.0.2", - "safe-buffer": "5.2.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "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 - }, - "negotiator": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.4.tgz", - "integrity": "sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==", - "dev": true - } - } - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "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" - } - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true - }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true - } - } - }, - "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==", - "dev": true - }, - "content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "requires": { - "safe-buffer": "5.2.1" - } - }, - "content-type": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", - "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==" - }, - "convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "cookie": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz", - "integrity": "sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==" - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==" - }, - "copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", - "dev": true, - "requires": { - "is-what": "^3.14.1" - } - }, - "copy-webpack-plugin": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-12.0.2.tgz", - "integrity": "sha512-SNwdBeHyII+rWvee/bTnAYyO8vfVdcSTud4EIb6jcZ8inLeWucJE0DnxXQBjlQ5zlteuuvooGQy3LIyGxhvlOA==", - "dev": true, - "requires": { - "fast-glob": "^3.3.2", - "glob-parent": "^6.0.1", - "globby": "^14.0.0", - "normalize-path": "^3.0.0", - "schema-utils": "^4.2.0", - "serialize-javascript": "^6.0.2" - } - }, - "core-js-compat": { - "version": "3.42.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.42.0.tgz", - "integrity": "sha512-bQasjMfyDGyaeWKBIu33lHh9qlSR0MFE/Nmc6nMjf/iU9b3rSMdAYz1Baxrv4lPdGUsTqZudHA4jIGSJy0SWZQ==", - "dev": true, - "requires": { - "browserslist": "^4.24.4" - } - }, - "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==", - "dev": true - }, - "cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dev": true, - "requires": { - "object-assign": "^4", - "vary": "^1" - } - }, - "cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", - "dev": true, - "requires": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" - } - }, - "cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "requires": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "dependencies": { - "which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - } - } - }, - "css-loader": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz", - "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==", - "dev": true, - "requires": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.1.0", - "postcss-modules-local-by-default": "^4.0.5", - "postcss-modules-scope": "^3.2.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" - } - }, - "css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^6.1.0", - "domhandler": "^5.0.2", - "domutils": "^3.0.1", - "nth-check": "^2.0.1" - } - }, - "css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", - "dev": true - }, - "date-format": { - "version": "4.0.14", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", - "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", - "dev": true - }, - "debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, - "requires": { - "ms": "^2.1.3" - } - }, - "default-browser": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-5.2.1.tgz", - "integrity": "sha512-WY/3TUME0x3KPYdRRxEJJvXRHV4PyPoUsxtZa78lwItwRQRHhd2U9xOscaT/YTf8uCXIAjeJOFBVEh/7FtD8Xg==", - "dev": true, - "requires": { - "bundle-name": "^4.1.0", - "default-browser-id": "^5.0.0" - } - }, - "default-browser-id": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-5.0.0.tgz", - "integrity": "sha512-A6p/pu/6fyBcA1TRz/GqWYPViplrftcW2gZC9q79ngNCKAeR/X3gcEdXQHl4KNXV+3wgIJ1CPkJQ3IHM6lcsyA==", - "dev": true - }, - "defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "requires": { - "clone": "^1.0.2" - } - }, - "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 - }, - "depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==" - }, - "dependency-graph": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-1.0.0.tgz", - "integrity": "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==", - "dev": true - }, - "destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==" - }, - "detect-libc": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", - "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==" - }, - "detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", - "dev": true - }, - "dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "dev": true, - "requires": { - "@leichtgewicht/ip-codec": "^2.0.1" - } - }, - "dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", - "dev": true, - "requires": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.2", - "entities": "^4.2.0" - } - }, - "domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true - }, - "domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0" - } - }, - "domutils": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", - "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", - "dev": true, - "requires": { - "dom-serializer": "^2.0.0", - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3" - } - }, - "dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "requires": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.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", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" - }, - "electron-to-chromium": { - "version": "1.5.155", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.155.tgz", - "integrity": "sha512-ps5KcGGmwL8VaeJlvlDlu4fORQpv3+GIcF5I3f9tUKUlJ/wsysh6HU8P5L1XWRYeXfA0oJd4PyM8ds8zTFf6Ng==", - "dev": true - }, - "emoji-regex": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", - "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", - "dev": true - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==" - }, - "encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "optional": true, - "requires": { - "iconv-lite": "^0.6.2" - }, - "dependencies": { - "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==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "engine.io": { - "version": "6.6.4", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", - "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", - "dev": true, - "requires": { - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.7.2", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.17.1" - }, - "dependencies": { - "cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "dev": true - }, - "debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "requires": { - "ms": "^2.1.3" - } - } - } - }, - "engine.io-parser": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", - "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", - "dev": true - }, - "enhanced-resolve": { - "version": "5.18.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", - "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", - "requires": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - } - }, - "ent": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.2.tgz", - "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==", - "dev": true, - "requires": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "punycode": "^1.4.1", - "safe-regex-test": "^1.1.0" - } - }, - "entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true - }, - "env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true - }, - "environment": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", - "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", - "dev": true - }, - "err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, - "errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "optional": true, - "requires": { - "prr": "~1.0.1" - } - }, - "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==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==" - }, - "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-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", - "dev": true - }, - "es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "requires": { - "es-errors": "^1.3.0" - } - }, - "esbuild": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.4.tgz", - "integrity": "sha512-8pgjLUcUjcgDg+2Q4NYXnPbo/vncAY4UmyaCm0jZevERqCHZIaWwdJHkf8XQtu4AxSKCdvrUbT0XUr1IdZzI8Q==", - "dev": true, - "requires": { - "@esbuild/aix-ppc64": "0.25.4", - "@esbuild/android-arm": "0.25.4", - "@esbuild/android-arm64": "0.25.4", - "@esbuild/android-x64": "0.25.4", - "@esbuild/darwin-arm64": "0.25.4", - "@esbuild/darwin-x64": "0.25.4", - "@esbuild/freebsd-arm64": "0.25.4", - "@esbuild/freebsd-x64": "0.25.4", - "@esbuild/linux-arm": "0.25.4", - "@esbuild/linux-arm64": "0.25.4", - "@esbuild/linux-ia32": "0.25.4", - "@esbuild/linux-loong64": "0.25.4", - "@esbuild/linux-mips64el": "0.25.4", - "@esbuild/linux-ppc64": "0.25.4", - "@esbuild/linux-riscv64": "0.25.4", - "@esbuild/linux-s390x": "0.25.4", - "@esbuild/linux-x64": "0.25.4", - "@esbuild/netbsd-arm64": "0.25.4", - "@esbuild/netbsd-x64": "0.25.4", - "@esbuild/openbsd-arm64": "0.25.4", - "@esbuild/openbsd-x64": "0.25.4", - "@esbuild/sunos-x64": "0.25.4", - "@esbuild/win32-arm64": "0.25.4", - "@esbuild/win32-ia32": "0.25.4", - "@esbuild/win32-x64": "0.25.4" - } - }, - "esbuild-wasm": { - "version": "0.25.4", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.25.4.tgz", - "integrity": "sha512-2HlCS6rNvKWaSKhWaG/YIyRsTsL3gUrMP2ToZMBIjw9LM7vVcIs+rz8kE2vExvTJgvM8OKPqNpcHawY/BQc/qQ==", - "dev": true - }, - "escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==" - }, - "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==" - }, - "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==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - } - }, - "esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "requires": { - "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "estree-walker": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", - "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==" - }, - "eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", - "dev": true - }, - "events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true - }, - "exponential-backoff": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", - "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==", - "dev": true - }, - "express": { - "version": "4.21.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.21.2.tgz", - "integrity": "sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==", - "requires": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.3", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.7.1", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.3.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.12", - "proxy-addr": "~2.0.7", - "qs": "6.13.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.19.0", - "serve-static": "1.16.2", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" - }, - "fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==" - }, - "fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, - "faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", - "dev": true, - "requires": {} - }, - "fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "requires": { - "to-regex-range": "^5.0.1" - } - }, - "finalhandler": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz", - "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==", - "requires": { - "debug": "2.6.9", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "find-cache-dir": { - "version": "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" - } - }, - "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": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - } - }, - "firebase": { - "version": "11.8.0", - "resolved": "https://registry.npmjs.org/firebase/-/firebase-11.8.0.tgz", - "integrity": "sha512-zIv11czOqFayPllaJySKIKB2pS+xoWOnfI7j85SOiBKY1IW3NuZIaL+UgsZA+4PQZkPhFP8vmU2/oOun04ALbg==", - "requires": { - "@firebase/ai": "1.3.0", - "@firebase/analytics": "0.10.16", - "@firebase/analytics-compat": "0.2.22", - "@firebase/app": "0.13.0", - "@firebase/app-check": "0.10.0", - "@firebase/app-check-compat": "0.3.25", - "@firebase/app-compat": "0.4.0", - "@firebase/app-types": "0.9.3", - "@firebase/auth": "1.10.5", - "@firebase/auth-compat": "0.5.25", - "@firebase/data-connect": "0.3.8", - "@firebase/database": "1.0.18", - "@firebase/database-compat": "2.0.9", - "@firebase/firestore": "4.7.15", - "@firebase/firestore-compat": "0.3.50", - "@firebase/functions": "0.12.7", - "@firebase/functions-compat": "0.3.24", - "@firebase/installations": "0.6.17", - "@firebase/installations-compat": "0.2.17", - "@firebase/messaging": "0.12.21", - "@firebase/messaging-compat": "0.2.21", - "@firebase/performance": "0.7.6", - "@firebase/performance-compat": "0.2.19", - "@firebase/remote-config": "0.6.4", - "@firebase/remote-config-compat": "0.2.17", - "@firebase/storage": "0.13.11", - "@firebase/storage-compat": "0.3.21", - "@firebase/util": "1.12.0" - } - }, - "flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true - }, - "flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true - }, - "follow-redirects": { - "version": "1.15.9", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz", - "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==", - "dev": true - }, - "foreground-child": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", - "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", - "dev": true, - "requires": { - "cross-spawn": "^7.0.6", - "signal-exit": "^4.0.1" - } - }, - "forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==" - }, - "fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true - }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==" - }, - "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, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - }, - "fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "dev": true, - "requires": { - "minipass": "^7.0.3" - } - }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "optional": true - }, - "function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - }, - "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==", - "dev": true - }, - "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==" - }, - "get-east-asian-width": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", - "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", - "dev": true - }, - "get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "requires": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - } - }, - "get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "requires": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - } - }, - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "requires": { - "is-glob": "^4.0.3" - } - }, - "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==", - "dev": true - }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true - }, - "globby": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-14.1.0.tgz", - "integrity": "sha512-0Ia46fDOaT7k4og1PDW4YbodWWr3scS2vAr2lTbsplOt2WkKp0vQbkI9wKis/T5LV/dqPjO3bpS/z6GTJB82LA==", - "dev": true, - "requires": { - "@sindresorhus/merge-streams": "^2.1.0", - "fast-glob": "^3.3.3", - "ignore": "^7.0.3", - "path-type": "^6.0.0", - "slash": "^5.1.0", - "unicorn-magic": "^0.3.0" - } - }, - "gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==" - }, - "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==" - }, - "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==", - "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==" - }, - "has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==" - }, - "has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dev": true, - "requires": { - "has-symbols": "^1.0.3" - } - }, - "hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "requires": { - "function-bind": "^1.1.2" - } - }, - "hosted-git-info": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", - "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", - "dev": true, - "requires": { - "lru-cache": "^10.0.1" - }, - "dependencies": { - "lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - } - } - }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - }, - "dependencies": { - "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" - } - } - } - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "htmlparser2": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", - "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", - "dev": true, - "requires": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.2.1", - "entities": "^6.0.0" - }, - "dependencies": { - "entities": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", - "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", - "dev": true - } - } - }, - "http-cache-semantics": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", - "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", - "dev": true - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "dev": true - }, - "http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "requires": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - } - }, - "http-parser-js": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", - "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==" - }, - "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==", - "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" - } - }, - "http-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, - "requires": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - } - }, - "http-proxy-middleware": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.5.tgz", - "integrity": "sha512-GLZZm1X38BPY4lkXA01jhwxvDoOkkXqjgVyUzVxiEK4iuRu03PZoYHhHRwxnfhQMDuaxi3vVri0YgSro/1oWqg==", - "dev": true, - "requires": { - "@types/http-proxy": "^1.17.15", - "debug": "^4.3.6", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.3", - "is-plain-object": "^5.0.0", - "micromatch": "^4.0.8" - } - }, - "https-proxy-agent": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, - "requires": { - "agent-base": "^7.1.2", - "debug": "4" - } - }, - "hyperdyperid": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/hyperdyperid/-/hyperdyperid-1.2.0.tgz", - "integrity": "sha512-Y93lCzHYgGWdrJ66yIktxiaGULYc6oGiABxhcO5AufBeOyoIdZF7bIfLaOrbM0iGIOXQQgxxRrFEnb+Y6w1n4A==", - "dev": true - }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "requires": { - "safer-buffer": ">= 2.1.2 < 3" - } - }, - "icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "requires": {} - }, - "idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" - }, - "ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, - "ignore": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.4.tgz", - "integrity": "sha512-gJzzk+PQNznz8ysRrC0aOkBNVRBDtE1n53IqyqEf3PXrYwomFs5q4pGMizBMJF+ykh03insJ27hB8gSrD2Hn8A==", - "dev": true - }, - "ignore-walk": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-7.0.0.tgz", - "integrity": "sha512-T4gbf83A4NH95zvhVYZc+qWocBBGlpzUXLPGurJggw/WIOwicfXJChLDP/iBZnN5WqROSu5Bm3hhle4z8a8YGQ==", - "dev": true, - "requires": { - "minimatch": "^9.0.0" - }, - "dependencies": { - "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" - } - }, - "minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } - } - } - }, - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "dev": true, - "optional": true - }, - "immutable": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.2.tgz", - "integrity": "sha512-qHKXW1q6liAk1Oys6umoaZbDRqjcjgSrbnrifHsfsttza7zcvRAsL7mMV6xWcyhwQy7Xj5v4hhbr6b+iDYwlmQ==", - "dev": true - }, - "import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ini/-/ini-5.0.0.tgz", - "integrity": "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==", - "dev": true - }, - "injection-js": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/injection-js/-/injection-js-2.5.0.tgz", - "integrity": "sha512-UpY2ONt4xbht4GhSqQ2zMJ1rBIQq4uOY+DlR6aOeYyqK7xadXt7UQbJIyxmgk288bPMkIZKjViieHm0O0i72Jw==", - "dev": true, - "requires": { - "tslib": "^2.0.0" - } - }, - "ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "dev": true, - "requires": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - } - }, - "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==" - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "requires": { - "hasown": "^2.0.2" - } - }, - "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 - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "dev": true - }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "requires": { - "is-extglob": "^2.1.1" - } - }, - "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==", - "dev": true, - "requires": { - "is-docker": "^3.0.0" - } - }, - "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==" - }, - "is-network-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-network-error/-/is-network-error-1.1.0.tgz", - "integrity": "sha512-tUdRRAnhT+OtCZR/LxZelH/C7QtjtFrTu5tXCA8pl55eTUElUHT+GPYV8MBMBvea/j+NxQqVt3LbWMRir7Gx9g==", - "dev": true - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "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==", - "dev": true - }, - "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 - }, - "is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - } - }, - "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==" - }, - "is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true - }, - "is-wsl": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", - "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", - "dev": true, - "requires": { - "is-inside-container": "^1.0.0" - } - }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", - "dev": true - }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true - }, - "istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", - "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", - "dev": 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" - } - }, - "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==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - } - }, - "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==", - "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.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 - } - } - }, - "istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", - "dev": true, - "requires": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - } - }, - "jackspeak": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", - "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", - "dev": true, - "requires": { - "@isaacs/cliui": "^8.0.2", - "@pkgjs/parseargs": "^0.11.0" - } - }, - "jasmine-core": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.5.0.tgz", - "integrity": "sha512-NHOvoPO6o9gVR6pwqEACTEpbgcH+JJ6QDypyymGbSUIFIFsMMbBJ/xsFNud8MSClfnWclXd7RQlAZBz7yVo5TQ==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "@types/node": "*", - "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" - } - } - } - }, - "jiti": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz", - "integrity": "sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==" - }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "requires": { - "argparse": "^2.0.1" - } - }, - "jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "dev": true - }, - "jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true - }, - "json-parse-even-better-errors": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", - "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", - "dev": true - }, - "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==" - }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, - "jsonc-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", - "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==" - }, - "jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } - }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true - }, - "karma": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz", - "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==", - "dev": true, - "requires": { - "@colors/colors": "1.5.0", - "body-parser": "^1.19.0", - "braces": "^3.0.2", - "chokidar": "^3.5.1", - "connect": "^3.7.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.1", - "glob": "^7.1.7", - "graceful-fs": "^4.2.6", - "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.8", - "lodash": "^4.17.21", - "log4js": "^6.4.1", - "mime": "^2.5.2", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.5", - "qjobs": "^1.2.0", - "range-parser": "^1.2.1", - "rimraf": "^3.0.2", - "socket.io": "^4.7.2", - "source-map": "^0.6.1", - "tmp": "^0.2.1", - "ua-parser-js": "^0.7.30", - "yargs": "^16.1.1" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "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 - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "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 - }, - "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, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "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, - "requires": { - "ansi-regex": "^5.0.1" - } - }, - "tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", - "dev": true - }, - "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, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "requires": { - "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" - } - }, - "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==", - "dev": true - } - } - }, - "karma-chrome-launcher": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", - "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", - "dev": true, - "requires": { - "which": "^1.2.1" - } - }, - "karma-coverage": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", - "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.2.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.1", - "istanbul-reports": "^3.0.5", - "minimatch": "^3.0.4" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "@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" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "karma-jasmine": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", - "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", - "dev": true, - "requires": { - "jasmine-core": "^4.1.0" - }, - "dependencies": { - "jasmine-core": { - "version": "4.6.1", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz", - "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==", - "dev": true - } - } - }, - "karma-jasmine-html-reporter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", - "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==", - "dev": true, - "requires": {} - }, - "karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", - "dev": true, - "requires": { - "source-map-support": "^0.5.5" - } - }, - "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==", - "dev": true - }, - "launch-editor": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.10.0.tgz", - "integrity": "sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==", - "dev": true, - "requires": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" - } - }, - "less": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/less/-/less-4.2.2.tgz", - "integrity": "sha512-tkuLHQlvWUTeQ3doAqnHbNn8T6WX1KA8yvbKG9x4VtKtIjHsVKQZCH11zRgAfbDAXC2UNIg/K9BYAAcEzUIrNg==", - "dev": true, - "requires": { - "copy-anything": "^2.0.1", - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^3.1.0", - "parse-node-version": "^1.0.1", - "source-map": "~0.6.0", - "tslib": "^2.3.0" - }, - "dependencies": { - "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, - "optional": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, - "optional": true - }, - "semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "optional": 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 - } - } - }, - "less-loader": { - "version": "12.2.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-12.2.0.tgz", - "integrity": "sha512-MYUxjSQSBUQmowc0l5nPieOYwMzGPUaTzB6inNW/bdPEG9zOL3eAAD1Qw5ZxSPk7we5dMojHwNODYMV1hq4EVg==", - "dev": true, - "requires": {} - }, - "license-webpack-plugin": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", - "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", - "dev": true, - "requires": { - "webpack-sources": "^3.0.0" - } - }, - "lightningcss": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.1.tgz", - "integrity": "sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==", - "requires": { - "detect-libc": "^2.0.3", - "lightningcss-darwin-arm64": "1.30.1", - "lightningcss-darwin-x64": "1.30.1", - "lightningcss-freebsd-x64": "1.30.1", - "lightningcss-linux-arm-gnueabihf": "1.30.1", - "lightningcss-linux-arm64-gnu": "1.30.1", - "lightningcss-linux-arm64-musl": "1.30.1", - "lightningcss-linux-x64-gnu": "1.30.1", - "lightningcss-linux-x64-musl": "1.30.1", - "lightningcss-win32-arm64-msvc": "1.30.1", - "lightningcss-win32-x64-msvc": "1.30.1" - } - }, - "lightningcss-darwin-arm64": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.1.tgz", - "integrity": "sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==", - "optional": true - }, - "lightningcss-darwin-x64": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.1.tgz", - "integrity": "sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==", - "optional": true - }, - "lightningcss-freebsd-x64": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.1.tgz", - "integrity": "sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==", - "optional": true - }, - "lightningcss-linux-arm-gnueabihf": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.1.tgz", - "integrity": "sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==", - "optional": true - }, - "lightningcss-linux-arm64-gnu": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.1.tgz", - "integrity": "sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==", - "optional": true - }, - "lightningcss-linux-arm64-musl": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.1.tgz", - "integrity": "sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==", - "optional": true - }, - "lightningcss-linux-x64-gnu": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.1.tgz", - "integrity": "sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==", - "optional": true - }, - "lightningcss-linux-x64-musl": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.1.tgz", - "integrity": "sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==", - "optional": true - }, - "lightningcss-win32-arm64-msvc": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.1.tgz", - "integrity": "sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==", - "optional": true - }, - "lightningcss-win32-x64-msvc": { - "version": "1.30.1", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.1.tgz", - "integrity": "sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==", - "optional": true - }, - "lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "listr2": { - "version": "8.2.5", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.2.5.tgz", - "integrity": "sha512-iyAZCeyD+c1gPyE9qpFu8af0Y+MRtmKOncdGoA2S5EY8iFq99dmmvkNnHiWo+pj0s7yH7l3KPIgee77tKpXPWQ==", - "dev": true, - "requires": { - "cli-truncate": "^4.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^6.1.0", - "rfdc": "^1.4.1", - "wrap-ansi": "^9.0.0" - }, - "dependencies": { - "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 - }, - "eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", - "dev": true - }, - "wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "requires": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - } - } - } - }, - "lmdb": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.2.6.tgz", - "integrity": "sha512-SuHqzPl7mYStna8WRotY8XX/EUZBjjv3QyKIByeCLFfC9uXT/OIHByEcA07PzbMfQAM0KYJtLgtpMRlIe5dErQ==", - "dev": true, - "optional": true, - "requires": { - "@lmdb/lmdb-darwin-arm64": "3.2.6", - "@lmdb/lmdb-darwin-x64": "3.2.6", - "@lmdb/lmdb-linux-arm": "3.2.6", - "@lmdb/lmdb-linux-arm64": "3.2.6", - "@lmdb/lmdb-linux-x64": "3.2.6", - "@lmdb/lmdb-win32-x64": "3.2.6", - "msgpackr": "^1.11.2", - "node-addon-api": "^6.1.0", - "node-gyp-build-optional-packages": "5.2.2", - "ordered-binary": "^1.5.3", - "weak-lru-cache": "^1.2.2" - } - }, - "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==", - "dev": true - }, - "loader-utils": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.3.1.tgz", - "integrity": "sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==", - "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": { - "p-locate": "^6.0.0" - } - }, - "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "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==", - "requires": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - } - }, - "log-update": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", - "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", - "dev": true, - "requires": { - "ansi-escapes": "^7.0.0", - "cli-cursor": "^5.0.0", - "slice-ansi": "^7.1.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "dependencies": { - "ansi-escapes": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", - "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", - "dev": true, - "requires": { - "environment": "^1.0.0" - } - }, - "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 - }, - "is-fullwidth-code-point": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", - "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", - "dev": true, - "requires": { - "get-east-asian-width": "^1.0.0" - } - }, - "slice-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", - "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", - "dev": true, - "requires": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" - } - }, - "wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "requires": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - } - } - } - }, - "log4js": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", - "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", - "dev": true, - "requires": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "flatted": "^3.2.7", - "rfdc": "^1.3.0", - "streamroller": "^3.1.5" - } - }, - "long": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", - "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==" - }, - "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==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", - "requires": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "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==", - "dev": true, - "requires": { - "semver": "^7.5.3" - } - }, - "make-fetch-happen": { - "version": "14.0.3", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", - "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", - "dev": true, - "requires": { - "@npmcli/agent": "^3.0.0", - "cacache": "^19.0.1", - "http-cache-semantics": "^4.1.1", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^1.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "ssri": "^12.0.0" - }, - "dependencies": { - "negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "dev": true - } - } - }, - "math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==" - }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==" - }, - "memfs": { - "version": "4.17.2", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-4.17.2.tgz", - "integrity": "sha512-NgYhCOWgovOXSzvYgUW0LQ7Qy72rWQMGGFJDoWg4G30RHd3z77VbYdtJ4fembJXBy8pMIUA31XNAupobOQlwdg==", - "dev": true, - "requires": { - "@jsonjoy.com/json-pack": "^1.0.3", - "@jsonjoy.com/util": "^1.3.0", - "tree-dump": "^1.0.1", - "tslib": "^2.0.0" - } - }, - "merge-descriptors": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", - "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==" - }, - "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==", - "dev": true - }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" - }, - "micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "requires": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "dependencies": { - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - } - } - }, - "mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true - }, - "mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - }, - "mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "requires": { - "mime-db": "1.52.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "mimic-function": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", - "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", - "dev": true - }, - "mini-css-extract-plugin": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.9.2.tgz", - "integrity": "sha512-GJuACcS//jtq4kCtd5ii/M0SZf7OZRH+BxdqXZHaJfb8TJiVl+NgQRPwiYt2EuqeSkNydn/7vP+bcE27C5mb9w==", - "dev": true, - "requires": { - "schema-utils": "^4.0.0", - "tapable": "^2.2.1" - } - }, - "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==", - "dev": true - }, - "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "requires": { - "brace-expansion": "^1.1.7" - } - }, - "minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true - }, - "minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==" - }, - "minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "dev": true, - "requires": { - "minipass": "^7.0.3" - } - }, - "minipass-fetch": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", - "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", - "dev": true, - "requires": { - "encoding": "^0.1.13", - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^3.0.1" - } - }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "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 - } - } - }, - "minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "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 - } - } - }, - "minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "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 - } - } - }, - "minizlib": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", - "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", - "requires": { - "minipass": "^7.1.2" - } - }, - "mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "requires": { - "minimist": "^1.2.6" - } - }, - "mrmime": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", - "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", - "dev": true - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" - }, - "msgpackr": { - "version": "1.11.4", - "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.4.tgz", - "integrity": "sha512-uaff7RG9VIC4jacFW9xzL3jc0iM32DNHe4jYVycBcjUePT/Klnfj7pqtWJt9khvDFizmjN2TlYniYmSS2LIaZg==", - "dev": true, - "optional": true, - "requires": { - "msgpackr-extract": "^3.0.2" - } - }, - "msgpackr-extract": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", - "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", - "dev": true, - "optional": true, - "requires": { - "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", - "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3", - "node-gyp-build-optional-packages": "5.2.2" - } - }, - "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==", - "dev": true, - "requires": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - } - }, - "mute-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", - "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", - "dev": true - }, - "nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==" - }, - "nanostores": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/nanostores/-/nanostores-0.11.4.tgz", - "integrity": "sha512-k1oiVNN4hDK8NcNERSZLQiMfRzEGtfnvZvdBvey3SQbgn8Dcrk0h1I6vpxApjb10PFUflZrgJ2WEZyJQ+5v7YQ==" - }, - "needle": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", - "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", - "dev": true, - "optional": true, - "requires": { - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - }, - "dependencies": { - "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==", - "dev": true, - "optional": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==" - }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "ng-packagr": { - "version": "19.2.2", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-19.2.2.tgz", - "integrity": "sha512-dFuwFsDJMBSd1YtmLLcX5bNNUCQUlRqgf34aXA+79PmkOP+0eF8GP2949wq3+jMjmFTNm80Oo8IUYiSLwklKCQ==", - "dev": true, - "requires": { - "@rollup/plugin-json": "^6.1.0", - "@rollup/wasm-node": "^4.24.0", - "ajv": "^8.17.1", - "ansi-colors": "^4.1.3", - "browserslist": "^4.22.1", - "chokidar": "^4.0.1", - "commander": "^13.0.0", - "convert-source-map": "^2.0.0", - "dependency-graph": "^1.0.0", - "esbuild": "^0.25.0", - "fast-glob": "^3.3.2", - "find-cache-dir": "^3.3.2", - "injection-js": "^2.4.0", - "jsonc-parser": "^3.3.1", - "less": "^4.2.0", - "ora": "^5.1.0", - "piscina": "^4.7.0", - "postcss": "^8.4.47", - "rollup": "^4.24.0", - "rxjs": "^7.8.1", - "sass": "^1.81.0" - }, - "dependencies": { - "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==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "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" - } - }, - "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==", - "dev": true, - "requires": { - "semver": "^6.0.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" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true - } - } - }, - "node-addon-api": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", - "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", - "dev": true, - "optional": true - }, - "node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true - }, - "node-gyp": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.2.0.tgz", - "integrity": "sha512-T0S1zqskVUSxcsSTkAsLc7xCycrRYmtDHadDinzocrThjyQCn5kMlEBSj6H4qDbgsIOSLmmlRIeb0lZXj+UArA==", - "dev": true, - "requires": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^14.0.3", - "nopt": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "tar": "^7.4.3", - "tinyglobby": "^0.2.12", - "which": "^5.0.0" - }, - "dependencies": { - "isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true - }, - "which": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", - "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", - "dev": true, - "requires": { - "isexe": "^3.1.1" - } - } - } - }, - "node-gyp-build-optional-packages": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", - "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", - "dev": true, - "optional": true, - "requires": { - "detect-libc": "^2.0.1" - } - }, - "node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true - }, - "nopt": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", - "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", - "dev": true, - "requires": { - "abbrev": "^3.0.0" - } - }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "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==", - "dev": true - }, - "npm-bundled": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz", - "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==", - "dev": true, - "requires": { - "npm-normalize-package-bin": "^4.0.0" - } - }, - "npm-install-checks": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.1.tgz", - "integrity": "sha512-u6DCwbow5ynAX5BdiHQ9qvexme4U3qHW3MWe5NqH+NeBm0LbiH6zvGjNNew1fY+AZZUtVHbOPF3j7mJxbUzpXg==", - "dev": true, - "requires": { - "semver": "^7.1.1" - } - }, - "npm-normalize-package-bin": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", - "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", - "dev": true - }, - "npm-package-arg": { - "version": "12.0.2", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", - "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", - "dev": true, - "requires": { - "hosted-git-info": "^8.0.0", - "proc-log": "^5.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^6.0.0" - } - }, - "npm-packlist": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-9.0.0.tgz", - "integrity": "sha512-8qSayfmHJQTx3nJWYbbUmflpyarbLMBc6LCAjYsiGtXxDB68HaZpb8re6zeaLGxZzDuMdhsg70jryJe+RrItVQ==", - "dev": true, - "requires": { - "ignore-walk": "^7.0.0" - } - }, - "npm-pick-manifest": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz", - "integrity": "sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==", - "dev": true, - "requires": { - "npm-install-checks": "^7.1.0", - "npm-normalize-package-bin": "^4.0.0", - "npm-package-arg": "^12.0.0", - "semver": "^7.3.5" - } - }, - "npm-registry-fetch": { - "version": "18.0.2", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz", - "integrity": "sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==", - "dev": true, - "requires": { - "@npmcli/redact": "^3.0.0", - "jsonparse": "^1.3.1", - "make-fetch-happen": "^14.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^4.0.0", - "minizlib": "^3.0.1", - "npm-package-arg": "^12.0.0", - "proc-log": "^5.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "boolbase": "^1.0.0" - } - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true - }, - "object-inspect": { - "version": "1.13.4", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", - "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==" - }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "requires": { - "wrappy": "1" - } - }, - "onetime": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", - "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", - "dev": true, - "requires": { - "mimic-function": "^5.0.0" - } - }, - "open": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/open/-/open-10.1.0.tgz", - "integrity": "sha512-mnkeQ1qP5Ue2wd+aivTD3NHd/lZ96Lu0jgf0pwktLPtx6cTZiH7tyeGRRHs0zX0rbrahXPnXlUnbeXyaBBuIaw==", - "dev": true, - "requires": { - "default-browser": "^5.2.1", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^3.1.0" - } - }, - "ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "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-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "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==" - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "ordered-binary": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.5.3.tgz", - "integrity": "sha512-oGFr3T+pYdTGJ+YFEILMpS3es+GiIbs9h/XQrclBXUtd44ey7XwfsMzM31f64I1SQOawDoDr/D823kNCADI8TA==", - "dev": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true - }, - "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": { - "yocto-queue": "^1.0.0" - } - }, - "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": { - "p-limit": "^4.0.0" - } - }, - "p-map": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", - "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", - "dev": true - }, - "p-retry": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-6.2.1.tgz", - "integrity": "sha512-hEt02O4hUct5wtwg4H4KcWgDdm+l1bOaEy/hWzd8xtXB9BqxTWBBhb+2ImAtH4Cv4rPjV76xN3Zumqk3k3AhhQ==", - "dev": true, - "requires": { - "@types/retry": "0.12.2", - "is-network-error": "^1.0.0", - "retry": "^0.13.1" - }, - "dependencies": { - "retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true - } - } - }, - "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==", - "dev": true - }, - "package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true - }, - "pacote": { - "version": "20.0.0", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-20.0.0.tgz", - "integrity": "sha512-pRjC5UFwZCgx9kUFDVM9YEahv4guZ1nSLqwmWiLUnDbGsjs+U5w7z6Uc8HNR1a6x8qnu5y9xtGE6D1uAuYz+0A==", - "dev": true, - "requires": { - "@npmcli/git": "^6.0.0", - "@npmcli/installed-package-contents": "^3.0.0", - "@npmcli/package-json": "^6.0.0", - "@npmcli/promise-spawn": "^8.0.0", - "@npmcli/run-script": "^9.0.0", - "cacache": "^19.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^12.0.0", - "npm-packlist": "^9.0.0", - "npm-pick-manifest": "^10.0.0", - "npm-registry-fetch": "^18.0.0", - "proc-log": "^5.0.0", - "promise-retry": "^2.0.1", - "sigstore": "^3.0.0", - "ssri": "^12.0.0", - "tar": "^6.1.11" - }, - "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "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" - } - } - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "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": { - "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" - } - } - } - }, - "minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "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 - } - } - }, - "parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "requires": { - "callsites": "^3.0.0" - } - }, - "parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "dependencies": { - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - } - } - }, - "parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true - }, - "parse5": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.3.0.tgz", - "integrity": "sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==", - "dev": true, - "requires": { - "entities": "^6.0.0" - }, - "dependencies": { - "entities": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.0.tgz", - "integrity": "sha512-aKstq2TDOndCn4diEyp9Uq/Flu2i1GlLkc6XIDQSDMuaFE3OPW5OphLCyQ5SpSJZTb4reN+kTcYru5yIfXoRPw==", - "dev": true - } - } - }, - "parse5-html-rewriting-stream": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", - "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", - "dev": true, - "requires": { - "entities": "^4.3.0", - "parse5": "^7.0.0", - "parse5-sax-parser": "^7.0.0" - } - }, - "parse5-sax-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", - "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", - "dev": true, - "requires": { - "parse5": "^7.0.0" - } - }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" - }, - "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 - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true - }, - "path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true - }, - "path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "path-scurry": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", - "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", - "dev": true, - "requires": { - "lru-cache": "^10.2.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "dependencies": { - "lru-cache": { - "version": "10.4.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", - "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", - "dev": true - } - } - }, - "path-to-regexp": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz", - "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==" - }, - "path-type": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-6.0.0.tgz", - "integrity": "sha512-Vj7sf++t5pBD637NSfkxpHSMfWaeig5+DKWLhcqIYx6mWQz5hdJTGDVMQiJcw1ZYkhs7AazKDGpRVji1LJCZUQ==", - "dev": true - }, - "picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" - }, - "picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==" - }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "optional": true - }, - "piscina": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.8.0.tgz", - "integrity": "sha512-EZJb+ZxDrQf3dihsUL7p42pjNyrNIFJCrRHPMgxu/svsj+P3xS3fuEWp7k2+rfsavfl1N0G29b1HGs7J0m8rZA==", - "dev": true, - "requires": { - "@napi-rs/nice": "^1.0.1" - } - }, - "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" - } - }, - "postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", - "requires": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - } - }, - "postcss-loader": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.1.1.tgz", - "integrity": "sha512-0IeqyAsG6tYiDRCYKQJLAmgQr47DX6N7sFSWvQxt6AcupX8DIdmykuk/o/tx0Lze3ErGHJEp5OSRxrelC6+NdQ==", - "dev": true, - "requires": { - "cosmiconfig": "^9.0.0", - "jiti": "^1.20.0", - "semver": "^7.5.4" - }, - "dependencies": { - "jiti": { - "version": "1.21.7", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", - "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", - "dev": true - } - } - }, - "postcss-media-query-parser": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", - "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", - "dev": true - }, - "postcss-modules-extract-imports": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz", - "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==", - "dev": true, - "requires": {} - }, - "postcss-modules-local-by-default": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.2.0.tgz", - "integrity": "sha512-5kcJm/zk+GJDSfw+V/42fJ5fhjL5YbFDl8nVdXkJPLLW+Vf9mTD5Xe0wqIaDnLuL2U6cDNpTr+UQ+v2HWIBhzw==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^7.0.0", - "postcss-value-parser": "^4.1.0" - } - }, - "postcss-modules-scope": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.1.tgz", - "integrity": "sha512-m9jZstCVaqGjTAuny8MdgE88scJnCiQSlSrOWcTQgM2t32UBe+MUmFSO5t7VMSfAf/FJKImAxBav8ooCHJXCJA==", - "dev": true, - "requires": { - "postcss-selector-parser": "^7.0.0" - } - }, - "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==", - "dev": true, - "requires": { - "icss-utils": "^5.0.0" - } - }, - "postcss-selector-parser": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.0.tgz", - "integrity": "sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==", - "dev": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - } - }, - "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==", - "dev": true - }, - "proc-log": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", - "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", - "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==", - "dev": true - }, - "promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "requires": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - } - }, - "protobufjs": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.2.tgz", - "integrity": "sha512-f2ls6rpO6G153Cy+o2XQ+Y0sARLOZ17+OGVLHrc3VUKcLHYKEKWbkSujdBWQXM7gKn5NTfp0XnRPZn1MIu8n9w==", - "requires": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - } - }, - "proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "requires": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - } - }, - "prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "optional": true - }, - "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 - }, - "qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true - }, - "qs": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", - "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", - "requires": { - "side-channel": "^1.0.6" - } - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" - }, - "raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - } - }, - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "readdirp": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", - "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", - "devOptional": true - }, - "reflect-metadata": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", - "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", - "dev": true - }, - "regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz", - "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==", - "dev": true, - "requires": { - "regenerate": "^1.4.2" - } - }, - "regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true - }, - "regex-parser": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.1.tgz", - "integrity": "sha512-yXLRqatcCuKtVHsWrNg0JL3l1zGfdXeEvDa0bdu4tCDQw0RpMDZsqbkyRTUnKMR0tXF627V2oEWjBEaEdqTwtQ==", - "dev": true - }, - "regexpu-core": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.2.0.tgz", - "integrity": "sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==", - "dev": true, - "requires": { - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.2.0", - "regjsgen": "^0.8.0", - "regjsparser": "^0.12.0", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - } - }, - "regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==", - "dev": true - }, - "regjsparser": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.12.0.tgz", - "integrity": "sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==", - "dev": true, - "requires": { - "jsesc": "~3.0.2" - }, - "dependencies": { - "jsesc": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz", - "integrity": "sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==", - "dev": true - } - } - }, - "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==" - }, - "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==" - }, - "requires-port": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", - "dev": true - }, - "resolve": { - "version": "1.22.10", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", - "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", - "dev": true, - "requires": { - "is-core-module": "^2.16.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "resolve-url-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", - "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", - "dev": true, - "requires": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.14", - "source-map": "0.6.1" - }, - "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==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } - }, - "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 - } - } - }, - "restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", - "dev": true, - "requires": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" - } - }, - "retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true - }, - "reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true - }, - "rfdc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", - "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rollup": { - "version": "4.34.8", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.34.8.tgz", - "integrity": "sha512-489gTVMzAYdiZHFVA/ig/iYFllCcWFHMvUHI1rpFmkoUtRlQxqh6/yiNqnYibjMZ2b/+FUQwldG+aLsEt6bglQ==", - "dev": true, - "requires": { - "@rollup/rollup-android-arm-eabi": "4.34.8", - "@rollup/rollup-android-arm64": "4.34.8", - "@rollup/rollup-darwin-arm64": "4.34.8", - "@rollup/rollup-darwin-x64": "4.34.8", - "@rollup/rollup-freebsd-arm64": "4.34.8", - "@rollup/rollup-freebsd-x64": "4.34.8", - "@rollup/rollup-linux-arm-gnueabihf": "4.34.8", - "@rollup/rollup-linux-arm-musleabihf": "4.34.8", - "@rollup/rollup-linux-arm64-gnu": "4.34.8", - "@rollup/rollup-linux-arm64-musl": "4.34.8", - "@rollup/rollup-linux-loongarch64-gnu": "4.34.8", - "@rollup/rollup-linux-powerpc64le-gnu": "4.34.8", - "@rollup/rollup-linux-riscv64-gnu": "4.34.8", - "@rollup/rollup-linux-s390x-gnu": "4.34.8", - "@rollup/rollup-linux-x64-gnu": "4.34.8", - "@rollup/rollup-linux-x64-musl": "4.34.8", - "@rollup/rollup-win32-arm64-msvc": "4.34.8", - "@rollup/rollup-win32-ia32-msvc": "4.34.8", - "@rollup/rollup-win32-x64-msvc": "4.34.8", - "@types/estree": "1.0.6", - "fsevents": "~2.3.2" - }, - "dependencies": { - "@types/estree": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", - "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", - "dev": true - } - } - }, - "run-applescript": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-7.0.0.tgz", - "integrity": "sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==", - "dev": true - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, - "rxfire": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/rxfire/-/rxfire-6.1.0.tgz", - "integrity": "sha512-NezdjeY32VZcCuGO0bbb8H8seBsJSCaWdUwGsHNzUcAOHR0VGpzgPtzjuuLXr8R/iemkqSzbx/ioS7VwV43ynA==", - "requires": {} - }, - "rxjs": { - "version": "7.8.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "requires": { - "tslib": "^2.1.0" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, - "safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - } - }, - "safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" - }, - "sass": { - "version": "1.85.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.85.0.tgz", - "integrity": "sha512-3ToiC1xZ1Y8aU7+CkgCI/tqyuPXEmYGJXO7H4uqp0xkLXUqp88rQQ4j1HmP37xSJLbCJPaIiv+cT1y+grssrww==", - "dev": true, - "requires": { - "@parcel/watcher": "^2.4.1", - "chokidar": "^4.0.0", - "immutable": "^5.0.2", - "source-map-js": ">=0.6.2 <2.0.0" - } - }, - "sass-loader": { - "version": "16.0.5", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-16.0.5.tgz", - "integrity": "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw==", - "dev": true, - "requires": { - "neo-async": "^2.6.2" - } - }, - "sax": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.4.1.tgz", - "integrity": "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==", - "dev": true, - "optional": true - }, - "schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", - "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-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "requires": { - "ajv": "^8.0.0" - } - } - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true - }, - "selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", - "dev": true, - "requires": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" - } - }, - "semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true - }, - "send": { - "version": "0.19.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz", - "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==", - "requires": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - } - } - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==" - }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" - } - } - }, - "serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true - } - } - }, - "serve-static": { - "version": "1.16.2", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz", - "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==", - "requires": { - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.19.0" - } - }, - "setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "requires": { - "kind-of": "^6.0.2" - } - }, - "shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "requires": { - "shebang-regex": "^3.0.0" - } - }, - "shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true - }, - "shell-quote": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.2.tgz", - "integrity": "sha512-AzqKpGKjrj7EM6rKVQEPpB288oCfnrEIuyoT9cyF4nmGa7V8Zk6f7RRqYisX8X9m+Q7bd632aZW4ky7EhbQztA==", - "dev": true - }, - "side-channel": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", - "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", - "requires": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3", - "side-channel-list": "^1.0.0", - "side-channel-map": "^1.0.1", - "side-channel-weakmap": "^1.0.2" - } - }, - "side-channel-list": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "requires": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - } - }, - "side-channel-map": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", - "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3" - } - }, - "side-channel-weakmap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", - "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", - "requires": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.5", - "object-inspect": "^1.13.3", - "side-channel-map": "^1.0.1" - } - }, - "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 - }, - "sigstore": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-3.1.0.tgz", - "integrity": "sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q==", - "dev": true, - "requires": { - "@sigstore/bundle": "^3.1.0", - "@sigstore/core": "^2.0.0", - "@sigstore/protobuf-specs": "^0.4.0", - "@sigstore/sign": "^3.1.0", - "@sigstore/tuf": "^3.1.0", - "@sigstore/verify": "^2.1.0" - } - }, - "slash": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-5.1.0.tgz", - "integrity": "sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==", - "dev": true - }, - "slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, - "requires": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "dependencies": { - "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 - } - } - }, - "smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true - }, - "socket.io": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", - "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "cors": "~2.8.5", - "debug": "~4.3.2", - "engine.io": "~6.6.0", - "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.4" - }, - "dependencies": { - "debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "requires": { - "ms": "^2.1.3" - } - } - } - }, - "socket.io-adapter": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", - "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", - "dev": true, - "requires": { - "debug": "~4.3.4", - "ws": "~8.17.1" - }, - "dependencies": { - "debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "requires": { - "ms": "^2.1.3" - } - } - } - }, - "socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", - "dev": true, - "requires": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "dependencies": { - "debug": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", - "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", - "dev": true, - "requires": { - "ms": "^2.1.3" - } - } - } - }, - "sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "requires": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "socks": { - "version": "2.8.4", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.4.tgz", - "integrity": "sha512-D3YaD0aRxR3mEcqnidIs7ReYJFVzWdd6fXJYUM8ixcQcJRGTka/b3saV0KflYhyVJXKhb947GndU35SxYNResQ==", - "dev": true, - "requires": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - } - }, - "socks-proxy-agent": { - "version": "8.0.5", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", - "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", - "dev": true, - "requires": { - "agent-base": "^7.1.2", - "debug": "^4.3.4", - "socks": "^2.8.3" - } - }, - "source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==" - }, - "source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==" - }, - "source-map-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", - "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", - "dev": true, - "requires": { - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.2" - }, - "dependencies": { - "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==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } - } - }, - "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==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "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==", - "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.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true - }, - "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, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "spdx-license-ids": { - "version": "3.0.21", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz", - "integrity": "sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==", - "dev": true - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - } - }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "dev": true - }, - "ssri": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", - "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", - "dev": true, - "requires": { - "minipass": "^7.0.3" - } - }, - "statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==" - }, - "streamroller": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", - "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", - "dev": true, - "requires": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "fs-extra": "^8.1.0" - } - }, - "string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "requires": { - "safe-buffer": "~5.2.0" - } - }, - "string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dev": true, - "requires": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - } - }, - "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": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "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 - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "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, - "requires": { - "ansi-regex": "^5.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" - } - }, - "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" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - } - } - }, - "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" - } - }, - "supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true - }, - "symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", - "dev": true - }, - "tailwindcss": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.7.tgz", - "integrity": "sha512-kr1o/ErIdNhTz8uzAYL7TpaUuzKIE6QPQ4qmSdxnoX/lo+5wmUHQA6h3L5yIqEImSRnAAURDirLu/BgiXGPAhg==" - }, - "tapable": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.2.tgz", - "integrity": "sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==" - }, - "tar": { - "version": "7.4.3", - "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", - "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", - "requires": { - "@isaacs/fs-minipass": "^4.0.0", - "chownr": "^3.0.0", - "minipass": "^7.1.2", - "minizlib": "^3.0.1", - "mkdirp": "^3.0.1", - "yallist": "^5.0.0" - }, - "dependencies": { - "mkdirp": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", - "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==" - }, - "yallist": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", - "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==" - } - } - }, - "terser": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", - "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", - "dev": true, - "requires": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "dependencies": { - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - } - } - }, - "terser-webpack-plugin": { - "version": "5.3.14", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", - "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", - "dev": true, - "requires": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", - "terser": "^5.31.1" - } - }, - "thingies": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/thingies/-/thingies-1.21.0.tgz", - "integrity": "sha512-hsqsJsFMsV+aD4s3CWKk85ep/3I9XzYV/IXaSouJMYIoDlgyi11cBhsqYe9/geRfB0YIikBQg6raRaM+nIMP9g==", - "dev": true, - "requires": {} - }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "tinyglobby": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", - "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", - "dev": true, - "requires": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - } - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" - } - }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "requires": { - "is-number": "^7.0.0" - } - }, - "toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" - }, - "tree-dump": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tree-dump/-/tree-dump-1.0.3.tgz", - "integrity": "sha512-il+Cv80yVHFBwokQSfd4bldvr1Md951DpgAGfmhydt04L+YzHgubm2tQ7zueWDcGENKHq0ZvGFR/hjvNXilHEg==", - "dev": true, - "requires": {} - }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true - }, - "tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" - }, - "tuf-js": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-3.0.1.tgz", - "integrity": "sha512-+68OP1ZzSF84rTckf3FA95vJ1Zlx/uaXyiiKyPd1pA4rZNkpEvDAKmsu1xUSmbF/chCRYgZ6UZkDwC7PmzmAyA==", - "dev": true, - "requires": { - "@tufjs/models": "3.0.1", - "debug": "^4.3.6", - "make-fetch-happen": "^14.0.1" - } - }, - "type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - } - }, - "typed-assert": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", - "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", - "dev": true - }, - "typescript": { - "version": "5.7.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", - "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", - "dev": true - }, - "ua-parser-js": { - "version": "0.7.40", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.40.tgz", - "integrity": "sha512-us1E3K+3jJppDBa3Tl0L3MOJiGhe1C6P0+nIvQAFYbxlMAx0h81eOwLmU57xgqToduDDPx3y5QsdjPfDu+FgOQ==", - "dev": true - }, - "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==" - }, - "unicode-canonical-property-names-ecmascript": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz", - "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==", - "dev": true - }, - "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==", - "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - } - }, - "unicode-match-property-value-ecmascript": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz", - "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==", - "dev": true - }, - "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==", - "dev": true - }, - "unicorn-magic": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/unicorn-magic/-/unicorn-magic-0.3.0.tgz", - "integrity": "sha512-+QBBXBCvifc56fsbuxZQ6Sic3wqqc3WWaqxs58gvJrcOuN83HGTCwz3oS5phzU9LthRNE9VrJCFCLUgHeeFnfA==", - "dev": true - }, - "unique-filename": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", - "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", - "dev": true, - "requires": { - "unique-slug": "^5.0.0" - } - }, - "unique-slug": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", - "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", - "dev": true, - "requires": { - "imurmurhash": "^0.1.4" - } - }, - "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 - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==" - }, - "update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", - "dev": true, - "requires": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - } - }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==" - }, - "uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true - }, - "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" - } - }, - "validate-npm-package-name": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.0.tgz", - "integrity": "sha512-d7KLgL1LD3U3fgnvWEY1cQXoO/q6EQ1BSz48Sa149V/5zVTAbgmZIpyI8TRi6U9/JNyeYLlTKsEMPtLC27RFUg==", - "dev": true - }, - "vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==" - }, - "vite": { - "version": "6.3.5", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.5.tgz", - "integrity": "sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==", - "dev": true, - "peer": true, - "requires": { - "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "fsevents": "~2.3.3", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" - }, - "dependencies": { - "@rollup/rollup-android-arm-eabi": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.41.0.tgz", - "integrity": "sha512-KxN+zCjOYHGwCl4UCtSfZ6jrq/qi88JDUtiEFk8LELEHq2Egfc/FgW+jItZiOLRuQfb/3xJSgFuNPC9jzggX+A==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-android-arm64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.41.0.tgz", - "integrity": "sha512-yDvqx3lWlcugozax3DItKJI5j05B0d4Kvnjx+5mwiUpWramVvmAByYigMplaoAQ3pvdprGCTCE03eduqE/8mPQ==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-darwin-arm64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.41.0.tgz", - "integrity": "sha512-2KOU574vD3gzcPSjxO0eyR5iWlnxxtmW1F5CkNOHmMlueKNCQkxR6+ekgWyVnz6zaZihpUNkGxjsYrkTJKhkaw==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-darwin-x64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.41.0.tgz", - "integrity": "sha512-gE5ACNSxHcEZyP2BA9TuTakfZvULEW4YAOtxl/A/YDbIir/wPKukde0BNPlnBiP88ecaN4BJI2TtAd+HKuZPQQ==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-freebsd-arm64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.41.0.tgz", - "integrity": "sha512-GSxU6r5HnWij7FoSo7cZg3l5GPg4HFLkzsFFh0N/b16q5buW1NAWuCJ+HMtIdUEi6XF0qH+hN0TEd78laRp7Dg==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-freebsd-x64": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.41.0.tgz", - "integrity": "sha512-KGiGKGDg8qLRyOWmk6IeiHJzsN/OYxO6nSbT0Vj4MwjS2XQy/5emsmtoqLAabqrohbgLWJ5GV3s/ljdrIr8Qjg==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.41.0.tgz", - "integrity": "sha512-46OzWeqEVQyX3N2/QdiU/CMXYDH/lSHpgfBkuhl3igpZiaB3ZIfSjKuOnybFVBQzjsLwkus2mjaESy8H41SzvA==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-linux-arm-musleabihf": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.41.0.tgz", - "integrity": "sha512-lfgW3KtQP4YauqdPpcUZHPcqQXmTmH4nYU0cplNeW583CMkAGjtImw4PKli09NFi2iQgChk4e9erkwlfYem6Lg==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-linux-arm64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.41.0.tgz", - "integrity": "sha512-nn8mEyzMbdEJzT7cwxgObuwviMx6kPRxzYiOl6o/o+ChQq23gfdlZcUNnt89lPhhz3BYsZ72rp0rxNqBSfqlqw==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-linux-arm64-musl": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.41.0.tgz", - "integrity": "sha512-l+QK99je2zUKGd31Gh+45c4pGDAqZSuWQiuRFCdHYC2CSiO47qUWsCcenrI6p22hvHZrDje9QjwSMAFL3iwXwQ==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.41.0.tgz", - "integrity": "sha512-WbnJaxPv1gPIm6S8O/Wg+wfE/OzGSXlBMbOe4ie+zMyykMOeqmgD1BhPxZQuDqwUN+0T/xOFtL2RUWBspnZj3w==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.41.0.tgz", - "integrity": "sha512-eRDWR5t67/b2g8Q/S8XPi0YdbKcCs4WQ8vklNnUYLaSWF+Cbv2axZsp4jni6/j7eKvMLYCYdcsv8dcU+a6QNFg==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-linux-riscv64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.41.0.tgz", - "integrity": "sha512-TWrZb6GF5jsEKG7T1IHwlLMDRy2f3DPqYldmIhnA2DVqvvhY2Ai184vZGgahRrg8k9UBWoSlHv+suRfTN7Ua4A==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-linux-s390x-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.41.0.tgz", - "integrity": "sha512-/L3pW48SxrWAlVsKCN0dGLB2bi8Nv8pr5S5ocSM+S0XCn5RCVCXqi8GVtHFsOBBCSeR+u9brV2zno5+mg3S4Aw==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-linux-x64-gnu": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.41.0.tgz", - "integrity": "sha512-XMLeKjyH8NsEDCRptf6LO8lJk23o9wvB+dJwcXMaH6ZQbbkHu2dbGIUindbMtRN6ux1xKi16iXWu6q9mu7gDhQ==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-linux-x64-musl": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.41.0.tgz", - "integrity": "sha512-m/P7LycHZTvSQeXhFmgmdqEiTqSV80zn6xHaQ1JSqwCtD1YGtwEK515Qmy9DcB2HK4dOUVypQxvhVSy06cJPEg==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-win32-arm64-msvc": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.41.0.tgz", - "integrity": "sha512-4yodtcOrFHpbomJGVEqZ8fzD4kfBeCbpsUy5Pqk4RluXOdsWdjLnjhiKy2w3qzcASWd04fp52Xz7JKarVJ5BTg==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-win32-ia32-msvc": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.41.0.tgz", - "integrity": "sha512-tmazCrAsKzdkXssEc65zIE1oC6xPHwfy9d5Ta25SRCDOZS+I6RypVVShWALNuU9bxIfGA0aqrmzlzoM5wO5SPQ==", - "dev": true, - "optional": true, - "peer": true - }, - "@rollup/rollup-win32-x64-msvc": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.41.0.tgz", - "integrity": "sha512-h1J+Yzjo/X+0EAvR2kIXJDuTuyT7drc+t2ALY0nIcGPbTatNOf0VWdhEA2Z4AAjv6X1NJV7SYo5oCTYRJhSlVA==", - "dev": true, - "optional": true, - "peer": true - }, - "rollup": { - "version": "4.41.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.41.0.tgz", - "integrity": "sha512-HqMFpUbWlf/tvcxBFNKnJyzc7Lk+XO3FGc3pbNBLqEbOz0gPLRgcrlS3UF4MfUrVlstOaP/q0kM6GVvi+LrLRg==", - "dev": true, - "peer": true, - "requires": { - "@rollup/rollup-android-arm-eabi": "4.41.0", - "@rollup/rollup-android-arm64": "4.41.0", - "@rollup/rollup-darwin-arm64": "4.41.0", - "@rollup/rollup-darwin-x64": "4.41.0", - "@rollup/rollup-freebsd-arm64": "4.41.0", - "@rollup/rollup-freebsd-x64": "4.41.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.41.0", - "@rollup/rollup-linux-arm-musleabihf": "4.41.0", - "@rollup/rollup-linux-arm64-gnu": "4.41.0", - "@rollup/rollup-linux-arm64-musl": "4.41.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.41.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.41.0", - "@rollup/rollup-linux-riscv64-gnu": "4.41.0", - "@rollup/rollup-linux-riscv64-musl": "4.41.0", - "@rollup/rollup-linux-s390x-gnu": "4.41.0", - "@rollup/rollup-linux-x64-gnu": "4.41.0", - "@rollup/rollup-linux-x64-musl": "4.41.0", - "@rollup/rollup-win32-arm64-msvc": "4.41.0", - "@rollup/rollup-win32-ia32-msvc": "4.41.0", - "@rollup/rollup-win32-x64-msvc": "4.41.0", - "@types/estree": "1.0.7", - "fsevents": "~2.3.2" - } - } - } - }, - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", - "dev": true - }, - "watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", - "dev": true, - "requires": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - } - }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "requires": { - "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==", - "requires": { - "defaults": "^1.0.3" - } - }, - "weak-lru-cache": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", - "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", - "dev": true, - "optional": true - }, - "web-vitals": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz", - "integrity": "sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==" - }, - "webpack": { - "version": "5.98.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.98.0.tgz", - "integrity": "sha512-UFynvx+gM44Gv9qFgj0acCQK2VE1CtdfwFdimkapco3hlPCJ/zeq73n2yVKimVbtm+TnApIugGhLJnkU6gjYXA==", - "dev": true, - "requires": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.6", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.14.0", - "browserslist": "^4.24.0", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^4.3.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.11", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "dependencies": { - "json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - } - } - }, - "webpack-dev-middleware": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-7.4.2.tgz", - "integrity": "sha512-xOO8n6eggxnwYpy1NlzUKpvrjfJTvae5/D6WOK0S2LSo7vjmo5gCM1DbLUmFqrMTJP+W/0YZNctm7jasWvLuBA==", - "dev": true, - "requires": { - "colorette": "^2.0.10", - "memfs": "^4.6.0", - "mime-types": "^2.1.31", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - } - }, - "webpack-dev-server": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-5.2.0.tgz", - "integrity": "sha512-90SqqYXA2SK36KcT6o1bvwvZfJFcmoamqeJY7+boioffX9g9C0wjjJRGUrQIuh43pb0ttX7+ssavmj/WN2RHtA==", - "dev": true, - "requires": { - "@types/bonjour": "^3.5.13", - "@types/connect-history-api-fallback": "^1.5.4", - "@types/express": "^4.17.21", - "@types/serve-index": "^1.9.4", - "@types/serve-static": "^1.15.5", - "@types/sockjs": "^0.3.36", - "@types/ws": "^8.5.10", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.2.1", - "chokidar": "^3.6.0", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "express": "^4.21.2", - "graceful-fs": "^4.2.6", - "http-proxy-middleware": "^2.0.7", - "ipaddr.js": "^2.1.0", - "launch-editor": "^2.6.1", - "open": "^10.0.3", - "p-retry": "^6.2.0", - "schema-utils": "^4.2.0", - "selfsigned": "^2.4.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^7.4.2", - "ws": "^8.18.0" - }, - "dependencies": { - "chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - } - }, - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - }, - "http-proxy-middleware": { - "version": "2.0.9", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.9.tgz", - "integrity": "sha512-c1IyJYLYppU574+YI7R4QyX2ystMtVXZwIdzazUIPIJsHuWNd+mho2j+bKoHftndicGj9yh+xjd+l0yj7VeT1Q==", - "dev": true, - "requires": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - } - }, - "ipaddr.js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz", - "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==", - "dev": true - }, - "picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true - }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "requires": { - "picomatch": "^2.2.1" - } - }, - "ws": { - "version": "8.18.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.2.tgz", - "integrity": "sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==", - "dev": true, - "requires": {} - } - } - }, - "webpack-merge": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", - "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.1" - } - }, - "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==", - "dev": true - }, - "webpack-subresource-integrity": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", - "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", - "dev": true, - "requires": { - "typed-assert": "^1.0.8" - } - }, - "websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "requires": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - } - }, - "websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "requires": { - "isexe": "^2.0.0" - } - }, - "wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "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 - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "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, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "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, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "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-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true - }, - "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 - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "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, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "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, - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "ws": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", - "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", - "dev": true, - "requires": {} - }, - "xhr2": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/xhr2/-/xhr2-0.2.1.tgz", - "integrity": "sha512-sID0rrVCqkVNUn8t6xuv9+6FViXjUVXq8H5rWOH2rz9fDNQEd4g0EA2XlcEdJXRz5BMEn4O1pJFdT+z4YHhoWw==" - }, - "y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "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" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "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==" - }, - "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==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } - } - }, - "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==" - }, - "yocto-queue": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.2.1.tgz", - "integrity": "sha512-AyeEbWOu/TAXdxlV9wmGcR0+yh2j3vYPGOECcIj2S7MkrLyC7ne+oye2BKTItt0ii2PHk4cDy+95+LshzbXnGg==", - "dev": true - }, - "yoctocolors-cjs": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.2.tgz", - "integrity": "sha512-cYVsTjKl8b+FrnidjibDWskAv7UKOfcwaVZdp/it9n1s9fU3IkgDbhdIRKCW4JDsAlECJY0ytoVPT3sK6kideA==", - "dev": true - }, - "zod": { - "version": "3.25.7", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.7.tgz", - "integrity": "sha512-YGdT1cVRmKkOg6Sq7vY7IkxdphySKnXhaUmFI4r4FcuFVNgpCb9tZfNwXbT6BPjD5oz0nubFsoo9pIqKrDcCvg==" - }, - "zone.js": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.0.tgz", - "integrity": "sha512-9oxn0IIjbCZkJ67L+LkhYWRyAy7axphb3VgE2MBDlOqnmHMPWGYMxJxBYFueFq/JGY2GMwS0rU+UCLunEmy5UA==" - } - } -} diff --git a/examples/angular/package.json b/examples/angular/package.json index 228b6155..faed3a75 100644 --- a/examples/angular/package.json +++ b/examples/angular/package.json @@ -25,10 +25,10 @@ "@angular/platform-server": "^19.1.0", "@angular/router": "^19.1.0", "@angular/ssr": "^19.1.7", - "@firebase-ui/angular": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-angular-0.0.1.tgz", - "@firebase-ui/core": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-core-0.0.1.tgz", - "@firebase-ui/styles": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-styles-0.0.1.tgz", - "@firebase-ui/translations": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-translations-0.0.1.tgz", + "@invertase/firebaseui-angular": "^0.0.3", + "@invertase/firebaseui-core": "^0.0.1", + "@invertase/firebaseui-styles": "^0.0.1", + "@invertase/firebaseui-translations": "^0.0.1", "@tailwindcss/postcss": "^4.0.6", "express": "^4.18.2", "postcss": "^8.5.2", diff --git a/examples/angular/src/app/app.config.ts b/examples/angular/src/app/app.config.ts index f146c704..93618333 100644 --- a/examples/angular/src/app/app.config.ts +++ b/examples/angular/src/app/app.config.ts @@ -16,28 +16,26 @@ import { ApplicationConfig, - provideZoneChangeDetection, isDevMode, + provideZoneChangeDetection, } from '@angular/core'; import { provideRouter } from '@angular/router'; -import { routes } from './app.routes'; import { provideClientHydration, withEventReplay, } from '@angular/platform-browser'; +import { routes } from './app.routes'; -import { provideFirebaseApp, initializeApp } from '@angular/fire/app'; -import { provideAuth, getAuth, connectAuthEmulator } from '@angular/fire/auth'; +import { initializeApp, provideFirebaseApp } from '@angular/fire/app'; +import { connectAuthEmulator, getAuth, provideAuth } from '@angular/fire/auth'; import { provideFirebaseUI, provideFirebaseUIPolicies, -} from '@firebase-ui/angular'; -import { initializeUI } from '@firebase-ui/core'; +} from '@invertase/firebaseui-angular'; +import { initializeUI } from '@invertase/firebaseui-core'; -const firebaseConfig = { - // your Firebase config here -}; +const firebaseConfig = {}; export const appConfig: ApplicationConfig = { providers: [ diff --git a/examples/angular/src/app/auth/email-link-oauth/email-link-oauth.component.ts b/examples/angular/src/app/auth/email-link-oauth/email-link-oauth.component.ts index 4093bb16..696c3a45 100644 --- a/examples/angular/src/app/auth/email-link-oauth/email-link-oauth.component.ts +++ b/examples/angular/src/app/auth/email-link-oauth/email-link-oauth.component.ts @@ -21,7 +21,7 @@ import { Auth, User, authState } from '@angular/fire/auth'; import { EmailLinkAuthScreenComponent, GoogleSignInButtonComponent, -} from '@firebase-ui/angular'; +} from '@invertase/firebaseui-angular'; @Component({ selector: 'app-email-link-oauth', diff --git a/examples/angular/src/app/auth/email-link-screen/email-link-screen.component.ts b/examples/angular/src/app/auth/email-link-screen/email-link-screen.component.ts index 4db81c51..6eced3c6 100644 --- a/examples/angular/src/app/auth/email-link-screen/email-link-screen.component.ts +++ b/examples/angular/src/app/auth/email-link-screen/email-link-screen.component.ts @@ -18,7 +18,7 @@ import { Component, OnInit, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Router, RouterModule } from '@angular/router'; import { Auth, User, authState } from '@angular/fire/auth'; -import { EmailLinkAuthScreenComponent } from '@firebase-ui/angular'; +import { EmailLinkAuthScreenComponent } from '@invertase/firebaseui-angular'; @Component({ selector: 'app-email-link-screen', diff --git a/examples/angular/src/app/auth/email-link/email-link.component.ts b/examples/angular/src/app/auth/email-link/email-link.component.ts index b5488225..f27b0694 100644 --- a/examples/angular/src/app/auth/email-link/email-link.component.ts +++ b/examples/angular/src/app/auth/email-link/email-link.component.ts @@ -18,7 +18,7 @@ import { Component, OnInit, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Router, RouterModule } from '@angular/router'; import { Auth, User, authState } from '@angular/fire/auth'; -import { EmailLinkAuthScreenComponent } from '@firebase-ui/angular'; +import { EmailLinkAuthScreenComponent } from '@invertase/firebaseui-angular'; @Component({ selector: 'app-email-link', diff --git a/examples/angular/src/app/auth/forgot-password/forgot-password.component.ts b/examples/angular/src/app/auth/forgot-password/forgot-password.component.ts index 5f18863e..dcba8ef9 100644 --- a/examples/angular/src/app/auth/forgot-password/forgot-password.component.ts +++ b/examples/angular/src/app/auth/forgot-password/forgot-password.component.ts @@ -18,7 +18,7 @@ import { Component, OnInit, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Router, RouterModule } from '@angular/router'; import { Auth, User, authState } from '@angular/fire/auth'; -import { PasswordResetScreenComponent } from '@firebase-ui/angular'; +import { PasswordResetScreenComponent } from '@invertase/firebaseui-angular'; @Component({ selector: 'app-forgot-password', diff --git a/examples/angular/src/app/auth/oauth/oauth.component.ts b/examples/angular/src/app/auth/oauth/oauth.component.ts index cfad53ec..8a6297de 100644 --- a/examples/angular/src/app/auth/oauth/oauth.component.ts +++ b/examples/angular/src/app/auth/oauth/oauth.component.ts @@ -18,7 +18,7 @@ import { Component, OnInit, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Router, RouterModule } from '@angular/router'; import { Auth, User, authState } from '@angular/fire/auth'; -import { OAuthScreenComponent, GoogleSignInButtonComponent } from '@firebase-ui/angular'; +import { OAuthScreenComponent, GoogleSignInButtonComponent } from '@invertase/firebaseui-angular'; @Component({ selector: 'app-oauth', diff --git a/examples/angular/src/app/auth/password-reset/password-reset.component.ts b/examples/angular/src/app/auth/password-reset/password-reset.component.ts index 56084b1c..c185c0af 100644 --- a/examples/angular/src/app/auth/password-reset/password-reset.component.ts +++ b/examples/angular/src/app/auth/password-reset/password-reset.component.ts @@ -18,7 +18,7 @@ import { Component, OnInit, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Router, RouterModule } from '@angular/router'; import { Auth, User, authState } from '@angular/fire/auth'; -import { PasswordResetScreenComponent } from '@firebase-ui/angular'; +import { PasswordResetScreenComponent } from '@invertase/firebaseui-angular'; @Component({ selector: 'app-password-reset', diff --git a/examples/angular/src/app/auth/phone-oauth/phone-oauth.component.ts b/examples/angular/src/app/auth/phone-oauth/phone-oauth.component.ts index df3f2555..e793358b 100644 --- a/examples/angular/src/app/auth/phone-oauth/phone-oauth.component.ts +++ b/examples/angular/src/app/auth/phone-oauth/phone-oauth.component.ts @@ -18,7 +18,7 @@ import { Component, OnInit, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Router, RouterModule } from '@angular/router'; import { Auth, User, authState } from '@angular/fire/auth'; -import { PhoneAuthScreenComponent, GoogleSignInButtonComponent } from '@firebase-ui/angular'; +import { PhoneAuthScreenComponent, GoogleSignInButtonComponent } from '@invertase/firebaseui-angular'; @Component({ selector: 'app-phone-oauth', diff --git a/examples/angular/src/app/auth/phone-screen/phone-screen.component.ts b/examples/angular/src/app/auth/phone-screen/phone-screen.component.ts index 1c836da8..704c344b 100644 --- a/examples/angular/src/app/auth/phone-screen/phone-screen.component.ts +++ b/examples/angular/src/app/auth/phone-screen/phone-screen.component.ts @@ -18,7 +18,7 @@ import { Component, OnInit, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Router, RouterModule } from '@angular/router'; import { Auth, User, authState } from '@angular/fire/auth'; -import { PhoneAuthScreenComponent } from '@firebase-ui/angular'; +import { PhoneAuthScreenComponent } from '@invertase/firebaseui-angular'; @Component({ selector: 'app-phone-screen', diff --git a/examples/angular/src/app/auth/phone/phone.component.ts b/examples/angular/src/app/auth/phone/phone.component.ts index 31d134f5..e5b48390 100644 --- a/examples/angular/src/app/auth/phone/phone.component.ts +++ b/examples/angular/src/app/auth/phone/phone.component.ts @@ -18,7 +18,7 @@ import { Component, OnInit, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Router, RouterModule } from '@angular/router'; import { Auth, User, authState } from '@angular/fire/auth'; -import { PhoneAuthScreenComponent } from '@firebase-ui/angular'; +import { PhoneAuthScreenComponent } from '@invertase/firebaseui-angular'; @Component({ selector: 'app-phone', diff --git a/examples/angular/src/app/auth/register-oauth/register-oauth.component.ts b/examples/angular/src/app/auth/register-oauth/register-oauth.component.ts index c92c0f7a..1be4c439 100644 --- a/examples/angular/src/app/auth/register-oauth/register-oauth.component.ts +++ b/examples/angular/src/app/auth/register-oauth/register-oauth.component.ts @@ -18,7 +18,7 @@ import { Component, OnInit, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Router, RouterModule } from '@angular/router'; import { Auth, User, authState } from '@angular/fire/auth'; -import { SignUpAuthScreenComponent, GoogleSignInButtonComponent } from '@firebase-ui/angular'; +import { SignUpAuthScreenComponent, GoogleSignInButtonComponent } from '@invertase/firebaseui-angular'; @Component({ selector: 'app-register-oauth', diff --git a/examples/angular/src/app/auth/register/register.component.ts b/examples/angular/src/app/auth/register/register.component.ts index 927def91..41946132 100644 --- a/examples/angular/src/app/auth/register/register.component.ts +++ b/examples/angular/src/app/auth/register/register.component.ts @@ -18,7 +18,7 @@ import { Component, OnInit, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Router, RouterModule } from '@angular/router'; import { Auth, User, authState } from '@angular/fire/auth'; -import { SignUpAuthScreenComponent, GoogleSignInButtonComponent } from '@firebase-ui/angular'; +import { SignUpAuthScreenComponent, GoogleSignInButtonComponent } from '@invertase/firebaseui-angular'; @Component({ selector: 'app-register', diff --git a/examples/angular/src/app/auth/sign-in-handlers/sign-in-handlers.component.ts b/examples/angular/src/app/auth/sign-in-handlers/sign-in-handlers.component.ts index 09394061..5621b7fd 100644 --- a/examples/angular/src/app/auth/sign-in-handlers/sign-in-handlers.component.ts +++ b/examples/angular/src/app/auth/sign-in-handlers/sign-in-handlers.component.ts @@ -18,7 +18,7 @@ import { Component, OnInit, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Router, RouterModule } from '@angular/router'; import { Auth, User, authState } from '@angular/fire/auth'; -import { SignInAuthScreenComponent } from '@firebase-ui/angular'; +import { SignInAuthScreenComponent } from '@invertase/firebaseui-angular'; @Component({ selector: 'app-sign-in-handlers', diff --git a/examples/angular/src/app/auth/sign-in-oauth/sign-in-oauth.component.ts b/examples/angular/src/app/auth/sign-in-oauth/sign-in-oauth.component.ts index d4b10a76..b0c0b07e 100644 --- a/examples/angular/src/app/auth/sign-in-oauth/sign-in-oauth.component.ts +++ b/examples/angular/src/app/auth/sign-in-oauth/sign-in-oauth.component.ts @@ -21,7 +21,7 @@ import { Auth, User, authState } from '@angular/fire/auth'; import { SignInAuthScreenComponent, GoogleSignInButtonComponent, -} from '@firebase-ui/angular'; +} from '@invertase/firebaseui-angular'; @Component({ selector: 'app-sign-in-oauth', diff --git a/examples/angular/src/app/auth/sign-in-screen/sign-in-screen.component.ts b/examples/angular/src/app/auth/sign-in-screen/sign-in-screen.component.ts index 654a0b91..38e1090d 100644 --- a/examples/angular/src/app/auth/sign-in-screen/sign-in-screen.component.ts +++ b/examples/angular/src/app/auth/sign-in-screen/sign-in-screen.component.ts @@ -18,7 +18,7 @@ import { Component, OnInit, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Router, RouterModule } from '@angular/router'; import { Auth, User, authState } from '@angular/fire/auth'; -import { SignInAuthScreenComponent } from '@firebase-ui/angular'; +import { SignInAuthScreenComponent } from '@invertase/firebaseui-angular'; @Component({ selector: 'app-sign-in-screen', diff --git a/examples/angular/src/app/auth/sign-in/sign-in.component.ts b/examples/angular/src/app/auth/sign-in/sign-in.component.ts index 6840eef7..abb006a5 100644 --- a/examples/angular/src/app/auth/sign-in/sign-in.component.ts +++ b/examples/angular/src/app/auth/sign-in/sign-in.component.ts @@ -21,7 +21,7 @@ import { Auth, User, authState } from '@angular/fire/auth'; import { SignInAuthScreenComponent, GoogleSignInButtonComponent, -} from '@firebase-ui/angular'; +} from '@invertase/firebaseui-angular'; @Component({ selector: 'app-sign-in', diff --git a/examples/angular/src/app/auth/sign-up/sign-up.component.ts b/examples/angular/src/app/auth/sign-up/sign-up.component.ts index 09e4b96e..721f6d75 100644 --- a/examples/angular/src/app/auth/sign-up/sign-up.component.ts +++ b/examples/angular/src/app/auth/sign-up/sign-up.component.ts @@ -18,7 +18,7 @@ import { Component, OnInit, inject } from '@angular/core'; import { CommonModule } from '@angular/common'; import { Router, RouterModule } from '@angular/router'; import { Auth, User, authState } from '@angular/fire/auth'; -import { SignUpAuthScreenComponent } from '@firebase-ui/angular'; +import { SignUpAuthScreenComponent } from '@invertase/firebaseui-angular'; @Component({ selector: 'app-sign-up', diff --git a/examples/angular/src/styles.css b/examples/angular/src/styles.css index 2929acf1..582c1e21 100644 --- a/examples/angular/src/styles.css +++ b/examples/angular/src/styles.css @@ -16,4 +16,4 @@ /* You can add global styles to this file, and also import other style files */ @import "tailwindcss"; -@import "@firebase-ui/styles/src/base.css"; \ No newline at end of file +@import "@invertase/firebaseui-styles/src/base.css"; diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/404.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/404.html new file mode 100644 index 00000000..d571d762 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/404.html @@ -0,0 +1 @@ +404: This page could not be found.Create Next App

404

This page could not be found.

\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/198-fc2f857890282fd9.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/198-fc2f857890282fd9.js new file mode 100644 index 00000000..c75c916e --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/198-fc2f857890282fd9.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[198],{3027:(e,t,r)=>{var s=r(2115),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=s.useState,n=s.useEffect,l=s.useLayoutEffect,o=s.useDebugValue;function d(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!a(e,r)}catch(e){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),s=i({inst:{value:r,getSnapshot:t}}),a=s[0].inst,c=s[1];return l(function(){a.value=r,a.getSnapshot=t,d(a)&&c({inst:a})},[e,r,t]),n(function(){return d(a)&&c({inst:a}),e(function(){d(a)&&c({inst:a})})},[e]),o(r),r};t.useSyncExternalStore=void 0!==s.useSyncExternalStore?s.useSyncExternalStore:c},4564:(e,t,r)=>{var s=r(2115),a=r(4236),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},n=a.useSyncExternalStore,l=s.useRef,o=s.useEffect,d=s.useMemo,c=s.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,r,s,a){var u=l(null);if(null===u.current){var h={hasValue:!1,value:null};u.current=h}else h=u.current;var m=n(e,(u=d(function(){function e(e){if(!o){if(o=!0,n=e,e=s(e),void 0!==a&&h.hasValue){var t=h.value;if(a(t,e))return l=t}return l=e}if(t=l,i(n,e))return t;var r=s(e);return void 0!==a&&a(t,r)?(n=e,t):(n=e,l=r)}var n,l,o=!1,d=void 0===r?null:r;return[function(){return e(t())},null===d?void 0:function(){return e(d())}]},[t,r,s,a]))[0],u[1]);return o(function(){h.hasValue=!0,h.value=m},[m]),c(m),m}},4236:(e,t,r)=>{e.exports=r(3027)},8010:(e,t,r)=>{e.exports=r(4564)},4198:(e,t,r)=>{r.d(t,{sG:()=>te,NY:()=>tu,_e:()=>tM,WG:()=>tw,bq:()=>tk,jT:()=>tg,hY:()=>tm,RB:()=>ty});var s=r(4496);let a=e=>{let t=o(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:e=>{let r=e.split("-");return""===r[0]&&1!==r.length&&r.shift(),i(r,t)||l(e)},getConflictingClassGroupIds:(e,t)=>{let a=r[e]||[];return t&&s[e]?[...a,...s[e]]:a}}},i=(e,t)=>{if(0===e.length)return t.classGroupId;let r=e[0],s=t.nextPart.get(r),a=s?i(e.slice(1),s):void 0;if(a)return a;if(0===t.validators.length)return;let n=e.join("-");return t.validators.find(({validator:e})=>e(n))?.classGroupId},n=/^\[(.+)\]$/,l=e=>{if(n.test(e)){let t=n.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},o=e=>{let{theme:t,classGroups:r}=e,s={nextPart:new Map,validators:[]};for(let e in r)d(r[e],s,e,t);return s},d=(e,t,r,s)=>{e.forEach(e=>{if("string"==typeof e){(""===e?t:c(t,e)).classGroupId=r;return}if("function"==typeof e){if(u(e)){d(e(s),t,r,s);return}t.validators.push({validator:e,classGroupId:r});return}Object.entries(e).forEach(([e,a])=>{d(a,c(t,e),r,s)})})},c=(e,t)=>{let r=e;return t.split("-").forEach(e=>{r.nextPart.has(e)||r.nextPart.set(e,{nextPart:new Map,validators:[]}),r=r.nextPart.get(e)}),r},u=e=>e.isThemeGetter,h=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,r=new Map,s=new Map,a=(a,i)=>{r.set(a,i),++t>e&&(t=0,s=r,r=new Map)};return{get(e){let t=r.get(e);return void 0!==t?t:void 0!==(t=s.get(e))?(a(e,t),t):void 0},set(e,t){r.has(e)?r.set(e,t):a(e,t)}}},m=e=>{let{prefix:t,experimentalParseClassName:r}=e,s=e=>{let t;let r=[],s=0,a=0,i=0;for(let n=0;ni?t-i:void 0}};if(t){let e=t+":",r=s;s=t=>t.startsWith(e)?r(t.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:t,maybePostfixModifierPosition:void 0}}if(r){let e=s;s=t=>r({className:t,parseClassName:e})}return s},f=e=>e.endsWith("!")?e.substring(0,e.length-1):e.startsWith("!")?e.substring(1):e,p=e=>{let t=Object.fromEntries(e.orderSensitiveModifiers.map(e=>[e,!0]));return e=>{if(e.length<=1)return e;let r=[],s=[];return e.forEach(e=>{"["===e[0]||t[e]?(r.push(...s.sort(),e),s=[]):s.push(e)}),r.push(...s.sort()),r}},v=e=>({cache:h(e.cacheSize),parseClassName:m(e),sortModifiers:p(e),...a(e)}),b=/\s+/,g=(e,t)=>{let{parseClassName:r,getClassGroupId:s,getConflictingClassGroupIds:a,sortModifiers:i}=t,n=[],l=e.trim().split(b),o="";for(let e=l.length-1;e>=0;e-=1){let t=l[e],{isExternal:d,modifiers:c,hasImportantModifier:u,baseClassName:h,maybePostfixModifierPosition:m}=r(t);if(d){o=t+(o.length>0?" "+o:o);continue}let f=!!m,p=s(f?h.substring(0,m):h);if(!p){if(!f||!(p=s(h))){o=t+(o.length>0?" "+o:o);continue}f=!1}let v=i(c).join(":"),b=u?v+"!":v,g=b+p;if(n.includes(g))continue;n.push(g);let x=a(p,f);for(let e=0;e0?" "+o:o)}return o};function x(){let e,t,r=0,s="";for(;r{let t;if("string"==typeof e)return e;let r="";for(let s=0;s{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},j=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,k=/^\((?:(\w[\w-]*):)?(.+)\)$/i,S=/^\d+\/\d+$/,M=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,C=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,F=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,V=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,A=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,N=e=>S.test(e),z=e=>!!e&&!Number.isNaN(Number(e)),_=e=>!!e&&Number.isInteger(Number(e)),I=e=>e.endsWith("%")&&z(e.slice(0,-1)),B=e=>M.test(e),E=()=>!0,T=e=>C.test(e)&&!F.test(e),O=()=>!1,P=e=>V.test(e),D=e=>A.test(e),$=e=>!G(e)&&!X(e),R=e=>et(e,ei,O),G=e=>j.test(e),L=e=>et(e,en,T),W=e=>et(e,el,z),U=e=>et(e,es,O),H=e=>et(e,ea,D),q=e=>et(e,ed,P),X=e=>k.test(e),J=e=>er(e,en),Y=e=>er(e,eo),K=e=>er(e,es),Q=e=>er(e,ei),Z=e=>er(e,ea),ee=e=>er(e,ed,!0),et=(e,t,r)=>{let s=j.exec(e);return!!s&&(s[1]?t(s[1]):r(s[2]))},er=(e,t,r=!1)=>{let s=k.exec(e);return!!s&&(s[1]?t(s[1]):r)},es=e=>"position"===e||"percentage"===e,ea=e=>"image"===e||"url"===e,ei=e=>"length"===e||"size"===e||"bg-size"===e,en=e=>"length"===e,el=e=>"number"===e,eo=e=>"family-name"===e,ed=e=>"shadow"===e;Symbol.toStringTag;let ec=function(e,...t){let r,s,a;let i=function(l){return s=(r=v(t.reduce((e,t)=>t(e),e()))).cache.get,a=r.cache.set,i=n,n(l)};function n(e){let t=s(e);if(t)return t;let i=g(e,r);return a(e,i),i}return function(){return i(x.apply(null,arguments))}}(()=>{let e=w("color"),t=w("font"),r=w("text"),s=w("font-weight"),a=w("tracking"),i=w("leading"),n=w("breakpoint"),l=w("container"),o=w("spacing"),d=w("radius"),c=w("shadow"),u=w("inset-shadow"),h=w("text-shadow"),m=w("drop-shadow"),f=w("blur"),p=w("perspective"),v=w("aspect"),b=w("ease"),g=w("animate"),x=()=>["auto","avoid","all","avoid-page","page","left","right","column"],y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],j=()=>[...y(),X,G],k=()=>["auto","hidden","clip","visible","scroll"],S=()=>["auto","contain","none"],M=()=>[X,G,o],C=()=>[N,"full","auto",...M()],F=()=>[_,"none","subgrid",X,G],V=()=>["auto",{span:["full",_,X,G]},_,X,G],A=()=>[_,"auto",X,G],T=()=>["auto","min","max","fr",X,G],O=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],P=()=>["start","end","center","stretch","center-safe","end-safe"],D=()=>["auto",...M()],et=()=>[N,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...M()],er=()=>[e,X,G],es=()=>[...y(),K,U,{position:[X,G]}],ea=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ei=()=>["auto","cover","contain",Q,R,{size:[X,G]}],en=()=>[I,J,L],el=()=>["","none","full",d,X,G],eo=()=>["",z,J,L],ed=()=>["solid","dashed","dotted","double"],ec=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],eu=()=>[z,I,K,U],eh=()=>["","none",f,X,G],em=()=>["none",z,X,G],ef=()=>["none",z,X,G],ep=()=>[z,X,G],ev=()=>[N,"full",...M()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[B],breakpoint:[B],color:[E],container:[B],"drop-shadow":[B],ease:["in","out","in-out"],font:[$],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[B],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[B],shadow:[B],spacing:["px",z],text:[B],"text-shadow":[B],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",N,G,X,v]}],container:["container"],columns:[{columns:[z,G,X,l]}],"break-after":[{"break-after":x()}],"break-before":[{"break-before":x()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:j()}],overflow:[{overflow:k()}],"overflow-x":[{"overflow-x":k()}],"overflow-y":[{"overflow-y":k()}],overscroll:[{overscroll:S()}],"overscroll-x":[{"overscroll-x":S()}],"overscroll-y":[{"overscroll-y":S()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:C()}],"inset-x":[{"inset-x":C()}],"inset-y":[{"inset-y":C()}],start:[{start:C()}],end:[{end:C()}],top:[{top:C()}],right:[{right:C()}],bottom:[{bottom:C()}],left:[{left:C()}],visibility:["visible","invisible","collapse"],z:[{z:[_,"auto",X,G]}],basis:[{basis:[N,"full","auto",l,...M()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[z,N,"auto","initial","none",G]}],grow:[{grow:["",z,X,G]}],shrink:[{shrink:["",z,X,G]}],order:[{order:[_,"first","last","none",X,G]}],"grid-cols":[{"grid-cols":F()}],"col-start-end":[{col:V()}],"col-start":[{"col-start":A()}],"col-end":[{"col-end":A()}],"grid-rows":[{"grid-rows":F()}],"row-start-end":[{row:V()}],"row-start":[{"row-start":A()}],"row-end":[{"row-end":A()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":T()}],"auto-rows":[{"auto-rows":T()}],gap:[{gap:M()}],"gap-x":[{"gap-x":M()}],"gap-y":[{"gap-y":M()}],"justify-content":[{justify:[...O(),"normal"]}],"justify-items":[{"justify-items":[...P(),"normal"]}],"justify-self":[{"justify-self":["auto",...P()]}],"align-content":[{content:["normal",...O()]}],"align-items":[{items:[...P(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...P(),{baseline:["","last"]}]}],"place-content":[{"place-content":O()}],"place-items":[{"place-items":[...P(),"baseline"]}],"place-self":[{"place-self":["auto",...P()]}],p:[{p:M()}],px:[{px:M()}],py:[{py:M()}],ps:[{ps:M()}],pe:[{pe:M()}],pt:[{pt:M()}],pr:[{pr:M()}],pb:[{pb:M()}],pl:[{pl:M()}],m:[{m:D()}],mx:[{mx:D()}],my:[{my:D()}],ms:[{ms:D()}],me:[{me:D()}],mt:[{mt:D()}],mr:[{mr:D()}],mb:[{mb:D()}],ml:[{ml:D()}],"space-x":[{"space-x":M()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":M()}],"space-y-reverse":["space-y-reverse"],size:[{size:et()}],w:[{w:[l,"screen",...et()]}],"min-w":[{"min-w":[l,"screen","none",...et()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[n]},...et()]}],h:[{h:["screen","lh",...et()]}],"min-h":[{"min-h":["screen","lh","none",...et()]}],"max-h":[{"max-h":["screen","lh",...et()]}],"font-size":[{text:["base",r,J,L]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[s,X,W]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",I,G]}],"font-family":[{font:[Y,G,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[a,X,G]}],"line-clamp":[{"line-clamp":[z,"none",X,W]}],leading:[{leading:[i,...M()]}],"list-image":[{"list-image":["none",X,G]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",X,G]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:er()}],"text-color":[{text:er()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ed(),"wavy"]}],"text-decoration-thickness":[{decoration:[z,"from-font","auto",X,L]}],"text-decoration-color":[{decoration:er()}],"underline-offset":[{"underline-offset":[z,"auto",X,G]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:M()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",X,G]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",X,G]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:es()}],"bg-repeat":[{bg:ea()}],"bg-size":[{bg:ei()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},_,X,G],radial:["",X,G],conic:[_,X,G]},Z,H]}],"bg-color":[{bg:er()}],"gradient-from-pos":[{from:en()}],"gradient-via-pos":[{via:en()}],"gradient-to-pos":[{to:en()}],"gradient-from":[{from:er()}],"gradient-via":[{via:er()}],"gradient-to":[{to:er()}],rounded:[{rounded:el()}],"rounded-s":[{"rounded-s":el()}],"rounded-e":[{"rounded-e":el()}],"rounded-t":[{"rounded-t":el()}],"rounded-r":[{"rounded-r":el()}],"rounded-b":[{"rounded-b":el()}],"rounded-l":[{"rounded-l":el()}],"rounded-ss":[{"rounded-ss":el()}],"rounded-se":[{"rounded-se":el()}],"rounded-ee":[{"rounded-ee":el()}],"rounded-es":[{"rounded-es":el()}],"rounded-tl":[{"rounded-tl":el()}],"rounded-tr":[{"rounded-tr":el()}],"rounded-br":[{"rounded-br":el()}],"rounded-bl":[{"rounded-bl":el()}],"border-w":[{border:eo()}],"border-w-x":[{"border-x":eo()}],"border-w-y":[{"border-y":eo()}],"border-w-s":[{"border-s":eo()}],"border-w-e":[{"border-e":eo()}],"border-w-t":[{"border-t":eo()}],"border-w-r":[{"border-r":eo()}],"border-w-b":[{"border-b":eo()}],"border-w-l":[{"border-l":eo()}],"divide-x":[{"divide-x":eo()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":eo()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ed(),"hidden","none"]}],"divide-style":[{divide:[...ed(),"hidden","none"]}],"border-color":[{border:er()}],"border-color-x":[{"border-x":er()}],"border-color-y":[{"border-y":er()}],"border-color-s":[{"border-s":er()}],"border-color-e":[{"border-e":er()}],"border-color-t":[{"border-t":er()}],"border-color-r":[{"border-r":er()}],"border-color-b":[{"border-b":er()}],"border-color-l":[{"border-l":er()}],"divide-color":[{divide:er()}],"outline-style":[{outline:[...ed(),"none","hidden"]}],"outline-offset":[{"outline-offset":[z,X,G]}],"outline-w":[{outline:["",z,J,L]}],"outline-color":[{outline:er()}],shadow:[{shadow:["","none",c,ee,q]}],"shadow-color":[{shadow:er()}],"inset-shadow":[{"inset-shadow":["none",u,ee,q]}],"inset-shadow-color":[{"inset-shadow":er()}],"ring-w":[{ring:eo()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:er()}],"ring-offset-w":[{"ring-offset":[z,L]}],"ring-offset-color":[{"ring-offset":er()}],"inset-ring-w":[{"inset-ring":eo()}],"inset-ring-color":[{"inset-ring":er()}],"text-shadow":[{"text-shadow":["none",h,ee,q]}],"text-shadow-color":[{"text-shadow":er()}],opacity:[{opacity:[z,X,G]}],"mix-blend":[{"mix-blend":[...ec(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ec()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[z]}],"mask-image-linear-from-pos":[{"mask-linear-from":eu()}],"mask-image-linear-to-pos":[{"mask-linear-to":eu()}],"mask-image-linear-from-color":[{"mask-linear-from":er()}],"mask-image-linear-to-color":[{"mask-linear-to":er()}],"mask-image-t-from-pos":[{"mask-t-from":eu()}],"mask-image-t-to-pos":[{"mask-t-to":eu()}],"mask-image-t-from-color":[{"mask-t-from":er()}],"mask-image-t-to-color":[{"mask-t-to":er()}],"mask-image-r-from-pos":[{"mask-r-from":eu()}],"mask-image-r-to-pos":[{"mask-r-to":eu()}],"mask-image-r-from-color":[{"mask-r-from":er()}],"mask-image-r-to-color":[{"mask-r-to":er()}],"mask-image-b-from-pos":[{"mask-b-from":eu()}],"mask-image-b-to-pos":[{"mask-b-to":eu()}],"mask-image-b-from-color":[{"mask-b-from":er()}],"mask-image-b-to-color":[{"mask-b-to":er()}],"mask-image-l-from-pos":[{"mask-l-from":eu()}],"mask-image-l-to-pos":[{"mask-l-to":eu()}],"mask-image-l-from-color":[{"mask-l-from":er()}],"mask-image-l-to-color":[{"mask-l-to":er()}],"mask-image-x-from-pos":[{"mask-x-from":eu()}],"mask-image-x-to-pos":[{"mask-x-to":eu()}],"mask-image-x-from-color":[{"mask-x-from":er()}],"mask-image-x-to-color":[{"mask-x-to":er()}],"mask-image-y-from-pos":[{"mask-y-from":eu()}],"mask-image-y-to-pos":[{"mask-y-to":eu()}],"mask-image-y-from-color":[{"mask-y-from":er()}],"mask-image-y-to-color":[{"mask-y-to":er()}],"mask-image-radial":[{"mask-radial":[X,G]}],"mask-image-radial-from-pos":[{"mask-radial-from":eu()}],"mask-image-radial-to-pos":[{"mask-radial-to":eu()}],"mask-image-radial-from-color":[{"mask-radial-from":er()}],"mask-image-radial-to-color":[{"mask-radial-to":er()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":y()}],"mask-image-conic-pos":[{"mask-conic":[z]}],"mask-image-conic-from-pos":[{"mask-conic-from":eu()}],"mask-image-conic-to-pos":[{"mask-conic-to":eu()}],"mask-image-conic-from-color":[{"mask-conic-from":er()}],"mask-image-conic-to-color":[{"mask-conic-to":er()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:es()}],"mask-repeat":[{mask:ea()}],"mask-size":[{mask:ei()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",X,G]}],filter:[{filter:["","none",X,G]}],blur:[{blur:eh()}],brightness:[{brightness:[z,X,G]}],contrast:[{contrast:[z,X,G]}],"drop-shadow":[{"drop-shadow":["","none",m,ee,q]}],"drop-shadow-color":[{"drop-shadow":er()}],grayscale:[{grayscale:["",z,X,G]}],"hue-rotate":[{"hue-rotate":[z,X,G]}],invert:[{invert:["",z,X,G]}],saturate:[{saturate:[z,X,G]}],sepia:[{sepia:["",z,X,G]}],"backdrop-filter":[{"backdrop-filter":["","none",X,G]}],"backdrop-blur":[{"backdrop-blur":eh()}],"backdrop-brightness":[{"backdrop-brightness":[z,X,G]}],"backdrop-contrast":[{"backdrop-contrast":[z,X,G]}],"backdrop-grayscale":[{"backdrop-grayscale":["",z,X,G]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[z,X,G]}],"backdrop-invert":[{"backdrop-invert":["",z,X,G]}],"backdrop-opacity":[{"backdrop-opacity":[z,X,G]}],"backdrop-saturate":[{"backdrop-saturate":[z,X,G]}],"backdrop-sepia":[{"backdrop-sepia":["",z,X,G]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":M()}],"border-spacing-x":[{"border-spacing-x":M()}],"border-spacing-y":[{"border-spacing-y":M()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",X,G]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[z,"initial",X,G]}],ease:[{ease:["linear","initial",b,X,G]}],delay:[{delay:[z,X,G]}],animate:[{animate:["none",g,X,G]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,X,G]}],"perspective-origin":[{"perspective-origin":j()}],rotate:[{rotate:em()}],"rotate-x":[{"rotate-x":em()}],"rotate-y":[{"rotate-y":em()}],"rotate-z":[{"rotate-z":em()}],scale:[{scale:ef()}],"scale-x":[{"scale-x":ef()}],"scale-y":[{"scale-y":ef()}],"scale-z":[{"scale-z":ef()}],"scale-3d":["scale-3d"],skew:[{skew:ep()}],"skew-x":[{"skew-x":ep()}],"skew-y":[{"skew-y":ep()}],transform:[{transform:[X,G,"","none","gpu","cpu"]}],"transform-origin":[{origin:j()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ev()}],"translate-x":[{"translate-x":ev()}],"translate-y":[{"translate-y":ev()}],"translate-z":[{"translate-z":ev()}],"translate-none":["translate-none"],accent:[{accent:er()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:er()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",X,G]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":M()}],"scroll-mx":[{"scroll-mx":M()}],"scroll-my":[{"scroll-my":M()}],"scroll-ms":[{"scroll-ms":M()}],"scroll-me":[{"scroll-me":M()}],"scroll-mt":[{"scroll-mt":M()}],"scroll-mr":[{"scroll-mr":M()}],"scroll-mb":[{"scroll-mb":M()}],"scroll-ml":[{"scroll-ml":M()}],"scroll-p":[{"scroll-p":M()}],"scroll-px":[{"scroll-px":M()}],"scroll-py":[{"scroll-py":M()}],"scroll-ps":[{"scroll-ps":M()}],"scroll-pe":[{"scroll-pe":M()}],"scroll-pt":[{"scroll-pt":M()}],"scroll-pr":[{"scroll-pr":M()}],"scroll-pb":[{"scroll-pb":M()}],"scroll-pl":[{"scroll-pl":M()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",X,G]}],fill:[{fill:["none",...er()]}],"stroke-w":[{stroke:[z,J,L,W]}],stroke:[{stroke:["none",...er()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});var eu=r(5155),eh=r(2115),em=r(4565);let ef=(e,t)=>r=>{e.current!==r&&(e.current=r,t())};function ep(e,t){return"function"==typeof e?e(t):e}function ev(e,t){return eM(t).reduce((e,t)=>null===e?null:void 0!==e?e[t]:void 0,e)}function eb(e,t,r){let s=eM(t);return function e(t){if(!s.length)return ep(r,t);let a=s.shift();if("string"==typeof a||"number"==typeof a&&!Array.isArray(t))return"object"==typeof t?(null===t&&(t={}),{...t,[a]:e(t[a])}):{[a]:e()};if(Array.isArray(t)&&"number"==typeof a){let r=t.slice(0,a);return[...r.length?r:Array(a),e(t[a]),...t.slice(a+1)]}return[...Array(a),e()]}(e)}let eg=/^(\d*)$/gm,ex=/\.(\d*)\./gm,ey=/^(\d*)\./gm,ew=/\.(\d*$)/gm,ej=/\.{2,}/gm,ek="__int__",eS=`${ek}$1`;function eM(e){if(Array.isArray(e))return[...e];if("string"!=typeof e)throw Error("Path must be a string.");return e.replaceAll("[",".").replaceAll("]","").replace(eg,eS).replace(ex,`.${eS}.`).replace(ey,`${eS}.`).replace(ew,`.${eS}`).replace(ej,".").split(".").map(e=>0===e.indexOf(ek)?parseInt(e.substring(ek.length),10):e)}function eC(e,t){let{asyncDebounceMs:r}=t,{onChangeAsync:s,onBlurAsync:a,onSubmitAsync:i,onBlurAsyncDebounceMs:n,onChangeAsyncDebounceMs:l}=t.validators||{},o=r??0,d={cause:"change",validate:s,debounceMs:l??o},c={cause:"blur",validate:a,debounceMs:n??o},u=e=>({...e,debounceMs:0});switch(e){case"submit":return[u(d),u(c),{cause:"submit",validate:i,debounceMs:0}];case"blur":return[c];case"change":return[d];default:return[]}}function eF(e,t){let{onChange:r,onBlur:s,onSubmit:a,onMount:i}=t.validators||{},n={cause:"change",validate:r},l={cause:"blur",validate:s},o={cause:"server",validate:()=>void 0};switch(e){case"mount":return[{cause:"mount",validate:i}];case"submit":return[n,l,{cause:"submit",validate:a},o];case"server":return[o];case"blur":return[l,o];default:return[n,o]}}function eV(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[r,s]of e)if(!t.has(r)||!Object.is(s,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let r of e)if(!t.has(r))return!1;return!0}let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let s=0;s{var t,r;this.listeners.add(e);let s=null==(r=null==(t=this.options)?void 0:t.onSubscribe)?void 0:r.call(t,e,this);return()=>{this.listeners.delete(e),null==s||s()}},this.prevState=e,this.state=e,this.options=t}setState(e){var t,r,s;(this.prevState=this.state,null==(t=this.options)?void 0:t.updateFn)?this.state=this.options.updateFn(this.prevState)(e):"function"==typeof e?this.state=e(this.prevState):this.state=e,null==(s=null==(r=this.options)?void 0:r.onUpdate)||s.call(r),eP(this)}}class eN{constructor(e){this.listeners=new Set,this._subscriptions=[],this.lastSeenDepValues=[],this.getDepVals=()=>{let e=this.options.deps.length,t=Array(e),r=Array(e);for(let s=0;s{var e,t;this.prevState=this.state;let r=this.getDepVals();this.state=this.options.fn(r),null==(t=(e=this.options).onUpdate)||t.call(e)},this.checkIfRecalculationNeededDeeply=()=>{for(let e of this.options.deps)e instanceof eN&&e.checkIfRecalculationNeededDeeply();let e=!1,t=this.lastSeenDepValues,{currDepVals:r}=this.getDepVals();for(let s=0;s(this.registerOnGraph(),this.checkIfRecalculationNeededDeeply(),()=>{for(let e of(this.unregisterFromGraph(),this._subscriptions))e()}),this.subscribe=e=>{var t,r;this.listeners.add(e);let s=null==(r=(t=this.options).onSubscribe)?void 0:r.call(t,e,this);return()=>{this.listeners.delete(e),null==s||s()}},this.options=e,this.state=e.fn({prevDepVals:void 0,prevVal:void 0,currDepVals:this.getDepVals().currDepVals})}registerOnGraph(e=this.options.deps){for(let t of e)if(t instanceof eN)t.registerOnGraph(),this.registerOnGraph(t.options.deps);else if(t instanceof eA){let e=ez.get(t);e||(e=new Set,ez.set(t,e)),e.add(this);let r=e_.get(this);r||(r=new Set,e_.set(this,r)),r.add(t)}}unregisterFromGraph(e=this.options.deps){for(let t of e)if(t instanceof eN)this.unregisterFromGraph(t.options.deps);else if(t instanceof eA){let e=ez.get(t);e&&e.delete(this);let r=e_.get(this);r&&r.delete(t)}}}let ez=new WeakMap,e_=new WeakMap,eI={current:[]},eB=!1,eE=0,eT=new Set,eO=new Map;function eP(e){if(eE>0&&!eO.has(e)&&eO.set(e,e.prevState),eT.add(e),!(eE>0)&&!eB)try{for(eB=!0;eT.size>0;){let e=Array.from(eT);for(let t of(eT.clear(),e)){let e=eO.get(t)??t.prevState;t.prevState=e,function(e){let t={prevVal:e.prevState,currentVal:e.state};for(let r of e.listeners)r(t)}(t)}for(let t of e){let e=ez.get(t);e&&(eI.current.push(t),function e(t){for(let r of Array.from(t).sort((e,t)=>e instanceof eN&&e.options.deps.includes(t)?1:t instanceof eN&&t.options.deps.includes(e)?-1:0)){if(eI.current.includes(r))continue;eI.current.push(r),r.recompute();let t=e_.get(r);if(t)for(let r of t){let t=ez.get(r);t&&e(t)}}}(e))}for(let t of e){let e=ez.get(t);if(e)for(let t of e)!function(e){let t={prevVal:e.prevState,currentVal:e.state};for(let r of e.listeners)r(t)}(t)}}}finally{eB=!1,eI.current=[],eO.clear()}}function eD(e){eE++;try{e()}finally{if(0==--eE){let e=eT.values().next().value;e&&eP(e)}}}let e$=(e={})=>()=>{let t=e.transformErrors??(e=>e.map(e=>e.message).join(", ")),r=e=>"form"===e?function(e){return t=>({form:e(t),fields:function(e,t){let r=new Map;for(let t of e){let e=[...t.path??[]].map(e=>{let t="object"==typeof e?e.key:e;return"number"==typeof t?`[${t}]`:t}).join(".").replace(/\.\[/g,"[");r.set(e,(r.get(e)??[]).concat(t))}let s={};return r.forEach((e,r)=>{s[r]=t(e)}),s}(t,e)})}(t):t;return{validate({value:e,validationSource:t},s){let a=s["~standard"].validate(e);if(a instanceof Promise)throw Error("async function passed to sync validator");if(a.issues)return r(t)(a.issues)},async validateAsync({value:e,validationSource:t},s){let a=await s["~standard"].validate(e);if(a.issues)return r(t)(a.issues)}}},eR=e=>!!e&&"~standard"in e;function eG(e){return{values:e.values??{},errorMap:e.errorMap??{},fieldMetaBase:e.fieldMetaBase??{},isSubmitted:e.isSubmitted??!1,isSubmitting:e.isSubmitting??!1,isValidating:e.isValidating??!1,submissionAttempts:e.submissionAttempts??0,validationMetaMap:e.validationMetaMap??{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0}}}let eL=e=>"object"==typeof e;class eW{constructor(e){var t;this.options={},this.fieldInfo={},this.prevTransformArray=[],this.mount=()=>{let e=this.fieldMetaDerived.mount(),t=this.store.mount(),{onMount:r}=this.options.validators||{};return r&&this.validateSync("mount"),()=>{e(),t()}},this.update=e=>{if(!e)return;let t=this.options;this.options=e;let r=e.defaultValues&&!eV(e.defaultValues,t.defaultValues)&&!this.state.isTouched,s=!eV(e.defaultState,t.defaultState)&&!this.state.isTouched;(r||s)&&eD(()=>{this.baseStore.setState(()=>eG(Object.assign({},this.state,s?e.defaultState:{},r?{values:e.defaultValues}:{})))})},this.reset=(e,t)=>{let{fieldMeta:r}=this.state,s=this.resetFieldMeta(r);!e||(null==t?void 0:t.keepDefaultValues)||(this.options={...this.options,defaultValues:e}),this.baseStore.setState(()=>{var t;return eG({...this.options.defaultState,values:e??this.options.defaultValues??(null==(t=this.options.defaultState)?void 0:t.values),fieldMetaBase:s})})},this.validateAllFields=async e=>{let t=[];return eD(()=>{Object.values(this.fieldInfo).forEach(r=>{if(!r.instance)return;let s=r.instance;t.push(Promise.resolve().then(()=>s.validate(e,{skipFormValidation:!0}))),r.instance.state.meta.isTouched||r.instance.setMeta(e=>({...e,isTouched:!0}))})}),(await Promise.all(t)).flat()},this.validateArrayFieldsStartingFrom=async(e,t,r)=>{let s=this.getFieldValue(e),a=Array.isArray(s)?Math.max(s.length-1,0):null,i=[`${e}[${t}]`];for(let r=t+1;r<=(a??0);r++)i.push(`${e}[${r}]`);let n=Object.keys(this.fieldInfo).filter(e=>i.some(t=>e.startsWith(t))),l=[];return eD(()=>{n.forEach(e=>{l.push(Promise.resolve().then(()=>this.validateField(e,r)))})}),(await Promise.all(l)).flat()},this.validateField=(e,t)=>{var r;let s=null==(r=this.fieldInfo[e])?void 0:r.instance;return s?(s.state.meta.isTouched||s.setMeta(e=>({...e,isTouched:!0})),s.validate(t)):[]},this.validateSync=e=>{let t=eF(e,this.options),r=!1,s={};eD(()=>{for(let e of t){if(!e.validate)continue;let{formError:t,fieldErrors:a}=eU(this.runValidator({validate:e.validate,value:{value:this.state.values,formApi:this,validationSource:"form"},type:"validate"})),i=eH(e.cause);if(a)for(let[e,t]of Object.entries(a)){let r={...s[e]||{},[i]:t};s[e]=r;let a=this.getFieldMeta(e);a&&a.errorMap[i]!==t&&this.setFieldMeta(e,e=>({...e,errorMap:{...e.errorMap,[i]:t}}))}this.state.errorMap[i]!==t&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[i]:t}})),(t||a)&&(r=!0)}});let a=eH("submit");return this.state.errorMap[a]&&"submit"!==e&&!r&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[a]:void 0}})),{hasErrored:r,fieldsErrorMap:s}},this.validateAsync=async e=>{let t;let r=eC(e,this.options);this.state.isFormValidating||this.baseStore.setState(e=>({...e,isFormValidating:!0}));let s=[];for(let e of r){if(!e.validate)continue;let r=eH(e.cause),a=this.state.validationMetaMap[r];null==a||a.lastAbortController.abort();let i=new AbortController;this.state.validationMetaMap[r]={lastAbortController:i},s.push(new Promise(async r=>{let s;try{s=await new Promise((t,r)=>{setTimeout(async()=>{if(i.signal.aborted)return t(void 0);try{t(await this.runValidator({validate:e.validate,value:{value:this.state.values,formApi:this,validationSource:"form",signal:i.signal},type:"validateAsync"}))}catch(e){r(e)}},e.debounceMs)})}catch(e){s=e}let{formError:a,fieldErrors:n}=eU(s);n&&(t=t?{...t,...n}:n);let l=eH(e.cause);if(t)for(let[e,r]of Object.entries(t)){let t=this.getFieldMeta(e);t&&t.errorMap[l]!==r&&this.setFieldMeta(e,e=>({...e,errorMap:{...e.errorMap,[l]:r}}))}this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[l]:a}})),r(t?{fieldErrors:t,errorMapKey:l}:void 0)}))}let a={};if(s.length){for(let e of(await Promise.all(s)))if(null==e?void 0:e.fieldErrors){let{errorMapKey:t}=e;for(let[r,s]of Object.entries(e.fieldErrors)){let e={...a[r]||{},[t]:s};a[r]=e}}}return this.baseStore.setState(e=>({...e,isFormValidating:!1})),a},this.validate=e=>{let{hasErrored:t,fieldsErrorMap:r}=this.validateSync(e);return t&&!this.options.asyncAlways?r:this.validateAsync(e)},this.handleSubmit=async()=>{var e,t,r,s,a,i;if(this.baseStore.setState(e=>({...e,isSubmitted:!1,submissionAttempts:e.submissionAttempts+1})),!this.state.canSubmit)return;this.baseStore.setState(e=>({...e,isSubmitting:!0}));let n=()=>{this.baseStore.setState(e=>({...e,isSubmitting:!1}))};if(await this.validateAllFields("submit"),!this.state.isFieldsValid){n(),null==(t=(e=this.options).onSubmitInvalid)||t.call(e,{value:this.state.values,formApi:this});return}if(await this.validate("submit"),!this.state.isValid){n(),null==(s=(r=this.options).onSubmitInvalid)||s.call(r,{value:this.state.values,formApi:this});return}eD(()=>{Object.values(this.fieldInfo).forEach(e=>{var t,r,s;null==(s=null==(r=null==(t=e.instance)?void 0:t.options.listeners)?void 0:r.onSubmit)||s.call(r,{value:e.instance.state.value,fieldApi:e.instance})})});try{await (null==(i=(a=this.options).onSubmit)?void 0:i.call(a,{value:this.state.values,formApi:this})),eD(()=>{this.baseStore.setState(e=>({...e,isSubmitted:!0})),n()})}catch(e){throw n(),e}},this.getFieldValue=e=>ev(this.state.values,e),this.getFieldMeta=e=>this.state.fieldMeta[e],this.getFieldInfo=e=>{var t;return(t=this.fieldInfo)[e]||(t[e]={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0}})},this.setFieldMeta=(e,t)=>{this.baseStore.setState(r=>({...r,fieldMetaBase:{...r.fieldMetaBase,[e]:ep(t,r.fieldMetaBase[e])}}))},this.resetFieldMeta=e=>Object.keys(e).reduce((e,t)=>(e[t]={isValidating:!1,isTouched:!1,isBlurred:!1,isDirty:!1,isPristine:!0,errors:[],errorMap:{}},e),{}),this.setFieldValue=(e,t,r)=>{let s=(null==r?void 0:r.dontUpdateMeta)??!1;eD(()=>{s||this.setFieldMeta(e,e=>({...e,isTouched:!0,isDirty:!0,errorMap:{...null==e?void 0:e.errorMap,onMount:void 0}})),this.baseStore.setState(r=>({...r,values:eb(r.values,e,t)}))})},this.deleteField=e=>{this.baseStore.setState(t=>{let r={...t};return r.values=function(e,t){let r=eM(t);return function e(t){if(!t)return;if(1===r.length){let e=r[0];if(Array.isArray(t)&&"number"==typeof e)return t.filter((t,r)=>r!==e);let{[e]:s,...a}=t;return a}let s=r.shift();if("string"==typeof s&&"object"==typeof t)return{...t,[s]:e(t[s])};if("number"==typeof s&&Array.isArray(t)){if(s>=t.length)return t;let r=t.slice(0,s);return[...r.length?r:Array(s),e(t[s]),...t.slice(s+1)]}throw Error("It seems we have created an infinite loop in deleteBy. ")}(e)}(r.values,e),delete r.fieldMetaBase[e],r}),delete this.fieldInfo[e]},this.pushFieldValue=(e,t,r)=>{this.setFieldValue(e,e=>[...Array.isArray(e)?e:[],t],r),this.validateField(e,"change")},this.insertFieldValue=async(e,t,r,s)=>{this.setFieldValue(e,e=>[...e.slice(0,t),r,...e.slice(t)],s),await this.validateField(e,"change")},this.replaceFieldValue=async(e,t,r,s)=>{this.setFieldValue(e,e=>e.map((e,s)=>s===t?r:e),s),await this.validateField(e,"change"),await this.validateArrayFieldsStartingFrom(e,t,"change")},this.removeFieldValue=async(e,t,r)=>{let s=this.getFieldValue(e),a=Array.isArray(s)?Math.max(s.length-1,0):null;if(this.setFieldValue(e,e=>e.filter((e,r)=>r!==t),r),null!==a){let t=`${e}[${a}]`;Object.keys(this.fieldInfo).filter(e=>e.startsWith(t)).forEach(e=>this.deleteField(e))}await this.validateField(e,"change"),await this.validateArrayFieldsStartingFrom(e,t,"change")},this.swapFieldValues=(e,t,r,s)=>{this.setFieldValue(e,e=>{let s=e[t],a=e[r];return eb(eb(e,`${t}`,a),`${r}`,s)},s),this.validateField(e,"change"),this.validateField(`${e}[${t}]`,"change"),this.validateField(`${e}[${r}]`,"change")},this.moveFieldValues=(e,t,r,s)=>{this.setFieldValue(e,e=>(e.splice(r,0,e.splice(t,1)[0]),e),s),this.validateField(e,"change"),this.validateField(`${e}[${t}]`,"change"),this.validateField(`${e}[${r}]`,"change")},this.baseStore=new eA(eG({...null==e?void 0:e.defaultState,values:(null==e?void 0:e.defaultValues)??(null==(t=null==e?void 0:e.defaultState)?void 0:t.values),isFormValid:!0})),this.fieldMetaDerived=new eN({deps:[this.baseStore],fn:({prevDepVals:e,currDepVals:t,prevVal:r})=>{let s=null==e?void 0:e[0],a=t[0],i=0,n={};for(let e of Object.keys(a.fieldMetaBase)){let t=a.fieldMetaBase[e],l=null==s?void 0:s.fieldMetaBase[e],o=null==r?void 0:r[e],d=null==o?void 0:o.errors;l&&t.errorMap===l.errorMap||(d=Object.values(t.errorMap??{}).filter(e=>void 0!==e));let c=!t.isDirty;if(o&&o.isPristine===c&&o.errors===d&&t===l){n[e]=o,i++;continue}n[e]={...t,errors:d,isPristine:c}}return r&&i===Object.keys(a.fieldMetaBase).length?r:n}}),this.store=new eN({deps:[this.baseStore,this.fieldMetaDerived],fn:({prevDepVals:e,currDepVals:t,prevVal:r})=>{var s,a,i,n;let l=null==e?void 0:e[0],o=t[0],d=Object.values(o.fieldMetaBase),c=d.some(e=>null==e?void 0:e.isValidating),u=!d.some(e=>(null==e?void 0:e.errorMap)&&function(e){return!(Array.isArray(e)&&0===e.length)}(Object.values(e.errorMap).filter(Boolean))),h=d.some(e=>null==e?void 0:e.isTouched),m=d.some(e=>null==e?void 0:e.isBlurred),f=h&&(null==(s=null==o?void 0:o.errorMap)?void 0:s.onMount),p=d.some(e=>null==e?void 0:e.isDirty),v=!p,b=!!((null==(a=o.errorMap)?void 0:a.onMount)||d.some(e=>{var t;return null==(t=null==e?void 0:e.errorMap)?void 0:t.onMount})),g=(null==r?void 0:r.errors)??[];l&&o.errorMap===l.errorMap||(g=Object.values(o.errorMap).reduce((e,t)=>(void 0===t||("string"==typeof t?e.push(t):t&&eL(t)&&e.push(t.form)),e),[]));let x=0===g.length,y=u&&x,w=0===o.submissionAttempts&&!h&&!b||!c&&!o.isSubmitting&&y,j=o.errorMap;if(f&&(g=g.filter(e=>e!==o.errorMap.onMount),j=Object.assign(j,{onMount:void 0})),r&&l&&r.errorMap===j&&r.fieldMeta===this.fieldMetaDerived.state&&r.errors===g&&r.isFieldsValidating===c&&r.isFieldsValid===u&&r.isFormValid===x&&r.isValid===y&&r.canSubmit===w&&r.isTouched===h&&r.isBlurred===m&&r.isPristine===v&&r.isDirty===p&&eV(l,o))return r;let k={...o,errorMap:j,fieldMeta:this.fieldMetaDerived.state,errors:g,isFieldsValidating:c,isFieldsValid:u,isFormValid:x,isValid:y,canSubmit:w,isTouched:h,isBlurred:m,isPristine:v,isDirty:p},S=(null==(i=this.options.transform)?void 0:i.deps)??[];if(S.length!==this.prevTransformArray.length||S.some((e,t)=>e!==this.prevTransformArray[t])){let e=Object.assign({},this,{state:k});null==(n=this.options.transform)||n.fn(e),k=e.state,this.prevTransformArray=S}return k}}),this.update(e||{})}get state(){return this.store.state}runValidator(e){let t=this.options.validatorAdapter;return t&&("function"!=typeof e.validate||"~standard"in e.validate)?t()[e.type](e.value,e.validate):eR(e.validate)?e$()()[e.type](e.value,e.validate):e.validate(e.value)}setErrorMap(e){this.baseStore.setState(t=>({...t,errorMap:{...t.errorMap,...e}}))}}function eU(e){return e?"object"==typeof e?{formError:eU(e.form).formError,fieldErrors:e.fields}:"string"!=typeof e?{formError:"Invalid Form Values"}:{formError:e}:{formError:void 0}}function eH(e){switch(e){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";default:return"onChange"}}var eq=r(8010);function eX(e,t=e=>e){return(0,eq.useSyncExternalStoreWithSelector)(e.subscribe,()=>e.state,()=>e.state,t,eJ)}function eJ(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[r,s]of e)if(!t.has(r)||!Object.is(s,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let r of e)if(!t.has(r))return!1;return!0}if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();let r=eY(e);if(r.length!==eY(t).length)return!1;for(let s=0;s{var e,t;let r=this.store.mount();this.getInfo().instance=this,this.update(this.options);let{onMount:s}=this.options.validators||{};if(s){let e=this.runValidator({validate:s,value:{value:this.state.value,fieldApi:this,validationSource:"field"},type:"validate"});e&&this.setMeta(t=>({...t,errorMap:{...null==t?void 0:t.errorMap,onMount:e}}))}return null==(t=null==(e=this.options.listeners)?void 0:e.onMount)||t.call(e,{value:this.state.value,fieldApi:this}),r},this.update=e=>{if(void 0===this.state.value){let t=ev(e.form.options.defaultValues,e.name);void 0!==e.defaultValue?this.setValue(e.defaultValue,{dontUpdateMeta:!0}):void 0!==t&&this.setValue(t,{dontUpdateMeta:!0})}void 0===this.form.getFieldMeta(this.name)&&this.setMeta(this.state.meta),this.options=e,this.name=e.name},this.getValue=()=>this.form.getFieldValue(this.name),this.setValue=(e,t)=>{var r,s;this.form.setFieldValue(this.name,e,t),null==(s=null==(r=this.options.listeners)?void 0:r.onChange)||s.call(r,{value:this.state.value,fieldApi:this}),this.validate("change")},this.getMeta=()=>this.store.state.meta,this.setMeta=e=>this.form.setFieldMeta(this.name,e),this.getInfo=()=>this.form.getFieldInfo(this.name),this.pushValue=(e,t)=>this.form.pushFieldValue(this.name,e,t),this.insertValue=(e,t,r)=>this.form.insertFieldValue(this.name,e,t,r),this.replaceValue=(e,t,r)=>this.form.replaceFieldValue(this.name,e,t,r),this.removeValue=(e,t)=>this.form.removeFieldValue(this.name,e,t),this.swapValues=(e,t,r)=>this.form.swapFieldValues(this.name,e,t,r),this.moveValue=(e,t,r)=>this.form.moveFieldValues(this.name,e,t,r),this.getLinkedFields=e=>{let t=Object.values(this.form.fieldInfo),r=[];for(let s of t){if(!s.instance)continue;let{onChangeListenTo:t,onBlurListenTo:a}=s.instance.options.validators||{};"change"===e&&(null==t?void 0:t.includes(this.name))&&r.push(s.instance),"blur"===e&&(null==a?void 0:a.includes(this.name))&&r.push(s.instance)}return r},this.validateSync=(e,t)=>{let r=eF(e,this.options),s=this.getLinkedFields(e).reduce((t,r)=>{let s=eF(e,r.options);return s.forEach(e=>{e.field=r}),t.concat(s)},[]),a=!1;eD(()=>{let e=(e,r)=>{let s=eZ(r.cause),i=r.validate?eQ(e.runValidator({validate:r.validate,value:{value:e.store.state.value,validationSource:"field",fieldApi:e},type:"validate"})):t[s];e.state.meta.errorMap[s]!==i&&e.setMeta(e=>({...e,errorMap:{...e.errorMap,[eZ(r.cause)]:i||t[s]}})),(i||t[s])&&(a=!0)};for(let t of r)e(this,t);for(let t of s)t.validate&&e(t.field,t)});let i=eZ("submit");return this.state.meta.errorMap[i]&&"submit"!==e&&!a&&this.setMeta(e=>({...e,errorMap:{...e.errorMap,[i]:void 0}})),{hasErrored:a}},this.validateAsync=async(e,t)=>{let r=eC(e,this.options),s=await t,a=this.getLinkedFields(e),i=a.reduce((t,r)=>{let s=eC(e,r.options);return s.forEach(e=>{e.field=r}),t.concat(s)},[]);for(let e of(this.state.meta.isValidating||this.setMeta(e=>({...e,isValidating:!0})),a))e.setMeta(e=>({...e,isValidating:!0}));let n=[],l=[],o=(e,t,r)=>{let a=eZ(t.cause),i=e.getInfo().validationMetaMap[a];null==i||i.lastAbortController.abort();let n=new AbortController;this.getInfo().validationMetaMap[a]={lastAbortController:n},r.push(new Promise(async r=>{var i;let l;try{l=await new Promise((r,s)=>{this.timeoutIds[t.cause]&&clearTimeout(this.timeoutIds[t.cause]),this.timeoutIds[t.cause]=setTimeout(async()=>{if(n.signal.aborted)return r(void 0);try{r(await this.runValidator({validate:t.validate,value:{value:e.store.state.value,fieldApi:e,signal:n.signal,validationSource:"field"},type:"validateAsync"}))}catch(e){s(e)}},t.debounceMs)})}catch(e){l=e}if(n.signal.aborted)return r(void 0);let o=eQ(l),d=null==(i=s[this.name])?void 0:i[a],c=o||d;e.setMeta(e=>({...e,errorMap:{...null==e?void 0:e.errorMap,[a]:c}})),r(c)}))};for(let e of r)e.validate&&o(this,e,n);for(let e of i)e.validate&&o(e.field,e,l);let d=[];for(let e of((n.length||l.length)&&(d=await Promise.all(n),await Promise.all(l)),this.setMeta(e=>({...e,isValidating:!1})),a))e.setMeta(e=>({...e,isValidating:!1}));return d.filter(Boolean)},this.validate=(e,t)=>{var r;if(!this.state.meta.isTouched)return[];let{fieldsErrorMap:s}=(null==t?void 0:t.skipFormValidation)?{fieldsErrorMap:{}}:this.form.validateSync(e),{hasErrored:a}=this.validateSync(e,s[this.name]??{});if(a&&!this.options.asyncAlways)return null==(r=this.getInfo().validationMetaMap[eZ(e)])||r.lastAbortController.abort(),this.state.meta.errors;let i=(null==t?void 0:t.skipFormValidation)?Promise.resolve({}):this.form.validateAsync(e);return this.validateAsync(e,i)},this.handleChange=e=>{this.setValue(e)},this.handleBlur=()=>{var e,t;this.state.meta.isTouched||(this.setMeta(e=>({...e,isTouched:!0})),this.validate("change")),this.state.meta.isBlurred||this.setMeta(e=>({...e,isBlurred:!0})),this.validate("blur"),null==(t=null==(e=this.options.listeners)?void 0:e.onBlur)||t.call(e,{value:this.state.value,fieldApi:this})},this.form=e.form,this.name=e.name,this.timeoutIds={},void 0!==e.defaultValue&&this.form.setFieldValue(this.name,e.defaultValue,{dontUpdateMeta:!0}),this.store=new eN({deps:[this.form.store],fn:()=>({value:this.form.getFieldValue(this.name),meta:this.form.getFieldMeta(this.name)??{isValidating:!1,isTouched:!1,isBlurred:!1,isDirty:!1,isPristine:!0,errors:[],errorMap:{},...e.defaultMeta}})}),this.options=e}get state(){return this.store.state}runValidator(e){for(let t of[this.form.options.validatorAdapter,this.options.validatorAdapter])if(t&&("function"!=typeof e.validate||"~standard"in e.validate))return t()[e.type](e.value,e.validate);return eR(e.validate)?e$()()[e.type](e.value,e.validate):e.validate(e.value)}setErrorMap(e){this.setMeta(t=>({...t,errorMap:{...t.errorMap,...e}}))}}function eQ(e){if(e)return"string"!=typeof e?"Invalid Form Values":e}function eZ(e){switch(e){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";default:return"onChange"}}let e0="undefined"!=typeof window?eh.useLayoutEffect:eh.useEffect,e1=({children:e,...t})=>{let r=function(e){let[t]=(0,eh.useState)(()=>{let t=new eK({...e,form:e.form,name:e.name});return t.Field=e1,t});return e0(t.mount,[t]),e0(()=>{t.update(e)}),eX(t.store,"array"===e.mode?e=>[e.meta,Object.keys(e.value??[]).length]:void 0),t}(t),s=(0,eh.useMemo)(()=>ep(e,r),[e,r,r.state.value,r.state.meta]);return(0,eu.jsx)(eu.Fragment,{children:s})};function e4({form:e,selector:t,children:r}){return ep(r,eX(e.store,t))}function e2(e){let[t]=(0,eh.useState)(()=>{let t=new eW(e);return t.Field=function(e){return(0,eu.jsx)(e1,{...e,form:t})},t.Subscribe=e=>(0,eu.jsx)(e4,{form:t,selector:e.selector,children:e.children}),t});return e0(t.mount,[]),eX(t.store,e=>e.isSubmitting),e0(()=>{t.update(e)}),t}function e5(...e){return ec(function(){for(var e,t,r=0,s="",a=arguments.length;r"{tos}"===e?(0,eu.jsx)("a",{onClick:()=>i(r),target:"_blank",rel:"noopener noreferrer",className:"text-text-muted hover:underline font-semibold",children:n},t):"{privacy}"===e?(0,eu.jsx)("a",{onClick:()=>i(a),target:"_blank",rel:"noopener noreferrer",className:"text-text-muted hover:underline font-semibold",children:l},t):(0,eu.jsx)("span",{children:e},t))})}var e7=(0,eh.createContext)({});function te({children:e,ui:t,policies:r}){let s=function(e,{keys:t,deps:r=[e,t]}={}){let s=(0,eh.useRef)();s.current=e.get();let a=(0,eh.useCallback)(r=>{var a;let i;return ef(s,r)(e.value),t?.length>0?(a=ef(s,r),i=new Set(t).add(void 0),e.listen((e,t,r)=>{i.has(r)&&a(e,t,r)})):e.listen(ef(s,r))},r),i=()=>s.current;return(0,eh.useSyncExternalStore)(a,i,i)}(t);return(0,eu.jsx)(e7.Provider,{value:s,children:(0,eu.jsx)(e9,{policies:r,children:e})})}function tt(){return(0,eh.useContext)(e7)}function tr(e){let t=e??tt();return(0,eh.useMemo)(()=>e?.getAuth()??(0,em.xI)(t.app),[t.app])}function ts({children:e,className:t,...r}){return(0,eu.jsx)("div",{className:e5("fui-card",t),...r,children:e})}function ta({children:e,className:t,...r}){return(0,eu.jsx)("div",{className:e5("fui-card__header",t),...r,children:e})}function ti({children:e,className:t,...r}){return(0,eu.jsx)("h2",{className:e5("fui-card__title",t),...r,children:e})}function tn({children:e,className:t,...r}){return(0,eu.jsx)("p",{className:e5("fui-card__subtitle",t),...r,children:e})}var tl={primary:"fui-button",secondary:"fui-button fui-button--secondary"};function to({children:e,className:t,variant:r="primary",...s}){return(0,eu.jsx)("button",{type:"button",className:e5(tl[r],t),...s,children:e})}function td({field:e,className:t,...r}){return(0,eu.jsx)(eu.Fragment,{children:e.state.meta.isTouched&&e.state.meta.errors.length?(0,eu.jsx)("div",{role:"alert","aria-live":"polite",className:e5("fui-form__error",t),...r,children:e.state.meta.errors[0]}):null})}function tc(e){let t=tt(),r=tr(t),[a,i]=(0,eh.useState)(null),[n,l]=(0,eh.useState)(!1),[o,d]=(0,eh.useState)(!1),c=(0,eh.useMemo)(()=>(0,s.Ak)(t.translations),[t.translations]),u=e2({defaultValues:{email:""},validators:{onBlur:c,onSubmit:c},onSubmit:async({value:e})=>{i(null);try{await (0,s.MN)(t,e.email),l(!0)}catch(e){if(e instanceof s.Cc){i(e.message);return}console.error(e),i((0,s.sC)(t,"errors","unknownError"))}}});return(0,eh.useEffect)(()=>{(async()=>{try{await (0,s.ec)(t,window.location.href)}catch(e){e instanceof s.Cc&&i(e.message)}})()},[r,t.translations]),n?(0,eu.jsx)("div",{className:"fui-success",children:(0,s.sC)(t,"messages","signInLinkSent")}):(0,eu.jsxs)("form",{className:"fui-form",onSubmit:async e=>{e.preventDefault(),e.stopPropagation(),await u.handleSubmit()},children:[(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(u.Field,{name:"email",children:e=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:e.name,children:[(0,eu.jsx)("span",{children:(0,s.sC)(t,"labels","emailAddress")}),(0,eu.jsx)("input",{"aria-invalid":e.state.meta.isTouched&&e.state.meta.errors.length>0,id:e.name,name:e.name,type:"email",value:e.state.value,onBlur:()=>{d(!0),e.handleBlur()},onInput:t=>{e.handleChange(t.target.value),o&&(e.handleBlur(),u.update())}}),(0,eu.jsx)(td,{field:e})]})})})}),(0,eu.jsx)(e8,{}),(0,eu.jsxs)("fieldset",{children:[(0,eu.jsx)(to,{type:"submit",disabled:"idle"!==t.state,children:(0,s.sC)(t,"labels","sendSignInLink")}),a&&(0,eu.jsx)("div",{className:"fui-form__error",children:a})]})]})}function tu({children:e}){let t=tt(),r=(0,s.sC)(t,"labels","signIn"),a=(0,s.sC)(t,"prompts","signInToAccount");return(0,eu.jsx)("div",{className:"fui-screen",children:(0,eu.jsxs)(ts,{children:[(0,eu.jsxs)(ta,{children:[(0,eu.jsx)(ti,{children:r}),(0,eu.jsx)(tn,{children:a})]}),(0,eu.jsx)(tc,{}),e?(0,eu.jsxs)(eu.Fragment,{children:[(0,eu.jsx)(e3,{children:(0,s.sC)(t,"messages","dividerOr")}),(0,eu.jsx)("div",{className:"space-y-4",children:e})]}):null]})})}function th({onForgotPasswordClick:e,onRegisterClick:t}){let r=tt(),[a,i]=(0,eh.useState)(null),[n,l]=(0,eh.useState)(!1),o=(0,eh.useMemo)(()=>(0,s.mz)(r.translations),[r.translations]),d=e2({defaultValues:{email:"",password:""},validators:{onBlur:o,onSubmit:o},onSubmit:async({value:e})=>{i(null);try{await (0,s.x9)(r,e.email,e.password)}catch(e){if(e instanceof s.Cc){i(e.message);return}console.error(e),i((0,s.sC)(r,"errors","unknownError"))}}});return(0,eu.jsxs)("form",{className:"fui-form",onSubmit:async e=>{e.preventDefault(),e.stopPropagation(),await d.handleSubmit()},children:[(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(d.Field,{name:"email",children:e=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:e.name,children:[(0,eu.jsx)("span",{children:(0,s.sC)(r,"labels","emailAddress")}),(0,eu.jsx)("input",{"aria-invalid":e.state.meta.isTouched&&e.state.meta.errors.length>0,id:e.name,name:e.name,type:"email",value:e.state.value,onBlur:()=>{l(!0),e.handleBlur()},onInput:t=>{e.handleChange(t.target.value),n&&(e.handleBlur(),d.update())}}),(0,eu.jsx)(td,{field:e})]})})})}),(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(d.Field,{name:"password",children:t=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:t.name,children:[(0,eu.jsxs)("span",{className:"flex",children:[(0,eu.jsx)("span",{className:"flex-grow",children:(0,s.sC)(r,"labels","password")}),(0,eu.jsx)("button",{type:"button",disabled:"idle"!==r.state,onClick:e,className:"fui-form__action",children:(0,s.sC)(r,"labels","forgotPassword")})]}),(0,eu.jsx)("input",{"aria-invalid":t.state.meta.isTouched&&t.state.meta.errors.length>0,id:t.name,name:t.name,type:"password",value:t.state.value,onBlur:()=>{l(!0),t.handleBlur()},onInput:e=>{t.handleChange(e.target.value),n&&(t.handleBlur(),d.update())}}),(0,eu.jsx)(td,{field:t})]})})})}),(0,eu.jsx)(e8,{}),(0,eu.jsxs)("fieldset",{children:[(0,eu.jsx)(to,{type:"submit",disabled:"idle"!==r.state,children:(0,s.sC)(r,"labels","signIn")}),a&&(0,eu.jsx)("div",{className:"fui-form__error",children:a})]}),t&&(0,eu.jsx)("div",{className:"flex justify-center items-center",children:(0,eu.jsxs)("button",{type:"button",disabled:"idle"!==r.state,onClick:t,className:"fui-form__action",children:[(0,s.sC)(r,"prompts","noAccount")," ",(0,s.sC)(r,"labels","register")]})})]})}function tm({onForgotPasswordClick:e,onRegisterClick:t,children:r}){let a=tt(),i=(0,s.sC)(a,"labels","signIn"),n=(0,s.sC)(a,"prompts","signInToAccount");return(0,eu.jsx)("div",{className:"fui-screen",children:(0,eu.jsxs)(ts,{children:[(0,eu.jsxs)(ta,{children:[(0,eu.jsx)(ti,{children:i}),(0,eu.jsx)(tn,{children:n})]}),(0,eu.jsx)(th,{onForgotPasswordClick:e,onRegisterClick:t}),r?(0,eu.jsxs)(eu.Fragment,{children:[(0,eu.jsx)(e3,{children:(0,s.sC)(a,"messages","dividerOr")}),(0,eu.jsx)("div",{className:"space-y-4",children:r})]}):null]})})}function tf({value:e,onChange:t,className:r}){return(0,eu.jsx)("div",{className:e5("fui-country-selector",r),children:(0,eu.jsxs)("div",{className:"fui-country-selector__wrapper",children:[(0,eu.jsx)("span",{className:"fui-country-selector__flag",children:e.emoji}),(0,eu.jsxs)("div",{className:"fui-country-selector__select-wrapper",children:[(0,eu.jsx)("span",{className:"fui-country-selector__dial-code",children:e.dialCode}),(0,eu.jsx)("select",{className:"fui-country-selector__select",value:e.code,onChange:e=>{let r=s.X7.find(t=>t.code===e.target.value);r&&t(r)},children:s.X7.map(e=>(0,eu.jsxs)("option",{value:e.code,children:[e.dialCode," (",e.name,")"]},`${e.code}-${e.dialCode}`))})]})]})})}function tp({onSubmit:e,formError:t,recaptchaVerifier:r,recaptchaContainerRef:a}){let i=tt(),[n,l]=(0,eh.useState)(s.X7[0]),[o,d]=(0,eh.useState)(!1),c=(0,eh.useMemo)(()=>(0,s.C1)(i.translations).pick({phoneNumber:!0}),[i.translations]),u=e2({defaultValues:{phoneNumber:""},validators:{onBlur:c,onSubmit:c},onSubmit:async({value:t})=>{let r=(0,s.dl)(t.phoneNumber,n.dialCode);await e(r)}});return(0,eu.jsxs)("form",{className:"fui-form",onSubmit:async e=>{e.preventDefault(),e.stopPropagation(),await u.handleSubmit()},children:[(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(u.Field,{name:"phoneNumber",children:e=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:e.name,children:[(0,eu.jsx)("span",{children:(0,s.sC)(i,"labels","phoneNumber")}),(0,eu.jsxs)("div",{className:"fui-phone-input",children:[(0,eu.jsx)(tf,{value:n,onChange:l,className:"fui-phone-input__country-selector"}),(0,eu.jsx)("input",{"aria-invalid":e.state.meta.isTouched&&e.state.meta.errors.length>0,id:e.name,name:e.name,type:"tel",value:e.state.value,onBlur:()=>{d(!0),e.handleBlur()},onInput:t=>{e.handleChange(t.target.value),o&&(e.handleBlur(),u.update())},className:"fui-phone-input__number-input"})]}),(0,eu.jsx)(td,{field:e})]})})})}),(0,eu.jsx)("fieldset",{children:(0,eu.jsx)("div",{className:"fui-recaptcha-container",ref:a})}),(0,eu.jsx)(e8,{}),(0,eu.jsxs)("fieldset",{children:[(0,eu.jsx)(to,{type:"submit",disabled:!r||"idle"!==i.state,children:(0,s.sC)(i,"labels","sendCode")}),t&&(0,eu.jsx)("div",{className:"fui-form__error",children:t})]})]})}function tv({onSubmit:e,onResend:t,formError:r,isResending:a,canResend:i,timeLeft:n,recaptchaContainerRef:l}){let o=tt(),[d,c]=(0,eh.useState)(!1),u=(0,eh.useMemo)(()=>(0,s.C1)(o.translations).pick({verificationCode:!0}),[o.translations]),h=e2({defaultValues:{verificationCode:""},validators:{onBlur:u,onSubmit:u},onSubmit:async({value:t})=>{await e(t.verificationCode)}});return(0,eu.jsxs)("form",{className:"fui-form",onSubmit:async e=>{e.preventDefault(),e.stopPropagation(),await h.handleSubmit()},children:[(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(h.Field,{name:"verificationCode",children:e=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:e.name,children:[(0,eu.jsx)("span",{children:(0,s.sC)(o,"labels","verificationCode")}),(0,eu.jsx)("input",{"aria-invalid":e.state.meta.isTouched&&e.state.meta.errors.length>0,id:e.name,name:e.name,type:"text",value:e.state.value,onBlur:()=>{c(!0),e.handleBlur()},onInput:t=>{e.handleChange(t.target.value),d&&(e.handleBlur(),h.update())}}),(0,eu.jsx)(td,{field:e})]})})})}),(0,eu.jsx)("fieldset",{children:(0,eu.jsx)("div",{className:"fui-recaptcha-container",ref:l})}),(0,eu.jsx)(e8,{}),(0,eu.jsxs)("fieldset",{children:[(0,eu.jsx)(to,{type:"submit",disabled:"idle"!==o.state,children:(0,s.sC)(o,"labels","verifyCode")}),(0,eu.jsx)(to,{type:"button",disabled:a||!i||"idle"!==o.state,onClick:t,variant:"secondary",children:a?(0,s.sC)(o,"labels","sending"):i?(0,s.sC)(o,"labels","resendCode"):`${(0,s.sC)(o,"labels","resendCode")} (${n}s)`}),r&&(0,eu.jsx)("div",{className:"fui-form__error",children:r})]})]})}function tb({resendDelay:e=30}){let t=tt(),r=tr(t),[a,i]=(0,eh.useState)(null),[n,l]=(0,eh.useState)(null),[o,d]=(0,eh.useState)(null),[c,u]=(0,eh.useState)(""),[h,m]=(0,eh.useState)(!1),f=(0,eh.useRef)(null),{timeLeft:p,canResend:v,startTimer:b}=function(e){let[t,r]=(0,eh.useState)(0),[s,a]=(0,eh.useState)(!1),i=(0,eh.useRef)(0);return(0,eh.useEffect)(()=>()=>{i.current&&clearInterval(i.current)},[e]),{timeLeft:t,canResend:!s&&0===t,startTimer:(0,eh.useCallback)(()=>{i.current&&clearInterval(i.current),r(e),a(!0),i.current=window.setInterval(()=>{r(e=>(e<=1&&(i.current&&clearInterval(i.current),a(!1)),e<=1?0:e-1))},1e3)},[e])}}(e);return(0,eh.useEffect)(()=>{if(!f.current)return;let e=new em.kT(r,f.current,{size:t.recaptchaMode??"normal"});return d(e),()=>{e.clear(),d(null)}},[r,t.recaptchaMode]),(0,eu.jsx)("div",{className:"fui-form-container",children:n?(0,eu.jsx)(tv,{onSubmit:async e=>{if(!n)throw Error("Confirmation result not initialized");i(null);try{await (0,s.kT)(t,n,e)}catch(e){if(e instanceof s.Cc){i(e.message);return}console.error(e),i((0,s.sC)(t,"errors","unknownError"))}},onResend:async()=>{if(!(h||!v||!c||!f.current)){m(!0),i(null);try{o&&o.clear();let e=new em.kT(r,f.current,{size:t.recaptchaMode??"normal"});d(e);let a=await (0,s.ik)(t,c,e);l(a),b()}catch(e){e instanceof s.Cc?i(e.message):(console.error(e),i((0,s.sC)(t,"errors","unknownError")))}finally{m(!1)}}},formError:a,isResending:h,canResend:v,timeLeft:p,recaptchaContainerRef:f}):(0,eu.jsx)(tp,{onSubmit:async e=>{i(null);try{if(!o)throw Error("ReCAPTCHA not initialized");let r=await (0,s.ik)(t,e,o);u(e),l(r),b()}catch(e){if(e instanceof s.Cc){i(e.message);return}console.error(e),i((0,s.sC)(t,"errors","unknownError"))}},formError:a,recaptchaVerifier:o,recaptchaContainerRef:f})})}function tg({children:e,resendDelay:t}){let r=tt(),a=(0,s.sC)(r,"labels","signIn"),i=(0,s.sC)(r,"prompts","signInToAccount");return(0,eu.jsx)("div",{className:"fui-screen",children:(0,eu.jsxs)(ts,{children:[(0,eu.jsxs)(ta,{children:[(0,eu.jsx)(ti,{children:a}),(0,eu.jsx)(tn,{children:i})]}),(0,eu.jsx)(tb,{resendDelay:t}),e?(0,eu.jsxs)(eu.Fragment,{children:[(0,eu.jsx)(e3,{children:(0,s.sC)(r,"messages","dividerOr")}),(0,eu.jsx)("div",{className:"space-y-4",children:e})]}):null]})})}function tx({onBackToSignInClick:e}){let t=tt(),[r,a]=(0,eh.useState)(null),[i,n]=(0,eh.useState)(!1),l=(0,eh.useMemo)(()=>(0,s.mz)(t.translations),[t.translations]),o=e2({defaultValues:{email:"",password:""},validators:{onBlur:l,onSubmit:l},onSubmit:async({value:e})=>{a(null);try{await (0,s.eJ)(t,e.email,e.password)}catch(e){if(e instanceof s.Cc){a(e.message);return}console.error(e),a((0,s.sC)(t,"errors","unknownError"))}}});return(0,eu.jsxs)("form",{className:"fui-form",onSubmit:async e=>{e.preventDefault(),e.stopPropagation(),await o.handleSubmit()},children:[(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(o.Field,{name:"email",children:e=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:e.name,children:[(0,eu.jsx)("span",{children:(0,s.sC)(t,"labels","emailAddress")}),(0,eu.jsx)("input",{"aria-invalid":e.state.meta.isTouched&&e.state.meta.errors.length>0,id:e.name,name:e.name,type:"email",value:e.state.value,onBlur:()=>{n(!0),e.handleBlur()},onInput:t=>{e.handleChange(t.target.value),i&&(e.handleBlur(),o.update())}}),(0,eu.jsx)(td,{field:e})]})})})}),(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(o.Field,{name:"password",children:e=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:e.name,children:[(0,eu.jsx)("span",{children:(0,s.sC)(t,"labels","password")}),(0,eu.jsx)("input",{"aria-invalid":e.state.meta.isTouched&&e.state.meta.errors.length>0,id:e.name,name:e.name,type:"password",value:e.state.value,onBlur:()=>{n(!0),e.handleBlur()},onInput:t=>{e.handleChange(t.target.value),i&&(e.handleBlur(),o.update())}}),(0,eu.jsx)(td,{field:e})]})})})}),(0,eu.jsx)(e8,{}),(0,eu.jsxs)("fieldset",{children:[(0,eu.jsx)(to,{type:"submit",disabled:"idle"!==t.state,children:(0,s.sC)(t,"labels","createAccount")}),r&&(0,eu.jsx)("div",{className:"fui-form__error",children:r})]}),e&&(0,eu.jsx)("div",{className:"flex justify-center items-center",children:(0,eu.jsxs)("button",{type:"button",disabled:"idle"!==t.state,onClick:e,className:"fui-form__action",children:[(0,s.sC)(t,"prompts","haveAccount")," ",(0,s.sC)(t,"labels","signIn")," →"]})})]})}function ty({onBackToSignInClick:e,children:t}){let r=tt(),a=(0,s.sC)(r,"labels","register"),i=(0,s.sC)(r,"prompts","enterDetailsToCreate");return(0,eu.jsx)("div",{className:"fui-screen",children:(0,eu.jsxs)(ts,{children:[(0,eu.jsxs)(ta,{children:[(0,eu.jsx)(ti,{children:a}),(0,eu.jsx)(tn,{children:i})]}),(0,eu.jsx)(tx,{onBackToSignInClick:e}),t?(0,eu.jsxs)(eu.Fragment,{children:[(0,eu.jsx)(e3,{children:(0,s.sC)(r,"messages","dividerOr")}),(0,eu.jsx)("div",{className:"space-y-4",children:t})]}):null]})})}function tw({children:e}){let t=tt(),r=(0,s.sC)(t,"labels","signIn"),a=(0,s.sC)(t,"prompts","signInToAccount");return(0,eu.jsx)("div",{className:"fui-screen",children:(0,eu.jsxs)(ts,{children:[(0,eu.jsxs)(ta,{children:[(0,eu.jsx)(ti,{children:r}),(0,eu.jsx)(tn,{children:a})]}),e,(0,eu.jsx)(e8,{})]})})}function tj({onBackToSignInClick:e}){let t=tt(),[r,a]=(0,eh.useState)(null),[i,n]=(0,eh.useState)(!1),[l,o]=(0,eh.useState)(!1),d=(0,eh.useMemo)(()=>(0,s.CB)(t.translations),[t.translations]),c=e2({defaultValues:{email:""},validators:{onBlur:d,onSubmit:d},onSubmit:async({value:e})=>{a(null);try{await (0,s.J1)(t,e.email),n(!0)}catch(e){if(e instanceof s.Cc){a(e.message);return}console.error(e),a((0,s.sC)(t,"errors","unknownError"))}}});return i?(0,eu.jsx)("div",{className:"fui-success",children:(0,s.sC)(t,"messages","checkEmailForReset")}):(0,eu.jsxs)("form",{className:"fui-form",onSubmit:async e=>{e.preventDefault(),e.stopPropagation(),await c.handleSubmit()},children:[(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(c.Field,{name:"email",children:e=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:e.name,children:[(0,eu.jsx)("span",{children:(0,s.sC)(t,"labels","emailAddress")}),(0,eu.jsx)("input",{"aria-invalid":e.state.meta.isTouched&&e.state.meta.errors.length>0,id:e.name,name:e.name,type:"email",value:e.state.value,onBlur:()=>{o(!0),e.handleBlur()},onInput:t=>{e.handleChange(t.target.value),l&&(e.handleBlur(),c.update())}}),(0,eu.jsx)(td,{field:e})]})})})}),(0,eu.jsx)(e8,{}),(0,eu.jsxs)("fieldset",{children:[(0,eu.jsx)(to,{type:"submit",disabled:"idle"!==t.state,children:(0,s.sC)(t,"labels","resetPassword")}),r&&(0,eu.jsx)("div",{className:"fui-form__error",children:r})]}),e&&(0,eu.jsx)("div",{className:"flex justify-center items-center",children:(0,eu.jsxs)("button",{type:"button",disabled:"idle"!==t.state,onClick:e,className:"fui-form__action",children:[(0,s.sC)(t,"labels","backToSignIn")," →"]})})]})}function tk({onBackToSignInClick:e}){let t=tt(),r=(0,s.sC)(t,"labels","resetPassword"),a=(0,s.sC)(t,"prompts","enterEmailToReset");return(0,eu.jsx)("div",{className:"fui-screen",children:(0,eu.jsxs)(ts,{children:[(0,eu.jsxs)(ta,{children:[(0,eu.jsx)(ti,{children:r}),(0,eu.jsx)(tn,{children:a})]}),(0,eu.jsx)(tj,{onBackToSignInClick:e})]})})}function tS({provider:e,children:t}){let r=tt(),[a,i]=(0,eh.useState)(null),n=async()=>{i(null);try{await (0,s.cU)(r,e)}catch(e){if(e instanceof s.Cc){i(e.message);return}console.error(e),i((0,s.sC)(r,"errors","unknownError"))}};return(0,eu.jsxs)("div",{children:[(0,eu.jsx)(to,{type:"button",disabled:"idle"!==r.state,onClick:n,className:"fui-provider__button",children:t}),a&&(0,eu.jsx)("div",{className:"fui-form__error",children:a})]})}function tM(){let e=tt();return(0,eu.jsxs)(tS,{provider:new em.HF,children:[(0,eu.jsxs)("svg",{className:"fui-provider__icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",children:[(0,eu.jsx)("path",{fill:"#FFC107",d:"M43.611 20.083H42V20H24v8h11.303c-1.649 4.657-6.08 8-11.303 8-6.627 0-12-5.373-12-12s5.373-12 12-12c3.059 0 5.842 1.154 7.961 3.039l5.657-5.657C34.046 6.053 29.268 4 24 4 12.955 4 4 12.955 4 24s8.955 20 20 20 20-8.955 20-20c0-1.341-.138-2.65-.389-3.917z"}),(0,eu.jsx)("path",{fill:"#FF3D00",d:"m6.306 14.691 6.571 4.819C14.655 15.108 18.961 12 24 12c3.059 0 5.842 1.154 7.961 3.039l5.657-5.657C34.046 6.053 29.268 4 24 4 16.318 4 9.656 8.337 6.306 14.691z"}),(0,eu.jsx)("path",{fill:"#4CAF50",d:"M24 44c5.166 0 9.86-1.977 13.409-5.192l-6.19-5.238A11.91 11.91 0 0 1 24 36c-5.202 0-9.619-3.317-11.283-7.946l-6.522 5.025C9.505 39.556 16.227 44 24 44z"}),(0,eu.jsx)("path",{fill:"#1976D2",d:"M43.611 20.083H42V20H24v8h11.303a12.04 12.04 0 0 1-4.087 5.571l.003-.002 6.19 5.238C36.971 39.205 44 34 44 24c0-1.341-.138-2.65-.389-3.917z"})]}),(0,eu.jsx)("span",{children:(0,s.sC)(e,"labels","signInWithGoogle")})]})}}}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/460-27f0fb3882b99f1c.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/460-27f0fb3882b99f1c.js new file mode 100644 index 00000000..1da04d44 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/460-27f0fb3882b99f1c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[460],{8173:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return y}});let r=n(306),o=n(5155),u=r._(n(2115)),l=n(180),a=n(1394),f=n(4116),i=n(4445),c=n(5353),s=n(2170),d=n(9544);function p(e,t,n){"undefined"!=typeof window&&(async()=>e.prefetch(t,n))().catch(e=>{})}function h(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}n(2363);let y=u.default.forwardRef(function(e,t){let n,r;let{href:l,as:y,children:b,prefetch:g=null,passHref:m,replace:P,shallow:_,scroll:v,onClick:E,onMouseEnter:j,onTouchStart:O,legacyBehavior:M=!1,...C}=e;n=b,M&&("string"==typeof n||"number"==typeof n)&&(n=(0,o.jsx)("a",{children:n}));let k=u.default.useContext(a.AppRouterContext),w=!1!==g,I=null===g?i.PrefetchKind.AUTO:i.PrefetchKind.FULL,{href:x,as:S}=u.default.useMemo(()=>{let e=h(l);return{href:e,as:y?h(y):e}},[l,y]),T=u.default.useRef(x),N=u.default.useRef(S);M&&(r=u.default.Children.only(n));let A=M?r&&"object"==typeof r&&r.ref:t,[R,U,D]=(0,f.useIntersection)({rootMargin:"200px"}),F=u.default.useCallback(e=>{(N.current!==S||T.current!==x)&&(D(),N.current=S,T.current=x),R(e)},[S,x,D,R]),K=(0,c.useMergedRef)(F,A);u.default.useEffect(()=>{k&&U&&w&&p(k,x,{kind:I})},[S,x,U,w,k,I]);let L={ref:K,onClick(e){M||"function"!=typeof E||E(e),M&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),k&&!e.defaultPrevented&&function(e,t,n,r,o,l,a){let{nodeName:f}=e.currentTarget;"A"===f.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||(e.preventDefault(),u.default.startTransition(()=>{let e=null==a||a;"beforePopState"in t?t[o?"replace":"push"](n,r,{shallow:l,scroll:e}):t[o?"replace":"push"](r||n,{scroll:e})}))}(e,k,x,S,P,_,v)},onMouseEnter(e){M||"function"!=typeof j||j(e),M&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),k&&w&&p(k,x,{kind:I})},onTouchStart:function(e){M||"function"!=typeof O||O(e),M&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),k&&w&&p(k,x,{kind:I})}};return(0,s.isAbsoluteUrl)(S)?L.href=S:M&&!m&&("a"!==r.type||"href"in r.props)||(L.href=(0,d.addBasePath)(S)),M?u.default.cloneElement(r,L):(0,o.jsx)("a",{...C,...L,children:n})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8571:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{cancelIdleCallback:function(){return r},requestIdleCallback:function(){return n}});let n="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},r="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4116:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return f}});let r=n(2115),o=n(8571),u="function"==typeof IntersectionObserver,l=new Map,a=[];function f(e){let{rootRef:t,rootMargin:n,disabled:f}=e,i=f||!u,[c,s]=(0,r.useState)(!1),d=(0,r.useRef)(null),p=(0,r.useCallback)(e=>{d.current=e},[]);return(0,r.useEffect)(()=>{if(u){if(i||c)return;let e=d.current;if(e&&e.tagName)return function(e,t,n){let{id:r,observer:o,elements:u}=function(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=a.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=l.get(r)))return t;let o=new Map;return t={id:n,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e),elements:o},a.push(n),l.set(n,t),t}(n);return u.set(e,t),o.observe(e),function(){if(u.delete(e),o.unobserve(e),0===u.size){o.disconnect(),l.delete(r);let e=a.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&a.splice(e,1)}}}(e,e=>e&&s(e),{root:null==t?void 0:t.current,rootMargin:n})}else if(!c){let e=(0,o.requestIdleCallback)(()=>s(!0));return()=>(0,o.cancelIdleCallback)(e)}},[i,n,t,c,d.current]),[p,c,(0,r.useCallback)(()=>{s(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5353:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return o}});let r=n(2115);function o(e,t){let n=(0,r.useRef)(()=>{}),o=(0,r.useRef)(()=>{});return(0,r.useMemo)(()=>e&&t?r=>{null===r?(n.current(),o.current()):(n.current=u(e,r),o.current=u(t,r))}:e||t,[e,t])}function u(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},180:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{formatUrl:function(){return u},formatWithValidation:function(){return a},urlObjectKeys:function(){return l}});let r=n(9955)._(n(4156)),o=/https?|ftp|gopher|file/;function u(e){let{auth:t,hostname:n}=e,u=e.protocol||"",l=e.pathname||"",a=e.hash||"",f=e.query||"",i=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?i=t+e.host:n&&(i=t+(~n.indexOf(":")?"["+n+"]":n),e.port&&(i+=":"+e.port)),f&&"object"==typeof f&&(f=String(r.urlQueryToSearchParams(f)));let c=e.search||f&&"?"+f||"";return u&&!u.endsWith(":")&&(u+=":"),e.slashes||(!u||o.test(u))&&!1!==i?(i="//"+(i||""),l&&"/"!==l[0]&&(l="/"+l)):i||(i=""),a&&"#"!==a[0]&&(a="#"+a),c&&"?"!==c[0]&&(c="?"+c),""+u+i+(l=l.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+a}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function a(e){return u(e)}},4156:(e,t)=>{function n(e){let t={};return e.forEach((e,n)=>{void 0===t[n]?t[n]=e:Array.isArray(t[n])?t[n].push(e):t[n]=[t[n],e]}),t}function r(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[n,o]=e;Array.isArray(o)?o.forEach(e=>t.append(n,r(e))):t.set(n,r(o))}),t}function u(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,n)=>e.append(n,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{assign:function(){return u},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return o}})},2170:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return m},MissingStaticPage:function(){return g},NormalizeError:function(){return y},PageNotFoundError:function(){return b},SP:function(){return d},ST:function(){return p},WEB_VITALS:function(){return n},execOnce:function(){return r},getDisplayName:function(){return f},getLocationOrigin:function(){return l},getURL:function(){return a},isAbsoluteUrl:function(){return u},isResSent:function(){return i},loadGetInitialProps:function(){return s},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return P}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function r(e){let t,n=!1;return function(){for(var r=arguments.length,o=Array(r),u=0;uo.test(e);function l(){let{protocol:e,hostname:t,port:n}=window.location;return e+"//"+t+(n?":"+n:"")}function a(){let{href:e}=window.location,t=l();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function i(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function s(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await s(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&i(n))return r;if(!r)throw Error('"'+f(e)+'.getInitialProps()" should resolve to an object. But found "'+r+'" instead.');return r}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class y extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class m extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function P(e){return JSON.stringify({message:e.message,stack:e.stack})}},9904:(e,t,n)=>{n.d(t,{Dk:()=>r.Dk,Wp:()=>r.Wp});var r=n(1972);(0,r.KO)("firebase","11.10.0","app")}}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/499-b5a9acf51f160200.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/499-b5a9acf51f160200.js new file mode 100644 index 00000000..5f8f17ee --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/499-b5a9acf51f160200.js @@ -0,0 +1,15 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[499],{6959:(e,t,a)=>{a.d(t,{cY:()=>_,FA:()=>M,g:()=>P,u:()=>u,Uj:()=>c,tD:()=>$,bD:()=>function e(t,a){if(t===a)return!0;let i=Object.keys(t),n=Object.keys(a);for(let r of i){if(!n.includes(r))return!1;let i=t[r],s=a[r];if(L(i)&&L(s)){if(!e(i,s))return!1}else if(i!==s)return!1}for(let e of n)if(!i.includes(e))return!1;return!0},hp:()=>F,T9:()=>y,Tj:()=>g,XA:()=>v,Ku:()=>z,ZQ:()=>S,sr:()=>A,zJ:()=>C,c1:()=>I,Im:()=>R,lT:()=>T,zW:()=>O,jZ:()=>x,lV:()=>E,gE:()=>b,Am:()=>Z,I9:()=>B,P1:()=>k,eX:()=>N});let i=()=>void 0;var n=a(2818);let r=function(e){let t=[],a=0;for(let i=0;i>6|192:((64512&n)==55296&&i+1>18|240,t[a++]=n>>12&63|128):t[a++]=n>>12|224,t[a++]=n>>6&63|128),t[a++]=63&n|128)}return t},s=function(e){let t=[],a=0,i=0;for(;a191&&n<224){let r=e[a++];t[i++]=String.fromCharCode((31&n)<<6|63&r)}else if(n>239&&n<365){let r=((7&n)<<18|(63&e[a++])<<12|(63&e[a++])<<6|63&e[a++])-65536;t[i++]=String.fromCharCode(55296+(r>>10)),t[i++]=String.fromCharCode(56320+(1023&r))}else{let r=e[a++],s=e[a++];t[i++]=String.fromCharCode((15&n)<<12|(63&r)<<6|63&s)}}return t.join("")},o={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();let a=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,i=[];for(let t=0;t>2,c=(3&n)<<4|s>>4,u=(15&s)<<2|d>>6,h=63&d;o||(h=64,r||(u=64)),i.push(a[l],a[c],a[u],a[h])}return i.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(r(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):s(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();let a=t?this.charToByteMapWebSafe_:this.charToByteMap_,i=[];for(let t=0;t>4;if(i.push(l),64!==s){let e=r<<4&240|s>>2;if(i.push(e),64!==o){let e=s<<6&192|o;i.push(e)}}}return i},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class d extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}let l=function(e){let t=r(e);return o.encodeByteArray(t,!0)},c=function(e){return l(e).replace(/\./g,"")},u=function(e){try{return o.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null},h=()=>(function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==a.g)return a.g;throw Error("Unable to locate global object.")})().__FIREBASE_DEFAULTS__,m=()=>{if(void 0===n||void 0===n.env)return;let e=n.env.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)},p=()=>{let e;if("undefined"==typeof document)return;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(e){return}let t=e&&u(e[1]);return t&&JSON.parse(t)},f=()=>{try{return i()||h()||m()||p()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}},g=e=>{var t,a;return null===(a=null===(t=f())||void 0===t?void 0:t.emulatorHosts)||void 0===a?void 0:a[e]},y=()=>{var e;return null===(e=f())||void 0===e?void 0:e.config},v=e=>{var t;return null===(t=f())||void 0===t?void 0:t[`_${e}`]};class _{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(e){return(t,a)=>{t?this.reject(t):this.resolve(a),"function"==typeof e&&(this.promise.catch(()=>{}),1===e.length?e(t):e(t,a))}}}function C(e){try{return(e.startsWith("http://")||e.startsWith("https://")?new URL(e).hostname:e).endsWith(".cloudworkstations.dev")}catch(e){return!1}}async function b(e){return(await fetch(e,{credentials:"include"})).ok}let w={},j=!1;function k(e,t){if("undefined"==typeof window||"undefined"==typeof document||!C(window.location.host)||w[e]===t||w[e]||j)return;function a(e){return`__firebase__banner__${e}`}w[e]=t;let i="__firebase__banner",n=function(){let e={prod:[],emulator:[]};for(let t of Object.keys(w))w[t]?e.emulator.push(t):e.prod.push(t);return e}().prod.length>0;function r(){let e,t;let r=(e=document.getElementById(i),t=!1,e||((e=document.createElement("div")).setAttribute("id",i),t=!0),{created:t,element:e}),s=a("text"),o=document.getElementById(s)||document.createElement("span"),d=a("learnmore"),l=document.getElementById(d)||document.createElement("a"),c=a("preprendIcon"),u=document.getElementById(c)||document.createElementNS("http://www.w3.org/2000/svg","svg");if(r.created){let e=r.element;e.style.display="flex",e.style.background="#7faaf0",e.style.position="fixed",e.style.bottom="5px",e.style.left="5px",e.style.padding=".5em",e.style.borderRadius="5px",e.style.alignItems="center",l.setAttribute("id",d),l.innerText="Learn more",l.href="https://firebase.google.com/docs/studio/preview-apps#preview-backend",l.setAttribute("target","__blank"),l.style.paddingLeft="5px",l.style.textDecoration="underline";let t=function(){let e=document.createElement("span");return e.style.cursor="pointer",e.style.marginLeft="16px",e.style.fontSize="24px",e.innerHTML=" ×",e.onclick=()=>{j=!0,function(){let e=document.getElementById(i);e&&e.remove()}()},e}();u.setAttribute("width","24"),u.setAttribute("id",c),u.setAttribute("height","24"),u.setAttribute("viewBox","0 0 24 24"),u.setAttribute("fill","none"),u.style.marginLeft="-6px",e.append(u,o,l,t),document.body.appendChild(e)}n?(o.innerText="Preview backend disconnected.",u.innerHTML=` + + + + + + +`):(u.innerHTML=` + + + + + + +`,o.innerText="Preview backend running in this workspace."),o.setAttribute("id",s)}"loading"===document.readyState?window.addEventListener("DOMContentLoaded",r):r()}function S(){return"undefined"!=typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function x(){return"undefined"!=typeof window&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(S())}function I(){return"undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent}function A(){let e="object"==typeof chrome?chrome.runtime:"object"==typeof browser?browser.runtime:void 0;return"object"==typeof e&&void 0!==e.id}function E(){return"object"==typeof navigator&&"ReactNative"===navigator.product}function T(){let e=S();return e.indexOf("MSIE ")>=0||e.indexOf("Trident/")>=0}function O(){try{return"object"==typeof indexedDB}catch(e){return!1}}function N(){return new Promise((e,t)=>{try{let a=!0,i="validate-browser-context-for-indexeddb-analytics-module",n=self.indexedDB.open(i);n.onsuccess=()=>{n.result.close(),a||self.indexedDB.deleteDatabase(i),e(!0)},n.onupgradeneeded=()=>{a=!1},n.onerror=()=>{var e;t((null===(e=n.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}})}class P extends Error{constructor(e,t,a){super(t),this.code=e,this.customData=a,this.name="FirebaseError",Object.setPrototypeOf(this,P.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,M.prototype.create)}}class M{constructor(e,t,a){this.service=e,this.serviceName=t,this.errors=a}create(e,...t){let a=t[0]||{},i=`${this.service}/${e}`,n=this.errors[e],r=n?n.replace(D,(e,t)=>{let i=a[t];return null!=i?String(i):`<${t}?>`}):"Error",s=`${this.serviceName}: ${r} (${i}).`;return new P(i,s,a)}}let D=/\{\$([^}]+)}/g;function R(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function L(e){return null!==e&&"object"==typeof e}function Z(e){let t=[];for(let[a,i]of Object.entries(e))Array.isArray(i)?i.forEach(e=>{t.push(encodeURIComponent(a)+"="+encodeURIComponent(e))}):t.push(encodeURIComponent(a)+"="+encodeURIComponent(i));return t.length?"&"+t.join("&"):""}function B(e){let t={};return e.replace(/^\?/,"").split("&").forEach(e=>{if(e){let[a,i]=e.split("=");t[decodeURIComponent(a)]=decodeURIComponent(i)}}),t}function F(e){let t=e.indexOf("?");if(!t)return"";let a=e.indexOf("#",t);return e.substring(t,a>0?a:void 0)}function $(e,t){let a=new U(e,t);return a.subscribe.bind(a)}class U{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(()=>{e(this)}).catch(e=>{this.error(e)})}next(e){this.forEachObserver(t=>{t.next(e)})}error(e){this.forEachObserver(t=>{t.error(e)}),this.close(e)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,a){let i;if(void 0===e&&void 0===t&&void 0===a)throw Error("Missing Observer.");void 0===(i=!function(e,t){if("object"!=typeof e||null===e)return!1;for(let a of t)if(a in e&&"function"==typeof e[a])return!0;return!1}(e,["next","error","complete"])?{next:e,error:t,complete:a}:e).next&&(i.next=V),void 0===i.error&&(i.error=V),void 0===i.complete&&(i.complete=V);let n=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?i.error(this.finalError):i.complete()}catch(e){}}),this.observers.push(i),n}unsubscribeOne(e){void 0!==this.observers&&void 0!==this.observers[e]&&(delete this.observers[e],this.observerCount-=1,0===this.observerCount&&void 0!==this.onNoObservers&&this.onNoObservers(this))}forEachObserver(e){if(!this.finalized)for(let t=0;t{if(void 0!==this.observers&&void 0!==this.observers[e])try{t(this.observers[e])}catch(e){"undefined"!=typeof console&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,void 0!==e&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function V(){}function z(e){return e&&e._delegate?e._delegate:e}},1972:(e,t,a)=>{let i,n;a.d(t,{MF:()=>R,j6:()=>N,xZ:()=>P,om:()=>O,Sx:()=>Z,Dk:()=>B,Wp:()=>L,KO:()=>F});var r=a(7086),s=a(4075),o=a(6959);let d=(e,t)=>t.some(t=>e instanceof t),l=new WeakMap,c=new WeakMap,u=new WeakMap,h=new WeakMap,m=new WeakMap,p={get(e,t,a){if(e instanceof IDBTransaction){if("done"===t)return c.get(e);if("objectStoreNames"===t)return e.objectStoreNames||u.get(e);if("store"===t)return a.objectStoreNames[1]?void 0:a.objectStore(a.objectStoreNames[0])}return f(e[t])},set:(e,t,a)=>(e[t]=a,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function f(e){var t;if(e instanceof IDBRequest)return function(e){let t=new Promise((t,a)=>{let i=()=>{e.removeEventListener("success",n),e.removeEventListener("error",r)},n=()=>{t(f(e.result)),i()},r=()=>{a(e.error),i()};e.addEventListener("success",n),e.addEventListener("error",r)});return t.then(t=>{t instanceof IDBCursor&&l.set(t,e)}).catch(()=>{}),m.set(t,e),t}(e);if(h.has(e))return h.get(e);let a="function"==typeof(t=e)?t!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(n||(n=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(g(this),e),f(l.get(this))}:function(...e){return f(t.apply(g(this),e))}:function(e,...a){let i=t.call(g(this),e,...a);return u.set(i,e.sort?e.sort():[e]),f(i)}:(t instanceof IDBTransaction&&function(e){if(c.has(e))return;let t=new Promise((t,a)=>{let i=()=>{e.removeEventListener("complete",n),e.removeEventListener("error",r),e.removeEventListener("abort",r)},n=()=>{t(),i()},r=()=>{a(e.error||new DOMException("AbortError","AbortError")),i()};e.addEventListener("complete",n),e.addEventListener("error",r),e.addEventListener("abort",r)});c.set(e,t)}(t),d(t,i||(i=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(t,p):t;return a!==e&&(h.set(e,a),m.set(a,e)),a}let g=e=>m.get(e),y=["get","getKey","getAll","getAllKeys","count"],v=["put","add","delete","clear"],_=new Map;function C(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(_.get(t))return _.get(t);let a=t.replace(/FromIndex$/,""),i=t!==a,n=v.includes(a);if(!(a in(i?IDBIndex:IDBObjectStore).prototype)||!(n||y.includes(a)))return;let r=async function(e,...t){let r=this.transaction(e,n?"readwrite":"readonly"),s=r.store;return i&&(s=s.index(t.shift())),(await Promise.all([s[a](...t),n&&r.done]))[0]};return _.set(t,r),r}p=(e=>({...e,get:(t,a,i)=>C(t,a)||e.get(t,a,i),has:(t,a)=>!!C(t,a)||e.has(t,a)}))(p);class b{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{if(!function(e){let t=e.getComponent();return(null==t?void 0:t.type)==="VERSION"}(e))return null;{let t=e.getImmediate();return`${t.library}/${t.version}`}}).filter(e=>e).join(" ")}}let w="@firebase/app",j="0.13.2",k=new s.Vy("@firebase/app"),S="[DEFAULT]",x={[w]:"fire-core","@firebase/app-compat":"fire-core-compat","@firebase/analytics":"fire-analytics","@firebase/analytics-compat":"fire-analytics-compat","@firebase/app-check":"fire-app-check","@firebase/app-check-compat":"fire-app-check-compat","@firebase/auth":"fire-auth","@firebase/auth-compat":"fire-auth-compat","@firebase/database":"fire-rtdb","@firebase/data-connect":"fire-data-connect","@firebase/database-compat":"fire-rtdb-compat","@firebase/functions":"fire-fn","@firebase/functions-compat":"fire-fn-compat","@firebase/installations":"fire-iid","@firebase/installations-compat":"fire-iid-compat","@firebase/messaging":"fire-fcm","@firebase/messaging-compat":"fire-fcm-compat","@firebase/performance":"fire-perf","@firebase/performance-compat":"fire-perf-compat","@firebase/remote-config":"fire-rc","@firebase/remote-config-compat":"fire-rc-compat","@firebase/storage":"fire-gcs","@firebase/storage-compat":"fire-gcs-compat","@firebase/firestore":"fire-fst","@firebase/firestore-compat":"fire-fst-compat","@firebase/ai":"fire-vertex","fire-js":"fire-js",firebase:"fire-js-all"},I=new Map,A=new Map,E=new Map;function T(e,t){try{e.container.addComponent(t)}catch(a){k.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,a)}}function O(e){let t=e.name;if(E.has(t))return k.debug(`There were multiple attempts to register component ${t}.`),!1;for(let a of(E.set(t,e),I.values()))T(a,e);for(let t of A.values())T(t,e);return!0}function N(e,t){let a=e.container.getProvider("heartbeat").getImmediate({optional:!0});return a&&a.triggerHeartbeat(),e.container.getProvider(t)}function P(e){return null!=e&&void 0!==e.settings}let M=new o.FA("app","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."});class D{constructor(e,t,a){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=a,this.container.addComponent(new r.uA("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw M.create("app-deleted",{appName:this._name})}}let R="11.10.0";function L(e,t={}){let a=e;"object"!=typeof t&&(t={name:t});let i=Object.assign({name:S,automaticDataCollectionEnabled:!0},t),n=i.name;if("string"!=typeof n||!n)throw M.create("bad-app-name",{appName:String(n)});if(a||(a=(0,o.T9)()),!a)throw M.create("no-options");let s=I.get(n);if(s){if((0,o.bD)(a,s.options)&&(0,o.bD)(i,s.config))return s;throw M.create("duplicate-app",{appName:n})}let d=new r.h1(n);for(let e of E.values())d.addComponent(e);let l=new D(a,i,d);return I.set(n,l),l}function Z(e=S){let t=I.get(e);if(!t&&e===S&&(0,o.T9)())return L();if(!t)throw M.create("no-app",{appName:e});return t}function B(){return Array.from(I.values())}function F(e,t,a){var i;let n=null!==(i=x[e])&&void 0!==i?i:e;a&&(n+=`-${a}`);let s=n.match(/\s|\//),o=t.match(/\s|\//);if(s||o){let e=[`Unable to register library "${n}" with version "${t}":`];s&&e.push(`library name "${n}" contains illegal characters (whitespace or "/")`),s&&o&&e.push("and"),o&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),k.warn(e.join(" "));return}O(new r.uA(`${n}-version`,()=>({library:n,version:t}),"VERSION"))}let $="firebase-heartbeat-store",U=null;function V(){return U||(U=(function(e,t,{blocked:a,upgrade:i,blocking:n,terminated:r}={}){let s=indexedDB.open(e,1),o=f(s);return i&&s.addEventListener("upgradeneeded",e=>{i(f(s.result),e.oldVersion,e.newVersion,f(s.transaction),e)}),a&&s.addEventListener("blocked",e=>a(e.oldVersion,e.newVersion,e)),o.then(e=>{r&&e.addEventListener("close",()=>r()),n&&e.addEventListener("versionchange",e=>n(e.oldVersion,e.newVersion,e))}).catch(()=>{}),o})("firebase-heartbeat-database",0,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore($)}catch(e){console.warn(e)}}}).catch(e=>{throw M.create("idb-open",{originalErrorMessage:e.message})})),U}async function z(e){try{let t=(await V()).transaction($),a=await t.objectStore($).get(K(e));return await t.done,a}catch(e){if(e instanceof o.g)k.warn(e.message);else{let t=M.create("idb-get",{originalErrorMessage:null==e?void 0:e.message});k.warn(t.message)}}}async function H(e,t){try{let a=(await V()).transaction($,"readwrite"),i=a.objectStore($);await i.put(t,K(e)),await a.done}catch(e){if(e instanceof o.g)k.warn(e.message);else{let t=M.create("idb-set",{originalErrorMessage:null==e?void 0:e.message});k.warn(t.message)}}}function K(e){return`${e.name}!${e.options.appId}`}class W{constructor(e){this.container=e,this._heartbeatsCache=null;let t=this.container.getProvider("app").getImmediate();this._storage=new q(t),this._heartbeatsCachePromise=this._storage.read().then(e=>(this._heartbeatsCache=e,e))}async triggerHeartbeat(){var e,t;try{let a=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),i=G();if((null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats)==null)||this._heartbeatsCache.lastSentHeartbeatDate===i||this._heartbeatsCache.heartbeats.some(e=>e.date===i))return;if(this._heartbeatsCache.heartbeats.push({date:i,agent:a}),this._heartbeatsCache.heartbeats.length>30){let e=function(e){if(0===e.length)return -1;let t=0,a=e[0].date;for(let i=1;ie.agent===n.agent);if(e){if(e.dates.push(n.date),J(a)>t){e.dates.pop();break}}else if(a.push({agent:n.agent,dates:[n.date]}),J(a)>t){a.pop();break}i=i.slice(1)}return{heartbeatsToSend:a,unsentEntries:i}}(this._heartbeatsCache.heartbeats),n=(0,o.Uj)(JSON.stringify({version:2,heartbeats:a}));return this._heartbeatsCache.lastSentHeartbeatDate=t,i.length>0?(this._heartbeatsCache.heartbeats=i,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),n}catch(e){return k.warn(e),""}}}function G(){return new Date().toISOString().substring(0,10)}class q{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!(0,o.zW)()&&(0,o.eX)().then(()=>!0).catch(()=>!1)}async read(){if(!await this._canUseIndexedDBPromise)return{heartbeats:[]};{let e=await z(this.app);return(null==e?void 0:e.heartbeats)?e:{heartbeats:[]}}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){let a=await this.read();return H(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:a.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){let a=await this.read();return H(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:a.lastSentHeartbeatDate,heartbeats:[...a.heartbeats,...e.heartbeats]})}}}function J(e){return(0,o.Uj)(JSON.stringify({version:2,heartbeats:e})).length}O(new r.uA("platform-logger",e=>new b(e),"PRIVATE")),O(new r.uA("heartbeat",e=>new W(e),"PRIVATE")),F(w,j,""),F(w,j,"esm2017"),F("fire-js","")},7086:(e,t,a)=>{a.d(t,{h1:()=>o,uA:()=>n});var i=a(6959);class n{constructor(e,t,a){this.name=e,this.instanceFactory=t,this.type=a,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}let r="[DEFAULT]";class s{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){let t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){let e=new i.cY;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{let a=this.getOrInitializeService({instanceIdentifier:t});a&&e.resolve(a)}catch(e){}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;let a=this.normalizeInstanceIdentifier(null==e?void 0:e.identifier),i=null!==(t=null==e?void 0:e.optional)&&void 0!==t&&t;if(this.isInitialized(a)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:a})}catch(e){if(i)return null;throw e}else{if(i)return null;throw Error(`Service ${this.name} is not available`)}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if("EAGER"===e.instantiationMode)try{this.getOrInitializeService({instanceIdentifier:r})}catch(e){}for(let[e,t]of this.instancesDeferred.entries()){let a=this.normalizeInstanceIdentifier(e);try{let e=this.getOrInitializeService({instanceIdentifier:a});t.resolve(e)}catch(e){}}}}clearInstance(e=r){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){let e=Array.from(this.instances.values());await Promise.all([...e.filter(e=>"INTERNAL"in e).map(e=>e.INTERNAL.delete()),...e.filter(e=>"_delete"in e).map(e=>e._delete())])}isComponentSet(){return null!=this.component}isInitialized(e=r){return this.instances.has(e)}getOptions(e=r){return this.instancesOptions.get(e)||{}}initialize(e={}){let{options:t={}}=e,a=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(a))throw Error(`${this.name}(${a}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);let i=this.getOrInitializeService({instanceIdentifier:a,options:t});for(let[e,t]of this.instancesDeferred.entries())a===this.normalizeInstanceIdentifier(e)&&t.resolve(i);return i}onInit(e,t){var a;let i=this.normalizeInstanceIdentifier(t),n=null!==(a=this.onInitCallbacks.get(i))&&void 0!==a?a:new Set;n.add(e),this.onInitCallbacks.set(i,n);let r=this.instances.get(i);return r&&e(r,i),()=>{n.delete(e)}}invokeOnInitCallbacks(e,t){let a=this.onInitCallbacks.get(t);if(a)for(let i of a)try{i(e,t)}catch(e){}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let a=this.instances.get(e);if(!a&&this.component&&(a=this.component.instanceFactory(this.container,{instanceIdentifier:e===r?void 0:e,options:t}),this.instances.set(e,a),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(a,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,a)}catch(e){}return a||null}normalizeInstanceIdentifier(e=r){return this.component?this.component.multipleInstances?e:r:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class o{constructor(e){this.name=e,this.providers=new Map}addComponent(e){let t=this.getProvider(e.name);if(t.isComponentSet())throw Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);let t=new s(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}},4075:(e,t,a)=>{var i;a.d(t,{$b:()=>i,Vy:()=>l});let n=[];!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(i||(i={}));let r={debug:i.DEBUG,verbose:i.VERBOSE,info:i.INFO,warn:i.WARN,error:i.ERROR,silent:i.SILENT},s=i.INFO,o={[i.DEBUG]:"log",[i.VERBOSE]:"log",[i.INFO]:"info",[i.WARN]:"warn",[i.ERROR]:"error"},d=(e,t,...a)=>{if(t{let i;a.d(t,{Cc:()=>eV,ec:()=>e1,kT:()=>eq,X7:()=>e5,mz:()=>e4,Ak:()=>e3,CB:()=>e2,C1:()=>e9,eJ:()=>eW,dl:()=>e8,sC:()=>e7,bN:()=>e6,J1:()=>eJ,MN:()=>eY,x9:()=>eK,cU:()=>eQ,ik:()=>eG});var n,r,s,o,d=a(4565),l=a(3468);let c=[],u=0,h=0,m=e=>{let t=[],a={get:()=>(a.lc||a.listen(()=>{})(),a.value),lc:0,listen:e=>(a.lc=t.push(e),()=>{for(let t=u+4;t(function e(t){if(p.test(t)){let[,a,i]=t.match(p);return[...e(a),i]}return[t]})(e))}let g=/^\d+$/;!function(e){e.assertEqual=e=>{},e.assertIs=function(e){},e.assertNever=function(e){throw Error()},e.arrayToEnum=e=>{let t={};for(let a of e)t[a]=a;return t},e.getValidEnumValues=t=>{let a=e.objectKeys(t).filter(e=>"number"!=typeof t[t[e]]),i={};for(let e of a)i[e]=t[e];return e.objectValues(i)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{let t=[];for(let a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.push(a);return t},e.find=(e,t)=>{for(let a of e)if(t(a))return a},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&Number.isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map(e=>"string"==typeof e?`'${e}'`:e).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(n||(n={})),(r||(r={})).mergeShapes=(e,t)=>({...e,...t});let y=n.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),v=e=>{switch(typeof e){case"undefined":return y.undefined;case"string":return y.string;case"number":return Number.isNaN(e)?y.nan:y.number;case"boolean":return y.boolean;case"function":return y.function;case"bigint":return y.bigint;case"symbol":return y.symbol;case"object":if(Array.isArray(e))return y.array;if(null===e)return y.null;if(e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch)return y.promise;if("undefined"!=typeof Map&&e instanceof Map)return y.map;if("undefined"!=typeof Set&&e instanceof Set)return y.set;if("undefined"!=typeof Date&&e instanceof Date)return y.date;return y.object;default:return y.unknown}},_=n.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class C extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){let t=e||function(e){return e.message},a={_errors:[]},i=e=>{for(let n of e.issues)if("invalid_union"===n.code)n.unionErrors.map(i);else if("invalid_return_type"===n.code)i(n.returnTypeError);else if("invalid_arguments"===n.code)i(n.argumentsError);else if(0===n.path.length)a._errors.push(t(n));else{let e=a,i=0;for(;ie.message){let t={},a=[];for(let i of this.issues)if(i.path.length>0){let a=i.path[0];t[a]=t[a]||[],t[a].push(e(i))}else a.push(e(i));return{formErrors:a,fieldErrors:t}}get formErrors(){return this.flatten()}}C.create=e=>new C(e);let b=(e,t)=>{let a;switch(e.code){case _.invalid_type:a=e.received===y.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case _.invalid_literal:a=`Invalid literal value, expected ${JSON.stringify(e.expected,n.jsonStringifyReplacer)}`;break;case _.unrecognized_keys:a=`Unrecognized key(s) in object: ${n.joinValues(e.keys,", ")}`;break;case _.invalid_union:a="Invalid input";break;case _.invalid_union_discriminator:a=`Invalid discriminator value. Expected ${n.joinValues(e.options)}`;break;case _.invalid_enum_value:a=`Invalid enum value. Expected ${n.joinValues(e.options)}, received '${e.received}'`;break;case _.invalid_arguments:a="Invalid function arguments";break;case _.invalid_return_type:a="Invalid function return type";break;case _.invalid_date:a="Invalid date";break;case _.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(a=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(a=`${a} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?a=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?a=`Invalid input: must end with "${e.validation.endsWith}"`:n.assertNever(e.validation):a="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case _.too_small:a="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"bigint"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case _.too_big:a="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case _.custom:a="Invalid input";break;case _.invalid_intersection_types:a="Intersection results could not be merged";break;case _.not_multiple_of:a=`Number must be a multiple of ${e.multipleOf}`;break;case _.not_finite:a="Number must be finite";break;default:a=t.defaultError,n.assertNever(e)}return{message:a}};!function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:e?.message}(s||(s={}));let w=e=>{let{data:t,path:a,errorMaps:i,issueData:n}=e,r=[...a,...n.path||[]],s={...n,path:r};if(void 0!==n.message)return{...n,path:r,message:n.message};let o="";for(let e of i.filter(e=>!!e).slice().reverse())o=e(s,{data:t,defaultError:o}).message;return{...n,path:r,message:o}};function j(e,t){let a=w({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,b,b==b?void 0:b].filter(e=>!!e)});e.common.issues.push(a)}class k{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){let a=[];for(let i of t){if("aborted"===i.status)return S;"dirty"===i.status&&e.dirty(),a.push(i.value)}return{status:e.value,value:a}}static async mergeObjectAsync(e,t){let a=[];for(let e of t){let t=await e.key,i=await e.value;a.push({key:t,value:i})}return k.mergeObjectSync(e,a)}static mergeObjectSync(e,t){let a={};for(let i of t){let{key:t,value:n}=i;if("aborted"===t.status||"aborted"===n.status)return S;"dirty"===t.status&&e.dirty(),"dirty"===n.status&&e.dirty(),"__proto__"!==t.value&&(void 0!==n.value||i.alwaysSet)&&(a[t.value]=n.value)}return{status:e.value,value:a}}}let S=Object.freeze({status:"aborted"}),x=e=>({status:"dirty",value:e}),I=e=>({status:"valid",value:e}),A=e=>"aborted"===e.status,E=e=>"dirty"===e.status,T=e=>"valid"===e.status,O=e=>"undefined"!=typeof Promise&&e instanceof Promise;class N{constructor(e,t,a,i){this._cachedPath=[],this.parent=e,this.data=t,this._path=a,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}let P=(e,t)=>{if(T(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let t=new C(e.common.issues);return this._error=t,this._error}}};function M(e){if(!e)return{};let{errorMap:t,invalid_type_error:a,required_error:i,description:n}=e;if(t&&(a||i))throw Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');return t?{errorMap:t,description:n}:{errorMap:(t,n)=>{let{message:r}=e;return"invalid_enum_value"===t.code?{message:r??n.defaultError}:void 0===n.data?{message:r??i??n.defaultError}:"invalid_type"!==t.code?{message:n.defaultError}:{message:r??a??n.defaultError}},description:n}}class D{get description(){return this._def.description}_getType(e){return v(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:v(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new k,ctx:{common:e.parent.common,data:e.data,parsedType:v(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(O(t))throw Error("Synchronous parse encountered promise.");return t}_parseAsync(e){return Promise.resolve(this._parse(e))}parse(e,t){let a=this.safeParse(e,t);if(a.success)return a.data;throw a.error}safeParse(e,t){let a={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:v(e)},i=this._parseSync({data:e,path:a.path,parent:a});return P(a,i)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:v(e)};if(!this["~standard"].async)try{let a=this._parseSync({data:e,path:[],parent:t});return T(a)?{value:a.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>T(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let a=await this.safeParseAsync(e,t);if(a.success)return a.data;throw a.error}async safeParseAsync(e,t){let a={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:v(e)},i=this._parse({data:e,path:a.path,parent:a});return P(a,await (O(i)?i:Promise.resolve(i)))}refine(e,t){let a=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement((t,i)=>{let n=e(t),r=()=>i.addIssue({code:_.custom,...a(t)});return"undefined"!=typeof Promise&&n instanceof Promise?n.then(e=>!!e||(r(),!1)):!!n||(r(),!1)})}refinement(e,t){return this._refinement((a,i)=>!!e(a)||(i.addIssue("function"==typeof t?t(a,i):t),!1))}_refinement(e){return new eA({schema:this,typeName:o.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:e=>this["~validate"](e)}}optional(){return eE.create(this,this._def)}nullable(){return eT.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return eu.create(this)}promise(){return eI.create(this,this._def)}or(e){return em.create([this,e],this._def)}and(e){return eg.create(this,e,this._def)}transform(e){return new eA({...M(this._def),schema:this,typeName:o.ZodEffects,effect:{type:"transform",transform:e}})}default(e){return new eO({...M(this._def),innerType:this,defaultValue:"function"==typeof e?e:()=>e,typeName:o.ZodDefault})}brand(){return new eM({typeName:o.ZodBranded,type:this,...M(this._def)})}catch(e){return new eN({...M(this._def),innerType:this,catchValue:"function"==typeof e?e:()=>e,typeName:o.ZodCatch})}describe(e){return new this.constructor({...this._def,description:e})}pipe(e){return eD.create(this,e)}readonly(){return eR.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}let R=/^c[^\s-]{8,}$/i,L=/^[0-9a-z]+$/,Z=/^[0-9A-HJKMNP-TV-Z]{26}$/i,B=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,F=/^[a-z0-9_-]{21}$/i,$=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,U=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,V=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,z=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,H=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,K=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,W=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,G=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,q=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,J="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Y=RegExp(`^${J}$`);function X(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`);let a=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${a}`}class Q extends D{_parse(e){var t,a,r,s;let o;if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==y.string){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.string,received:t.parsedType}),S}let d=new k;for(let l of this._def.checks)if("min"===l.kind)e.data.lengthl.value&&(j(o=this._getOrReturnCtx(e,o),{code:_.too_big,maximum:l.value,type:"string",inclusive:!0,exact:!1,message:l.message}),d.dirty());else if("length"===l.kind){let t=e.data.length>l.value,a=e.data.lengthe.test(t),{validation:t,code:_.invalid_string,...s.errToObj(a)})}_addCheck(e){return new Q({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...s.errToObj(e)})}url(e){return this._addCheck({kind:"url",...s.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...s.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...s.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...s.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...s.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...s.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...s.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...s.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...s.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...s.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...s.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...s.errToObj(e)})}datetime(e){return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===e?.precision?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...s.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===e?.precision?null:e?.precision,...s.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...s.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...s.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...s.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...s.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...s.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...s.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...s.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...s.errToObj(t)})}nonempty(e){return this.min(1,s.errToObj(e))}trim(){return new Q({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Q({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Q({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>"datetime"===e.kind)}get isDate(){return!!this._def.checks.find(e=>"date"===e.kind)}get isTime(){return!!this._def.checks.find(e=>"time"===e.kind)}get isDuration(){return!!this._def.checks.find(e=>"duration"===e.kind)}get isEmail(){return!!this._def.checks.find(e=>"email"===e.kind)}get isURL(){return!!this._def.checks.find(e=>"url"===e.kind)}get isEmoji(){return!!this._def.checks.find(e=>"emoji"===e.kind)}get isUUID(){return!!this._def.checks.find(e=>"uuid"===e.kind)}get isNANOID(){return!!this._def.checks.find(e=>"nanoid"===e.kind)}get isCUID(){return!!this._def.checks.find(e=>"cuid"===e.kind)}get isCUID2(){return!!this._def.checks.find(e=>"cuid2"===e.kind)}get isULID(){return!!this._def.checks.find(e=>"ulid"===e.kind)}get isIP(){return!!this._def.checks.find(e=>"ip"===e.kind)}get isCIDR(){return!!this._def.checks.find(e=>"cidr"===e.kind)}get isBase64(){return!!this._def.checks.find(e=>"base64"===e.kind)}get isBase64url(){return!!this._def.checks.find(e=>"base64url"===e.kind)}get minLength(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew Q({checks:[],typeName:o.ZodString,coerce:e?.coerce??!1,...M(e)});class ee extends D{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){let t;if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==y.number){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.number,received:t.parsedType}),S}let a=new k;for(let i of this._def.checks)"int"===i.kind?n.isInteger(e.data)||(j(t=this._getOrReturnCtx(e,t),{code:_.invalid_type,expected:"integer",received:"float",message:i.message}),a.dirty()):"min"===i.kind?(i.inclusive?e.datai.value:e.data>=i.value)&&(j(t=this._getOrReturnCtx(e,t),{code:_.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),a.dirty()):"multipleOf"===i.kind?0!==function(e,t){let a=(e.toString().split(".")[1]||"").length,i=(t.toString().split(".")[1]||"").length,n=a>i?a:i;return Number.parseInt(e.toFixed(n).replace(".",""))%Number.parseInt(t.toFixed(n).replace(".",""))/10**n}(e.data,i.value)&&(j(t=this._getOrReturnCtx(e,t),{code:_.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):"finite"===i.kind?Number.isFinite(e.data)||(j(t=this._getOrReturnCtx(e,t),{code:_.not_finite,message:i.message}),a.dirty()):n.assertNever(i);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,s.toString(t))}gt(e,t){return this.setLimit("min",e,!1,s.toString(t))}lte(e,t){return this.setLimit("max",e,!0,s.toString(t))}lt(e,t){return this.setLimit("max",e,!1,s.toString(t))}setLimit(e,t,a,i){return new ee({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:a,message:s.toString(i)}]})}_addCheck(e){return new ee({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:s.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:s.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:s.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:s.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:s.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:s.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:s.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:s.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:s.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&n.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let a of this._def.checks){if("finite"===a.kind||"int"===a.kind||"multipleOf"===a.kind)return!0;"min"===a.kind?(null===t||a.value>t)&&(t=a.value):"max"===a.kind&&(null===e||a.valuenew ee({checks:[],typeName:o.ZodNumber,coerce:e?.coerce||!1,...M(e)});class et extends D{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){let t;if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==y.bigint)return this._getInvalidInput(e);let a=new k;for(let i of this._def.checks)"min"===i.kind?(i.inclusive?e.datai.value:e.data>=i.value)&&(j(t=this._getOrReturnCtx(e,t),{code:_.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),a.dirty()):"multipleOf"===i.kind?e.data%i.value!==BigInt(0)&&(j(t=this._getOrReturnCtx(e,t),{code:_.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):n.assertNever(i);return{status:a.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.bigint,received:t.parsedType}),S}gte(e,t){return this.setLimit("min",e,!0,s.toString(t))}gt(e,t){return this.setLimit("min",e,!1,s.toString(t))}lte(e,t){return this.setLimit("max",e,!0,s.toString(t))}lt(e,t){return this.setLimit("max",e,!1,s.toString(t))}setLimit(e,t,a,i){return new et({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:a,message:s.toString(i)}]})}_addCheck(e){return new et({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:s.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:s.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:s.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:s.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:s.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew et({checks:[],typeName:o.ZodBigInt,coerce:e?.coerce??!1,...M(e)});class ea extends D{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==y.boolean){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.boolean,received:t.parsedType}),S}return I(e.data)}}ea.create=e=>new ea({typeName:o.ZodBoolean,coerce:e?.coerce||!1,...M(e)});class ei extends D{_parse(e){let t;if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==y.date){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.date,received:t.parsedType}),S}if(Number.isNaN(e.data.getTime()))return j(this._getOrReturnCtx(e),{code:_.invalid_date}),S;let a=new k;for(let i of this._def.checks)"min"===i.kind?e.data.getTime()i.value&&(j(t=this._getOrReturnCtx(e,t),{code:_.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),a.dirty()):n.assertNever(i);return{status:a.value,value:new Date(e.data.getTime())}}_addCheck(e){return new ei({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:s.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:s.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew ei({checks:[],coerce:e?.coerce||!1,typeName:o.ZodDate,...M(e)});class en extends D{_parse(e){if(this._getType(e)!==y.symbol){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.symbol,received:t.parsedType}),S}return I(e.data)}}en.create=e=>new en({typeName:o.ZodSymbol,...M(e)});class er extends D{_parse(e){if(this._getType(e)!==y.undefined){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.undefined,received:t.parsedType}),S}return I(e.data)}}er.create=e=>new er({typeName:o.ZodUndefined,...M(e)});class es extends D{_parse(e){if(this._getType(e)!==y.null){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.null,received:t.parsedType}),S}return I(e.data)}}es.create=e=>new es({typeName:o.ZodNull,...M(e)});class eo extends D{constructor(){super(...arguments),this._any=!0}_parse(e){return I(e.data)}}eo.create=e=>new eo({typeName:o.ZodAny,...M(e)});class ed extends D{constructor(){super(...arguments),this._unknown=!0}_parse(e){return I(e.data)}}ed.create=e=>new ed({typeName:o.ZodUnknown,...M(e)});class el extends D{_parse(e){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.never,received:t.parsedType}),S}}el.create=e=>new el({typeName:o.ZodNever,...M(e)});class ec extends D{_parse(e){if(this._getType(e)!==y.undefined){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.void,received:t.parsedType}),S}return I(e.data)}}ec.create=e=>new ec({typeName:o.ZodVoid,...M(e)});class eu extends D{_parse(e){let{ctx:t,status:a}=this._processInputParams(e),i=this._def;if(t.parsedType!==y.array)return j(t,{code:_.invalid_type,expected:y.array,received:t.parsedType}),S;if(null!==i.exactLength){let e=t.data.length>i.exactLength.value,n=t.data.lengthi.maxLength.value&&(j(t,{code:_.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),a.dirty()),t.common.async)return Promise.all([...t.data].map((e,a)=>i.type._parseAsync(new N(t,e,t.path,a)))).then(e=>k.mergeArray(a,e));let n=[...t.data].map((e,a)=>i.type._parseSync(new N(t,e,t.path,a)));return k.mergeArray(a,n)}get element(){return this._def.type}min(e,t){return new eu({...this._def,minLength:{value:e,message:s.toString(t)}})}max(e,t){return new eu({...this._def,maxLength:{value:e,message:s.toString(t)}})}length(e,t){return new eu({...this._def,exactLength:{value:e,message:s.toString(t)}})}nonempty(e){return this.min(1,e)}}eu.create=(e,t)=>new eu({type:e,minLength:null,maxLength:null,exactLength:null,typeName:o.ZodArray,...M(t)});class eh extends D{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;let e=this._def.shape(),t=n.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==y.object){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.object,received:t.parsedType}),S}let{status:t,ctx:a}=this._processInputParams(e),{shape:i,keys:n}=this._getCached(),r=[];if(!(this._def.catchall instanceof el&&"strip"===this._def.unknownKeys))for(let e in a.data)n.includes(e)||r.push(e);let s=[];for(let e of n){let t=i[e],n=a.data[e];s.push({key:{status:"valid",value:e},value:t._parse(new N(a,n,a.path,e)),alwaysSet:e in a.data})}if(this._def.catchall instanceof el){let e=this._def.unknownKeys;if("passthrough"===e)for(let e of r)s.push({key:{status:"valid",value:e},value:{status:"valid",value:a.data[e]}});else if("strict"===e)r.length>0&&(j(a,{code:_.unrecognized_keys,keys:r}),t.dirty());else if("strip"===e);else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let e=this._def.catchall;for(let t of r){let i=a.data[t];s.push({key:{status:"valid",value:t},value:e._parse(new N(a,i,a.path,t)),alwaysSet:t in a.data})}}return a.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of s){let a=await t.key,i=await t.value;e.push({key:a,value:i,alwaysSet:t.alwaysSet})}return e}).then(e=>k.mergeObjectSync(t,e)):k.mergeObjectSync(t,s)}get shape(){return this._def.shape()}strict(e){return s.errToObj,new eh({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,a)=>{let i=this._def.errorMap?.(t,a).message??a.defaultError;return"unrecognized_keys"===t.code?{message:s.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new eh({...this._def,unknownKeys:"strip"})}passthrough(){return new eh({...this._def,unknownKeys:"passthrough"})}extend(e){return new eh({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new eh({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:o.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new eh({...this._def,catchall:e})}pick(e){let t={};for(let a of n.objectKeys(e))e[a]&&this.shape[a]&&(t[a]=this.shape[a]);return new eh({...this._def,shape:()=>t})}omit(e){let t={};for(let a of n.objectKeys(this.shape))e[a]||(t[a]=this.shape[a]);return new eh({...this._def,shape:()=>t})}deepPartial(){return function e(t){if(t instanceof eh){let a={};for(let i in t.shape){let n=t.shape[i];a[i]=eE.create(e(n))}return new eh({...t._def,shape:()=>a})}return t instanceof eu?new eu({...t._def,type:e(t.element)}):t instanceof eE?eE.create(e(t.unwrap())):t instanceof eT?eT.create(e(t.unwrap())):t instanceof ey?ey.create(t.items.map(t=>e(t))):t}(this)}partial(e){let t={};for(let a of n.objectKeys(this.shape)){let i=this.shape[a];e&&!e[a]?t[a]=i:t[a]=i.optional()}return new eh({...this._def,shape:()=>t})}required(e){let t={};for(let a of n.objectKeys(this.shape))if(e&&!e[a])t[a]=this.shape[a];else{let e=this.shape[a];for(;e instanceof eE;)e=e._def.innerType;t[a]=e}return new eh({...this._def,shape:()=>t})}keyof(){return ek(n.objectKeys(this.shape))}}eh.create=(e,t)=>new eh({shape:()=>e,unknownKeys:"strip",catchall:el.create(),typeName:o.ZodObject,...M(t)}),eh.strictCreate=(e,t)=>new eh({shape:()=>e,unknownKeys:"strict",catchall:el.create(),typeName:o.ZodObject,...M(t)}),eh.lazycreate=(e,t)=>new eh({shape:e,unknownKeys:"strip",catchall:el.create(),typeName:o.ZodObject,...M(t)});class em extends D{_parse(e){let{ctx:t}=this._processInputParams(e),a=this._def.options;if(t.common.async)return Promise.all(a.map(async e=>{let a={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(function(e){for(let t of e)if("valid"===t.result.status)return t.result;for(let a of e)if("dirty"===a.result.status)return t.common.issues.push(...a.ctx.common.issues),a.result;let a=e.map(e=>new C(e.ctx.common.issues));return j(t,{code:_.invalid_union,unionErrors:a}),S});{let e;let i=[];for(let n of a){let a={...t,common:{...t.common,issues:[]},parent:null},r=n._parseSync({data:t.data,path:t.path,parent:a});if("valid"===r.status)return r;"dirty"!==r.status||e||(e={result:r,ctx:a}),a.common.issues.length&&i.push(a.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let n=i.map(e=>new C(e));return j(t,{code:_.invalid_union,unionErrors:n}),S}}get options(){return this._def.options}}em.create=(e,t)=>new em({options:e,typeName:o.ZodUnion,...M(t)});let ep=e=>{if(e instanceof ew)return ep(e.schema);if(e instanceof eA)return ep(e.innerType());if(e instanceof ej)return[e.value];if(e instanceof eS)return e.options;if(e instanceof ex)return n.objectValues(e.enum);if(e instanceof eO)return ep(e._def.innerType);if(e instanceof er)return[void 0];else if(e instanceof es)return[null];else if(e instanceof eE)return[void 0,...ep(e.unwrap())];else if(e instanceof eT)return[null,...ep(e.unwrap())];else if(e instanceof eM)return ep(e.unwrap());else if(e instanceof eR)return ep(e.unwrap());else if(e instanceof eN)return ep(e._def.innerType);else return[]};class ef extends D{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==y.object)return j(t,{code:_.invalid_type,expected:y.object,received:t.parsedType}),S;let a=this.discriminator,i=t.data[a],n=this.optionsMap.get(i);return n?t.common.async?n._parseAsync({data:t.data,path:t.path,parent:t}):n._parseSync({data:t.data,path:t.path,parent:t}):(j(t,{code:_.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[a]}),S)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,a){let i=new Map;for(let a of t){let t=ep(a.shape[e]);if(!t.length)throw Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let n of t){if(i.has(n))throw Error(`Discriminator property ${String(e)} has duplicate value ${String(n)}`);i.set(n,a)}}return new ef({typeName:o.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:i,...M(a)})}}class eg extends D{_parse(e){let{status:t,ctx:a}=this._processInputParams(e),i=(e,i)=>{if(A(e)||A(i))return S;let r=function e(t,a){let i=v(t),r=v(a);if(t===a)return{valid:!0,data:t};if(i===y.object&&r===y.object){let i=n.objectKeys(a),r=n.objectKeys(t).filter(e=>-1!==i.indexOf(e)),s={...t,...a};for(let i of r){let n=e(t[i],a[i]);if(!n.valid)return{valid:!1};s[i]=n.data}return{valid:!0,data:s}}if(i===y.array&&r===y.array){if(t.length!==a.length)return{valid:!1};let i=[];for(let n=0;ni(e,t)):i(this._def.left._parseSync({data:a.data,path:a.path,parent:a}),this._def.right._parseSync({data:a.data,path:a.path,parent:a}))}}eg.create=(e,t,a)=>new eg({left:e,right:t,typeName:o.ZodIntersection,...M(a)});class ey extends D{_parse(e){let{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==y.array)return j(a,{code:_.invalid_type,expected:y.array,received:a.parsedType}),S;if(a.data.lengththis._def.items.length&&(j(a,{code:_.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let i=[...a.data].map((e,t)=>{let i=this._def.items[t]||this._def.rest;return i?i._parse(new N(a,e,a.path,t)):null}).filter(e=>!!e);return a.common.async?Promise.all(i).then(e=>k.mergeArray(t,e)):k.mergeArray(t,i)}get items(){return this._def.items}rest(e){return new ey({...this._def,rest:e})}}ey.create=(e,t)=>{if(!Array.isArray(e))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new ey({items:e,typeName:o.ZodTuple,rest:null,...M(t)})};class ev extends D{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==y.object)return j(a,{code:_.invalid_type,expected:y.object,received:a.parsedType}),S;let i=[],n=this._def.keyType,r=this._def.valueType;for(let e in a.data)i.push({key:n._parse(new N(a,e,a.path,e)),value:r._parse(new N(a,a.data[e],a.path,e)),alwaysSet:e in a.data});return a.common.async?k.mergeObjectAsync(t,i):k.mergeObjectSync(t,i)}get element(){return this._def.valueType}static create(e,t,a){return new ev(t instanceof D?{keyType:e,valueType:t,typeName:o.ZodRecord,...M(a)}:{keyType:Q.create(),valueType:e,typeName:o.ZodRecord,...M(t)})}}class e_ extends D{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==y.map)return j(a,{code:_.invalid_type,expected:y.map,received:a.parsedType}),S;let i=this._def.keyType,n=this._def.valueType,r=[...a.data.entries()].map(([e,t],r)=>({key:i._parse(new N(a,e,a.path,[r,"key"])),value:n._parse(new N(a,t,a.path,[r,"value"]))}));if(a.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let a of r){let i=await a.key,n=await a.value;if("aborted"===i.status||"aborted"===n.status)return S;("dirty"===i.status||"dirty"===n.status)&&t.dirty(),e.set(i.value,n.value)}return{status:t.value,value:e}})}{let e=new Map;for(let a of r){let i=a.key,n=a.value;if("aborted"===i.status||"aborted"===n.status)return S;("dirty"===i.status||"dirty"===n.status)&&t.dirty(),e.set(i.value,n.value)}return{status:t.value,value:e}}}}e_.create=(e,t,a)=>new e_({valueType:t,keyType:e,typeName:o.ZodMap,...M(a)});class eC extends D{_parse(e){let{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==y.set)return j(a,{code:_.invalid_type,expected:y.set,received:a.parsedType}),S;let i=this._def;null!==i.minSize&&a.data.sizei.maxSize.value&&(j(a,{code:_.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),t.dirty());let n=this._def.valueType;function r(e){let a=new Set;for(let i of e){if("aborted"===i.status)return S;"dirty"===i.status&&t.dirty(),a.add(i.value)}return{status:t.value,value:a}}let s=[...a.data.values()].map((e,t)=>n._parse(new N(a,e,a.path,t)));return a.common.async?Promise.all(s).then(e=>r(e)):r(s)}min(e,t){return new eC({...this._def,minSize:{value:e,message:s.toString(t)}})}max(e,t){return new eC({...this._def,maxSize:{value:e,message:s.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}eC.create=(e,t)=>new eC({valueType:e,minSize:null,maxSize:null,typeName:o.ZodSet,...M(t)});class eb extends D{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==y.function)return j(t,{code:_.invalid_type,expected:y.function,received:t.parsedType}),S;function a(e,a){return w({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,b,b].filter(e=>!!e),issueData:{code:_.invalid_arguments,argumentsError:a}})}function i(e,a){return w({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,b,b].filter(e=>!!e),issueData:{code:_.invalid_return_type,returnTypeError:a}})}let n={errorMap:t.common.contextualErrorMap},r=t.data;if(this._def.returns instanceof eI){let e=this;return I(async function(...t){let s=new C([]),o=await e._def.args.parseAsync(t,n).catch(e=>{throw s.addIssue(a(t,e)),s}),d=await Reflect.apply(r,this,o);return await e._def.returns._def.type.parseAsync(d,n).catch(e=>{throw s.addIssue(i(d,e)),s})})}{let e=this;return I(function(...t){let s=e._def.args.safeParse(t,n);if(!s.success)throw new C([a(t,s.error)]);let o=Reflect.apply(r,this,s.data),d=e._def.returns.safeParse(o,n);if(!d.success)throw new C([i(o,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new eb({...this._def,args:ey.create(e).rest(ed.create())})}returns(e){return new eb({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,a){return new eb({args:e||ey.create([]).rest(ed.create()),returns:t||ed.create(),typeName:o.ZodFunction,...M(a)})}}class ew extends D{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}ew.create=(e,t)=>new ew({getter:e,typeName:o.ZodLazy,...M(t)});class ej extends D{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return j(t,{received:t.data,code:_.invalid_literal,expected:this._def.value}),S}return{status:"valid",value:e.data}}get value(){return this._def.value}}function ek(e,t){return new eS({values:e,typeName:o.ZodEnum,...M(t)})}ej.create=(e,t)=>new ej({value:e,typeName:o.ZodLiteral,...M(t)});class eS extends D{_parse(e){if("string"!=typeof e.data){let t=this._getOrReturnCtx(e),a=this._def.values;return j(t,{expected:n.joinValues(a),received:t.parsedType,code:_.invalid_type}),S}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),a=this._def.values;return j(t,{received:t.data,code:_.invalid_enum_value,options:a}),S}return I(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return eS.create(e,{...this._def,...t})}exclude(e,t=this._def){return eS.create(this.options.filter(t=>!e.includes(t)),{...this._def,...t})}}eS.create=ek;class ex extends D{_parse(e){let t=n.getValidEnumValues(this._def.values),a=this._getOrReturnCtx(e);if(a.parsedType!==y.string&&a.parsedType!==y.number){let e=n.objectValues(t);return j(a,{expected:n.joinValues(e),received:a.parsedType,code:_.invalid_type}),S}if(this._cache||(this._cache=new Set(n.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let e=n.objectValues(t);return j(a,{received:a.data,code:_.invalid_enum_value,options:e}),S}return I(e.data)}get enum(){return this._def.values}}ex.create=(e,t)=>new ex({values:e,typeName:o.ZodNativeEnum,...M(t)});class eI extends D{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==y.promise&&!1===t.common.async?(j(t,{code:_.invalid_type,expected:y.promise,received:t.parsedType}),S):I((t.parsedType===y.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}eI.create=(e,t)=>new eI({type:e,typeName:o.ZodPromise,...M(t)});class eA extends D{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===o.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:a}=this._processInputParams(e),i=this._def.effect||null,r={addIssue:e=>{j(a,e),e.fatal?t.abort():t.dirty()},get path(){return a.path}};if(r.addIssue=r.addIssue.bind(r),"preprocess"===i.type){let e=i.transform(a.data,r);if(a.common.async)return Promise.resolve(e).then(async e=>{if("aborted"===t.value)return S;let i=await this._def.schema._parseAsync({data:e,path:a.path,parent:a});return"aborted"===i.status?S:"dirty"===i.status||"dirty"===t.value?x(i.value):i});{if("aborted"===t.value)return S;let i=this._def.schema._parseSync({data:e,path:a.path,parent:a});return"aborted"===i.status?S:"dirty"===i.status||"dirty"===t.value?x(i.value):i}}if("refinement"===i.type){let e=e=>{let t=i.refinement(e,r);if(a.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1!==a.common.async)return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(a=>"aborted"===a.status?S:("dirty"===a.status&&t.dirty(),e(a.value).then(()=>({status:t.value,value:a.value}))));{let i=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});return"aborted"===i.status?S:("dirty"===i.status&&t.dirty(),e(i.value),{status:t.value,value:i.value})}}if("transform"===i.type){if(!1!==a.common.async)return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(e=>T(e)?Promise.resolve(i.transform(e.value,r)).then(e=>({status:t.value,value:e})):S);{let e=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});if(!T(e))return S;let n=i.transform(e.value,r);if(n instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:n}}}n.assertNever(i)}}eA.create=(e,t,a)=>new eA({schema:e,typeName:o.ZodEffects,effect:t,...M(a)}),eA.createWithPreprocess=(e,t,a)=>new eA({schema:t,effect:{type:"preprocess",transform:e},typeName:o.ZodEffects,...M(a)});class eE extends D{_parse(e){return this._getType(e)===y.undefined?I(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}eE.create=(e,t)=>new eE({innerType:e,typeName:o.ZodOptional,...M(t)});class eT extends D{_parse(e){return this._getType(e)===y.null?I(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}eT.create=(e,t)=>new eT({innerType:e,typeName:o.ZodNullable,...M(t)});class eO extends D{_parse(e){let{ctx:t}=this._processInputParams(e),a=t.data;return t.parsedType===y.undefined&&(a=this._def.defaultValue()),this._def.innerType._parse({data:a,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}eO.create=(e,t)=>new eO({innerType:e,typeName:o.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...M(t)});class eN extends D{_parse(e){let{ctx:t}=this._processInputParams(e),a={...t,common:{...t.common,issues:[]}},i=this._def.innerType._parse({data:a.data,path:a.path,parent:{...a}});return O(i)?i.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new C(a.common.issues)},input:a.data})})):{status:"valid",value:"valid"===i.status?i.value:this._def.catchValue({get error(){return new C(a.common.issues)},input:a.data})}}removeCatch(){return this._def.innerType}}eN.create=(e,t)=>new eN({innerType:e,typeName:o.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...M(t)});class eP extends D{_parse(e){if(this._getType(e)!==y.nan){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.nan,received:t.parsedType}),S}return{status:"valid",value:e.data}}}eP.create=e=>new eP({typeName:o.ZodNaN,...M(e)}),Symbol("zod_brand");class eM extends D{_parse(e){let{ctx:t}=this._processInputParams(e),a=t.data;return this._def.type._parse({data:a,path:t.path,parent:t})}unwrap(){return this._def.type}}class eD extends D{_parse(e){let{status:t,ctx:a}=this._processInputParams(e);if(a.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:a.data,path:a.path,parent:a});return"aborted"===e.status?S:"dirty"===e.status?(t.dirty(),x(e.value)):this._def.out._parseAsync({data:e.value,path:a.path,parent:a})})();{let e=this._def.in._parseSync({data:a.data,path:a.path,parent:a});return"aborted"===e.status?S:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:a.path,parent:a})}}static create(e,t){return new eD({in:e,out:t,typeName:o.ZodPipeline})}}class eR extends D{_parse(e){let t=this._def.innerType._parse(e),a=e=>(T(e)&&(e.value=Object.freeze(e.value)),e);return O(t)?t.then(e=>a(e)):a(t)}unwrap(){return this._def.innerType}}function eL(e,t){let a="function"==typeof e?e(t):"string"==typeof e?{message:e}:e;return"string"==typeof a?{message:a}:a}eR.create=(e,t)=>new eR({innerType:e,typeName:o.ZodReadonly,...M(t)}),eh.lazycreate,function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(o||(o={}));let eZ=(e,t={message:`Input not instance of ${e.name}`})=>(function(e,t={},a){return e?eo.create().superRefine((a,i)=>{let n=e(a);if(n instanceof Promise)return n.then(e=>{if(!e){let e=eL(t,a),n=e.fatal??void 0??!0;i.addIssue({code:"custom",...e,fatal:n})}});if(!n){let e=eL(t,a),n=e.fatal??void 0??!0;i.addIssue({code:"custom",...e,fatal:n})}}):eo.create()})(t=>t instanceof e,t),eB=Q.create;ee.create,eP.create,et.create,ea.create,ei.create,en.create,er.create,es.create,eo.create,ed.create,el.create,ec.create,eu.create;let eF=eh.create;function e$(e,t){return!!e.behaviors[t]}function eU(e,t){if(!e$(e,t))throw Error(`Behavior ${t} not found`);return e.behaviors[t]}eh.strictCreate,em.create,ef.create,eg.create,ey.create,ev.create,e_.create,eC.create,eb.create,ew.create,ej.create,eS.create,ex.create,eI.create,eA.create,eE.create,eT.create,eA.createWithPreprocess,eD.create;var eV=class extends Error{constructor(e,t,a){let i=e?.customData?.message?.match?.(/\(([^)]+)\)/)?.at(1)||e?.code||"unknown";super((0,l.sC)("errors",l.KP[i]||"unknownError",t,a??l.x3.locale)),this.name="FirebaseUIError",this.code=i}};function ez(e,t,a){let{translations:i,locale:n}=e;throw t?.code==="auth/account-exists-with-different-credential"?(a?.enableHandleExistingCredential&&t.credential?window.sessionStorage.setItem("pendingCred",JSON.stringify(t.credential)):window.sessionStorage.removeItem("pendingCred"),new eV({code:"auth/account-exists-with-different-credential",customData:{email:t.customData?.email}},i,n)):t?.name==="FirebaseError"?new eV(t,i,n):new eV({code:"unknown"},i,n)}async function eH(e,t){let a=window.sessionStorage.getItem("pendingCred");if(!a)return t;try{let i=JSON.parse(a);e.setState("linking");let n=await (0,d.OS)(t.user,i);return e.setState("idle"),window.sessionStorage.removeItem("pendingCred"),n}catch{return window.sessionStorage.removeItem("pendingCred"),t}}async function eK(e,t,a){try{let i=(0,d.xI)(e.app),n=d.IX.credential(t,a);if(e$(e,"autoUpgradeAnonymousCredential")){let t=await eU(e,"autoUpgradeAnonymousCredential")(e,n);if(t)return eH(e,t)}e.setState("signing-in");let r=await (0,d.eN)(i,n);return eH(e,r)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function eW(e,t,a){try{let i=(0,d.xI)(e.app),n=d.IX.credential(t,a);if(e$(e,"autoUpgradeAnonymousCredential")){let t=await eU(e,"autoUpgradeAnonymousCredential")(e,n);if(t)return eH(e,t)}e.setState("creating-user");let r=await (0,d.eJ)(i,t,a);return eH(e,r)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function eG(e,t,a){try{let i=(0,d.xI)(e.app);return e.setState("signing-in"),await (0,d.ik)(i,t,a)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function eq(e,t,a){try{let i=(0,d.xI)(e.app),n=i.currentUser,r=d.Oe.credential(t.verificationId,a);if(n?.isAnonymous&&e$(e,"autoUpgradeAnonymousCredential")){let t=await eU(e,"autoUpgradeAnonymousCredential")(e,r);if(t)return eH(e,t)}e.setState("signing-in");let s=await (0,d.eN)(i,r);return eH(e,s)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function eJ(e,t){try{let a=(0,d.xI)(e.app);e.setState("sending-password-reset-email"),await (0,d.J1)(a,t)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function eY(e,t){try{let a=(0,d.xI)(e.app),i={url:window.location.href,handleCodeInApp:!0};e.setState("sending-sign-in-link-to-email"),await (0,d.MN)(a,t,i),window.localStorage.setItem("emailForSignIn",t)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function eX(e,t,a){try{let i=e.getAuth(),n=d.IX.credentialWithLink(t,a);if(e$(e,"autoUpgradeAnonymousCredential")){let t=await eU(e,"autoUpgradeAnonymousCredential")(e,n);if(t)return eH(e,t)}e.setState("signing-in");let r=await (0,d.eN)(i,n);return eH(e,r)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function eQ(e,t){try{let a=(0,d.xI)(e.app);e$(e,"autoUpgradeAnonymousProvider")&&await eU(e,"autoUpgradeAnonymousProvider")(e,t),e.setState("signing-in"),await (0,d.$2)(a,t)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function e1(e,t){try{let a=e.getAuth();if(!(0,d.Pj)(a,t))return null;let i=window.localStorage.getItem("emailForSignIn");if(!i)return null;e.setState("signing-in");let n=await eX(e,i,t);return e.setState("idle"),eH(e,n)}catch(t){ez(e,t)}finally{e.setState("idle"),window.localStorage.removeItem("emailForSignIn")}}var e0=((e={})=>{let t=m(e);return t.setKey=function(e,a){let i=t.value;void 0===a&&e in t.value?(t.value={...t.value},delete t.value[e],t.notify(i,e)):t.value[e]!==a&&(t.value={...t.value,[e]:a},t.notify(i,e))},t})({});function e6(e,t="[DEFAULT]"){let a=e.behaviors?.reduce((e,t)=>({...e,...t}),{});e.translations??(e.translations=[]),e.translations.push(l.x3);let i=e.translations?.reduce((e,t)=>({...e,[t.locale]:t.translations}),{});e0.setKey(t,function(e={}){let t=m(e);return t.setKey=(e,a)=>{if(function(e,t){let a=f(t),i=e;for(let e of a){if(void 0===i)break;i=i[e]}return i}(t.value,e)!==a){var i;let n=t.value;t.value=function e(t,a,i){var n;let r=a[0],s=Array.isArray(t)?[...t]:{...t};return 1===a.length?void 0===i?Array.isArray(s)?s.splice(r,1):delete s[r]:s[r]=i:(n=a[1],r in s||(g.test(n)?s[r]=Array(parseInt(n,10)+1):s[r]={}),s[r]=e(s[r],a.slice(1),i)),s}(null!=(i=t.value)?i:{},f(e),a),t.notify(n,e)}},t}({app:e.app,getAuth:()=>(0,d.xI)(e.app),locale:e.locale??l.x3.locale,setLocale:e=>{e0.get()[t].setKey("locale",e)},state:a?.autoAnonymousLogin?"signing-in":"loading",setState:e=>{e0.get()[t].setKey("state",e)},translations:i,behaviors:a??{},recaptchaMode:e.recaptchaMode??"normal"}));let n=e0.get()[t];return e$(n.get(),"autoAnonymousLogin")?eU(n.get(),"autoAnonymousLogin")(n.get()):n.setKey("state","idle"),n}function e4(e){return eF({email:eB().email({message:(0,l.sC)("errors","invalidEmail",e)}),password:eB().min(8,{message:(0,l.sC)("errors","weakPassword",e)})})}function e2(e){return eF({email:eB().email({message:(0,l.sC)("errors","invalidEmail",e)})})}function e3(e){return eF({email:eB().email({message:(0,l.sC)("errors","invalidEmail",e)})})}function e9(e){return eF({phoneNumber:eB().min(1,{message:(0,l.sC)("errors","missingPhoneNumber",e)}).min(10,{message:(0,l.sC)("errors","invalidPhoneNumber",e)}),verificationCode:eB().refine(e=>!e||e.length>=6,{message:(0,l.sC)("errors","invalidVerificationCode",e)}),recaptchaVerifier:eZ(d.kT)})}var e5=[{name:"United States",dialCode:"+1",code:"US",emoji:"\uD83C\uDDFA\uD83C\uDDF8"},{name:"United Kingdom",dialCode:"+44",code:"GB",emoji:"\uD83C\uDDEC\uD83C\uDDE7"},{name:"Afghanistan",dialCode:"+93",code:"AF",emoji:"\uD83C\uDDE6\uD83C\uDDEB"},{name:"Albania",dialCode:"+355",code:"AL",emoji:"\uD83C\uDDE6\uD83C\uDDF1"},{name:"Algeria",dialCode:"+213",code:"DZ",emoji:"\uD83C\uDDE9\uD83C\uDDFF"},{name:"American Samoa",dialCode:"+1",code:"AS",emoji:"\uD83C\uDDE6\uD83C\uDDF8"},{name:"Andorra",dialCode:"+376",code:"AD",emoji:"\uD83C\uDDE6\uD83C\uDDE9"},{name:"Angola",dialCode:"+244",code:"AO",emoji:"\uD83C\uDDE6\uD83C\uDDF4"},{name:"Anguilla",dialCode:"+1",code:"AI",emoji:"\uD83C\uDDE6\uD83C\uDDEE"},{name:"Antigua and Barbuda",dialCode:"+1",code:"AG",emoji:"\uD83C\uDDE6\uD83C\uDDEC"},{name:"Argentina",dialCode:"+54",code:"AR",emoji:"\uD83C\uDDE6\uD83C\uDDF7"},{name:"Armenia",dialCode:"+374",code:"AM",emoji:"\uD83C\uDDE6\uD83C\uDDF2"},{name:"Aruba",dialCode:"+297",code:"AW",emoji:"\uD83C\uDDE6\uD83C\uDDFC"},{name:"Ascension Island",dialCode:"+247",code:"AC",emoji:"\uD83C\uDDE6\uD83C\uDDE8"},{name:"Australia",dialCode:"+61",code:"AU",emoji:"\uD83C\uDDE6\uD83C\uDDFA"},{name:"Austria",dialCode:"+43",code:"AT",emoji:"\uD83C\uDDE6\uD83C\uDDF9"},{name:"Azerbaijan",dialCode:"+994",code:"AZ",emoji:"\uD83C\uDDE6\uD83C\uDDFF"},{name:"Bahamas",dialCode:"+1",code:"BS",emoji:"\uD83C\uDDE7\uD83C\uDDF8"},{name:"Bahrain",dialCode:"+973",code:"BH",emoji:"\uD83C\uDDE7\uD83C\uDDED"},{name:"Bangladesh",dialCode:"+880",code:"BD",emoji:"\uD83C\uDDE7\uD83C\uDDE9"},{name:"Barbados",dialCode:"+1",code:"BB",emoji:"\uD83C\uDDE7\uD83C\uDDE7"},{name:"Belarus",dialCode:"+375",code:"BY",emoji:"\uD83C\uDDE7\uD83C\uDDFE"},{name:"Belgium",dialCode:"+32",code:"BE",emoji:"\uD83C\uDDE7\uD83C\uDDEA"},{name:"Belize",dialCode:"+501",code:"BZ",emoji:"\uD83C\uDDE7\uD83C\uDDFF"},{name:"Benin",dialCode:"+229",code:"BJ",emoji:"\uD83C\uDDE7\uD83C\uDDEF"},{name:"Bermuda",dialCode:"+1",code:"BM",emoji:"\uD83C\uDDE7\uD83C\uDDF2"},{name:"Bhutan",dialCode:"+975",code:"BT",emoji:"\uD83C\uDDE7\uD83C\uDDF9"},{name:"Bolivia",dialCode:"+591",code:"BO",emoji:"\uD83C\uDDE7\uD83C\uDDF4"},{name:"Bosnia and Herzegovina",dialCode:"+387",code:"BA",emoji:"\uD83C\uDDE7\uD83C\uDDE6"},{name:"Botswana",dialCode:"+267",code:"BW",emoji:"\uD83C\uDDE7\uD83C\uDDFC"},{name:"Brazil",dialCode:"+55",code:"BR",emoji:"\uD83C\uDDE7\uD83C\uDDF7"},{name:"British Indian Ocean Territory",dialCode:"+246",code:"IO",emoji:"\uD83C\uDDEE\uD83C\uDDF4"},{name:"British Virgin Islands",dialCode:"+1",code:"VG",emoji:"\uD83C\uDDFB\uD83C\uDDEC"},{name:"Brunei",dialCode:"+673",code:"BN",emoji:"\uD83C\uDDE7\uD83C\uDDF3"},{name:"Bulgaria",dialCode:"+359",code:"BG",emoji:"\uD83C\uDDE7\uD83C\uDDEC"},{name:"Burkina Faso",dialCode:"+226",code:"BF",emoji:"\uD83C\uDDE7\uD83C\uDDEB"},{name:"Burundi",dialCode:"+257",code:"BI",emoji:"\uD83C\uDDE7\uD83C\uDDEE"},{name:"Cambodia",dialCode:"+855",code:"KH",emoji:"\uD83C\uDDF0\uD83C\uDDED"},{name:"Cameroon",dialCode:"+237",code:"CM",emoji:"\uD83C\uDDE8\uD83C\uDDF2"},{name:"Canada",dialCode:"+1",code:"CA",emoji:"\uD83C\uDDE8\uD83C\uDDE6"},{name:"Cape Verde",dialCode:"+238",code:"CV",emoji:"\uD83C\uDDE8\uD83C\uDDFB"},{name:"Caribbean Netherlands",dialCode:"+599",code:"BQ",emoji:"\uD83C\uDDE7\uD83C\uDDF6"},{name:"Cayman Islands",dialCode:"+1",code:"KY",emoji:"\uD83C\uDDF0\uD83C\uDDFE"},{name:"Central African Republic",dialCode:"+236",code:"CF",emoji:"\uD83C\uDDE8\uD83C\uDDEB"},{name:"Chad",dialCode:"+235",code:"TD",emoji:"\uD83C\uDDF9\uD83C\uDDE9"},{name:"Chile",dialCode:"+56",code:"CL",emoji:"\uD83C\uDDE8\uD83C\uDDF1"},{name:"China",dialCode:"+86",code:"CN",emoji:"\uD83C\uDDE8\uD83C\uDDF3"},{name:"Christmas Island",dialCode:"+61",code:"CX",emoji:"\uD83C\uDDE8\uD83C\uDDFD"},{name:"Cocos [Keeling] Islands",dialCode:"+61",code:"CC",emoji:"\uD83C\uDDE8\uD83C\uDDE8"},{name:"Colombia",dialCode:"+57",code:"CO",emoji:"\uD83C\uDDE8\uD83C\uDDF4"},{name:"Comoros",dialCode:"+269",code:"KM",emoji:"\uD83C\uDDF0\uD83C\uDDF2"},{name:"Democratic Republic Congo",dialCode:"+243",code:"CD",emoji:"\uD83C\uDDE8\uD83C\uDDE9"},{name:"Republic of Congo",dialCode:"+242",code:"CG",emoji:"\uD83C\uDDE8\uD83C\uDDEC"},{name:"Cook Islands",dialCode:"+682",code:"CK",emoji:"\uD83C\uDDE8\uD83C\uDDF0"},{name:"Costa Rica",dialCode:"+506",code:"CR",emoji:"\uD83C\uDDE8\uD83C\uDDF7"},{name:"C\xf4te d'Ivoire",dialCode:"+225",code:"CI",emoji:"\uD83C\uDDE8\uD83C\uDDEE"},{name:"Croatia",dialCode:"+385",code:"HR",emoji:"\uD83C\uDDED\uD83C\uDDF7"},{name:"Cuba",dialCode:"+53",code:"CU",emoji:"\uD83C\uDDE8\uD83C\uDDFA"},{name:"Cura\xe7ao",dialCode:"+599",code:"CW",emoji:"\uD83C\uDDE8\uD83C\uDDFC"},{name:"Cyprus",dialCode:"+357",code:"CY",emoji:"\uD83C\uDDE8\uD83C\uDDFE"},{name:"Czech Republic",dialCode:"+420",code:"CZ",emoji:"\uD83C\uDDE8\uD83C\uDDFF"},{name:"Denmark",dialCode:"+45",code:"DK",emoji:"\uD83C\uDDE9\uD83C\uDDF0"},{name:"Djibouti",dialCode:"+253",code:"DJ",emoji:"\uD83C\uDDE9\uD83C\uDDEF"},{name:"Dominica",dialCode:"+1",code:"DM",emoji:"\uD83C\uDDE9\uD83C\uDDF2"},{name:"Dominican Republic",dialCode:"+1",code:"DO",emoji:"\uD83C\uDDE9\uD83C\uDDF4"},{name:"East Timor",dialCode:"+670",code:"TL",emoji:"\uD83C\uDDF9\uD83C\uDDF1"},{name:"Ecuador",dialCode:"+593",code:"EC",emoji:"\uD83C\uDDEA\uD83C\uDDE8"},{name:"Egypt",dialCode:"+20",code:"EG",emoji:"\uD83C\uDDEA\uD83C\uDDEC"},{name:"El Salvador",dialCode:"+503",code:"SV",emoji:"\uD83C\uDDF8\uD83C\uDDFB"},{name:"Equatorial Guinea",dialCode:"+240",code:"GQ",emoji:"\uD83C\uDDEC\uD83C\uDDF6"},{name:"Eritrea",dialCode:"+291",code:"ER",emoji:"\uD83C\uDDEA\uD83C\uDDF7"},{name:"Estonia",dialCode:"+372",code:"EE",emoji:"\uD83C\uDDEA\uD83C\uDDEA"},{name:"Ethiopia",dialCode:"+251",code:"ET",emoji:"\uD83C\uDDEA\uD83C\uDDF9"},{name:"Falkland Islands [Islas Malvinas]",dialCode:"+500",code:"FK",emoji:"\uD83C\uDDEB\uD83C\uDDF0"},{name:"Faroe Islands",dialCode:"+298",code:"FO",emoji:"\uD83C\uDDEB\uD83C\uDDF4"},{name:"Fiji",dialCode:"+679",code:"FJ",emoji:"\uD83C\uDDEB\uD83C\uDDEF"},{name:"Finland",dialCode:"+358",code:"FI",emoji:"\uD83C\uDDEB\uD83C\uDDEE"},{name:"France",dialCode:"+33",code:"FR",emoji:"\uD83C\uDDEB\uD83C\uDDF7"},{name:"French Guiana",dialCode:"+594",code:"GF",emoji:"\uD83C\uDDEC\uD83C\uDDEB"},{name:"French Polynesia",dialCode:"+689",code:"PF",emoji:"\uD83C\uDDF5\uD83C\uDDEB"},{name:"Gabon",dialCode:"+241",code:"GA",emoji:"\uD83C\uDDEC\uD83C\uDDE6"},{name:"Gambia",dialCode:"+220",code:"GM",emoji:"\uD83C\uDDEC\uD83C\uDDF2"},{name:"Georgia",dialCode:"+995",code:"GE",emoji:"\uD83C\uDDEC\uD83C\uDDEA"},{name:"Germany",dialCode:"+49",code:"DE",emoji:"\uD83C\uDDE9\uD83C\uDDEA"},{name:"Ghana",dialCode:"+233",code:"GH",emoji:"\uD83C\uDDEC\uD83C\uDDED"},{name:"Gibraltar",dialCode:"+350",code:"GI",emoji:"\uD83C\uDDEC\uD83C\uDDEE"},{name:"Greece",dialCode:"+30",code:"GR",emoji:"\uD83C\uDDEC\uD83C\uDDF7"},{name:"Greenland",dialCode:"+299",code:"GL",emoji:"\uD83C\uDDEC\uD83C\uDDF1"},{name:"Grenada",dialCode:"+1",code:"GD",emoji:"\uD83C\uDDEC\uD83C\uDDE9"},{name:"Guadeloupe",dialCode:"+590",code:"GP",emoji:"\uD83C\uDDEC\uD83C\uDDF5"},{name:"Guam",dialCode:"+1",code:"GU",emoji:"\uD83C\uDDEC\uD83C\uDDFA"},{name:"Guatemala",dialCode:"+502",code:"GT",emoji:"\uD83C\uDDEC\uD83C\uDDF9"},{name:"Guernsey",dialCode:"+44",code:"GG",emoji:"\uD83C\uDDEC\uD83C\uDDEC"},{name:"Guinea Conakry",dialCode:"+224",code:"GN",emoji:"\uD83C\uDDEC\uD83C\uDDF3"},{name:"Guinea-Bissau",dialCode:"+245",code:"GW",emoji:"\uD83C\uDDEC\uD83C\uDDFC"},{name:"Guyana",dialCode:"+592",code:"GY",emoji:"\uD83C\uDDEC\uD83C\uDDFE"},{name:"Haiti",dialCode:"+509",code:"HT",emoji:"\uD83C\uDDED\uD83C\uDDF9"},{name:"Heard Island and McDonald Islands",dialCode:"+672",code:"HM",emoji:"\uD83C\uDDED\uD83C\uDDF2"},{name:"Honduras",dialCode:"+504",code:"HN",emoji:"\uD83C\uDDED\uD83C\uDDF3"},{name:"Hong Kong",dialCode:"+852",code:"HK",emoji:"\uD83C\uDDED\uD83C\uDDF0"},{name:"Hungary",dialCode:"+36",code:"HU",emoji:"\uD83C\uDDED\uD83C\uDDFA"},{name:"Iceland",dialCode:"+354",code:"IS",emoji:"\uD83C\uDDEE\uD83C\uDDF8"},{name:"India",dialCode:"+91",code:"IN",emoji:"\uD83C\uDDEE\uD83C\uDDF3"},{name:"Indonesia",dialCode:"+62",code:"ID",emoji:"\uD83C\uDDEE\uD83C\uDDE9"},{name:"Iran",dialCode:"+98",code:"IR",emoji:"\uD83C\uDDEE\uD83C\uDDF7"},{name:"Iraq",dialCode:"+964",code:"IQ",emoji:"\uD83C\uDDEE\uD83C\uDDF6"},{name:"Ireland",dialCode:"+353",code:"IE",emoji:"\uD83C\uDDEE\uD83C\uDDEA"},{name:"Isle of Man",dialCode:"+44",code:"IM",emoji:"\uD83C\uDDEE\uD83C\uDDF2"},{name:"Israel",dialCode:"+972",code:"IL",emoji:"\uD83C\uDDEE\uD83C\uDDF1"},{name:"Italy",dialCode:"+39",code:"IT",emoji:"\uD83C\uDDEE\uD83C\uDDF9"},{name:"Jamaica",dialCode:"+1",code:"JM",emoji:"\uD83C\uDDEF\uD83C\uDDF2"},{name:"Japan",dialCode:"+81",code:"JP",emoji:"\uD83C\uDDEF\uD83C\uDDF5"},{name:"Jersey",dialCode:"+44",code:"JE",emoji:"\uD83C\uDDEF\uD83C\uDDEA"},{name:"Jordan",dialCode:"+962",code:"JO",emoji:"\uD83C\uDDEF\uD83C\uDDF4"},{name:"Kazakhstan",dialCode:"+7",code:"KZ",emoji:"\uD83C\uDDF0\uD83C\uDDFF"},{name:"Kenya",dialCode:"+254",code:"KE",emoji:"\uD83C\uDDF0\uD83C\uDDEA"},{name:"Kiribati",dialCode:"+686",code:"KI",emoji:"\uD83C\uDDF0\uD83C\uDDEE"},{name:"Kosovo",dialCode:"+377",code:"XK",emoji:"\uD83C\uDDFD\uD83C\uDDF0"},{name:"Kosovo",dialCode:"+381",code:"XK",emoji:"\uD83C\uDDFD\uD83C\uDDF0"},{name:"Kosovo",dialCode:"+386",code:"XK",emoji:"\uD83C\uDDFD\uD83C\uDDF0"},{name:"Kuwait",dialCode:"+965",code:"KW",emoji:"\uD83C\uDDF0\uD83C\uDDFC"},{name:"Kyrgyzstan",dialCode:"+996",code:"KG",emoji:"\uD83C\uDDF0\uD83C\uDDEC"},{name:"Laos",dialCode:"+856",code:"LA",emoji:"\uD83C\uDDF1\uD83C\uDDE6"},{name:"Latvia",dialCode:"+371",code:"LV",emoji:"\uD83C\uDDF1\uD83C\uDDFB"},{name:"Lebanon",dialCode:"+961",code:"LB",emoji:"\uD83C\uDDF1\uD83C\uDDE7"},{name:"Lesotho",dialCode:"+266",code:"LS",emoji:"\uD83C\uDDF1\uD83C\uDDF8"},{name:"Liberia",dialCode:"+231",code:"LR",emoji:"\uD83C\uDDF1\uD83C\uDDF7"},{name:"Libya",dialCode:"+218",code:"LY",emoji:"\uD83C\uDDF1\uD83C\uDDFE"},{name:"Liechtenstein",dialCode:"+423",code:"LI",emoji:"\uD83C\uDDF1\uD83C\uDDEE"},{name:"Lithuania",dialCode:"+370",code:"LT",emoji:"\uD83C\uDDF1\uD83C\uDDF9"},{name:"Luxembourg",dialCode:"+352",code:"LU",emoji:"\uD83C\uDDF1\uD83C\uDDFA"},{name:"Macau",dialCode:"+853",code:"MO",emoji:"\uD83C\uDDF2\uD83C\uDDF4"},{name:"Macedonia",dialCode:"+389",code:"MK",emoji:"\uD83C\uDDF2\uD83C\uDDF0"},{name:"Madagascar",dialCode:"+261",code:"MG",emoji:"\uD83C\uDDF2\uD83C\uDDEC"},{name:"Malawi",dialCode:"+265",code:"MW",emoji:"\uD83C\uDDF2\uD83C\uDDFC"},{name:"Malaysia",dialCode:"+60",code:"MY",emoji:"\uD83C\uDDF2\uD83C\uDDFE"},{name:"Maldives",dialCode:"+960",code:"MV",emoji:"\uD83C\uDDF2\uD83C\uDDFB"},{name:"Mali",dialCode:"+223",code:"ML",emoji:"\uD83C\uDDF2\uD83C\uDDF1"},{name:"Malta",dialCode:"+356",code:"MT",emoji:"\uD83C\uDDF2\uD83C\uDDF9"},{name:"Marshall Islands",dialCode:"+692",code:"MH",emoji:"\uD83C\uDDF2\uD83C\uDDED"},{name:"Martinique",dialCode:"+596",code:"MQ",emoji:"\uD83C\uDDF2\uD83C\uDDF6"},{name:"Mauritania",dialCode:"+222",code:"MR",emoji:"\uD83C\uDDF2\uD83C\uDDF7"},{name:"Mauritius",dialCode:"+230",code:"MU",emoji:"\uD83C\uDDF2\uD83C\uDDFA"},{name:"Mayotte",dialCode:"+262",code:"YT",emoji:"\uD83C\uDDFE\uD83C\uDDF9"},{name:"Mexico",dialCode:"+52",code:"MX",emoji:"\uD83C\uDDF2\uD83C\uDDFD"},{name:"Micronesia",dialCode:"+691",code:"FM",emoji:"\uD83C\uDDEB\uD83C\uDDF2"},{name:"Moldova",dialCode:"+373",code:"MD",emoji:"\uD83C\uDDF2\uD83C\uDDE9"},{name:"Monaco",dialCode:"+377",code:"MC",emoji:"\uD83C\uDDF2\uD83C\uDDE8"},{name:"Mongolia",dialCode:"+976",code:"MN",emoji:"\uD83C\uDDF2\uD83C\uDDF3"},{name:"Montenegro",dialCode:"+382",code:"ME",emoji:"\uD83C\uDDF2\uD83C\uDDEA"},{name:"Montserrat",dialCode:"+1",code:"MS",emoji:"\uD83C\uDDF2\uD83C\uDDF8"},{name:"Morocco",dialCode:"+212",code:"MA",emoji:"\uD83C\uDDF2\uD83C\uDDE6"},{name:"Mozambique",dialCode:"+258",code:"MZ",emoji:"\uD83C\uDDF2\uD83C\uDDFF"},{name:"Myanmar [Burma]",dialCode:"+95",code:"MM",emoji:"\uD83C\uDDF2\uD83C\uDDF2"},{name:"Namibia",dialCode:"+264",code:"NA",emoji:"\uD83C\uDDF3\uD83C\uDDE6"},{name:"Nauru",dialCode:"+674",code:"NR",emoji:"\uD83C\uDDF3\uD83C\uDDF7"},{name:"Nepal",dialCode:"+977",code:"NP",emoji:"\uD83C\uDDF3\uD83C\uDDF5"},{name:"Netherlands",dialCode:"+31",code:"NL",emoji:"\uD83C\uDDF3\uD83C\uDDF1"},{name:"New Caledonia",dialCode:"+687",code:"NC",emoji:"\uD83C\uDDF3\uD83C\uDDE8"},{name:"New Zealand",dialCode:"+64",code:"NZ",emoji:"\uD83C\uDDF3\uD83C\uDDFF"},{name:"Nicaragua",dialCode:"+505",code:"NI",emoji:"\uD83C\uDDF3\uD83C\uDDEE"},{name:"Niger",dialCode:"+227",code:"NE",emoji:"\uD83C\uDDF3\uD83C\uDDEA"},{name:"Nigeria",dialCode:"+234",code:"NG",emoji:"\uD83C\uDDF3\uD83C\uDDEC"},{name:"Niue",dialCode:"+683",code:"NU",emoji:"\uD83C\uDDF3\uD83C\uDDFA"},{name:"Norfolk Island",dialCode:"+672",code:"NF",emoji:"\uD83C\uDDF3\uD83C\uDDEB"},{name:"North Korea",dialCode:"+850",code:"KP",emoji:"\uD83C\uDDF0\uD83C\uDDF5"},{name:"Northern Mariana Islands",dialCode:"+1",code:"MP",emoji:"\uD83C\uDDF2\uD83C\uDDF5"},{name:"Norway",dialCode:"+47",code:"NO",emoji:"\uD83C\uDDF3\uD83C\uDDF4"},{name:"Oman",dialCode:"+968",code:"OM",emoji:"\uD83C\uDDF4\uD83C\uDDF2"},{name:"Pakistan",dialCode:"+92",code:"PK",emoji:"\uD83C\uDDF5\uD83C\uDDF0"},{name:"Palau",dialCode:"+680",code:"PW",emoji:"\uD83C\uDDF5\uD83C\uDDFC"},{name:"Palestinian Territories",dialCode:"+970",code:"PS",emoji:"\uD83C\uDDF5\uD83C\uDDF8"},{name:"Panama",dialCode:"+507",code:"PA",emoji:"\uD83C\uDDF5\uD83C\uDDE6"},{name:"Papua New Guinea",dialCode:"+675",code:"PG",emoji:"\uD83C\uDDF5\uD83C\uDDEC"},{name:"Paraguay",dialCode:"+595",code:"PY",emoji:"\uD83C\uDDF5\uD83C\uDDFE"},{name:"Peru",dialCode:"+51",code:"PE",emoji:"\uD83C\uDDF5\uD83C\uDDEA"},{name:"Philippines",dialCode:"+63",code:"PH",emoji:"\uD83C\uDDF5\uD83C\uDDED"},{name:"Poland",dialCode:"+48",code:"PL",emoji:"\uD83C\uDDF5\uD83C\uDDF1"},{name:"Portugal",dialCode:"+351",code:"PT",emoji:"\uD83C\uDDF5\uD83C\uDDF9"},{name:"Puerto Rico",dialCode:"+1",code:"PR",emoji:"\uD83C\uDDF5\uD83C\uDDF7"},{name:"Qatar",dialCode:"+974",code:"QA",emoji:"\uD83C\uDDF6\uD83C\uDDE6"},{name:"R\xe9union",dialCode:"+262",code:"RE",emoji:"\uD83C\uDDF7\uD83C\uDDEA"},{name:"Romania",dialCode:"+40",code:"RO",emoji:"\uD83C\uDDF7\uD83C\uDDF4"},{name:"Russia",dialCode:"+7",code:"RU",emoji:"\uD83C\uDDF7\uD83C\uDDFA"},{name:"Rwanda",dialCode:"+250",code:"RW",emoji:"\uD83C\uDDF7\uD83C\uDDFC"},{name:"Saint Barth\xe9lemy",dialCode:"+590",code:"BL",emoji:"\uD83C\uDDE7\uD83C\uDDF1"},{name:"Saint Helena",dialCode:"+290",code:"SH",emoji:"\uD83C\uDDF8\uD83C\uDDED"},{name:"St. Kitts",dialCode:"+1",code:"KN",emoji:"\uD83C\uDDF0\uD83C\uDDF3"},{name:"St. Lucia",dialCode:"+1",code:"LC",emoji:"\uD83C\uDDF1\uD83C\uDDE8"},{name:"Saint Martin",dialCode:"+590",code:"MF",emoji:"\uD83C\uDDF2\uD83C\uDDEB"},{name:"Saint Pierre and Miquelon",dialCode:"+508",code:"PM",emoji:"\uD83C\uDDF5\uD83C\uDDF2"},{name:"St. Vincent",dialCode:"+1",code:"VC",emoji:"\uD83C\uDDFB\uD83C\uDDE8"},{name:"Samoa",dialCode:"+685",code:"WS",emoji:"\uD83C\uDDFC\uD83C\uDDF8"},{name:"San Marino",dialCode:"+378",code:"SM",emoji:"\uD83C\uDDF8\uD83C\uDDF2"},{name:"S\xe3o Tom\xe9 and Pr\xedncipe",dialCode:"+239",code:"ST",emoji:"\uD83C\uDDF8\uD83C\uDDF9"},{name:"Saudi Arabia",dialCode:"+966",code:"SA",emoji:"\uD83C\uDDF8\uD83C\uDDE6"},{name:"Senegal",dialCode:"+221",code:"SN",emoji:"\uD83C\uDDF8\uD83C\uDDF3"},{name:"Serbia",dialCode:"+381",code:"RS",emoji:"\uD83C\uDDF7\uD83C\uDDF8"},{name:"Seychelles",dialCode:"+248",code:"SC",emoji:"\uD83C\uDDF8\uD83C\uDDE8"},{name:"Sierra Leone",dialCode:"+232",code:"SL",emoji:"\uD83C\uDDF8\uD83C\uDDF1"},{name:"Singapore",dialCode:"+65",code:"SG",emoji:"\uD83C\uDDF8\uD83C\uDDEC"},{name:"Sint Maarten",dialCode:"+1",code:"SX",emoji:"\uD83C\uDDF8\uD83C\uDDFD"},{name:"Slovakia",dialCode:"+421",code:"SK",emoji:"\uD83C\uDDF8\uD83C\uDDF0"},{name:"Slovenia",dialCode:"+386",code:"SI",emoji:"\uD83C\uDDF8\uD83C\uDDEE"},{name:"Solomon Islands",dialCode:"+677",code:"SB",emoji:"\uD83C\uDDF8\uD83C\uDDE7"},{name:"Somalia",dialCode:"+252",code:"SO",emoji:"\uD83C\uDDF8\uD83C\uDDF4"},{name:"South Africa",dialCode:"+27",code:"ZA",emoji:"\uD83C\uDDFF\uD83C\uDDE6"},{name:"South Georgia and the South Sandwich Islands",dialCode:"+500",code:"GS",emoji:"\uD83C\uDDEC\uD83C\uDDF8"},{name:"South Korea",dialCode:"+82",code:"KR",emoji:"\uD83C\uDDF0\uD83C\uDDF7"},{name:"South Sudan",dialCode:"+211",code:"SS",emoji:"\uD83C\uDDF8\uD83C\uDDF8"},{name:"Spain",dialCode:"+34",code:"ES",emoji:"\uD83C\uDDEA\uD83C\uDDF8"},{name:"Sri Lanka",dialCode:"+94",code:"LK",emoji:"\uD83C\uDDF1\uD83C\uDDF0"},{name:"Sudan",dialCode:"+249",code:"SD",emoji:"\uD83C\uDDF8\uD83C\uDDE9"},{name:"Suriname",dialCode:"+597",code:"SR",emoji:"\uD83C\uDDF8\uD83C\uDDF7"},{name:"Svalbard and Jan Mayen",dialCode:"+47",code:"SJ",emoji:"\uD83C\uDDF8\uD83C\uDDEF"},{name:"Swaziland",dialCode:"+268",code:"SZ",emoji:"\uD83C\uDDF8\uD83C\uDDFF"},{name:"Sweden",dialCode:"+46",code:"SE",emoji:"\uD83C\uDDF8\uD83C\uDDEA"},{name:"Switzerland",dialCode:"+41",code:"CH",emoji:"\uD83C\uDDE8\uD83C\uDDED"},{name:"Syria",dialCode:"+963",code:"SY",emoji:"\uD83C\uDDF8\uD83C\uDDFE"},{name:"Taiwan",dialCode:"+886",code:"TW",emoji:"\uD83C\uDDF9\uD83C\uDDFC"},{name:"Tajikistan",dialCode:"+992",code:"TJ",emoji:"\uD83C\uDDF9\uD83C\uDDEF"},{name:"Tanzania",dialCode:"+255",code:"TZ",emoji:"\uD83C\uDDF9\uD83C\uDDFF"},{name:"Thailand",dialCode:"+66",code:"TH",emoji:"\uD83C\uDDF9\uD83C\uDDED"},{name:"Togo",dialCode:"+228",code:"TG",emoji:"\uD83C\uDDF9\uD83C\uDDEC"},{name:"Tokelau",dialCode:"+690",code:"TK",emoji:"\uD83C\uDDF9\uD83C\uDDF0"},{name:"Tonga",dialCode:"+676",code:"TO",emoji:"\uD83C\uDDF9\uD83C\uDDF4"},{name:"Trinidad/Tobago",dialCode:"+1",code:"TT",emoji:"\uD83C\uDDF9\uD83C\uDDF9"},{name:"Tunisia",dialCode:"+216",code:"TN",emoji:"\uD83C\uDDF9\uD83C\uDDF3"},{name:"Turkey",dialCode:"+90",code:"TR",emoji:"\uD83C\uDDF9\uD83C\uDDF7"},{name:"Turkmenistan",dialCode:"+993",code:"TM",emoji:"\uD83C\uDDF9\uD83C\uDDF2"},{name:"Turks and Caicos Islands",dialCode:"+1",code:"TC",emoji:"\uD83C\uDDF9\uD83C\uDDE8"},{name:"Tuvalu",dialCode:"+688",code:"TV",emoji:"\uD83C\uDDF9\uD83C\uDDFB"},{name:"U.S. Virgin Islands",dialCode:"+1",code:"VI",emoji:"\uD83C\uDDFB\uD83C\uDDEE"},{name:"Uganda",dialCode:"+256",code:"UG",emoji:"\uD83C\uDDFA\uD83C\uDDEC"},{name:"Ukraine",dialCode:"+380",code:"UA",emoji:"\uD83C\uDDFA\uD83C\uDDE6"},{name:"United Arab Emirates",dialCode:"+971",code:"AE",emoji:"\uD83C\uDDE6\uD83C\uDDEA"},{name:"Uruguay",dialCode:"+598",code:"UY",emoji:"\uD83C\uDDFA\uD83C\uDDFE"},{name:"Uzbekistan",dialCode:"+998",code:"UZ",emoji:"\uD83C\uDDFA\uD83C\uDDFF"},{name:"Vanuatu",dialCode:"+678",code:"VU",emoji:"\uD83C\uDDFB\uD83C\uDDFA"},{name:"Vatican City",dialCode:"+379",code:"VA",emoji:"\uD83C\uDDFB\uD83C\uDDE6"},{name:"Venezuela",dialCode:"+58",code:"VE",emoji:"\uD83C\uDDFB\uD83C\uDDEA"},{name:"Vietnam",dialCode:"+84",code:"VN",emoji:"\uD83C\uDDFB\uD83C\uDDF3"},{name:"Wallis and Futuna",dialCode:"+681",code:"WF",emoji:"\uD83C\uDDFC\uD83C\uDDEB"},{name:"Western Sahara",dialCode:"+212",code:"EH",emoji:"\uD83C\uDDEA\uD83C\uDDED"},{name:"Yemen",dialCode:"+967",code:"YE",emoji:"\uD83C\uDDFE\uD83C\uDDEA"},{name:"Zambia",dialCode:"+260",code:"ZM",emoji:"\uD83C\uDDFF\uD83C\uDDF2"},{name:"Zimbabwe",dialCode:"+263",code:"ZW",emoji:"\uD83C\uDDFF\uD83C\uDDFC"},{name:"\xc5land Islands",dialCode:"+358",code:"AX",emoji:"\uD83C\uDDE6\uD83C\uDDFD"}];function e8(e,t){let a=e.replace(/^\+\d+/,"").trim();return`${t}${a}`}function e7(e,t,a){return(0,l.sC)(t,a,e.translations,e.locale)}},3468:(e,t,a)=>{a.d(t,{KP:()=>n,ao:()=>s,sC:()=>r,x3:()=>o});var i={errors:{userNotFound:"No account found with this email address",wrongPassword:"Incorrect password",invalidEmail:"Please enter a valid email address",userDisabled:"This account has been disabled",networkRequestFailed:"Unable to connect to the server. Please check your internet connection",tooManyRequests:"Too many failed attempts. Please try again later",emailAlreadyInUse:"An account already exists with this email",weakPassword:"Password should be at least 8 characters",operationNotAllowed:"Email/password accounts are not enabled. Please contact support.",invalidPhoneNumber:"The phone number is invalid",missingPhoneNumber:"Please provide a phone number",quotaExceeded:"SMS quota exceeded. Please try again later",codeExpired:"The verification code has expired",captchaCheckFailed:"reCAPTCHA verification failed. Please try again.",missingVerificationId:"Please complete the reCAPTCHA verification first.",missingEmail:"Please provide an email address",invalidActionCode:"The password reset link is invalid or has expired",credentialAlreadyInUse:"An account already exists with this email. Please sign in with that account.",requiresRecentLogin:"This operation requires a recent login. Please sign in again.",providerAlreadyLinked:"This phone number is already linked to another account",invalidVerificationCode:"Invalid verification code. Please try again",unknownError:"An unexpected error occurred",popupClosed:"The sign-in popup was closed. Please try again.",accountExistsWithDifferentCredential:"An account already exists with this email. Please sign in with the original provider."},messages:{passwordResetEmailSent:"Password reset email sent successfully",signInLinkSent:"Sign-in link sent successfully",verificationCodeFirst:"Please request a verification code first",checkEmailForReset:"Check your email for password reset instructions",dividerOr:"or",termsAndPrivacy:"By continuing, you agree to our {tos} and {privacy}."},labels:{emailAddress:"Email Address",password:"Password",forgotPassword:"Forgot Password?",register:"Register",signIn:"Sign In",resetPassword:"Reset Password",createAccount:"Create Account",backToSignIn:"Back to Sign In",signInWithPhone:"Sign in with Phone",phoneNumber:"Phone Number",verificationCode:"Verification Code",sendCode:"Send Code",verifyCode:"Verify Code",signInWithGoogle:"Sign in with Google",signInWithEmailLink:"Sign in with Email Link",sendSignInLink:"Send Sign-in Link",termsOfService:"Terms of Service",privacyPolicy:"Privacy Policy",resendCode:"Resend Code",sending:"Sending..."},prompts:{noAccount:"Don't have an account?",haveAccount:"Already have an account?",enterEmailToReset:"Enter your email address to reset your password",signInToAccount:"Sign in to your account",enterDetailsToCreate:"Enter your details to create a new account",enterPhoneNumber:"Enter your phone number",enterVerificationCode:"Enter the verification code",enterEmailForLink:"Enter your email to receive a sign-in link"}},n={"auth/user-not-found":"userNotFound","auth/wrong-password":"wrongPassword","auth/invalid-email":"invalidEmail","auth/user-disabled":"userDisabled","auth/network-request-failed":"networkRequestFailed","auth/too-many-requests":"tooManyRequests","auth/email-already-in-use":"emailAlreadyInUse","auth/weak-password":"weakPassword","auth/operation-not-allowed":"operationNotAllowed","auth/invalid-phone-number":"invalidPhoneNumber","auth/missing-phone-number":"missingPhoneNumber","auth/quota-exceeded":"quotaExceeded","auth/code-expired":"codeExpired","auth/captcha-check-failed":"captchaCheckFailed","auth/missing-verification-id":"missingVerificationId","auth/missing-email":"missingEmail","auth/invalid-action-code":"invalidActionCode","auth/credential-already-in-use":"credentialAlreadyInUse","auth/requires-recent-login":"requiresRecentLogin","auth/provider-already-linked":"providerAlreadyLinked","auth/invalid-verification-code":"invalidVerificationCode","auth/account-exists-with-different-credential":"accountExistsWithDifferentCredential"};function r(e,t,a,n){let r=a?.[n??o.locale]?.[e];if(r&&t in r)return r[t];let s=a?.en?.[e];return s&&t in s?s[t]:i[e][t]}function s(e,t){return{locale:e,translations:t}}var o=s("en-US",i)},4565:(e,t,a)=>{a.d(t,{IX:()=>i.W,HF:()=>i.Y,Oe:()=>i.P,kT:()=>i.R,eJ:()=>i.ab,xI:()=>i.p,Pj:()=>i.ae,OS:()=>i.a3,hg:()=>i.z,J1:()=>i.a6,MN:()=>i.ad,eN:()=>i.a2,ik:()=>i.s,$2:()=>i.g,CI:()=>i.D});var i=a(9798);a(1972),a(6959),a(4075),a(7086)},6476:(e,t,a)=>{function i(e,t){var a={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&0>t.indexOf(i)&&(a[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,i=Object.getOwnPropertySymbols(e);nt.indexOf(i[n])&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(a[i[n]]=e[i[n]]);return a}a.d(t,{Tt:()=>i}),Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError}}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/4bd1b696-a4582f7608b1c3f8.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/4bd1b696-a4582f7608b1c3f8.js new file mode 100644 index 00000000..50225b03 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/4bd1b696-a4582f7608b1c3f8.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[441],{9248:(e,n,t)=>{var r,l,a=t(2818),o=t(1507),i=t(2115),u=t(7650);function s(e){var n="https://react.dev/errors/"+e;if(1)":-1l||u[r]!==s[l]){var c="\n"+u[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=r&&0<=l);break}}}finally{M=!1,Error.prepareStackTrace=t}return(t=e?e.displayName||e.name:"")?O(t):""}function R(e){try{var n="";do n+=function(e){switch(e.tag){case 26:case 27:case 5:return O(e.type);case 16:return O("Lazy");case 13:return O("Suspense");case 19:return O("SuspenseList");case 0:case 15:return e=A(e.type,!1);case 11:return e=A(e.type.render,!1);case 1:return e=A(e.type,!0);default:return""}}(e),e=e.return;while(e);return n}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}function I(e){var n=e,t=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do 0!=(4098&(n=e).flags)&&(t=n.return),e=n.return;while(e)}return 3===n.tag?t:null}function U(e){if(13===e.tag){var n=e.memoizedState;if(null===n&&null!==(e=e.alternate)&&(n=e.memoizedState),null!==n)return n.dehydrated}return null}function V(e){if(I(e)!==e)throw Error(s(188))}var j=Array.isArray,B=u.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Q={pending:!1,data:null,method:null,action:null},$=[],W=-1;function H(e){return{current:e}}function q(e){0>W||(e.current=$[W],$[W]=null,W--)}function K(e,n){$[++W]=e.current,e.current=n}var Y=H(null),X=H(null),G=H(null),Z=H(null);function J(e,n){switch(K(G,n),K(X,e),K(Y,null),e=n.nodeType){case 9:case 11:n=(n=n.documentElement)&&(n=n.namespaceURI)?se(n):0;break;default:if(n=(e=8===e?n.parentNode:n).tagName,e=e.namespaceURI)n=sn(e=se(e),n);else switch(n){case"svg":n=1;break;case"math":n=2;break;default:n=0}}q(Y),K(Y,n)}function ee(){q(Y),q(X),q(G)}function en(e){null!==e.memoizedState&&K(Z,e);var n=Y.current,t=sn(n,e.type);n!==t&&(K(X,e),K(Y,t))}function et(e){X.current===e&&(q(Y),q(X)),Z.current===e&&(q(Z),sj._currentValue=Q)}var er=Object.prototype.hasOwnProperty,el=o.unstable_scheduleCallback,ea=o.unstable_cancelCallback,eo=o.unstable_shouldYield,ei=o.unstable_requestPaint,eu=o.unstable_now,es=o.unstable_getCurrentPriorityLevel,ec=o.unstable_ImmediatePriority,ef=o.unstable_UserBlockingPriority,ed=o.unstable_NormalPriority,ep=o.unstable_LowPriority,em=o.unstable_IdlePriority,eh=o.log,eg=o.unstable_setDisableYieldValue,ey=null,ev=null;function eb(e){if("function"==typeof eh&&eg(e),ev&&"function"==typeof ev.setStrictMode)try{ev.setStrictMode(ey,e)}catch(e){}}var ek=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(ew(e)/eS|0)|0},ew=Math.log,eS=Math.LN2,ex=128,eE=4194304;function eC(e){var n=42&e;if(0!==n)return n;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194176&e;case 4194304:case 8388608:case 0x1000000:case 0x2000000:return 0x3c00000&e;case 0x4000000:return 0x4000000;case 0x8000000:return 0x8000000;case 0x10000000:return 0x10000000;case 0x20000000:return 0x20000000;case 0x40000000:return 0;default:return e}}function ez(e,n){var t=e.pendingLanes;if(0===t)return 0;var r=0,l=e.suspendedLanes,a=e.pingedLanes,o=e.warmLanes;e=0!==e.finishedLanes;var i=0x7ffffff&t;return 0!==i?0!=(t=i&~l)?r=eC(t):0!=(a&=i)?r=eC(a):e||0!=(o=i&~o)&&(r=eC(o)):0!=(i=t&~l)?r=eC(i):0!==a?r=eC(a):e||0!=(o=t&~o)&&(r=eC(o)),0===r?0:0!==n&&n!==r&&0==(n&l)&&((l=r&-r)>=(o=n&-n)||32===l&&0!=(4194176&o))?n:r}function eP(e,n){return 0==(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&n)}function eN(){var e=ex;return 0==(4194176&(ex<<=1))&&(ex=128),e}function eL(){var e=eE;return 0==(0x3c00000&(eE<<=1))&&(eE=4194304),e}function eT(e){for(var n=[],t=0;31>t;t++)n.push(e);return n}function e_(e,n){e.pendingLanes|=n,0x10000000!==n&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function eF(e,n,t){e.pendingLanes|=n,e.suspendedLanes&=~n;var r=31-ek(n);e.entangledLanes|=n,e.entanglements[r]=0x40000000|e.entanglements[r]|4194218&t}function eD(e,n){var t=e.entangledLanes|=n;for(e=e.entanglements;t;){var r=31-ek(t),l=1<=te),tr=!1;function tl(e,n){switch(e){case"keyup":return -1!==n9.indexOf(n.keyCode);case"keydown":return 229!==n.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ta(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var to=!1,ti={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tu(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===n?!!ti[e.type]:"textarea"===n}function ts(e,n,t,r){nw?nS?nS.push(r):nS=[r]:nw=r,0<(n=uX(n,"onChange")).length&&(t=new nj("onChange","change",null,t,r),e.push({event:t,listeners:n}))}var tc=null,tf=null;function td(e){uB(e,0)}function tp(e){if(nn(eK(e)))return e}function tm(e,n){if("change"===e)return n}var th=!1;if(e1){if(e1){var tg="oninput"in document;if(!tg){var ty=document.createElement("div");ty.setAttribute("oninput","return;"),tg="function"==typeof ty.oninput}r=tg}else r=!1;th=r&&(!document.documentMode||9=n)return{node:r,offset:n-e};e=t}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=tz(r)}}function tN(e){e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;for(var n=nt(e.document);n instanceof e.HTMLIFrameElement;){try{var t="string"==typeof n.contentWindow.location.href}catch(e){t=!1}if(t)e=n.contentWindow;else break;n=nt(e.document)}return n}function tL(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&("input"===n&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===n||"true"===e.contentEditable)}var tT=e1&&"documentMode"in document&&11>=document.documentMode,t_=null,tF=null,tD=null,tO=!1;function tM(e,n,t){var r=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;tO||null==t_||t_!==nt(r)||(r="selectionStart"in(r=t_)&&tL(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},tD&&tC(tD,r)||(tD=r,0<(r=uX(tF,"onSelect")).length&&(n=new nj("onSelect","select",null,n,t),e.push({event:n,listeners:r}),n.target=t_)))}function tA(e,n){var t={};return t[e.toLowerCase()]=n.toLowerCase(),t["Webkit"+e]="webkit"+n,t["Moz"+e]="moz"+n,t}var tR={animationend:tA("Animation","AnimationEnd"),animationiteration:tA("Animation","AnimationIteration"),animationstart:tA("Animation","AnimationStart"),transitionrun:tA("Transition","TransitionRun"),transitionstart:tA("Transition","TransitionStart"),transitioncancel:tA("Transition","TransitionCancel"),transitionend:tA("Transition","TransitionEnd")},tI={},tU={};function tV(e){if(tI[e])return tI[e];if(!tR[e])return e;var n,t=tR[e];for(n in t)if(t.hasOwnProperty(n)&&n in tU)return tI[e]=t[n];return e}e1&&(tU=document.createElement("div").style,"AnimationEvent"in window||(delete tR.animationend.animation,delete tR.animationiteration.animation,delete tR.animationstart.animation),"TransitionEvent"in window||delete tR.transitionend.transition);var tj=tV("animationend"),tB=tV("animationiteration"),tQ=tV("animationstart"),t$=tV("transitionrun"),tW=tV("transitionstart"),tH=tV("transitioncancel"),tq=tV("transitionend"),tK=new Map,tY="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(" ");function tX(e,n){tK.set(e,n),eJ(n,[e])}var tG=[],tZ=0,tJ=0;function t0(){for(var e=tZ,n=tJ=tZ=0;n>=o,l-=o,ro=1<<32-ek(n)+l|t<a?a:8;var o=F.T,i={};F.T=i,al(e,!1,n,t);try{var u=l(),s=F.S;if(null!==s&&s(i,u),null!==u&&"object"==typeof u&&"function"==typeof u.then){var c,f,d=(c=[],f={status:"pending",value:null,reason:null,then:function(e){c.push(e)}},u.then(function(){f.status="fulfilled",f.value=r;for(var e=0;ed?(p=f,f=null):p=f.sibling;var m=g(l,f,i[d],u);if(null===m){null===f&&(f=p);break}e&&f&&null===m.alternate&&n(l,f),o=a(m,o,d),null===c?s=m:c.sibling=m,c=m,f=p}if(d===i.length)return t(l,f),rm&&ru(l,d),s;if(null===f){for(;dp?(m=d,d=null):m=d.sibling;var b=g(l,d,v.value,u);if(null===b){null===d&&(d=m);break}e&&d&&null===b.alternate&&n(l,d),o=a(b,o,p),null===f?c=b:f.sibling=b,f=b,d=m}if(v.done)return t(l,d),rm&&ru(l,p),c;if(null===d){for(;!v.done;p++,v=i.next())null!==(v=h(l,v.value,u))&&(o=a(v,o,p),null===f?c=v:f.sibling=v,f=v);return rm&&ru(l,p),c}for(d=r(d);!v.done;p++,v=i.next())null!==(v=y(d,l,p,v.value,u))&&(e&&null!==v.alternate&&d.delete(null===v.key?p:v.key),o=a(v,o,p),null===f?c=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return n(l,e)}),rm&&ru(l,p),c}(u,c,f=k.call(f),v)}if("function"==typeof f.then)return i(u,c,am(f),v);if(f.$$typeof===b)return i(u,c,og(u,f),v);ag(u,f)}return"string"==typeof f&&""!==f||"number"==typeof f||"bigint"==typeof f?(f=""+f,null!==c&&6===c.tag?(t(u,c.sibling),(v=l(c,f)).return=u):(t(u,c),(v=iy(f,u.mode,v)).return=u),o(u=v)):t(u,c)}(i,u,c,f);return ad=null,v}catch(e){if(e===rE||e===rz)throw e;var k=is(29,e,null,i.mode);return k.lanes=f,k.return=i,k}finally{}}}var ab=av(!0),ak=av(!1),aw=H(null),aS=null;function ax(e){var n=e.alternate;K(aP,1&aP.current),K(aw,e),null===aS&&(null===n||null!==rW.current?aS=e:null!==n.memoizedState&&(aS=e))}function aE(e){if(22===e.tag){if(K(aP,aP.current),K(aw,e),null===aS){var n=e.alternate;null!==n&&null!==n.memoizedState&&(aS=e)}}else aC(e)}function aC(){K(aP,aP.current),K(aw,aw.current)}function az(e){q(aw),aS===e&&(aS=null),q(aP)}var aP=H(0);function aN(e){for(var n=e;null!==n;){if(13===n.tag){var t=n.memoizedState;if(null!==t&&(null===(t=t.dehydrated)||"$?"===t.data||sf(t)))return n}else if(19===n.tag&&void 0!==n.memoizedProps.revealOrder){if(0!=(128&n.flags))return n}else if(null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}function aL(e,n,t,r){t=null==(t=t(r,n=e.memoizedState))?n:D({},n,t),e.memoizedState=t,0===e.lanes&&(e.updateQueue.baseState=t)}var aT={isMounted:function(e){return!!(e=e._reactInternals)&&I(e)===e},enqueueSetState:function(e,n,t){e=e._reactInternals;var r=i4(),l=ow(r);l.payload=n,null!=t&&(l.callback=t),null!==(n=oS(e,l,r))&&(i6(n,e,r),ox(n,e,r))},enqueueReplaceState:function(e,n,t){e=e._reactInternals;var r=i4(),l=ow(r);l.tag=1,l.payload=n,null!=t&&(l.callback=t),null!==(n=oS(e,l,r))&&(i6(n,e,r),ox(n,e,r))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var t=i4(),r=ow(t);r.tag=2,null!=n&&(r.callback=n),null!==(n=oS(e,r,t))&&(i6(n,e,t),ox(n,e,t))}};function a_(e,n,t,r,l,a,o){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,o):!n.prototype||!n.prototype.isPureReactComponent||!tC(t,r)||!tC(l,a)}function aF(e,n,t,r){e=n.state,"function"==typeof n.componentWillReceiveProps&&n.componentWillReceiveProps(t,r),"function"==typeof n.UNSAFE_componentWillReceiveProps&&n.UNSAFE_componentWillReceiveProps(t,r),n.state!==e&&aT.enqueueReplaceState(n,n.state,null)}function aD(e,n){var t=n;if("ref"in n)for(var r in t={},n)"ref"!==r&&(t[r]=n[r]);if(e=e.defaultProps)for(var l in t===n&&(t=D({},t)),e)void 0===t[l]&&(t[l]=e[l]);return t}var aO="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(n))return}else if("object"==typeof a&&"function"==typeof a.emit){a.emit("uncaughtException",e);return}console.error(e)};function aM(e){aO(e)}function aA(e){console.error(e)}function aR(e){aO(e)}function aI(e,n){try{(0,e.onUncaughtError)(n.value,{componentStack:n.stack})}catch(e){setTimeout(function(){throw e})}}function aU(e,n,t){try{(0,e.onCaughtError)(t.value,{componentStack:t.stack,errorBoundary:1===n.tag?n.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function aV(e,n,t){return(t=ow(t)).tag=3,t.payload={element:null},t.callback=function(){aI(e,n)},t}function aj(e){return(e=ow(e)).tag=3,e}function aB(e,n,t,r){var l=t.type.getDerivedStateFromError;if("function"==typeof l){var a=r.value;e.payload=function(){return l(a)},e.callback=function(){aU(n,t,r)}}var o=t.stateNode;null!==o&&"function"==typeof o.componentDidCatch&&(e.callback=function(){aU(n,t,r),"function"!=typeof l&&(null===iY?iY=new Set([this]):iY.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:null!==e?e:""})})}var aQ=Error(s(461)),a$=!1;function aW(e,n,t,r){n.child=null===e?ak(n,null,t,r):ab(n,e.child,t,r)}function aH(e,n,t,r,l){t=t.render;var a=n.ref;if("ref"in r){var o={};for(var i in r)"ref"!==i&&(o[i]=r[i])}else o=r;return(om(n),r=ll(e,n,t,o,a,l),i=lu(),null===e||a$)?(rm&&i&&rc(n),n.flags|=1,aW(e,n,r,l),n.child):(ls(e,n,l),ot(e,n,l))}function aq(e,n,t,r,l){if(null===e){var a=t.type;return"function"!=typeof a||ic(a)||void 0!==a.defaultProps||null!==t.compare?((e=im(t.type,null,r,n,n.mode,l)).ref=n.ref,e.return=n,n.child=e):(n.tag=15,n.type=a,aK(e,n,a,r,l))}if(a=e.child,!or(e,l)){var o=a.memoizedProps;if((t=null!==(t=t.compare)?t:tC)(o,r)&&e.ref===n.ref)return ot(e,n,l)}return n.flags|=1,(e=id(a,r)).ref=n.ref,e.return=n,n.child=e}function aK(e,n,t,r,l){if(null!==e){var a=e.memoizedProps;if(tC(a,r)&&e.ref===n.ref){if(a$=!1,n.pendingProps=r=a,!or(e,l))return n.lanes=e.lanes,ot(e,n,l);0!=(131072&e.flags)&&(a$=!0)}}return aZ(e,n,t,r,l)}function aY(e,n,t){var r=n.pendingProps,l=r.children,a=0!=(2&n.stateNode._pendingVisibility),o=null!==e?e.memoizedState:null;if(aG(e,n),"hidden"===r.mode||a){if(0!=(128&n.flags)){if(r=null!==o?o.baseLanes|t:t,null!==e){for(a=0,l=n.child=e.child;null!==l;)a=a|l.lanes|l.childLanes,l=l.sibling;n.childLanes=a&~r}else n.childLanes=0,n.child=null;return aX(e,n,r,t)}if(0==(0x20000000&t))return n.lanes=n.childLanes=0x20000000,aX(e,n,null!==o?o.baseLanes|t:t,t);n.memoizedState={baseLanes:0,cachePool:null},null!==e&&rJ(n,null!==o?o.cachePool:null),null!==o?rq(n,o):rK(),aE(n)}else null!==o?(rJ(n,o.cachePool),rq(n,o),aC(n),n.memoizedState=null):(null!==e&&rJ(n,null),rK(),aC(n));return aW(e,n,l,t),n.child}function aX(e,n,t,r){var l=rZ();return l=null===l?null:{parent:rR._currentValue,pool:l},n.memoizedState={baseLanes:t,cachePool:l},null!==e&&rJ(n,null),rK(),aE(n),null!==e&&od(e,n,r,!0),null}function aG(e,n){var t=n.ref;if(null===t)null!==e&&null!==e.ref&&(n.flags|=2097664);else{if("function"!=typeof t&&"object"!=typeof t)throw Error(s(284));(null===e||e.ref!==t)&&(n.flags|=2097664)}}function aZ(e,n,t,r,l){return(om(n),t=ll(e,n,t,r,void 0,l),r=lu(),null===e||a$)?(rm&&r&&rc(n),n.flags|=1,aW(e,n,t,l),n.child):(ls(e,n,l),ot(e,n,l))}function aJ(e,n,t,r,l,a){return(om(n),n.updateQueue=null,t=lo(n,r,t,l),la(e),r=lu(),null===e||a$)?(rm&&r&&rc(n),n.flags|=1,aW(e,n,t,a),n.child):(ls(e,n,a),ot(e,n,a))}function a0(e,n,t,r,l){if(om(n),null===n.stateNode){var a=t8,o=t.contextType;"object"==typeof o&&null!==o&&(a=oh(o)),a=new t(r,a),n.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,a.updater=aT,n.stateNode=a,a._reactInternals=n,(a=n.stateNode).props=r,a.state=n.memoizedState,a.refs={},ob(n),o=t.contextType,a.context="object"==typeof o&&null!==o?oh(o):t8,a.state=n.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(aL(n,t,o,r),a.state=n.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(o=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),o!==a.state&&aT.enqueueReplaceState(a,a.state,null),oP(n,r,a,l),oz(),a.state=n.memoizedState),"function"==typeof a.componentDidMount&&(n.flags|=4194308),r=!0}else if(null===e){a=n.stateNode;var i=n.memoizedProps,u=aD(t,i);a.props=u;var s=a.context,c=t.contextType;o=t8,"object"==typeof c&&null!==c&&(o=oh(c));var f=t.getDerivedStateFromProps;c="function"==typeof f||"function"==typeof a.getSnapshotBeforeUpdate,i=n.pendingProps!==i,c||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(i||s!==o)&&aF(n,a,r,o),ov=!1;var d=n.memoizedState;a.state=d,oP(n,r,a,l),oz(),s=n.memoizedState,i||d!==s||ov?("function"==typeof f&&(aL(n,t,f,r),s=n.memoizedState),(u=ov||a_(n,t,u,r,d,s,o))?(c||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||("function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"==typeof a.componentDidMount&&(n.flags|=4194308)):("function"==typeof a.componentDidMount&&(n.flags|=4194308),n.memoizedProps=r,n.memoizedState=s),a.props=r,a.state=s,a.context=o,r=u):("function"==typeof a.componentDidMount&&(n.flags|=4194308),r=!1)}else{a=n.stateNode,ok(e,n),c=aD(t,o=n.memoizedProps),a.props=c,f=n.pendingProps,d=a.context,s=t.contextType,u=t8,"object"==typeof s&&null!==s&&(u=oh(s)),(s="function"==typeof(i=t.getDerivedStateFromProps)||"function"==typeof a.getSnapshotBeforeUpdate)||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(o!==f||d!==u)&&aF(n,a,r,u),ov=!1,d=n.memoizedState,a.state=d,oP(n,r,a,l),oz();var p=n.memoizedState;o!==f||d!==p||ov||null!==e&&null!==e.dependencies&&op(e.dependencies)?("function"==typeof i&&(aL(n,t,i,r),p=n.memoizedState),(c=ov||a_(n,t,c,r,d,p,u)||null!==e&&null!==e.dependencies&&op(e.dependencies))?(s||"function"!=typeof a.UNSAFE_componentWillUpdate&&"function"!=typeof a.componentWillUpdate||("function"==typeof a.componentWillUpdate&&a.componentWillUpdate(r,p,u),"function"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(r,p,u)),"function"==typeof a.componentDidUpdate&&(n.flags|=4),"function"==typeof a.getSnapshotBeforeUpdate&&(n.flags|=1024)):("function"!=typeof a.componentDidUpdate||o===e.memoizedProps&&d===e.memoizedState||(n.flags|=4),"function"!=typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&d===e.memoizedState||(n.flags|=1024),n.memoizedProps=r,n.memoizedState=p),a.props=r,a.state=p,a.context=u,r=c):("function"!=typeof a.componentDidUpdate||o===e.memoizedProps&&d===e.memoizedState||(n.flags|=4),"function"!=typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&d===e.memoizedState||(n.flags|=1024),r=!1)}return a=r,aG(e,n),r=0!=(128&n.flags),a||r?(a=n.stateNode,t=r&&"function"!=typeof t.getDerivedStateFromError?null:a.render(),n.flags|=1,null!==e&&r?(n.child=ab(n,e.child,null,l),n.child=ab(n,null,t,l)):aW(e,n,t,l),n.memoizedState=a.state,e=n.child):e=ot(e,n,l),e}function a1(e,n,t,r){return rS(),n.flags|=256,aW(e,n,t,r),n.child}var a2={dehydrated:null,treeContext:null,retryLane:0};function a4(e){return{baseLanes:e,cachePool:r0()}}function a3(e,n,t){return e=null!==e?e.childLanes&~t:0,n&&(e|=ij),e}function a6(e,n,t){var r,l=n.pendingProps,a=!1,o=0!=(128&n.flags);if((r=o)||(r=(null===e||null!==e.memoizedState)&&0!=(2&aP.current)),r&&(a=!0,n.flags&=-129),r=0!=(32&n.flags),n.flags&=-33,null===e){if(rm){if(a?ax(n):aC(n),rm){var i,u=rp;if(i=u){t:{for(i=u,u=rg;8!==i.nodeType;)if(!u||null===(i=sd(i.nextSibling))){u=null;break t}u=i}null!==u?(n.memoizedState={dehydrated:u,treeContext:null!==ra?{id:ro,overflow:ri}:null,retryLane:0x20000000},(i=is(18,null,null,0)).stateNode=u,i.return=n,n.child=i,rd=n,rp=null,i=!0):i=!1}i||rv(n)}if(null!==(u=n.memoizedState)&&null!==(u=u.dehydrated))return sf(u)?n.lanes=16:n.lanes=0x20000000,null;az(n)}return(u=l.children,l=l.fallback,a)?(aC(n),u=a5({mode:"hidden",children:u},a=n.mode),l=ih(l,a,t,null),u.return=n,l.return=n,u.sibling=l,n.child=u,(a=n.child).memoizedState=a4(t),a.childLanes=a3(e,r,t),n.memoizedState=a2,l):(ax(n),a8(n,u))}if(null!==(i=e.memoizedState)&&null!==(u=i.dehydrated)){if(o)256&n.flags?(ax(n),n.flags&=-257,n=a9(e,n,t)):null!==n.memoizedState?(aC(n),n.child=e.child,n.flags|=128,n=null):(aC(n),a=l.fallback,u=n.mode,l=a5({mode:"visible",children:l.children},u),a=ih(a,u,t,null),a.flags|=2,l.return=n,a.return=n,l.sibling=a,n.child=l,ab(n,e.child,null,t),(l=n.child).memoizedState=a4(t),l.childLanes=a3(e,r,t),n.memoizedState=a2,n=a);else if(ax(n),sf(u)){if(r=u.nextSibling&&u.nextSibling.dataset)var c=r.dgst;r=c,(l=Error(s(419))).stack="",l.digest=r,rx({value:l,source:null,stack:null}),n=a9(e,n,t)}else if(a$||od(e,n,t,!1),r=0!=(t&e.childLanes),a$||r){if(null!==(r=iN)){if(0!=(42&(l=t&-t)))l=1;else switch(l){case 2:l=1;break;case 8:l=4;break;case 32:l=16;break;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 0x1000000:case 0x2000000:l=64;break;case 0x10000000:l=0x8000000;break;default:l=0}if(0!==(l=0!=(l&(r.suspendedLanes|t))?0:l)&&l!==i.retryLane)throw i.retryLane=l,t4(e,l),i6(r,e,l),aQ}"$?"===u.data||uo(),n=a9(e,n,t)}else"$?"===u.data?(n.flags|=192,n.child=e.child,n=null):(e=i.treeContext,rp=sd(u.nextSibling),rd=n,rm=!0,rh=null,rg=!1,null!==e&&(rr[rl++]=ro,rr[rl++]=ri,rr[rl++]=ra,ro=e.id,ri=e.overflow,ra=n),n=a8(n,l.children),n.flags|=4096);return n}return a?(aC(n),a=l.fallback,u=n.mode,c=(i=e.child).sibling,(l=id(i,{mode:"hidden",children:l.children})).subtreeFlags=0x1e00000&i.subtreeFlags,null!==c?a=id(c,a):(a=ih(a,u,t,null),a.flags|=2),a.return=n,l.return=n,l.sibling=a,n.child=l,l=a,a=n.child,null===(u=e.child.memoizedState)?u=a4(t):(null!==(i=u.cachePool)?(c=rR._currentValue,i=i.parent!==c?{parent:c,pool:c}:i):i=r0(),u={baseLanes:u.baseLanes|t,cachePool:i}),a.memoizedState=u,a.childLanes=a3(e,r,t),n.memoizedState=a2,l):(ax(n),e=(t=e.child).sibling,(t=id(t,{mode:"visible",children:l.children})).return=n,t.sibling=null,null!==e&&(null===(r=n.deletions)?(n.deletions=[e],n.flags|=16):r.push(e)),n.child=t,n.memoizedState=null,t)}function a8(e,n){return(n=a5({mode:"visible",children:n},e.mode)).return=e,e.child=n}function a5(e,n){return ig(e,n,0,null)}function a9(e,n,t){return ab(n,e.child,null,t),e=a8(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function a7(e,n,t){e.lanes|=n;var r=e.alternate;null!==r&&(r.lanes|=n),oc(e.return,n,t)}function oe(e,n,t,r,l){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:r,tail:t,tailMode:l}:(a.isBackwards=n,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=t,a.tailMode=l)}function on(e,n,t){var r=n.pendingProps,l=r.revealOrder,a=r.tail;if(aW(e,n,r.children,t),0!=(2&(r=aP.current)))r=1&r|2,n.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=n.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&a7(e,t,n);else if(19===e.tag)a7(e,t,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===n)break;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}switch(K(aP,r),l){case"forwards":for(l=null,t=n.child;null!==t;)null!==(e=t.alternate)&&null===aN(e)&&(l=t),t=t.sibling;null===(t=l)?(l=n.child,n.child=null):(l=t.sibling,t.sibling=null),oe(n,!1,l,t,a);break;case"backwards":for(t=null,l=n.child,n.child=null;null!==l;){if(null!==(e=l.alternate)&&null===aN(e)){n.child=l;break}e=l.sibling,l.sibling=t,t=l,l=e}oe(n,!0,t,null,a);break;case"together":oe(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function ot(e,n,t){if(null!==e&&(n.dependencies=e.dependencies),iI|=n.lanes,0==(t&n.childLanes)&&(null===e||(od(e,n,t,!1),0==(t&n.childLanes))))return null;if(null!==e&&n.child!==e.child)throw Error(s(153));if(null!==n.child){for(t=id(e=n.child,e.pendingProps),n.child=t,t.return=n;null!==e.sibling;)e=e.sibling,(t=t.sibling=id(e,e.pendingProps)).return=n;t.sibling=null}return n.child}function or(e,n){return 0!=(e.lanes&n)||!!(null!==(e=e.dependencies)&&op(e))}function ol(e,n,t){if(null!==e){if(e.memoizedProps!==n.pendingProps)a$=!0;else{if(!or(e,t)&&0==(128&n.flags))return a$=!1,function(e,n,t){switch(n.tag){case 3:J(n,n.stateNode.containerInfo),ou(n,rR,e.memoizedState.cache),rS();break;case 27:case 5:en(n);break;case 4:J(n,n.stateNode.containerInfo);break;case 10:ou(n,n.type,n.memoizedProps.value);break;case 13:var r=n.memoizedState;if(null!==r){if(null!==r.dehydrated)return ax(n),n.flags|=128,null;if(0!=(t&n.child.childLanes))return a6(e,n,t);return ax(n),null!==(e=ot(e,n,t))?e.sibling:null}ax(n);break;case 19:var l=0!=(128&e.flags);if((r=0!=(t&n.childLanes))||(od(e,n,t,!1),r=0!=(t&n.childLanes)),l){if(r)return on(e,n,t);n.flags|=128}if(null!==(l=n.memoizedState)&&(l.rendering=null,l.tail=null,l.lastEffect=null),K(aP,aP.current),!r)return null;break;case 22:case 23:return n.lanes=0,aY(e,n,t);case 24:ou(n,rR,e.memoizedState.cache)}return ot(e,n,t)}(e,n,t);a$=0!=(131072&e.flags)}}else a$=!1,rm&&0!=(1048576&n.flags)&&rs(n,rt,n.index);switch(n.lanes=0,n.tag){case 16:e:{e=n.pendingProps;var r=n.elementType,l=r._init;if(r=l(r._payload),n.type=r,"function"==typeof r)ic(r)?(e=aD(r,e),n.tag=1,n=a0(null,n,r,e,t)):(n.tag=0,n=aZ(null,n,r,e,t));else{if(null!=r){if((l=r.$$typeof)===k){n.tag=11,n=aH(null,n,r,e,t);break e}if(l===x){n.tag=14,n=aq(null,n,r,e,t);break e}}throw Error(s(306,n=function e(n){if(null==n)return null;if("function"==typeof n)return n.$$typeof===_?null:n.displayName||n.name||null;if("string"==typeof n)return n;switch(n){case m:return"Fragment";case p:return"Portal";case g:return"Profiler";case h:return"StrictMode";case w:return"Suspense";case S:return"SuspenseList"}if("object"==typeof n)switch(n.$$typeof){case b:return(n.displayName||"Context")+".Provider";case v:return(n._context.displayName||"Context")+".Consumer";case k:var t=n.render;return(n=n.displayName)||(n=""!==(n=t.displayName||t.name||"")?"ForwardRef("+n+")":"ForwardRef"),n;case x:return null!==(t=n.displayName||null)?t:e(n.type)||"Memo";case E:t=n._payload,n=n._init;try{return e(n(t))}catch(e){}}return null}(r)||r,""))}}return n;case 0:return aZ(e,n,n.type,n.pendingProps,t);case 1:return l=aD(r=n.type,n.pendingProps),a0(e,n,r,l,t);case 3:e:{if(J(n,n.stateNode.containerInfo),null===e)throw Error(s(387));var a=n.pendingProps;r=(l=n.memoizedState).element,ok(e,n),oP(n,a,null,t);var o=n.memoizedState;if(ou(n,rR,a=o.cache),a!==l.cache&&of(n,[rR],t,!0),oz(),a=o.element,l.isDehydrated){if(l={element:a,isDehydrated:!1,cache:o.cache},n.updateQueue.baseState=l,n.memoizedState=l,256&n.flags){n=a1(e,n,a,t);break e}if(a!==r){rx(r=t9(Error(s(424)),n)),n=a1(e,n,a,t);break e}for(rp=sd(n.stateNode.containerInfo.firstChild),rd=n,rm=!0,rh=null,rg=!0,t=ak(n,null,a,t),n.child=t;t;)t.flags=-3&t.flags|4096,t=t.sibling}else{if(rS(),a===r){n=ot(e,n,t);break e}aW(e,n,a,t)}n=n.child}return n;case 26:return aG(e,n),null===e?(t=sw(n.type,null,n.pendingProps,null))?n.memoizedState=t:rm||(t=n.type,e=n.pendingProps,(r=u7(G.current).createElement(t))[eR]=n,r[eI]=e,u8(r,t,e),eX(r),n.stateNode=r):n.memoizedState=sw(n.type,e.memoizedProps,n.pendingProps,e.memoizedState),null;case 27:return en(n),null===e&&rm&&(r=n.stateNode=sm(n.type,n.pendingProps,G.current),rd=n,rg=!0,rp=sd(r.firstChild)),r=n.pendingProps.children,null!==e||rm?aW(e,n,r,t):n.child=ab(n,null,r,t),aG(e,n),n.child;case 5:return null===e&&rm&&((l=r=rp)&&(null!==(r=function(e,n,t,r){for(;1===e.nodeType;){if(e.nodeName.toLowerCase()!==n.toLowerCase()){if(!r&&("INPUT"!==e.nodeName||"hidden"!==e.type))break}else if(r){if(!e[e$])switch(n){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if("stylesheet"===(l=e.getAttribute("rel"))&&e.hasAttribute("data-precedence")||l!==t.rel||e.getAttribute("href")!==(null==t.href?null:t.href)||e.getAttribute("crossorigin")!==(null==t.crossOrigin?null:t.crossOrigin)||e.getAttribute("title")!==(null==t.title?null:t.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(((l=e.getAttribute("src"))!==(null==t.src?null:t.src)||e.getAttribute("type")!==(null==t.type?null:t.type)||e.getAttribute("crossorigin")!==(null==t.crossOrigin?null:t.crossOrigin))&&l&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else{if("input"!==n||"hidden"!==e.type)return e;var l=null==t.name?null:""+t.name;if("hidden"===t.type&&e.getAttribute("name")===l)return e}if(null===(e=sd(e.nextSibling)))break}return null}(r,n.type,n.pendingProps,rg))?(n.stateNode=r,rd=n,rp=sd(r.firstChild),rg=!1,l=!0):l=!1),l||rv(n)),en(n),l=n.type,a=n.pendingProps,o=null!==e?e.memoizedProps:null,r=a.children,st(l,a)?r=null:null!==o&&st(l,o)&&(n.flags|=32),null!==n.memoizedState&&(l=ll(e,n,li,null,null,t),sj._currentValue=l),aG(e,n),aW(e,n,r,t),n.child;case 6:return null===e&&rm&&((e=t=rp)&&(null!==(t=function(e,n,t){if(""===n)return null;for(;3!==e.nodeType;)if((1!==e.nodeType||"INPUT"!==e.nodeName||"hidden"!==e.type)&&!t||null===(e=sd(e.nextSibling)))return null;return e}(t,n.pendingProps,rg))?(n.stateNode=t,rd=n,rp=null,e=!0):e=!1),e||rv(n)),null;case 13:return a6(e,n,t);case 4:return J(n,n.stateNode.containerInfo),r=n.pendingProps,null===e?n.child=ab(n,null,r,t):aW(e,n,r,t),n.child;case 11:return aH(e,n,n.type,n.pendingProps,t);case 7:return aW(e,n,n.pendingProps,t),n.child;case 8:case 12:return aW(e,n,n.pendingProps.children,t),n.child;case 10:return r=n.pendingProps,ou(n,n.type,r.value),aW(e,n,r.children,t),n.child;case 9:return l=n.type._context,r=n.pendingProps.children,om(n),r=r(l=oh(l)),n.flags|=1,aW(e,n,r,t),n.child;case 14:return aq(e,n,n.type,n.pendingProps,t);case 15:return aK(e,n,n.type,n.pendingProps,t);case 19:return on(e,n,t);case 22:return aY(e,n,t);case 24:return om(n),r=oh(rR),null===e?(null===(l=rZ())&&(l=iN,a=rI(),l.pooledCache=a,a.refCount++,null!==a&&(l.pooledCacheLanes|=t),l=a),n.memoizedState={parent:r,cache:l},ob(n),ou(n,rR,l)):(0!=(e.lanes&t)&&(ok(e,n),oP(n,null,null,t),oz()),l=e.memoizedState,a=n.memoizedState,l.parent!==r?(l={parent:r,cache:r},n.memoizedState=l,0===n.lanes&&(n.memoizedState=n.updateQueue.baseState=l),ou(n,rR,r)):(ou(n,rR,r=a.cache),r!==l.cache&&of(n,[rR],t,!0))),aW(e,n,n.pendingProps.children,t),n.child;case 29:throw n.pendingProps}throw Error(s(156,n.tag))}var oa=H(null),oo=null,oi=null;function ou(e,n,t){K(oa,n._currentValue),n._currentValue=t}function os(e){e._currentValue=oa.current,q(oa)}function oc(e,n,t){for(;null!==e;){var r=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,null!==r&&(r.childLanes|=n)):null!==r&&(r.childLanes&n)!==n&&(r.childLanes|=n),e===t)break;e=e.return}}function of(e,n,t,r){var l=e.child;for(null!==l&&(l.return=e);null!==l;){var a=l.dependencies;if(null!==a){var o=l.child;a=a.firstContext;e:for(;null!==a;){var i=a;a=l;for(var u=0;u title"))),u8(a,r,t),a[eR]=e,eX(a),r=a;break e;case"link":var o=sF("link","href",l).get(r+(t.href||""));if(o){for(var i=0;i<\/script>",e=e.removeChild(e.firstChild);break;case"select":e="string"==typeof r.is?l.createElement("select",{is:r.is}):l.createElement("select"),r.multiple?e.multiple=!0:r.size&&(e.size=r.size);break;default:e="string"==typeof r.is?l.createElement(t,{is:r.is}):l.createElement(t)}}e[eR]=n,e[eI]=r;e:for(l=n.child;null!==l;){if(5===l.tag||6===l.tag)e.appendChild(l.stateNode);else if(4!==l.tag&&27!==l.tag&&null!==l.child){l.child.return=l,l=l.child;continue}if(l===n)break;for(;null===l.sibling;){if(null===l.return||l.return===n)break e;l=l.return}l.sibling.return=l.return,l=l.sibling}switch(n.stateNode=e,u8(e,t,r),t){case"button":case"input":case"select":case"textarea":e=!!r.autoFocus;break;case"img":e=!0;break;default:e=!1}e&&ib(n)}}return ix(n),n.flags&=-0x1000001,null;case 6:if(e&&null!=n.stateNode)e.memoizedProps!==r&&ib(n);else{if("string"!=typeof r&&null===n.stateNode)throw Error(s(166));if(e=G.current,rw(n)){if(e=n.stateNode,t=n.memoizedProps,r=null,null!==(l=rd))switch(l.tag){case 27:case 5:r=l.memoizedProps}e[eR]=n,(e=!!(e.nodeValue===t||null!==r&&!0===r.suppressHydrationWarning||u2(e.nodeValue,t)))||rv(n)}else(e=u7(e).createTextNode(r))[eR]=n,n.stateNode=e}return ix(n),null;case 13:if(r=n.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(l=rw(n),null!==r&&null!==r.dehydrated){if(null===e){if(!l)throw Error(s(318));if(!(l=null!==(l=n.memoizedState)?l.dehydrated:null))throw Error(s(317));l[eR]=n}else rS(),0==(128&n.flags)&&(n.memoizedState=null),n.flags|=4;ix(n),l=!1}else null!==rh&&(i5(rh),rh=null),l=!0;if(!l){if(256&n.flags)return az(n),n;return az(n),null}}if(az(n),0!=(128&n.flags))return n.lanes=t,n;if(t=null!==r,e=null!==e&&null!==e.memoizedState,t){r=n.child,l=null,null!==r.alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(l=r.alternate.memoizedState.cachePool.pool);var a=null;null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(a=r.memoizedState.cachePool.pool),a!==l&&(r.flags|=2048)}return t!==e&&t&&(n.child.flags|=8192),iw(n,n.updateQueue),ix(n),null;case 4:return ee(),null===e&&uH(n.stateNode.containerInfo),ix(n),null;case 10:return os(n.type),ix(n),null;case 19:if(q(aP),null===(l=n.memoizedState))return ix(n),null;if(r=0!=(128&n.flags),null===(a=l.rendering)){if(r)iS(l,!1);else{if(0!==iR||null!==e&&0!=(128&e.flags))for(e=n.child;null!==e;){if(null!==(a=aN(e))){for(n.flags|=128,iS(l,!1),e=a.updateQueue,n.updateQueue=e,iw(n,e),n.subtreeFlags=0,e=t,t=n.child;null!==t;)ip(t,e),t=t.sibling;return K(aP,1&aP.current|2),n.child}e=e.sibling}null!==l.tail&&eu()>iq&&(n.flags|=128,r=!0,iS(l,!1),n.lanes=4194304)}}else{if(!r){if(null!==(e=aN(a))){if(n.flags|=128,r=!0,e=e.updateQueue,n.updateQueue=e,iw(n,e),iS(l,!0),null===l.tail&&"hidden"===l.tailMode&&!a.alternate&&!rm)return ix(n),null}else 2*eu()-l.renderingStartTime>iq&&0x20000000!==t&&(n.flags|=128,r=!0,iS(l,!1),n.lanes=4194304)}l.isBackwards?(a.sibling=n.child,n.child=a):(null!==(e=l.last)?e.sibling=a:n.child=a,l.last=a)}if(null!==l.tail)return n=l.tail,l.rendering=n,l.tail=n.sibling,l.renderingStartTime=eu(),n.sibling=null,e=aP.current,K(aP,r?1&e|2:1&e),n;return ix(n),null;case 22:case 23:return az(n),rY(),r=null!==n.memoizedState,null!==e?null!==e.memoizedState!==r&&(n.flags|=8192):r&&(n.flags|=8192),r?0!=(0x20000000&t)&&0==(128&n.flags)&&(ix(n),6&n.subtreeFlags&&(n.flags|=8192)):ix(n),null!==(t=n.updateQueue)&&iw(n,t.retryQueue),t=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(t=e.memoizedState.cachePool.pool),r=null,null!==n.memoizedState&&null!==n.memoizedState.cachePool&&(r=n.memoizedState.cachePool.pool),r!==t&&(n.flags|=2048),null!==e&&q(rG),null;case 24:return t=null,null!==e&&(t=e.memoizedState.cache),n.memoizedState.cache!==t&&(n.flags|=2048),os(rR),ix(n),null;case 25:return null}throw Error(s(156,n.tag))}(n.alternate,n,iA);if(null!==t){iL=t;return}if(null!==(n=n.sibling)){iL=n;return}iL=n=e}while(null!==n);0===iR&&(iR=5)}function ud(e,n){do{var t=function(e,n){switch(rf(n),n.tag){case 1:return 65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 3:return os(rR),ee(),0!=(65536&(e=n.flags))&&0==(128&e)?(n.flags=-65537&e|128,n):null;case 26:case 27:case 5:return et(n),null;case 13:if(az(n),null!==(e=n.memoizedState)&&null!==e.dehydrated){if(null===n.alternate)throw Error(s(340));rS()}return 65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 19:return q(aP),null;case 4:return ee(),null;case 10:return os(n.type),null;case 22:case 23:return az(n),rY(),null!==e&&q(rG),65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 24:return os(rR),null;default:return null}}(e.alternate,e);if(null!==t){t.flags&=32767,iL=t;return}if(null!==(t=e.return)&&(t.flags|=32768,t.subtreeFlags=0,t.deletions=null),!n&&null!==(e=e.sibling)){iL=e;return}iL=e=t}while(null!==e);iR=6,iL=null}function up(e,n,t,r,l,a,o,i,u,c,f){var d=F.T,p=B.p;try{B.p=2,F.T=null,function(e,n,t,r,l,a,o,i){do uh();while(null!==iG);if(0!=(6&iP))throw Error(s(327));var u,c=e.finishedWork;if(r=e.finishedLanes,null!==c){if(e.finishedWork=null,e.finishedLanes=0,c===e.current)throw Error(s(177));e.callbackNode=null,e.callbackPriority=0,e.cancelPendingCommit=null;var f=c.lanes|c.childLanes;if(function(e,n,t,r,l,a){var o=e.pendingLanes;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=t,e.entangledLanes&=t,e.errorRecoveryDisabledLanes&=t,e.shellSuspendCounter=0;var i=e.entanglements,u=e.expirationTimes,s=e.hiddenUpdates;for(t=o&~t;0r&&(l=r,r=a,a=l),l=tP(n,a);var o=tP(n,r);l&&o&&(1!==t.rangeCount||t.anchorNode!==l.node||t.anchorOffset!==l.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&((e=e.createRange()).setStart(l.node,l.offset),t.removeAllRanges(),a>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)1===t.nodeType&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;nt?32:t,F.T=null,null===iG)var a=!1;else{t=i0,i0=null;var o=iG,i=iZ;if(iG=null,iZ=0,0!=(6&iP))throw Error(s(331));var u=iP;if(iP|=4,io(o.current),o9(o,o.current,i,t),iP=u,uT(0,!1),ev&&"function"==typeof ev.onPostCommitFiberRoot)try{ev.onPostCommitFiberRoot(ey,o)}catch(e){}a=!0}return a}finally{B.p=l,F.T=r,um(e,n)}}return!1}function ug(e,n,t){n=t9(t,n),n=aV(e.stateNode,n,2),null!==(e=oS(e,n,2))&&(e_(e,2),uL(e))}function uy(e,n,t){if(3===e.tag)ug(e,e,t);else for(;null!==n;){if(3===n.tag){ug(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===iY||!iY.has(r))){e=t9(t,e),null!==(r=oS(n,t=aj(2),2))&&(aB(t,r,n,e),e_(r,2),uL(r));break}}n=n.return}}function uv(e,n,t){var r=e.pingCache;if(null===r){r=e.pingCache=new iz;var l=new Set;r.set(n,l)}else void 0===(l=r.get(n))&&(l=new Set,r.set(n,l));l.has(t)||(iM=!0,l.add(t),e=ub.bind(null,e,n,t),n.then(e,e))}function ub(e,n,t){var r=e.pingCache;null!==r&&r.delete(n),e.pingedLanes|=e.suspendedLanes&t,e.warmLanes&=~t,iN===e&&(iT&t)===t&&(4===iR||3===iR&&(0x3c00000&iT)===iT&&300>eu()-iH?0==(2&iP)&&ut(e,0):iV|=t,iB===iT&&(iB=0)),uL(e)}function uk(e,n){0===n&&(n=eL()),null!==(e=t4(e,n))&&(e_(e,n),uL(e))}function uw(e){var n=e.memoizedState,t=0;null!==n&&(t=n.retryLane),uk(e,t)}function uS(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(t=l.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(s(314))}null!==r&&r.delete(n),uk(e,t)}var ux=null,uE=null,uC=!1,uz=!1,uP=!1,uN=0;function uL(e){var n;e!==uE&&null===e.next&&(null===uE?ux=uE=e:uE=uE.next=e),uz=!0,uC||(uC=!0,n=u_,si(function(){0!=(6&iP)?el(ec,n):n()}))}function uT(e,n){if(!uP&&uz){uP=!0;do for(var t=!1,r=ux;null!==r;){if(!n){if(0!==e){var l=r.pendingLanes;if(0===l)var a=0;else{var o=r.suspendedLanes,i=r.pingedLanes;a=0xc000055&(a=(1<<31-ek(42|e)+1)-1&(l&~(o&~i)))?0xc000055&a|1:a?2|a:0}0!==a&&(t=!0,uO(r,a))}else a=iT,0==(3&(a=ez(r,r===iN?a:0)))||eP(r,a)||(t=!0,uO(r,a))}r=r.next}while(t);uP=!1}}function u_(){uz=uC=!1;var e,n=0;0!==uN&&(((e=window.event)&&"popstate"===e.type?e===sr||(sr=e,0):(sr=null,1))||(n=uN),uN=0);for(var t=eu(),r=null,l=ux;null!==l;){var a=l.next,o=uF(l,t);0===o?(l.next=null,null===r?ux=a:r.next=a,null===a&&(uE=r)):(r=l,(0!==n||0!=(3&o))&&(uz=!0)),l=a}uT(n,!1)}function uF(e,n){for(var t=e.suspendedLanes,r=e.pingedLanes,l=e.expirationTimes,a=-0x3c00001&e.pendingLanes;0 title"):null)}function sO(e){return"stylesheet"!==e.type||0!=(3&e.state.loading)}var sM=null;function sA(){}function sR(){if(this.count--,0===this.count){if(this.stylesheets)sU(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var sI=null;function sU(e,n){e.stylesheets=null,null!==e.unsuspend&&(e.count++,sI=new Map,n.forEach(sV,e),sI=null,sR.call(e))}function sV(e,n){if(!(4&n.state.loading)){var t=sI.get(e);if(t)var r=t.get(null);else{t=new Map,sI.set(e,t);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a{"use strict";function r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return r}})},497:()=>{"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},2818:(e,t,r)=>{"use strict";var n,o;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(o=r.g.process)?void 0:o.env)?r.g.process:r(7851)},9544:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return a}});let n=r(9377),o=r(6573);function a(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7297:(e,t)=>{"use strict";function r(e){var t,r;t=self.__next_s,r=()=>{e()},t&&t.length?t.reduce((e,t)=>{let[r,n]=t;return e.then(()=>new Promise((e,t)=>{let o=document.createElement("script");if(n)for(let e in n)"children"!==e&&o.setAttribute(e,n[e]);r?(o.src=r,o.onload=()=>e(),o.onerror=t):n&&(o.innerHTML=n.children,setTimeout(e)),document.head.appendChild(o)}))},Promise.resolve()).catch(e=>{console.error(e)}).then(()=>{r()}):r()}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"appBootstrap",{enumerable:!0,get:function(){return r}}),window.next={version:"15.1.7",appDir:!0},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8127:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getAppBuildId:function(){return o},setAppBuildId:function(){return n}});let r="";function n(e){r=e}function o(){return r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9603:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{callServer:function(){return l},useServerActionDispatcher:function(){return u}});let n=r(2115),o=r(4445),a=null;function u(e){a=(0,n.useCallback)(t=>{(0,n.startTransition)(()=>{e({...t,type:o.ACTION_SERVER_ACTION})})},[e])}async function l(e,t){let r=a;if(!r)throw Error("Invariant: missing action dispatcher.");return new Promise((n,o)=>{r({actionId:e,actionArgs:t,resolve:n,reject:o})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3355:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findSourceMapURL",{enumerable:!0,get:function(){return r}});let r=void 0;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},847:(e,t,r)=>{"use strict";let n,o;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hydrate",{enumerable:!0,get:function(){return N}});let a=r(306),u=r(9955),l=r(5155);r(497),r(8397),r(9003);let i=a._(r(2669)),s=u._(r(2115)),c=r(4979),f=r(1147),d=r(8221),p=r(6547),h=r(9603),y=r(3355),g=r(6833),b=a._(r(3423)),_=r(1386);r(1394);let v=r(8127),m=document,P=new TextEncoder,E=!1,O=!1,R=null;function S(e){if(0===e[0])n=[];else if(1===e[0]){if(!n)throw Error("Unexpected server data: missing bootstrap script.");o?o.enqueue(P.encode(e[1])):n.push(e[1])}else if(2===e[0])R=e[1];else if(3===e[0]){if(!n)throw Error("Unexpected server data: missing bootstrap script.");let r=atob(e[1]),a=new Uint8Array(r.length);for(var t=0;t{t.enqueue("string"==typeof e?P.encode(e):e)}),E&&!O)&&(null===t.desiredSize||t.desiredSize<0?t.error(Error("The connection to the page was unexpectedly closed, possibly due to the stop button being clicked, loss of Wi-Fi, or an unstable internet connection.")):t.close(),O=!0,n=void 0),o=t}}),M=(0,c.createFromReadableStream)(T,{callServer:h.callServer,findSourceMapURL:y.findSourceMapURL}),x=new Promise((e,t)=>{M.then(t=>{(0,v.setAppBuildId)(t.b),e((0,g.createMutableActionQueue)((0,_.createInitialRouterState)({initialFlightData:t.f,initialCanonicalUrlParts:t.c,initialParallelRoutes:new Map,location:window.location,couldBeIntercepted:t.i,postponed:t.s,prerendered:t.S})))},e=>t(e))});function A(){let e=(0,s.use)(M),t=(0,s.use)(x);return(0,l.jsx)(b.default,{actionQueue:t,globalErrorComponentAndStyles:e.G,assetPrefix:e.p})}let C=s.default.StrictMode;function k(e){let{children:t}=e;return t}let D={onRecoverableError:d.onRecoverableError,onCaughtError:p.onCaughtError,onUncaughtError:p.onUncaughtError};function N(){let e=(0,l.jsx)(C,{children:(0,l.jsx)(f.HeadManagerContext.Provider,{value:{appDir:!0},children:(0,l.jsx)(k,{children:(0,l.jsx)(A,{})})})}),t=window.__next_root_layout_missing_tags,r=!!(null==t?void 0:t.length);"__next_error__"===document.documentElement.id||r?i.default.createRoot(m,D).render(e):s.default.startTransition(()=>i.default.hydrateRoot(m,e,{...D,formState:R}))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7200:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(8132),(0,r(7297).appBootstrap)(()=>{let{hydrate:e}=r(847);r(3423),r(5244),e()}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8132:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(5851);let n=r(8284);{let e=r.u;r.u=function(){for(var t=arguments.length,r=Array(t),o=0;o{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"assignLocation",{enumerable:!0,get:function(){return o}});let n=r(9544);function o(e,t){if(e.startsWith(".")){let r=t.origin+t.pathname;return new URL((r.endsWith("/")?r:r+"/")+e)}return new URL((0,n.addBasePath)(e),t.href)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5881:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AppRouterAnnouncer",{enumerable:!0,get:function(){return u}});let n=r(2115),o=r(7650),a="next-route-announcer";function u(e){let{tree:t}=e,[r,u]=(0,n.useState)(null);(0,n.useEffect)(()=>(u(function(){var e;let t=document.getElementsByName(a)[0];if(null==t?void 0:null==(e=t.shadowRoot)?void 0:e.childNodes[0])return t.shadowRoot.childNodes[0];{let e=document.createElement(a);e.style.cssText="position:absolute";let t=document.createElement("div");return t.ariaLive="assertive",t.id="__next-route-announcer__",t.role="alert",t.style.cssText="position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal",e.attachShadow({mode:"open"}).appendChild(t),document.body.appendChild(e),t}}()),()=>{let e=document.getElementsByTagName(a)[0];(null==e?void 0:e.isConnected)&&document.body.removeChild(e)}),[]);let[l,i]=(0,n.useState)(""),s=(0,n.useRef)(void 0);return(0,n.useEffect)(()=>{let e="";if(document.title)e=document.title;else{let t=document.querySelector("h1");t&&(e=t.innerText||t.textContent||"")}void 0!==s.current&&s.current!==e&&i(e),s.current=e},[t]),r?(0,o.createPortal)(l,r):null}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2836:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_HEADER:function(){return n},FLIGHT_HEADERS:function(){return c},NEXT_DID_POSTPONE_HEADER:function(){return p},NEXT_HMR_REFRESH_HEADER:function(){return l},NEXT_IS_PRERENDER_HEADER:function(){return h},NEXT_ROUTER_PREFETCH_HEADER:function(){return a},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return u},NEXT_ROUTER_STALE_TIME_HEADER:function(){return d},NEXT_ROUTER_STATE_TREE_HEADER:function(){return o},NEXT_RSC_UNION_QUERY:function(){return f},NEXT_URL:function(){return i},RSC_CONTENT_TYPE_HEADER:function(){return s},RSC_HEADER:function(){return r}});let r="RSC",n="Next-Action",o="Next-Router-State-Tree",a="Next-Router-Prefetch",u="Next-Router-Segment-Prefetch",l="Next-HMR-Refresh",i="Next-Url",s="text/x-component",c=[r,o,a,l,u],f="_rsc",d="x-nextjs-stale-time",p="x-nextjs-postponed",h="x-nextjs-prerender";("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3423:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createEmptyCacheNode:function(){return M},createPrefetchURL:function(){return w},default:function(){return k}});let n=r(9955),o=r(5155),a=n._(r(2115)),u=r(1394),l=r(4445),i=r(1055),s=r(8703),c=r(6494),f=r(4835),d=r(4283),p=r(9544),h=r(5881),y=r(6501),g=r(6674),b=r(9321),_=r(1129),v=r(6003),m=r(845),P=r(9935),E=r(9603);r(9824);let O=r(9100),R=r(7563),S={};function j(e){return e.origin!==window.location.origin}function w(e){let t;if((0,d.isBot)(window.navigator.userAgent))return null;try{t=new URL((0,p.addBasePath)(e),window.location.href)}catch(t){throw Error("Cannot prefetch '"+e+"' because it cannot be converted to a URL.")}return j(t)?null:t}function T(e){let{appRouterState:t}=e;return(0,a.useInsertionEffect)(()=>{let{tree:e,pushRef:r,canonicalUrl:n}=t,o={...r.preserveCustomHistoryState?window.history.state:{},__NA:!0,__PRIVATE_NEXTJS_INTERNALS_TREE:e};r.pendingPush&&(0,i.createHrefFromUrl)(new URL(window.location.href))!==n?(r.pendingPush=!1,window.history.pushState(o,"",n)):window.history.replaceState(o,"",n)},[t]),null}function M(){return{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null}}function x(e){null==e&&(e={});let t=window.history.state,r=null==t?void 0:t.__NA;r&&(e.__NA=r);let n=null==t?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;return n&&(e.__PRIVATE_NEXTJS_INTERNALS_TREE=n),e}function A(e){let{headCacheNode:t}=e,r=null!==t?t.head:null,n=null!==t?t.prefetchHead:null,o=null!==n?n:r;return(0,a.useDeferredValue)(r,o)}function C(e){let t,{actionQueue:r,assetPrefix:n}=e,[i,f]=(0,c.useReducer)(r),{canonicalUrl:d}=(0,c.useUnwrapState)(i),{searchParams:P,pathname:M}=(0,a.useMemo)(()=>{let e=new URL(d,"undefined"==typeof window?"http://n":window.location.href);return{searchParams:e.searchParams,pathname:(0,v.hasBasePath)(e.pathname)?(0,_.removeBasePath)(e.pathname):e.pathname}},[d]),C=(0,a.useCallback)(e=>{let{previousTree:t,serverResponse:r}=e;(0,a.startTransition)(()=>{f({type:l.ACTION_SERVER_PATCH,previousTree:t,serverResponse:r})})},[f]),k=(0,a.useCallback)((e,t,r)=>{let n=new URL((0,p.addBasePath)(e),location.href);return f({type:l.ACTION_NAVIGATE,url:n,isExternalUrl:j(n),locationSearch:location.search,shouldScroll:null==r||r,navigateType:t,allowAliasing:!0})},[f]);(0,E.useServerActionDispatcher)(f);let D=(0,a.useMemo)(()=>({back:()=>window.history.back(),forward:()=>window.history.forward(),prefetch:(e,t)=>{let r=w(e);null!==r&&(0,a.startTransition)(()=>{var e;f({type:l.ACTION_PREFETCH,url:r,kind:null!=(e=null==t?void 0:t.kind)?e:l.PrefetchKind.FULL})})},replace:(e,t)=>{void 0===t&&(t={}),(0,a.startTransition)(()=>{var r;k(e,"replace",null==(r=t.scroll)||r)})},push:(e,t)=>{void 0===t&&(t={}),(0,a.startTransition)(()=>{var r;k(e,"push",null==(r=t.scroll)||r)})},refresh:()=>{(0,a.startTransition)(()=>{f({type:l.ACTION_REFRESH,origin:window.location.origin})})},hmrRefresh:()=>{throw Error("hmrRefresh can only be used in development mode. Please use refresh instead.")}}),[r,f,k]);(0,a.useEffect)(()=>{window.next&&(window.next.router=D)},[D]),(0,a.useEffect)(()=>{function e(e){var t;e.persisted&&(null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE)&&(S.pendingMpaPath=void 0,f({type:l.ACTION_RESTORE,url:new URL(window.location.href),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE}))}return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}},[f]),(0,a.useEffect)(()=>{function e(e){let t="reason"in e?e.reason:e.error;if((0,R.isRedirectError)(t)){e.preventDefault();let r=(0,O.getURLFromRedirectError)(t);(0,O.getRedirectTypeFromError)(t)===R.RedirectType.push?D.push(r,{}):D.replace(r,{})}}return window.addEventListener("error",e),window.addEventListener("unhandledrejection",e),()=>{window.removeEventListener("error",e),window.removeEventListener("unhandledrejection",e)}},[D]);let{pushRef:N}=(0,c.useUnwrapState)(i);if(N.mpaNavigation){if(S.pendingMpaPath!==d){let e=window.location;N.pendingPush?e.assign(d):e.replace(d),S.pendingMpaPath=d}(0,a.use)(b.unresolvedThenable)}(0,a.useEffect)(()=>{let e=window.history.pushState.bind(window.history),t=window.history.replaceState.bind(window.history),r=e=>{var t;let r=window.location.href,n=null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;(0,a.startTransition)(()=>{f({type:l.ACTION_RESTORE,url:new URL(null!=e?e:r,r),tree:n})})};window.history.pushState=function(t,n,o){return(null==t?void 0:t.__NA)||(null==t?void 0:t._N)||(t=x(t),o&&r(o)),e(t,n,o)},window.history.replaceState=function(e,n,o){return(null==e?void 0:e.__NA)||(null==e?void 0:e._N)||(e=x(e),o&&r(o)),t(e,n,o)};let n=e=>{if(e.state){if(!e.state.__NA){window.location.reload();return}(0,a.startTransition)(()=>{f({type:l.ACTION_RESTORE,url:new URL(window.location.href),tree:e.state.__PRIVATE_NEXTJS_INTERNALS_TREE})})}};return window.addEventListener("popstate",n),()=>{window.history.pushState=e,window.history.replaceState=t,window.removeEventListener("popstate",n)}},[f]);let{cache:I,tree:L,nextUrl:H,focusAndScrollRef:F}=(0,c.useUnwrapState)(i),$=(0,a.useMemo)(()=>(0,g.findHeadInCache)(I,L[1]),[I,L]),B=(0,a.useMemo)(()=>(0,m.getSelectedParams)(L),[L]),W=(0,a.useMemo)(()=>({childNodes:I.parallelRoutes,tree:L,url:d,loading:I.loading}),[I.parallelRoutes,L,d,I.loading]),G=(0,a.useMemo)(()=>({changeByServerResponse:C,tree:L,focusAndScrollRef:F,nextUrl:H}),[C,L,F,H]);if(null!==$){let[e,r]=$;t=(0,o.jsx)(A,{headCacheNode:e},r)}else t=null;let K=(0,o.jsxs)(y.RedirectBoundary,{children:[t,I.rsc,(0,o.jsx)(h.AppRouterAnnouncer,{tree:L})]});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(T,{appRouterState:(0,c.useUnwrapState)(i)}),(0,o.jsx)(U,{}),(0,o.jsx)(s.PathParamsContext.Provider,{value:B,children:(0,o.jsx)(s.PathnameContext.Provider,{value:M,children:(0,o.jsx)(s.SearchParamsContext.Provider,{value:P,children:(0,o.jsx)(u.GlobalLayoutRouterContext.Provider,{value:G,children:(0,o.jsx)(u.AppRouterContext.Provider,{value:D,children:(0,o.jsx)(u.LayoutRouterContext.Provider,{value:W,children:K})})})})})})]})}function k(e){let{actionQueue:t,globalErrorComponentAndStyles:[r,n],assetPrefix:a}=e;return(0,P.useNavFailureHandler)(),(0,o.jsx)(f.ErrorBoundary,{errorComponent:r,errorStyles:n,children:(0,o.jsx)(C,{actionQueue:t,assetPrefix:a})})}let D=new Set,N=new Set;function U(){let[,e]=a.default.useState(0),t=D.size;return(0,a.useEffect)(()=>{let r=()=>e(e=>e+1);return N.add(r),t!==D.size&&r(),()=>{N.delete(r)}},[t,e]),[...D].map((e,t)=>(0,o.jsx)("link",{rel:"stylesheet",href:""+e,precedence:"next"},t))}globalThis._N_E_STYLE_LOAD=function(e){let t=D.size;return D.add(e),D.size!==t&&N.forEach(e=>e()),Promise.resolve()},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8967:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"bailoutToClientRendering",{enumerable:!0,get:function(){return a}});let n=r(3719),o=r(5861);function a(e){let t=o.workAsyncStorage.getStore();if((null==t||!t.forceStatic)&&(null==t?void 0:t.isStaticGeneration))throw new n.BailoutToCSRError(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7033:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientPageRoot",{enumerable:!0,get:function(){return a}});let n=r(5155),o=r(4940);function a(e){let{Component:t,searchParams:a,params:u,promises:l}=e;if("undefined"==typeof window){let e,l;let{workAsyncStorage:i}=r(5861),s=i.getStore();if(!s)throw new o.InvariantError("Expected workStore to exist when handling searchParams in a client Page.");let{createSearchParamsFromClient:c}=r(2130);e=c(a,s);let{createParamsFromClient:f}=r(4383);return l=f(u,s),(0,n.jsx)(t,{params:l,searchParams:e})}{let{createRenderSearchParamsFromClient:e}=r(4124),o=e(a),{createRenderParamsFromClient:l}=r(5737),i=l(u);return(0,n.jsx)(t,{params:i,searchParams:o})}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4547:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientSegmentRoot",{enumerable:!0,get:function(){return a}});let n=r(5155),o=r(4940);function a(e){let{Component:t,slots:a,params:u,promise:l}=e;if("undefined"==typeof window){let e;let{workAsyncStorage:l}=r(5861),i=l.getStore();if(!i)throw new o.InvariantError("Expected workStore to exist when handling params in a client segment such as a Layout or Template.");let{createParamsFromClient:s}=r(4383);return e=s(u,i),(0,n.jsx)(t,{...a,params:e})}{let{createRenderParamsFromClient:e}=r(5737),o=e(u);return(0,n.jsx)(t,{...a,params:o})}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4835:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ErrorBoundary:function(){return h},ErrorBoundaryHandler:function(){return f},GlobalError:function(){return d},default:function(){return p}});let n=r(306),o=r(5155),a=n._(r(2115)),u=r(2380),l=r(179);r(9935);let i=r(5861),s={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}};function c(e){let{error:t}=e,r=i.workAsyncStorage.getStore();if((null==r?void 0:r.isRevalidate)||(null==r?void 0:r.isStaticGeneration))throw console.error(t),t;return null}class f extends a.default.Component{static getDerivedStateFromError(e){if((0,l.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){let{error:r}=t;return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(c,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,o.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}}function d(e){let{error:t}=e,r=null==t?void 0:t.digest;return(0,o.jsxs)("html",{id:"__next_error__",children:[(0,o.jsx)("head",{}),(0,o.jsxs)("body",{children:[(0,o.jsx)(c,{error:t}),(0,o.jsx)("div",{style:s.error,children:(0,o.jsxs)("div",{children:[(0,o.jsx)("h2",{style:s.text,children:"Application error: a "+(r?"server":"client")+"-side exception has occurred (see the "+(r?"server logs":"browser console")+" for more information)."}),r?(0,o.jsx)("p",{style:s.text,children:"Digest: "+r}):null]})})]})]})}let p=d;function h(e){let{errorComponent:t,errorStyles:r,errorScripts:n,children:a}=e,l=(0,u.useUntrackedPathname)();return t?(0,o.jsx)(f,{pathname:l,errorComponent:t,errorStyles:r,errorScripts:n,children:a}):(0,o.jsx)(o.Fragment,{children:a})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8901:(e,t,r)=>{"use strict";function n(){throw Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled.")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"forbidden",{enumerable:!0,get:function(){return n}}),r(2469).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9003:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(0,r(7712).handleGlobalErrors)(),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5194:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{originConsoleError:function(){return o},patchConsoleError:function(){return a}}),r(9762);let n=r(179);r(7712);let o=window.console.error;function a(){"undefined"!=typeof window&&(window.console.error=function(){let e;for(var t=arguments.length,r=Array(t),a=0;a{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(0,r(5194).patchConsoleError)(),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},406:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DynamicServerError:function(){return n},isDynamicServerError:function(){return o}});let r="DYNAMIC_SERVER_USAGE";class n extends Error{constructor(e){super("Dynamic server usage: "+e),this.description=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2328:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return c}});let n=r(9955),o=r(5155),a=n._(r(2115)),u=r(2380),l=r(2469);r(2363);let i=r(1394);class s extends a.default.Component{componentDidCatch(){}static getDerivedStateFromError(e){if((0,l.isHTTPAccessFallbackError)(e))return{triggeredStatus:(0,l.getAccessFallbackHTTPStatus)(e)};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.triggeredStatus?{triggeredStatus:void 0,previousPathname:e.pathname}:{triggeredStatus:t.triggeredStatus,previousPathname:e.pathname}}render(){let{notFound:e,forbidden:t,unauthorized:r,children:n}=this.props,{triggeredStatus:a}=this.state,u={[l.HTTPAccessErrorStatus.NOT_FOUND]:e,[l.HTTPAccessErrorStatus.FORBIDDEN]:t,[l.HTTPAccessErrorStatus.UNAUTHORIZED]:r};if(a){let i=a===l.HTTPAccessErrorStatus.NOT_FOUND&&e,s=a===l.HTTPAccessErrorStatus.FORBIDDEN&&t,c=a===l.HTTPAccessErrorStatus.UNAUTHORIZED&&r;return i||s||c?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"robots",content:"noindex"}),!1,u[a]]}):n}return n}constructor(e){super(e),this.state={triggeredStatus:void 0,previousPathname:e.pathname}}}function c(e){let{notFound:t,forbidden:r,unauthorized:n,children:l}=e,c=(0,u.useUntrackedPathname)(),f=(0,a.useContext)(i.MissingSlotContext);return t||r||n?(0,o.jsx)(s,{pathname:c,notFound:t,forbidden:r,unauthorized:n,missingSlots:f,children:l}):(0,o.jsx)(o.Fragment,{children:l})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2469:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTTPAccessErrorStatus:function(){return r},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return o},getAccessFallbackErrorTypeByStatus:function(){return l},getAccessFallbackHTTPStatus:function(){return u},isHTTPAccessFallbackError:function(){return a}});let r={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},n=new Set(Object.values(r)),o="NEXT_HTTP_ERROR_FALLBACK";function a(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===o&&n.has(Number(r))}function u(e){return Number(e.digest.split(";")[1])}function l(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5384:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getDefaultHydrationErrorMessage:function(){return i},getHydrationErrorStackInfo:function(){return f},isHydrationError:function(){return s},isReactHydrationErrorMessage:function(){return c}});let n=r(306)._(r(9762)),o=/hydration failed|while hydrating|content does not match|did not match|HTML didn't match/i,a="Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used",u=[a,"A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:"],l="https://react.dev/link/hydration-mismatch",i=()=>a;function s(e){return(0,n.default)(e)&&o.test(e.message)}function c(e){return u.some(t=>e.startsWith(t))}function f(e){if(!c(e=e.replace(/^Error: /,"")))return{message:null};let t=e.indexOf("\n"),[r,n]=(e=e.slice(t+1).trim()).split(""+l),o=r.trim();if(!n||!(n.length>1))return{message:o,link:l,stack:n};{let e=[],t=[];return n.split("\n").forEach(r=>{""!==r.trim()&&(r.trim().startsWith("at ")?e.push(r):t.push(r))}),{message:o,link:l,diff:t.join("\n"),stack:e.join("\n")}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},179:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return a}});let n=r(2469),o=r(7563);function a(e){return(0,o.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5244:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return j}});let n=r(306),o=r(9955),a=r(5155),u=o._(r(2115)),l=n._(r(7650)),i=r(1394),s=r(4091),c=r(9321),f=r(4835),d=r(4682),p=r(8344),h=r(6501),y=r(2328),g=r(4183),b=r(5404),_=r(941),v=l.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,m=["bottom","height","left","right","top","width","x","y"];function P(e,t){let r=e.getBoundingClientRect();return r.top>=0&&r.top<=t}class E extends u.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:t}=this.props;if(e.apply){if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>t.every((t,r)=>(0,d.matchSegment)(t,e[r]))))return;let r=null,n=e.hashFragment;if(n&&(r=function(e){var t;return"top"===e?document.body:null!=(t=document.getElementById(e))?t:document.getElementsByName(e)[0]}(n)),!r&&(r="undefined"==typeof window?null:(0,v.findDOMNode)(this)),!(r instanceof Element))return;for(;!(r instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return m.every(e=>0===t[e])}(r);){if(null===r.nextElementSibling)return;r=r.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,p.handleSmoothScroll)(()=>{if(n){r.scrollIntoView();return}let e=document.documentElement,t=e.clientHeight;!P(r,t)&&(e.scrollTop=0,P(r,t)||r.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,r.focus()}}}}function O(e){let{segmentPath:t,children:r}=e,n=(0,u.useContext)(i.GlobalLayoutRouterContext);if(!n)throw Error("invariant global layout router not mounted");return(0,a.jsx)(E,{segmentPath:t,focusAndScrollRef:n.focusAndScrollRef,children:r})}function R(e){let{parallelRouterKey:t,url:r,childNodes:n,segmentPath:o,tree:l,cacheKey:f}=e,p=(0,u.useContext)(i.GlobalLayoutRouterContext);if(!p)throw Error("invariant global layout router not mounted");let{changeByServerResponse:h,tree:y}=p,g=n.get(f);if(void 0===g){let e={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null};g=e,n.set(f,e)}let b=null!==g.prefetchRsc?g.prefetchRsc:g.rsc,v=(0,u.useDeferredValue)(g.rsc,b),m="object"==typeof v&&null!==v&&"function"==typeof v.then?(0,u.use)(v):v;if(!m){let e=g.lazyData;if(null===e){let t=function e(t,r){if(t){let[n,o]=t,a=2===t.length;if((0,d.matchSegment)(r[0],n)&&r[1].hasOwnProperty(o)){if(a){let t=e(void 0,r[1][o]);return[r[0],{...r[1],[o]:[t[0],t[1],t[2],"refetch"]}]}return[r[0],{...r[1],[o]:e(t.slice(2),r[1][o])}]}}return r}(["",...o],y),n=(0,_.hasInterceptionRouteInCurrentTree)(y);g.lazyData=e=(0,s.fetchServerResponse)(new URL(r,location.origin),{flightRouterState:t,nextUrl:n?p.nextUrl:null}).then(e=>((0,u.startTransition)(()=>{h({previousTree:y,serverResponse:e})}),e))}(0,u.use)(c.unresolvedThenable)}return(0,a.jsx)(i.LayoutRouterContext.Provider,{value:{tree:l[1][t],childNodes:g.parallelRoutes,url:r,loading:g.loading},children:m})}function S(e){let t,{loading:r,children:n}=e;if(t="object"==typeof r&&null!==r&&"function"==typeof r.then?(0,u.use)(r):r){let e=t[0],r=t[1],o=t[2];return(0,a.jsx)(u.Suspense,{fallback:(0,a.jsxs)(a.Fragment,{children:[r,o,e]}),children:n})}return(0,a.jsx)(a.Fragment,{children:n})}function j(e){let{parallelRouterKey:t,segmentPath:r,error:n,errorStyles:o,errorScripts:l,templateStyles:s,templateScripts:c,template:d,notFound:p,forbidden:_,unauthorized:v}=e,m=(0,u.useContext)(i.LayoutRouterContext);if(!m)throw Error("invariant expected layout router to be mounted");let{childNodes:P,tree:E,url:j,loading:w}=m,T=P.get(t);T||(T=new Map,P.set(t,T));let M=E[1][t][0],x=(0,g.getSegmentValue)(M),A=[M];return(0,a.jsx)(a.Fragment,{children:A.map(e=>{let u=(0,g.getSegmentValue)(e),m=(0,b.createRouterCacheKey)(e);return(0,a.jsxs)(i.TemplateContext.Provider,{value:(0,a.jsx)(O,{segmentPath:r,children:(0,a.jsx)(f.ErrorBoundary,{errorComponent:n,errorStyles:o,errorScripts:l,children:(0,a.jsx)(S,{loading:w,children:(0,a.jsx)(y.HTTPAccessFallbackBoundary,{notFound:p,forbidden:_,unauthorized:v,children:(0,a.jsx)(h.RedirectBoundary,{children:(0,a.jsx)(R,{parallelRouterKey:t,url:j,tree:E,childNodes:T,segmentPath:r,cacheKey:m,isActive:x===u})})})})})}),children:[s,c,d]},(0,b.createRouterCacheKey)(e,!0))})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4682:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{canSegmentBeOverridden:function(){return a},matchSegment:function(){return o}});let n=r(6654),o=(e,t)=>"string"==typeof e?"string"==typeof t&&e===t:"string"!=typeof t&&e[0]===t[0]&&e[1]===t[1],a=(e,t)=>{var r;return!Array.isArray(e)&&!!Array.isArray(t)&&(null==(r=(0,n.getSegmentParam)(e))?void 0:r.param)===t[0]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9935:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleHardNavError:function(){return o},useNavFailureHandler:function(){return a}}),r(2115);let n=r(1055);function o(e){return!!e&&"undefined"!=typeof window&&!!window.next.__pendingUrl&&(0,n.createHrefFromUrl)(new URL(window.location.href))!==(0,n.createHrefFromUrl)(window.next.__pendingUrl)&&(console.error("Error occurred during navigation, falling back to hard navigation",e),window.location.href=window.next.__pendingUrl.toString(),!0)}function a(){}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2380:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useUntrackedPathname",{enumerable:!0,get:function(){return a}});let n=r(2115),o=r(8703);function a(){return!function(){if("undefined"==typeof window){let{workAsyncStorage:e}=r(5861),t=e.getStore();if(!t)return!1;let{fallbackRouteParams:n}=t;return!!n&&0!==n.size}return!1}()?(0,n.useContext)(o.PathnameContext):null}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6658:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return i.RedirectType},ServerInsertedHTMLContext:function(){return c.ServerInsertedHTMLContext},forbidden:function(){return i.forbidden},notFound:function(){return i.notFound},permanentRedirect:function(){return i.permanentRedirect},redirect:function(){return i.redirect},unauthorized:function(){return i.unauthorized},unstable_rethrow:function(){return i.unstable_rethrow},useParams:function(){return h},usePathname:function(){return d},useRouter:function(){return p},useSearchParams:function(){return f},useSelectedLayoutSegment:function(){return g},useSelectedLayoutSegments:function(){return y},useServerInsertedHTML:function(){return c.useServerInsertedHTML}});let n=r(2115),o=r(1394),a=r(8703),u=r(4183),l=r(6090),i=r(4557),s=r(6378),c=r(4125);function f(){let e=(0,n.useContext)(a.SearchParamsContext),t=(0,n.useMemo)(()=>e?new i.ReadonlyURLSearchParams(e):null,[e]);if("undefined"==typeof window){let{bailoutToClientRendering:e}=r(8967);e("useSearchParams()")}return t}function d(){return(0,s.useDynamicRouteParams)("usePathname()"),(0,n.useContext)(a.PathnameContext)}function p(){let e=(0,n.useContext)(o.AppRouterContext);if(null===e)throw Error("invariant expected app router to be mounted");return e}function h(){return(0,s.useDynamicRouteParams)("useParams()"),(0,n.useContext)(a.PathParamsContext)}function y(e){void 0===e&&(e="children"),(0,s.useDynamicRouteParams)("useSelectedLayoutSegments()");let t=(0,n.useContext)(o.LayoutRouterContext);return t?function e(t,r,n,o){let a;if(void 0===n&&(n=!0),void 0===o&&(o=[]),n)a=t[1][r];else{var i;let e=t[1];a=null!=(i=e.children)?i:Object.values(e)[0]}if(!a)return o;let s=a[0],c=(0,u.getSegmentValue)(s);return!c||c.startsWith(l.PAGE_SEGMENT_KEY)?o:(o.push(c),e(a,r,!1,o))}(t.tree,e):null}function g(e){void 0===e&&(e="children"),(0,s.useDynamicRouteParams)("useSelectedLayoutSegment()");let t=y(e);if(!t||0===t.length)return null;let r="children"===e?t[0]:t[t.length-1];return r===l.DEFAULT_SEGMENT_KEY?null:r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4557:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ReadonlyURLSearchParams:function(){return c},RedirectType:function(){return o.RedirectType},forbidden:function(){return u.forbidden},notFound:function(){return a.notFound},permanentRedirect:function(){return n.permanentRedirect},redirect:function(){return n.redirect},unauthorized:function(){return l.unauthorized},unstable_rethrow:function(){return i.unstable_rethrow}});let n=r(9100),o=r(7563),a=r(4336),u=r(8901),l=r(882),i=r(5173);class s extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class c extends URLSearchParams{append(){throw new s}delete(){throw new s}set(){throw new s}sort(){throw new s}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4336:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"notFound",{enumerable:!0,get:function(){return o}});let n=""+r(2469).HTTP_ERROR_FALLBACK_ERROR_CODE+";404";function o(){let e=Error(n);throw e.digest=n,e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7891:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PromiseQueue",{enumerable:!0,get:function(){return s}});let n=r(2141),o=r(3523);var a=o._("_maxConcurrency"),u=o._("_runningCount"),l=o._("_queue"),i=o._("_processNext");class s{enqueue(e){let t,r;let o=new Promise((e,n)=>{t=e,r=n}),a=async()=>{try{n._(this,u)[u]++;let r=await e();t(r)}catch(e){r(e)}finally{n._(this,u)[u]--,n._(this,i)[i]()}};return n._(this,l)[l].push({promiseFn:o,task:a}),n._(this,i)[i](),o}bump(e){let t=n._(this,l)[l].findIndex(t=>t.promiseFn===e);if(t>-1){let e=n._(this,l)[l].splice(t,1)[0];n._(this,l)[l].unshift(e),n._(this,i)[i](!0)}}constructor(e=5){Object.defineProperty(this,i,{value:c}),Object.defineProperty(this,a,{writable:!0,value:void 0}),Object.defineProperty(this,u,{writable:!0,value:void 0}),Object.defineProperty(this,l,{writable:!0,value:void 0}),n._(this,a)[a]=e,n._(this,u)[u]=0,n._(this,l)[l]=[]}}function c(e){if(void 0===e&&(e=!1),(n._(this,u)[u]0){var t;null==(t=n._(this,l)[l].shift())||t.task()}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8582:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"attachHydrationErrorState",{enumerable:!0,get:function(){return a}});let n=r(5384),o=r(3655);function a(e){if((0,n.isHydrationError)(e)&&!e.message.includes("https://nextjs.org/docs/messages/react-hydration-error")){let t=(0,o.getReactHydrationDiffSegments)(e.message),r={};t?r={...e.details,...o.hydrationErrorState,warning:o.hydrationErrorState.warning||[(0,n.getDefaultHydrationErrorMessage)()],notes:t[0],reactOutputComponentDiff:t[1]}:o.hydrationErrorState.warning&&(r={...e.details,...o.hydrationErrorState}),e.details=r}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3895:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createUnhandledError:function(){return o},getUnhandledErrorType:function(){return u},isUnhandledConsoleOrRejection:function(){return a}});let r=Symbol.for("next.console.error.digest"),n=Symbol.for("next.console.error.type");function o(e){let t="string"==typeof e?Error(e):e;return t[r]="NEXT_UNHANDLED_ERROR",t[n]="string"==typeof e?"string":"error",t}let a=e=>e&&"NEXT_UNHANDLED_ERROR"===e[r],u=e=>e[n];("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3970:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"enqueueConsecutiveDedupedError",{enumerable:!0,get:function(){return o}});let n=r(5384);function o(e,t){let r=(0,n.isHydrationError)(t),o=r?e[0]:e[e.length-1];o&&o.stack===t.stack||(r?e.unshift(t):e.push(t))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3655:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getHydrationWarningType:function(){return l},getReactHydrationDiffSegments:function(){return d},hydrationErrorState:function(){return o},storeHydrationErrorStateFromConsoleArgs:function(){return p}});let n=r(5384),o={},a=new Set(["Warning: In HTML, %s cannot be a child of <%s>.%s\nThis will cause a hydration error.%s","Warning: In HTML, %s cannot be a descendant of <%s>.\nThis will cause a hydration error.%s","Warning: In HTML, text nodes cannot be a child of <%s>.\nThis will cause a hydration error.","Warning: In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\nThis will cause a hydration error.","Warning: Expected server HTML to contain a matching <%s> in <%s>.%s","Warning: Did not expect server HTML to contain a <%s> in <%s>.%s"]),u=new Set(['Warning: Expected server HTML to contain a matching text node for "%s" in <%s>.%s','Warning: Did not expect server HTML to contain the text node "%s" in <%s>.%s']),l=e=>{if("string"!=typeof e)return"text";let t=e.startsWith("Warning: ")?e:"Warning: "+e;return i(t)?"tag":c(t)?"text-in-tag":"text"},i=e=>a.has(e),s=e=>'Warning: Text content did not match. Server: "%s" Client: "%s"%s'===e,c=e=>u.has(e),f=e=>{if("string"!=typeof e)return!1;let t=e.startsWith("Warning: ")?e:"Warning: "+e;return i(t)||c(t)||s(t)},d=e=>{if(e){let{message:t,diff:r}=(0,n.getHydrationErrorStackInfo)(e);if(t)return[t,r]}};function p(){for(var e=arguments.length,t=Array(e),r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getReactStitchedError",{enumerable:!0,get:function(){return s}});let n=r(306),o=n._(r(2115)),a=n._(r(9762)),u="react-stack-bottom-frame",l=RegExp("(at "+u+" )|("+u+"\\@)"),i=o.default.captureOwnerStack?o.default.captureOwnerStack:()=>"";function s(e){if("function"!=typeof o.default.captureOwnerStack)return e;let t=(0,a.default)(e),r=t&&e.stack||"",n=t?e.message:"",u=r.split("\n"),s=u.findIndex(e=>l.test(e)),c=s>=0?u.slice(0,s).join("\n"):r,f=Error(n);return Object.assign(f,e),f.stack=c,function(e){let t=e.stack||"",r=i();r&&!1===t.endsWith(r)&&(t+=r,e.stack=t)}(f),f}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7712:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleClientError:function(){return _},handleGlobalErrors:function(){return E},useErrorHandler:function(){return v}});let n=r(306),o=r(2115),a=r(8582),u=r(179),l=r(3655),i=r(4300),s=n._(r(9762)),c=r(3895),f=r(3970),d=r(2100),p=globalThis.queueMicrotask||(e=>Promise.resolve().then(e)),h=[],y=[],g=[],b=[];function _(e,t,r){let n;if(void 0===r&&(r=!1),e&&(0,s.default)(e))n=r?(0,c.createUnhandledError)(e):e;else{let e=(0,i.formatConsoleArgs)(t);n=(0,c.createUnhandledError)(e)}for(let e of(n=(0,d.getReactStitchedError)(n),(0,l.storeHydrationErrorStateFromConsoleArgs)(...t),(0,a.attachHydrationErrorState)(n),(0,f.enqueueConsecutiveDedupedError)(h,n),y))p(()=>{e(n)})}function v(e,t){(0,o.useEffect)(()=>(h.forEach(e),g.forEach(t),y.push(e),b.push(t),()=>{y.splice(y.indexOf(e),1),b.splice(b.indexOf(t),1)}),[e,t])}function m(e){if((0,u.isNextRouterError)(e.error))return e.preventDefault(),!1;e.error&&_(e.error,[])}function P(e){let t=null==e?void 0:e.reason;if((0,u.isNextRouterError)(t)){e.preventDefault();return}let r=t;for(let e of(r&&!(0,s.default)(r)&&(r=(0,c.createUnhandledError)(r+"")),g.push(r),b))e(r)}function E(){if("undefined"!=typeof window){try{Error.stackTraceLimit=50}catch(e){}window.addEventListener("error",m),window.addEventListener("unhandledrejection",P)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6501:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RedirectBoundary:function(){return f},RedirectErrorBoundary:function(){return c}});let n=r(9955),o=r(5155),a=n._(r(2115)),u=r(6658),l=r(9100),i=r(7563);function s(e){let{redirect:t,reset:r,redirectType:n}=e,o=(0,u.useRouter)();return(0,a.useEffect)(()=>{a.default.startTransition(()=>{n===i.RedirectType.push?o.push(t,{}):o.replace(t,{}),r()})},[t,n,r,o]),null}class c extends a.default.Component{static getDerivedStateFromError(e){if((0,i.isRedirectError)(e))return{redirect:(0,l.getURLFromRedirectError)(e),redirectType:(0,l.getRedirectTypeFromError)(e)};throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,o.jsx)(s,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}constructor(e){super(e),this.state={redirect:null,redirectType:null}}}function f(e){let{children:t}=e,r=(0,u.useRouter)();return(0,o.jsx)(c,{router:r,children:t})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7563:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{REDIRECT_ERROR_CODE:function(){return o},RedirectType:function(){return a},isRedirectError:function(){return u}});let n=r(7361),o="NEXT_REDIRECT";var a=function(e){return e.push="push",e.replace="replace",e}({});function u(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,a]=t,u=t.slice(2,-2).join(";"),l=Number(t.at(-2));return r===o&&("replace"===a||"push"===a)&&"string"==typeof u&&!isNaN(l)&&l in n.RedirectStatusCode}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7361:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return r}});var r=function(e){return e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9100:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getRedirectError:function(){return u},getRedirectStatusCodeFromError:function(){return f},getRedirectTypeFromError:function(){return c},getURLFromRedirectError:function(){return s},permanentRedirect:function(){return i},redirect:function(){return l}});let n=r(9126),o=r(7361),a=r(7563);function u(e,t,r){void 0===r&&(r=o.RedirectStatusCode.TemporaryRedirect);let n=Error(a.REDIRECT_ERROR_CODE);return n.digest=a.REDIRECT_ERROR_CODE+";"+t+";"+e+";"+r+";",n}function l(e,t){let r=n.actionAsyncStorage.getStore();throw u(e,t||((null==r?void 0:r.isAction)?a.RedirectType.push:a.RedirectType.replace),o.RedirectStatusCode.TemporaryRedirect)}function i(e,t){throw void 0===t&&(t=a.RedirectType.replace),u(e,t,o.RedirectStatusCode.PermanentRedirect)}function s(e){return(0,a.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function c(e){if(!(0,a.isRedirectError)(e))throw Error("Not a redirect error");return e.digest.split(";",2)[1]}function f(e){if(!(0,a.isRedirectError)(e))throw Error("Not a redirect error");return Number(e.digest.split(";").at(-2))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3866:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}});let n=r(9955),o=r(5155),a=n._(r(2115)),u=r(1394);function l(){let e=(0,a.useContext)(u.TemplateContext);return(0,o.jsx)(o.Fragment,{children:e})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2344:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{addSearchParamsToPageSegments:function(){return f},handleAliasedPrefetchEntry:function(){return c}});let n=r(6090),o=r(3423),a=r(1053),u=r(1055),l=r(5404),i=r(8645),s=r(7344);function c(e,t,r,c){let d,p=e.tree,h=e.cache,y=(0,u.createHrefFromUrl)(r);for(let e of t){if(!function e(t){if(!t)return!1;let r=t[2];if(t[3])return!0;for(let t in r)if(e(r[t]))return!0;return!1}(e.seedData))continue;let t=e.tree;t=f(t,Object.fromEntries(r.searchParams));let{seedData:u,isRootRender:s,pathToSegment:c}=e,g=["",...c];t=f(t,Object.fromEntries(r.searchParams));let b=(0,a.applyRouterStatePatchToTree)(g,p,t,y),_=(0,o.createEmptyCacheNode)();if(s&&u){let e=u[1],r=u[3];_.loading=r,_.rsc=e,function e(t,r,o,a){if(0!==Object.keys(o[1]).length)for(let u in o[1]){let i;let s=o[1][u],c=s[0],f=(0,l.createRouterCacheKey)(c),d=null!==a&&void 0!==a[2][u]?a[2][u]:null;if(null!==d){let e=d[1],t=d[3];i={lazyData:null,rsc:c.includes(n.PAGE_SEGMENT_KEY)?null:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:t}}else i={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null};let p=t.parallelRoutes.get(u);p?p.set(f,i):t.parallelRoutes.set(u,new Map([[f,i]])),e(i,r,s,d)}}(_,h,t,u)}else _.rsc=h.rsc,_.prefetchRsc=h.prefetchRsc,_.loading=h.loading,_.parallelRoutes=new Map(h.parallelRoutes),(0,i.fillCacheWithNewSubTreeDataButOnlyLoading)(_,h,e);b&&(p=b,h=_,d=!0)}return!!d&&(c.patchedTree=p,c.cache=h,c.canonicalUrl=y,c.hashFragment=r.hash,(0,s.handleMutable)(e,c))}function f(e,t){let[r,o,...a]=e;if(r.includes(n.PAGE_SEGMENT_KEY))return[(0,n.addSearchParamsIfPageSegment)(r,t),o,...a];let u={};for(let[e,r]of Object.entries(o))u[e]=f(r,t);return[r,u,...a]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},655:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyFlightData",{enumerable:!0,get:function(){return a}});let n=r(223),o=r(8645);function a(e,t,r,a){let{tree:u,seedData:l,head:i,isRootRender:s}=r;if(null===l)return!1;if(s){let r=l[1],o=l[3];t.loading=o,t.rsc=r,t.prefetchRsc=null,(0,n.fillLazyItemsTillLeafWithHead)(t,e,u,l,i,a)}else t.rsc=e.rsc,t.prefetchRsc=e.prefetchRsc,t.parallelRoutes=new Map(e.parallelRoutes),t.loading=e.loading,(0,o.fillCacheWithNewSubTreeData)(t,e,r,a);return!0}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1053:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyRouterStatePatchToTree",{enumerable:!0,get:function(){return function e(t,r,n,i){let s;let[c,f,d,p,h]=r;if(1===t.length){let e=l(r,n);return(0,u.addRefreshMarkerToActiveParallelSegments)(e,i),e}let[y,g]=t;if(!(0,a.matchSegment)(y,c))return null;if(2===t.length)s=l(f[g],n);else if(null===(s=e((0,o.getNextFlightSegmentPath)(t),f[g],n,i)))return null;let b=[t[0],{...f,[g]:s},d,p];return h&&(b[4]=!0),(0,u.addRefreshMarkerToActiveParallelSegments)(b,i),b}}});let n=r(6090),o=r(1648),a=r(4682),u=r(1387);function l(e,t){let[r,o]=e,[u,i]=t;if(u===n.DEFAULT_SEGMENT_KEY&&r!==n.DEFAULT_SEGMENT_KEY)return e;if((0,a.matchSegment)(r,u)){let t={};for(let e in o)void 0!==i[e]?t[e]=l(o[e],i[e]):t[e]=o[e];for(let e in i)t[e]||(t[e]=i[e]);let n=[r,t];return e[2]&&(n[2]=e[2]),e[3]&&(n[3]=e[3]),e[4]&&(n[4]=e[4]),n}return t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8227:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"clearCacheNodeDataForSegmentPath",{enumerable:!0,get:function(){return function e(t,r,a){let u=a.length<=2,[l,i]=a,s=(0,o.createRouterCacheKey)(i),c=r.parallelRoutes.get(l),f=t.parallelRoutes.get(l);f&&f!==c||(f=new Map(c),t.parallelRoutes.set(l,f));let d=null==c?void 0:c.get(s),p=f.get(s);if(u){p&&p.lazyData&&p!==d||f.set(s,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null});return}if(!p||!d){p||f.set(s,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null});return}return p===d&&(p={lazyData:p.lazyData,rsc:p.rsc,prefetchRsc:p.prefetchRsc,head:p.head,prefetchHead:p.prefetchHead,parallelRoutes:new Map(p.parallelRoutes),loading:p.loading},f.set(s,p)),e(p,d,(0,n.getNextFlightSegmentPath)(a))}}});let n=r(1648),o=r(5404);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},845:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{computeChangedPath:function(){return c},extractPathFromFlightRouterState:function(){return s},getSelectedParams:function(){return function e(t,r){for(let n of(void 0===r&&(r={}),Object.values(t[1]))){let t=n[0],a=Array.isArray(t),u=a?t[1]:t;!u||u.startsWith(o.PAGE_SEGMENT_KEY)||(a&&("c"===t[2]||"oc"===t[2])?r[t[0]]=t[1].split("/"):a&&(r[t[0]]=t[1]),r=e(n,r))}return r}}});let n=r(8456),o=r(6090),a=r(4682),u=e=>"/"===e[0]?e.slice(1):e,l=e=>"string"==typeof e?"children"===e?"":e:e[1];function i(e){return e.reduce((e,t)=>""===(t=u(t))||(0,o.isGroupSegment)(t)?e:e+"/"+t,"")||"/"}function s(e){var t;let r=Array.isArray(e[0])?e[0][1]:e[0];if(r===o.DEFAULT_SEGMENT_KEY||n.INTERCEPTION_ROUTE_MARKERS.some(e=>r.startsWith(e)))return;if(r.startsWith(o.PAGE_SEGMENT_KEY))return"";let a=[l(r)],u=null!=(t=e[1])?t:{},c=u.children?s(u.children):void 0;if(void 0!==c)a.push(c);else for(let[e,t]of Object.entries(u)){if("children"===e)continue;let r=s(t);void 0!==r&&a.push(r)}return i(a)}function c(e,t){let r=function e(t,r){let[o,u]=t,[i,c]=r,f=l(o),d=l(i);if(n.INTERCEPTION_ROUTE_MARKERS.some(e=>f.startsWith(e)||d.startsWith(e)))return"";if(!(0,a.matchSegment)(o,i)){var p;return null!=(p=s(r))?p:""}for(let t in u)if(c[t]){let r=e(u[t],c[t]);if(null!==r)return l(i)+"/"+r}return null}(e,t);return null==r||"/"===r?r:i(r.split("/"))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1055:(e,t)=>{"use strict";function r(e,t){return void 0===t&&(t=!0),e.pathname+e.search+(t?e.hash:"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createHrefFromUrl",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1386:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createInitialRouterState",{enumerable:!0,get:function(){return c}});let n=r(1055),o=r(223),a=r(845),u=r(1893),l=r(4445),i=r(1387),s=r(1648);function c(e){var t,r;let{initialFlightData:c,initialCanonicalUrlParts:f,initialParallelRoutes:d,location:p,couldBeIntercepted:h,postponed:y,prerendered:g}=e,b=f.join("/"),_=(0,s.getFlightDataPartsFromPath)(c[0]),{tree:v,seedData:m,head:P}=_,E=!p,O=null==m?void 0:m[1],R=null!=(t=null==m?void 0:m[3])?t:null,S={lazyData:null,rsc:O,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:E?new Map:d,loading:R},j=p?(0,n.createHrefFromUrl)(p):b;(0,i.addRefreshMarkerToActiveParallelSegments)(v,j);let w=new Map;(null===d||0===d.size)&&(0,o.fillLazyItemsTillLeafWithHead)(S,void 0,v,m,P);let T={tree:v,cache:S,prefetchCache:w,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:{apply:!1,onlyHashChange:!1,hashFragment:null,segmentPaths:[]},canonicalUrl:j,nextUrl:null!=(r=(0,a.extractPathFromFlightRouterState)(v)||(null==p?void 0:p.pathname))?r:null};if(p){let e=new URL(""+p.pathname+p.search,p.origin);(0,u.createSeededPrefetchCacheEntry)({url:e,data:{flightData:[_],canonicalUrl:void 0,couldBeIntercepted:!!h,prerendered:g,postponed:y,staleTime:-1},tree:T.tree,prefetchCache:T.prefetchCache,nextUrl:T.nextUrl,kind:g?l.PrefetchKind.FULL:l.PrefetchKind.AUTO})}return T}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5404:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRouterCacheKey",{enumerable:!0,get:function(){return o}});let n=r(6090);function o(e,t){return(void 0===t&&(t=!1),Array.isArray(e))?e[0]+"|"+e[1]+"|"+e[2]:t&&e.startsWith(n.PAGE_SEGMENT_KEY)?n.PAGE_SEGMENT_KEY:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4091:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createFetch:function(){return h},createFromNextReadableStream:function(){return y},fetchServerResponse:function(){return p},urlToUrlWithoutFlightMarker:function(){return f}});let n=r(2836),o=r(9603),a=r(3355),u=r(4445),l=r(1233),i=r(1648),s=r(8127),{createFromReadableStream:c}=r(4979);function f(e){let t=new URL(e,location.origin);if(t.searchParams.delete(n.NEXT_RSC_UNION_QUERY),t.pathname.endsWith(".txt")){let{pathname:e}=t,r=e.endsWith("/index.txt")?10:4;t.pathname=e.slice(0,-r)}return t}function d(e){return{flightData:f(e).toString(),canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1}}async function p(e,t){let{flightRouterState:r,nextUrl:o,prefetchKind:a}=t,l={[n.RSC_HEADER]:"1",[n.NEXT_ROUTER_STATE_TREE_HEADER]:encodeURIComponent(JSON.stringify(r))};a===u.PrefetchKind.AUTO&&(l[n.NEXT_ROUTER_PREFETCH_HEADER]="1"),o&&(l[n.NEXT_URL]=o);try{var c;let t=a?a===u.PrefetchKind.TEMPORARY?"high":"low":"auto",r=await h(e,l,t),o=f(r.url),p=r.redirected?o:void 0,g=r.headers.get("content-type")||"",b=!!(null==(c=r.headers.get("vary"))?void 0:c.includes(n.NEXT_URL)),_=!!r.headers.get(n.NEXT_DID_POSTPONE_HEADER),v=r.headers.get(n.NEXT_ROUTER_STALE_TIME_HEADER),m=null!==v?parseInt(v,10):-1,P=g.startsWith(n.RSC_CONTENT_TYPE_HEADER);if(P||(P=g.startsWith("text/plain")),!P||!r.ok||!r.body)return e.hash&&(o.hash=e.hash),d(o.toString());let E=_?function(e){let t=e.getReader();return new ReadableStream({async pull(e){for(;;){let{done:r,value:n}=await t.read();if(!r){e.enqueue(n);continue}return}}})}(r.body):r.body,O=await y(E);if((0,s.getAppBuildId)()!==O.b)return d(r.url);return{flightData:(0,i.normalizeFlightData)(O.f),canonicalUrl:p,couldBeIntercepted:b,prerendered:O.S,postponed:_,staleTime:m}}catch(t){return console.error("Failed to fetch RSC payload for "+e+". Falling back to browser navigation.",t),{flightData:e.toString(),canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1}}}function h(e,t,r){let o=new URL(e);o.pathname.endsWith("/")?o.pathname+="index.txt":o.pathname+=".txt";let a=(0,l.hexHash)([t[n.NEXT_ROUTER_PREFETCH_HEADER]||"0",t[n.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]||"0",t[n.NEXT_ROUTER_STATE_TREE_HEADER],t[n.NEXT_URL]].join(","));return o.searchParams.set(n.NEXT_RSC_UNION_QUERY,a),fetch(o,{credentials:"same-origin",headers:t,priority:r||void 0})}function y(e){return c(e,{callServer:o.callServer,findSourceMapURL:a.findSourceMapURL})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8645:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{fillCacheWithNewSubTreeData:function(){return i},fillCacheWithNewSubTreeDataButOnlyLoading:function(){return s}});let n=r(7663),o=r(223),a=r(5404),u=r(6090);function l(e,t,r,l,i){let{segmentPath:s,seedData:c,tree:f,head:d}=r,p=e,h=t;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillLazyItemsTillLeafWithHead",{enumerable:!0,get:function(){return function e(t,r,a,u,l,i){if(0===Object.keys(a[1]).length){t.head=l;return}for(let s in a[1]){let c;let f=a[1][s],d=f[0],p=(0,n.createRouterCacheKey)(d),h=null!==u&&void 0!==u[2][s]?u[2][s]:null;if(r){let n=r.parallelRoutes.get(s);if(n){let r;let a=(null==i?void 0:i.kind)==="auto"&&i.status===o.PrefetchCacheEntryStatus.reusable,u=new Map(n),c=u.get(p);r=null!==h?{lazyData:null,rsc:h[1],prefetchRsc:null,head:null,prefetchHead:null,loading:h[3],parallelRoutes:new Map(null==c?void 0:c.parallelRoutes)}:a&&c?{lazyData:c.lazyData,rsc:c.rsc,prefetchRsc:c.prefetchRsc,head:c.head,prefetchHead:c.prefetchHead,parallelRoutes:new Map(c.parallelRoutes),loading:c.loading}:{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map(null==c?void 0:c.parallelRoutes),loading:null},u.set(p,r),e(r,c,f,h||null,l,i),t.parallelRoutes.set(s,u);continue}}if(null!==h){let e=h[1],t=h[3];c={lazyData:null,rsc:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:t}}else c={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null};let y=t.parallelRoutes.get(s);y?y.set(p,c):t.parallelRoutes.set(s,new Map([[p,c]])),e(c,void 0,f,h,l,i)}}}});let n=r(5404),o=r(4445);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7344:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleMutable",{enumerable:!0,get:function(){return a}});let n=r(845);function o(e){return void 0!==e}function a(e,t){var r,a;let u=null==(r=t.shouldScroll)||r,l=e.nextUrl;if(o(t.patchedTree)){let r=(0,n.computeChangedPath)(e.tree,t.patchedTree);r?l=r:l||(l=e.canonicalUrl)}return{canonicalUrl:o(t.canonicalUrl)?t.canonicalUrl===e.canonicalUrl?e.canonicalUrl:t.canonicalUrl:e.canonicalUrl,pushRef:{pendingPush:o(t.pendingPush)?t.pendingPush:e.pushRef.pendingPush,mpaNavigation:o(t.mpaNavigation)?t.mpaNavigation:e.pushRef.mpaNavigation,preserveCustomHistoryState:o(t.preserveCustomHistoryState)?t.preserveCustomHistoryState:e.pushRef.preserveCustomHistoryState},focusAndScrollRef:{apply:!!u&&(!!o(null==t?void 0:t.scrollableSegments)||e.focusAndScrollRef.apply),onlyHashChange:t.onlyHashChange||!1,hashFragment:u?t.hashFragment&&""!==t.hashFragment?decodeURIComponent(t.hashFragment.slice(1)):e.focusAndScrollRef.hashFragment:null,segmentPaths:u?null!=(a=null==t?void 0:t.scrollableSegments)?a:e.focusAndScrollRef.segmentPaths:[]},cache:t.cache?t.cache:e.cache,prefetchCache:t.prefetchCache?t.prefetchCache:e.prefetchCache,tree:o(t.patchedTree)?t.patchedTree:e.tree,nextUrl:l}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9786:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSegmentMismatch",{enumerable:!0,get:function(){return o}});let n=r(2603);function o(e,t,r){return(0,n.handleExternalUrl)(e,{},e.canonicalUrl,!0)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5411:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheBelowFlightSegmentPath",{enumerable:!0,get:function(){return function e(t,r,a){let u=a.length<=2,[l,i]=a,s=(0,n.createRouterCacheKey)(i),c=r.parallelRoutes.get(l);if(!c)return;let f=t.parallelRoutes.get(l);if(f&&f!==c||(f=new Map(c),t.parallelRoutes.set(l,f)),u){f.delete(s);return}let d=c.get(s),p=f.get(s);p&&d&&(p===d&&(p={lazyData:p.lazyData,rsc:p.rsc,prefetchRsc:p.prefetchRsc,head:p.head,prefetchHead:p.prefetchHead,parallelRoutes:new Map(p.parallelRoutes)},f.set(s,p)),e(p,d,(0,o.getNextFlightSegmentPath)(a)))}}});let n=r(5404),o=r(1648);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7663:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheByRouterState",{enumerable:!0,get:function(){return o}});let n=r(5404);function o(e,t,r){for(let o in r[1]){let a=r[1][o][0],u=(0,n.createRouterCacheKey)(a),l=t.parallelRoutes.get(o);if(l){let t=new Map(l);t.delete(u),e.parallelRoutes.set(o,t)}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6449:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNavigatingToNewRootLayout",{enumerable:!0,get:function(){return function e(t,r){let n=t[0],o=r[0];if(Array.isArray(n)&&Array.isArray(o)){if(n[0]!==o[0]||n[2]!==o[2])return!0}else if(n!==o)return!0;if(t[4])return!r[4];if(r[4])return!0;let a=Object.values(t[1])[0],u=Object.values(r[1])[0];return!a||!u||e(a,u)}}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3223:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{abortTask:function(){return s},listenForDynamicRequest:function(){return i},updateCacheNodeOnNavigation:function(){return function e(t,r,l,i,s,c){let f=r[1],d=l[1],p=null!==i?i[2]:null,h=t.parallelRoutes,y=new Map(h),g={},b=null,_=!1;for(let t in d){let r;let l=d[t],i=f[t],v=h.get(t),m=null!==p?p[t]:null,P=l[0],E=(0,a.createRouterCacheKey)(P),O=void 0!==i?i[0]:void 0,R=void 0!==v?v.get(E):void 0;if(null!==(r=P===n.DEFAULT_SEGMENT_KEY?void 0!==i?{route:i,node:null,needsDynamicRequest:!1,children:null}:u(l,void 0!==m?m:null,s,c):void 0!==O&&(0,o.matchSegment)(P,O)&&void 0!==R&&void 0!==i?e(R,i,l,m,s,c):u(l,void 0!==m?m:null,s,c))){null===b&&(b=new Map),b.set(t,r);let e=r.node;if(null!==e){let r=new Map(v);r.set(E,e),y.set(t,r)}r.needsDynamicRequest&&(_=!0),g[t]=r.route}else g[t]=l}if(null===b)return null;let v={lazyData:null,rsc:t.rsc,prefetchRsc:t.prefetchRsc,head:t.head,prefetchHead:t.prefetchHead,loading:t.loading,parallelRoutes:y};return{route:function(e,t){let r=[e[0],t];return 2 in e&&(r[2]=e[2]),3 in e&&(r[3]=e[3]),4 in e&&(r[4]=e[4]),r}(l,g),node:v,needsDynamicRequest:_,children:b}}},updateCacheNodeOnPopstateRestoration:function(){return function e(t,r){let n=r[1],o=t.parallelRoutes,u=new Map(o);for(let t in n){let r=n[t],l=r[0],i=(0,a.createRouterCacheKey)(l),s=o.get(t);if(void 0!==s){let n=s.get(i);if(void 0!==n){let o=e(n,r),a=new Map(s);a.set(i,o),u.set(t,a)}}}let l=t.rsc,i=d(l)&&"pending"===l.status;return{lazyData:null,rsc:l,head:t.head,prefetchHead:i?t.prefetchHead:null,prefetchRsc:i?t.prefetchRsc:null,loading:t.loading,parallelRoutes:u}}}});let n=r(6090),o=r(4682),a=r(5404);function u(e,t,r,n){if(null===t)return l(e,null,r,n);let o=e[1],i=t[4],s=0===Object.keys(o).length;if(i||n&&s)return l(e,t,r,n);let c=t[2],f=new Map,d=new Map,p=!1;for(let e in o){let t=o[e],l=null!==c?c[e]:null,i=t[0],s=(0,a.createRouterCacheKey)(i),h=u(t,l,r,n);f.set(e,h),h.needsDynamicRequest&&(p=!0);let y=h.node;if(null!==y){let t=new Map;t.set(s,y),d.set(e,t)}}return{route:e,node:{lazyData:null,rsc:t[1],prefetchRsc:null,head:s?r:null,prefetchHead:null,loading:t[3],parallelRoutes:d},needsDynamicRequest:p,children:f}}function l(e,t,r,n){return{route:e,node:function e(t,r,n,o){let u=t[1],l=null!==r?r[2]:null,i=new Map;for(let t in u){let r=u[t],s=null!==l?l[t]:null,c=r[0],f=(0,a.createRouterCacheKey)(c),d=e(r,void 0===s?null:s,n,o),p=new Map;p.set(f,d),i.set(t,p)}let s=0===i.size,c=null!==r?r[1]:null,f=null!==r?r[3]:null;return{lazyData:null,parallelRoutes:i,prefetchRsc:void 0!==c?c:null,prefetchHead:s?n:null,loading:void 0!==f?f:null,rsc:p(),head:s?p():null}}(e,t,r,n),needsDynamicRequest:!0,children:null}}function i(e,t){t.then(t=>{let{flightData:r}=t;if("string"!=typeof r){for(let t of r){let{segmentPath:r,tree:n,seedData:u,head:l}=t;u&&function(e,t,r,n,u){let l=e;for(let e=0;e{s(e,t)})}function s(e,t){let r=e.node;if(null===r)return;let n=e.children;if(null===n)c(e.route,r,t);else for(let e of n.values())s(e,t);e.needsDynamicRequest=!1}function c(e,t,r){let n=e[1],o=t.parallelRoutes;for(let e in n){let t=n[e],u=o.get(e);if(void 0===u)continue;let l=t[0],i=(0,a.createRouterCacheKey)(l),s=u.get(i);void 0!==s&&c(t,s,r)}let u=t.rsc;d(u)&&(null===r?u.resolve(null):u.reject(r));let l=t.head;d(l)&&l.resolve(null)}let f=Symbol();function d(e){return e&&e.tag===f}function p(){let e,t;let r=new Promise((r,n)=>{e=r,t=n});return r.status="pending",r.resolve=t=>{"pending"===r.status&&(r.status="fulfilled",r.value=t,e(t))},r.reject=e=>{"pending"===r.status&&(r.status="rejected",r.reason=e,t(e))},r.tag=f,r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1893:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createSeededPrefetchCacheEntry:function(){return s},getOrCreatePrefetchCacheEntry:function(){return i},prunePrefetchCache:function(){return f}});let n=r(4091),o=r(4445),a=r(8455);function u(e,t,r){let n=e.pathname;return(t&&(n+=e.search),r)?""+r+"%"+n:n}function l(e,t,r){return u(e,t===o.PrefetchKind.FULL,r)}function i(e){let{url:t,nextUrl:r,tree:n,prefetchCache:a,kind:l,allowAliasing:i=!0}=e,s=function(e,t,r,n,a){for(let l of(void 0===t&&(t=o.PrefetchKind.TEMPORARY),[r,null])){let r=u(e,!0,l),i=u(e,!1,l),s=e.search?r:i,c=n.get(s);if(c&&a){if(c.url.pathname===e.pathname&&c.url.search!==e.search)return{...c,aliased:!0};return c}let f=n.get(i);if(a&&e.search&&t!==o.PrefetchKind.FULL&&f&&!f.key.includes("%"))return{...f,aliased:!0}}if(t!==o.PrefetchKind.FULL&&a){for(let t of n.values())if(t.url.pathname===e.pathname&&!t.key.includes("%"))return{...t,aliased:!0}}}(t,l,r,a,i);return s?(s.status=h(s),s.kind!==o.PrefetchKind.FULL&&l===o.PrefetchKind.FULL&&s.data.then(e=>{if(!(Array.isArray(e.flightData)&&e.flightData.some(e=>e.isRootRender&&null!==e.seedData)))return c({tree:n,url:t,nextUrl:r,prefetchCache:a,kind:null!=l?l:o.PrefetchKind.TEMPORARY})}),l&&s.kind===o.PrefetchKind.TEMPORARY&&(s.kind=l),s):c({tree:n,url:t,nextUrl:r,prefetchCache:a,kind:l||o.PrefetchKind.TEMPORARY})}function s(e){let{nextUrl:t,tree:r,prefetchCache:n,url:a,data:u,kind:i}=e,s=u.couldBeIntercepted?l(a,i,t):l(a,i),c={treeAtTimeOfPrefetch:r,data:Promise.resolve(u),kind:i,prefetchTime:Date.now(),lastUsedTime:Date.now(),staleTime:-1,key:s,status:o.PrefetchCacheEntryStatus.fresh,url:a};return n.set(s,c),c}function c(e){let{url:t,kind:r,tree:u,nextUrl:i,prefetchCache:s}=e,c=l(t,r),f=a.prefetchQueue.enqueue(()=>(0,n.fetchServerResponse)(t,{flightRouterState:u,nextUrl:i,prefetchKind:r}).then(e=>{let r;if(e.couldBeIntercepted&&(r=function(e){let{url:t,nextUrl:r,prefetchCache:n,existingCacheKey:o}=e,a=n.get(o);if(!a)return;let u=l(t,a.kind,r);return n.set(u,{...a,key:u}),n.delete(o),u}({url:t,existingCacheKey:c,nextUrl:i,prefetchCache:s})),e.prerendered){let t=s.get(null!=r?r:c);t&&(t.kind=o.PrefetchKind.FULL,-1!==e.staleTime&&(t.staleTime=e.staleTime))}return e})),d={treeAtTimeOfPrefetch:u,data:f,kind:r,prefetchTime:Date.now(),lastUsedTime:null,staleTime:-1,key:c,status:o.PrefetchCacheEntryStatus.fresh,url:t};return s.set(c,d),d}function f(e){for(let[t,r]of e)h(r)===o.PrefetchCacheEntryStatus.expired&&e.delete(t)}let d=1e3*Number("0"),p=1e3*Number("300");function h(e){let{kind:t,prefetchTime:r,lastUsedTime:n,staleTime:a}=e;return -1!==a?Date.now(){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findHeadInCache",{enumerable:!0,get:function(){return o}});let n=r(5404);function o(e,t){return function e(t,r,o){if(0===Object.keys(r).length)return[t,o];for(let a in r){let[u,l]=r[a],i=t.parallelRoutes.get(a);if(!i)continue;let s=(0,n.createRouterCacheKey)(u),c=i.get(s);if(!c)continue;let f=e(c,l,o+"/"+s);if(f)return f}return null}(e,t,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4183:(e,t)=>{"use strict";function r(e){return Array.isArray(e)?e[1]:e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentValue",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},941:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasInterceptionRouteInCurrentTree",{enumerable:!0,get:function(){return function e(t){let[r,o]=t;if(Array.isArray(r)&&("di"===r[2]||"ci"===r[2])||"string"==typeof r&&(0,n.isInterceptionRouteAppPath)(r))return!0;if(o){for(let t in o)if(e(o[t]))return!0}return!1}}});let n=r(8456);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7359:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hmrRefreshReducer",{enumerable:!0,get:function(){return n}}),r(4091),r(1055),r(1053),r(6449),r(2603),r(7344),r(655),r(3423),r(9786),r(941);let n=function(e,t){return e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2603:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleExternalUrl:function(){return v},navigateReducer:function(){return function e(t,r){let{url:P,isExternalUrl:E,navigateType:O,shouldScroll:R,allowAliasing:S}=r,j={},{hash:w}=P,T=(0,o.createHrefFromUrl)(P),M="push"===O;if((0,g.prunePrefetchCache)(t.prefetchCache),j.preserveCustomHistoryState=!1,j.pendingPush=M,E)return v(t,j,P.toString(),M);if(document.getElementById("__next-page-redirect"))return v(t,j,T,M);let x=(0,g.getOrCreatePrefetchCacheEntry)({url:P,nextUrl:t.nextUrl,tree:t.tree,prefetchCache:t.prefetchCache,allowAliasing:S}),{treeAtTimeOfPrefetch:A,data:C}=x;return d.prefetchQueue.bump(C),C.then(d=>{let{flightData:g,canonicalUrl:E,postponed:O}=d,S=!1;if(x.lastUsedTime||(x.lastUsedTime=Date.now(),S=!0),"string"==typeof g)return v(t,j,g,M);let C=E?(0,o.createHrefFromUrl)(E):T;if(w&&t.canonicalUrl.split("#",1)[0]===C.split("#",1)[0])return j.onlyHashChange=!0,j.canonicalUrl=C,j.shouldScroll=R,j.hashFragment=w,j.scrollableSegments=[],(0,c.handleMutable)(t,j);if(x.aliased){let n=(0,_.handleAliasedPrefetchEntry)(t,g,P,j);return!1===n?e(t,{...r,allowAliasing:!1}):n}let k=t.tree,D=t.cache,N=[];for(let e of g){let{pathToSegment:r,seedData:o,head:c,isHeadPartial:d,isRootRender:g}=e,_=e.tree,E=["",...r],R=(0,u.applyRouterStatePatchToTree)(E,k,_,T);if(null===R&&(R=(0,u.applyRouterStatePatchToTree)(E,A,_,T)),null!==R){if((0,i.isNavigatingToNewRootLayout)(k,R))return v(t,j,T,M);if(o&&g&&O){let e=(0,y.updateCacheNodeOnNavigation)(D,k,_,o,c,d);if(null!==e){R=e.route;let r=e.node;if(null!==r&&(j.cache=r),e.needsDynamicRequest){let r=(0,n.fetchServerResponse)(P,{flightRouterState:k,nextUrl:t.nextUrl});(0,y.listenForDynamicRequest)(e,r)}}else R=_}else{let t=(0,p.createEmptyCacheNode)(),n=!1;x.status!==s.PrefetchCacheEntryStatus.stale||S?n=(0,f.applyFlightData)(D,t,e,x):(n=function(e,t,r,n){let o=!1;for(let a of(e.rsc=t.rsc,e.prefetchRsc=t.prefetchRsc,e.loading=t.loading,e.parallelRoutes=new Map(t.parallelRoutes),m(n).map(e=>[...r,...e])))(0,b.clearCacheNodeDataForSegmentPath)(e,t,a),o=!0;return o}(t,D,r,_),x.lastUsedTime=Date.now()),(0,l.shouldHardNavigate)(E,k)?(t.rsc=D.rsc,t.prefetchRsc=D.prefetchRsc,(0,a.invalidateCacheBelowFlightSegmentPath)(t,D,r),j.cache=t):n&&(j.cache=t,D=t)}for(let e of(k=R,m(_))){let t=[...r,...e];t[t.length-1]!==h.DEFAULT_SEGMENT_KEY&&N.push(t)}}}return j.patchedTree=k,j.canonicalUrl=C,j.scrollableSegments=N,j.hashFragment=w,j.shouldScroll=R,(0,c.handleMutable)(t,j)},()=>t)}}});let n=r(4091),o=r(1055),a=r(5411),u=r(1053),l=r(8500),i=r(6449),s=r(4445),c=r(7344),f=r(655),d=r(8455),p=r(3423),h=r(6090),y=r(3223),g=r(1893),b=r(8227),_=r(2344);function v(e,t,r,n){return t.mpaNavigation=!0,t.canonicalUrl=r,t.pendingPush=n,t.scrollableSegments=void 0,(0,c.handleMutable)(e,t)}function m(e){let t=[],[r,n]=e;if(0===Object.keys(n).length)return[[r]];for(let[e,o]of Object.entries(n))for(let n of m(o))""===r?t.push([e,...n]):t.push([r,e,...n]);return t}r(5245),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8455:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{prefetchQueue:function(){return a},prefetchReducer:function(){return u}});let n=r(7891),o=r(1893),a=new n.PromiseQueue(5),u=function(e,t){(0,o.prunePrefetchCache)(e.prefetchCache);let{url:r}=t;return(0,o.getOrCreatePrefetchCacheEntry)({url:r,nextUrl:e.nextUrl,prefetchCache:e.prefetchCache,kind:t.kind,tree:e.tree,allowAliasing:!0}),e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5025:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"refreshReducer",{enumerable:!0,get:function(){return h}});let n=r(4091),o=r(1055),a=r(1053),u=r(6449),l=r(2603),i=r(7344),s=r(223),c=r(3423),f=r(9786),d=r(941),p=r(1387);function h(e,t){let{origin:r}=t,h={},y=e.canonicalUrl,g=e.tree;h.preserveCustomHistoryState=!1;let b=(0,c.createEmptyCacheNode)(),_=(0,d.hasInterceptionRouteInCurrentTree)(e.tree);return b.lazyData=(0,n.fetchServerResponse)(new URL(y,r),{flightRouterState:[g[0],g[1],g[2],"refetch"],nextUrl:_?e.nextUrl:null}),b.lazyData.then(async r=>{let{flightData:n,canonicalUrl:c}=r;if("string"==typeof n)return(0,l.handleExternalUrl)(e,h,n,e.pushRef.pendingPush);for(let r of(b.lazyData=null,n)){let{tree:n,seedData:i,head:d,isRootRender:v}=r;if(!v)return console.log("REFRESH FAILED"),e;let m=(0,a.applyRouterStatePatchToTree)([""],g,n,e.canonicalUrl);if(null===m)return(0,f.handleSegmentMismatch)(e,t,n);if((0,u.isNavigatingToNewRootLayout)(g,m))return(0,l.handleExternalUrl)(e,h,y,e.pushRef.pendingPush);let P=c?(0,o.createHrefFromUrl)(c):void 0;if(c&&(h.canonicalUrl=P),null!==i){let e=i[1],t=i[3];b.rsc=e,b.prefetchRsc=null,b.loading=t,(0,s.fillLazyItemsTillLeafWithHead)(b,void 0,n,i,d),h.prefetchCache=new Map}await (0,p.refreshInactiveParallelSegments)({state:e,updatedTree:m,updatedCache:b,includeNextUrl:_,canonicalUrl:h.canonicalUrl||e.canonicalUrl}),h.cache=b,h.patchedTree=m,g=m}return(0,i.handleMutable)(e,h)},()=>e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1752:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"restoreReducer",{enumerable:!0,get:function(){return a}});let n=r(1055),o=r(845);function a(e,t){var r;let{url:a,tree:u}=t,l=(0,n.createHrefFromUrl)(a),i=u||e.tree,s=e.cache;return{canonicalUrl:l,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:e.focusAndScrollRef,cache:s,prefetchCache:e.prefetchCache,tree:i,nextUrl:null!=(r=(0,o.extractPathFromFlightRouterState)(i))?r:a.pathname}}r(3223),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8514:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverActionReducer",{enumerable:!0,get:function(){return M}});let n=r(9603),o=r(3355),a=r(2836),u=r(4445),l=r(630),i=r(1055),s=r(2603),c=r(1053),f=r(6449),d=r(7344),p=r(223),h=r(3423),y=r(941),g=r(9786),b=r(1387),_=r(1648),v=r(9100),m=r(7563),P=r(1893),E=r(1129),O=r(6003),R=r(725),{createFromFetch:S,createTemporaryReferenceSet:j,encodeReply:w}=r(4979);async function T(e,t,r){let u,i,{actionId:s,actionArgs:c}=r,f=j(),d=(0,R.extractInfoFromServerReferenceId)(s),p="use-cache"===d.type?(0,R.omitUnusedArgs)(c,d):c,h=await w(p,{temporaryReferences:f}),y=await fetch("",{method:"POST",headers:{Accept:a.RSC_CONTENT_TYPE_HEADER,[a.ACTION_HEADER]:s,[a.NEXT_ROUTER_STATE_TREE_HEADER]:encodeURIComponent(JSON.stringify(e.tree)),...t?{[a.NEXT_URL]:t}:{}},body:h}),g=y.headers.get("x-action-redirect"),[b,v]=(null==g?void 0:g.split(";"))||[];switch(v){case"push":u=m.RedirectType.push;break;case"replace":u=m.RedirectType.replace;break;default:u=void 0}let P=!!y.headers.get(a.NEXT_IS_PRERENDER_HEADER);try{let e=JSON.parse(y.headers.get("x-action-revalidated")||"[[],0,0]");i={paths:e[0]||[],tag:!!e[1],cookie:e[2]}}catch(e){i={paths:[],tag:!1,cookie:!1}}let E=b?(0,l.assignLocation)(b,new URL(e.canonicalUrl,window.location.href)):void 0,O=y.headers.get("content-type");if(null==O?void 0:O.startsWith(a.RSC_CONTENT_TYPE_HEADER)){let e=await S(Promise.resolve(y),{callServer:n.callServer,findSourceMapURL:o.findSourceMapURL,temporaryReferences:f});return b?{actionFlightData:(0,_.normalizeFlightData)(e.f),redirectLocation:E,redirectType:u,revalidatedParts:i,isPrerender:P}:{actionResult:e.a,actionFlightData:(0,_.normalizeFlightData)(e.f),redirectLocation:E,redirectType:u,revalidatedParts:i,isPrerender:P}}if(y.status>=400)throw Error("text/plain"===O?await y.text():"An unexpected response was received from the server.");return{redirectLocation:E,redirectType:u,revalidatedParts:i,isPrerender:P}}function M(e,t){let{resolve:r,reject:n}=t,o={},a=e.tree;o.preserveCustomHistoryState=!1;let l=e.nextUrl&&(0,y.hasInterceptionRouteInCurrentTree)(e.tree)?e.nextUrl:null;return T(e,l,t).then(async y=>{let _,{actionResult:R,actionFlightData:S,redirectLocation:j,redirectType:w,isPrerender:T,revalidatedParts:M}=y;if(j&&(w===m.RedirectType.replace?(e.pushRef.pendingPush=!1,o.pendingPush=!1):(e.pushRef.pendingPush=!0,o.pendingPush=!0),_=(0,i.createHrefFromUrl)(j,!1),o.canonicalUrl=_),!S)return(r(R),j)?(0,s.handleExternalUrl)(e,o,j.href,e.pushRef.pendingPush):e;if("string"==typeof S)return r(R),(0,s.handleExternalUrl)(e,o,S,e.pushRef.pendingPush);let x=M.paths.length>0||M.tag||M.cookie;for(let n of S){let{tree:u,seedData:i,head:d,isRootRender:y}=n;if(!y)return console.log("SERVER ACTION APPLY FAILED"),r(R),e;let v=(0,c.applyRouterStatePatchToTree)([""],a,u,_||e.canonicalUrl);if(null===v)return r(R),(0,g.handleSegmentMismatch)(e,t,u);if((0,f.isNavigatingToNewRootLayout)(a,v))return r(R),(0,s.handleExternalUrl)(e,o,_||e.canonicalUrl,e.pushRef.pendingPush);if(null!==i){let t=i[1],r=(0,h.createEmptyCacheNode)();r.rsc=t,r.prefetchRsc=null,r.loading=i[3],(0,p.fillLazyItemsTillLeafWithHead)(r,void 0,u,i,d),o.cache=r,o.prefetchCache=new Map,x&&await (0,b.refreshInactiveParallelSegments)({state:e,updatedTree:v,updatedCache:r,includeNextUrl:!!l,canonicalUrl:o.canonicalUrl||e.canonicalUrl})}o.patchedTree=v,a=v}return j&&_?(x||((0,P.createSeededPrefetchCacheEntry)({url:j,data:{flightData:S,canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1},tree:e.tree,prefetchCache:e.prefetchCache,nextUrl:e.nextUrl,kind:T?u.PrefetchKind.FULL:u.PrefetchKind.AUTO}),o.prefetchCache=e.prefetchCache),n((0,v.getRedirectError)((0,O.hasBasePath)(_)?(0,E.removeBasePath)(_):_,w||m.RedirectType.push))):r(R),(0,d.handleMutable)(e,o)},t=>(n(t),e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6976:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverPatchReducer",{enumerable:!0,get:function(){return c}});let n=r(1055),o=r(1053),a=r(6449),u=r(2603),l=r(655),i=r(7344),s=r(3423);function c(e,t){let{serverResponse:{flightData:r,canonicalUrl:c}}=t,f={};if(f.preserveCustomHistoryState=!1,"string"==typeof r)return(0,u.handleExternalUrl)(e,f,r,e.pushRef.pendingPush);let d=e.tree,p=e.cache;for(let t of r){let{segmentPath:r,tree:i}=t,h=(0,o.applyRouterStatePatchToTree)(["",...r],d,i,e.canonicalUrl);if(null===h)return e;if((0,a.isNavigatingToNewRootLayout)(d,h))return(0,u.handleExternalUrl)(e,f,e.canonicalUrl,e.pushRef.pendingPush);let y=c?(0,n.createHrefFromUrl)(c):void 0;y&&(f.canonicalUrl=y);let g=(0,s.createEmptyCacheNode)();(0,l.applyFlightData)(p,g,t),f.patchedTree=h,f.cache=g,p=g,d=h}return(0,i.handleMutable)(e,f)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},725:(e,t)=>{"use strict";function r(e){let t=parseInt(e.slice(0,2),16),r=t>>1&63,n=Array(6);for(let e=0;e<6;e++){let t=r>>5-e&1;n[e]=1===t}return{type:1==(t>>7&1)?"use-cache":"server-action",usedArgs:n,hasRestArgs:1==(1&t)}}function n(e,t){let r=Array(e.length);for(let n=0;n=6&&t.hasRestArgs)&&(r[n]=e[n]);return r}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{extractInfoFromServerReferenceId:function(){return r},omitUnusedArgs:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1387:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{addRefreshMarkerToActiveParallelSegments:function(){return function e(t,r){let[n,o,,u]=t;for(let l in n.includes(a.PAGE_SEGMENT_KEY)&&"refresh"!==u&&(t[2]=r,t[3]="refresh"),o)e(o[l],r)}},refreshInactiveParallelSegments:function(){return u}});let n=r(655),o=r(4091),a=r(6090);async function u(e){let t=new Set;await l({...e,rootTree:e.updatedTree,fetchedSegments:t})}async function l(e){let{state:t,updatedTree:r,updatedCache:a,includeNextUrl:u,fetchedSegments:i,rootTree:s=r,canonicalUrl:c}=e,[,f,d,p]=r,h=[];if(d&&d!==c&&"refresh"===p&&!i.has(d)){i.add(d);let e=(0,o.fetchServerResponse)(new URL(d,location.origin),{flightRouterState:[s[0],s[1],s[2],"refetch"],nextUrl:u?t.nextUrl:null}).then(e=>{let{flightData:t}=e;if("string"!=typeof t)for(let e of t)(0,n.applyFlightData)(a,a,e)});h.push(e)}for(let e in f){let r=l({state:t,updatedTree:f[e],updatedCache:a,includeNextUrl:u,fetchedSegments:i,rootTree:s,canonicalUrl:c});h.push(r)}await Promise.all(h)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4445:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_HMR_REFRESH:function(){return l},ACTION_NAVIGATE:function(){return n},ACTION_PREFETCH:function(){return u},ACTION_REFRESH:function(){return r},ACTION_RESTORE:function(){return o},ACTION_SERVER_ACTION:function(){return i},ACTION_SERVER_PATCH:function(){return a},PrefetchCacheEntryStatus:function(){return c},PrefetchKind:function(){return s}});let r="refresh",n="navigate",o="restore",a="server-patch",u="prefetch",l="hmr-refresh",i="server-action";var s=function(e){return e.AUTO="auto",e.FULL="full",e.TEMPORARY="temporary",e}({}),c=function(e){return e.fresh="fresh",e.reusable="reusable",e.expired="expired",e.stale="stale",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1677:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reducer",{enumerable:!0,get:function(){return f}});let n=r(4445),o=r(2603),a=r(6976),u=r(1752),l=r(5025),i=r(8455),s=r(7359),c=r(8514),f="undefined"==typeof window?function(e,t){return e}:function(e,t){switch(t.type){case n.ACTION_NAVIGATE:return(0,o.navigateReducer)(e,t);case n.ACTION_SERVER_PATCH:return(0,a.serverPatchReducer)(e,t);case n.ACTION_RESTORE:return(0,u.restoreReducer)(e,t);case n.ACTION_REFRESH:return(0,l.refreshReducer)(e,t);case n.ACTION_HMR_REFRESH:return(0,s.hmrRefreshReducer)(e,t);case n.ACTION_PREFETCH:return(0,i.prefetchReducer)(e,t);case n.ACTION_SERVER_ACTION:return(0,c.serverActionReducer)(e,t);default:throw Error("Unknown action")}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8500:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"shouldHardNavigate",{enumerable:!0,get:function(){return function e(t,r){let[a,u]=r,[l,i]=t;return(0,o.matchSegment)(l,a)?!(t.length<=2)&&e((0,n.getNextFlightSegmentPath)(t),u[i]):!!Array.isArray(l)}}});let n=r(1648),o=r(4682);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2633:(e,t)=>{"use strict";function r(e,t){let r=new URL(e);return r.search="",{href:r.href,nextUrl:t}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createCacheKey",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3099:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{EntryStatus:function(){return c},readExactRouteCacheEntry:function(){return y},readRouteCacheEntry:function(){return g},readSegmentCacheEntry:function(){return b},requestRouteCacheEntryFromCache:function(){return v},requestSegmentEntryFromCache:function(){return m},waitForSegmentCacheEntry:function(){return _}});let n=r(2836),o=r(4091),a=r(8592),u=r(8127),l=r(1055),i=r(7864),s=r(1096);var c=function(e){return e[e.Pending=0]="Pending",e[e.Rejected=1]="Rejected",e[e.Fulfilled=2]="Fulfilled",e}({});let f=(0,i.createTupleMap)(),d=(0,s.createLRU)(0xa00000,function(e){let t=e.keypath;null!==t&&(e.keypath=null,E(e),f.delete(t))}),p=new Map,h=(0,s.createLRU)(0x3200000,function(e){let t=e.key;null!==t&&(e.key=null,P(e),p.delete(t))});function y(e,t,r){let n=null===r?[t]:[t,r],o=f.get(n);if(null!==o){if(o.staleAt>e)return d.put(o),o;E(o),f.delete(n),d.delete(o)}return null}function g(e,t){let r=y(e,t.href,null);return null===r||r.couldBeIntercepted?y(e,t.href,t.nextUrl):r}function b(e,t){let r=p.get(t);if(void 0!==r){if(r.staleAt>e)return h.put(r),r;P(r),p.delete(t),h.delete(r)}return null}function _(e){let t=e.promise;return null===t&&(t=e.promise=function(){let e,t;let r=new Promise((r,n)=>{e=r,t=n});return{resolve:e,reject:t,promise:r}}()),t.promise}function v(e,t){let r=t.key,n=y(e,r.href,null);if(null!==n&&!n.couldBeIntercepted)return n;let o=y(e,r.href,r.nextUrl);if(null!==o)return o;let u={canonicalUrl:null,status:0,blockedTasks:null,tree:null,head:null,isHeadPartial:!0,staleAt:e+6e4,couldBeIntercepted:!0,keypath:null,next:null,prev:null,size:0};(0,a.spawnPrefetchSubtask)(S(u,t));let l=null===r.nextUrl?[r.href]:[r.href,r.nextUrl];return f.set(l,u),u.keypath=l,d.put(u),u}function m(e,t,r,n,o){let u=b(e,n);if(null!==u)return u;let l={status:0,rsc:null,loading:null,staleAt:r.staleAt,isPartial:!0,promise:null,key:null,next:null,prev:null,size:0};return(0,a.spawnPrefetchSubtask)(j(r,l,t.key,n,o)),p.set(n,l),l.key=n,h.put(l),l}function P(e){0===e.status&&null!==e.promise&&(e.promise.resolve(null),e.promise=null)}function E(e){let t=e.blockedTasks;if(null!==t){for(let e of t)(0,a.pingPrefetchTask)(e);e.blockedTasks=null}}function O(e,t){e.status=1,e.staleAt=t,E(e)}function R(e,t){e.status=1,e.staleAt=t,null!==e.promise&&(e.promise.resolve(null),e.promise=null)}async function S(e,t){let r=t.key,a=r.href,i=r.nextUrl;try{var s,c,p,h;let t=await w(a,"/_tree",i);if(!t||!t.ok||204===t.status||!t.body){O(e,Date.now()+1e4);return}let r=T(t.body,d,e),y=await (0,o.createFromNextReadableStream)(r);if(y.buildId!==(0,u.getAppBuildId)()){O(e,Date.now()+1e4);return}let g=t.redirected?(0,l.createHrefFromUrl)((0,o.urlToUrlWithoutFlightMarker)(t.url)):a,b=t.headers.get("vary"),_=null!==b&&b.includes(n.NEXT_URL);if(s=y.tree,c=y.head,p=y.isHeadPartial,h=Date.now()+y.staleTime,e.status=2,e.tree=s,e.head=c,e.isHeadPartial=p,e.staleAt=h,e.couldBeIntercepted=_,e.canonicalUrl=g,E(e),!_&&null!==i){let t=[a,i];if(f.get(t)===e){f.delete(t);let r=[a];f.set(r,e),e.keypath=r}}}catch(t){O(e,Date.now()+1e4)}}async function j(e,t,r,n,a){let l=r.href;try{var i,s,c,f;let d=await w(l,""===a?n:n+"."+a,r.nextUrl);if(!d||!d.ok||204===d.status||!d.body){R(t,Date.now()+1e4);return}let p=T(d.body,h,t),y=await (0,o.createFromNextReadableStream)(p);if(y.buildId!==(0,u.getAppBuildId)()){R(t,Date.now()+1e4);return}i=y.rsc,s=y.loading,c=e.staleAt,f=y.isPartial,t.status=2,t.rsc=i,t.loading=s,t.staleAt=c,t.isPartial=f,null!==t.promise&&(t.promise.resolve(t),t.promise=null)}catch(e){R(t,Date.now()+1e4)}}async function w(e,t,r){let u={[n.RSC_HEADER]:"1",[n.NEXT_ROUTER_PREFETCH_HEADER]:"1",[n.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]:t};null!==r&&(u[n.NEXT_URL]=r);let l=(0,o.createFetch)(new URL(e),u,"low");(0,a.trackPrefetchRequestBandwidth)(l);let i=await l,s=i.headers.get("content-type"),c=s&&s.startsWith(n.RSC_CONTENT_TYPE_HEADER);return i.ok&&c?i:null}function T(e,t,r){let n=0,o=e.getReader();return new ReadableStream({async pull(e){for(;;){let{done:a,value:u}=await o.read();if(!a){e.enqueue(u),n+=u.byteLength,t.updateSize(r,n);continue}return}}})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1096:(e,t)=>{"use strict";function r(e,t){let r=null,o=!1,a=0;function u(e){let t=e.next,n=e.prev;null!==t&&null!==n&&(a-=e.size,e.next=null,e.prev=null,r===e?r=t===r?null:t:(n.next=t,t.prev=n))}function l(){o||a<=e||(o=!0,n(i))}function i(){o=!1;let n=.9*e;for(;a>n&&null!==r;){let e=r.prev;u(e),t(e)}}return{put:function(e){if(r===e)return;let t=e.prev,n=e.next;if(null===n||null===t?(a+=e.size,l()):(t.next=n,n.prev=t),null===r)e.prev=e,e.next=e;else{let t=r.prev;e.prev=t,t.next=e,e.next=r,r.prev=e}r=e},delete:u,updateSize:function(e,t){if(null===e.next)return;let r=e.size;e.size=t,a=a-r+t,l()}}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createLRU",{enumerable:!0,get:function(){return r}});let n="function"==typeof requestIdleCallback?requestIdleCallback:e=>setTimeout(e,0);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5245:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{NavigationResultTag:function(){return i},navigate:function(){return c}});let n=r(4091),o=r(3223),a=r(1055),u=r(3099),l=r(2633);var i=function(e){return e[e.MPA=0]="MPA",e[e.Success=1]="Success",e[e.NoOp=2]="NoOp",e[e.Async=3]="Async",e}({});let s={tag:2,data:null};function c(e,t,r,a){let i=Date.now(),c=(0,l.createCacheKey)(e.href,a),p=(0,u.readRouteCacheEntry)(i,c);if(null!==p&&p.status===u.EntryStatus.Fulfilled){let l=function e(t,r){let n={},o={},a=r.slots;if(null!==a)for(let r in a){let u=e(t,a[r]);n[r]=u.flightRouterState,o[r]=u.seedData}let l=null,i=null,s=!0,c=(0,u.readSegmentCacheEntry)(t,r.path);if(null!==c)switch(c.status){case u.EntryStatus.Fulfilled:l=c.rsc,i=c.loading,s=c.isPartial;break;case u.EntryStatus.Pending:{let e=(0,u.waitForSegmentCacheEntry)(c);l=e.then(e=>null!==e?e.rsc:null),i=e.then(e=>null!==e?e.loading:null),s=!0}case u.EntryStatus.Rejected:}let f=r.extra,d=f[0];return{flightRouterState:[d,n,null,null,f[1]],seedData:[d,l,o,i,s]}}(i,p.tree),c=l.flightRouterState,d=l.seedData;return function(e,t,r,a,u,l,i,c,d){let p=(0,o.updateCacheNodeOnNavigation)(r,a,u,l,i,c);if(null!==p){if(p.needsDynamicRequest){let r=(0,n.fetchServerResponse)(e,{flightRouterState:a,nextUrl:t});(0,o.listenForDynamicRequest)(p,r)}return f(p,r,d)}return s}(e,a,t,r,c,d,p.head,p.isHeadPartial,p.canonicalUrl)}return{tag:3,data:d(e,a,t,r)}}function f(e,t,r){let n=e.node;return{tag:1,data:{flightRouterState:e.route,cacheNode:null!==n?n:t,canonicalUrl:r}}}async function d(e,t,r,u){let l=(0,n.fetchServerResponse)(e,{flightRouterState:u,nextUrl:t}),{flightData:i,canonicalUrl:c}=await l;if("string"==typeof i)return{tag:0,data:i};let d=function(e,t){let r=e;for(let{segmentPath:n,tree:o}of t){let t=r!==e;r=function e(t,r,n,o,a){if(a===n.length)return r;let u=n[a],l=t[1],i={};for(let t in l)if(t===u){let u=l[t];i[t]=e(u,r,n,o,a+2)}else i[t]=l[t];if(o)return t[1]=i,t;let s=[t[0],i];return 2 in t&&(s[2]=t[2]),3 in t&&(s[3]=t[3]),4 in t&&(s[4]=t[4]),s}(r,o,n,t,0)}return r}(u,i),p=(0,a.createHrefFromUrl)(c||e),h=(0,o.updateCacheNodeOnNavigation)(r,u,d,null,null,!0);return null!==h?(h.needsDynamicRequest&&(0,o.listenForDynamicRequest)(h,l),f(h,r,p)):s}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9824:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"prefetch",{enumerable:!0,get:function(){return u}});let n=r(3423),o=r(2633),a=r(8592);function u(e,t){let r=(0,n.createPrefetchURL)(e);if(null===r)return;let u=(0,o.createCacheKey)(r.href,t);(0,a.schedulePrefetchTask)(u)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8592:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{pingPrefetchTask:function(){return y},schedulePrefetchTask:function(){return s},spawnPrefetchSubtask:function(){return p},trackPrefetchRequestBandwidth:function(){return f}});let n=r(3099),o="function"==typeof queueMicrotask?queueMicrotask:e=>Promise.resolve().then(e).catch(e=>setTimeout(()=>{throw e})),a=[],u=0,l=0,i=!1;function s(e){_(a,{key:e,sortId:l++,isBlocked:!1,_heapIndex:-1}),c()}function c(){!i&&u<3&&(i=!0,o(g))}function f(e){u++,e.then(h,h)}let d=()=>{};function p(e){e.then(d,d)}function h(){u--,c()}function y(e){e.isBlocked&&(e.isBlocked=!1,_(a,e),c())}function g(){i=!1;let e=Date.now(),t=v(a);for(;null!==t&&u<3;){let r=(0,n.requestRouteCacheEntryFromCache)(e,t);switch(function(e,t,r){switch(r.status){case n.EntryStatus.Pending:{let e=r.blockedTasks;return null===e?r.blockedTasks=new Set([t]):e.add(t),1}case n.EntryStatus.Rejected:return 2;case n.EntryStatus.Fulfilled:{if(!(u<3))return 0;let o=r.tree;return(0,n.requestSegmentEntryFromCache)(e,t,r,o.path,""),function e(t,r,o,a){if(null!==a.slots)for(let l in a.slots){let i=a.slots[l];if(!(u<3))return 0;{let e=i.path,a=i.token;(0,n.requestSegmentEntryFromCache)(t,r,o,e,a)}if(0===e(t,r,o,i))return 0}return 2}(e,t,r,o)}default:return 2}}(e,t,r)){case 0:default:return;case 1:t.isBlocked=!0,m(a),t=v(a);continue;case 2:m(a),t=v(a);continue}}}function b(e,t){return t.sortId-e.sortId}function _(e,t){let r=e.length;e.push(t),t._heapIndex=r,function(e,t,r){let n=r;for(;n>0;){let r=n-1>>>1,o=e[r];if(!(b(o,t)>0))return;e[r]=t,t._heapIndex=r,e[n]=o,o._heapIndex=n,n=r}}(e,t,r)}function v(e){return 0===e.length?null:e[0]}function m(e){if(0===e.length)return null;let t=e[0];t._heapIndex=-1;let r=e.pop();return r!==t&&(e[0]=r,r._heapIndex=0,function(e,t,r){let n=0,o=e.length,a=o>>>1;for(;nb(a,t))ub(l,a)?(e[n]=l,l._heapIndex=n,e[u]=t,t._heapIndex=u,n=u):(e[n]=a,a._heapIndex=n,e[r]=t,t._heapIndex=r,n=r);else{if(!(ub(l,t)))return;e[n]=l,l._heapIndex=n,e[u]=t,t._heapIndex=u,n=u}}}(e,r,0)),t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7864:(e,t)=>{"use strict";function r(){let e={parent:null,key:null,hasValue:!1,value:null,map:null},t=null,r=null;function n(n){if(r===n)return t;let o=e;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{StaticGenBailoutError:function(){return n},isStaticGenBailoutError:function(){return o}});let r="NEXT_STATIC_GEN_BAILOUT";class n extends Error{constructor(...e){super(...e),this.code=r}}function o(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},882:(e,t,r)=>{"use strict";function n(){throw Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled.")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unauthorized",{enumerable:!0,get:function(){return n}}),r(2469).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9321:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unresolvedThenable",{enumerable:!0,get:function(){return r}});let r={then:()=>{}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5173:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,u.isNextRouterError)(t)||(0,a.isBailoutToCSRError)(t)||(0,n.isDynamicUsageError)(t)||(0,o.isPostpone)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=r(7515),o=r(4819),a=r(3719),u=r(179);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6494:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{useReducer:function(){return u},useUnwrapState:function(){return a}});let n=r(9955)._(r(2115)),o=r(2707);function a(e){return(0,o.isThenable)(e)?(0,n.use)(e):e}function u(e){let[t,r]=n.default.useState(e.state);return[t,(0,n.useCallback)(t=>{e.dispatch(t,r)},[e])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1648:(e,t)=>{"use strict";function r(e){var t;let[r,n,o,a]=e.slice(-4),u=e.slice(0,-4);return{pathToSegment:u.slice(0,-1),segmentPath:u,segment:null!=(t=u[u.length-1])?t:"",tree:r,seedData:n,head:o,isHeadPartial:a,isRootRender:4===e.length}}function n(e){return e.slice(2)}function o(e){return"string"==typeof e?e:e.map(r)}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getFlightDataPartsFromPath:function(){return r},getNextFlightSegmentPath:function(){return n},normalizeFlightData:function(){return o}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6003:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let n=r(8912);function o(e){return(0,n.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4300:(e,t)=>{"use strict";function r(e,t){switch(typeof e){case"object":if(null===e)return"null";if(Array.isArray(e)){let n="[";if(t<1)for(let o=0;o0?"...":"";return n+"]"}{if(e instanceof Error)return e+"";let n=Object.keys(e),o="{";if(t<1)for(let a=0;a0?"...":"";return o+"}"}case"string":return JSON.stringify(e);default:return String(e)}}function n(e){let t,n;"string"==typeof e[0]?(t=e[0],n=1):(t="",n=0);let o="",a=!1;for(let u=0;u=e.length){o+=l;continue}let i=t[++u];switch(i){case"c":o=a?""+o+"]":"["+o,a=!a,n++;break;case"O":case"o":o+=r(e[n++],0);break;case"d":case"i":o+=parseInt(e[n++],10);break;case"f":o+=parseFloat(e[n++]);break;case"s":o+=String(e[n++]);break;default:o+="%"+i}}for(;n0?" ":"")+r(e[n],0);return o}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"formatConsoleArgs",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6573:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return a}});let n=r(1246),o=r(4046),a=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:r,hash:a}=(0,o.parsePath)(e);return/\.[^/]+\/?$/.test(t)?""+(0,n.removeTrailingSlash)(t)+r+a:t.endsWith("/")?""+t+r+a:t+"/"+r+a};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6547:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{onCaughtError:function(){return l},onUncaughtError:function(){return i}}),r(2100),r(7712);let n=r(179),o=r(3719),a=r(7489),u=r(5194),l=(e,t)=>{(0,o.isBailoutToCSRError)(e)||(0,n.isNextRouterError)(e)||(0,u.originConsoleError)(e)},i=(e,t)=>{(0,o.isBailoutToCSRError)(e)||(0,n.isNextRouterError)(e)||(0,a.reportGlobalError)(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7489:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reportGlobalError",{enumerable:!0,get:function(){return r}});let r="function"==typeof reportError?reportError:e=>{window.console.error(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8221:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"onRecoverableError",{enumerable:!0,get:function(){return i}});let n=r(306),o=r(3719),a=r(7489),u=r(2100),l=n._(r(9762)),i=(e,t)=>{let r=(0,l.default)(e)&&"cause"in e?e.cause:e,n=(0,u.getReactStitchedError)(r);(0,o.isBailoutToCSRError)(r)||(0,a.reportGlobalError)(n)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1129:(e,t,r)=>{"use strict";function n(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(6003),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7851:e=>{!function(){var t={229:function(e){var t,r,n,o=e.exports={};function a(){throw Error("setTimeout has not been defined")}function u(){throw Error("clearTimeout has not been defined")}function l(e){if(t===setTimeout)return setTimeout(e,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{r="function"==typeof clearTimeout?clearTimeout:u}catch(e){r=u}}();var i=[],s=!1,c=-1;function f(){s&&n&&(s=!1,n.length?i=n.concat(i):c=-1,i.length&&d())}function d(){if(!s){var e=l(f);s=!0;for(var t=i.length;t;){for(n=i,i=[];++c1)for(var r=1;r{"use strict";function r(e,t){var r=e.length;for(e.push(t);0>>1,o=e[n];if(0>>1;na(i,r))sa(c,i)?(e[n]=c,e[s]=r,n=s):(e[n]=i,e[l]=r,n=l);else if(sa(c,r))e[n]=c,e[s]=r,n=s;else break}}return t}function a(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var u,l=performance;t.unstable_now=function(){return l.now()}}else{var i=Date,s=i.now();t.unstable_now=function(){return i.now()-s}}var c=[],f=[],d=1,p=null,h=3,y=!1,g=!1,b=!1,_="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,m="undefined"!=typeof setImmediate?setImmediate:null;function P(e){for(var t=n(f);null!==t;){if(null===t.callback)o(f);else if(t.startTime<=e)o(f),t.sortIndex=t.expirationTime,r(c,t);else break;t=n(f)}}function E(e){if(b=!1,P(e),!g){if(null!==n(c))g=!0,A();else{var t=n(f);null!==t&&C(E,t.startTime-e)}}}var O=!1,R=-1,S=5,j=-1;function w(){return!(t.unstable_now()-je&&w());){var l=p.callback;if("function"==typeof l){p.callback=null,h=p.priorityLevel;var i=l(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof i){p.callback=i,P(e),r=!0;break t}p===n(c)&&o(c),P(e)}else o(c);p=n(c)}if(null!==p)r=!0;else{var s=n(f);null!==s&&C(E,s.startTime-e),r=!1}}break e}finally{p=null,h=a,y=!1}r=void 0}}finally{r?u():O=!1}}}if("function"==typeof m)u=function(){m(T)};else if("undefined"!=typeof MessageChannel){var M=new MessageChannel,x=M.port2;M.port1.onmessage=T,u=function(){x.postMessage(null)}}else u=function(){_(T,0)};function A(){O||(O=!0,u())}function C(e,r){R=_(function(){e(t.unstable_now())},r)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||y||(g=!0,A())},t.unstable_forceFrameRate=function(e){0>e||125u?(e.sortIndex=a,r(f,e),null===n(c)&&e===n(f)&&(b?(v(R),R=-1):b=!0,C(E,a-u))):(e.sortIndex=l,r(c,e),g||y||(g=!0,A())),e},t.unstable_shouldYield=w,t.unstable_wrapCallback=function(e){var t=h;return function(){var r=h;h=t;try{return e.apply(this,arguments)}finally{h=r}}}},1507:(e,t,r)=>{"use strict";e.exports=r(576)},7515:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicUsageError",{enumerable:!0,get:function(){return l}});let n=r(406),o=r(3719),a=r(179),u=r(6378),l=e=>(0,n.isDynamicServerError)(e)||(0,o.isBailoutToCSRError)(e)||(0,a.isNextRouterError)(e)||(0,u.isDynamicPostpone)(e)},9762:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return a}});let n=r(9844);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function a(e){return o(e)?e:Error((0,n.isPlainObject)(e)?function(e){let t=new WeakSet;return JSON.stringify(e,(e,r)=>{if("object"==typeof r&&null!==r){if(t.has(r))return"[Circular]";t.add(r)}return r})}(e):e+"")}},6213:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{MetadataBoundary:function(){return a},OutletBoundary:function(){return l},ViewportBoundary:function(){return u}});let n=r(740),o={[n.METADATA_BOUNDARY_NAME]:function(e){let{children:t}=e;return t},[n.VIEWPORT_BOUNDARY_NAME]:function(e){let{children:t}=e;return t},[n.OUTLET_BOUNDARY_NAME]:function(e){let{children:t}=e;return t}},a=o[n.METADATA_BOUNDARY_NAME.slice(0)],u=o[n.VIEWPORT_BOUNDARY_NAME.slice(0)],l=o[n.OUTLET_BOUNDARY_NAME.slice(0)]},740:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{METADATA_BOUNDARY_NAME:function(){return r},OUTLET_BOUNDARY_NAME:function(){return o},VIEWPORT_BOUNDARY_NAME:function(){return n}});let r="__next_metadata_boundary__",n="__next_viewport_boundary__",o="__next_outlet_boundary__"},2301:(e,t,r)=>{"use strict";var n=r(2818);Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{atLeastOneTask:function(){return u},scheduleImmediate:function(){return a},scheduleOnNextTick:function(){return o},waitAtLeastOneReactRenderTask:function(){return l}});let o=e=>{Promise.resolve().then(()=>{n.nextTick(e)})},a=e=>{setImmediate(e)};function u(){return new Promise(e=>a(e))}function l(){return new Promise(e=>setImmediate(e))}},9126:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"actionAsyncStorage",{enumerable:!0,get:function(){return n.actionAsyncStorageInstance}});let n=r(2075)},4117:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"afterTaskAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(3664).createAsyncLocalStorage)()},8140:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"afterTaskAsyncStorage",{enumerable:!0,get:function(){return n.afterTaskAsyncStorageInstance}});let n=r(4117)},3664:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{bindSnapshot:function(){return u},createAsyncLocalStorage:function(){return a},createSnapshot:function(){return l}});let r=Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available");class n{disable(){throw r}getStore(){}run(){throw r}exit(){throw r}enterWith(){throw r}static bind(e){return e}}let o="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function a(){return o?new o:new n}function u(e){return o?o.bind(e):n.bind(e)}function l(){return o?o.snapshot():function(e,...t){return e(...t)}}},6378:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{Postpone:function(){return O},abortAndThrowOnSynchronousRequestDataAccess:function(){return P},abortOnSynchronousPlatformIOAccess:function(){return v},accessedDynamicData:function(){return A},annotateDynamicAccess:function(){return U},consumeDynamicAccess:function(){return C},createDynamicTrackingState:function(){return f},createDynamicValidationState:function(){return d},createPostponedAbortSignal:function(){return N},formatDynamicAPIAccesses:function(){return k},getFirstDynamicReason:function(){return p},isDynamicPostpone:function(){return j},isPrerenderInterruptedError:function(){return x},markCurrentScopeAsDynamic:function(){return h},postponeWithTracking:function(){return R},throwIfDisallowedDynamic:function(){return W},throwToInterruptStaticGeneration:function(){return g},trackAllowedDynamicAccess:function(){return B},trackDynamicDataInDynamicRender:function(){return b},trackFallbackParamAccessed:function(){return y},trackSynchronousPlatformIOAccessInDev:function(){return m},trackSynchronousRequestDataAccessInDev:function(){return E},useDynamicRouteParams:function(){return I}});let n=function(e){return e&&e.__esModule?e:{default:e}}(r(2115)),o=r(406),a=r(6830),u=r(5938),l=r(5861),i=r(3649),s=r(740),c="function"==typeof n.default.unstable_postpone;function f(e){return{isDebugDynamicAccesses:e,dynamicAccesses:[],syncDynamicExpression:void 0,syncDynamicErrorWithStack:null}}function d(){return{hasSuspendedDynamic:!1,hasDynamicMetadata:!1,hasDynamicViewport:!1,hasSyncDynamicErrors:!1,dynamicErrors:[]}}function p(e){var t;return null==(t=e.dynamicAccesses[0])?void 0:t.expression}function h(e,t,r){if((!t||"cache"!==t.type&&"unstable-cache"!==t.type)&&!e.forceDynamic&&!e.forceStatic){if(e.dynamicShouldError)throw new a.StaticGenBailoutError(`Route ${e.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${r}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(t){if("prerender-ppr"===t.type)R(e.route,r,t.dynamicTracking);else if("prerender-legacy"===t.type){t.revalidate=0;let n=new o.DynamicServerError(`Route ${e.route} couldn't be rendered statically because it used ${r}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw e.dynamicUsageDescription=r,e.dynamicUsageStack=n.stack,n}}}}function y(e,t){let r=u.workUnitAsyncStorage.getStore();r&&"prerender-ppr"===r.type&&R(e.route,t,r.dynamicTracking)}function g(e,t,r){let n=new o.DynamicServerError(`Route ${t.route} couldn't be rendered statically because it used \`${e}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw r.revalidate=0,t.dynamicUsageDescription=e,t.dynamicUsageStack=n.stack,n}function b(e,t){t&&"cache"!==t.type&&"unstable-cache"!==t.type&&("prerender"===t.type||"prerender-legacy"===t.type)&&(t.revalidate=0)}function _(e,t,r){let n=M(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`);r.controller.abort(n);let o=r.dynamicTracking;o&&o.dynamicAccesses.push({stack:o.isDebugDynamicAccesses?Error().stack:void 0,expression:t})}function v(e,t,r,n){let o=n.dynamicTracking;return o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicExpression=t,o.syncDynamicErrorWithStack=r),_(e,t,n)}function m(e){e.prerenderPhase=!1}function P(e,t,r,n){let o=n.dynamicTracking;throw o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicExpression=t,o.syncDynamicErrorWithStack=r,!0===n.validating&&(o.syncDynamicLogged=!0)),_(e,t,n),M(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`)}let E=m;function O({reason:e,route:t}){let r=u.workUnitAsyncStorage.getStore();R(t,e,r&&"prerender-ppr"===r.type?r.dynamicTracking:null)}function R(e,t,r){D(),r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:t}),n.default.unstable_postpone(S(e,t))}function S(e,t){return`Route ${e} needs to bail out of prerendering at this point because it used ${t}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function j(e){return"object"==typeof e&&null!==e&&"string"==typeof e.message&&w(e.message)}function w(e){return e.includes("needs to bail out of prerendering at this point because it used")&&e.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===w(S("%%%","^^^")))throw Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js");let T="NEXT_PRERENDER_INTERRUPTED";function M(e){let t=Error(e);return t.digest=T,t}function x(e){return"object"==typeof e&&null!==e&&e.digest===T&&"name"in e&&"message"in e&&e instanceof Error}function A(e){return e.length>0}function C(e,t){return e.dynamicAccesses.push(...t.dynamicAccesses),e.dynamicAccesses}function k(e){return e.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(({expression:e,stack:t})=>(t=t.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" ()")||e.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${e}: +${t}`))}function D(){if(!c)throw Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js")}function N(e){D();let t=new AbortController;try{n.default.unstable_postpone(e)}catch(e){t.abort(e)}return t.signal}function U(e,t){let r=t.dynamicTracking;r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:e})}function I(e){if("undefined"==typeof window){let t=l.workAsyncStorage.getStore();if(t&&t.isStaticGeneration&&t.fallbackRouteParams&&t.fallbackRouteParams.size>0){let r=u.workUnitAsyncStorage.getStore();r&&("prerender"===r.type?n.default.use((0,i.makeHangingPromise)(r.renderSignal,e)):"prerender-ppr"===r.type?R(t.route,e,r.dynamicTracking):"prerender-legacy"===r.type&&g(e,t,r))}}}let L=/\n\s+at Suspense \(\)/,H=RegExp(`\\n\\s+at ${s.METADATA_BOUNDARY_NAME}[\\n\\s]`),F=RegExp(`\\n\\s+at ${s.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),$=RegExp(`\\n\\s+at ${s.OUTLET_BOUNDARY_NAME}[\\n\\s]`);function B(e,t,r,n,o){if(!$.test(t)){if(H.test(t)){r.hasDynamicMetadata=!0;return}if(F.test(t)){r.hasDynamicViewport=!0;return}if(L.test(t)){r.hasSuspendedDynamic=!0;return}if(n.syncDynamicErrorWithStack||o.syncDynamicErrorWithStack){r.hasSyncDynamicErrors=!0;return}else{let n=function(e,t){let r=Error(e);return r.stack="Error: "+e+t,r}(`Route "${e}": A component accessed data, headers, params, searchParams, or a short-lived cache without a Suspense boundary nor a "use cache" above it. We don't have the exact line number added to error messages yet but you can see which component in the stack below. See more info: https://nextjs.org/docs/messages/next-prerender-missing-suspense`,t);r.dynamicErrors.push(n);return}}}function W(e,t,r,n){let o,u,l;if(r.syncDynamicErrorWithStack?(o=r.syncDynamicErrorWithStack,u=r.syncDynamicExpression,l=!0===r.syncDynamicLogged):n.syncDynamicErrorWithStack?(o=n.syncDynamicErrorWithStack,u=n.syncDynamicExpression,l=!0===n.syncDynamicLogged):(o=null,u=void 0,l=!1),t.hasSyncDynamicErrors&&o)throw l||console.error(o),new a.StaticGenBailoutError;let i=t.dynamicErrors;if(i.length){for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentParam",{enumerable:!0,get:function(){return o}});let n=r(8456);function o(e){let t=n.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t));return(t&&(e=e.slice(t.length)),e.startsWith("[[...")&&e.endsWith("]]"))?{type:"optional-catchall",param:e.slice(5,-2)}:e.startsWith("[...")&&e.endsWith("]")?{type:t?"catchall-intercepted":"catchall",param:e.slice(4,-1)}:e.startsWith("[")&&e.endsWith("]")?{type:t?"dynamic-intercepted":"dynamic",param:e.slice(1,-1)}:null}},5861:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=r(7828)},5938:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getExpectedRequestStore:function(){return o},getPrerenderResumeDataCache:function(){return a},getRenderResumeDataCache:function(){return u},workUnitAsyncStorage:function(){return n.workUnitAsyncStorageInstance}});let n=r(4931);function o(e){let t=n.workUnitAsyncStorageInstance.getStore();if(t){if("request"===t.type)return t;if("prerender"===t.type||"prerender-ppr"===t.type||"prerender-legacy"===t.type)throw Error(`\`${e}\` cannot be called inside a prerender. This is a bug in Next.js.`);if("cache"===t.type)throw Error(`\`${e}\` cannot be called inside "use cache". Call it outside and pass an argument instead. Read more: https://nextjs.org/docs/messages/next-request-in-use-cache`);if("unstable-cache"===t.type)throw Error(`\`${e}\` cannot be called inside unstable_cache. Call it outside and pass an argument instead. Read more: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`)}throw Error(`\`${e}\` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`)}function a(e){return"prerender"===e.type||"prerender-ppr"===e.type?e.prerenderResumeDataCache:null}function u(e){return"prerender-legacy"!==e.type&&"cache"!==e.type&&"unstable-cache"!==e.type?"request"===e.type?e.renderResumeDataCache:e.prerenderResumeDataCache:null}},6431:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return i}});let n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(void 0);if(r&&r.has(e))return r.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=a?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(n,u,l):n[u]=e[u]}return n.default=e,r&&r.set(e,n),n}(r(2115));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}let a={current:null},u="function"==typeof n.cache?n.cache:e=>e,l=console.warn;function i(e){return function(...t){l(e(...t))}}u(e=>{try{l(a.current)}finally{a.current=null}})},3649:(e,t)=>{"use strict";function r(e,t){let r=new Promise((r,n)=>{e.addEventListener("abort",()=>{n(Error(`During prerendering, ${t} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${t} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context.`))},{once:!0})});return r.catch(n),r}function n(){}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"makeHangingPromise",{enumerable:!0,get:function(){return r}})},8456:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return u},isInterceptionRouteAppPath:function(){return a}});let n=r(9259),o=["(..)(..)","(.)","(..)","(...)"];function a(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function u(e){let t,r,a;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,a]=e.split(r,2);break}if(!t||!r||!a)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":a="/"===t?`/${a}`:t+"/"+a;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);a=t.split("/").slice(0,-1).concat(a).join("/");break;case"(...)":a="/"+a;break;case"(..)(..)":let u=t.split("/");if(u.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);a=u.slice(0,-2).concat(a).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:a}}},4819:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isPostpone",{enumerable:!0,get:function(){return n}});let r=Symbol.for("react.postpone");function n(e){return"object"==typeof e&&null!==e&&e.$$typeof===r}},5737:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRenderParamsFromClient",{enumerable:!0,get:function(){return o}}),r(1042),r(4940);let n=r(1142);function o(e){return function(e){let t=a.get(e);if(t)return t;let r=Promise.resolve(e);return a.set(e,r),Object.keys(e).forEach(t=>{n.wellKnownProperties.has(t)||(r[t]=e[t])}),r}(e)}let a=new WeakMap},4383:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createParamsFromClient:function(){return s},createPrerenderParamsForClientSegment:function(){return p},createServerParamsForMetadata:function(){return c},createServerParamsForRoute:function(){return f},createServerParamsForServerSegment:function(){return d}}),r(1042);let n=r(6378),o=r(5938),a=r(4940),u=r(1142),l=r(3649),i=r(6431);function s(e,t){let r=o.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-ppr":case"prerender-legacy":return h(e,t,r)}return g(e)}r(2301);let c=d;function f(e,t){let r=o.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-ppr":case"prerender-legacy":return h(e,t,r)}return g(e)}function d(e,t){let r=o.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-ppr":case"prerender-legacy":return h(e,t,r)}return g(e)}function p(e,t){let r=o.workUnitAsyncStorage.getStore();if(r&&"prerender"===r.type){let n=t.fallbackRouteParams;if(n){for(let t in e)if(n.has(t))return(0,l.makeHangingPromise)(r.renderSignal,"`params`")}}return Promise.resolve(e)}function h(e,t,r){let o=t.fallbackRouteParams;if(o){let a=!1;for(let t in e)if(o.has(t)){a=!0;break}if(a)return"prerender"===r.type?function(e,t,r){let o=y.get(e);if(o)return o;let a=(0,l.makeHangingPromise)(r.renderSignal,"`params`");return y.set(e,a),Object.keys(e).forEach(e=>{u.wellKnownProperties.has(e)||Object.defineProperty(a,e,{get(){let o=(0,u.describeStringPropertyAccess)("params",e),a=b(t,o);(0,n.abortAndThrowOnSynchronousRequestDataAccess)(t,o,a,r)},set(t){Object.defineProperty(a,e,{value:t,writable:!0,enumerable:!0})},enumerable:!0,configurable:!0})}),a}(e,t.route,r):function(e,t,r,o){let a=y.get(e);if(a)return a;let l={...e},i=Promise.resolve(l);return y.set(e,i),Object.keys(e).forEach(a=>{u.wellKnownProperties.has(a)||(t.has(a)?(Object.defineProperty(l,a,{get(){let e=(0,u.describeStringPropertyAccess)("params",a);"prerender-ppr"===o.type?(0,n.postponeWithTracking)(r.route,e,o.dynamicTracking):(0,n.throwToInterruptStaticGeneration)(e,r,o)},enumerable:!0}),Object.defineProperty(i,a,{get(){let e=(0,u.describeStringPropertyAccess)("params",a);"prerender-ppr"===o.type?(0,n.postponeWithTracking)(r.route,e,o.dynamicTracking):(0,n.throwToInterruptStaticGeneration)(e,r,o)},set(e){Object.defineProperty(i,a,{value:e,writable:!0,enumerable:!0})},enumerable:!0,configurable:!0})):i[a]=e[a])}),i}(e,o,t,r)}return g(e)}let y=new WeakMap;function g(e){let t=y.get(e);if(t)return t;let r=Promise.resolve(e);return y.set(e,r),Object.keys(e).forEach(t=>{u.wellKnownProperties.has(t)||(r[t]=e[t])}),r}function b(e,t){let r=e?`Route "${e}" `:"This route ";return Error(`${r}used ${t}. \`params\` should be awaited before using its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`)}(0,i.createDedupedByCallsiteServerErrorLoggerDev)(b),(0,i.createDedupedByCallsiteServerErrorLoggerDev)(function(e,t,r){let n=e?`Route "${e}" `:"This route ";return Error(`${n}used ${t}. \`params\` should be awaited before using its properties. The following properties were not available through enumeration because they conflict with builtin property names: ${function(e){switch(e.length){case 0:throw new a.InvariantError("Expected describeListOfPropertyNames to be called with a non-empty list of strings.");case 1:return`\`${e[0]}\``;case 2:return`\`${e[0]}\` and \`${e[1]}\``;default:{let t="";for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return o}}),r(1042);let n=r(1142);function o(e){return function(e){let t=a.get(e);if(t)return t;let r=Promise.resolve(e);return a.set(e,r),Object.keys(e).forEach(t=>{n.wellKnownProperties.has(t)||(r[t]=e[t])}),r}(e)}let a=new WeakMap},2130:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createPrerenderSearchParamsForClientPage:function(){return p},createSearchParamsFromClient:function(){return c},createServerSearchParamsForMetadata:function(){return f},createServerSearchParamsForServerPage:function(){return d}});let n=r(1042),o=r(6378),a=r(5938),u=r(4940),l=r(3649),i=r(6431),s=r(1142);function c(e,t){let r=a.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-ppr":case"prerender-legacy":return h(t,r)}return y(e,t)}r(2301);let f=d;function d(e,t){let r=a.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-ppr":case"prerender-legacy":return h(t,r)}return y(e,t)}function p(e){if(e.forceStatic)return Promise.resolve({});let t=a.workUnitAsyncStorage.getStore();return t&&"prerender"===t.type?(0,l.makeHangingPromise)(t.renderSignal,"`searchParams`"):Promise.resolve({})}function h(e,t){return e.forceStatic?Promise.resolve({}):"prerender"===t.type?function(e,t){let r=g.get(t);if(r)return r;let a=(0,l.makeHangingPromise)(t.renderSignal,"`searchParams`"),u=new Proxy(a,{get(r,u,l){if(Object.hasOwn(a,u))return n.ReflectAdapter.get(r,u,l);switch(u){case"then":return(0,o.annotateDynamicAccess)("`await searchParams`, `searchParams.then`, or similar",t),n.ReflectAdapter.get(r,u,l);case"status":return(0,o.annotateDynamicAccess)("`use(searchParams)`, `searchParams.status`, or similar",t),n.ReflectAdapter.get(r,u,l);case"hasOwnProperty":case"isPrototypeOf":case"propertyIsEnumerable":case"toString":case"valueOf":case"toLocaleString":case"catch":case"finally":case"toJSON":case"$$typeof":case"__esModule":return n.ReflectAdapter.get(r,u,l);default:if("string"==typeof u){let r=(0,s.describeStringPropertyAccess)("searchParams",u),n=b(e,r);(0,o.abortAndThrowOnSynchronousRequestDataAccess)(e,r,n,t)}return n.ReflectAdapter.get(r,u,l)}},has(r,a){if("string"==typeof a){let r=(0,s.describeHasCheckingStringProperty)("searchParams",a),n=b(e,r);(0,o.abortAndThrowOnSynchronousRequestDataAccess)(e,r,n,t)}return n.ReflectAdapter.has(r,a)},ownKeys(){let r="`{...searchParams}`, `Object.keys(searchParams)`, or similar",n=b(e,r);(0,o.abortAndThrowOnSynchronousRequestDataAccess)(e,r,n,t)}});return g.set(t,u),u}(e.route,t):function(e,t){let r=g.get(e);if(r)return r;let a=Promise.resolve({}),u=new Proxy(a,{get(r,u,l){if(Object.hasOwn(a,u))return n.ReflectAdapter.get(r,u,l);switch(u){case"hasOwnProperty":case"isPrototypeOf":case"propertyIsEnumerable":case"toString":case"valueOf":case"toLocaleString":case"catch":case"finally":case"toJSON":case"$$typeof":case"__esModule":return n.ReflectAdapter.get(r,u,l);case"then":{let r="`await searchParams`, `searchParams.then`, or similar";e.dynamicShouldError?(0,s.throwWithStaticGenerationBailoutErrorWithDynamicError)(e.route,r):"prerender-ppr"===t.type?(0,o.postponeWithTracking)(e.route,r,t.dynamicTracking):(0,o.throwToInterruptStaticGeneration)(r,e,t);return}case"status":{let r="`use(searchParams)`, `searchParams.status`, or similar";e.dynamicShouldError?(0,s.throwWithStaticGenerationBailoutErrorWithDynamicError)(e.route,r):"prerender-ppr"===t.type?(0,o.postponeWithTracking)(e.route,r,t.dynamicTracking):(0,o.throwToInterruptStaticGeneration)(r,e,t);return}default:if("string"==typeof u){let r=(0,s.describeStringPropertyAccess)("searchParams",u);e.dynamicShouldError?(0,s.throwWithStaticGenerationBailoutErrorWithDynamicError)(e.route,r):"prerender-ppr"===t.type?(0,o.postponeWithTracking)(e.route,r,t.dynamicTracking):(0,o.throwToInterruptStaticGeneration)(r,e,t)}return n.ReflectAdapter.get(r,u,l)}},has(r,a){if("string"==typeof a){let r=(0,s.describeHasCheckingStringProperty)("searchParams",a);return e.dynamicShouldError?(0,s.throwWithStaticGenerationBailoutErrorWithDynamicError)(e.route,r):"prerender-ppr"===t.type?(0,o.postponeWithTracking)(e.route,r,t.dynamicTracking):(0,o.throwToInterruptStaticGeneration)(r,e,t),!1}return n.ReflectAdapter.has(r,a)},ownKeys(){let r="`{...searchParams}`, `Object.keys(searchParams)`, or similar";e.dynamicShouldError?(0,s.throwWithStaticGenerationBailoutErrorWithDynamicError)(e.route,r):"prerender-ppr"===t.type?(0,o.postponeWithTracking)(e.route,r,t.dynamicTracking):(0,o.throwToInterruptStaticGeneration)(r,e,t)}});return g.set(e,u),u}(e,t)}function y(e,t){return t.forceStatic?Promise.resolve({}):function(e,t){let r=g.get(e);if(r)return r;let n=Promise.resolve(e);return g.set(e,n),Object.keys(e).forEach(r=>{switch(r){case"hasOwnProperty":case"isPrototypeOf":case"propertyIsEnumerable":case"toString":case"valueOf":case"toLocaleString":case"then":case"catch":case"finally":case"status":case"toJSON":case"$$typeof":case"__esModule":break;default:Object.defineProperty(n,r,{get(){let n=a.workUnitAsyncStorage.getStore();return(0,o.trackDynamicDataInDynamicRender)(t,n),e[r]},set(e){Object.defineProperty(n,r,{value:e,writable:!0,enumerable:!0})},enumerable:!0,configurable:!0})}}),n}(e,t)}let g=new WeakMap;function b(e,t){let r=e?`Route "${e}" `:"This route ";return Error(`${r}used ${t}. \`searchParams\` should be awaited before using its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`)}(0,i.createDedupedByCallsiteServerErrorLoggerDev)(b),(0,i.createDedupedByCallsiteServerErrorLoggerDev)(function(e,t,r){let n=e?`Route "${e}" `:"This route ";return Error(`${n}used ${t}. \`searchParams\` should be awaited before using its properties. The following properties were not available through enumeration because they conflict with builtin or well-known property names: ${function(e){switch(e.length){case 0:throw new u.InvariantError("Expected describeListOfPropertyNames to be called with a non-empty list of strings.");case 1:return`\`${e[0]}\``;case 2:return`\`${e[0]}\` and \`${e[1]}\``;default:{let t="";for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{describeHasCheckingStringProperty:function(){return l},describeStringPropertyAccess:function(){return u},isRequestAPICallableInsideAfter:function(){return c},throwWithStaticGenerationBailoutError:function(){return i},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return s},wellKnownProperties:function(){return f}});let n=r(6830),o=r(8140),a=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function u(e,t){return a.test(t)?`\`${e}.${t}\``:`\`${e}[${JSON.stringify(t)}]\``}function l(e,t){let r=JSON.stringify(t);return`\`Reflect.has(${e}, ${r})\`, \`${r} in ${e}\`, or similar`}function i(e,t){throw new n.StaticGenBailoutError(`Route ${e} couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`)}function s(e,t){throw new n.StaticGenBailoutError(`Route ${e} with \`dynamic = "error"\` couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`)}function c(){let e=o.afterTaskAsyncStorage.getStore();return(null==e?void 0:e.rootTaskSpawnPhase)==="action"}let f=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","toJSON","$$typeof","__esModule"])},1042:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ReflectAdapter",{enumerable:!0,get:function(){return r}});class r{static get(e,t,r){let n=Reflect.get(e,t,r);return"function"==typeof n?n.bind(e):n}static set(e,t,r,n){return Reflect.set(e,t,r,n)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}},1394:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return u},LayoutRouterContext:function(){return a},MissingSlotContext:function(){return i},TemplateContext:function(){return l}});let n=r(306)._(r(2115)),o=n.default.createContext(null),a=n.default.createContext(null),u=n.default.createContext(null),l=n.default.createContext(null),i=n.default.createContext(new Set)},8284:(e,t)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return r}})},1233:(e,t)=>{"use strict";function r(e){let t=5381;for(let r=0;r>>0}function n(e){return r(e).toString(36).slice(0,5)}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{djb2Hash:function(){return r},hexHash:function(){return n}})},1147:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=r(306)._(r(2115)).default.createContext({})},8703:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathParamsContext:function(){return u},PathnameContext:function(){return a},SearchParamsContext:function(){return o}});let n=r(2115),o=(0,n.createContext)(null),a=(0,n.createContext)(null),u=(0,n.createContext)(null)},4940:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"InvariantError",{enumerable:!0,get:function(){return r}});class r extends Error{constructor(e,t){super("Invariant: "+(e.endsWith(".")?e:e+".")+" This is a bug in Next.js.",t),this.name="InvariantError"}}},9844:(e,t)=>{"use strict";function r(e){return Object.prototype.toString.call(e)}function n(e){if("[object Object]"!==r(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getObjectClassLabel:function(){return r},isPlainObject:function(){return n}})},2707:(e,t)=>{"use strict";function r(e){return null!==e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isThenable",{enumerable:!0,get:function(){return r}})},3719:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return n},isBailoutToCSRError:function(){return o}});let r="BAILOUT_TO_CLIENT_SIDE_RENDERING";class n extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}},9066:(e,t)=>{"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},6833:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createMutableActionQueue",{enumerable:!0,get:function(){return s}});let n=r(4445),o=r(1677),a=r(2115),u=r(2707);function l(e,t){null!==e.pending&&(e.pending=e.pending.next,null!==e.pending?i({actionQueue:e,action:e.pending,setState:t}):e.needsRefresh&&(e.needsRefresh=!1,e.dispatch({type:n.ACTION_REFRESH,origin:window.location.origin},t)))}async function i(e){let{actionQueue:t,action:r,setState:n}=e,o=t.state;t.pending=r;let a=r.payload,i=t.action(o,a);function s(e){r.discarded||(t.state=e,l(t,n),r.resolve(e))}(0,u.isThenable)(i)?i.then(s,e=>{l(t,n),r.reject(e)}):s(i)}function s(e){let t={state:e,dispatch:(e,r)=>(function(e,t,r){let o={resolve:r,reject:()=>{}};if(t.type!==n.ACTION_RESTORE){let e=new Promise((e,t)=>{o={resolve:e,reject:t}});(0,a.startTransition)(()=>{r(e)})}let u={payload:t,next:null,resolve:o.resolve,reject:o.reject};null===e.pending?(e.last=u,i({actionQueue:e,action:u,setState:r})):t.type===n.ACTION_NAVIGATE||t.type===n.ACTION_RESTORE?(e.pending.discarded=!0,e.last=u,e.pending.payload.type===n.ACTION_SERVER_ACTION&&(e.needsRefresh=!0),i({actionQueue:e,action:u,setState:r})):(null!==e.last&&(e.last.next=u),e.last=u)})(t,e,r),action:async(e,t)=>(0,o.reducer)(e,t),pending:null,last:null};return t}},9377:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=r(4046);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+t+r+o+a}},9259:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return a},normalizeRscURL:function(){return u}});let n=r(9066),o=r(6090);function a(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function u(e){return e.replace(/\.rsc($|\?)/,"$1")}},8344:(e,t)=>{"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},4283:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return n}});let r=/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i;function n(e){return r.test(e)}},4046:(e,t)=>{"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},8912:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=r(4046);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},1246:(e,t)=>{"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},6090:(e,t)=>{"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}function n(e){return e.startsWith("@")&&"@children"!==e}function o(e,t){if(e.includes(a)){let e=JSON.stringify(t);return"{}"!==e?a+"?"+e:a}return e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return u},PAGE_SEGMENT_KEY:function(){return a},addSearchParamsIfPageSegment:function(){return o},isGroupSegment:function(){return r},isParallelRouteSegment:function(){return n}});let a="__PAGE__",u="__DEFAULT__"},4125:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return a}});let n=r(9955)._(r(2115)),o=n.default.createContext(null);function a(e){let t=(0,n.useContext)(o);t&&t(e)}},2363:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},8730:(e,t,r)=>{"use strict";var n=r(2115);function o(e){var t="https://react.dev/errors/"+e;if(1{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=r(9248)},7650:(e,t,r)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=r(8730)},9062:(e,t,r)=>{"use strict";var n=r(7650),o={stream:!0},a=new Map;function u(e){var t=r(e);return"function"!=typeof t.then||"fulfilled"===t.status?null:(t.then(function(e){t.status="fulfilled",t.value=e},function(e){t.status="rejected",t.reason=e}),t)}function l(){}function i(e){for(var t=e[1],n=[],o=0;os||35===s||114===s||120===s?(c=s,s=3,l++):(c=0,s=3);continue;case 2:44===(y=u[l++])?s=4:f=f<<4|(96u.length&&(y=-1)}var g=u.byteOffset+l;if(-1{"use strict";e.exports=r(9062)},4979:(e,t,r)=>{"use strict";e.exports=r(7197)},6897:(e,t)=>{"use strict";var r=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function o(e,t,n){var o=null;if(void 0!==n&&(o=""+n),void 0!==t.key&&(o=""+t.key),"key"in t)for(var a in n={},t)"key"!==a&&(n[a]=t[a]);else n=t;return{$$typeof:r,type:e,key:o,ref:void 0!==(t=n.ref)?t:null,props:n}}t.Fragment=n,t.jsx=o,t.jsxs=o},1426:(e,t,r)=>{"use strict";var n=r(2818),o=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),y=Symbol.iterator,g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,_={};function v(e,t,r){this.props=e,this.context=t,this.refs=_,this.updater=r||g}function m(){}function P(e,t,r){this.props=e,this.context=t,this.refs=_,this.updater=r||g}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},m.prototype=v.prototype;var E=P.prototype=new m;E.constructor=P,b(E,v.prototype),E.isPureReactComponent=!0;var O=Array.isArray,R={H:null,A:null,T:null,S:null},S=Object.prototype.hasOwnProperty;function j(e,t,r,n,a,u){return{$$typeof:o,type:e,key:t,ref:void 0!==(r=u.ref)?r:null,props:u}}function w(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var T=/\/+/g;function M(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function x(){}function A(e,t,r){if(null==e)return e;var n=[],u=0;return!function e(t,r,n,u,l){var i,s,c,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case o:case a:d=!0;break;case h:return e((d=t._init)(t._payload),r,n,u,l)}}if(d)return l=l(t),d=""===u?"."+M(t,0):u,O(l)?(n="",null!=d&&(n=d.replace(T,"$&/")+"/"),e(l,r,n,"",function(e){return e})):null!=l&&(w(l)&&(i=l,s=n+(null==l.key||t&&t.key===l.key?"":(""+l.key).replace(T,"$&/")+"/")+d,l=j(i.type,s,void 0,void 0,void 0,i.props)),r.push(l)),1;d=0;var p=""===u?".":u+":";if(O(t))for(var g=0;g{"use strict";e.exports=r(1426)},5155:(e,t,r)=>{"use strict";e.exports=r(6897)},2075:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"actionAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(4054).createAsyncLocalStorage)()},4054:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{bindSnapshot:function(){return u},createAsyncLocalStorage:function(){return a},createSnapshot:function(){return l}});let r=Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available");class n{disable(){throw r}getStore(){}run(){throw r}exit(){throw r}enterWith(){throw r}static bind(e){return e}}let o="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function a(){return o?new o:new n}function u(e){return o?o.bind(e):n.bind(e)}function l(){return o?o.snapshot():function(e,...t){return e(...t)}}},7828:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(4054).createAsyncLocalStorage)()},4931:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workUnitAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(4054).createAsyncLocalStorage)()},2141:(e,t,r)=>{"use strict";function n(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}r.r(t),r.d(t,{_:()=>n})},3523:(e,t,r)=>{"use strict";r.r(t),r.d(t,{_:()=>o});var n=0;function o(e){return"__private_"+n+++"_"+e}},306:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:()=>n})},9955:(e,t,r)=>{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=a?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(o,u,l):o[u]=e[u]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:()=>o})}}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/ae6eea6a-89606064f41da4dc.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/ae6eea6a-89606064f41da4dc.js new file mode 100644 index 00000000..8956a1ba --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/ae6eea6a-89606064f41da4dc.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[811],{9798:(e,t,i)=>{i.d(t,{D:()=>tE,P:()=>t7,R:()=>t6,W:()=>e6,Y:()=>e8,a2:()=>tu,a3:()=>th,a6:()=>tv,ab:()=>t_,ad:()=>tI,ae:()=>ty,g:()=>iv,p:()=>iX,s:()=>t5,z:()=>tT});var n=i(1972),r=i(6959),s=i(4075),a=i(6476),o=i(7086);function l(){return{"dependent-sdk-initialized-before-auth":"Another Firebase SDK was initialized and is trying to use Auth before Auth is initialized. Please be sure to call `initializeAuth` or `getAuth` before starting any other Firebase SDK."}}let c=new r.FA("auth","Firebase",l()),u=new s.Vy("@firebase/auth");function h(e,...t){u.logLevel<=s.$b.ERROR&&u.error(`Auth (${n.MF}): ${e}`,...t)}function d(e,...t){throw g(e,...t)}function p(e,...t){return g(e,...t)}function f(e,t,i){let n=Object.assign(Object.assign({},l()),{[t]:i});return new r.FA("auth","Firebase",n).create(t,{appName:e.name})}function m(e){return f(e,"operation-not-supported-in-this-environment","Operations that alter the current user are not supported in conjunction with FirebaseServerApp")}function g(e,...t){if("string"!=typeof e){let i=t[0],n=[...t.slice(1)];return n[0]&&(n[0].appName=e.name),e._errorFactory.create(i,...n)}return c.create(e,...t)}function v(e,t,...i){if(!e)throw g(t,...i)}function _(e){let t="INTERNAL ASSERTION FAILED: "+e;throw h(t),Error(t)}function I(){var e;return"undefined"!=typeof self&&(null===(e=self.location)||void 0===e?void 0:e.href)||""}function y(){return"http:"===w()||"https:"===w()}function w(){var e;return"undefined"!=typeof self&&(null===(e=self.location)||void 0===e?void 0:e.protocol)||null}class T{constructor(e,t){var i;this.shortDelay=e,this.longDelay=t,i="Short delay should be less than long delay!",t>e||_(i),this.isMobile=(0,r.jZ)()||(0,r.lV)()}get(){return!("undefined"!=typeof navigator&&navigator&&"onLine"in navigator&&"boolean"==typeof navigator.onLine&&(y()||(0,r.sr)()||"connection"in navigator))||navigator.onLine?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}}function E(e,t){var i,n;i=e.emulator,n="Emulator should always be set here",i||_(n);let{url:r}=e.emulator;return t?`${r}${t.startsWith("/")?t.slice(1):t}`:r}class k{static initialize(e,t,i){this.fetchImpl=e,t&&(this.headersImpl=t),i&&(this.responseImpl=i)}static fetch(){return this.fetchImpl?this.fetchImpl:"undefined"!=typeof self&&"fetch"in self?self.fetch:"undefined"!=typeof globalThis&&globalThis.fetch?globalThis.fetch:"undefined"!=typeof fetch?fetch:void _("Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static headers(){return this.headersImpl?this.headersImpl:"undefined"!=typeof self&&"Headers"in self?self.Headers:"undefined"!=typeof globalThis&&globalThis.Headers?globalThis.Headers:"undefined"!=typeof Headers?Headers:void _("Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static response(){return this.responseImpl?this.responseImpl:"undefined"!=typeof self&&"Response"in self?self.Response:"undefined"!=typeof globalThis&&globalThis.Response?globalThis.Response:"undefined"!=typeof Response?Response:void _("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}}let S={CREDENTIAL_MISMATCH:"custom-token-mismatch",MISSING_CUSTOM_TOKEN:"internal-error",INVALID_IDENTIFIER:"invalid-email",MISSING_CONTINUE_URI:"internal-error",INVALID_PASSWORD:"wrong-password",MISSING_PASSWORD:"missing-password",INVALID_LOGIN_CREDENTIALS:"invalid-credential",EMAIL_EXISTS:"email-already-in-use",PASSWORD_LOGIN_DISABLED:"operation-not-allowed",INVALID_IDP_RESPONSE:"invalid-credential",INVALID_PENDING_TOKEN:"invalid-credential",FEDERATED_USER_ID_ALREADY_LINKED:"credential-already-in-use",MISSING_REQ_TYPE:"internal-error",EMAIL_NOT_FOUND:"user-not-found",RESET_PASSWORD_EXCEED_LIMIT:"too-many-requests",EXPIRED_OOB_CODE:"expired-action-code",INVALID_OOB_CODE:"invalid-action-code",MISSING_OOB_CODE:"internal-error",CREDENTIAL_TOO_OLD_LOGIN_AGAIN:"requires-recent-login",INVALID_ID_TOKEN:"invalid-user-token",TOKEN_EXPIRED:"user-token-expired",USER_NOT_FOUND:"user-token-expired",TOO_MANY_ATTEMPTS_TRY_LATER:"too-many-requests",PASSWORD_DOES_NOT_MEET_REQUIREMENTS:"password-does-not-meet-requirements",INVALID_CODE:"invalid-verification-code",INVALID_SESSION_INFO:"invalid-verification-id",INVALID_TEMPORARY_PROOF:"invalid-credential",MISSING_SESSION_INFO:"missing-verification-id",SESSION_EXPIRED:"code-expired",MISSING_ANDROID_PACKAGE_NAME:"missing-android-pkg-name",UNAUTHORIZED_DOMAIN:"unauthorized-continue-uri",INVALID_OAUTH_CLIENT_ID:"invalid-oauth-client-id",ADMIN_ONLY_OPERATION:"admin-restricted-operation",INVALID_MFA_PENDING_CREDENTIAL:"invalid-multi-factor-session",MFA_ENROLLMENT_NOT_FOUND:"multi-factor-info-not-found",MISSING_MFA_ENROLLMENT_ID:"missing-multi-factor-info",MISSING_MFA_PENDING_CREDENTIAL:"missing-multi-factor-session",SECOND_FACTOR_EXISTS:"second-factor-already-in-use",SECOND_FACTOR_LIMIT_EXCEEDED:"maximum-second-factor-count-exceeded",BLOCKING_FUNCTION_ERROR_RESPONSE:"internal-error",RECAPTCHA_NOT_ENABLED:"recaptcha-not-enabled",MISSING_RECAPTCHA_TOKEN:"missing-recaptcha-token",INVALID_RECAPTCHA_TOKEN:"invalid-recaptcha-token",INVALID_RECAPTCHA_ACTION:"invalid-recaptcha-action",MISSING_CLIENT_TYPE:"missing-client-type",MISSING_RECAPTCHA_VERSION:"missing-recaptcha-version",INVALID_RECAPTCHA_VERSION:"invalid-recaptcha-version",INVALID_REQ_TYPE:"invalid-req-type"},P=["/v1/accounts:signInWithCustomToken","/v1/accounts:signInWithEmailLink","/v1/accounts:signInWithIdp","/v1/accounts:signInWithPassword","/v1/accounts:signInWithPhoneNumber","/v1/token"],R=new T(3e4,6e4);function C(e,t){return e.tenantId&&!t.tenantId?Object.assign(Object.assign({},t),{tenantId:e.tenantId}):t}async function b(e,t,i,n,s={}){return O(e,s,async()=>{let s={},a={};n&&("GET"===t?a=n:s={body:JSON.stringify(n)});let o=(0,r.Am)(Object.assign({key:e.config.apiKey},a)).slice(1),l=await e._getAdditionalHeaders();l["Content-Type"]="application/json",e.languageCode&&(l["X-Firebase-Locale"]=e.languageCode);let c=Object.assign({method:t,headers:l},s);return(0,r.c1)()||(c.referrerPolicy="no-referrer"),e.emulatorConfig&&(0,r.zJ)(e.emulatorConfig.host)&&(c.credentials="include"),k.fetch()(await N(e,e.config.apiHost,i,o),c)})}async function O(e,t,i){e._canInitEmulator=!1;let n=Object.assign(Object.assign({},S),t);try{let t=new L(e),r=await Promise.race([i(),t.promise]);t.clearNetworkTimeout();let s=await r.json();if("needConfirmation"in s)throw D(e,"account-exists-with-different-credential",s);if(r.ok&&!("errorMessage"in s))return s;{let[t,i]=(r.ok?s.errorMessage:s.error.message).split(" : ");if("FEDERATED_USER_ID_ALREADY_LINKED"===t)throw D(e,"credential-already-in-use",s);if("EMAIL_EXISTS"===t)throw D(e,"email-already-in-use",s);if("USER_DISABLED"===t)throw D(e,"user-disabled",s);let a=n[t]||t.toLowerCase().replace(/[_\s]+/g,"-");if(i)throw f(e,a,i);d(e,a)}}catch(t){if(t instanceof r.g)throw t;d(e,"network-request-failed",{message:String(t)})}}async function A(e,t,i,n,r={}){let s=await b(e,t,i,n,r);return"mfaPendingCredential"in s&&d(e,"multi-factor-auth-required",{_serverResponse:s}),s}async function N(e,t,i,n){let r=`${t}${i}?${n}`,s=e.config.emulator?E(e.config,r):`${e.config.apiScheme}://${r}`;return P.includes(i)&&(await e._persistenceManagerAvailable,"COOKIE"===e._getPersistenceType())?e._getPersistence()._getFinalTarget(s).toString():s}class L{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>{this.timer=setTimeout(()=>t(p(this.auth,"network-request-failed")),R.get())})}}function D(e,t,i){let n={appName:e.name};i.email&&(n.email=i.email),i.phoneNumber&&(n.phoneNumber=i.phoneNumber);let r=p(e,t,n);return r.customData._tokenResponse=i,r}function M(e){return void 0!==e&&void 0!==e.getResponse}function U(e){return void 0!==e&&void 0!==e.enterprise}class x{constructor(e){if(this.siteKey="",this.recaptchaEnforcementState=[],void 0===e.recaptchaKey)throw Error("recaptchaKey undefined");this.siteKey=e.recaptchaKey.split("/")[3],this.recaptchaEnforcementState=e.recaptchaEnforcementState}getProviderEnforcementState(e){if(!this.recaptchaEnforcementState||0===this.recaptchaEnforcementState.length)return null;for(let t of this.recaptchaEnforcementState)if(t.provider&&t.provider===e)return function(e){switch(e){case"ENFORCE":return"ENFORCE";case"AUDIT":return"AUDIT";case"OFF":return"OFF";default:return"ENFORCEMENT_STATE_UNSPECIFIED"}}(t.enforcementState);return null}isProviderEnabled(e){return"ENFORCE"===this.getProviderEnforcementState(e)||"AUDIT"===this.getProviderEnforcementState(e)}isAnyProviderEnabled(){return this.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")||this.isProviderEnabled("PHONE_PROVIDER")}}async function F(e){return(await b(e,"GET","/v1/recaptchaParams")).recaptchaSiteKey||""}async function V(e,t){return b(e,"GET","/v2/recaptchaConfig",C(e,t))}async function j(e,t){return b(e,"POST","/v1/accounts:delete",t)}async function H(e,t){return b(e,"POST","/v1/accounts:lookup",t)}function W(e){if(e)try{let t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch(e){}}async function z(e,t=!1){let i=(0,r.Ku)(e),n=await i.getIdToken(t),s=$(n);v(s&&s.exp&&s.auth_time&&s.iat,i.auth,"internal-error");let a="object"==typeof s.firebase?s.firebase:void 0,o=null==a?void 0:a.sign_in_provider;return{claims:s,token:n,authTime:W(K(s.auth_time)),issuedAtTime:W(K(s.iat)),expirationTime:W(K(s.exp)),signInProvider:o||null,signInSecondFactor:(null==a?void 0:a.sign_in_second_factor)||null}}function K(e){return 1e3*Number(e)}function $(e){let[t,i,n]=e.split(".");if(void 0===t||void 0===i||void 0===n)return h("JWT malformed, contained fewer than 3 sections"),null;try{let e=(0,r.u)(i);if(!e)return h("Failed to decode base64 JWT payload"),null;return JSON.parse(e)}catch(e){return h("Caught error parsing JWT payload as JSON",null==e?void 0:e.toString()),null}}function q(e){let t=$(e);return v(t,"internal-error"),v(void 0!==t.exp,"internal-error"),v(void 0!==t.iat,"internal-error"),Number(t.exp)-Number(t.iat)}async function G(e,t,i=!1){if(i)return t;try{return await t}catch(t){throw t instanceof r.g&&function({code:e}){return"auth/user-disabled"===e||"auth/user-token-expired"===e}(t)&&e.auth.currentUser===e&&await e.auth.signOut(),t}}class B{constructor(e){this.user=e,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,null!==this.timerId&&clearTimeout(this.timerId))}getInterval(e){var t;if(!e)return this.errorBackoff=3e4,Math.max(0,(null!==(t=this.user.stsTokenManager.expirationTime)&&void 0!==t?t:0)-Date.now()-3e5);{let e=this.errorBackoff;return this.errorBackoff=Math.min(2*this.errorBackoff,96e4),e}}schedule(e=!1){if(!this.isRunning)return;let t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){try{await this.user.getIdToken(!0)}catch(e){(null==e?void 0:e.code)==="auth/network-request-failed"&&this.schedule(!0);return}this.schedule()}}class J{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=W(this.lastLoginAt),this.creationTime=W(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}async function Z(e){var t;let i=e.auth,n=await e.getIdToken(),r=await G(e,H(i,{idToken:n}));v(null==r?void 0:r.users.length,i,"internal-error");let s=r.users[0];e._notifyReloadListener(s);let a=(null===(t=s.providerUserInfo)||void 0===t?void 0:t.length)?Q(s.providerUserInfo):[],o=[...e.providerData.filter(e=>!a.some(t=>t.providerId===e.providerId)),...a],l=e.isAnonymous,c=!(e.email&&s.passwordHash)&&!(null==o?void 0:o.length);Object.assign(e,{uid:s.localId,displayName:s.displayName||null,photoURL:s.photoUrl||null,email:s.email||null,emailVerified:s.emailVerified||!1,phoneNumber:s.phoneNumber||null,tenantId:s.tenantId||null,providerData:o,metadata:new J(s.createdAt,s.lastLoginAt),isAnonymous:!!l&&c})}async function Y(e){let t=(0,r.Ku)(e);await Z(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)}function Q(e){return e.map(e=>{var{providerId:t}=e,i=(0,a.Tt)(e,["providerId"]);return{providerId:t,uid:i.rawId||"",displayName:i.displayName||null,email:i.email||null,phoneNumber:i.phoneNumber||null,photoURL:i.photoUrl||null}})}async function X(e,t){let i=await O(e,{},async()=>{let i=(0,r.Am)({grant_type:"refresh_token",refresh_token:t}).slice(1),{tokenApiHost:n,apiKey:s}=e.config,a=await N(e,n,"/v1/token",`key=${s}`),o=await e._getAdditionalHeaders();o["Content-Type"]="application/x-www-form-urlencoded";let l={method:"POST",headers:o,body:i};return e.emulatorConfig&&(0,r.zJ)(e.emulatorConfig.host)&&(l.credentials="include"),k.fetch()(a,l)});return{accessToken:i.access_token,expiresIn:i.expires_in,refreshToken:i.refresh_token}}async function ee(e,t){return b(e,"POST","/v2/accounts:revokeToken",C(e,t))}class et{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){v(e.idToken,"internal-error"),v(void 0!==e.idToken,"internal-error"),v(void 0!==e.refreshToken,"internal-error");let t="expiresIn"in e&&void 0!==e.expiresIn?Number(e.expiresIn):q(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){v(0!==e.length,"internal-error");let t=q(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return t||!this.accessToken||this.isExpired?(v(this.refreshToken,e,"user-token-expired"),this.refreshToken)?(await this.refresh(e,this.refreshToken),this.accessToken):null:this.accessToken}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){let{accessToken:i,refreshToken:n,expiresIn:r}=await X(e,t);this.updateTokensAndExpiration(i,n,Number(r))}updateTokensAndExpiration(e,t,i){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+1e3*i}static fromJSON(e,t){let{refreshToken:i,accessToken:n,expirationTime:r}=t,s=new et;return i&&(v("string"==typeof i,"internal-error",{appName:e}),s.refreshToken=i),n&&(v("string"==typeof n,"internal-error",{appName:e}),s.accessToken=n),r&&(v("number"==typeof r,"internal-error",{appName:e}),s.expirationTime=r),s}toJSON(){return{refreshToken:this.refreshToken,accessToken:this.accessToken,expirationTime:this.expirationTime}}_assign(e){this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.expirationTime=e.expirationTime}_clone(){return Object.assign(new et,this.toJSON())}_performRefresh(){return _("not implemented")}}function ei(e,t){v("string"==typeof e||void 0===e,"internal-error",{appName:t})}class en{constructor(e){var{uid:t,auth:i,stsTokenManager:n}=e,r=(0,a.Tt)(e,["uid","auth","stsTokenManager"]);this.providerId="firebase",this.proactiveRefresh=new B(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=t,this.auth=i,this.stsTokenManager=n,this.accessToken=n.accessToken,this.displayName=r.displayName||null,this.email=r.email||null,this.emailVerified=r.emailVerified||!1,this.phoneNumber=r.phoneNumber||null,this.photoURL=r.photoURL||null,this.isAnonymous=r.isAnonymous||!1,this.tenantId=r.tenantId||null,this.providerData=r.providerData?[...r.providerData]:[],this.metadata=new J(r.createdAt||void 0,r.lastLoginAt||void 0)}async getIdToken(e){let t=await G(this,this.stsTokenManager.getToken(this.auth,e));return v(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return z(this,e)}reload(){return Y(this)}_assign(e){this!==e&&(v(this.uid===e.uid,this.auth,"internal-error"),this.displayName=e.displayName,this.photoURL=e.photoURL,this.email=e.email,this.emailVerified=e.emailVerified,this.phoneNumber=e.phoneNumber,this.isAnonymous=e.isAnonymous,this.tenantId=e.tenantId,this.providerData=e.providerData.map(e=>Object.assign({},e)),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(e){let t=new en(Object.assign(Object.assign({},this),{auth:e,stsTokenManager:this.stsTokenManager._clone()}));return t.metadata._copy(this.metadata),t}_onReload(e){v(!this.reloadListener,this.auth,"internal-error"),this.reloadListener=e,this.reloadUserInfo&&(this._notifyReloadListener(this.reloadUserInfo),this.reloadUserInfo=null)}_notifyReloadListener(e){this.reloadListener?this.reloadListener(e):this.reloadUserInfo=e}_startProactiveRefresh(){this.proactiveRefresh._start()}_stopProactiveRefresh(){this.proactiveRefresh._stop()}async _updateTokensIfNecessary(e,t=!1){let i=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),i=!0),t&&await Z(this),await this.auth._persistUserIfCurrent(this),i&&this.auth._notifyListenersIfCurrent(this)}async delete(){if((0,n.xZ)(this.auth.app))return Promise.reject(m(this.auth));let e=await this.getIdToken();return await G(this,j(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return Object.assign(Object.assign({uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>Object.assign({},e)),stsTokenManager:this.stsTokenManager.toJSON(),_redirectEventId:this._redirectEventId},this.metadata.toJSON()),{apiKey:this.auth.config.apiKey,appName:this.auth.name})}get refreshToken(){return this.stsTokenManager.refreshToken||""}static _fromJSON(e,t){var i,n,r,s,a,o,l,c;let u=null!==(i=t.displayName)&&void 0!==i?i:void 0,h=null!==(n=t.email)&&void 0!==n?n:void 0,d=null!==(r=t.phoneNumber)&&void 0!==r?r:void 0,p=null!==(s=t.photoURL)&&void 0!==s?s:void 0,f=null!==(a=t.tenantId)&&void 0!==a?a:void 0,m=null!==(o=t._redirectEventId)&&void 0!==o?o:void 0,g=null!==(l=t.createdAt)&&void 0!==l?l:void 0,_=null!==(c=t.lastLoginAt)&&void 0!==c?c:void 0,{uid:I,emailVerified:y,isAnonymous:w,providerData:T,stsTokenManager:E}=t;v(I&&E,e,"internal-error");let k=et.fromJSON(this.name,E);v("string"==typeof I,e,"internal-error"),ei(u,e.name),ei(h,e.name),v("boolean"==typeof y,e,"internal-error"),v("boolean"==typeof w,e,"internal-error"),ei(d,e.name),ei(p,e.name),ei(f,e.name),ei(m,e.name),ei(g,e.name),ei(_,e.name);let S=new en({uid:I,auth:e,email:h,emailVerified:y,displayName:u,isAnonymous:w,photoURL:p,phoneNumber:d,tenantId:f,stsTokenManager:k,createdAt:g,lastLoginAt:_});return T&&Array.isArray(T)&&(S.providerData=T.map(e=>Object.assign({},e))),m&&(S._redirectEventId=m),S}static async _fromIdTokenResponse(e,t,i=!1){let n=new et;n.updateFromServerResponse(t);let r=new en({uid:t.localId,auth:e,stsTokenManager:n,isAnonymous:i});return await Z(r),r}static async _fromGetAccountInfoResponse(e,t,i){let n=t.users[0];v(void 0!==n.localId,"internal-error");let r=void 0!==n.providerUserInfo?Q(n.providerUserInfo):[],s=!(n.email&&n.passwordHash)&&!(null==r?void 0:r.length),a=new et;a.updateFromIdToken(i);let o=new en({uid:n.localId,auth:e,stsTokenManager:a,isAnonymous:s});return Object.assign(o,{uid:n.localId,displayName:n.displayName||null,photoURL:n.photoUrl||null,email:n.email||null,emailVerified:n.emailVerified||!1,phoneNumber:n.phoneNumber||null,tenantId:n.tenantId||null,providerData:r,metadata:new J(n.createdAt,n.lastLoginAt),isAnonymous:!(n.email&&n.passwordHash)&&!(null==r?void 0:r.length)}),o}}let er=new Map;function es(e){var t,i;t="Expected a class definition",e instanceof Function||_(t);let n=er.get(e);return n?(i="Instance stored in cache mismatched with class",n instanceof e||_(i)):(n=new e,er.set(e,n)),n}class ea{constructor(){this.type="NONE",this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){let t=this.storage[e];return void 0===t?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}}function eo(e,t,i){return`firebase:${e}:${t}:${i}`}ea.type="NONE";class el{constructor(e,t,i){this.persistence=e,this.auth=t,this.userKey=i;let{config:n,name:r}=this.auth;this.fullUserKey=eo(this.userKey,n.apiKey,r),this.fullPersistenceKey=eo("persistence",n.apiKey,r),this.boundEventHandler=t._onStorageEvent.bind(t),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}setCurrentUser(e){return this.persistence._set(this.fullUserKey,e.toJSON())}async getCurrentUser(){let e=await this.persistence._get(this.fullUserKey);if(!e)return null;if("string"==typeof e){let t=await H(this.auth,{idToken:e}).catch(()=>void 0);return t?en._fromGetAccountInfoResponse(this.auth,t,e):null}return en._fromJSON(this.auth,e)}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}async setPersistence(e){if(this.persistence===e)return;let t=await this.getCurrentUser();if(await this.removeCurrentUser(),this.persistence=e,t)return this.setCurrentUser(t)}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static async create(e,t,i="authUser"){if(!t.length)return new el(es(ea),e,i);let n=(await Promise.all(t.map(async e=>{if(await e._isAvailable())return e}))).filter(e=>e),r=n[0]||es(ea),s=eo(i,e.config.apiKey,e.name),a=null;for(let i of t)try{let t=await i._get(s);if(t){let n;if("string"==typeof t){let i=await H(e,{idToken:t}).catch(()=>void 0);if(!i)break;n=await en._fromGetAccountInfoResponse(e,i,t)}else n=en._fromJSON(e,t);i!==r&&(a=n),r=i;break}}catch(e){}let o=n.filter(e=>e._shouldAllowMigration);return r._shouldAllowMigration&&o.length&&(r=o[0],a&&await r._set(s,a.toJSON()),await Promise.all(t.map(async e=>{if(e!==r)try{await e._remove(s)}catch(e){}}))),new el(r,e,i)}}function ec(e){let t=e.toLowerCase();if(t.includes("opera/")||t.includes("opr/")||t.includes("opios/"))return"Opera";if(ep(t))return"IEMobile";if(t.includes("msie")||t.includes("trident/"))return"IE";{if(t.includes("edge/"))return"Edge";if(eu(t))return"Firefox";if(t.includes("silk/"))return"Silk";if(em(t))return"Blackberry";if(eg(t))return"Webos";if(eh(t))return"Safari";if((t.includes("chrome/")||ed(t))&&!t.includes("edge/"))return"Chrome";if(ef(t))return"Android";let i=e.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/);if((null==i?void 0:i.length)===2)return i[1]}return"Other"}function eu(e=(0,r.ZQ)()){return/firefox\//i.test(e)}function eh(e=(0,r.ZQ)()){let t=e.toLowerCase();return t.includes("safari/")&&!t.includes("chrome/")&&!t.includes("crios/")&&!t.includes("android")}function ed(e=(0,r.ZQ)()){return/crios\//i.test(e)}function ep(e=(0,r.ZQ)()){return/iemobile/i.test(e)}function ef(e=(0,r.ZQ)()){return/android/i.test(e)}function em(e=(0,r.ZQ)()){return/blackberry/i.test(e)}function eg(e=(0,r.ZQ)()){return/webos/i.test(e)}function ev(e=(0,r.ZQ)()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function e_(e=(0,r.ZQ)()){return ev(e)||ef(e)||eg(e)||em(e)||/windows phone/i.test(e)||ep(e)}function eI(e,t=[]){let i;switch(e){case"Browser":i=ec((0,r.ZQ)());break;case"Worker":i=`${ec((0,r.ZQ)())}-${e}`;break;default:i=e}let s=t.length?t.join(","):"FirebaseCore-web";return`${i}/JsCore/${n.MF}/${s}`}class ey{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){let i=t=>new Promise((i,n)=>{try{let n=e(t);i(n)}catch(e){n(e)}});i.onAbort=t,this.queue.push(i);let n=this.queue.length-1;return()=>{this.queue[n]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;let t=[];try{for(let i of this.queue)await i(e),i.onAbort&&t.push(i.onAbort)}catch(e){for(let e of(t.reverse(),t))try{e()}catch(e){}throw this.auth._errorFactory.create("login-blocked",{originalMessage:null==e?void 0:e.message})}}}async function ew(e,t={}){return b(e,"GET","/v2/passwordPolicy",C(e,t))}class eT{constructor(e){var t,i,n,r;let s=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=null!==(t=s.minPasswordLength)&&void 0!==t?t:6,s.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=s.maxPasswordLength),void 0!==s.containsLowercaseCharacter&&(this.customStrengthOptions.containsLowercaseLetter=s.containsLowercaseCharacter),void 0!==s.containsUppercaseCharacter&&(this.customStrengthOptions.containsUppercaseLetter=s.containsUppercaseCharacter),void 0!==s.containsNumericCharacter&&(this.customStrengthOptions.containsNumericCharacter=s.containsNumericCharacter),void 0!==s.containsNonAlphanumericCharacter&&(this.customStrengthOptions.containsNonAlphanumericCharacter=s.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,"ENFORCEMENT_STATE_UNSPECIFIED"===this.enforcementState&&(this.enforcementState="OFF"),this.allowedNonAlphanumericCharacters=null!==(n=null===(i=e.allowedNonAlphanumericCharacters)||void 0===i?void 0:i.join(""))&&void 0!==n?n:"",this.forceUpgradeOnSignin=null!==(r=e.forceUpgradeOnSignin)&&void 0!==r&&r,this.schemaVersion=e.schemaVersion}validatePassword(e){var t,i,n,r,s,a;let o={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,o),this.validatePasswordCharacterOptions(e,o),o.isValid&&(o.isValid=null===(t=o.meetsMinPasswordLength)||void 0===t||t),o.isValid&&(o.isValid=null===(i=o.meetsMaxPasswordLength)||void 0===i||i),o.isValid&&(o.isValid=null===(n=o.containsLowercaseLetter)||void 0===n||n),o.isValid&&(o.isValid=null===(r=o.containsUppercaseLetter)||void 0===r||r),o.isValid&&(o.isValid=null===(s=o.containsNumericCharacter)||void 0===s||s),o.isValid&&(o.isValid=null===(a=o.containsNonAlphanumericCharacter)||void 0===a||a),o}validatePasswordLengthOptions(e,t){let i=this.customStrengthOptions.minPasswordLength,n=this.customStrengthOptions.maxPasswordLength;i&&(t.meetsMinPasswordLength=e.length>=i),n&&(t.meetsMaxPasswordLength=e.length<=n)}validatePasswordCharacterOptions(e,t){let i;this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);for(let n=0;n="a"&&i<="z",i>="A"&&i<="Z",i>="0"&&i<="9",this.allowedNonAlphanumericCharacters.includes(i))}updatePasswordCharacterOptionsStatuses(e,t,i,n,r){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||(e.containsLowercaseLetter=t)),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||(e.containsUppercaseLetter=i)),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||(e.containsNumericCharacter=n)),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||(e.containsNonAlphanumericCharacter=r))}}class eE{constructor(e,t,i,n){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=i,this.config=n,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new eS(this),this.idTokenSubscription=new eS(this),this.beforeStateQueue=new ey(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION=1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=c,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this._projectPasswordPolicy=null,this._tenantPasswordPolicies={},this._resolvePersistenceManagerAvailable=void 0,this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=n.sdkClientVersion,this._persistenceManagerAvailable=new Promise(e=>this._resolvePersistenceManagerAvailable=e)}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=es(t)),this._initializationPromise=this.queue(async()=>{var i,n,r;if(!this._deleted&&(this.persistenceManager=await el.create(this,e),null===(i=this._resolvePersistenceManagerAvailable)||void 0===i||i.call(this),!this._deleted)){if(null===(n=this._popupRedirectResolver)||void 0===n?void 0:n._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch(e){}await this.initializeCurrentUser(t),this.lastNotifiedUid=(null===(r=this.currentUser)||void 0===r?void 0:r.uid)||null,this._deleted||(this._isInitialized=!0)}}),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;let e=await this.assertedPersistence.getCurrentUser();if(this.currentUser||e){if(this.currentUser&&e&&this.currentUser.uid===e.uid){this._currentUser._assign(e),await this.currentUser.getIdToken();return}await this._updateCurrentUser(e,!0)}}async initializeCurrentUserFromIdToken(e){try{let t=await H(this,{idToken:e}),i=await en._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(i)}catch(e){console.warn("FirebaseServerApp could not login user with provided authIdToken: ",e),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){var t;if((0,n.xZ)(this.app)){let e=this.app.settings.authIdToken;return e?new Promise(t=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(e).then(t,t))}):this.directlySetCurrentUser(null)}let i=await this.assertedPersistence.getCurrentUser(),r=i,s=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();let i=null===(t=this.redirectUser)||void 0===t?void 0:t._redirectEventId,n=null==r?void 0:r._redirectEventId,a=await this.tryRedirectSignIn(e);(!i||i===n)&&(null==a?void 0:a.user)&&(r=a.user,s=!0)}if(!r)return this.directlySetCurrentUser(null);if(!r._redirectEventId){if(s)try{await this.beforeStateQueue.runMiddleware(r)}catch(e){r=i,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(e))}return r?this.reloadAndSetCurrentUserOrClear(r):this.directlySetCurrentUser(null)}return(v(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===r._redirectEventId)?this.directlySetCurrentUser(r):this.reloadAndSetCurrentUserOrClear(r)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch(e){await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await Z(e)}catch(e){if((null==e?void 0:e.code)!=="auth/network-request-failed")return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=function(){if("undefined"==typeof navigator)return null;let e=navigator;return e.languages&&e.languages[0]||e.language||null}()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if((0,n.xZ)(this.app))return Promise.reject(m(this));let t=e?(0,r.Ku)(e):null;return t&&v(t.auth.config.apiKey===this.config.apiKey,this,"invalid-user-token"),this._updateCurrentUser(t&&t._clone(this))}async _updateCurrentUser(e,t=!1){if(!this._deleted)return e&&v(this.tenantId===e.tenantId,this,"tenant-id-mismatch"),t||await this.beforeStateQueue.runMiddleware(e),this.queue(async()=>{await this.directlySetCurrentUser(e),this.notifyAuthListeners()})}async signOut(){return(0,n.xZ)(this.app)?Promise.reject(m(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return(0,n.xZ)(this.app)?Promise.reject(m(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(es(e))})}_getRecaptchaConfig(){return null==this.tenantId?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();let t=this._getPasswordPolicyInternal();return t.schemaVersion!==this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION?Promise.reject(this._errorFactory.create("unsupported-password-policy-schema-version",{})):t.validatePassword(e)}_getPasswordPolicyInternal(){return null===this.tenantId?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){let e=new eT(await ew(this));null===this.tenantId?this._projectPasswordPolicy=e:this._tenantPasswordPolicies[this.tenantId]=e}_getPersistenceType(){return this.assertedPersistence.persistence.type}_getPersistence(){return this.assertedPersistence.persistence}_updateErrorMap(e){this._errorFactory=new r.FA("auth","Firebase",e())}onAuthStateChanged(e,t,i){return this.registerStateListener(this.authStateSubscription,e,t,i)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,i){return this.registerStateListener(this.idTokenSubscription,e,t,i)}authStateReady(){return new Promise((e,t)=>{if(this.currentUser)e();else{let i=this.onAuthStateChanged(()=>{i(),e()},t)}})}async revokeAccessToken(e){if(this.currentUser){let t={providerId:"apple.com",tokenType:"ACCESS_TOKEN",token:e,idToken:await this.currentUser.getIdToken()};null!=this.tenantId&&(t.tenantId=this.tenantId),await ee(this,t)}}toJSON(){var e;return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:null===(e=this._currentUser)||void 0===e?void 0:e.toJSON()}}async _setRedirectUser(e,t){let i=await this.getOrInitRedirectPersistenceManager(t);return null===e?i.removeCurrentUser():i.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){let t=e&&es(e)||this._popupRedirectResolver;v(t,this,"argument-error"),this.redirectPersistenceManager=await el.create(this,[es(t._redirectPersistence)],"redirectUser"),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){var t,i;return(this._isInitialized&&await this.queue(async()=>{}),(null===(t=this._currentUser)||void 0===t?void 0:t._redirectEventId)===e)?this._currentUser:(null===(i=this.redirectUser)||void 0===i?void 0:i._redirectEventId)===e?this.redirectUser:null}async _persistUserIfCurrent(e){if(e===this.currentUser)return this.queue(async()=>this.directlySetCurrentUser(e))}_notifyListenersIfCurrent(e){e===this.currentUser&&this.notifyAuthListeners()}_key(){return`${this.config.authDomain}:${this.config.apiKey}:${this.name}`}_startProactiveRefresh(){this.isProactiveRefreshEnabled=!0,this.currentUser&&this._currentUser._startProactiveRefresh()}_stopProactiveRefresh(){this.isProactiveRefreshEnabled=!1,this.currentUser&&this._currentUser._stopProactiveRefresh()}get _currentUser(){return this.currentUser}notifyAuthListeners(){var e,t;if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);let i=null!==(t=null===(e=this.currentUser)||void 0===e?void 0:e.uid)&&void 0!==t?t:null;this.lastNotifiedUid!==i&&(this.lastNotifiedUid=i,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,i,n){if(this._deleted)return()=>{};let r="function"==typeof t?t:t.next.bind(t),s=!1,a=this._isInitialized?Promise.resolve():this._initializationPromise;if(v(a,this,"internal-error"),a.then(()=>{s||r(this.currentUser)}),"function"==typeof t){let r=e.addObserver(t,i,n);return()=>{s=!0,r()}}{let i=e.addObserver(t);return()=>{s=!0,i()}}}async directlySetCurrentUser(e){this.currentUser&&this.currentUser!==e&&this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh(),this.currentUser=e,e?await this.assertedPersistence.setCurrentUser(e):await this.assertedPersistence.removeCurrentUser()}queue(e){return this.operations=this.operations.then(e,e),this.operations}get assertedPersistence(){return v(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=eI(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){var e;let t={"X-Client-Version":this.clientVersion};this.app.options.appId&&(t["X-Firebase-gmpid"]=this.app.options.appId);let i=await (null===(e=this.heartbeatServiceProvider.getImmediate({optional:!0}))||void 0===e?void 0:e.getHeartbeatsHeader());i&&(t["X-Firebase-Client"]=i);let n=await this._getAppCheckToken();return n&&(t["X-Firebase-AppCheck"]=n),t}async _getAppCheckToken(){var e;if((0,n.xZ)(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;let t=await (null===(e=this.appCheckServiceProvider.getImmediate({optional:!0}))||void 0===e?void 0:e.getToken());return(null==t?void 0:t.error)&&function(e,...t){u.logLevel<=s.$b.WARN&&u.warn(`Auth (${n.MF}): ${e}`,...t)}(`Error while retrieving App Check token: ${t.error}`),null==t?void 0:t.token}}function ek(e){return(0,r.Ku)(e)}class eS{constructor(e){this.auth=e,this.observer=null,this.addObserver=(0,r.tD)(e=>this.observer=e)}get next(){return v(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}let eP={async loadJS(){throw Error("Unable to load external scripts")},recaptchaV2Script:"",recaptchaEnterpriseScript:"",gapiScript:""};function eR(e){return eP.loadJS(e)}function eC(e){return`__${e}${Math.floor(1e6*Math.random())}`}class eb{constructor(e){this.auth=e,this.counter=1e12,this._widgets=new Map}render(e,t){let i=this.counter;return this._widgets.set(i,new eN(e,this.auth.name,t||{})),this.counter++,i}reset(e){var t;let i=e||1e12;null===(t=this._widgets.get(i))||void 0===t||t.delete(),this._widgets.delete(i)}getResponse(e){var t;return(null===(t=this._widgets.get(e||1e12))||void 0===t?void 0:t.getResponse())||""}async execute(e){var t;return null===(t=this._widgets.get(e||1e12))||void 0===t||t.execute(),""}}class eO{constructor(){this.enterprise=new eA}ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class eA{ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class eN{constructor(e,t,i){this.params=i,this.timerId=null,this.deleted=!1,this.responseToken=null,this.clickHandler=()=>{this.execute()};let n="string"==typeof e?document.getElementById(e):e;v(n,"argument-error",{appName:t}),this.container=n,this.isVisible="invisible"!==this.params.size,this.isVisible?this.execute():this.container.addEventListener("click",this.clickHandler)}getResponse(){return this.checkIfDeleted(),this.responseToken}delete(){this.checkIfDeleted(),this.deleted=!0,this.timerId&&(clearTimeout(this.timerId),this.timerId=null),this.container.removeEventListener("click",this.clickHandler)}execute(){this.checkIfDeleted(),this.timerId||(this.timerId=window.setTimeout(()=>{this.responseToken=function(e){let t=[],i="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";for(let e=0;e<50;e++)t.push(i.charAt(Math.floor(Math.random()*i.length)));return t.join("")}(0);let{callback:e,"expired-callback":t}=this.params;if(e)try{e(this.responseToken)}catch(e){}this.timerId=window.setTimeout(()=>{if(this.timerId=null,this.responseToken=null,t)try{t()}catch(e){}this.isVisible&&this.execute()},6e4)},500))}checkIfDeleted(){if(this.deleted)throw Error("reCAPTCHA mock was already deleted!")}}let eL="NO_RECAPTCHA";class eD{constructor(e){this.type="recaptcha-enterprise",this.auth=ek(e)}async verify(e="verify",t=!1){async function i(e){if(!t){if(null==e.tenantId&&null!=e._agentRecaptchaConfig)return e._agentRecaptchaConfig.siteKey;if(null!=e.tenantId&&void 0!==e._tenantRecaptchaConfigs[e.tenantId])return e._tenantRecaptchaConfigs[e.tenantId].siteKey}return new Promise(async(t,i)=>{V(e,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}).then(n=>{if(void 0===n.recaptchaKey)i(Error("recaptcha Enterprise site key undefined"));else{let i=new x(n);return null==e.tenantId?e._agentRecaptchaConfig=i:e._tenantRecaptchaConfigs[e.tenantId]=i,t(i.siteKey)}}).catch(e=>{i(e)})})}function n(t,i,n){let r=window.grecaptcha;U(r)?r.enterprise.ready(()=>{r.enterprise.execute(t,{action:e}).then(e=>{i(e)}).catch(()=>{i(eL)})}):n(Error("No reCAPTCHA enterprise script loaded."))}return this.auth.settings.appVerificationDisabledForTesting?new eO().execute("siteKey",{action:"verify"}):new Promise((e,r)=>{i(this.auth).then(i=>{if(!t&&U(window.grecaptcha))n(i,e,r);else{if("undefined"==typeof window){r(Error("RecaptchaVerifier is only supported in browser"));return}let t=eP.recaptchaEnterpriseScript;0!==t.length&&(t+=i),eR(t).then(()=>{n(i,e,r)}).catch(e=>{r(e)})}}).catch(e=>{r(e)})})}}async function eM(e,t,i,n=!1,r=!1){let s;let a=new eD(e);if(r)s=eL;else try{s=await a.verify(i)}catch(e){s=await a.verify(i,!0)}let o=Object.assign({},t);if("mfaSmsEnrollment"===i||"mfaSmsSignIn"===i){if("phoneEnrollmentInfo"in o){let e=o.phoneEnrollmentInfo.phoneNumber,t=o.phoneEnrollmentInfo.recaptchaToken;Object.assign(o,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:t,captchaResponse:s,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}else if("phoneSignInInfo"in o){let e=o.phoneSignInInfo.recaptchaToken;Object.assign(o,{phoneSignInInfo:{recaptchaToken:e,captchaResponse:s,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}return o}return n?Object.assign(o,{captchaResp:s}):Object.assign(o,{captchaResponse:s}),Object.assign(o,{clientType:"CLIENT_TYPE_WEB"}),Object.assign(o,{recaptchaVersion:"RECAPTCHA_ENTERPRISE"}),o}async function eU(e,t,i,n,r){var s,a;if("EMAIL_PASSWORD_PROVIDER"===r){if(null===(s=e._getRecaptchaConfig())||void 0===s||!s.isProviderEnabled("EMAIL_PASSWORD_PROVIDER"))return n(e,t).catch(async r=>{if("auth/missing-recaptcha-token"!==r.code)return Promise.reject(r);{console.log(`${i} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`);let r=await eM(e,t,i,"getOobCode"===i);return n(e,r)}});{let r=await eM(e,t,i,"getOobCode"===i);return n(e,r)}}if("PHONE_PROVIDER"!==r)return Promise.reject(r+" provider is not supported.");if(null===(a=e._getRecaptchaConfig())||void 0===a?void 0:a.isProviderEnabled("PHONE_PROVIDER")){let r=await eM(e,t,i);return n(e,r).catch(async r=>{var s;if((null===(s=e._getRecaptchaConfig())||void 0===s?void 0:s.getProviderEnforcementState("PHONE_PROVIDER"))==="AUDIT"&&("auth/missing-recaptcha-token"===r.code||"auth/invalid-app-credential"===r.code)){console.log(`Failed to verify with reCAPTCHA Enterprise. Automatically triggering the reCAPTCHA v2 flow to complete the ${i} flow.`);let r=await eM(e,t,i,!1,!0);return n(e,r)}return Promise.reject(r)})}{let r=await eM(e,t,i,!1,!0);return n(e,r)}}async function ex(e){let t=ek(e),i=new x(await V(t,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}));null==t.tenantId?t._agentRecaptchaConfig=i:t._tenantRecaptchaConfigs[t.tenantId]=i,i.isAnyProviderEnabled()&&new eD(t).verify()}function eF(e){let t=e.indexOf(":");return t<0?"":e.substr(0,t+1)}function eV(e){if(!e)return null;let t=Number(e);return isNaN(t)?null:t}class ej{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return _("not implemented")}_getIdTokenResponse(e){return _("not implemented")}_linkToIdToken(e,t){return _("not implemented")}_getReauthenticationResolver(e){return _("not implemented")}}async function eH(e,t){return b(e,"POST","/v1/accounts:signUp",t)}async function eW(e,t){return A(e,"POST","/v1/accounts:signInWithPassword",C(e,t))}async function ez(e,t){return b(e,"POST","/v1/accounts:sendOobCode",C(e,t))}async function eK(e,t){return ez(e,t)}async function e$(e,t){return ez(e,t)}async function eq(e,t){return A(e,"POST","/v1/accounts:signInWithEmailLink",C(e,t))}async function eG(e,t){return A(e,"POST","/v1/accounts:signInWithEmailLink",C(e,t))}class eB extends ej{constructor(e,t,i,n=null){super("password",i),this._email=e,this._password=t,this._tenantId=n}static _fromEmailAndPassword(e,t){return new eB(e,t,"password")}static _fromEmailAndCode(e,t,i=null){return new eB(e,t,"emailLink",i)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){let t="string"==typeof e?JSON.parse(e):e;if((null==t?void 0:t.email)&&(null==t?void 0:t.password)){if("password"===t.signInMethod)return this._fromEmailAndPassword(t.email,t.password);if("emailLink"===t.signInMethod)return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case"password":return eU(e,{returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"},"signInWithPassword",eW,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return eq(e,{email:this._email,oobCode:this._password});default:d(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":return eU(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",eH,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return eG(e,{idToken:t,email:this._email,oobCode:this._password});default:d(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}async function eJ(e,t){return A(e,"POST","/v1/accounts:signInWithIdp",C(e,t))}class eZ extends ej{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){let t=new eZ(e.providerId,e.signInMethod);return e.idToken||e.accessToken?(e.idToken&&(t.idToken=e.idToken),e.accessToken&&(t.accessToken=e.accessToken),e.nonce&&!e.pendingToken&&(t.nonce=e.nonce),e.pendingToken&&(t.pendingToken=e.pendingToken)):e.oauthToken&&e.oauthTokenSecret?(t.accessToken=e.oauthToken,t.secret=e.oauthTokenSecret):d("argument-error"),t}toJSON(){return{idToken:this.idToken,accessToken:this.accessToken,secret:this.secret,nonce:this.nonce,pendingToken:this.pendingToken,providerId:this.providerId,signInMethod:this.signInMethod}}static fromJSON(e){let t="string"==typeof e?JSON.parse(e):e,{providerId:i,signInMethod:n}=t,r=(0,a.Tt)(t,["providerId","signInMethod"]);if(!i||!n)return null;let s=new eZ(i,n);return s.idToken=r.idToken||void 0,s.accessToken=r.accessToken||void 0,s.secret=r.secret,s.nonce=r.nonce,s.pendingToken=r.pendingToken||null,s}_getIdTokenResponse(e){return eJ(e,this.buildRequest())}_linkToIdToken(e,t){let i=this.buildRequest();return i.idToken=t,eJ(e,i)}_getReauthenticationResolver(e){let t=this.buildRequest();return t.autoCreate=!1,eJ(e,t)}buildRequest(){let e={requestUri:"http://localhost",returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{let t={};this.idToken&&(t.id_token=this.idToken),this.accessToken&&(t.access_token=this.accessToken),this.secret&&(t.oauth_token_secret=this.secret),t.providerId=this.providerId,this.nonce&&!this.pendingToken&&(t.nonce=this.nonce),e.postBody=(0,r.Am)(t)}return e}}async function eY(e,t){return b(e,"POST","/v1/accounts:sendVerificationCode",C(e,t))}async function eQ(e,t){return A(e,"POST","/v1/accounts:signInWithPhoneNumber",C(e,t))}async function eX(e,t){let i=await A(e,"POST","/v1/accounts:signInWithPhoneNumber",C(e,t));if(i.temporaryProof)throw D(e,"account-exists-with-different-credential",i);return i}let e0={USER_NOT_FOUND:"user-not-found"};async function e1(e,t){return A(e,"POST","/v1/accounts:signInWithPhoneNumber",C(e,Object.assign(Object.assign({},t),{operation:"REAUTH"})),e0)}class e2 extends ej{constructor(e){super("phone","phone"),this.params=e}static _fromVerification(e,t){return new e2({verificationId:e,verificationCode:t})}static _fromTokenResponse(e,t){return new e2({phoneNumber:e,temporaryProof:t})}_getIdTokenResponse(e){return eQ(e,this._makeVerificationRequest())}_linkToIdToken(e,t){return eX(e,Object.assign({idToken:t},this._makeVerificationRequest()))}_getReauthenticationResolver(e){return e1(e,this._makeVerificationRequest())}_makeVerificationRequest(){let{temporaryProof:e,phoneNumber:t,verificationId:i,verificationCode:n}=this.params;return e&&t?{temporaryProof:e,phoneNumber:t}:{sessionInfo:i,code:n}}toJSON(){let e={providerId:this.providerId};return this.params.phoneNumber&&(e.phoneNumber=this.params.phoneNumber),this.params.temporaryProof&&(e.temporaryProof=this.params.temporaryProof),this.params.verificationCode&&(e.verificationCode=this.params.verificationCode),this.params.verificationId&&(e.verificationId=this.params.verificationId),e}static fromJSON(e){"string"==typeof e&&(e=JSON.parse(e));let{verificationId:t,verificationCode:i,phoneNumber:n,temporaryProof:r}=e;return i||t||n||r?new e2({verificationId:t,verificationCode:i,phoneNumber:n,temporaryProof:r}):null}}class e3{constructor(e){var t,i,n,s,a,o;let l=(0,r.I9)((0,r.hp)(e)),c=null!==(t=l.apiKey)&&void 0!==t?t:null,u=null!==(i=l.oobCode)&&void 0!==i?i:null,h=function(e){switch(e){case"recoverEmail":return"RECOVER_EMAIL";case"resetPassword":return"PASSWORD_RESET";case"signIn":return"EMAIL_SIGNIN";case"verifyEmail":return"VERIFY_EMAIL";case"verifyAndChangeEmail":return"VERIFY_AND_CHANGE_EMAIL";case"revertSecondFactorAddition":return"REVERT_SECOND_FACTOR_ADDITION";default:return null}}(null!==(n=l.mode)&&void 0!==n?n:null);v(c&&u&&h,"argument-error"),this.apiKey=c,this.operation=h,this.code=u,this.continueUrl=null!==(s=l.continueUrl)&&void 0!==s?s:null,this.languageCode=null!==(a=l.lang)&&void 0!==a?a:null,this.tenantId=null!==(o=l.tenantId)&&void 0!==o?o:null}static parseLink(e){let t=function(e){let t=(0,r.I9)((0,r.hp)(e)).link,i=t?(0,r.I9)((0,r.hp)(t)).deep_link_id:null,n=(0,r.I9)((0,r.hp)(e)).deep_link_id;return(n?(0,r.I9)((0,r.hp)(n)).link:null)||n||i||t||e}(e);try{return new e3(t)}catch(e){return null}}}class e6{constructor(){this.providerId=e6.PROVIDER_ID}static credential(e,t){return eB._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){let i=e3.parseLink(t);return v(i,"argument-error"),eB._fromEmailAndCode(e,i.code,i.tenantId)}}e6.PROVIDER_ID="password",e6.EMAIL_PASSWORD_SIGN_IN_METHOD="password",e6.EMAIL_LINK_SIGN_IN_METHOD="emailLink";class e4{constructor(e){this.providerId=e,this.defaultLanguageCode=null,this.customParameters={}}setDefaultLanguage(e){this.defaultLanguageCode=e}setCustomParameters(e){return this.customParameters=e,this}getCustomParameters(){return this.customParameters}}class e5 extends e4{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}class e9 extends e5{constructor(){super("facebook.com")}static credential(e){return eZ._fromParams({providerId:e9.PROVIDER_ID,signInMethod:e9.FACEBOOK_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return e9.credentialFromTaggedObject(e)}static credentialFromError(e){return e9.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return e9.credential(e.oauthAccessToken)}catch(e){return null}}}e9.FACEBOOK_SIGN_IN_METHOD="facebook.com",e9.PROVIDER_ID="facebook.com";class e8 extends e5{constructor(){super("google.com"),this.addScope("profile")}static credential(e,t){return eZ._fromParams({providerId:e8.PROVIDER_ID,signInMethod:e8.GOOGLE_SIGN_IN_METHOD,idToken:e,accessToken:t})}static credentialFromResult(e){return e8.credentialFromTaggedObject(e)}static credentialFromError(e){return e8.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{oauthIdToken:t,oauthAccessToken:i}=e;if(!t&&!i)return null;try{return e8.credential(t,i)}catch(e){return null}}}e8.GOOGLE_SIGN_IN_METHOD="google.com",e8.PROVIDER_ID="google.com";class e7 extends e5{constructor(){super("github.com")}static credential(e){return eZ._fromParams({providerId:e7.PROVIDER_ID,signInMethod:e7.GITHUB_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return e7.credentialFromTaggedObject(e)}static credentialFromError(e){return e7.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return e7.credential(e.oauthAccessToken)}catch(e){return null}}}e7.GITHUB_SIGN_IN_METHOD="github.com",e7.PROVIDER_ID="github.com";class te extends e5{constructor(){super("twitter.com")}static credential(e,t){return eZ._fromParams({providerId:te.PROVIDER_ID,signInMethod:te.TWITTER_SIGN_IN_METHOD,oauthToken:e,oauthTokenSecret:t})}static credentialFromResult(e){return te.credentialFromTaggedObject(e)}static credentialFromError(e){return te.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{oauthAccessToken:t,oauthTokenSecret:i}=e;if(!t||!i)return null;try{return te.credential(t,i)}catch(e){return null}}}async function tt(e,t){return A(e,"POST","/v1/accounts:signUp",C(e,t))}te.TWITTER_SIGN_IN_METHOD="twitter.com",te.PROVIDER_ID="twitter.com";class ti{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,i,n=!1){return new ti({user:await en._fromIdTokenResponse(e,i,n),providerId:tn(i),_tokenResponse:i,operationType:t})}static async _forOperation(e,t,i){return await e._updateTokensIfNecessary(i,!0),new ti({user:e,providerId:tn(i),_tokenResponse:i,operationType:t})}}function tn(e){return e.providerId?e.providerId:"phoneNumber"in e?"phone":null}class tr extends r.g{constructor(e,t,i,n){var r;super(t.code,t.message),this.operationType=i,this.user=n,Object.setPrototypeOf(this,tr.prototype),this.customData={appName:e.name,tenantId:null!==(r=e.tenantId)&&void 0!==r?r:void 0,_serverResponse:t.customData._serverResponse,operationType:i}}static _fromErrorAndOperation(e,t,i,n){return new tr(e,t,i,n)}}function ts(e,t,i,n){return("reauthenticate"===t?i._getReauthenticationResolver(e):i._getIdTokenResponse(e)).catch(i=>{if("auth/multi-factor-auth-required"===i.code)throw tr._fromErrorAndOperation(e,i,t,n);throw i})}async function ta(e,t,i=!1){let n=await G(e,t._linkToIdToken(e.auth,await e.getIdToken()),i);return ti._forOperation(e,"link",n)}async function to(e,t,i){await Z(t),v(new Set(t.providerData.map(({providerId:e})=>e).filter(e=>!!e)).has(i)===e,t.auth,!1===e?"provider-already-linked":"no-such-provider")}async function tl(e,t,i=!1){let{auth:r}=e;if((0,n.xZ)(r.app))return Promise.reject(m(r));let s="reauthenticate";try{let n=await G(e,ts(r,s,t,e),i);v(n.idToken,r,"internal-error");let a=$(n.idToken);v(a,r,"internal-error");let{sub:o}=a;return v(e.uid===o,r,"user-mismatch"),ti._forOperation(e,s,n)}catch(e){throw(null==e?void 0:e.code)==="auth/user-not-found"&&d(r,"user-mismatch"),e}}async function tc(e,t,i=!1){if((0,n.xZ)(e.app))return Promise.reject(m(e));let r="signIn",s=await ts(e,r,t),a=await ti._fromIdTokenResponse(e,r,s);return i||await e._updateCurrentUser(a.user),a}async function tu(e,t){return tc(ek(e),t)}async function th(e,t){let i=(0,r.Ku)(e);return await to(!1,i,t.providerId),ta(i,t)}class td{constructor(e,t){this.factorId=e,this.uid=t.mfaEnrollmentId,this.enrollmentTime=new Date(t.enrolledAt).toUTCString(),this.displayName=t.displayName}static _fromServerResponse(e,t){return"phoneInfo"in t?tp._fromServerResponse(e,t):"totpInfo"in t?tf._fromServerResponse(e,t):d(e,"internal-error")}}class tp extends td{constructor(e){super("phone",e),this.phoneNumber=e.phoneInfo}static _fromServerResponse(e,t){return new tp(t)}}class tf extends td{constructor(e){super("totp",e)}static _fromServerResponse(e,t){return new tf(t)}}function tm(e,t,i){var n;v((null===(n=i.url)||void 0===n?void 0:n.length)>0,e,"invalid-continue-uri"),v(void 0===i.dynamicLinkDomain||i.dynamicLinkDomain.length>0,e,"invalid-dynamic-link-domain"),v(void 0===i.linkDomain||i.linkDomain.length>0,e,"invalid-hosting-link-domain"),t.continueUrl=i.url,t.dynamicLinkDomain=i.dynamicLinkDomain,t.linkDomain=i.linkDomain,t.canHandleCodeInApp=i.handleCodeInApp,i.iOS&&(v(i.iOS.bundleId.length>0,e,"missing-ios-bundle-id"),t.iOSBundleId=i.iOS.bundleId),i.android&&(v(i.android.packageName.length>0,e,"missing-android-pkg-name"),t.androidInstallApp=i.android.installApp,t.androidMinimumVersionCode=i.android.minimumVersion,t.androidPackageName=i.android.packageName)}async function tg(e){let t=ek(e);t._getPasswordPolicyInternal()&&await t._updatePasswordPolicy()}async function tv(e,t,i){let n=ek(e),r={requestType:"PASSWORD_RESET",email:t,clientType:"CLIENT_TYPE_WEB"};i&&tm(n,r,i),await eU(n,r,"getOobCode",eK,"EMAIL_PASSWORD_PROVIDER")}async function t_(e,t,i){if((0,n.xZ)(e.app))return Promise.reject(m(e));let r=ek(e),s=eU(r,{returnSecureToken:!0,email:t,password:i,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",tt,"EMAIL_PASSWORD_PROVIDER"),a=await s.catch(t=>{throw"auth/password-does-not-meet-requirements"===t.code&&tg(e),t}),o=await ti._fromIdTokenResponse(r,"signIn",a);return await r._updateCurrentUser(o.user),o}async function tI(e,t,i){let n=ek(e),r={requestType:"EMAIL_SIGNIN",email:t,clientType:"CLIENT_TYPE_WEB"};v(i.handleCodeInApp,n,"argument-error"),i&&tm(n,r,i),await eU(n,r,"getOobCode",e$,"EMAIL_PASSWORD_PROVIDER")}function ty(e,t){let i=e3.parseLink(t);return(null==i?void 0:i.operation)==="EMAIL_SIGNIN"}class tw{constructor(e,t,i={}){this.isNewUser=e,this.providerId=t,this.profile=i}}function tT(e,t,i,n){return(0,r.Ku)(e).onAuthStateChanged(t,i,n)}function tE(e){return(0,r.Ku)(e).signOut()}class tk{constructor(e,t,i){this.type=e,this.credential=t,this.user=i}static _fromIdtoken(e,t){return new tk("enroll",e,t)}static _fromMfaPendingCredential(e){return new tk("signin",e)}toJSON(){return{multiFactorSession:{["enroll"===this.type?"idToken":"pendingCredential"]:this.credential}}}static fromJSON(e){var t,i;if(null==e?void 0:e.multiFactorSession){if(null===(t=e.multiFactorSession)||void 0===t?void 0:t.pendingCredential)return tk._fromMfaPendingCredential(e.multiFactorSession.pendingCredential);if(null===(i=e.multiFactorSession)||void 0===i?void 0:i.idToken)return tk._fromIdtoken(e.multiFactorSession.idToken)}return null}}class tS{constructor(e,t,i){this.session=e,this.hints=t,this.signInResolver=i}static _fromError(e,t){let i=ek(e),n=t.customData._serverResponse,r=(n.mfaInfo||[]).map(e=>td._fromServerResponse(i,e));v(n.mfaPendingCredential,i,"internal-error");let s=tk._fromMfaPendingCredential(n.mfaPendingCredential);return new tS(s,r,async e=>{let r=await e._process(i,s);delete n.mfaInfo,delete n.mfaPendingCredential;let a=Object.assign(Object.assign({},n),{idToken:r.idToken,refreshToken:r.refreshToken});switch(t.operationType){case"signIn":let o=await ti._fromIdTokenResponse(i,t.operationType,a);return await i._updateCurrentUser(o.user),o;case"reauthenticate":return v(t.user,i,"internal-error"),ti._forOperation(t.user,t.operationType,a);default:d(i,"internal-error")}})}async resolveSignIn(e){return this.signInResolver(e)}}function tP(e,t){return b(e,"POST","/v2/accounts/mfaEnrollment:start",C(e,t))}class tR{constructor(e){this.user=e,this.enrolledFactors=[],e._onReload(t=>{t.mfaInfo&&(this.enrolledFactors=t.mfaInfo.map(t=>td._fromServerResponse(e.auth,t)))})}static _fromUser(e){return new tR(e)}async getSession(){return tk._fromIdtoken(await this.user.getIdToken(),this.user)}async enroll(e,t){let i=await this.getSession(),n=await G(this.user,e._process(this.user.auth,i,t));return await this.user._updateTokensIfNecessary(n),this.user.reload()}async unenroll(e){let t="string"==typeof e?e:e.uid,i=await this.user.getIdToken();try{var n,r;let e=await G(this.user,(n=this.user.auth,r={idToken:i,mfaEnrollmentId:t},b(n,"POST","/v2/accounts/mfaEnrollment:withdraw",C(n,r))));this.enrolledFactors=this.enrolledFactors.filter(({uid:e})=>e!==t),await this.user._updateTokensIfNecessary(e),await this.user.reload()}catch(e){throw e}}}new WeakMap;let tC="__sak";class tb{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{if(!this.storage)return Promise.resolve(!1);return this.storage.setItem(tC,"1"),this.storage.removeItem(tC),Promise.resolve(!0)}catch(e){return Promise.resolve(!1)}}_set(e,t){return this.storage.setItem(e,JSON.stringify(t)),Promise.resolve()}_get(e){let t=this.storage.getItem(e);return Promise.resolve(t?JSON.parse(t):null)}_remove(e){return this.storage.removeItem(e),Promise.resolve()}get storage(){return this.storageRetriever()}}class tO extends tb{constructor(){super(()=>window.localStorage,"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=e_(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(let t of Object.keys(this.listeners)){let i=this.storage.getItem(t),n=this.localCache[t];i!==n&&e(t,n,i)}}onStorageEvent(e,t=!1){if(!e.key){this.forAllChangedKeys((e,t,i)=>{this.notifyListeners(e,i)});return}let i=e.key;t?this.detachListener():this.stopPolling();let n=()=>{let e=this.storage.getItem(i);(t||this.localCache[i]!==e)&&this.notifyListeners(i,e)},s=this.storage.getItem(i);(0,r.lT)()&&10===document.documentMode&&s!==e.newValue&&e.newValue!==e.oldValue?setTimeout(n,10):n()}notifyListeners(e,t){this.localCache[e]=t;let i=this.listeners[e];if(i)for(let e of Array.from(i))e(t?JSON.parse(t):t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,i)=>{this.onStorageEvent(new StorageEvent("storage",{key:e,oldValue:t,newValue:i}),!0)})},1e3)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}attachListener(){window.addEventListener("storage",this.boundEventHandler)}detachListener(){window.removeEventListener("storage",this.boundEventHandler)}_addListener(e,t){0===Object.keys(this.listeners).length&&(this.fallbackToPolling?this.startPolling():this.attachListener()),this.listeners[e]||(this.listeners[e]=new Set,this.localCache[e]=this.storage.getItem(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){let t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}}function tA(e){var t,i;let n=e.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),r=RegExp(`${n}=([^;]+)`);return null!==(i=null===(t=document.cookie.match(r))||void 0===t?void 0:t[1])&&void 0!==i?i:null}function tN(e){let t="http:"===window.location.protocol;return`${t?"__dev_":"__HOST-"}FIREBASE_${e.split(":")[3]}`}tO.type="LOCAL";class tL{constructor(){this.type="COOKIE",this.listenerUnsubscribes=new Map}_getFinalTarget(e){let t=new URL(`${window.location.origin}/__cookies__`);return t.searchParams.set("finalTarget",e),t}async _isAvailable(){var e;return!!("boolean"!=typeof isSecureContext||isSecureContext)&&"undefined"!=typeof navigator&&"undefined"!=typeof document&&(null===(e=navigator.cookieEnabled)||void 0===e||e)}async _set(e,t){}async _get(e){if(!this._isAvailable())return null;let t=tN(e);if(window.cookieStore){let e=await window.cookieStore.get(t);return null==e?void 0:e.value}return tA(t)}async _remove(e){if(!this._isAvailable()||!await this._get(e))return;let t=tN(e);document.cookie=`${t}=;Max-Age=34560000;Partitioned;Secure;SameSite=Strict;Path=/;Priority=High`,await fetch("/__cookies__",{method:"DELETE"}).catch(()=>void 0)}_addListener(e,t){if(!this._isAvailable())return;let i=tN(e);if(window.cookieStore){let e=e=>{let n=e.changed.find(e=>e.name===i);n&&t(n.value),e.deleted.find(e=>e.name===i)&&t(null)};return this.listenerUnsubscribes.set(t,()=>window.cookieStore.removeEventListener("change",e)),window.cookieStore.addEventListener("change",e)}let n=tA(i),r=setInterval(()=>{let e=tA(i);e!==n&&(t(e),n=e)},1e3);this.listenerUnsubscribes.set(t,()=>clearInterval(r))}_removeListener(e,t){let i=this.listenerUnsubscribes.get(t);i&&(i(),this.listenerUnsubscribes.delete(t))}}tL.type="COOKIE";class tD extends tb{constructor(){super(()=>window.sessionStorage,"SESSION")}_addListener(e,t){}_removeListener(e,t){}}tD.type="SESSION";class tM{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(e){let t=this.receivers.find(t=>t.isListeningto(e));if(t)return t;let i=new tM(e);return this.receivers.push(i),i}isListeningto(e){return this.eventTarget===e}async handleEvent(e){let{eventId:t,eventType:i,data:n}=e.data,r=this.handlersMap[i];if(!(null==r?void 0:r.size))return;e.ports[0].postMessage({status:"ack",eventId:t,eventType:i});let s=Array.from(r).map(async t=>t(e.origin,n)),a=await Promise.all(s.map(async e=>{try{let t=await e;return{fulfilled:!0,value:t}}catch(e){return{fulfilled:!1,reason:e}}}));e.ports[0].postMessage({status:"done",eventId:t,eventType:i,response:a})}_subscribe(e,t){0===Object.keys(this.handlersMap).length&&this.eventTarget.addEventListener("message",this.boundEventHandler),this.handlersMap[e]||(this.handlersMap[e]=new Set),this.handlersMap[e].add(t)}_unsubscribe(e,t){this.handlersMap[e]&&t&&this.handlersMap[e].delete(t),t&&0!==this.handlersMap[e].size||delete this.handlersMap[e],0===Object.keys(this.handlersMap).length&&this.eventTarget.removeEventListener("message",this.boundEventHandler)}}function tU(e="",t=10){let i="";for(let e=0;e{let l=tU("",20);s.port1.start();let c=setTimeout(()=>{o(Error("unsupported_event"))},i);r={messageChannel:s,onMessage(e){if(e.data.eventId===l)switch(e.data.status){case"ack":clearTimeout(c),n=setTimeout(()=>{o(Error("timeout"))},3e3);break;case"done":clearTimeout(n),a(e.data.response);break;default:clearTimeout(c),clearTimeout(n),o(Error("invalid_response"))}}},this.handlers.add(r),s.port1.addEventListener("message",r.onMessage),this.target.postMessage({eventType:e,eventId:l,data:t},[s.port2])}).finally(()=>{r&&this.removeMessageHandler(r)})}}function tF(){return window}function tV(){return void 0!==tF().WorkerGlobalScope&&"function"==typeof tF().importScripts}async function tj(){if(!(null==navigator?void 0:navigator.serviceWorker))return null;try{return(await navigator.serviceWorker.ready).active}catch(e){return null}}let tH="firebaseLocalStorageDb",tW="firebaseLocalStorage",tz="fbase_key";class tK{constructor(e){this.request=e}toPromise(){return new Promise((e,t)=>{this.request.addEventListener("success",()=>{e(this.request.result)}),this.request.addEventListener("error",()=>{t(this.request.error)})})}}function t$(e,t){return e.transaction([tW],t?"readwrite":"readonly").objectStore(tW)}function tq(){let e=indexedDB.open(tH,1);return new Promise((t,i)=>{e.addEventListener("error",()=>{i(e.error)}),e.addEventListener("upgradeneeded",()=>{let t=e.result;try{t.createObjectStore(tW,{keyPath:tz})}catch(e){i(e)}}),e.addEventListener("success",async()=>{let i=e.result;i.objectStoreNames.contains(tW)?t(i):(i.close(),await new tK(indexedDB.deleteDatabase(tH)).toPromise(),t(await tq()))})})}async function tG(e,t,i){return new tK(t$(e,!0).put({[tz]:t,value:i})).toPromise()}async function tB(e,t){let i=t$(e,!1).get(t),n=await new tK(i).toPromise();return void 0===n?null:n.value}function tJ(e,t){return new tK(t$(e,!0).delete(t)).toPromise()}class tZ{constructor(){this.type="LOCAL",this._shouldAllowMigration=!0,this.listeners={},this.localCache={},this.pollTimer=null,this.pendingWrites=0,this.receiver=null,this.sender=null,this.serviceWorkerReceiverAvailable=!1,this.activeServiceWorker=null,this._workerInitializationPromise=this.initializeServiceWorkerMessaging().then(()=>{},()=>{})}async _openDb(){return this.db||(this.db=await tq()),this.db}async _withRetries(e){let t=0;for(;;)try{let t=await this._openDb();return await e(t)}catch(e){if(t++>3)throw e;this.db&&(this.db.close(),this.db=void 0)}}async initializeServiceWorkerMessaging(){return tV()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=tM._getInstance(tV()?self:null),this.receiver._subscribe("keyChanged",async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe("ping",async(e,t)=>["keyChanged"])}async initializeSender(){var e,t;if(this.activeServiceWorker=await tj(),!this.activeServiceWorker)return;this.sender=new tx(this.activeServiceWorker);let i=await this.sender._send("ping",{},800);i&&(null===(e=i[0])||void 0===e?void 0:e.fulfilled)&&(null===(t=i[0])||void 0===t?void 0:t.value.includes("keyChanged"))&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){var t;if(this.sender&&this.activeServiceWorker&&((null===(t=null==navigator?void 0:navigator.serviceWorker)||void 0===t?void 0:t.controller)||null)===this.activeServiceWorker)try{await this.sender._send("keyChanged",{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch(e){}}async _isAvailable(){try{if(!indexedDB)return!1;let e=await tq();return await tG(e,tC,"1"),await tJ(e,tC),!0}catch(e){}return!1}async _withPendingWrite(e){this.pendingWrites++;try{await e()}finally{this.pendingWrites--}}async _set(e,t){return this._withPendingWrite(async()=>(await this._withRetries(i=>tG(i,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){let t=await this._withRetries(t=>tB(t,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>tJ(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){let e=await this._withRetries(e=>new tK(t$(e,!1).getAll()).toPromise());if(!e||0!==this.pendingWrites)return[];let t=[],i=new Set;if(0!==e.length)for(let{fbase_key:n,value:r}of e)i.add(n),JSON.stringify(this.localCache[n])!==JSON.stringify(r)&&(this.notifyListeners(n,r),t.push(n));for(let e of Object.keys(this.localCache))this.localCache[e]&&!i.has(e)&&(this.notifyListeners(e,null),t.push(e));return t}notifyListeners(e,t){this.localCache[e]=t;let i=this.listeners[e];if(i)for(let e of Array.from(i))e(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),800)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}_addListener(e,t){0===Object.keys(this.listeners).length&&this.startPolling(),this.listeners[e]||(this.listeners[e]=new Set,this._get(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&this.stopPolling()}}function tY(e,t){return b(e,"POST","/v2/accounts/mfaSignIn:start",C(e,t))}tZ.type="LOCAL";let tQ=eC("rcb"),tX=new T(3e4,6e4);class t0{constructor(){var e;this.hostLanguage="",this.counter=0,this.librarySeparatelyLoaded=!!(null===(e=tF().grecaptcha)||void 0===e?void 0:e.render)}load(e,t=""){return(v(t.length<=6&&/^\s*[a-zA-Z0-9\-]*\s*$/.test(t),e,"argument-error"),this.shouldResolveImmediately(t)&&M(tF().grecaptcha))?Promise.resolve(tF().grecaptcha):new Promise((i,n)=>{let s=tF().setTimeout(()=>{n(p(e,"network-request-failed"))},tX.get());tF()[tQ]=()=>{tF().clearTimeout(s),delete tF()[tQ];let r=tF().grecaptcha;if(!r||!M(r)){n(p(e,"internal-error"));return}let a=r.render;r.render=(e,t)=>{let i=a(e,t);return this.counter++,i},this.hostLanguage=t,i(r)},eR(`${eP.recaptchaV2Script}?${(0,r.Am)({onload:tQ,render:"explicit",hl:t})}`).catch(()=>{clearTimeout(s),n(p(e,"internal-error"))})})}clearedOneInstance(){this.counter--}shouldResolveImmediately(e){var t;return!!(null===(t=tF().grecaptcha)||void 0===t?void 0:t.render)&&(e===this.hostLanguage||this.counter>0||this.librarySeparatelyLoaded)}}class t1{async load(e){return new eb(e)}clearedOneInstance(){}}let t2="recaptcha",t3={theme:"light",type:"image"};class t6{constructor(e,t,i=Object.assign({},t3)){this.parameters=i,this.type=t2,this.destroyed=!1,this.widgetId=null,this.tokenChangeListeners=new Set,this.renderPromise=null,this.recaptcha=null,this.auth=ek(e),this.isInvisible="invisible"===this.parameters.size,v("undefined"!=typeof document,this.auth,"operation-not-supported-in-this-environment");let n="string"==typeof t?document.getElementById(t):t;v(n,this.auth,"argument-error"),this.container=n,this.parameters.callback=this.makeTokenCallback(this.parameters.callback),this._recaptchaLoader=this.auth.settings.appVerificationDisabledForTesting?new t1:new t0,this.validateStartingState()}async verify(){this.assertNotDestroyed();let e=await this.render(),t=this.getAssertedRecaptcha();return t.getResponse(e)||new Promise(i=>{let n=e=>{e&&(this.tokenChangeListeners.delete(n),i(e))};this.tokenChangeListeners.add(n),this.isInvisible&&t.execute(e)})}render(){try{this.assertNotDestroyed()}catch(e){return Promise.reject(e)}return this.renderPromise||(this.renderPromise=this.makeRenderPromise().catch(e=>{throw this.renderPromise=null,e})),this.renderPromise}_reset(){this.assertNotDestroyed(),null!==this.widgetId&&this.getAssertedRecaptcha().reset(this.widgetId)}clear(){this.assertNotDestroyed(),this.destroyed=!0,this._recaptchaLoader.clearedOneInstance(),this.isInvisible||this.container.childNodes.forEach(e=>{this.container.removeChild(e)})}validateStartingState(){v(!this.parameters.sitekey,this.auth,"argument-error"),v(this.isInvisible||!this.container.hasChildNodes(),this.auth,"argument-error"),v("undefined"!=typeof document,this.auth,"operation-not-supported-in-this-environment")}makeTokenCallback(e){return t=>{if(this.tokenChangeListeners.forEach(e=>e(t)),"function"==typeof e)e(t);else if("string"==typeof e){let i=tF()[e];"function"==typeof i&&i(t)}}}assertNotDestroyed(){v(!this.destroyed,this.auth,"internal-error")}async makeRenderPromise(){if(await this.init(),!this.widgetId){let e=this.container;if(!this.isInvisible){let t=document.createElement("div");e.appendChild(t),e=t}this.widgetId=this.getAssertedRecaptcha().render(e,this.parameters)}return this.widgetId}async init(){let e;v(y()&&!tV(),this.auth,"internal-error"),await (e=null,new Promise(t=>{if("complete"===document.readyState){t();return}e=()=>t(),window.addEventListener("load",e)}).catch(t=>{throw e&&window.removeEventListener("load",e),t})),this.recaptcha=await this._recaptchaLoader.load(this.auth,this.auth.languageCode||void 0);let t=await F(this.auth);v(t,this.auth,"internal-error"),this.parameters.sitekey=t}getAssertedRecaptcha(){return v(this.recaptcha,this.auth,"internal-error"),this.recaptcha}}class t4{constructor(e,t){this.verificationId=e,this.onConfirmation=t}confirm(e){let t=e2._fromVerification(this.verificationId,e);return this.onConfirmation(t)}}async function t5(e,t,i){if((0,n.xZ)(e.app))return Promise.reject(m(e));let s=ek(e);return new t4(await t9(s,t,(0,r.Ku)(i)),e=>tu(s,e))}async function t9(e,t,i){var n;if(!e._getRecaptchaConfig())try{await ex(e)}catch(e){console.log("Failed to initialize reCAPTCHA Enterprise config. Triggering the reCAPTCHA v2 verification.")}try{let r;if(r="string"==typeof t?{phoneNumber:t}:t,"session"in r){let t=r.session;if("phoneNumber"in r){v("enroll"===t.type,e,"internal-error");let n={idToken:t.credential,phoneEnrollmentInfo:{phoneNumber:r.phoneNumber,clientType:"CLIENT_TYPE_WEB"}},s=async(e,t)=>{if(t.phoneEnrollmentInfo.captchaResponse===eL){v((null==i?void 0:i.type)===t2,e,"argument-error");let n=await t8(e,t,i);return tP(e,n)}return tP(e,t)},a=eU(e,n,"mfaSmsEnrollment",s,"PHONE_PROVIDER");return(await a.catch(e=>Promise.reject(e))).phoneSessionInfo.sessionInfo}{v("signin"===t.type,e,"internal-error");let s=(null===(n=r.multiFactorHint)||void 0===n?void 0:n.uid)||r.multiFactorUid;v(s,e,"missing-multi-factor-info");let a={mfaPendingCredential:t.credential,mfaEnrollmentId:s,phoneSignInInfo:{clientType:"CLIENT_TYPE_WEB"}},o=async(e,t)=>{if(t.phoneSignInInfo.captchaResponse===eL){v((null==i?void 0:i.type)===t2,e,"argument-error");let n=await t8(e,t,i);return tY(e,n)}return tY(e,t)},l=eU(e,a,"mfaSmsSignIn",o,"PHONE_PROVIDER");return(await l.catch(e=>Promise.reject(e))).phoneResponseInfo.sessionInfo}}{let t={phoneNumber:r.phoneNumber,clientType:"CLIENT_TYPE_WEB"},n=async(e,t)=>{if(t.captchaResponse===eL){v((null==i?void 0:i.type)===t2,e,"argument-error");let n=await t8(e,t,i);return eY(e,n)}return eY(e,t)},s=eU(e,t,"sendVerificationCode",n,"PHONE_PROVIDER");return(await s.catch(e=>Promise.reject(e))).sessionInfo}}finally{null==i||i._reset()}}async function t8(e,t,i){v(i.type===t2,e,"argument-error");let n=await i.verify();v("string"==typeof n,e,"argument-error");let r=Object.assign({},t);if("phoneEnrollmentInfo"in r){let e=r.phoneEnrollmentInfo.phoneNumber,t=r.phoneEnrollmentInfo.captchaResponse,i=r.phoneEnrollmentInfo.clientType,s=r.phoneEnrollmentInfo.recaptchaVersion;return Object.assign(r,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:n,captchaResponse:t,clientType:i,recaptchaVersion:s}}),r}if(!("phoneSignInInfo"in r))return Object.assign(r,{recaptchaToken:n}),r;{let e=r.phoneSignInInfo.captchaResponse,t=r.phoneSignInInfo.clientType,i=r.phoneSignInInfo.recaptchaVersion;return Object.assign(r,{phoneSignInInfo:{recaptchaToken:n,captchaResponse:e,clientType:t,recaptchaVersion:i}}),r}}class t7{constructor(e){this.providerId=t7.PROVIDER_ID,this.auth=ek(e)}verifyPhoneNumber(e,t){return t9(this.auth,e,(0,r.Ku)(t))}static credential(e,t){return e2._fromVerification(e,t)}static credentialFromResult(e){return t7.credentialFromTaggedObject(e)}static credentialFromError(e){return t7.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{phoneNumber:t,temporaryProof:i}=e;return t&&i?e2._fromTokenResponse(t,i):null}}function ie(e,t){return t?es(t):(v(e._popupRedirectResolver,e,"argument-error"),e._popupRedirectResolver)}t7.PROVIDER_ID="phone",t7.PHONE_SIGN_IN_METHOD="phone";class it extends ej{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return eJ(e,this._buildIdpRequest())}_linkToIdToken(e,t){return eJ(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return eJ(e,this._buildIdpRequest())}_buildIdpRequest(e){let t={requestUri:this.params.requestUri,sessionId:this.params.sessionId,postBody:this.params.postBody,tenantId:this.params.tenantId,pendingToken:this.params.pendingToken,returnSecureToken:!0,returnIdpCredential:!0};return e&&(t.idToken=e),t}}function ii(e){return tc(e.auth,new it(e),e.bypassAuthState)}function ir(e){let{auth:t,user:i}=e;return v(i,t,"internal-error"),tl(i,new it(e),e.bypassAuthState)}async function is(e){let{auth:t,user:i}=e;return v(i,t,"internal-error"),ta(i,new it(e),e.bypassAuthState)}class ia{constructor(e,t,i,n,r=!1){this.auth=e,this.resolver=i,this.user=n,this.bypassAuthState=r,this.pendingPromise=null,this.eventManager=null,this.filter=Array.isArray(t)?t:[t]}execute(){return new Promise(async(e,t)=>{this.pendingPromise={resolve:e,reject:t};try{this.eventManager=await this.resolver._initialize(this.auth),await this.onExecution(),this.eventManager.registerConsumer(this)}catch(e){this.reject(e)}})}async onAuthEvent(e){let{urlResponse:t,sessionId:i,postBody:n,tenantId:r,error:s,type:a}=e;if(s){this.reject(s);return}let o={auth:this.auth,requestUri:t,sessionId:i,tenantId:r||void 0,postBody:n||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(a)(o))}catch(e){this.reject(e)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return ii;case"linkViaPopup":case"linkViaRedirect":return is;case"reauthViaPopup":case"reauthViaRedirect":return ir;default:d(this.auth,"internal-error")}}resolve(e){var t,i;t=this.pendingPromise,i="Pending promise was never set",t||_(i),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){var t,i;t=this.pendingPromise,i="Pending promise was never set",t||_(i),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}}let io=new T(2e3,1e4);class il extends ia{constructor(e,t,i,n,r){super(e,t,n,r),this.provider=i,this.authWindow=null,this.pollId=null,il.currentPopupAction&&il.currentPopupAction.cancel(),il.currentPopupAction=this}async executeNotNull(){let e=await this.execute();return v(e,this.auth,"internal-error"),e}async onExecution(){var e,t;e=1===this.filter.length,t="Popup operations only handle one event",e||_(t);let i=tU();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],i),this.authWindow.associatedEvent=i,this.resolver._originValidation(this.auth).catch(e=>{this.reject(e)}),this.resolver._isIframeWebStorageSupported(this.auth,e=>{e||this.reject(p(this.auth,"web-storage-unsupported"))}),this.pollUserCancellation()}get eventId(){var e;return(null===(e=this.authWindow)||void 0===e?void 0:e.associatedEvent)||null}cancel(){this.reject(p(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,il.currentPopupAction=null}pollUserCancellation(){let e=()=>{var t,i;if(null===(i=null===(t=this.authWindow)||void 0===t?void 0:t.window)||void 0===i?void 0:i.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(p(this.auth,"popup-closed-by-user"))},8e3);return}this.pollId=window.setTimeout(e,io.get())};e()}}il.currentPopupAction=null;let ic=new Map;class iu extends ia{constructor(e,t,i=!1){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,i),this.eventId=null}async execute(){let e=ic.get(this.auth._key());if(!e){try{let t=await ih(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(t)}catch(t){e=()=>Promise.reject(t)}ic.set(this.auth._key(),e)}return this.bypassAuthState||ic.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if("signInViaRedirect"===e.type)return super.onAuthEvent(e);if("unknown"===e.type){this.resolve(null);return}if(e.eventId){let t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}}async function ih(e,t){let i=ig(t),n=im(e);if(!await n._isAvailable())return!1;let r=await n._get(i)==="true";return await n._remove(i),r}async function id(e,t){return im(e)._set(ig(t),"true")}function ip(e,t){ic.set(e._key(),t)}function im(e){return es(e._redirectPersistence)}function ig(e){return eo("pendingRedirect",e.config.apiKey,e.name)}function iv(e,t,i){return i_(e,t,i)}async function i_(e,t,i){if((0,n.xZ)(e.app))return Promise.reject(m(e));let r=ek(e);(function(e,t,i){if(!(t instanceof i))throw i.name!==t.constructor.name&&d(e,"argument-error"),f(e,"argument-error",`Type of ${t.constructor.name} does not match expected instance.Did you pass a reference from a different Auth SDK?`)})(e,t,e4),await r._initializationPromise;let s=ie(r,i);return await id(s,r),s._openRedirect(r,t,"signInViaRedirect")}async function iI(e,t,i=!1){if((0,n.xZ)(e.app))return Promise.reject(m(e));let r=ek(e),s=ie(r,t),a=new iu(r,s,i),o=await a.execute();return o&&!i&&(delete o.user._redirectEventId,await r._persistUserIfCurrent(o.user),await r._setRedirectUser(null,t)),o}class iy{constructor(e){this.auth=e,this.cachedEventUids=new Set,this.consumers=new Set,this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1,this.lastProcessedEventTime=Date.now()}registerConsumer(e){this.consumers.add(e),this.queuedRedirectEvent&&this.isEventForConsumer(this.queuedRedirectEvent,e)&&(this.sendToConsumer(this.queuedRedirectEvent,e),this.saveEventToCache(this.queuedRedirectEvent),this.queuedRedirectEvent=null)}unregisterConsumer(e){this.consumers.delete(e)}onEvent(e){if(this.hasEventBeenHandled(e))return!1;let t=!1;return this.consumers.forEach(i=>{this.isEventForConsumer(e,i)&&(t=!0,this.sendToConsumer(e,i),this.saveEventToCache(e))}),this.hasHandledPotentialRedirect||!function(e){switch(e.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return!0;case"unknown":return iT(e);default:return!1}}(e)||(this.hasHandledPotentialRedirect=!0,t||(this.queuedRedirectEvent=e,t=!0)),t}sendToConsumer(e,t){var i;if(e.error&&!iT(e)){let n=(null===(i=e.error.code)||void 0===i?void 0:i.split("auth/")[1])||"internal-error";t.onError(p(this.auth,n))}else t.onAuthEvent(e)}isEventForConsumer(e,t){let i=null===t.eventId||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&i}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=6e5&&this.cachedEventUids.clear(),this.cachedEventUids.has(iw(e))}saveEventToCache(e){this.cachedEventUids.add(iw(e)),this.lastProcessedEventTime=Date.now()}}function iw(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join("-")}function iT({type:e,error:t}){return"unknown"===e&&(null==t?void 0:t.code)==="auth/no-auth-event"}async function iE(e,t={}){return b(e,"GET","/v1/projects",t)}let ik=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,iS=/^https?/;async function iP(e){if(e.config.emulator)return;let{authorizedDomains:t}=await iE(e);for(let e of t)try{if(function(e){let t=I(),{protocol:i,hostname:n}=new URL(t);if(e.startsWith("chrome-extension://")){let r=new URL(e);return""===r.hostname&&""===n?"chrome-extension:"===i&&e.replace("chrome-extension://","")===t.replace("chrome-extension://",""):"chrome-extension:"===i&&r.hostname===n}if(!iS.test(i))return!1;if(ik.test(e))return n===e;let r=e.replace(/\./g,"\\.");return RegExp("^(.+\\."+r+"|"+r+")$","i").test(n)}(e))return}catch(e){}d(e,"unauthorized-domain")}let iR=new T(3e4,6e4);function iC(){let e=tF().___jsl;if(null==e?void 0:e.H){for(let t of Object.keys(e.H))if(e.H[t].r=e.H[t].r||[],e.H[t].L=e.H[t].L||[],e.H[t].r=[...e.H[t].L],e.CP)for(let t=0;t{var n,r,s;function a(){iC(),gapi.load("gapi.iframes",{callback:()=>{t(gapi.iframes.getContext())},ontimeout:()=>{iC(),i(p(e,"network-request-failed"))},timeout:iR.get()})}if(null===(r=null===(n=tF().gapi)||void 0===n?void 0:n.iframes)||void 0===r?void 0:r.Iframe)t(gapi.iframes.getContext());else if(null===(s=tF().gapi)||void 0===s?void 0:s.load)a();else{let t=eC("iframefcb");return tF()[t]=()=>{gapi.load?a():i(p(e,"network-request-failed"))},eR(`${eP.gapiScript}?onload=${t}`).catch(e=>i(e))}}).catch(e=>{throw ib=null,e})),i=tF().gapi;return v(i,e,"internal-error"),t.open({where:document.body,url:function(e){let t=e.config;v(t.authDomain,e,"auth-domain-config-required");let i=t.emulator?E(t,"emulator/auth/iframe"):`https://${e.config.authDomain}/__/auth/iframe`,s={apiKey:t.apiKey,appName:e.name,v:n.MF},a=iN.get(e.config.apiHost);a&&(s.eid=a);let o=e._getFrameworks();return o.length&&(s.fw=o.join(",")),`${i}?${(0,r.Am)(s).slice(1)}`}(e),messageHandlersFilter:i.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:iA,dontclear:!0},t=>new Promise(async(i,n)=>{await t.restyle({setHideOnLeave:!1});let r=p(e,"network-request-failed"),s=tF().setTimeout(()=>{n(r)},iO.get());function a(){tF().clearTimeout(s),i(t)}t.ping(a).then(a,()=>{n(r)})}))}let iD={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"};class iM{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch(e){}}}let iU=encodeURIComponent("fac");async function ix(e,t,i,s,a,o){v(e.config.authDomain,e,"auth-domain-config-required"),v(e.config.apiKey,e,"invalid-api-key");let l={apiKey:e.config.apiKey,appName:e.name,authType:i,redirectUrl:s,v:n.MF,eventId:a};if(t instanceof e4)for(let[i,n]of(t.setDefaultLanguage(e.languageCode),l.providerId=t.providerId||"",(0,r.Im)(t.getCustomParameters())||(l.customParameters=JSON.stringify(t.getCustomParameters())),Object.entries(o||{})))l[i]=n;if(t instanceof e5){let e=t.getScopes().filter(e=>""!==e);e.length>0&&(l.scopes=e.join(","))}for(let t of(e.tenantId&&(l.tid=e.tenantId),Object.keys(l)))void 0===l[t]&&delete l[t];let c=await e._getAppCheckToken(),u=c?`#${iU}=${encodeURIComponent(c)}`:"";return`${function({config:e}){return e.emulator?E(e,"emulator/auth/handler"):`https://${e.authDomain}/__/auth/handler`}(e)}?${(0,r.Am)(l).slice(1)}${u}`}let iF="webStorageSupport";class iV{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=tD,this._completeRedirectFn=iI,this._overrideRedirectResult=ip}async _openPopup(e,t,i,n){var s,a,o;a=null===(s=this.eventManagers[e._key()])||void 0===s?void 0:s.manager,o="_initialize() not called before _openPopup()",a||_(o);let l=await ix(e,t,i,I(),n);return function(e,t,i,n=500,s=600){let a=Math.max((window.screen.availHeight-s)/2,0).toString(),o=Math.max((window.screen.availWidth-n)/2,0).toString(),l="",c=Object.assign(Object.assign({},iD),{width:n.toString(),height:s.toString(),top:a,left:o}),u=(0,r.ZQ)().toLowerCase();i&&(l=ed(u)?"_blank":i),eu(u)&&(t=t||"http://localhost",c.scrollbars="yes");let h=Object.entries(c).reduce((e,[t,i])=>`${e}${t}=${i},`,"");if(function(e=(0,r.ZQ)()){var t;return ev(e)&&!!(null===(t=window.navigator)||void 0===t?void 0:t.standalone)}(u)&&"_self"!==l)return function(e,t){let i=document.createElement("a");i.href=e,i.target=t;let n=document.createEvent("MouseEvent");n.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),i.dispatchEvent(n)}(t||"",l),new iM(null);let d=window.open(t||"",l,h);v(d,e,"popup-blocked");try{d.focus()}catch(e){}return new iM(d)}(e,l,tU())}async _openRedirect(e,t,i,n){var r;return await this._originValidation(e),r=await ix(e,t,i,I(),n),tF().location.href=r,new Promise(()=>{})}_initialize(e){let t=e._key();if(this.eventManagers[t]){var i;let{manager:e,promise:n}=this.eventManagers[t];return e?Promise.resolve(e):(i="If manager is not set, promise should be",n||_(i),n)}let n=this.initAndGetManager(e);return this.eventManagers[t]={promise:n},n.catch(()=>{delete this.eventManagers[t]}),n}async initAndGetManager(e){let t=await iL(e),i=new iy(e);return t.register("authEvent",t=>(v(null==t?void 0:t.authEvent,e,"invalid-auth-event"),{status:i.onEvent(t.authEvent)?"ACK":"ERROR"}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:i},this.iframes[e._key()]=t,i}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(iF,{type:iF},i=>{var n;let r=null===(n=null==i?void 0:i[0])||void 0===n?void 0:n[iF];void 0!==r&&t(!!r),d(e,"internal-error")},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){let t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=iP(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return e_()||eh()||ev()}}class ij{constructor(e){this.factorId=e}_process(e,t,i){switch(t.type){case"enroll":return this._finalizeEnroll(e,t.credential,i);case"signin":return this._finalizeSignIn(e,t.credential);default:return _("unexpected MultiFactorSessionType")}}}class iH extends ij{constructor(e){super("phone"),this.credential=e}static _fromCredential(e){return new iH(e)}_finalizeEnroll(e,t,i){return b(e,"POST","/v2/accounts/mfaEnrollment:finalize",C(e,{idToken:t,displayName:i,phoneVerificationInfo:this.credential._makeVerificationRequest()}))}_finalizeSignIn(e,t){return b(e,"POST","/v2/accounts/mfaSignIn:finalize",C(e,{mfaPendingCredential:t,phoneVerificationInfo:this.credential._makeVerificationRequest()}))}}class iW{constructor(){}static assertion(e){return iH._fromCredential(e)}}iW.FACTOR_ID="phone";class iz{static assertionForEnrollment(e,t){return iK._fromSecret(e,t)}static assertionForSignIn(e,t){return iK._fromEnrollmentId(e,t)}static async generateSecret(e){var t,i;v(void 0!==(null===(t=e.user)||void 0===t?void 0:t.auth),"internal-error");let n=await b(i=e.user.auth,"POST","/v2/accounts/mfaEnrollment:start",C(i,{idToken:e.credential,totpEnrollmentInfo:{}}));return i$._fromStartTotpMfaEnrollmentResponse(n,e.user.auth)}}iz.FACTOR_ID="totp";class iK extends ij{constructor(e,t,i){super("totp"),this.otp=e,this.enrollmentId=t,this.secret=i}static _fromSecret(e,t){return new iK(t,void 0,e)}static _fromEnrollmentId(e,t){return new iK(t,e)}async _finalizeEnroll(e,t,i){return v(void 0!==this.secret,e,"argument-error"),b(e,"POST","/v2/accounts/mfaEnrollment:finalize",C(e,{idToken:t,displayName:i,totpVerificationInfo:this.secret._makeTotpVerificationInfo(this.otp)}))}async _finalizeSignIn(e,t){v(void 0!==this.enrollmentId&&void 0!==this.otp,e,"argument-error");let i={verificationCode:this.otp};return b(e,"POST","/v2/accounts/mfaSignIn:finalize",C(e,{mfaPendingCredential:t,mfaEnrollmentId:this.enrollmentId,totpVerificationInfo:i}))}}class i${constructor(e,t,i,n,r,s,a){this.sessionInfo=s,this.auth=a,this.secretKey=e,this.hashingAlgorithm=t,this.codeLength=i,this.codeIntervalSeconds=n,this.enrollmentCompletionDeadline=r}static _fromStartTotpMfaEnrollmentResponse(e,t){return new i$(e.totpSessionInfo.sharedSecretKey,e.totpSessionInfo.hashingAlgorithm,e.totpSessionInfo.verificationCodeLength,e.totpSessionInfo.periodSec,new Date(e.totpSessionInfo.finalizeEnrollmentTime).toUTCString(),e.totpSessionInfo.sessionInfo,t)}_makeTotpVerificationInfo(e){return{sessionInfo:this.sessionInfo,verificationCode:e}}generateQrCodeUrl(e,t){var i;let n=!1;return(iq(e)||iq(t))&&(n=!0),n&&(iq(e)&&(e=(null===(i=this.auth.currentUser)||void 0===i?void 0:i.email)||"unknownuser"),iq(t)&&(t=this.auth.name)),`otpauth://totp/${t}:${e}?secret=${this.secretKey}&issuer=${t}&algorithm=${this.hashingAlgorithm}&digits=${this.codeLength}`}}function iq(e){return void 0===e||(null==e?void 0:e.length)===0}var iG="@firebase/auth",iB="1.10.8";class iJ{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){var e;return this.assertAuthConfigured(),(null===(e=this.auth.currentUser)||void 0===e?void 0:e.uid)||null}async getToken(e){return(this.assertAuthConfigured(),await this.auth._initializationPromise,this.auth.currentUser)?{accessToken:await this.auth.currentUser.getIdToken(e)}:null}addAuthTokenListener(e){if(this.assertAuthConfigured(),this.internalListeners.has(e))return;let t=this.auth.onIdTokenChanged(t=>{e((null==t?void 0:t.stsTokenManager.accessToken)||null)});this.internalListeners.set(e,t),this.updateProactiveRefresh()}removeAuthTokenListener(e){this.assertAuthConfigured();let t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){v(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}let iZ=(0,r.XA)("authIdTokenMaxAge")||300,iY=null,iQ=e=>async t=>{let i=t&&await t.getIdTokenResult(),n=i&&(new Date().getTime()-Date.parse(i.issuedAtTime))/1e3;if(n&&n>iZ)return;let r=null==i?void 0:i.token;iY!==r&&(iY=r,await fetch(e,{method:r?"POST":"DELETE",headers:r?{Authorization:`Bearer ${r}`}:{}}))};function iX(e=(0,n.Sx)()){let t=(0,n.j6)(e,"auth");if(t.isInitialized())return t.getImmediate();let i=function(e,t){let i=(0,n.j6)(e,"auth");if(i.isInitialized()){let e=i.getImmediate(),n=i.getOptions();if((0,r.bD)(n,null!=t?t:{}))return e;d(e,"already-initialized")}return i.initialize({options:t})}(e,{popupRedirectResolver:iV,persistence:[tZ,tO,tD]}),s=(0,r.XA)("authTokenSyncURL");if(s&&"boolean"==typeof isSecureContext&&isSecureContext){let e=new URL(s,location.origin);if(location.origin===e.origin){var a,o;let t=iQ(e.toString());a=()=>t(i.currentUser),(0,r.Ku)(i).beforeAuthStateChanged(t,a),o=e=>t(e),(0,r.Ku)(i).onIdTokenChanged(o,void 0,void 0)}}let l=(0,r.Tj)("auth");return l&&function(e,t,i){let n=ek(e);v(/^https?:\/\//.test(t),n,"invalid-emulator-scheme");let s=eF(t),{host:a,port:o}=function(e){let t=eF(e),i=/(\/\/)?([^?#/]+)/.exec(e.substr(t.length));if(!i)return{host:"",port:null};let n=i[2].split("@").pop()||"",r=/^(\[[^\]]+\])(:|$)/.exec(n);if(r){let e=r[1];return{host:e,port:eV(n.substr(e.length+1))}}{let[e,t]=n.split(":");return{host:e,port:eV(t)}}}(t),l=null===o?"":`:${o}`,c={url:`${s}//${a}${l}/`},u=Object.freeze({host:a,port:o,protocol:s.replace(":",""),options:Object.freeze({disableWarnings:!1})});if(!n._canInitEmulator){v(n.config.emulator&&n.emulatorConfig,n,"emulator-config-failed"),v((0,r.bD)(c,n.config.emulator)&&(0,r.bD)(u,n.emulatorConfig),n,"emulator-config-failed");return}n.config.emulator=c,n.emulatorConfig=u,n.settings.appVerificationDisabledForTesting=!0,(0,r.zJ)(a)?((0,r.gE)(`${s}//${a}${l}`),(0,r.P1)("Auth",!0)):function(){function e(){let e=document.createElement("p"),t=e.style;e.innerText="Running in emulator mode. Do not use with production credentials.",t.position="fixed",t.width="100%",t.backgroundColor="#ffffff",t.border=".1em solid #000000",t.color="#b50000",t.bottom="0px",t.left="0px",t.margin="0px",t.zIndex="10000",t.textAlign="center",e.classList.add("firebase-emulator-warning"),document.body.appendChild(e)}"undefined"!=typeof console&&"function"==typeof console.info&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials."),"undefined"!=typeof window&&"undefined"!=typeof document&&("loading"===document.readyState?window.addEventListener("DOMContentLoaded",e):e())}()}(i,`http://${l}`),i}eP={loadJS:e=>new Promise((t,i)=>{let n=document.createElement("script");n.setAttribute("src",e),n.onload=t,n.onerror=e=>{let t=p("internal-error");t.customData=e,i(t)},n.type="text/javascript",n.charset="UTF-8",(function(){var e,t;return null!==(t=null===(e=document.getElementsByTagName("head"))||void 0===e?void 0:e[0])&&void 0!==t?t:document})().appendChild(n)}),gapiScript:"https://apis.google.com/js/api.js",recaptchaV2Script:"https://www.google.com/recaptcha/api.js",recaptchaEnterpriseScript:"https://www.google.com/recaptcha/enterprise.js?render="},function(e){(0,n.om)(new o.uA("auth",(t,{options:i})=>{let n=t.getProvider("app").getImmediate(),r=t.getProvider("heartbeat"),s=t.getProvider("app-check-internal"),{apiKey:a,authDomain:o}=n.options;v(a&&!a.includes(":"),"invalid-api-key",{appName:n.name});let l=new eE(n,r,s,{apiKey:a,authDomain:o,clientPlatform:e,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:eI(e)});return function(e,t){let i=(null==t?void 0:t.persistence)||[],n=(Array.isArray(i)?i:[i]).map(es);(null==t?void 0:t.errorMap)&&e._updateErrorMap(t.errorMap),e._initializeWithPersistence(n,null==t?void 0:t.popupRedirectResolver)}(l,i),l},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,i)=>{e.getProvider("auth-internal").initialize()})),(0,n.om)(new o.uA("auth-internal",e=>new iJ(ek(e.getProvider("auth").getImmediate())),"PRIVATE").setInstantiationMode("EXPLICIT")),(0,n.KO)(iG,iB,function(e){switch(e){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";case"WebExtension":return"web-extension";default:return}}(e)),(0,n.KO)(iG,iB,"esm2017")}("Browser")}}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/_not-found/page-09d475ed6534a562.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/_not-found/page-09d475ed6534a562.js new file mode 100644 index 00000000..898e8b0c --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/_not-found/page-09d475ed6534a562.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[492],{3868:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found/page",function(){return r(5623)}])},3384:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTTPAccessErrorFallback",{enumerable:!0,get:function(){return o}}),r(306);let l=r(5155);r(2115);let n={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{display:"inline-block"},h1:{display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},h2:{fontSize:14,fontWeight:400,lineHeight:"49px",margin:0}};function o(e){let{status:t,message:r}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("title",{children:t+": "+r}),(0,l.jsx)("div",{style:n.error,children:(0,l.jsxs)("div",{children:[(0,l.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,l.jsx)("h1",{className:"next-error-h1",style:n.h1,children:t}),(0,l.jsx)("div",{style:n.desc,children:(0,l.jsx)("h2",{style:n.h2,children:r})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5623:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let l=r(5155),n=r(3384);function o(){return(0,l.jsx)(n.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},e=>{var t=t=>e(e.s=t);e.O(0,[441,517,358],()=>t(3868)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/forgot-password/page-6e3d7f138d1e62ba.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/forgot-password/page-6e3d7f138d1e62ba.js new file mode 100644 index 00000000..f49e12ac --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/forgot-password/page-6e3d7f138d1e62ba.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[162],{6567:(e,u,s)=>{Promise.resolve().then(s.bind(s,3342))},3342:(e,u,s)=>{"use strict";s.d(u,{default:()=>o});var n=s(5155),r=s(4198),t=s(6046);function o(){let e=(0,t.useRouter)();return(0,n.jsx)(r.bq,{onBackToSignInClick:()=>e.push("/sign-in")})}},6046:(e,u,s)=>{"use strict";var n=s(6658);s.o(n,"useRouter")&&s.d(u,{useRouter:function(){return n.useRouter}})}},e=>{var u=u=>e(e.s=u);e.O(0,[811,499,198,441,517,358],()=>u(6567)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/layout-6aab929aad1d393d.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/layout-6aab929aad1d393d.js new file mode 100644 index 00000000..085591e0 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/layout-6aab929aad1d393d.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{1559:(e,s,r)=>{Promise.resolve().then(r.bind(r,5003)),Promise.resolve().then(r.bind(r,5447)),Promise.resolve().then(r.t.bind(r,5688,23)),Promise.resolve().then(r.t.bind(r,7051,23)),Promise.resolve().then(r.t.bind(r,9324,23))},5003:(e,s,r)=>{"use strict";r.d(s,{Header:()=>u});var i=r(5155),t=r(4565),a=r(8173),n=r.n(a),l=r(6046),o=r(521),c=r(6745);function u(e){let s=(0,l.useRouter)(),r=(0,c.J)(e.currentUser||null);async function a(){await (0,t.CI)(o.j),s.push("/sign-in")}return(0,i.jsx)("header",{className:"border-b border-gray-200",children:(0,i.jsxs)("div",{className:"max-w-6xl mx-auto h-12 flex items-center",children:[(0,i.jsx)("div",{className:"font-bold",children:(0,i.jsx)(n(),{href:"/",children:"FirebaseUI"})}),(0,i.jsx)("div",{className:"flex-grow flex items-center justify-end",children:(0,i.jsx)("ul",{className:"text-sm flex items-center gap-6 *:hover:opacity-75",children:r?(0,i.jsx)("li",{children:(0,i.jsx)("button",{onClick:a,children:"Sign Out"})}):(0,i.jsx)("li",{children:(0,i.jsx)(n(),{href:"/sign-in",children:"Sign In"})})})})]})})}},521:(e,s,r)=>{"use strict";r.d(s,{j:()=>o,ui:()=>c});var i=r(4496),t=r(3468),a=r(9904),n=r(4565);let l=0===(0,a.Dk)().length?(0,a.Wp)({apiKey:"AIzaSyA7xdkFMs7iUC6XWFYjjSxf_XbVV4F1mX4",authDomain:"fir-ui-2025.firebaseapp.com",projectId:"fir-ui-2025",storageBucket:"fir-ui-2025.firebasestorage.app",messagingSenderId:"616577669988",appId:"1:616577669988:web:7e67401f952fa9288df871"}):(0,a.Dk)()[0],o=(0,n.xI)(l),c=(0,i.bN)({app:l,behaviors:[],translations:[(0,t.ao)(t.x3.locale,{labels:{signIn:"Sign In"},prompts:{signInToAccount:"Sign in to your account"},errors:{invalidEmail:"Please enter a valid email address"}})]})},6745:(e,s,r)=>{"use strict";r.d(s,{J:()=>n});var i=r(2115),t=r(4565),a=r(521);function n(e){let[s,r]=(0,i.useState)(null!=e?e:null);return(0,i.useEffect)(()=>{let e=(0,t.hg)(a.j,r);return()=>e()},[]),s}},5447:(e,s,r)=>{"use strict";r.d(s,{FirebaseUIProvider:()=>n});var i=r(5155),t=r(521),a=r(4198);function n(e){let{children:s}=e;return(0,i.jsx)(a.sG,{ui:t.ui,policies:{termsOfServiceUrl:"https://www.google.com",privacyPolicyUrl:"https://www.google.com"},children:s})}},6046:(e,s,r)=>{"use strict";var i=r(6658);r.o(i,"useRouter")&&r.d(s,{useRouter:function(){return i.useRouter}})},9324:()=>{},5688:e=>{e.exports={style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"},className:"__className_188709",variable:"__variable_188709"}},7051:e=>{e.exports={style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"},className:"__className_9a8899",variable:"__variable_9a8899"}}},e=>{var s=s=>e(e.s=s);e.O(0,[261,811,499,198,460,441,517,358],()=>s(1559)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/page-8d787214c58f587b.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/page-8d787214c58f587b.js new file mode 100644 index 00000000..3826b5b1 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/page-8d787214c58f587b.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{3953:(e,s,n)=>{Promise.resolve().then(n.bind(n,8152))},8152:(e,s,n)=>{"use strict";n.r(s),n.d(s,{default:()=>c});var r=n(5155),i=n(6745),l=n(8173),h=n.n(l);function c(){let e=(0,i.J)();return(0,r.jsxs)("div",{className:"p-8 ",children:[(0,r.jsx)("h1",{className:"text-3xl font-bold mb-6",children:"Firebase UI Demo"}),(0,r.jsx)("div",{className:"mb-6",children:e&&(0,r.jsxs)("div",{children:["Welcome: ",e.email||e.phoneNumber]})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h2",{className:"text-2xl font-bold mb-4",children:"Auth Screens"}),(0,r.jsxs)("ul",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-4",children:[(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/sign-in-auth-screen",className:"text-blue-500 hover:underline",children:"Sign In Auth Screen"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/sign-in-auth-screen-w-handlers",className:"text-blue-500 hover:underline",children:"Sign In Auth Screen with Handlers"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/sign-in-auth-screen-w-oauth",className:"text-blue-500 hover:underline",children:"Sign In Auth Screen with OAuth"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/email-link-auth-screen",className:"text-blue-500 hover:underline",children:"Email Link Auth Screen"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/email-link-auth-screen-w-oauth",className:"text-blue-500 hover:underline",children:"Email Link Auth Screen with OAuth"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/phone-auth-screen",className:"text-blue-500 hover:underline",children:"Phone Auth Screen"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/phone-auth-screen-w-oauth",className:"text-blue-500 hover:underline",children:"Phone Auth Screen with OAuth"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/sign-up-auth-screen",className:"text-blue-500 hover:underline",children:"Sign Up Auth Screen"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/sign-up-auth-screen-w-oauth",className:"text-blue-500 hover:underline",children:"Sign Up Auth Screen with OAuth"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/oauth-screen",className:"text-blue-500 hover:underline",children:"OAuth Screen"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/password-reset-screen",className:"text-blue-500 hover:underline",children:"Password Reset Screen"})})]})]})]})}},521:(e,s,n)=>{"use strict";n.d(s,{j:()=>t,ui:()=>a});var r=n(4496),i=n(3468),l=n(9904),h=n(4565);let c=0===(0,l.Dk)().length?(0,l.Wp)({apiKey:"AIzaSyA7xdkFMs7iUC6XWFYjjSxf_XbVV4F1mX4",authDomain:"fir-ui-2025.firebaseapp.com",projectId:"fir-ui-2025",storageBucket:"fir-ui-2025.firebasestorage.app",messagingSenderId:"616577669988",appId:"1:616577669988:web:7e67401f952fa9288df871"}):(0,l.Dk)()[0],t=(0,h.xI)(c),a=(0,r.bN)({app:c,behaviors:[],translations:[(0,i.ao)(i.x3.locale,{labels:{signIn:"Sign In"},prompts:{signInToAccount:"Sign in to your account"},errors:{invalidEmail:"Please enter a valid email address"}})]})},6745:(e,s,n)=>{"use strict";n.d(s,{J:()=>h});var r=n(2115),i=n(4565),l=n(521);function h(e){let[s,n]=(0,r.useState)(null!=e?e:null);return(0,r.useEffect)(()=>{let e=(0,i.hg)(l.j,n);return()=>e()},[]),s}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,460,441,517,358],()=>s(3953)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/register/page-b51a8bfb00044279.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/register/page-b51a8bfb00044279.js new file mode 100644 index 00000000..6eb97952 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/register/page-b51a8bfb00044279.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[454],{8277:(e,s,r)=>{Promise.resolve().then(r.bind(r,3997))},3997:(e,s,r)=>{"use strict";r.d(s,{default:()=>o});var t=r(5155),a=r(6745),i=r(4198),n=r(6046),u=r(2115);function o(){let e=(0,n.useRouter)(),s=(0,a.J)();return(0,u.useEffect)(()=>{s&&e.push("/")},[s,e]),(0,t.jsx)(i.RB,{onBackToSignInClick:()=>e.push("/sign-in"),children:(0,t.jsx)(i._e,{})})}},521:(e,s,r)=>{"use strict";r.d(s,{j:()=>o,ui:()=>l});var t=r(4496),a=r(3468),i=r(9904),n=r(4565);let u=0===(0,i.Dk)().length?(0,i.Wp)({apiKey:"AIzaSyA7xdkFMs7iUC6XWFYjjSxf_XbVV4F1mX4",authDomain:"fir-ui-2025.firebaseapp.com",projectId:"fir-ui-2025",storageBucket:"fir-ui-2025.firebasestorage.app",messagingSenderId:"616577669988",appId:"1:616577669988:web:7e67401f952fa9288df871"}):(0,i.Dk)()[0],o=(0,n.xI)(u),l=(0,t.bN)({app:u,behaviors:[],translations:[(0,a.ao)(a.x3.locale,{labels:{signIn:"Sign In"},prompts:{signInToAccount:"Sign in to your account"},errors:{invalidEmail:"Please enter a valid email address"}})]})},6745:(e,s,r)=>{"use strict";r.d(s,{J:()=>n});var t=r(2115),a=r(4565),i=r(521);function n(e){let[s,r]=(0,t.useState)(null!=e?e:null);return(0,t.useEffect)(()=>{let e=(0,a.hg)(i.j,r);return()=>e()},[]),s}},6046:(e,s,r)=>{"use strict";var t=r(6658);r.o(t,"useRouter")&&r.d(s,{useRouter:function(){return t.useRouter}})},9904:(e,s,r)=>{"use strict";r.d(s,{Dk:()=>t.Dk,Wp:()=>t.Wp});var t=r(1972);(0,t.KO)("firebase","11.10.0","app")}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(8277)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen-w-oauth/page-ffa6fcbeb7299aa7.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen-w-oauth/page-ffa6fcbeb7299aa7.js new file mode 100644 index 00000000..8b2c8571 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen-w-oauth/page-ffa6fcbeb7299aa7.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[224],{5793:(e,s,r)=>{Promise.resolve().then(r.bind(r,4058))},4058:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>_});var n=r(5155),u=r(4198);function _(){return(0,n.jsx)(u.NY,{children:(0,n.jsx)(u._e,{})})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(5793)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen/page-cbbdc9acd56de275.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen/page-cbbdc9acd56de275.js new file mode 100644 index 00000000..9de976cb --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen/page-cbbdc9acd56de275.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[490],{1227:(e,s,r)=>{Promise.resolve().then(r.bind(r,172))},172:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>t});var n=r(5155),u=r(4198);function t(){return(0,n.jsx)(u.NY,{})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(1227)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/oauth-screen/page-662bb862120ebe1d.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/oauth-screen/page-662bb862120ebe1d.js new file mode 100644 index 00000000..5f387825 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/oauth-screen/page-662bb862120ebe1d.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[367],{128:(e,s,r)=>{Promise.resolve().then(r.bind(r,7093))},7093:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>_});var n=r(5155),u=r(4198);function _(){return(0,n.jsx)(u.WG,{children:(0,n.jsx)(u._e,{})})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(128)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/password-reset-screen/page-7346f1f8c8959f83.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/password-reset-screen/page-7346f1f8c8959f83.js new file mode 100644 index 00000000..8403165f --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/password-reset-screen/page-7346f1f8c8959f83.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[409],{8368:(e,n,s)=>{Promise.resolve().then(s.bind(s,375))},375:(e,n,s)=>{"use strict";s.r(n),s.d(n,{default:()=>a});var r=s(5155),u=s(4198);function a(){return(0,r.jsx)(u.bq,{onBackToSignInClick:()=>{}})}}},e=>{var n=n=>e(e.s=n);e.O(0,[811,499,198,441,517,358],()=>n(8368)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen-w-oauth/page-96baddefbdcffb57.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen-w-oauth/page-96baddefbdcffb57.js new file mode 100644 index 00000000..ec7aa313 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen-w-oauth/page-96baddefbdcffb57.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[665],{9608:(e,s,r)=>{Promise.resolve().then(r.bind(r,8911))},8911:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>_});var n=r(5155),u=r(4198);function _(){return(0,n.jsx)(u.jT,{children:(0,n.jsx)(u._e,{})})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(9608)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen/page-5ba757203936288e.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen/page-5ba757203936288e.js new file mode 100644 index 00000000..66b8c760 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen/page-5ba757203936288e.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[231],{3870:(e,s,r)=>{Promise.resolve().then(r.bind(r,9925))},9925:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>a});var n=r(5155),u=r(4198);function a(){return(0,n.jsx)(u.jT,{resendDelay:2})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(3870)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-handlers/page-077fb2f09d5d3268.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-handlers/page-077fb2f09d5d3268.js new file mode 100644 index 00000000..4e4ae49f --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-handlers/page-077fb2f09d5d3268.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[290],{1415:(e,s,r)=>{Promise.resolve().then(r.bind(r,7932))},7932:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>t});var n=r(5155),o=r(4198);function t(){return(0,n.jsx)(o.hY,{onForgotPasswordClick:()=>{},onRegisterClick:()=>{}})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(1415)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-oauth/page-018d6282ee014b52.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-oauth/page-018d6282ee014b52.js new file mode 100644 index 00000000..89b2134c --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-oauth/page-018d6282ee014b52.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[30],{6613:(e,s,r)=>{Promise.resolve().then(r.bind(r,1624))},1624:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>o});var u=r(5155),t=r(4198),n=r(6046);function o(){let e=(0,n.useRouter)();return(0,u.jsx)(t.hY,{onForgotPasswordClick:()=>e.push("/password-reset-screen"),onRegisterClick:()=>e.push("/sign-up-auth-screen"),children:(0,u.jsx)(t._e,{})})}},6046:(e,s,r)=>{"use strict";var u=r(6658);r.o(u,"useRouter")&&r.d(s,{useRouter:function(){return u.useRouter}})}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(6613)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen/page-58105dede38ce5c7.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen/page-58105dede38ce5c7.js new file mode 100644 index 00000000..4b7fe454 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen/page-58105dede38ce5c7.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[936],{1439:(e,s,r)=>{Promise.resolve().then(r.bind(r,8498))},8498:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>t});var n=r(5155),u=r(4198);function t(){return(0,n.jsx)(u.hY,{})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(1439)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen-w-oauth/page-7dd5c04e4ab03479.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen-w-oauth/page-7dd5c04e4ab03479.js new file mode 100644 index 00000000..5b603c73 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen-w-oauth/page-7dd5c04e4ab03479.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[104],{1299:(e,s,r)=>{Promise.resolve().then(r.bind(r,194))},194:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>_});var n=r(5155),u=r(4198);function _(){return(0,n.jsx)(u.RB,{children:(0,n.jsx)(u._e,{})})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(1299)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen/page-ea1e24f2258e0ae5.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen/page-ea1e24f2258e0ae5.js new file mode 100644 index 00000000..ae89048b --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen/page-ea1e24f2258e0ae5.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[338],{9685:(e,s,r)=>{Promise.resolve().then(r.bind(r,4612))},4612:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>t});var n=r(5155),u=r(4198);function t(){return(0,n.jsx)(u.RB,{})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(9685)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/email/page-c77da0e5d7c5f5f5.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/email/page-c77da0e5d7c5f5f5.js new file mode 100644 index 00000000..2de84a0f --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/email/page-c77da0e5d7c5f5f5.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[717],{3665:(e,r,s)=>{Promise.resolve().then(s.bind(s,8914))},8914:(e,r,s)=>{"use strict";s.d(r,{default:()=>o});var t=s(5155),a=s(6745),u=s(4198),i=s(6046),n=s(2115);function o(){let e=(0,i.useRouter)(),r=(0,a.J)();return(0,n.useEffect)(()=>{r&&e.push("/")},[r,e]),(0,t.jsx)(u.NY,{})}},521:(e,r,s)=>{"use strict";s.d(r,{j:()=>o,ui:()=>l});var t=s(4496),a=s(3468),u=s(9904),i=s(4565);let n=0===(0,u.Dk)().length?(0,u.Wp)({apiKey:"AIzaSyA7xdkFMs7iUC6XWFYjjSxf_XbVV4F1mX4",authDomain:"fir-ui-2025.firebaseapp.com",projectId:"fir-ui-2025",storageBucket:"fir-ui-2025.firebasestorage.app",messagingSenderId:"616577669988",appId:"1:616577669988:web:7e67401f952fa9288df871"}):(0,u.Dk)()[0],o=(0,i.xI)(n),l=(0,t.bN)({app:n,behaviors:[],translations:[(0,a.ao)(a.x3.locale,{labels:{signIn:"Sign In"},prompts:{signInToAccount:"Sign in to your account"},errors:{invalidEmail:"Please enter a valid email address"}})]})},6745:(e,r,s)=>{"use strict";s.d(r,{J:()=>i});var t=s(2115),a=s(4565),u=s(521);function i(e){let[r,s]=(0,t.useState)(null!=e?e:null);return(0,t.useEffect)(()=>{let e=(0,a.hg)(u.j,s);return()=>e()},[]),r}},6046:(e,r,s)=>{"use strict";var t=s(6658);s.o(t,"useRouter")&&s.d(r,{useRouter:function(){return t.useRouter}})},9904:(e,r,s)=>{"use strict";s.d(r,{Dk:()=>t.Dk,Wp:()=>t.Wp});var t=s(1972);(0,t.KO)("firebase","11.10.0","app")}},e=>{var r=r=>e(e.s=r);e.O(0,[811,499,198,441,517,358],()=>r(3665)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/page-00912d0f7b1415fc.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/page-00912d0f7b1415fc.js new file mode 100644 index 00000000..0521f85c --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/page-00912d0f7b1415fc.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[502],{7435:(e,i,s)=>{Promise.resolve().then(s.bind(s,5237))},5237:(e,i,s)=>{"use strict";s.d(i,{default:()=>c});var r=s(5155),n=s(6745),t=s(4198),a=s(8173),u=s.n(a),o=s(6046),l=s(2115);function c(){let e=(0,o.useRouter)(),i=(0,n.J)();return(0,l.useEffect)(()=>{i&&e.push("/")},[i,e]),(0,r.jsxs)(t.hY,{onForgotPasswordClick:()=>e.push("/forgot-password"),onRegisterClick:()=>e.push("/register"),children:[(0,r.jsx)(t._e,{}),(0,r.jsx)("div",{children:(0,r.jsx)(u(),{href:"/sign-in/phone",children:"Sign in with phone number"})}),(0,r.jsx)("div",{children:(0,r.jsx)(u(),{href:"/sign-in/email",children:"Sign in with email link"})})]})}},521:(e,i,s)=>{"use strict";s.d(i,{j:()=>o,ui:()=>l});var r=s(4496),n=s(3468),t=s(9904),a=s(4565);let u=0===(0,t.Dk)().length?(0,t.Wp)({apiKey:"AIzaSyA7xdkFMs7iUC6XWFYjjSxf_XbVV4F1mX4",authDomain:"fir-ui-2025.firebaseapp.com",projectId:"fir-ui-2025",storageBucket:"fir-ui-2025.firebasestorage.app",messagingSenderId:"616577669988",appId:"1:616577669988:web:7e67401f952fa9288df871"}):(0,t.Dk)()[0],o=(0,a.xI)(u),l=(0,r.bN)({app:u,behaviors:[],translations:[(0,n.ao)(n.x3.locale,{labels:{signIn:"Sign In"},prompts:{signInToAccount:"Sign in to your account"},errors:{invalidEmail:"Please enter a valid email address"}})]})},6745:(e,i,s)=>{"use strict";s.d(i,{J:()=>a});var r=s(2115),n=s(4565),t=s(521);function a(e){let[i,s]=(0,r.useState)(null!=e?e:null);return(0,r.useEffect)(()=>{let e=(0,n.hg)(t.j,s);return()=>e()},[]),i}},6046:(e,i,s)=>{"use strict";var r=s(6658);s.o(r,"useRouter")&&s.d(i,{useRouter:function(){return r.useRouter}})}},e=>{var i=i=>e(e.s=i);e.O(0,[811,499,198,460,441,517,358],()=>i(7435)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/phone/page-98c7321b7c0579e7.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/phone/page-98c7321b7c0579e7.js new file mode 100644 index 00000000..737b5a70 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/phone/page-98c7321b7c0579e7.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5],{9418:(e,r,s)=>{Promise.resolve().then(s.bind(s,890))},890:(e,r,s)=>{"use strict";s.d(r,{default:()=>o});var t=s(5155),a=s(6745),u=s(4198),i=s(6046),n=s(2115);function o(){let e=(0,i.useRouter)(),r=(0,a.J)();return(0,n.useEffect)(()=>{r&&e.push("/")},[r,e]),(0,t.jsx)(u.jT,{})}},521:(e,r,s)=>{"use strict";s.d(r,{j:()=>o,ui:()=>l});var t=s(4496),a=s(3468),u=s(9904),i=s(4565);let n=0===(0,u.Dk)().length?(0,u.Wp)({apiKey:"AIzaSyA7xdkFMs7iUC6XWFYjjSxf_XbVV4F1mX4",authDomain:"fir-ui-2025.firebaseapp.com",projectId:"fir-ui-2025",storageBucket:"fir-ui-2025.firebasestorage.app",messagingSenderId:"616577669988",appId:"1:616577669988:web:7e67401f952fa9288df871"}):(0,u.Dk)()[0],o=(0,i.xI)(n),l=(0,t.bN)({app:n,behaviors:[],translations:[(0,a.ao)(a.x3.locale,{labels:{signIn:"Sign In"},prompts:{signInToAccount:"Sign in to your account"},errors:{invalidEmail:"Please enter a valid email address"}})]})},6745:(e,r,s)=>{"use strict";s.d(r,{J:()=>i});var t=s(2115),a=s(4565),u=s(521);function i(e){let[r,s]=(0,t.useState)(null!=e?e:null);return(0,t.useEffect)(()=>{let e=(0,a.hg)(u.j,s);return()=>e()},[]),r}},6046:(e,r,s)=>{"use strict";var t=s(6658);s.o(t,"useRouter")&&s.d(r,{useRouter:function(){return t.useRouter}})},9904:(e,r,s)=>{"use strict";s.d(r,{Dk:()=>t.Dk,Wp:()=>t.Wp});var t=s(1972);(0,t.KO)("firebase","11.10.0","app")}},e=>{var r=r=>e(e.s=r);e.O(0,[811,499,198,441,517,358],()=>r(9418)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/framework-f6c30afefa8caa28.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/framework-f6c30afefa8caa28.js new file mode 100644 index 00000000..c6e47f75 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/framework-f6c30afefa8caa28.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[593],{1247:(e,t,n)=>{var r,l=n(7836),a=n(9982),o=n(6540),i=n(961);function u(e){var t="https://react.dev/errors/"+e;if(1I||(e.current=M[I],M[I]=null,I--)}function H(e,t){M[++I]=e.current,e.current=t}var $=U(null),V=U(null),B=U(null),Q=U(null);function W(e,t){switch(H(B,t),H(V,e),H($,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?sb(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)e=sk(t=sb(t),e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}j($),H($,e)}function q(){j($),j(V),j(B)}function K(e){null!==e.memoizedState&&H(Q,e);var t=$.current,n=sk(t,e.type);t!==n&&(H(V,e),H($,n))}function Y(e){V.current===e&&(j($),j(V)),Q.current===e&&(j(Q),cn._currentValue=A)}function G(e){if(void 0===tI)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);tI=t&&t[1]||"",tU=-1)":-1l||u[r]!==s[l]){var c="\n"+u[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=r&&0<=l);break}}}finally{X=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?G(n):""}function J(e){try{var t="",n=null;do t+=function(e,t){switch(e.tag){case 26:case 27:case 5:return G(e.type);case 16:return G("Lazy");case 13:return e.child!==t&&null!==t?G("Suspense Fallback"):G("Suspense");case 19:return G("SuspenseList");case 0:case 15:return Z(e.type,!1);case 11:return Z(e.type.render,!1);case 1:return Z(e.type,!0);case 31:return G("Activity");default:return""}}(e,n),n=e,e=e.return;while(e);return t}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}var ee=Object.prototype.hasOwnProperty,et=a.unstable_scheduleCallback,en=a.unstable_cancelCallback,er=a.unstable_shouldYield,el=a.unstable_requestPaint,ea=a.unstable_now,eo=a.unstable_getCurrentPriorityLevel,ei=a.unstable_ImmediatePriority,eu=a.unstable_UserBlockingPriority,es=a.unstable_NormalPriority,ec=a.unstable_LowPriority,ef=a.unstable_IdlePriority,ed=a.log,ep=a.unstable_setDisableYieldValue,em=null,eh=null;function eg(e){if("function"==typeof ed&&ep(e),eh&&"function"==typeof eh.setStrictMode)try{eh.setStrictMode(em,e)}catch(e){}}var ey=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(ev(e)/eb|0)|0},ev=Math.log,eb=Math.LN2,ek=256,ew=262144,eS=4194304;function eE(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return 261888&e;case 262144:case 524288:case 1048576:case 2097152:return 3932160&e;case 4194304:case 8388608:case 0x1000000:case 0x2000000:return 0x3c00000&e;case 0x4000000:return 0x4000000;case 0x8000000:return 0x8000000;case 0x10000000:return 0x10000000;case 0x20000000:return 0x20000000;case 0x40000000:return 0;default:return e}}function ex(e,t,n){var r=e.pendingLanes;if(0===r)return 0;var l=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var i=0x7ffffff&r;return 0!==i?0!=(r=i&~a)?l=eE(r):0!=(o&=i)?l=eE(o):n||0!=(n=i&~e)&&(l=eE(n)):0!=(i=r&~a)?l=eE(i):0!==o?l=eE(o):n||0!=(n=r&~e)&&(l=eE(n)),0===l?0:0!==t&&t!==l&&0==(t&a)&&((a=l&-l)>=(n=t&-t)||32===a&&0!=(4194048&n))?t:l}function eC(e,t){return 0==(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function e_(){var e=eS;return 0==(0x3c00000&(eS<<=1))&&(eS=4194304),e}function ez(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function eP(e,t){e.pendingLanes|=t,0x10000000!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function eN(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-ey(t);e.entangledLanes|=t,e.entanglements[r]=0x40000000|e.entanglements[r]|261930&n}function eT(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-ey(n),l=1<=nr),no=!1;function ni(e,t){switch(e){case"keyup":return -1!==nt.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function nu(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var ns=!1,nc={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function nf(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!nc[e.type]:"textarea"===t}function nd(e,t,n,r){tw?tS?tS.push(r):tS=[r]:tw=r,0<(t=sa(t,"onChange")).length&&(n=new tB("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var np=null,nm=null;function nh(e){u5(e,0)}function ng(e){if(te(eK(e)))return e}function ny(e,t){if("change"===e)return t}var nv=!1;if(tz){if(tz){var nb="oninput"in document;if(!nb){var nk=document.createElement("div");nk.setAttribute("oninput","return;"),nb="function"==typeof nk.oninput}r=nb}else r=!1;nv=r&&(!document.documentMode||9=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=nN(r)}}function nL(e){e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;for(var t=tt(e.document);t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(n)e=t.contentWindow;else break;t=tt(e.document)}return t}function nO(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var nD=tz&&"documentMode"in document&&11>=document.documentMode,nF=null,nR=null,nA=null,nM=!1;function nI(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;nM||null==nF||nF!==tt(r)||(r="selectionStart"in(r=nF)&&nO(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},nA&&nP(nA,r)||(nA=r,0<(r=sa(nR,"onSelect")).length&&(t=new tB("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=nF)))}function nU(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var nj={animationend:nU("Animation","AnimationEnd"),animationiteration:nU("Animation","AnimationIteration"),animationstart:nU("Animation","AnimationStart"),transitionrun:nU("Transition","TransitionRun"),transitionstart:nU("Transition","TransitionStart"),transitioncancel:nU("Transition","TransitionCancel"),transitionend:nU("Transition","TransitionEnd")},nH={},n$={};function nV(e){if(nH[e])return nH[e];if(!nj[e])return e;var t,n=nj[e];for(t in n)if(n.hasOwnProperty(t)&&t in n$)return nH[e]=n[t];return e}tz&&(n$=document.createElement("div").style,"AnimationEvent"in window||(delete nj.animationend.animation,delete nj.animationiteration.animation,delete nj.animationstart.animation),"TransitionEvent"in window||delete nj.transitionend.transition);var nB=nV("animationend"),nQ=nV("animationiteration"),nW=nV("animationstart"),nq=nV("transitionrun"),nK=nV("transitionstart"),nY=nV("transitioncancel"),nG=nV("transitionend"),nX=new Map,nZ="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function nJ(e,t){nX.set(e,t),eJ(t,[e])}nZ.push("scrollEnd");var n0="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof l&&"function"==typeof l.emit){l.emit("uncaughtException",e);return}console.error(e)},n1=[],n2=0,n3=0;function n4(){for(var e=n2,t=n3=n2=0;t>=o,l-=o,rk=1<<32-ey(t)+l|n<h?(g=f,f=null):g=f.sibling;var y=p(l,f,i[h],u);if(null===y){null===f&&(f=g);break}e&&f&&null===y.alternate&&t(l,f),o=a(y,o,h),null===c?s=y:c.sibling=y,c=y,f=g}if(h===i.length)return n(l,f),rN&&rS(l,h),s;if(null===f){for(;hg?(y=h,h=null):y=h.sibling;var b=p(l,h,v.value,s);if(null===b){null===h&&(h=y);break}e&&h&&null===b.alternate&&t(l,h),o=a(b,o,g),null===f?c=b:f.sibling=b,f=b,h=y}if(v.done)return n(l,h),rN&&rS(l,g),c;if(null===h){for(;!v.done;g++,v=i.next())null!==(v=d(l,v.value,s))&&(o=a(v,o,g),null===f?c=v:f.sibling=v,f=v);return rN&&rS(l,g),c}for(h=r(h);!v.done;g++,v=i.next())null!==(v=m(h,l,g,v.value,s))&&(e&&null!==v.alternate&&h.delete(null===v.key?g:v.key),o=a(v,o,g),null===f?c=v:f.sibling=v,f=v);return e&&h.forEach(function(e){return t(l,e)}),rN&&rS(l,g),c}(s,c,f=b.call(f),h)}if("function"==typeof f.then)return i(s,c,ly(f),h);if(f.$$typeof===S)return i(s,c,rX(s,f),h);lb(s,f)}return"string"==typeof f&&""!==f||"number"==typeof f||"bigint"==typeof f?(f=""+f,null!==c&&6===c.tag?(n(s,c.sibling),(h=l(c,f)).return=s):(n(s,c),(h=ru(f,s.mode,h)).return=s),o(s=h)):n(s,c)}(i,s,c,f);return lh=null,h}catch(e){if(e===la||e===li)throw e;var b=rn(29,e,null,i.mode);return b.lanes=f,b.return=i,b}finally{}}}var lw=lk(!0),lS=lk(!1),lE=!1;function lx(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function lC(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function l_(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function lz(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&iI)){var l=r.pending;return null===l?t.next=t:(t.next=l.next,l.next=t),r.pending=t,t=n7(e),n9(e,null,n),t}return n8(e,r,t,n),n7(e)}function lP(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194048&n))){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,eT(e,n)}}function lN(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var l=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};null===a?l=a=o:a=a.next=o,n=n.next}while(null!==n);null===a?l=a=t:a=a.next=t}else l=a=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var lT=!1;function lL(){if(lT){var e=r9;if(null!==e)throw e}}function lO(e,t,n,r){lT=!1;var l=e.updateQueue;lE=!1;var a=l.firstBaseUpdate,o=l.lastBaseUpdate,i=l.shared.pending;if(null!==i){l.shared.pending=null;var u=i,s=u.next;u.next=null,null===o?a=s:o.next=s,o=u;var c=e.alternate;null!==c&&(i=(c=c.updateQueue).lastBaseUpdate)!==o&&(null===i?c.firstBaseUpdate=s:i.next=s,c.lastBaseUpdate=u)}if(null!==a){var f=l.baseState;for(o=0,c=s=u=null,i=a;;){var d=-0x20000001&i.lane,p=d!==i.lane;if(p?(iH&d)===d:(r&d)===d){0!==d&&d===r5&&(lT=!0),null!==c&&(c=c.next={lane:0,tag:i.tag,payload:i.payload,callback:null,next:null});e:{var h=e,g=i;switch(d=t,g.tag){case 1:if("function"==typeof(h=g.payload)){f=h.call(n,f,d);break e}f=h;break e;case 3:h.flags=-65537&h.flags|128;case 0:if(null==(d="function"==typeof(h=g.payload)?h.call(n,f,d):h))break e;f=m({},f,d);break e;case 2:lE=!0}}null!==(d=i.callback)&&(e.flags|=64,p&&(e.flags|=8192),null===(p=l.callbacks)?l.callbacks=[d]:p.push(d))}else p={lane:d,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===c?(s=c=p,u=f):c=c.next=p,o|=d;if(null===(i=i.next)){if(null===(i=l.shared.pending))break;i=(p=i).next,p.next=null,l.lastBaseUpdate=p,l.shared.pending=null}}null===c&&(u=f),l.baseState=u,l.firstBaseUpdate=s,l.lastBaseUpdate=c,null===a&&(l.shared.lanes=0),iY|=o,e.lanes=o,e.memoizedState=f}}function lD(e,t){if("function"!=typeof e)throw Error(u(191,e));e.call(t)}function lF(e,t){var n=e.callbacks;if(null!==n)for(e.callbacks=null,e=0;ea?a:8;var o=F.T,i={};F.T=i,a7(e,!1,t,n);try{var u=l(),s=F.S;if(null!==s&&s(i,u),null!==u&&"object"==typeof u&&"function"==typeof u.then){var c,f,d=(c=[],f={status:"pending",value:null,reason:null,then:function(e){c.push(e)}},u.then(function(){f.status="fulfilled",f.value=r;for(var e=0;e title"))),sm(a,r,n),a[eM]=e,eG(a),r=a;break e;case"link":var o=s4("link","href",l).get(r+(n.href||""));if(o){for(var i=0;ii)break;var c=u.transferSize,f=u.initiatorType;c&&sh(f)&&(o+=c*((u=u.responseEnd)s5?50:800)+h);return m.unsuspend=e,function(){m.unsuspend=null,clearTimeout(t),clearTimeout(n)}}:null)){ut=a,e.cancelPendingCommit=g(uz.bind(null,e,t,a,n,r,l,o,i,u,c,f,null,d,p)),ud(e,a,o,!s);return}}uz(e,t,a,n,r,l,o,i,u)}function ud(e,t,n,r){t&=~iX,t&=~iG,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var l=t;0<\/script>",a=a.removeChild(a.firstChild);break;case"select":a="string"==typeof r.is?o.createElement("select",{is:r.is}):o.createElement("select"),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a="string"==typeof r.is?o.createElement(l,{is:r.is}):o.createElement(l)}}a[eM]=t,a[eI]=r;e:for(o=t.child;null!==o;){if(5===o.tag||6===o.tag)a.appendChild(o.stateNode);else if(4!==o.tag&&27!==o.tag&&null!==o.child){o.child.return=o,o=o.child;continue}if(o===t)break;for(;null===o.sibling;){if(null===o.return||o.return===t)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}switch(t.stateNode=a,sm(a,l,r),l){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break;case"img":r=!0;break;default:r=!1}r&&oY(t)}}return o0(t),oG(t,t.type,null===e?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&oY(t);else{if("string"!=typeof r&&null===t.stateNode)throw Error(u(166));if(e=B.current,rA(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,null!==(l=rz))switch(l.tag){case 27:case 5:r=l.memoizedProps}e[eM]=t,(e=!!(e.nodeValue===n||null!==r&&!0===r.suppressHydrationWarning||sf(e.nodeValue,n)))||rD(t,!0)}else(e=sv(e).createTextNode(r))[eM]=t,t.stateNode=e}return o0(t),null;case 31:if(n=t.memoizedState,null===e||null!==e.memoizedState){if(r=rA(t),null!==n){if(null===e){if(!r)throw Error(u(318));if(!(e=null!==(e=t.memoizedState)?e.dehydrated:null))throw Error(u(557));e[eM]=t}else rM(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;o0(t),e=!1}else n=rI(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e){if(256&t.flags)return lW(t),t;return lW(t),null}if(0!=(128&t.flags))throw Error(u(558))}return o0(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(l=rA(t),null!==r&&null!==r.dehydrated){if(null===e){if(!l)throw Error(u(318));if(!(l=null!==(l=t.memoizedState)?l.dehydrated:null))throw Error(u(317));l[eM]=t}else rM(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;o0(t),l=!1}else l=rI(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l){if(256&t.flags)return lW(t),t;return lW(t),null}}if(lW(t),0!=(128&t.flags))return t.lanes=n,t;return n=null!==r,e=null!==e&&null!==e.memoizedState,n&&(r=t.child,l=null,null!==r.alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(l=r.alternate.memoizedState.cachePool.pool),a=null,null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(a=r.memoizedState.cachePool.pool),a!==l&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),oZ(t,t.updateQueue),o0(t),null;case 4:return q(),null===e&&st(t.stateNode.containerInfo),o0(t),null;case 10:return rB(t.type),o0(t),null;case 19:if(j(lq),null===(r=t.memoizedState))return o0(t),null;if(l=0!=(128&t.flags),null===(a=r.rendering)){if(l)oJ(r,!1);else{if(0!==iK||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(a=lK(e))){for(t.flags|=128,oJ(r,!1),e=a.updateQueue,t.updateQueue=e,oZ(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)ra(n,e),n=n.sibling;return H(lq,1&lq.current|2),rN&&rS(t,r.treeForkCount),t.child}e=e.sibling}null!==r.tail&&ea()>i8&&(t.flags|=128,l=!0,oJ(r,!1),t.lanes=4194304)}}else{if(!l){if(null!==(e=lK(a))){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,oZ(t,e),oJ(r,!0),null===r.tail&&"hidden"===r.tailMode&&!a.alternate&&!rN)return o0(t),null}else 2*ea()-r.renderingStartTime>i8&&0x20000000!==n&&(t.flags|=128,l=!0,oJ(r,!1),t.lanes=4194304)}r.isBackwards?(a.sibling=t.child,t.child=a):(null!==(e=r.last)?e.sibling=a:t.child=a,r.last=a)}if(null!==r.tail)return e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=ea(),e.sibling=null,n=lq.current,H(lq,l?1&n|2:1&n),rN&&rS(t,r.treeForkCount),e;return o0(t),null;case 22:case 23:return lW(t),lU(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?0!=(0x20000000&n)&&0==(128&t.flags)&&(o0(t),6&t.subtreeFlags&&(t.flags|=8192)):o0(t),null!==(n=t.updateQueue)&&oZ(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&j(lt),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),rB(r2),o0(t),null;case 25:case 30:return null}throw Error(u(156,t.tag))}(t.alternate,t,iq);if(null!==n){ij=n;return}if(null!==(t=t.sibling)){ij=t;return}ij=t=e}while(null!==t);0===iK&&(iK=5)}function u_(e,t){do{var n=function(e,t){switch(rC(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return rB(r2),q(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return Y(t),null;case 31:if(null!==t.memoizedState){if(lW(t),null===t.alternate)throw Error(u(340));rM()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 13:if(lW(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(u(340));rM()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return j(lq),null;case 4:return q(),null;case 10:return rB(t.type),null;case 22:case 23:return lW(t),lU(),null!==e&&j(lt),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return rB(r2),null;default:return null}}(e.alternate,e);if(null!==n){n.flags&=32767,ij=n;return}if(null!==(n=e.return)&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&null!==(e=e.sibling)){ij=e;return}ij=e=n}while(null!==e);iK=6,ij=null}function uz(e,t,n,r,l,a,o,i,s){e.cancelPendingCommit=null;do uO();while(0!==i9);if(0!=(6&iI))throw Error(u(327));if(null!==t){if(t===e.current)throw Error(u(177));if(!function(e,t,n,r,l,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var i=e.entanglements,u=e.expirationTimes,s=e.hiddenUpdates;for(n=o&~n;0g&&(o=g,g=h,h=o);var y=nT(i,h),v=nT(i,g);if(y&&v&&(1!==p.rangeCount||p.anchorNode!==y.node||p.anchorOffset!==y.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var b=f.createRange();b.setStart(y.node,y.offset),p.removeAllRanges(),h>g?(p.addRange(b),p.extend(v.node,v.offset)):(b.setEnd(v.node,v.offset),p.addRange(b))}}}}for(f=[],p=i;p=p.parentNode;)1===p.nodeType&&f.push({element:p,left:p.scrollLeft,top:p.scrollTop});for("function"==typeof i.focus&&i.focus(),i=0;in?32:n,F.T=null,n=ur,ur=null;var a=i7,o=ut;if(i9=0,ue=i7=null,ut=0,0!=(6&iI))throw Error(u(331));var i=iI;if(iI|=4,iF(a.current),iz(a,a.current,o,n),iI=i,uK(0,!1),eh&&"function"==typeof eh.onPostCommitFiberRoot)try{eh.onPostCommitFiberRoot(em,a)}catch(e){}return!0}finally{R.p=l,F.T=r,uL(e,t)}}function uF(e,t,n){t=rd(n,t),t=oy(e.stateNode,t,2),null!==(e=lz(e,t,2))&&(eP(e,2),uq(e))}function uR(e,t,n){if(3===e.tag)uF(e,e,n);else for(;null!==t;){if(3===t.tag){uF(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===i5||!i5.has(r))){e=rd(n,e),null!==(r=lz(t,n=ov(2),2))&&(ob(n,r,t,e),eP(r,2),uq(r));break}}t=t.return}}function uA(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new iM;var l=new Set;r.set(t,l)}else void 0===(l=r.get(t))&&(l=new Set,r.set(t,l));l.has(n)||(iW=!0,l.add(n),e=uM.bind(null,e,t,n),t.then(e,e))}function uM(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,iU===e&&(iH&n)===n&&(4===iK||3===iK&&(0x3c00000&iH)===iH&&300>ea()-i3?0==(2&iI)&&uh(e,0):iX|=n,iJ===iH&&(iJ=0)),uq(e)}function uI(e,t){0===t&&(t=e_()),null!==(e=n5(e,t))&&(eP(e,t),uq(e))}function uU(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),uI(e,n)}function uj(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(n=l.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(u(314))}null!==r&&r.delete(t),uI(e,n)}var uH=null,u$=null,uV=!1,uB=!1,uQ=!1,uW=0;function uq(e){e!==u$&&null===e.next&&(null===u$?uH=u$=e:u$=u$.next=e),uB=!0,uV||(uV=!0,s_(function(){0!=(6&iI)?et(ei,uY):uG()}))}function uK(e,t){if(!uQ&&uB){uQ=!0;do for(var n=!1,r=uH;null!==r;){if(!t){if(0!==e){var l=r.pendingLanes;if(0===l)var a=0;else{var o=r.suspendedLanes,i=r.pingedLanes;a=0xc000095&(a=(1<<31-ey(42|e)+1)-1&(l&~(o&~i)))?0xc000095&a|1:a?2|a:0}0!==a&&(n=!0,uJ(r,a))}else a=iH,0==(3&(a=ex(r,r===iU?a:0,null!==r.cancelPendingCommit||-1!==r.timeoutHandle)))||eC(r,a)||(n=!0,uJ(r,a))}r=r.next}while(n);uQ=!1}}function uY(){uG()}function uG(){uB=uV=!1;var e,t=0;0===uW||((e=window.event)&&"popstate"===e.type?e===sS||(sS=e,0):(sS=null,1))||(t=uW);for(var n=ea(),r=null,l=uH;null!==l;){var a=l.next,o=uX(l,n);0===o?(l.next=null,null===r?uH=a:r.next=a,null===a&&(u$=r)):(r=l,(0!==t||0!=(3&o))&&(uB=!0)),l=a}0!==i9&&5!==i9||uK(t,!1),0!==uW&&(uW=0)}function uX(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,l=e.expirationTimes,a=-0x3c00001&e.pendingLanes;0 title"):null)}function s6(e){return"stylesheet"!==e.type||0!=(3&e.state.loading)}var s5=0;function s9(){if(this.count--,0===this.count&&(0===this.imgCount||!this.waitingForImages)){if(this.stylesheets)ce(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var s7=null;function ce(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,s7=new Map,t.forEach(ct,e),s7=null,s9.call(e))}function ct(e,t){if(!(4&t.state.loading)){var n=s7.get(e);if(n)var r=n.get(null);else{n=new Map,s7.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a{var r=n(6540);function l(e){var t="https://react.dev/errors/"+e;if(1{!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(1247)},961:(e,t,n)=>{!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(6221)},9698:(e,t)=>{var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function l(e,t,r){var l=null;if(void 0!==r&&(l=""+r),void 0!==t.key&&(l=""+t.key),"key"in t)for(var a in r={},t)"key"!==a&&(r[a]=t[a]);else r=t;return{$$typeof:n,type:e,key:l,ref:void 0!==(t=r.ref)?t:null,props:r}}t.Fragment=r,t.jsx=l,t.jsxs=l},9869:(e,t,n)=>{var r=n(7836),l=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),h=Symbol.for("react.activity"),g=Symbol.iterator,y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,b={};function k(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||y}function w(){}function S(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||y}k.prototype.isReactComponent={},k.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},k.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},w.prototype=k.prototype;var E=S.prototype=new w;E.constructor=S,v(E,k.prototype),E.isPureReactComponent=!0;var x=Array.isArray;function C(){}var _={H:null,A:null,T:null,S:null},z=Object.prototype.hasOwnProperty;function P(e,t,n){var r=n.ref;return{$$typeof:l,type:e,key:t,ref:void 0!==r?r:null,props:n}}function N(e){return"object"==typeof e&&null!==e&&e.$$typeof===l}var T=/\/+/g;function L(e,t){var n,r;return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,function(e){return r[e]})):t.toString(36)}function O(e,t,n){if(null==e)return e;var r=[],o=0;return!function e(t,n,r,o,i){var u,s,c,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case l:case a:d=!0;break;case m:return e((d=t._init)(t._payload),n,r,o,i)}}if(d)return i=i(t),d=""===o?"."+L(t,0):o,x(i)?(r="",null!=d&&(r=d.replace(T,"$&/")+"/"),e(i,n,r,"",function(e){return e})):null!=i&&(N(i)&&(u=i,s=r+(null==i.key||t&&t.key===i.key?"":(""+i.key).replace(T,"$&/")+"/")+d,i=P(u.type,s,u.props)),n.push(i)),1;d=0;var p=""===o?".":o+":";if(x(t))for(var h=0;h{e.exports=n(9869)},4848:(e,t,n)=>{e.exports=n(9698)},4477:(e,t)=>{function n(e,t){var n=e.length;for(e.push(t);0>>1,l=e[r];if(0>>1;ra(u,n))sa(c,u)?(e[r]=c,e[s]=n,r=s):(e[r]=u,e[i]=n,r=i);else if(sa(c,n))e[r]=c,e[s]=n,r=s;else break}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var o,i=performance;t.unstable_now=function(){return i.now()}}else{var u=Date,s=u.now();t.unstable_now=function(){return u.now()-s}}var c=[],f=[],d=1,p=null,m=3,h=!1,g=!1,y=!1,v=!1,b="function"==typeof setTimeout?setTimeout:null,k="function"==typeof clearTimeout?clearTimeout:null,w="undefined"!=typeof setImmediate?setImmediate:null;function S(e){for(var t=r(f);null!==t;){if(null===t.callback)l(f);else if(t.startTime<=e)l(f),t.sortIndex=t.expirationTime,n(c,t);else break;t=r(f)}}function E(e){if(y=!1,S(e),!g){if(null!==r(c))g=!0,x||(x=!0,o());else{var t=r(f);null!==t&&O(E,t.startTime-e)}}}var x=!1,C=-1,_=5,z=-1;function P(){return!!v||!(t.unstable_now()-z<_)}function N(){if(v=!1,x){var e=t.unstable_now();z=e;var n=!0;try{e:{g=!1,y&&(y=!1,k(C),C=-1),h=!0;var a=m;try{t:{for(S(e),p=r(c);null!==p&&!(p.expirationTime>e&&P());){var i=p.callback;if("function"==typeof i){p.callback=null,m=p.priorityLevel;var u=i(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof u){p.callback=u,S(e),n=!0;break t}p===r(c)&&l(c),S(e)}else l(c);p=r(c)}if(null!==p)n=!0;else{var s=r(f);null!==s&&O(E,s.startTime-e),n=!1}}break e}finally{p=null,m=a,h=!1}n=void 0}}finally{n?o():x=!1}}}if("function"==typeof w)o=function(){w(N)};else if("undefined"!=typeof MessageChannel){var T=new MessageChannel,L=T.port2;T.port1.onmessage=N,o=function(){L.postMessage(null)}}else o=function(){b(N,0)};function O(e,n){C=b(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_forceFrameRate=function(e){0>e||125i?(e.sortIndex=a,n(f,e),null===r(c)&&e===r(f)&&(y?(k(C),C=-1):y=!0,O(E,a-i))):(e.sortIndex=u,n(c,e),g||h||(g=!0,x||(x=!0,o()))),e},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(e){var t=m;return function(){var n=m;m=t;try{return e.apply(this,arguments)}finally{m=n}}}},9982:(e,t,n)=>{e.exports=n(4477)}}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-7c5d8e9217f561df.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-7c5d8e9217f561df.js new file mode 100644 index 00000000..be84ff9c --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-7c5d8e9217f561df.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[792],{8925:(e,t)=>{"use strict";function r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return r}})},4599:()=>{"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},7836:(e,t,r)=>{"use strict";var n,o;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(o=r.g.process)?void 0:o.env)?r.g.process:r(5307)},5371:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return a}});let n=r(4782),o=r(6094);function a(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3912:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return n}}),r(6094);let n=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTTPAccessErrorStatus:function(){return r},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return o},getAccessFallbackErrorTypeByStatus:function(){return s},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return a}});let r={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},n=new Set(Object.values(r)),o="NEXT_HTTP_ERROR_FALLBACK";function a(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===o&&n.has(Number(r))}function i(e){return Number(e.digest.split(";")[1])}function s(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7092:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return a}});let n=r(2746),o=r(6700);function a(e){return(0,o.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3290:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSocketUrl",{enumerable:!0,get:function(){return o}});let n=r(8487);function o(e){let t=(0,n.normalizedAssetPrefix)(e),r=function(e){let t=window.location.protocol;try{t=new URL(e).protocol}catch(e){}return"http:"===t?"ws:":"wss:"}(e||"");if(URL.canParse(t))return t.replace(/^http/,"ws");let{hostname:o,port:a}=window.location;return r+"//"+o+(a?":"+a:"")+t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5711:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getReactStitchedError",{enumerable:!0,get:function(){return l}});let n=r(7677),o=n._(r(6540)),a=n._(r(3382)),i="react-stack-bottom-frame",s=RegExp("(at "+i+" )|("+i+"\\@)"),u=o.default.captureOwnerStack?o.default.captureOwnerStack:()=>"";function l(e){if("function"!=typeof o.default.captureOwnerStack)return e;let t=(0,a.default)(e),r=t&&e.stack||"",n=t?e.message:"",i=r.split("\n"),l=i.findIndex(e=>s.test(e)),c=l>=0?i.slice(0,l).join("\n"):r,d=Error(n);return Object.assign(d,e),d.stack=c,function(e){let t=e.stack||"",r=u();r&&!1===t.endsWith(r)&&(t+=r,e.stack=t)}(d),d}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2924:(e,t,r)=>{"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{addMessageListener:function(){return s},connectHMR:function(){return f},sendMessage:function(){return u}});let o=r(365),a=r(3290),i=[];function s(e){i.push(e)}function u(e){if(n&&n.readyState===n.OPEN)return n.send(e)}let l=0,c=!1,d=null;function f(e){!function t(){let r;function s(){if(n.onerror=null,n.onclose=null,n.close(),++l>25){c=!0,window.location.reload();return}clearTimeout(r),r=setTimeout(t,l>5?5e3:1e3)}n&&n.close();let u=(0,a.getSocketUrl)(e.assetPrefix);(n=new window.WebSocket(""+u+e.path)).onopen=function(){l=0,window.console.log("[HMR] connected")},n.onerror=s,n.onclose=s,n.onmessage=function(e){if(c)return;let t=JSON.parse(e.data);if("action"in t&&t.action===o.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED){if(null!==d&&d!==t.data.sessionId){window.location.reload(),c=!0;return}d=t.data.sessionId}for(let e of i)e(t)}}()}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6700:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{REDIRECT_ERROR_CODE:function(){return o},RedirectType:function(){return a},isRedirectError:function(){return i}});let n=r(4618),o="NEXT_REDIRECT";var a=function(e){return e.push="push",e.replace="replace",e}({});function i(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,a]=t,i=t.slice(2,-2).join(";"),s=Number(t.at(-2));return r===o&&("replace"===a||"push"===a)&&"string"==typeof i&&!isNaN(s)&&s in n.RedirectStatusCode}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4618:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return r}});var r=function(e){return e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6023:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"detectDomainLocale",{enumerable:!0,get:function(){return r}});let r=function(){for(var e=arguments.length,t=Array(e),r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let n=r(9211);function o(e){return(0,n.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4264:(e,t,r)=>{"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return i},isEqualNode:function(){return a}});let o=r(9592);function a(e,t){if(e instanceof HTMLElement&&t instanceof HTMLElement){let r=t.getAttribute("nonce");if(r&&!e.getAttribute("nonce")){let n=t.cloneNode(!0);return n.setAttribute("nonce",""),n.nonce=r,r===e.nonce&&e.isEqualNode(n)}}return e.isEqualNode(t)}function i(){return{mountedInstances:new Set,updateHead:e=>{let t={};e.forEach(e=>{if("link"===e.type&&e.props["data-optimized-fonts"]){if(document.querySelector('style[data-href="'+e.props["data-href"]+'"]'))return;e.props.href=e.props["data-href"],e.props["data-href"]=void 0}let r=t[e.type]||[];r.push(e),t[e.type]=r});let r=t.title?t.title[0]:null,o="";if(r){let{children:e}=r.props;o="string"==typeof e?e:Array.isArray(e)?e.join(""):""}o!==document.title&&(document.title=o),["meta","base","link","style","script"].forEach(e=>{n(e,t[e]||[])})}}}n=(e,t)=>{let r=document.querySelector("head");if(!r)return;let n=new Set(r.querySelectorAll(""+e+"[data-next-head]"));if("meta"===e){let e=r.querySelector("meta[charset]");null!==e&&n.add(e)}let i=[];for(let e=0;e{"use strict";let n,o,a,i,s,u,l,c,d,f,p,h;Object.defineProperty(t,"__esModule",{value:!0});let _=r(544);Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{emitter:function(){return q},hydrate:function(){return ec},initialize:function(){return Y},router:function(){return n},version:function(){return G}});let m=r(7677),g=r(4848);r(4599);let y=m._(r(6540)),P=m._(r(5338)),b=r(7592),E=m._(r(8840)),v=r(4671),S=r(4203),R=r(4220),O=r(2319),j=r(2438),T=r(4881),A=r(3097),w=m._(r(4264)),I=m._(r(6363)),C=r(1497),M=r(4009),x=r(3382),N=r(2454),L=r(2922),D=r(9568),U=r(3489),k=r(1138),F=r(4168),B=r(5294),H=m._(r(2862)),W=m._(r(6353));r(7092);let G="15.1.7",q=(0,E.default)(),X=e=>[].slice.call(e),V=!1;class z extends y.default.Component{componentDidCatch(e,t){this.props.fn(e,t)}componentDidMount(){this.scrollToHash(),n.isSsr&&(o.isFallback||o.nextExport&&((0,R.isDynamicRoute)(n.pathname)||location.search||V)||o.props&&o.props.__N_SSG&&(location.search||V))&&n.replace(n.pathname+"?"+String((0,O.assign)((0,O.urlQueryToSearchParams)(n.query),new URLSearchParams(location.search))),a,{_h:1,shallow:!o.isFallback&&!V}).catch(e=>{if(!e.cancelled)throw e})}componentDidUpdate(){this.scrollToHash()}scrollToHash(){let{hash:e}=location;if(!(e=e&&e.substring(1)))return;let t=document.getElementById(e);t&&setTimeout(()=>t.scrollIntoView(),0)}render(){return this.props.children}}async function Y(e){void 0===e&&(e={}),H.default.onSpanEnd(W.default),o=JSON.parse(document.getElementById("__NEXT_DATA__").textContent),window.__NEXT_DATA__=o,h=o.defaultLocale;let t=o.assetPrefix||"";if(self.__next_set_public_path__(""+t+"/_next/"),(0,j.setConfig)({serverRuntimeConfig:{},publicRuntimeConfig:o.runtimeConfig||{}}),a=(0,T.getURL)(),(0,D.hasBasePath)(a)&&(a=(0,L.removeBasePath)(a)),o.scriptLoader){let{initScriptLoader:e}=r(4811);e(o.scriptLoader)}i=new I.default(o.buildId,t);let l=e=>{let[t,r]=e;return i.routeLoader.onEntrypoint(t,r)};return window.__NEXT_P&&window.__NEXT_P.map(e=>setTimeout(()=>l(e),0)),window.__NEXT_P=[],window.__NEXT_P.push=l,(u=(0,w.default)()).getIsSsr=()=>n.isSsr,s=document.getElementById("__next"),{assetPrefix:t}}function K(e,t){return(0,g.jsx)(e,{...t})}function $(e){var t;let{children:r}=e,o=y.default.useMemo(()=>(0,k.adaptForAppRouterInstance)(n),[]);return(0,g.jsx)(z,{fn:e=>J({App:d,err:e}).catch(e=>console.error("Error rendering page: ",e)),children:(0,g.jsx)(U.AppRouterContext.Provider,{value:o,children:(0,g.jsx)(F.SearchParamsContext.Provider,{value:(0,k.adaptForSearchParams)(n),children:(0,g.jsx)(k.PathnameContextProviderAdapter,{router:n,isAutoExport:null!=(t=self.__NEXT_DATA__.autoExport)&&t,children:(0,g.jsx)(F.PathParamsContext.Provider,{value:(0,k.adaptForPathParams)(n),children:(0,g.jsx)(v.RouterContext.Provider,{value:(0,M.makePublicRouterInstance)(n),children:(0,g.jsx)(b.HeadManagerContext.Provider,{value:u,children:(0,g.jsx)(N.ImageConfigContext.Provider,{value:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0},children:r})})})})})})})})}let Q=e=>t=>{let r={...t,Component:p,err:o.err,router:n};return(0,g.jsx)($,{children:K(e,r)})};function J(e){let{App:t,err:s}=e;return console.error(s),console.error("A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred"),i.loadPage("/_error").then(n=>{let{page:o,styleSheets:a}=n;return(null==l?void 0:l.Component)===o?Promise.resolve().then(()=>_._(r(6218))).then(n=>Promise.resolve().then(()=>_._(r(5203))).then(r=>(t=r.default,e.App=t,n))).then(e=>({ErrorComponent:e.default,styleSheets:[]})):{ErrorComponent:o,styleSheets:a}}).then(r=>{var i;let{ErrorComponent:u,styleSheets:l}=r,c=Q(t),d={Component:u,AppTree:c,router:n,ctx:{err:s,pathname:o.page,query:o.query,asPath:a,AppTree:c}};return Promise.resolve((null==(i=e.props)?void 0:i.err)?e.props:(0,T.loadGetInitialProps)(t,d)).then(t=>eu({...e,err:s,Component:u,styleSheets:l,props:t}))})}function Z(e){let{callback:t}=e;return y.default.useLayoutEffect(()=>t(),[t]),null}let ee={navigationStart:"navigationStart",beforeRender:"beforeRender",afterRender:"afterRender",afterHydrate:"afterHydrate",routeChange:"routeChange"},et={hydration:"Next.js-hydration",beforeHydration:"Next.js-before-hydration",routeChangeToRender:"Next.js-route-change-to-render",render:"Next.js-render"},er=null,en=!0;function eo(){[ee.beforeRender,ee.afterHydrate,ee.afterRender,ee.routeChange].forEach(e=>performance.clearMarks(e))}function ea(){T.ST&&(performance.mark(ee.afterHydrate),performance.getEntriesByName(ee.beforeRender,"mark").length&&(performance.measure(et.beforeHydration,ee.navigationStart,ee.beforeRender),performance.measure(et.hydration,ee.beforeRender,ee.afterHydrate)),f&&performance.getEntriesByName(et.hydration).forEach(f),eo())}function ei(){if(!T.ST)return;performance.mark(ee.afterRender);let e=performance.getEntriesByName(ee.routeChange,"mark");e.length&&(performance.getEntriesByName(ee.beforeRender,"mark").length&&(performance.measure(et.routeChangeToRender,e[0].name,ee.beforeRender),performance.measure(et.render,ee.beforeRender,ee.afterRender),f&&(performance.getEntriesByName(et.render).forEach(f),performance.getEntriesByName(et.routeChangeToRender).forEach(f))),eo(),[et.routeChangeToRender,et.render].forEach(e=>performance.clearMeasures(e)))}function es(e){let{callbacks:t,children:r}=e;return y.default.useLayoutEffect(()=>t.forEach(e=>e()),[t]),r}function eu(e){let t,{App:r,Component:o,props:a,err:i}=e,u="initial"in e?void 0:e.styleSheets;o=o||l.Component;let d={...a=a||l.props,Component:o,err:i,router:n};l=d;let f=!1,p=new Promise((e,r)=>{c&&c(),t=()=>{c=null,e()},c=()=>{f=!0,c=null;let e=Error("Cancel rendering route");e.cancelled=!0,r(e)}});function h(){t()}!function(){if(!u)return;let e=new Set(X(document.querySelectorAll("style[data-n-href]")).map(e=>e.getAttribute("data-n-href"))),t=document.querySelector("noscript[data-n-css]"),r=null==t?void 0:t.getAttribute("data-n-css");u.forEach(t=>{let{href:n,text:o}=t;if(!e.has(n)){let e=document.createElement("style");e.setAttribute("data-n-href",n),e.setAttribute("media","x"),r&&e.setAttribute("nonce",r),document.head.appendChild(e),e.appendChild(document.createTextNode(o))}})}();let _=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(Z,{callback:function(){if(u&&!f){let e=new Set(u.map(e=>e.href)),t=X(document.querySelectorAll("style[data-n-href]")),r=t.map(e=>e.getAttribute("data-n-href"));for(let n=0;n{let{href:t}=e,r=document.querySelector('style[data-n-href="'+t+'"]');r&&(n.parentNode.insertBefore(r,n.nextSibling),n=r)}),X(document.querySelectorAll("link[data-n-p]")).forEach(e=>{e.parentNode.removeChild(e)})}if(e.scroll){let{x:t,y:r}=e.scroll;(0,S.handleSmoothScroll)(()=>{window.scrollTo(t,r)})}}}),(0,g.jsxs)($,{children:[K(r,d),(0,g.jsx)(A.Portal,{type:"next-route-announcer",children:(0,g.jsx)(C.RouteAnnouncer,{})})]})]});return!function(e,t){T.ST&&performance.mark(ee.beforeRender);let r=t(en?ea:ei);er?(0,y.default.startTransition)(()=>{er.render(r)}):(er=P.default.hydrateRoot(e,r,{onRecoverableError:B.onRecoverableError}),en=!1)}(s,e=>(0,g.jsx)(es,{callbacks:[e,h],children:_})),p}async function el(e){if(e.err&&(void 0===e.Component||!e.isHydratePass)){await J(e);return}try{await eu(e)}catch(r){let t=(0,x.getProperError)(r);if(t.cancelled)throw t;await J({...e,err:t})}}async function ec(e){let t=o.err;try{let e=await i.routeLoader.whenEntrypoint("/_app");if("error"in e)throw e.error;let{component:t,exports:r}=e;d=t,r&&r.reportWebVitals&&(f=e=>{let t,{id:n,name:o,startTime:a,value:i,duration:s,entryType:u,entries:l,attribution:c}=e,d=Date.now()+"-"+(Math.floor(Math.random()*(9e12-1))+1e12);l&&l.length&&(t=l[0].startTime);let f={id:n||d,name:o,startTime:a||t,value:null==i?s:i,label:"mark"===u||"measure"===u?"custom":"web-vital"};c&&(f.attribution=c),r.reportWebVitals(f)});let n=await i.routeLoader.whenEntrypoint(o.page);if("error"in n)throw n.error;p=n.component}catch(e){t=(0,x.getProperError)(e)}window.__NEXT_PRELOADREADY&&await window.__NEXT_PRELOADREADY(o.dynamicIds),n=(0,M.createRouter)(o.page,o.query,a,{initialProps:o.props,pageLoader:i,App:d,Component:p,wrapApp:Q,err:t,isFallback:!!o.isFallback,subscription:(e,t,r)=>el(Object.assign({},e,{App:t,scroll:r})),locale:o.locale,locales:o.locales,defaultLocale:h,domainLocales:o.domainLocales,isPreview:o.isPreview}),V=await n._initialMatchesMiddlewarePromise;let r={App:d,initial:!0,Component:p,props:o.props,err:t,isHydratePass:!0};(null==e?void 0:e.beforeRender)&&await e.beforeRender(),el(r)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7693:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(3185);let n=r(9402);window.next={version:n.version,get router(){return n.router},emitter:n.emitter},(0,n.initialize)({}).then(()=>(0,n.hydrate)()).catch(console.error),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6094:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return a}});let n=r(6053),o=r(281),a=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:r,hash:a}=(0,o.parsePath)(e);return/\.[^/]+\/?$/.test(t)?""+(0,n.removeTrailingSlash)(t)+r+a:t.endsWith("/")?""+t+r+a:t+"/"+r+a};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6363:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return f}});let n=r(7677),o=r(5371),a=r(1198),i=n._(r(5060)),s=r(3912),u=r(4220),l=r(1242),c=r(6053),d=r(3931);r(5661);class f{getPageList(){return(0,d.getClientBuildManifest)().then(e=>e.sortedPages)}getMiddleware(){return window.__MIDDLEWARE_MATCHERS=[],window.__MIDDLEWARE_MATCHERS}getDataHref(e){let{asPath:t,href:r,locale:n}=e,{pathname:d,query:f,search:p}=(0,l.parseRelativeUrl)(r),{pathname:h}=(0,l.parseRelativeUrl)(t),_=(0,c.removeTrailingSlash)(d);if("/"!==_[0])throw Error('Route name should start with a "/", got "'+_+'"');return(e=>{let t=(0,i.default)((0,c.removeTrailingSlash)((0,s.addLocale)(e,n)),".json");return(0,o.addBasePath)("/_next/data/"+this.buildId+t+p,!0)})(e.skipInterpolation?h:(0,u.isDynamicRoute)(_)?(0,a.interpolateAs)(d,h,f).result:_)}_isSsg(e){return this.promisedSsgManifest.then(t=>t.has(e))}loadPage(e){return this.routeLoader.loadRoute(e).then(e=>{if("component"in e)return{page:e.component,mod:e.exports,styleSheets:e.styles.map(e=>({href:e.href,text:e.content}))};throw e.error})}prefetch(e){return this.routeLoader.prefetch(e)}constructor(e,t){this.routeLoader=(0,d.createRouteLoader)(t),this.buildId=e,this.assetPrefix=t,this.promisedSsgManifest=new Promise(e=>{window.__SSG_MANIFEST?e(window.__SSG_MANIFEST):window.__SSG_MANIFEST_CB=()=>{e(window.__SSG_MANIFEST)}})}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3097:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Portal",{enumerable:!0,get:function(){return a}});let n=r(6540),o=r(961),a=e=>{let{children:t,type:r}=e,[a,i]=(0,n.useState)(null);return(0,n.useEffect)(()=>{let e=document.createElement(r);return document.body.appendChild(e),i(e),()=>{document.body.removeChild(e)}},[r]),a?(0,o.createPortal)(t,a):null};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8142:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reportGlobalError",{enumerable:!0,get:function(){return r}});let r="function"==typeof reportError?reportError:e=>{window.console.error(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5294:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"onRecoverableError",{enumerable:!0,get:function(){return u}});let n=r(7677),o=r(8216),a=r(8142),i=r(5711),s=n._(r(3382)),u=(e,t)=>{let r=(0,s.default)(e)&&"cause"in e?e.cause:e,n=(0,i.getReactStitchedError)(r);(0,o.isBailoutToCSRError)(r)||(0,a.reportGlobalError)(n)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2922:(e,t,r)=>{"use strict";function n(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(9568),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8695:(e,t,r)=>{"use strict";function n(e,t){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeLocale",{enumerable:!0,get:function(){return n}}),r(281),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9820:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{cancelIdleCallback:function(){return n},requestIdleCallback:function(){return r}});let r="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},n="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6846:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return d}});let n=r(2319),o=r(5543),a=r(8445),i=r(4881),s=r(6094),u=r(7262),l=r(574),c=r(1198);function d(e,t,r){let d;let f="string"==typeof t?t:(0,o.formatWithValidation)(t),p=f.match(/^[a-zA-Z]{1,}:\/\//),h=p?f.slice(p[0].length):f;if((h.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+f+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,i.normalizeRepeatedSlashes)(h);f=(p?p[0]:"")+t}if(!(0,u.isLocalURL)(f))return r?[f]:f;try{d=new URL(f.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){d=new URL("/","http://n")}try{let e=new URL(f,d);e.pathname=(0,s.normalizePathTrailingSlash)(e.pathname);let t="";if((0,l.isDynamicRoute)(e.pathname)&&e.searchParams&&r){let r=(0,n.searchParamsToUrlQuery)(e.searchParams),{result:i,params:s}=(0,c.interpolateAs)(e.pathname,e.pathname,r);i&&(t=(0,o.formatWithValidation)({pathname:i,hash:e.hash,query:(0,a.omit)(r,s)}))}let i=e.origin===d.origin?e.href.slice(e.origin.length):e.href;return r?[i,t||i]:i}catch(e){return r?[f]:f}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1497:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RouteAnnouncer:function(){return u},default:function(){return l}});let n=r(7677),o=r(4848),a=n._(r(6540)),i=r(4009),s={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",top:0,width:"1px",whiteSpace:"nowrap",wordWrap:"normal"},u=()=>{let{asPath:e}=(0,i.useRouter)(),[t,r]=a.default.useState(""),n=a.default.useRef(e);return a.default.useEffect(()=>{if(n.current!==e){if(n.current=e,document.title)r(document.title);else{var t;let n=document.querySelector("h1");r((null!=(t=null==n?void 0:n.innerText)?t:null==n?void 0:n.textContent)||e)}}},[e]),(0,o.jsx)("p",{"aria-live":"assertive",id:"__next-route-announcer__",role:"alert",style:s,children:t})},l=u;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3931:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createRouteLoader:function(){return m},getClientBuildManifest:function(){return h},isAssetError:function(){return c},markAssetError:function(){return l}}),r(7677),r(5060);let n=r(3465),o=r(9820),a=r(8925),i=r(503);function s(e,t,r){let n,o=t.get(e);if(o)return"future"in o?o.future:Promise.resolve(o);let a=new Promise(e=>{n=e});return t.set(e,{resolve:n,future:a}),r?r().then(e=>(n(e),e)).catch(r=>{throw t.delete(e),r}):a}let u=Symbol("ASSET_LOAD_ERROR");function l(e){return Object.defineProperty(e,u,{})}function c(e){return e&&u in e}let d=function(e){try{return e=document.createElement("link"),!!window.MSInputMethodContext&&!!document.documentMode||e.relList.supports("prefetch")}catch(e){return!1}}(),f=()=>(0,a.getDeploymentIdQueryOrEmptyString)();function p(e,t,r){return new Promise((n,a)=>{let i=!1;e.then(e=>{i=!0,n(e)}).catch(a),(0,o.requestIdleCallback)(()=>setTimeout(()=>{i||a(r)},t))})}function h(){return self.__BUILD_MANIFEST?Promise.resolve(self.__BUILD_MANIFEST):p(new Promise(e=>{let t=self.__BUILD_MANIFEST_CB;self.__BUILD_MANIFEST_CB=()=>{e(self.__BUILD_MANIFEST),t&&t()}}),3800,l(Error("Failed to load client build manifest")))}function _(e,t){return h().then(r=>{if(!(t in r))throw l(Error("Failed to lookup route: "+t));let o=r[t].map(t=>e+"/_next/"+(0,i.encodeURIPath)(t));return{scripts:o.filter(e=>e.endsWith(".js")).map(e=>(0,n.__unsafeCreateTrustedScriptURL)(e)+f()),css:o.filter(e=>e.endsWith(".css")).map(e=>e+f())}})}function m(e){let t=new Map,r=new Map,n=new Map,a=new Map;function i(e){{var t;let n=r.get(e.toString());return n||(document.querySelector('script[src^="'+e+'"]')?Promise.resolve():(r.set(e.toString(),n=new Promise((r,n)=>{(t=document.createElement("script")).onload=r,t.onerror=()=>n(l(Error("Failed to load script: "+e))),t.crossOrigin=void 0,t.src=e,document.body.appendChild(t)})),n))}}function u(e){let t=n.get(e);return t||n.set(e,t=fetch(e,{credentials:"same-origin"}).then(t=>{if(!t.ok)throw Error("Failed to load stylesheet: "+e);return t.text().then(t=>({href:e,content:t}))}).catch(e=>{throw l(e)})),t}return{whenEntrypoint:e=>s(e,t),onEntrypoint(e,r){(r?Promise.resolve().then(()=>r()).then(e=>({component:e&&e.default||e,exports:e}),e=>({error:e})):Promise.resolve(void 0)).then(r=>{let n=t.get(e);n&&"resolve"in n?r&&(t.set(e,r),n.resolve(r)):(r?t.set(e,r):t.delete(e),a.delete(e))})},loadRoute(r,n){return s(r,a,()=>{let o;return p(_(e,r).then(e=>{let{scripts:n,css:o}=e;return Promise.all([t.has(r)?[]:Promise.all(n.map(i)),Promise.all(o.map(u))])}).then(e=>this.whenEntrypoint(r).then(t=>({entrypoint:t,styles:e[1]}))),3800,l(Error("Route did not complete loading: "+r))).then(e=>{let{entrypoint:t,styles:r}=e,n=Object.assign({styles:r},t);return"error"in t?t:n}).catch(e=>{if(n)throw e;return{error:e}}).finally(()=>null==o?void 0:o())})},prefetch(t){let r;return(r=navigator.connection)&&(r.saveData||/2g/.test(r.effectiveType))?Promise.resolve():_(e,t).then(e=>Promise.all(d?e.scripts.map(e=>{var t,r,n;return t=e.toString(),r="script",new Promise((e,o)=>{if(document.querySelector('\n link[rel="prefetch"][href^="'+t+'"],\n link[rel="preload"][href^="'+t+'"],\n script[src^="'+t+'"]'))return e();n=document.createElement("link"),r&&(n.as=r),n.rel="prefetch",n.crossOrigin=void 0,n.onload=e,n.onerror=()=>o(l(Error("Failed to prefetch: "+t))),n.href=t,document.head.appendChild(n)})}):[])).then(()=>{(0,o.requestIdleCallback)(()=>this.loadRoute(t,!0).catch(()=>{}))}).catch(()=>{})}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4009:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{Router:function(){return a.default},createRouter:function(){return _},default:function(){return p},makePublicRouterInstance:function(){return m},useRouter:function(){return h},withRouter:function(){return u.default}});let n=r(7677),o=n._(r(6540)),a=n._(r(8151)),i=r(4671),s=n._(r(3382)),u=n._(r(4e3)),l={router:null,readyCallbacks:[],ready(e){if(this.router)return e();this.readyCallbacks.push(e)}},c=["pathname","route","query","asPath","components","isFallback","basePath","locale","locales","defaultLocale","isReady","isPreview","isLocaleDomain","domainLocales"],d=["push","replace","reload","back","prefetch","beforePopState"];function f(){if(!l.router)throw Error('No router instance found.\nYou should only use "next/router" on the client side of your app.\n');return l.router}Object.defineProperty(l,"events",{get:()=>a.default.events}),c.forEach(e=>{Object.defineProperty(l,e,{get:()=>f()[e]})}),d.forEach(e=>{l[e]=function(){for(var t=arguments.length,r=Array(t),n=0;n{l.ready(()=>{a.default.events.on(e,function(){for(var t=arguments.length,r=Array(t),n=0;ne()),l.readyCallbacks=[],l.router}function m(e){let t={};for(let r of c){if("object"==typeof e[r]){t[r]=Object.assign(Array.isArray(e[r])?[]:{},e[r]);continue}t[r]=e[r]}return t.events=a.default.events,d.forEach(r=>{t[r]=function(){for(var t=arguments.length,n=Array(t),o=0;o{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return y},handleClientScriptLoad:function(){return _},initScriptLoader:function(){return m}});let n=r(7677),o=r(544),a=r(4848),i=n._(r(961)),s=o._(r(6540)),u=r(7592),l=r(9592),c=r(9820),d=new Map,f=new Set,p=e=>{if(i.default.preinit){e.forEach(e=>{i.default.preinit(e,{as:"style"})});return}{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}},h=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:o=null,dangerouslySetInnerHTML:a,children:i="",strategy:s="afterInteractive",onError:u,stylesheets:c}=e,h=r||t;if(h&&f.has(h))return;if(d.has(t)){f.add(h),d.get(t).then(n,u);return}let _=()=>{o&&o(),f.add(h)},m=document.createElement("script"),g=new Promise((e,t)=>{m.addEventListener("load",function(t){e(),n&&n.call(this,t),_()}),m.addEventListener("error",function(e){t(e)})}).catch(function(e){u&&u(e)});a?(m.innerHTML=a.__html||"",_()):i?(m.textContent="string"==typeof i?i:Array.isArray(i)?i.join(""):"",_()):t&&(m.src=t,d.set(t,g)),(0,l.setAttributesFromProps)(m,e),"worker"===s&&m.setAttribute("type","text/partytown"),m.setAttribute("data-nscript",s),c&&p(c),document.body.appendChild(m)};function _(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>h(e))}):h(e)}function m(e){e.forEach(_),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");f.add(t)})}function g(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:o=null,strategy:l="afterInteractive",onError:d,stylesheets:p,..._}=e,{updateScripts:m,scripts:g,getIsSsr:y,appDir:P,nonce:b}=(0,s.useContext)(u.HeadManagerContext),E=(0,s.useRef)(!1);(0,s.useEffect)(()=>{let e=t||r;E.current||(o&&e&&f.has(e)&&o(),E.current=!0)},[o,t,r]);let v=(0,s.useRef)(!1);if((0,s.useEffect)(()=>{!v.current&&("afterInteractive"===l?h(e):"lazyOnload"===l&&("complete"===document.readyState?(0,c.requestIdleCallback)(()=>h(e)):window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>h(e))})),v.current=!0)},[e,l]),("beforeInteractive"===l||"worker"===l)&&(m?(g[l]=(g[l]||[]).concat([{id:t,src:r,onLoad:n,onReady:o,onError:d,..._}]),m(g)):y&&y()?f.add(t||r):y&&!y()&&h(e)),P){if(p&&p.forEach(e=>{i.default.preinit(e,{as:"style"})}),"beforeInteractive"===l)return r?(i.default.preload(r,_.integrity?{as:"script",integrity:_.integrity,nonce:b,crossOrigin:_.crossOrigin}:{as:"script",nonce:b,crossOrigin:_.crossOrigin}),(0,a.jsx)("script",{nonce:b,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([r,{..._,id:t}])+")"}})):(_.dangerouslySetInnerHTML&&(_.children=_.dangerouslySetInnerHTML.__html,delete _.dangerouslySetInnerHTML),(0,a.jsx)("script",{nonce:b,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([0,{..._,id:t}])+")"}}));"afterInteractive"===l&&r&&i.default.preload(r,_.integrity?{as:"script",integrity:_.integrity,nonce:b,crossOrigin:_.crossOrigin}:{as:"script",nonce:b,crossOrigin:_.crossOrigin})}return null}Object.defineProperty(g,"__nextScript",{value:!0});let y=g;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9592:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"setAttributesFromProps",{enumerable:!0,get:function(){return a}});let r={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"},n=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"];function o(e){return["async","defer","noModule"].includes(e)}function a(e,t){for(let[a,i]of Object.entries(t)){if(!t.hasOwnProperty(a)||n.includes(a)||void 0===i)continue;let s=r[a]||a.toLowerCase();"SCRIPT"===e.tagName&&o(s)?e[s]=!!i:e.setAttribute(s,String(i)),(!1===i||"SCRIPT"===e.tagName&&o(s)&&(!i||"false"===i))&&(e.setAttribute(s,""),e.removeAttribute(s))}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6353:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let n=r(2924);function o(e){if("ended"!==e.state.state)throw Error("Expected span to be ended");(0,n.sendMessage)(JSON.stringify({event:"span-end",startTime:e.startTime,endTime:e.state.endTime,spanName:e.name,attributes:e.attributes}))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2862:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(7677)._(r(8840));class o{end(e){if("ended"===this.state.state)throw Error("Span has already ended");this.state={state:"ended",endTime:null!=e?e:Date.now()},this.onSpanEnd(this)}constructor(e,t,r){var n,o;this.name=e,this.attributes=null!=(n=t.attributes)?n:{},this.startTime=null!=(o=t.startTime)?o:Date.now(),this.onSpanEnd=r,this.state={state:"inprogress"}}}class a{startSpan(e,t){return new o(e,t,this.handleSpanEnd)}onSpanEnd(e){return this._emitter.on("spanend",e),()=>{this._emitter.off("spanend",e)}}constructor(){this._emitter=(0,n.default)(),this.handleSpanEnd=e=>{this._emitter.emit("spanend",e)}}}let i=new a;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3465:(e,t)=>{"use strict";let r;function n(e){var t;return(null==(t=function(){if(void 0===r){var e;r=(null==(e=window.trustedTypes)?void 0:e.createPolicy("nextjs",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e}))||null}return r}())?void 0:t.createScriptURL(e))||e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"__unsafeCreateTrustedScriptURL",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3185:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(8925),self.__next_set_public_path__=e=>{r.p=e},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4e3:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}}),r(7677);let n=r(4848);r(6540);let o=r(4009);function a(e){function t(t){return(0,n.jsx)(e,{router:(0,o.useRouter)(),...t})}return t.getInitialProps=e.getInitialProps,t.origGetInitialProps=e.origGetInitialProps,t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5203:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let n=r(7677),o=r(4848),a=n._(r(6540)),i=r(4881);async function s(e){let{Component:t,ctx:r}=e;return{pageProps:await (0,i.loadGetInitialProps)(t,r)}}class u extends a.default.Component{render(){let{Component:e,pageProps:t}=this.props;return(0,o.jsx)(e,{...t})}}u.origGetInitialProps=s,u.getInitialProps=s,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6218:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c}});let n=r(7677),o=r(4848),a=n._(r(6540)),i=n._(r(3248)),s={400:"Bad Request",404:"This page could not be found",405:"Method Not Allowed",500:"Internal Server Error"};function u(e){let{res:t,err:r}=e;return{statusCode:t&&t.statusCode?t.statusCode:r?r.statusCode:404}}let l={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{lineHeight:"48px"},h1:{display:"inline-block",margin:"0 20px 0 0",paddingRight:23,fontSize:24,fontWeight:500,verticalAlign:"top"},h2:{fontSize:14,fontWeight:400,lineHeight:"28px"},wrap:{display:"inline-block"}};class c extends a.default.Component{render(){let{statusCode:e,withDarkMode:t=!0}=this.props,r=this.props.title||s[e]||"An unexpected error has occurred";return(0,o.jsxs)("div",{style:l.error,children:[(0,o.jsx)(i.default,{children:(0,o.jsx)("title",{children:e?e+": "+r:"Application error: a client-side exception has occurred"})}),(0,o.jsxs)("div",{style:l.desc,children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}"+(t?"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}":"")}}),e?(0,o.jsx)("h1",{className:"next-error-h1",style:l.h1,children:e}):null,(0,o.jsx)("div",{style:l.wrap,children:(0,o.jsxs)("h2",{style:l.h2,children:[this.props.title||e?r:(0,o.jsx)(o.Fragment,{children:"Application error: a client-side exception has occurred (see the browser console for more information)"}),"."]})})]})]})}}c.displayName="ErrorPage",c.getInitialProps=u,c.origGetInitialProps=u,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1432:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return n}});let n=r(7677)._(r(6540)).default.createContext({})},2452:(e,t)=>{"use strict";function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},3489:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return i},LayoutRouterContext:function(){return a},MissingSlotContext:function(){return u},TemplateContext:function(){return s}});let n=r(7677)._(r(6540)),o=n.default.createContext(null),a=n.default.createContext(null),i=n.default.createContext(null),s=n.default.createContext(null),u=n.default.createContext(new Set)},9038:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BloomFilter",{enumerable:!0,get:function(){return r}});class r{static from(e,t){void 0===t&&(t=1e-4);let n=new r(e.length,t);for(let t of e)n.add(t);return n}export(){return{numItems:this.numItems,errorRate:this.errorRate,numBits:this.numBits,numHashes:this.numHashes,bitArray:this.bitArray}}import(e){this.numItems=e.numItems,this.errorRate=e.errorRate,this.numBits=e.numBits,this.numHashes=e.numHashes,this.bitArray=e.bitArray}add(e){this.getHashValues(e).forEach(e=>{this.bitArray[e]=1})}contains(e){return this.getHashValues(e).every(e=>this.bitArray[e])}getHashValues(e){let t=[];for(let r=1;r<=this.numHashes;r++){let n=function(e){let t=0;for(let r=0;r>>13,t=Math.imul(t,0x5bd1e995);return t>>>0}(""+e+r)%this.numBits;t.push(n)}return t}constructor(e,t=1e-4){this.numItems=e,this.errorRate=t,this.numBits=Math.ceil(-(e*Math.log(t))/(Math.log(2)*Math.log(2))),this.numHashes=Math.ceil(this.numBits/e*Math.log(2)),this.bitArray=Array(this.numBits).fill(0)}}},5661:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{APP_BUILD_MANIFEST:function(){return P},APP_CLIENT_INTERNALS:function(){return Q},APP_PATHS_MANIFEST:function(){return m},APP_PATH_ROUTES_MANIFEST:function(){return g},BARREL_OPTIMIZATION_PREFIX:function(){return W},BLOCKED_PAGES:function(){return U},BUILD_ID_FILE:function(){return D},BUILD_MANIFEST:function(){return y},CLIENT_PUBLIC_FILES_PATH:function(){return k},CLIENT_REFERENCE_MANIFEST:function(){return G},CLIENT_STATIC_FILES_PATH:function(){return F},CLIENT_STATIC_FILES_RUNTIME_AMP:function(){return Z},CLIENT_STATIC_FILES_RUNTIME_MAIN:function(){return K},CLIENT_STATIC_FILES_RUNTIME_MAIN_APP:function(){return $},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS:function(){return et},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL:function(){return er},CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH:function(){return J},CLIENT_STATIC_FILES_RUNTIME_WEBPACK:function(){return ee},COMPILER_INDEXES:function(){return a},COMPILER_NAMES:function(){return o},CONFIG_FILES:function(){return L},DEFAULT_RUNTIME_WEBPACK:function(){return en},DEFAULT_SANS_SERIF_FONT:function(){return eu},DEFAULT_SERIF_FONT:function(){return es},DEV_CLIENT_MIDDLEWARE_MANIFEST:function(){return M},DEV_CLIENT_PAGES_MANIFEST:function(){return w},DYNAMIC_CSS_MANIFEST:function(){return Y},EDGE_RUNTIME_WEBPACK:function(){return eo},EDGE_UNSUPPORTED_NODE_APIS:function(){return ep},EXPORT_DETAIL:function(){return R},EXPORT_MARKER:function(){return S},FUNCTIONS_CONFIG_MANIFEST:function(){return b},IMAGES_MANIFEST:function(){return T},INTERCEPTION_ROUTE_REWRITE_MANIFEST:function(){return z},MIDDLEWARE_BUILD_MANIFEST:function(){return X},MIDDLEWARE_MANIFEST:function(){return I},MIDDLEWARE_REACT_LOADABLE_MANIFEST:function(){return V},MODERN_BROWSERSLIST_TARGET:function(){return n.default},NEXT_BUILTIN_DOCUMENT:function(){return H},NEXT_FONT_MANIFEST:function(){return v},PAGES_MANIFEST:function(){return h},PHASE_DEVELOPMENT_SERVER:function(){return d},PHASE_EXPORT:function(){return u},PHASE_INFO:function(){return p},PHASE_PRODUCTION_BUILD:function(){return l},PHASE_PRODUCTION_SERVER:function(){return c},PHASE_TEST:function(){return f},PRERENDER_MANIFEST:function(){return O},REACT_LOADABLE_MANIFEST:function(){return x},ROUTES_MANIFEST:function(){return j},RSC_MODULE_TYPES:function(){return ef},SERVER_DIRECTORY:function(){return N},SERVER_FILES_MANIFEST:function(){return A},SERVER_PROPS_ID:function(){return ei},SERVER_REFERENCE_MANIFEST:function(){return q},STATIC_PROPS_ID:function(){return ea},STATIC_STATUS_PAGES:function(){return el},STRING_LITERAL_DROP_BUNDLE:function(){return B},SUBRESOURCE_INTEGRITY_MANIFEST:function(){return E},SYSTEM_ENTRYPOINTS:function(){return eh},TRACE_OUTPUT_VERSION:function(){return ec},TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST:function(){return C},TURBO_TRACE_DEFAULT_MEMORY_LIMIT:function(){return ed},UNDERSCORE_NOT_FOUND_ROUTE:function(){return i},UNDERSCORE_NOT_FOUND_ROUTE_ENTRY:function(){return s},WEBPACK_STATS:function(){return _}});let n=r(7677)._(r(5929)),o={client:"client",server:"server",edgeServer:"edge-server"},a={[o.client]:0,[o.server]:1,[o.edgeServer]:2},i="/_not-found",s=""+i+"/page",u="phase-export",l="phase-production-build",c="phase-production-server",d="phase-development-server",f="phase-test",p="phase-info",h="pages-manifest.json",_="webpack-stats.json",m="app-paths-manifest.json",g="app-path-routes-manifest.json",y="build-manifest.json",P="app-build-manifest.json",b="functions-config-manifest.json",E="subresource-integrity-manifest",v="next-font-manifest",S="export-marker.json",R="export-detail.json",O="prerender-manifest.json",j="routes-manifest.json",T="images-manifest.json",A="required-server-files.json",w="_devPagesManifest.json",I="middleware-manifest.json",C="_clientMiddlewareManifest.json",M="_devMiddlewareManifest.json",x="react-loadable-manifest.json",N="server",L=["next.config.js","next.config.mjs","next.config.ts"],D="BUILD_ID",U=["/_document","/_app","/_error"],k="public",F="static",B="__NEXT_DROP_CLIENT_FILE__",H="__NEXT_BUILTIN_DOCUMENT__",W="__barrel_optimize__",G="client-reference-manifest",q="server-reference-manifest",X="middleware-build-manifest",V="middleware-react-loadable-manifest",z="interception-route-rewrite-manifest",Y="dynamic-css-manifest",K="main",$=""+K+"-app",Q="app-pages-internals",J="react-refresh",Z="amp",ee="webpack",et="polyfills",er=Symbol(et),en="webpack-runtime",eo="edge-runtime-webpack",ea="__N_SSG",ei="__N_SSP",es={name:"Times New Roman",xAvgCharWidth:821,azAvgWidth:854.3953488372093,unitsPerEm:2048},eu={name:"Arial",xAvgCharWidth:904,azAvgWidth:934.5116279069767,unitsPerEm:2048},el=["/500"],ec=1,ed=6e3,ef={client:"client",server:"server"},ep=["clearImmediate","setImmediate","BroadcastChannel","ByteLengthQueuingStrategy","CompressionStream","CountQueuingStrategy","DecompressionStream","DomException","MessageChannel","MessageEvent","MessagePort","ReadableByteStreamController","ReadableStreamBYOBRequest","ReadableStreamDefaultController","TransformStreamDefaultController","WritableStreamDefaultController"],eh=new Set([K,J,Z,$]);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},503:(e,t)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return r}})},2147:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});let r=/[|\\{}()[\]^$+*?.-]/,n=/[|\\{}()[\]^$+*?.-]/g;function o(e){return r.test(e)?e.replace(n,"\\$&"):e}},7592:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=r(7677)._(r(6540)).default.createContext({})},3248:(e,t,r)=>{"use strict";var n=r(7836);Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return m},defaultHead:function(){return f}});let o=r(7677),a=r(544),i=r(4848),s=a._(r(6540)),u=o._(r(2495)),l=r(1432),c=r(7592),d=r(2452);function f(e){void 0===e&&(e=!1);let t=[(0,i.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,i.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function p(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===s.default.Fragment?e.concat(s.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(4636);let h=["name","httpEquiv","charSet","itemProp"];function _(e,t){let{inAmpMode:r}=t;return e.reduce(p,[]).reverse().concat(f(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return o=>{let a=!0,i=!1;if(o.key&&"number"!=typeof o.key&&o.key.indexOf("$")>0){i=!0;let t=o.key.slice(o.key.indexOf("$")+1);e.has(t)?a=!1:e.add(t)}switch(o.type){case"title":case"base":t.has(o.type)?a=!1:t.add(o.type);break;case"meta":for(let e=0,t=h.length;e{let o=e.key||t;if(n.env.__NEXT_OPTIMIZE_FONTS&&!r&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,s.default.cloneElement(e,t)}return s.default.cloneElement(e,{key:o})})}let m=function(e){let{children:t}=e,r=(0,s.useContext)(l.AmpStateContext),n=(0,s.useContext)(c.HeadManagerContext);return(0,i.jsx)(u.default,{reduceComponentsToState:_,headManager:n,inAmpMode:(0,d.isInAmpMode)(r),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4168:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathParamsContext:function(){return i},PathnameContext:function(){return a},SearchParamsContext:function(){return o}});let n=r(6540),o=(0,n.createContext)(null),a=(0,n.createContext)(null),i=(0,n.createContext)(null)},541:(e,t)=>{"use strict";function r(e,t){let r;let n=e.split("/");return(t||[]).some(t=>!!n[1]&&n[1].toLowerCase()===t.toLowerCase()&&(r=t,n.splice(1,1),e=n.join("/")||"/",!0)),{pathname:e,detectedLocale:r}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return r}})},2454:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let n=r(7677)._(r(6540)),o=r(3436),a=n.default.createContext(o.imageConfigDefault)},3436:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},1775:(e,t)=>{"use strict";function r(e){return Object.prototype.toString.call(e)}function n(e){if("[object Object]"!==r(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getObjectClassLabel:function(){return r},isPlainObject:function(){return n}})},8216:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return n},isBailoutToCSRError:function(){return o}});let r="BAILOUT_TO_CLIENT_SIDE_RENDERING";class n extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}},8840:(e,t)=>{"use strict";function r(){let e=Object.create(null);return{on(t,r){(e[t]||(e[t]=[])).push(r)},off(t,r){e[t]&&e[t].splice(e[t].indexOf(r)>>>0,1)},emit(t){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o{e(...n)})}}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},5929:e=>{"use strict";e.exports=["chrome 64","edge 79","firefox 67","opera 51","safari 12"]},8487:(e,t)=>{"use strict";function r(e){let t=(null==e?void 0:e.replace(/^\/+|\/+$/g,""))||!1;if(!t)return"";if(URL.canParse(t)){let e=new URL(t).toString();return e.endsWith("/")?e.slice(0,-1):e}return"/"+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizedAssetPrefix",{enumerable:!0,get:function(){return r}})},9220:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"denormalizePagePath",{enumerable:!0,get:function(){return a}});let n=r(574),o=r(2760);function a(e){let t=(0,o.normalizePathSep)(e);return t.startsWith("/index/")&&!(0,n.isDynamicRoute)(t)?t.slice(6):"/index"!==t?t:"/"}},1173:(e,t)=>{"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},2760:(e,t)=>{"use strict";function r(e){return e.replace(/\\/g,"/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathSep",{enumerable:!0,get:function(){return r}})},4671:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(7677)._(r(6540)).default.createContext(null)},1138:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathnameContextProviderAdapter:function(){return p},adaptForAppRouterInstance:function(){return c},adaptForPathParams:function(){return f},adaptForSearchParams:function(){return d}});let n=r(544),o=r(4848),a=n._(r(6540)),i=r(4168),s=r(574),u=r(7554),l=r(1037);function c(e){return{back(){e.back()},forward(){e.forward()},refresh(){e.reload()},hmrRefresh(){},push(t,r){let{scroll:n}=void 0===r?{}:r;e.push(t,void 0,{scroll:n})},replace(t,r){let{scroll:n}=void 0===r?{}:r;e.replace(t,void 0,{scroll:n})},prefetch(t){e.prefetch(t)}}}function d(e){return e.isReady&&e.query?(0,u.asPathToSearchParams)(e.asPath):new URLSearchParams}function f(e){if(!e.isReady||!e.query)return null;let t={};for(let r of Object.keys((0,l.getRouteRegex)(e.pathname).groups))t[r]=e.query[r];return t}function p(e){let{children:t,router:r,...n}=e,u=(0,a.useRef)(n.isAutoExport),l=(0,a.useMemo)(()=>{let e;let t=u.current;if(t&&(u.current=!1),(0,s.isDynamicRoute)(r.pathname)&&(r.isFallback||t&&!r.isReady))return null;try{e=new URL(r.asPath,"http://f")}catch(e){return"/"}return e.pathname},[r.asPath,r.isFallback,r.isReady,r.pathname]);return(0,o.jsx)(i.PathnameContext.Provider,{value:l,children:t})}},8151:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createKey:function(){return q},default:function(){return z},matchesMiddleware:function(){return D}});let n=r(7677),o=r(544),a=r(6053),i=r(3931),s=r(4811),u=o._(r(3382)),l=r(9220),c=r(541),d=n._(r(8840)),f=r(4881),p=r(4220),h=r(1242);r(1226);let _=r(144),m=r(1037),g=r(5543);r(6023);let y=r(281),P=r(3912),b=r(8695),E=r(2922),v=r(5371),S=r(9568),R=r(6846),O=r(2976),j=r(4556),T=r(9015),A=r(3888),w=r(7262),I=r(9432),C=r(8445),M=r(1198),x=r(4203),N=r(6192);function L(){return Object.assign(Error("Route Cancelled"),{cancelled:!0})}async function D(e){let t=await Promise.resolve(e.router.pageLoader.getMiddleware());if(!t)return!1;let{pathname:r}=(0,y.parsePath)(e.asPath),n=(0,S.hasBasePath)(r)?(0,E.removeBasePath)(r):r,o=(0,v.addBasePath)((0,P.addLocale)(n,e.locale));return t.some(e=>new RegExp(e.regexp).test(o))}function U(e){let t=(0,f.getLocationOrigin)();return e.startsWith(t)?e.substring(t.length):e}function k(e,t,r){let[n,o]=(0,R.resolveHref)(e,t,!0),a=(0,f.getLocationOrigin)(),i=n.startsWith(a),s=o&&o.startsWith(a);n=U(n),o=o?U(o):o;let u=i?n:(0,v.addBasePath)(n),l=r?U((0,R.resolveHref)(e,r)):o||n;return{url:u,as:s?l:(0,v.addBasePath)(l)}}function F(e,t){let r=(0,a.removeTrailingSlash)((0,l.denormalizePagePath)(e));return"/404"===r||"/_error"===r?e:(t.includes(r)||t.some(t=>{if((0,p.isDynamicRoute)(t)&&(0,m.getRouteRegex)(t).re.test(r))return e=t,!0}),(0,a.removeTrailingSlash)(e))}async function B(e){if(!await D(e)||!e.fetchData)return null;let t=await e.fetchData(),r=await function(e,t,r){let n={basePath:r.router.basePath,i18n:{locales:r.router.locales},trailingSlash:!0},o=t.headers.get("x-nextjs-rewrite"),s=o||t.headers.get("x-nextjs-matched-path"),u=t.headers.get(N.MATCHED_PATH_HEADER);if(!u||s||u.includes("__next_data_catchall")||u.includes("/_error")||u.includes("/404")||(s=u),s){if(s.startsWith("/")){let t=(0,h.parseRelativeUrl)(s),u=(0,j.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),l=(0,a.removeTrailingSlash)(u.pathname);return Promise.all([r.router.pageLoader.getPageList(),(0,i.getClientBuildManifest)()]).then(a=>{let[i,{__rewrites:s}]=a,d=(0,P.addLocale)(u.pathname,u.locale);if((0,p.isDynamicRoute)(d)||!o&&i.includes((0,c.normalizeLocalePath)((0,E.removeBasePath)(d),r.router.locales).pathname)){let r=(0,j.getNextPathnameInfo)((0,h.parseRelativeUrl)(e).pathname,{nextConfig:n,parseData:!0});d=(0,v.addBasePath)(r.pathname),t.pathname=d}if(!i.includes(l)){let e=F(l,i);e!==l&&(l=e)}let f=i.includes(l)?l:F((0,c.normalizeLocalePath)((0,E.removeBasePath)(t.pathname),r.router.locales).pathname,i);if((0,p.isDynamicRoute)(f)){let e=(0,_.getRouteMatcher)((0,m.getRouteRegex)(f))(d);Object.assign(t.query,e||{})}return{type:"rewrite",parsedAs:t,resolvedHref:f}})}let t=(0,y.parsePath)(e);return Promise.resolve({type:"redirect-external",destination:""+(0,T.formatNextPathnameInfo)({...(0,j.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""})+t.query+t.hash})}let l=t.headers.get("x-nextjs-redirect");if(l){if(l.startsWith("/")){let e=(0,y.parsePath)(l),t=(0,T.formatNextPathnameInfo)({...(0,j.getNextPathnameInfo)(e.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""});return Promise.resolve({type:"redirect-internal",newAs:""+t+e.query+e.hash,newUrl:""+t+e.query+e.hash})}return Promise.resolve({type:"redirect-external",destination:l})}return Promise.resolve({type:"next"})}(t.dataHref,t.response,e);return{dataHref:t.dataHref,json:t.json,response:t.response,text:t.text,cacheKey:t.cacheKey,effect:r}}let H=Symbol("SSG_DATA_NOT_FOUND");function W(e){try{return JSON.parse(e)}catch(e){return null}}function G(e){let{dataHref:t,inflightCache:r,isPrefetch:n,hasMiddleware:o,isServerRender:a,parseJSON:s,persistCache:u,isBackground:l,unstable_skipClientCache:c}=e,{href:d}=new URL(t,window.location.href),f=e=>{var l;return(function e(t,r,n){return fetch(t,{credentials:"same-origin",method:n.method||"GET",headers:Object.assign({},n.headers,{"x-nextjs-data":"1"})}).then(o=>!o.ok&&r>1&&o.status>=500?e(t,r-1,n):o)})(t,a?3:1,{headers:Object.assign({},n?{purpose:"prefetch"}:{},n&&o?{"x-middleware-prefetch":"1"}:{}),method:null!=(l=null==e?void 0:e.method)?l:"GET"}).then(r=>r.ok&&(null==e?void 0:e.method)==="HEAD"?{dataHref:t,response:r,text:"",json:{},cacheKey:d}:r.text().then(e=>{if(!r.ok){if(o&&[301,302,307,308].includes(r.status))return{dataHref:t,response:r,text:e,json:{},cacheKey:d};if(404===r.status){var n;if(null==(n=W(e))?void 0:n.notFound)return{dataHref:t,json:{notFound:H},response:r,text:e,cacheKey:d}}let s=Error("Failed to load static props");throw a||(0,i.markAssetError)(s),s}return{dataHref:t,json:s?W(e):null,response:r,text:e,cacheKey:d}})).then(e=>(u&&"no-cache"!==e.response.headers.get("x-middleware-cache")||delete r[d],e)).catch(e=>{throw c||delete r[d],("Failed to fetch"===e.message||"NetworkError when attempting to fetch resource."===e.message||"Load failed"===e.message)&&(0,i.markAssetError)(e),e})};return c&&u?f({}).then(e=>("no-cache"!==e.response.headers.get("x-middleware-cache")&&(r[d]=Promise.resolve(e)),e)):void 0!==r[d]?r[d]:r[d]=f(l?{method:"HEAD"}:{})}function q(){return Math.random().toString(36).slice(2,10)}function X(e){let{url:t,router:r}=e;if(t===(0,v.addBasePath)((0,P.addLocale)(r.asPath,r.locale)))throw Error("Invariant: attempted to hard navigate to the same URL "+t+" "+location.href);window.location.href=t}let V=e=>{let{route:t,router:r}=e,n=!1,o=r.clc=()=>{n=!0};return()=>{if(n){let e=Error('Abort fetching component for route: "'+t+'"');throw e.cancelled=!0,e}o===r.clc&&(r.clc=null)}};class z{reload(){window.location.reload()}back(){window.history.back()}forward(){window.history.forward()}push(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=k(this,e,t),this.change("pushState",e,t,r)}replace(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=k(this,e,t),this.change("replaceState",e,t,r)}async _bfl(e,t,n,o){{if(!this._bfl_s&&!this._bfl_d){let t,a;let{BloomFilter:s}=r(9038);try{({__routerFilterStatic:t,__routerFilterDynamic:a}=await (0,i.getClientBuildManifest)())}catch(t){if(console.error(t),o)return!0;return X({url:(0,v.addBasePath)((0,P.addLocale)(e,n||this.locale,this.defaultLocale)),router:this}),new Promise(()=>{})}(null==t?void 0:t.numHashes)&&(this._bfl_s=new s(t.numItems,t.errorRate),this._bfl_s.import(t)),(null==a?void 0:a.numHashes)&&(this._bfl_d=new s(a.numItems,a.errorRate),this._bfl_d.import(a))}let c=!1,d=!1;for(let{as:r,allowMatchCurrent:i}of[{as:e},{as:t}])if(r){let t=(0,a.removeTrailingSlash)(new URL(r,"http://n").pathname),f=(0,v.addBasePath)((0,P.addLocale)(t,n||this.locale));if(i||t!==(0,a.removeTrailingSlash)(new URL(this.asPath,"http://n").pathname)){var s,u,l;for(let e of(c=c||!!(null==(s=this._bfl_s)?void 0:s.contains(t))||!!(null==(u=this._bfl_s)?void 0:u.contains(f)),[t,f])){let t=e.split("/");for(let e=0;!d&&e{})}}}}return!1}async change(e,t,r,n,o){var l,c,d,R,O,j,T,I,x;let N,U;if(!(0,w.isLocalURL)(t))return X({url:t,router:this}),!1;let B=1===n._h;B||n.shallow||await this._bfl(r,void 0,n.locale);let W=B||n._shouldResolveHref||(0,y.parsePath)(t).pathname===(0,y.parsePath)(r).pathname,G={...this.state},q=!0!==this.isReady;this.isReady=!0;let V=this.isSsr;if(B||(this.isSsr=!1),B&&this.clc)return!1;let Y=G.locale;f.ST&&performance.mark("routeChange");let{shallow:K=!1,scroll:$=!0}=n,Q={shallow:K};this._inFlightRoute&&this.clc&&(V||z.events.emit("routeChangeError",L(),this._inFlightRoute,Q),this.clc(),this.clc=null),r=(0,v.addBasePath)((0,P.addLocale)((0,S.hasBasePath)(r)?(0,E.removeBasePath)(r):r,n.locale,this.defaultLocale));let J=(0,b.removeLocale)((0,S.hasBasePath)(r)?(0,E.removeBasePath)(r):r,G.locale);this._inFlightRoute=r;let Z=Y!==G.locale;if(!B&&this.onlyAHashChange(J)&&!Z){G.asPath=J,z.events.emit("hashChangeStart",r,Q),this.changeState(e,t,r,{...n,scroll:!1}),$&&this.scrollToHash(J);try{await this.set(G,this.components[G.route],null)}catch(e){throw(0,u.default)(e)&&e.cancelled&&z.events.emit("routeChangeError",e,J,Q),e}return z.events.emit("hashChangeComplete",r,Q),!0}let ee=(0,h.parseRelativeUrl)(t),{pathname:et,query:er}=ee;try{[N,{__rewrites:U}]=await Promise.all([this.pageLoader.getPageList(),(0,i.getClientBuildManifest)(),this.pageLoader.getMiddleware()])}catch(e){return X({url:r,router:this}),!1}this.urlIsNew(J)||Z||(e="replaceState");let en=r;et=et?(0,a.removeTrailingSlash)((0,E.removeBasePath)(et)):et;let eo=(0,a.removeTrailingSlash)(et),ea=r.startsWith("/")&&(0,h.parseRelativeUrl)(r).pathname;if(null==(l=this.components[et])?void 0:l.__appRouter)return X({url:r,router:this}),new Promise(()=>{});let ei=!!(ea&&eo!==ea&&(!(0,p.isDynamicRoute)(eo)||!(0,_.getRouteMatcher)((0,m.getRouteRegex)(eo))(ea))),es=!n.shallow&&await D({asPath:r,locale:G.locale,router:this});if(B&&es&&(W=!1),W&&"/_error"!==et&&(n._shouldResolveHref=!0,ee.pathname=F(et,N),ee.pathname===et||(et=ee.pathname,ee.pathname=(0,v.addBasePath)(et),es||(t=(0,g.formatWithValidation)(ee)))),!(0,w.isLocalURL)(r))return X({url:r,router:this}),!1;en=(0,b.removeLocale)((0,E.removeBasePath)(en),G.locale),eo=(0,a.removeTrailingSlash)(et);let eu=!1;if((0,p.isDynamicRoute)(eo)){let e=(0,h.parseRelativeUrl)(en),n=e.pathname,o=(0,m.getRouteRegex)(eo);eu=(0,_.getRouteMatcher)(o)(n);let a=eo===n,i=a?(0,M.interpolateAs)(eo,n,er):{};if(eu&&(!a||i.result))a?r=(0,g.formatWithValidation)(Object.assign({},e,{pathname:i.result,query:(0,C.omit)(er,i.params)})):Object.assign(er,eu);else{let e=Object.keys(o.groups).filter(e=>!er[e]&&!o.groups[e].optional);if(e.length>0&&!es)throw Error((a?"The provided `href` ("+t+") value is missing query values ("+e.join(", ")+") to be interpolated properly. ":"The provided `as` value ("+n+") is incompatible with the `href` value ("+eo+"). ")+"Read more: https://nextjs.org/docs/messages/"+(a?"href-interpolation-failed":"incompatible-href-as"))}}B||z.events.emit("routeChangeStart",r,Q);let el="/404"===this.pathname||"/_error"===this.pathname;try{let a=await this.getRouteInfo({route:eo,pathname:et,query:er,as:r,resolvedAs:en,routeProps:Q,locale:G.locale,isPreview:G.isPreview,hasMiddleware:es,unstable_skipClientCache:n.unstable_skipClientCache,isQueryUpdating:B&&!this.isFallback,isMiddlewareRewrite:ei});if(B||n.shallow||await this._bfl(r,"resolvedAs"in a?a.resolvedAs:void 0,G.locale),"route"in a&&es){eo=et=a.route||eo,Q.shallow||(er=Object.assign({},a.query||{},er));let e=(0,S.hasBasePath)(ee.pathname)?(0,E.removeBasePath)(ee.pathname):ee.pathname;if(eu&&et!==e&&Object.keys(eu).forEach(e=>{eu&&er[e]===eu[e]&&delete er[e]}),(0,p.isDynamicRoute)(et)){let e=!Q.shallow&&a.resolvedAs?a.resolvedAs:(0,v.addBasePath)((0,P.addLocale)(new URL(r,location.href).pathname,G.locale),!0);(0,S.hasBasePath)(e)&&(e=(0,E.removeBasePath)(e));let t=(0,m.getRouteRegex)(et),n=(0,_.getRouteMatcher)(t)(new URL(e,location.href).pathname);n&&Object.assign(er,n)}}if("type"in a){if("redirect-internal"===a.type)return this.change(e,a.newUrl,a.newAs,n);return X({url:a.destination,router:this}),new Promise(()=>{})}let i=a.Component;if(i&&i.unstable_scriptLoader&&[].concat(i.unstable_scriptLoader()).forEach(e=>{(0,s.handleClientScriptLoad)(e.props)}),(a.__N_SSG||a.__N_SSP)&&a.props){if(a.props.pageProps&&a.props.pageProps.__N_REDIRECT){n.locale=!1;let t=a.props.pageProps.__N_REDIRECT;if(t.startsWith("/")&&!1!==a.props.pageProps.__N_REDIRECT_BASE_PATH){let r=(0,h.parseRelativeUrl)(t);r.pathname=F(r.pathname,N);let{url:o,as:a}=k(this,t,t);return this.change(e,o,a,n)}return X({url:t,router:this}),new Promise(()=>{})}if(G.isPreview=!!a.props.__N_PREVIEW,a.props.notFound===H){let e;try{await this.fetchComponent("/404"),e="/404"}catch(t){e="/_error"}if(a=await this.getRouteInfo({route:e,pathname:e,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:G.locale,isPreview:G.isPreview,isNotFound:!0}),"type"in a)throw Error("Unexpected middleware effect on /404")}}B&&"/_error"===this.pathname&&(null==(d=self.__NEXT_DATA__.props)?void 0:null==(c=d.pageProps)?void 0:c.statusCode)===500&&(null==(R=a.props)?void 0:R.pageProps)&&(a.props.pageProps.statusCode=500);let l=n.shallow&&G.route===(null!=(O=a.route)?O:eo),f=null!=(j=n.scroll)?j:!B&&!l,g=null!=o?o:f?{x:0,y:0}:null,y={...G,route:eo,pathname:et,query:er,asPath:J,isFallback:!1};if(B&&el){if(a=await this.getRouteInfo({route:this.pathname,pathname:this.pathname,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:G.locale,isPreview:G.isPreview,isQueryUpdating:B&&!this.isFallback}),"type"in a)throw Error("Unexpected middleware effect on "+this.pathname);"/_error"===this.pathname&&(null==(I=self.__NEXT_DATA__.props)?void 0:null==(T=I.pageProps)?void 0:T.statusCode)===500&&(null==(x=a.props)?void 0:x.pageProps)&&(a.props.pageProps.statusCode=500);try{await this.set(y,a,g)}catch(e){throw(0,u.default)(e)&&e.cancelled&&z.events.emit("routeChangeError",e,J,Q),e}return!0}if(z.events.emit("beforeHistoryChange",r,Q),this.changeState(e,t,r,n),!(B&&!g&&!q&&!Z&&(0,A.compareRouterStates)(y,this.state))){try{await this.set(y,a,g)}catch(e){if(e.cancelled)a.error=a.error||e;else throw e}if(a.error)throw B||z.events.emit("routeChangeError",a.error,J,Q),a.error;B||z.events.emit("routeChangeComplete",r,Q),f&&/#.+$/.test(r)&&this.scrollToHash(r)}return!0}catch(e){if((0,u.default)(e)&&e.cancelled)return!1;throw e}}changeState(e,t,r,n){void 0===n&&(n={}),("pushState"!==e||(0,f.getURL)()!==r)&&(this._shallow=n.shallow,window.history[e]({url:t,as:r,options:n,__N:!0,key:this._key="pushState"!==e?this._key:q()},"",r))}async handleRouteInfoError(e,t,r,n,o,a){if(e.cancelled)throw e;if((0,i.isAssetError)(e)||a)throw z.events.emit("routeChangeError",e,n,o),X({url:n,router:this}),L();console.error(e);try{let n;let{page:o,styleSheets:a}=await this.fetchComponent("/_error"),i={props:n,Component:o,styleSheets:a,err:e,error:e};if(!i.props)try{i.props=await this.getInitialProps(o,{err:e,pathname:t,query:r})}catch(e){console.error("Error in error page `getInitialProps`: ",e),i.props={}}return i}catch(e){return this.handleRouteInfoError((0,u.default)(e)?e:Error(e+""),t,r,n,o,!0)}}async getRouteInfo(e){let{route:t,pathname:r,query:n,as:o,resolvedAs:i,routeProps:s,locale:l,hasMiddleware:d,isPreview:f,unstable_skipClientCache:p,isQueryUpdating:h,isMiddlewareRewrite:_,isNotFound:m}=e,y=t;try{var P,b,v,S;let e=this.components[y];if(s.shallow&&e&&this.route===y)return e;let t=V({route:y,router:this});d&&(e=void 0);let u=!e||"initial"in e?void 0:e,R={dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:r,query:n}),skipInterpolation:!0,asPath:m?"/404":i,locale:l}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:h?this.sbc:this.sdc,persistCache:!f,isPrefetch:!1,unstable_skipClientCache:p,isBackground:h},j=h&&!_?null:await B({fetchData:()=>G(R),asPath:m?"/404":i,locale:l,router:this}).catch(e=>{if(h)return null;throw e});if(j&&("/_error"===r||"/404"===r)&&(j.effect=void 0),h&&(j?j.json=self.__NEXT_DATA__.props:j={json:self.__NEXT_DATA__.props}),t(),(null==j?void 0:null==(P=j.effect)?void 0:P.type)==="redirect-internal"||(null==j?void 0:null==(b=j.effect)?void 0:b.type)==="redirect-external")return j.effect;if((null==j?void 0:null==(v=j.effect)?void 0:v.type)==="rewrite"){let t=(0,a.removeTrailingSlash)(j.effect.resolvedHref),o=await this.pageLoader.getPageList();if((!h||o.includes(t))&&(y=t,r=j.effect.resolvedHref,n={...n,...j.effect.parsedAs.query},i=(0,E.removeBasePath)((0,c.normalizeLocalePath)(j.effect.parsedAs.pathname,this.locales).pathname),e=this.components[y],s.shallow&&e&&this.route===y&&!d))return{...e,route:y}}if((0,O.isAPIRoute)(y))return X({url:o,router:this}),new Promise(()=>{});let T=u||await this.fetchComponent(y).then(e=>({Component:e.page,styleSheets:e.styleSheets,__N_SSG:e.mod.__N_SSG,__N_SSP:e.mod.__N_SSP})),A=null==j?void 0:null==(S=j.response)?void 0:S.headers.get("x-middleware-skip"),w=T.__N_SSG||T.__N_SSP;A&&(null==j?void 0:j.dataHref)&&delete this.sdc[j.dataHref];let{props:I,cacheKey:C}=await this._getData(async()=>{if(w){if((null==j?void 0:j.json)&&!A)return{cacheKey:j.cacheKey,props:j.json};let e=(null==j?void 0:j.dataHref)?j.dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:r,query:n}),asPath:i,locale:l}),t=await G({dataHref:e,isServerRender:this.isSsr,parseJSON:!0,inflightCache:A?{}:this.sdc,persistCache:!f,isPrefetch:!1,unstable_skipClientCache:p});return{cacheKey:t.cacheKey,props:t.json||{}}}return{headers:{},props:await this.getInitialProps(T.Component,{pathname:r,query:n,asPath:o,locale:l,locales:this.locales,defaultLocale:this.defaultLocale})}});return T.__N_SSP&&R.dataHref&&C&&delete this.sdc[C],this.isPreview||!T.__N_SSG||h||G(Object.assign({},R,{isBackground:!0,persistCache:!1,inflightCache:this.sbc})).catch(()=>{}),I.pageProps=Object.assign({},I.pageProps),T.props=I,T.route=y,T.query=n,T.resolvedAs=i,this.components[y]=T,T}catch(e){return this.handleRouteInfoError((0,u.getProperError)(e),r,n,o,s)}}set(e,t,r){return this.state=e,this.sub(t,this.components["/_app"].Component,r)}beforePopState(e){this._bps=e}onlyAHashChange(e){if(!this.asPath)return!1;let[t,r]=this.asPath.split("#",2),[n,o]=e.split("#",2);return!!o&&t===n&&r===o||t===n&&r!==o}scrollToHash(e){let[,t=""]=e.split("#",2);(0,x.handleSmoothScroll)(()=>{if(""===t||"top"===t){window.scrollTo(0,0);return}let e=decodeURIComponent(t),r=document.getElementById(e);if(r){r.scrollIntoView();return}let n=document.getElementsByName(e)[0];n&&n.scrollIntoView()},{onlyHashChange:this.onlyAHashChange(e)})}urlIsNew(e){return this.asPath!==e}async prefetch(e,t,r){if(void 0===t&&(t=e),void 0===r&&(r={}),(0,I.isBot)(window.navigator.userAgent))return;let n=(0,h.parseRelativeUrl)(e),o=n.pathname,{pathname:i,query:s}=n,u=i,l=await this.pageLoader.getPageList(),c=t,d=void 0!==r.locale?r.locale||void 0:this.locale,f=await D({asPath:t,locale:d,router:this});n.pathname=F(n.pathname,l),(0,p.isDynamicRoute)(n.pathname)&&(i=n.pathname,n.pathname=i,Object.assign(s,(0,_.getRouteMatcher)((0,m.getRouteRegex)(n.pathname))((0,y.parsePath)(t).pathname)||{}),f||(e=(0,g.formatWithValidation)(n)));let P=await B({fetchData:()=>G({dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:u,query:s}),skipInterpolation:!0,asPath:c,locale:d}),hasMiddleware:!0,isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0}),asPath:t,locale:d,router:this});if((null==P?void 0:P.effect.type)==="rewrite"&&(n.pathname=P.effect.resolvedHref,i=P.effect.resolvedHref,s={...s,...P.effect.parsedAs.query},c=P.effect.parsedAs.pathname,e=(0,g.formatWithValidation)(n)),(null==P?void 0:P.effect.type)==="redirect-external")return;let b=(0,a.removeTrailingSlash)(i);await this._bfl(t,c,r.locale,!0)&&(this.components[o]={__appRouter:!0}),await Promise.all([this.pageLoader._isSsg(b).then(t=>!!t&&G({dataHref:(null==P?void 0:P.json)?null==P?void 0:P.dataHref:this.pageLoader.getDataHref({href:e,asPath:c,locale:d}),isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0,unstable_skipClientCache:r.unstable_skipClientCache||r.priority&&!0}).then(()=>!1).catch(()=>!1)),this.pageLoader[r.priority?"loadPage":"prefetch"](b)])}async fetchComponent(e){let t=V({route:e,router:this});try{let r=await this.pageLoader.loadPage(e);return t(),r}catch(e){throw t(),e}}_getData(e){let t=!1,r=()=>{t=!0};return this.clc=r,e().then(e=>{if(r===this.clc&&(this.clc=null),t){let e=Error("Loading initial props cancelled");throw e.cancelled=!0,e}return e})}getInitialProps(e,t){let{Component:r}=this.components["/_app"],n=this._wrapApp(r);return t.AppTree=n,(0,f.loadGetInitialProps)(r,{AppTree:n,Component:e,router:this,ctx:t})}get route(){return this.state.route}get pathname(){return this.state.pathname}get query(){return this.state.query}get asPath(){return this.state.asPath}get locale(){return this.state.locale}get isFallback(){return this.state.isFallback}get isPreview(){return this.state.isPreview}constructor(e,t,r,{initialProps:n,pageLoader:o,App:i,wrapApp:s,Component:u,err:l,subscription:c,isFallback:d,locale:_,locales:m,defaultLocale:y,domainLocales:P,isPreview:b}){this.sdc={},this.sbc={},this.isFirstPopStateEvent=!0,this._key=q(),this.onPopState=e=>{let t;let{isFirstPopStateEvent:r}=this;this.isFirstPopStateEvent=!1;let n=e.state;if(!n){let{pathname:e,query:t}=this;this.changeState("replaceState",(0,g.formatWithValidation)({pathname:(0,v.addBasePath)(e),query:t}),(0,f.getURL)());return}if(n.__NA){window.location.reload();return}if(!n.__N||r&&this.locale===n.options.locale&&n.as===this.asPath)return;let{url:o,as:a,options:i,key:s}=n;this._key=s;let{pathname:u}=(0,h.parseRelativeUrl)(o);(!this.isSsr||a!==(0,v.addBasePath)(this.asPath)||u!==(0,v.addBasePath)(this.pathname))&&(!this._bps||this._bps(n))&&this.change("replaceState",o,a,Object.assign({},i,{shallow:i.shallow&&this._shallow,locale:i.locale||this.defaultLocale,_h:0}),t)};let E=(0,a.removeTrailingSlash)(e);this.components={},"/_error"!==e&&(this.components[E]={Component:u,initial:!0,props:n,err:l,__N_SSG:n&&n.__N_SSG,__N_SSP:n&&n.__N_SSP}),this.components["/_app"]={Component:i,styleSheets:[]},this.events=z.events,this.pageLoader=o;let S=(0,p.isDynamicRoute)(e)&&self.__NEXT_DATA__.autoExport;if(this.basePath="",this.sub=c,this.clc=null,this._wrapApp=s,this.isSsr=!0,this.isLocaleDomain=!1,this.isReady=!!(self.__NEXT_DATA__.gssp||self.__NEXT_DATA__.gip||self.__NEXT_DATA__.isExperimentalCompile||self.__NEXT_DATA__.appGip&&!self.__NEXT_DATA__.gsp||!S&&!self.location.search),this.state={route:E,pathname:e,query:t,asPath:S?e:r,isPreview:!!b,locale:void 0,isFallback:d},this._initialMatchesMiddlewarePromise=Promise.resolve(!1),!r.startsWith("//")){let n={locale:_},o=(0,f.getURL)();this._initialMatchesMiddlewarePromise=D({router:this,locale:_,asPath:o}).then(a=>(n._shouldResolveHref=r!==e,this.changeState("replaceState",a?o:(0,g.formatWithValidation)({pathname:(0,v.addBasePath)(e),query:t}),o,n),a))}window.addEventListener("popstate",this.onPopState)}}z.events=(0,d.default)()},4980:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return a}});let n=r(4782),o=r(9211);function a(e,t,r,a){if(!t||t===r)return e;let i=e.toLowerCase();return!a&&((0,o.pathHasPrefix)(i,"/api")||(0,o.pathHasPrefix)(i,"/"+t.toLowerCase()))?e:(0,n.addPathPrefix)(e,"/"+t)}},4782:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=r(281);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+t+r+o+a}},5375:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathSuffix",{enumerable:!0,get:function(){return o}});let n=r(281);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+r+t+o+a}},3756:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return a},normalizeRscURL:function(){return i}});let n=r(1173),o=r(609);function a(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function i(e){return e.replace(/\.rsc($|\?)/,"$1")}},7554:(e,t)=>{"use strict";function r(e){return new URL(e,"http://n").searchParams}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"asPathToSearchParams",{enumerable:!0,get:function(){return r}})},3888:(e,t)=>{"use strict";function r(e,t){let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n=r.length;n--;){let o=r[n];if("query"===o){let r=Object.keys(e.query);if(r.length!==Object.keys(t.query).length)return!1;for(let n=r.length;n--;){let o=r[n];if(!t.query.hasOwnProperty(o)||e.query[o]!==t.query[o])return!1}}else if(!t.hasOwnProperty(o)||e[o]!==t[o])return!1}return!0}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"compareRouterStates",{enumerable:!0,get:function(){return r}})},9015:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"formatNextPathnameInfo",{enumerable:!0,get:function(){return s}});let n=r(6053),o=r(4782),a=r(5375),i=r(4980);function s(e){let t=(0,i.addLocale)(e.pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix);return(e.buildId||!e.trailingSlash)&&(t=(0,n.removeTrailingSlash)(t)),e.buildId&&(t=(0,a.addPathSuffix)((0,o.addPathPrefix)(t,"/_next/data/"+e.buildId),"/"===e.pathname?"index.json":".json")),t=(0,o.addPathPrefix)(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:(0,a.addPathSuffix)(t,"/"):(0,n.removeTrailingSlash)(t)}},5543:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return a},formatWithValidation:function(){return s},urlObjectKeys:function(){return i}});let n=r(544)._(r(2319)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,a=e.protocol||"",i=e.pathname||"",s=e.hash||"",u=e.query||"",l=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?l=t+e.host:r&&(l=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(l+=":"+e.port)),u&&"object"==typeof u&&(u=String(n.urlQueryToSearchParams(u)));let c=e.search||u&&"?"+u||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==l?(l="//"+(l||""),i&&"/"!==i[0]&&(i="/"+i)):l||(l=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),""+a+l+(i=i.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+s}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function s(e){return a(e)}},5060:(e,t)=>{"use strict";function r(e,t){return void 0===t&&(t=""),("/"===e?"/index":/^\/index(\/|$)/.test(e)?"/index"+e:e)+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},4556:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getNextPathnameInfo",{enumerable:!0,get:function(){return i}});let n=r(541),o=r(4111),a=r(9211);function i(e,t){var r,i;let{basePath:s,i18n:u,trailingSlash:l}=null!=(r=t.nextConfig)?r:{},c={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):l};s&&(0,a.pathHasPrefix)(c.pathname,s)&&(c.pathname=(0,o.removePathPrefix)(c.pathname,s),c.basePath=s);let d=c.pathname;if(c.pathname.startsWith("/_next/data/")&&c.pathname.endsWith(".json")){let e=c.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/"),r=e[0];c.buildId=r,d="index"!==e[1]?"/"+e.slice(1).join("/"):"/",!0===t.parseData&&(c.pathname=d)}if(u){let e=t.i18nProvider?t.i18nProvider.analyze(c.pathname):(0,n.normalizeLocalePath)(c.pathname,u.locales);c.locale=e.detectedLocale,c.pathname=null!=(i=e.pathname)?i:c.pathname,!e.detectedLocale&&c.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(d):(0,n.normalizeLocalePath)(d,u.locales)).detectedLocale&&(c.locale=e.detectedLocale)}return c}},4203:(e,t)=>{"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},574:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRouteObjects:function(){return n.getSortedRouteObjects},getSortedRoutes:function(){return n.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});let n=r(8e3),o=r(4220)},1198:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return a}});let n=r(144),o=r(1037);function a(e,t,r){let a="",i=(0,o.getRouteRegex)(e),s=i.groups,u=(t!==e?(0,n.getRouteMatcher)(i)(t):"")||r;a=e;let l=Object.keys(s);return l.every(e=>{let t=u[e]||"",{repeat:r,optional:n}=s[e],o="["+(r?"...":"")+e+"]";return n&&(o=(t?"":"/")+"["+o+"]"),r&&!Array.isArray(t)&&(t=[t]),(n||e in u)&&(a=a.replace(o,r?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(a=""),{params:l,result:a}}},9432:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return n}});let r=/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i;function n(e){return r.test(e)}},4220:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return a}});let n=r(1900),o=/\/\[[^/]+?\](?=\/|$)/;function a(e){return(0,n.isInterceptionRouteAppPath)(e)&&(e=(0,n.extractInterceptionRouteInformation)(e).interceptedRoute),o.test(e)}},7262:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=r(4881),o=r(9568);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},8445:(e,t)=>{"use strict";function r(e,t){let r={};return Object.keys(e).forEach(n=>{t.includes(n)||(r[n]=e[n])}),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return r}})},281:(e,t)=>{"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},1242:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseRelativeUrl",{enumerable:!0,get:function(){return a}});let n=r(4881),o=r(2319);function a(e,t,r){void 0===r&&(r=!0);let a=new URL((0,n.getLocationOrigin)()),i=t?new URL(t,a):e.startsWith(".")?new URL(window.location.href):a,{pathname:s,searchParams:u,search:l,hash:c,href:d,origin:f}=new URL(e,i);if(f!==a.origin)throw Error("invariant: invalid relative URL, router received "+e);return{pathname:s,query:r?(0,o.searchParamsToUrlQuery)(u):void 0,search:l,hash:c,href:d.slice(f.length)}}},9211:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=r(281);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},2319:(e,t)=>{"use strict";function r(e){let t={};return e.forEach((e,r)=>{void 0===t[r]?t[r]=e:Array.isArray(t[r])?t[r].push(e):t[r]=[t[r],e]}),t}function n(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[r,o]=e;Array.isArray(o)?o.forEach(e=>t.append(r,n(e))):t.set(r,n(o))}),t}function a(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,r)=>e.append(r,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{assign:function(){return a},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return o}})},4111:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removePathPrefix",{enumerable:!0,get:function(){return o}});let n=r(9211);function o(e,t){if(!(0,n.pathHasPrefix)(e,t))return e;let r=e.slice(t.length);return r.startsWith("/")?r:"/"+r}},6053:(e,t)=>{"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},144:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let n=r(4881);function o(e){let{re:t,groups:r}=e;return e=>{let o=t.exec(e);if(!o)return!1;let a=e=>{try{return decodeURIComponent(e)}catch(e){throw new n.DecodeError("failed to decode param")}},i={};return Object.keys(r).forEach(e=>{let t=r[e],n=o[t.pos];void 0!==n&&(i[e]=~n.indexOf("/")?n.split("/").map(e=>a(e)):t.repeat?[a(n)]:a(n))}),i}}},1037:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getNamedMiddlewareRegex:function(){return _},getNamedRouteRegex:function(){return h},getRouteRegex:function(){return d},parseParameter:function(){return u}});let n=r(6192),o=r(1900),a=r(2147),i=r(6053),s=/\[((?:\[.*\])|.+)\]/;function u(e){let t=e.match(s);return t?l(t[1]):l(e)}function l(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let r=e.startsWith("...");return r&&(e=e.slice(3)),{key:e,repeat:r,optional:t}}function c(e){let t=(0,i.removeTrailingSlash)(e).slice(1).split("/"),r={},n=1;return{parameterizedRoute:t.map(e=>{let t=o.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),i=e.match(s);if(t&&i){let{key:e,optional:o,repeat:s}=l(i[1]);return r[e]={pos:n++,repeat:s,optional:o},"/"+(0,a.escapeStringRegexp)(t)+"([^/]+?)"}if(!i)return"/"+(0,a.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:o}=l(i[1]);return r[e]={pos:n++,repeat:t,optional:o},t?o?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:r}}function d(e){let{parameterizedRoute:t,groups:r}=c(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:r}}function f(e){let{interceptionMarker:t,getSafeRouteKey:r,segment:n,routeKeys:o,keyPrefix:i}=e,{key:s,optional:u,repeat:c}=l(n),d=s.replace(/\W/g,"");i&&(d=""+i+d);let f=!1;(0===d.length||d.length>30)&&(f=!0),isNaN(parseInt(d.slice(0,1)))||(f=!0),f&&(d=r()),i?o[d]=""+i+s:o[d]=s;let p=t?(0,a.escapeStringRegexp)(t):"";return c?u?"(?:/"+p+"(?<"+d+">.+?))?":"/"+p+"(?<"+d+">.+?)":"/"+p+"(?<"+d+">[^/]+?)"}function p(e,t){let r;let s=(0,i.removeTrailingSlash)(e).slice(1).split("/"),u=(r=0,()=>{let e="",t=++r;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),l={};return{namedParameterizedRoute:s.map(e=>{let r=o.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(r&&i){let[r]=e.split(i[0]);return f({getSafeRouteKey:u,interceptionMarker:r,segment:i[1],routeKeys:l,keyPrefix:t?n.NEXT_INTERCEPTION_MARKER_PREFIX:void 0})}return i?f({getSafeRouteKey:u,segment:i[1],routeKeys:l,keyPrefix:t?n.NEXT_QUERY_PARAM_PREFIX:void 0}):"/"+(0,a.escapeStringRegexp)(e)}).join(""),routeKeys:l}}function h(e,t){let r=p(e,t);return{...d(e),namedRegex:"^"+r.namedParameterizedRoute+"(?:/)?$",routeKeys:r.routeKeys}}function _(e,t){let{parameterizedRoute:r}=c(e),{catchAll:n=!0}=t;if("/"===r)return{namedRegex:"^/"+(n?".*":"")+"$"};let{namedParameterizedRoute:o}=p(e,!1);return{namedRegex:"^"+o+(n?"(?:(/.*)?)":"")+"$"}}},8e3:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRouteObjects:function(){return o},getSortedRoutes:function(){return n}});class r{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let r=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&r.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');r.unshift(t)}return null!==this.restSlugName&&r.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&r.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),r}_insert(e,t,n){if(0===e.length){this.placeholder=!1;return}if(n)throw Error("Catch-all must be the last part of the URL.");let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let r=o.slice(1,-1),i=!1;if(r.startsWith("[")&&r.endsWith("]")&&(r=r.slice(1,-1),i=!0),r.startsWith("…"))throw Error("Detected a three-dot character ('…') at ('"+r+"'). Did you mean ('...')?");if(r.startsWith("...")&&(r=r.substring(3),n=!0),r.startsWith("[")||r.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+r+"').");if(r.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+r+"').");function a(e,r){if(null!==e&&e!==r)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+r+"').");t.forEach(e=>{if(e===r)throw Error('You cannot have the same slug name "'+r+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+r+'" differ only by non-word symbols within a single dynamic path')}),t.push(r)}if(n){if(i){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');a(this.optionalRestSlugName,r),this.optionalRestSlugName=r,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');a(this.restSlugName,r),this.restSlugName=r,o="[...]"}}else{if(i)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');a(this.slugName,r),this.slugName=r,o="[]"}}this.children.has(o)||this.children.set(o,new r),this.children.get(o)._insert(e.slice(1),t,n)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function n(e){let t=new r;return e.forEach(e=>t.insert(e)),t.smoosh()}function o(e,t){let r={},o=[];for(let n=0;ne[r[t]])}},2438:(e,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return n},setConfig:function(){return o}});let n=()=>r;function o(e){r=e}},609:(e,t)=>{"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}function n(e){return e.startsWith("@")&&"@children"!==e}function o(e,t){if(e.includes(a)){let e=JSON.stringify(t);return"{}"!==e?a+"?"+e:a}return e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return i},PAGE_SEGMENT_KEY:function(){return a},addSearchParamsIfPageSegment:function(){return o},isGroupSegment:function(){return r},isParallelRouteSegment:function(){return n}});let a="__PAGE__",i="__DEFAULT__"},2495:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(6540),o=n.useLayoutEffect,a=n.useEffect;function i(e){let{headManager:t,reduceComponentsToState:r}=e;function i(){if(t&&t.mountedInstances){let o=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(o,e))}}return o(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),o(()=>(t&&(t._pendingUpdate=i),()=>{t&&(t._pendingUpdate=i)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},4881:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return y},MissingStaticPage:function(){return g},NormalizeError:function(){return _},PageNotFoundError:function(){return m},SP:function(){return f},ST:function(){return p},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return u},getLocationOrigin:function(){return i},getURL:function(){return s},isAbsoluteUrl:function(){return a},isResSent:function(){return l},loadGetInitialProps:function(){return d},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return P}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),a=0;ao.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function s(){let{href:e}=window.location,t=i();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function l(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function d(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await d(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&l(r))return n;if(!n)throw Error('"'+u(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.');return n}let f="undefined"!=typeof performance,p=f&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class _ extends Error{}class m extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class y extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function P(e){return JSON.stringify({message:e.message,stack:e.stack})}},4636:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},5307:e=>{!function(){var t={229:function(e){var t,r,n,o=e.exports={};function a(){throw Error("setTimeout has not been defined")}function i(){throw Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}}();var u=[],l=!1,c=-1;function d(){l&&n&&(l=!1,n.length?u=n.concat(u):c=-1,u.length&&f())}function f(){if(!l){var e=s(d);l=!0;for(var t=u.length;t;){for(n=u,u=[];++c1)for(var r=1;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_SUFFIX:function(){return d},APP_DIR_ALIAS:function(){return M},CACHE_ONE_YEAR:function(){return R},DOT_NEXT_ALIAS:function(){return I},ESLINT_DEFAULT_DIRS:function(){return Q},GSP_NO_RETURNED_VALUE:function(){return X},GSSP_COMPONENT_MEMBER_ERROR:function(){return Y},GSSP_NO_RETURNED_VALUE:function(){return V},INFINITE_CACHE:function(){return O},INSTRUMENTATION_HOOK_FILENAME:function(){return A},MATCHED_PATH_HEADER:function(){return o},MIDDLEWARE_FILENAME:function(){return j},MIDDLEWARE_LOCATION_REGEXP:function(){return T},NEXT_BODY_SUFFIX:function(){return h},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return S},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return g},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return y},NEXT_CACHE_SOFT_TAGS_HEADER:function(){return m},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return v},NEXT_CACHE_TAGS_HEADER:function(){return _},NEXT_CACHE_TAG_MAX_ITEMS:function(){return b},NEXT_CACHE_TAG_MAX_LENGTH:function(){return E},NEXT_DATA_SUFFIX:function(){return f},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return n},NEXT_META_SUFFIX:function(){return p},NEXT_QUERY_PARAM_PREFIX:function(){return r},NEXT_RESUME_HEADER:function(){return P},NON_STANDARD_NODE_ENV:function(){return K},PAGES_DIR_ALIAS:function(){return w},PRERENDER_REVALIDATE_HEADER:function(){return a},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return i},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return F},ROOT_DIR_ALIAS:function(){return C},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return k},RSC_ACTION_ENCRYPTION_ALIAS:function(){return U},RSC_ACTION_PROXY_ALIAS:function(){return L},RSC_ACTION_VALIDATE_ALIAS:function(){return N},RSC_CACHE_WRAPPER_ALIAS:function(){return D},RSC_MOD_REF_PROXY_ALIAS:function(){return x},RSC_PREFETCH_SUFFIX:function(){return s},RSC_SEGMENTS_DIR_SUFFIX:function(){return u},RSC_SEGMENT_SUFFIX:function(){return l},RSC_SUFFIX:function(){return c},SERVER_PROPS_EXPORT_ERROR:function(){return q},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return H},SERVER_PROPS_SSG_CONFLICT:function(){return W},SERVER_RUNTIME:function(){return J},SSG_FALLBACK_EXPORT_ERROR:function(){return $},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return B},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return G},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return z},WEBPACK_LAYERS:function(){return ee},WEBPACK_RESOURCE_QUERIES:function(){return et}});let r="nxtP",n="nxtI",o="x-matched-path",a="x-prerender-revalidate",i="x-prerender-revalidate-if-generated",s=".prefetch.rsc",u=".segments",l=".segment.rsc",c=".rsc",d=".action",f=".json",p=".meta",h=".body",_="x-next-cache-tags",m="x-next-cache-soft-tags",g="x-next-revalidated-tags",y="x-next-revalidate-tag-token",P="next-resume",b=128,E=256,v=1024,S="_N_T_",R=31536e3,O=0xfffffffe,j="middleware",T=`(?:src/)?${j}`,A="instrumentation",w="private-next-pages",I="private-dot-next",C="private-next-root-dir",M="private-next-app-dir",x="private-next-rsc-mod-ref-proxy",N="private-next-rsc-action-validate",L="private-next-rsc-server-reference",D="private-next-rsc-cache-wrapper",U="private-next-rsc-action-encryption",k="private-next-rsc-action-client-wrapper",F="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",B="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",H="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",W="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",G="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",q="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",X="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",V="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",z="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",Y="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",K='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',$="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",Q=["app","pages","components","lib","src"],J={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},Z={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",api:"api",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser"},ee={...Z,GROUP:{builtinReact:[Z.reactServerComponents,Z.actionBrowser],serverOnly:[Z.reactServerComponents,Z.actionBrowser,Z.instrument,Z.middleware],neutralTarget:[Z.api],clientOnly:[Z.serverSideRendering,Z.appPagesBrowser],bundled:[Z.reactServerComponents,Z.actionBrowser,Z.serverSideRendering,Z.appPagesBrowser,Z.shared,Z.instrument],appPages:[Z.reactServerComponents,Z.serverSideRendering,Z.appPagesBrowser,Z.actionBrowser]}},et={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},2976:(e,t)=>{"use strict";function r(e){return"/api"===e||!!(null==e?void 0:e.startsWith("/api/"))}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isAPIRoute",{enumerable:!0,get:function(){return r}})},3382:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return a}});let n=r(1775);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function a(e){return o(e)?e:Error((0,n.isPlainObject)(e)?function(e){let t=new WeakSet;return JSON.stringify(e,(e,r)=>{if("object"==typeof r&&null!==r){if(t.has(r))return"[Circular]";t.add(r)}return r})}(e):e+"")}},365:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HMR_ACTIONS_SENT_TO_BROWSER",{enumerable:!0,get:function(){return r}});var r=function(e){return e.ADDED_PAGE="addedPage",e.REMOVED_PAGE="removedPage",e.RELOAD_PAGE="reloadPage",e.SERVER_COMPONENT_CHANGES="serverComponentChanges",e.MIDDLEWARE_CHANGES="middlewareChanges",e.CLIENT_CHANGES="clientChanges",e.SERVER_ONLY_CHANGES="serverOnlyChanges",e.SYNC="sync",e.BUILT="built",e.BUILDING="building",e.DEV_PAGES_MANIFEST_UPDATE="devPagesManifestUpdate",e.TURBOPACK_MESSAGE="turbopack-message",e.SERVER_ERROR="serverError",e.TURBOPACK_CONNECTED="turbopack-connected",e.APP_ISR_MANIFEST="appIsrManifest",e}({})},1900:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return a}});let n=r(3756),o=["(..)(..)","(.)","(..)","(...)"];function a(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function i(e){let t,r,a;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,a]=e.split(r,2);break}if(!t||!r||!a)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":a="/"===t?`/${a}`:t+"/"+a;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);a=t.split("/").slice(0,-1).concat(a).join("/");break;case"(...)":a="/"+a;break;case"(..)(..)":let i=t.split("/");if(i.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);a=i.slice(0,-2).concat(a).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:a}}},1226:()=>{},7677:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:()=>n})},544:(e,t,r)=>{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=a?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(o,i,s):o[i]=e[i]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:()=>o})}},e=>{var t=t=>e(e.s=t);e.O(0,[593],()=>t(7693)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-app-e2be70030271765f.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-app-e2be70030271765f.js new file mode 100644 index 00000000..f7a662a0 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-app-e2be70030271765f.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[358],{1067:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,7033,23)),Promise.resolve().then(n.t.bind(n,4547,23)),Promise.resolve().then(n.t.bind(n,4835,23)),Promise.resolve().then(n.t.bind(n,2328,23)),Promise.resolve().then(n.t.bind(n,5244,23)),Promise.resolve().then(n.t.bind(n,3866,23)),Promise.resolve().then(n.t.bind(n,6213,23))}},e=>{var s=s=>e(e.s=s);e.O(0,[441,517],()=>(s(7200),s(1067))),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_app-d23763e3e6c904ff.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_app-d23763e3e6c904ff.js new file mode 100644 index 00000000..38a4ef44 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_app-d23763e3e6c904ff.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[636],{1788:(_,n,p)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return p(5203)}])}},_=>{var n=n=>_(_.s=n);_.O(0,[593,792],()=>(n(1788),n(4009))),_N_E=_.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_error-9b7125ad1a1e68fa.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_error-9b7125ad1a1e68fa.js new file mode 100644 index 00000000..5a2976c2 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_error-9b7125ad1a1e68fa.js @@ -0,0 +1 @@ +(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[731],{6194:(_,n,e)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_error",function(){return e(6218)}])}},_=>{var n=n=>_(_.s=n);_.O(0,[636,593,792],()=>n(6194)),_N_E=_.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/polyfills-42372ed130431b0a.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/polyfills-42372ed130431b0a.js new file mode 100644 index 00000000..ab422b94 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/polyfills-42372ed130431b0a.js @@ -0,0 +1 @@ +!function(){var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t){var e={exports:{}};return t(e,e.exports),e.exports}var r,n,o=function(t){return t&&t.Math===Math&&t},i=o("object"==typeof globalThis&&globalThis)||o("object"==typeof window&&window)||o("object"==typeof self&&self)||o("object"==typeof t&&t)||o("object"==typeof t&&t)||function(){return this}()||Function("return this")(),a=function(t){try{return!!t()}catch(t){return!0}},u=!a(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}),s=!a(function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}),c=Function.prototype.call,f=s?c.bind(c):function(){return c.apply(c,arguments)},l={}.propertyIsEnumerable,h=Object.getOwnPropertyDescriptor,p=h&&!l.call({1:2},1)?function(t){var e=h(this,t);return!!e&&e.enumerable}:l,v={f:p},d=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},g=Function.prototype,y=g.call,m=s&&g.bind.bind(y,y),b=s?m:function(t){return function(){return y.apply(t,arguments)}},w=b({}.toString),S=b("".slice),E=function(t){return S(w(t),8,-1)},O=Object,x=b("".split),R=a(function(){return!O("z").propertyIsEnumerable(0)})?function(t){return"String"===E(t)?x(t,""):O(t)}:O,P=function(t){return null==t},A=TypeError,j=function(t){if(P(t))throw new A("Can't call method on "+t);return t},k=function(t){return R(j(t))},I="object"==typeof document&&document.all,T=void 0===I&&void 0!==I?function(t){return"function"==typeof t||t===I}:function(t){return"function"==typeof t},M=function(t){return"object"==typeof t?null!==t:T(t)},L=function(t,e){return arguments.length<2?T(r=i[t])?r:void 0:i[t]&&i[t][e];var r},U=b({}.isPrototypeOf),N=i.navigator,C=N&&N.userAgent,_=C?String(C):"",F=i.process,B=i.Deno,D=F&&F.versions||B&&B.version,z=D&&D.v8;z&&(n=(r=z.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!n&&_&&(!(r=_.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=_.match(/Chrome\/(\d+)/))&&(n=+r[1]);var W=n,q=i.String,H=!!Object.getOwnPropertySymbols&&!a(function(){var t=Symbol("symbol detection");return!q(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&W&&W<41}),$=H&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,K=Object,G=$?function(t){return"symbol"==typeof t}:function(t){var e=L("Symbol");return T(e)&&U(e.prototype,K(t))},V=String,Y=function(t){try{return V(t)}catch(t){return"Object"}},X=TypeError,J=function(t){if(T(t))return t;throw new X(Y(t)+" is not a function")},Q=function(t,e){var r=t[e];return P(r)?void 0:J(r)},Z=TypeError,tt=Object.defineProperty,et=function(t,e){try{tt(i,t,{value:e,configurable:!0,writable:!0})}catch(r){i[t]=e}return e},rt=e(function(t){var e="__core-js_shared__",r=t.exports=i[e]||et(e,{});(r.versions||(r.versions=[])).push({version:"3.38.1",mode:"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"})}),nt=function(t,e){return rt[t]||(rt[t]=e||{})},ot=Object,it=function(t){return ot(j(t))},at=b({}.hasOwnProperty),ut=Object.hasOwn||function(t,e){return at(it(t),e)},st=0,ct=Math.random(),ft=b(1..toString),lt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+ft(++st+ct,36)},ht=i.Symbol,pt=nt("wks"),vt=$?ht.for||ht:ht&&ht.withoutSetter||lt,dt=function(t){return ut(pt,t)||(pt[t]=H&&ut(ht,t)?ht[t]:vt("Symbol."+t)),pt[t]},gt=TypeError,yt=dt("toPrimitive"),mt=function(t,e){if(!M(t)||G(t))return t;var r,n=Q(t,yt);if(n){if(void 0===e&&(e="default"),r=f(n,t,e),!M(r)||G(r))return r;throw new gt("Can't convert object to primitive value")}return void 0===e&&(e="number"),function(t,e){var r,n;if("string"===e&&T(r=t.toString)&&!M(n=f(r,t)))return n;if(T(r=t.valueOf)&&!M(n=f(r,t)))return n;if("string"!==e&&T(r=t.toString)&&!M(n=f(r,t)))return n;throw new Z("Can't convert object to primitive value")}(t,e)},bt=function(t){var e=mt(t,"string");return G(e)?e:e+""},wt=i.document,St=M(wt)&&M(wt.createElement),Et=function(t){return St?wt.createElement(t):{}},Ot=!u&&!a(function(){return 7!==Object.defineProperty(Et("div"),"a",{get:function(){return 7}}).a}),xt=Object.getOwnPropertyDescriptor,Rt={f:u?xt:function(t,e){if(t=k(t),e=bt(e),Ot)try{return xt(t,e)}catch(t){}if(ut(t,e))return d(!f(v.f,t,e),t[e])}},Pt=u&&a(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype}),At=String,jt=TypeError,kt=function(t){if(M(t))return t;throw new jt(At(t)+" is not an object")},It=TypeError,Tt=Object.defineProperty,Mt=Object.getOwnPropertyDescriptor,Lt="enumerable",Ut="configurable",Nt="writable",Ct={f:u?Pt?function(t,e,r){if(kt(t),e=bt(e),kt(r),"function"==typeof t&&"prototype"===e&&"value"in r&&Nt in r&&!r[Nt]){var n=Mt(t,e);n&&n[Nt]&&(t[e]=r.value,r={configurable:Ut in r?r[Ut]:n[Ut],enumerable:Lt in r?r[Lt]:n[Lt],writable:!1})}return Tt(t,e,r)}:Tt:function(t,e,r){if(kt(t),e=bt(e),kt(r),Ot)try{return Tt(t,e,r)}catch(t){}if("get"in r||"set"in r)throw new It("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},_t=u?function(t,e,r){return Ct.f(t,e,d(1,r))}:function(t,e,r){return t[e]=r,t},Ft=Function.prototype,Bt=u&&Object.getOwnPropertyDescriptor,Dt=ut(Ft,"name"),zt={EXISTS:Dt,PROPER:Dt&&"something"===function(){}.name,CONFIGURABLE:Dt&&(!u||u&&Bt(Ft,"name").configurable)},Wt=b(Function.toString);T(rt.inspectSource)||(rt.inspectSource=function(t){return Wt(t)});var qt,Ht,$t,Kt=rt.inspectSource,Gt=i.WeakMap,Vt=T(Gt)&&/native code/.test(String(Gt)),Yt=nt("keys"),Xt=function(t){return Yt[t]||(Yt[t]=lt(t))},Jt={},Qt="Object already initialized",Zt=i.TypeError;if(Vt||rt.state){var te=rt.state||(rt.state=new(0,i.WeakMap));te.get=te.get,te.has=te.has,te.set=te.set,qt=function(t,e){if(te.has(t))throw new Zt(Qt);return e.facade=t,te.set(t,e),e},Ht=function(t){return te.get(t)||{}},$t=function(t){return te.has(t)}}else{var ee=Xt("state");Jt[ee]=!0,qt=function(t,e){if(ut(t,ee))throw new Zt(Qt);return e.facade=t,_t(t,ee,e),e},Ht=function(t){return ut(t,ee)?t[ee]:{}},$t=function(t){return ut(t,ee)}}var re,ne={set:qt,get:Ht,has:$t,enforce:function(t){return $t(t)?Ht(t):qt(t,{})},getterFor:function(t){return function(e){var r;if(!M(e)||(r=Ht(e)).type!==t)throw new Zt("Incompatible receiver, "+t+" required");return r}}},oe=e(function(t){var e=zt.CONFIGURABLE,r=ne.enforce,n=ne.get,o=String,i=Object.defineProperty,s=b("".slice),c=b("".replace),f=b([].join),l=u&&!a(function(){return 8!==i(function(){},"length",{value:8}).length}),h=String(String).split("String"),p=t.exports=function(t,n,a){"Symbol("===s(o(n),0,7)&&(n="["+c(o(n),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),a&&a.getter&&(n="get "+n),a&&a.setter&&(n="set "+n),(!ut(t,"name")||e&&t.name!==n)&&(u?i(t,"name",{value:n,configurable:!0}):t.name=n),l&&a&&ut(a,"arity")&&t.length!==a.arity&&i(t,"length",{value:a.arity});try{a&&ut(a,"constructor")&&a.constructor?u&&i(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var p=r(t);return ut(p,"source")||(p.source=f(h,"string"==typeof n?n:"")),t};Function.prototype.toString=p(function(){return T(this)&&n(this).source||Kt(this)},"toString")}),ie=function(t,e,r,n){n||(n={});var o=n.enumerable,i=void 0!==n.name?n.name:e;if(T(r)&&oe(r,i,n),n.global)o?t[e]=r:et(e,r);else{try{n.unsafe?t[e]&&(o=!0):delete t[e]}catch(t){}o?t[e]=r:Ct.f(t,e,{value:r,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return t},ae=Math.ceil,ue=Math.floor,se=Math.trunc||function(t){var e=+t;return(e>0?ue:ae)(e)},ce=function(t){var e=+t;return e!=e||0===e?0:se(e)},fe=Math.max,le=Math.min,he=function(t,e){var r=ce(t);return r<0?fe(r+e,0):le(r,e)},pe=Math.min,ve=function(t){var e=ce(t);return e>0?pe(e,9007199254740991):0},de=function(t){return ve(t.length)},ge=function(t){return function(e,r,n){var o=k(e),i=de(o);if(0===i)return!t&&-1;var a,u=he(n,i);if(t&&r!=r){for(;i>u;)if((a=o[u++])!=a)return!0}else for(;i>u;u++)if((t||u in o)&&o[u]===r)return t||u||0;return!t&&-1}},ye={includes:ge(!0),indexOf:ge(!1)},me=ye.indexOf,be=b([].push),we=function(t,e){var r,n=k(t),o=0,i=[];for(r in n)!ut(Jt,r)&&ut(n,r)&&be(i,r);for(;e.length>o;)ut(n,r=e[o++])&&(~me(i,r)||be(i,r));return i},Se=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ee=Se.concat("length","prototype"),Oe={f:Object.getOwnPropertyNames||function(t){return we(t,Ee)}},xe={f:Object.getOwnPropertySymbols},Re=b([].concat),Pe=L("Reflect","ownKeys")||function(t){var e=Oe.f(kt(t)),r=xe.f;return r?Re(e,r(t)):e},Ae=function(t,e,r){for(var n=Pe(e),o=Ct.f,i=Rt.f,a=0;aa;)Ct.f(t,r=o[a++],n[r]);return t},Be={f:Fe},De=L("document","documentElement"),ze="prototype",We="script",qe=Xt("IE_PROTO"),He=function(){},$e=function(t){return"<"+We+">"+t+""},Ke=function(t){t.write($e("")),t.close();var e=t.parentWindow.Object;return t=null,e},Ge=function(){try{re=new ActiveXObject("htmlfile")}catch(t){}var t,e,r;Ge="undefined"!=typeof document?document.domain&&re?Ke(re):(e=Et("iframe"),r="java"+We+":",e.style.display="none",De.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write($e("document.F=Object")),t.close(),t.F):Ke(re);for(var n=Se.length;n--;)delete Ge[ze][Se[n]];return Ge()};Jt[qe]=!0;var Ve=Object.create||function(t,e){var r;return null!==t?(He[ze]=kt(t),r=new He,He[ze]=null,r[qe]=t):r=Ge(),void 0===e?r:Be.f(r,e)},Ye=Ct.f,Xe=dt("unscopables"),Je=Array.prototype;void 0===Je[Xe]&&Ye(Je,Xe,{configurable:!0,value:Ve(null)});var Qe=function(t){Je[Xe][t]=!0};Ce({target:"Array",proto:!0},{at:function(t){var e=it(this),r=de(e),n=ce(t),o=n>=0?n:r+n;return o<0||o>=r?void 0:e[o]}}),Qe("at");var Ze=function(t,e){return b(i[t].prototype[e])},tr=(Ze("Array","at"),TypeError),er=function(t,e){if(!delete t[e])throw new tr("Cannot delete property "+Y(e)+" of "+Y(t))},rr=Math.min,nr=[].copyWithin||function(t,e){var r=it(this),n=de(r),o=he(t,n),i=he(e,n),a=arguments.length>2?arguments[2]:void 0,u=rr((void 0===a?n:he(a,n))-i,n-o),s=1;for(i0;)i in r?r[o]=r[i]:er(r,o),o+=s,i+=s;return r};Ce({target:"Array",proto:!0},{copyWithin:nr}),Qe("copyWithin"),Ze("Array","copyWithin"),Ce({target:"Array",proto:!0},{fill:function(t){for(var e=it(this),r=de(e),n=arguments.length,o=he(n>1?arguments[1]:void 0,r),i=n>2?arguments[2]:void 0,a=void 0===i?r:he(i,r);a>o;)e[o++]=t;return e}}),Qe("fill"),Ze("Array","fill");var or=function(t){if("Function"===E(t))return b(t)},ir=or(or.bind),ar=function(t,e){return J(t),void 0===e?t:s?ir(t,e):function(){return t.apply(e,arguments)}},ur=Array.isArray||function(t){return"Array"===E(t)},sr={};sr[dt("toStringTag")]="z";var cr="[object z]"===String(sr),fr=dt("toStringTag"),lr=Object,hr="Arguments"===E(function(){return arguments}()),pr=cr?E:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=lr(t),fr))?r:hr?E(e):"Object"===(n=E(e))&&T(e.callee)?"Arguments":n},vr=function(){},dr=L("Reflect","construct"),gr=/^\s*(?:class|function)\b/,yr=b(gr.exec),mr=!gr.test(vr),br=function(t){if(!T(t))return!1;try{return dr(vr,[],t),!0}catch(t){return!1}},wr=function(t){if(!T(t))return!1;switch(pr(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return mr||!!yr(gr,Kt(t))}catch(t){return!0}};wr.sham=!0;var Sr=!dr||a(function(){var t;return br(br.call)||!br(Object)||!br(function(){t=!0})||t})?wr:br,Er=dt("species"),Or=Array,xr=function(t,e){return new(function(t){var e;return ur(t)&&(Sr(e=t.constructor)&&(e===Or||ur(e.prototype))||M(e)&&null===(e=e[Er]))&&(e=void 0),void 0===e?Or:e}(t))(0===e?0:e)},Rr=b([].push),Pr=function(t){var e=1===t,r=2===t,n=3===t,o=4===t,i=6===t,a=7===t,u=5===t||i;return function(s,c,f,l){for(var h,p,v=it(s),d=R(v),g=de(d),y=ar(c,f),m=0,b=l||xr,w=e?b(s,g):r||a?b(s,0):void 0;g>m;m++)if((u||m in d)&&(p=y(h=d[m],m,v),t))if(e)w[m]=p;else if(p)switch(t){case 3:return!0;case 5:return h;case 6:return m;case 2:Rr(w,h)}else switch(t){case 4:return!1;case 7:Rr(w,h)}return i?-1:n||o?o:w}},Ar={forEach:Pr(0),map:Pr(1),filter:Pr(2),some:Pr(3),every:Pr(4),find:Pr(5),findIndex:Pr(6),filterReject:Pr(7)},jr=Ar.find,kr="find",Ir=!0;kr in[]&&Array(1)[kr](function(){Ir=!1}),Ce({target:"Array",proto:!0,forced:Ir},{find:function(t){return jr(this,t,arguments.length>1?arguments[1]:void 0)}}),Qe(kr),Ze("Array","find");var Tr=Ar.findIndex,Mr="findIndex",Lr=!0;Mr in[]&&Array(1)[Mr](function(){Lr=!1}),Ce({target:"Array",proto:!0,forced:Lr},{findIndex:function(t){return Tr(this,t,arguments.length>1?arguments[1]:void 0)}}),Qe(Mr),Ze("Array","findIndex");var Ur=TypeError,Nr=function(t){if(t>9007199254740991)throw Ur("Maximum allowed index exceeded");return t},Cr=function(t,e,r,n,o,i,a,u){for(var s,c,f=o,l=0,h=!!a&&ar(a,u);l0&&ur(s)?(c=de(s),f=Cr(t,e,s,c,f,i-1)-1):(Nr(f+1),t[f]=s),f++),l++;return f},_r=Cr;Ce({target:"Array",proto:!0},{flatMap:function(t){var e,r=it(this),n=de(r);return J(t),(e=xr(r,0)).length=_r(e,r,r,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}}),Qe("flatMap"),Ze("Array","flatMap"),Ce({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=it(this),r=de(e),n=xr(e,0);return n.length=_r(n,e,e,r,0,void 0===t?1:ce(t)),n}}),Qe("flat"),Ze("Array","flat");var Fr,Br,Dr,zr=String,Wr=function(t){if("Symbol"===pr(t))throw new TypeError("Cannot convert a Symbol value to a string");return zr(t)},qr=b("".charAt),Hr=b("".charCodeAt),$r=b("".slice),Kr=function(t){return function(e,r){var n,o,i=Wr(j(e)),a=ce(r),u=i.length;return a<0||a>=u?t?"":void 0:(n=Hr(i,a))<55296||n>56319||a+1===u||(o=Hr(i,a+1))<56320||o>57343?t?qr(i,a):n:t?$r(i,a,a+2):o-56320+(n-55296<<10)+65536}},Gr={codeAt:Kr(!1),charAt:Kr(!0)},Vr=!a(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),Yr=Xt("IE_PROTO"),Xr=Object,Jr=Xr.prototype,Qr=Vr?Xr.getPrototypeOf:function(t){var e=it(t);if(ut(e,Yr))return e[Yr];var r=e.constructor;return T(r)&&e instanceof r?r.prototype:e instanceof Xr?Jr:null},Zr=dt("iterator"),tn=!1;[].keys&&("next"in(Dr=[].keys())?(Br=Qr(Qr(Dr)))!==Object.prototype&&(Fr=Br):tn=!0);var en=!M(Fr)||a(function(){var t={};return Fr[Zr].call(t)!==t});en&&(Fr={}),T(Fr[Zr])||ie(Fr,Zr,function(){return this});var rn={IteratorPrototype:Fr,BUGGY_SAFARI_ITERATORS:tn},nn=Ct.f,on=dt("toStringTag"),an=function(t,e,r){t&&!r&&(t=t.prototype),t&&!ut(t,on)&&nn(t,on,{configurable:!0,value:e})},un={},sn=rn.IteratorPrototype,cn=function(){return this},fn=function(t,e,r,n){var o=e+" Iterator";return t.prototype=Ve(sn,{next:d(+!n,r)}),an(t,o,!1),un[o]=cn,t},ln=function(t,e,r){try{return b(J(Object.getOwnPropertyDescriptor(t,e)[r]))}catch(t){}},hn=String,pn=TypeError,vn=function(t){if(function(t){return M(t)||null===t}(t))return t;throw new pn("Can't set "+hn(t)+" as a prototype")},dn=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=ln(Object.prototype,"__proto__","set"))(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return j(r),vn(n),M(r)?(e?t(r,n):r.__proto__=n,r):r}}():void 0),gn=zt.PROPER,yn=zt.CONFIGURABLE,mn=rn.IteratorPrototype,bn=rn.BUGGY_SAFARI_ITERATORS,wn=dt("iterator"),Sn="keys",En="values",On="entries",xn=function(){return this},Rn=function(t,e,r,n,o,i,a){fn(r,e,n);var u,s,c,l=function(t){if(t===o&&g)return g;if(!bn&&t&&t in v)return v[t];switch(t){case Sn:case En:case On:return function(){return new r(this,t)}}return function(){return new r(this)}},h=e+" Iterator",p=!1,v=t.prototype,d=v[wn]||v["@@iterator"]||o&&v[o],g=!bn&&d||l(o),y="Array"===e&&v.entries||d;if(y&&(u=Qr(y.call(new t)))!==Object.prototype&&u.next&&(Qr(u)!==mn&&(dn?dn(u,mn):T(u[wn])||ie(u,wn,xn)),an(u,h,!0)),gn&&o===En&&d&&d.name!==En&&(yn?_t(v,"name",En):(p=!0,g=function(){return f(d,this)})),o)if(s={values:l(En),keys:i?g:l(Sn),entries:l(On)},a)for(c in s)(bn||p||!(c in v))&&ie(v,c,s[c]);else Ce({target:e,proto:!0,forced:bn||p},s);return v[wn]!==g&&ie(v,wn,g,{name:o}),un[e]=g,s},Pn=function(t,e){return{value:t,done:e}},An=Gr.charAt,jn="String Iterator",kn=ne.set,In=ne.getterFor(jn);Rn(String,"String",function(t){kn(this,{type:jn,string:Wr(t),index:0})},function(){var t,e=In(this),r=e.string,n=e.index;return n>=r.length?Pn(void 0,!0):(t=An(r,n),e.index+=t.length,Pn(t,!1))});var Tn=function(t,e,r){var n,o;kt(t);try{if(!(n=Q(t,"return"))){if("throw"===e)throw r;return r}n=f(n,t)}catch(t){o=!0,n=t}if("throw"===e)throw r;if(o)throw n;return kt(n),r},Mn=function(t,e,r,n){try{return n?e(kt(r)[0],r[1]):e(r)}catch(e){Tn(t,"throw",e)}},Ln=dt("iterator"),Un=Array.prototype,Nn=function(t){return void 0!==t&&(un.Array===t||Un[Ln]===t)},Cn=function(t,e,r){u?Ct.f(t,e,d(0,r)):t[e]=r},_n=dt("iterator"),Fn=function(t){if(!P(t))return Q(t,_n)||Q(t,"@@iterator")||un[pr(t)]},Bn=TypeError,Dn=function(t,e){var r=arguments.length<2?Fn(t):e;if(J(r))return kt(f(r,t));throw new Bn(Y(t)+" is not iterable")},zn=Array,Wn=function(t){var e=it(t),r=Sr(this),n=arguments.length,o=n>1?arguments[1]:void 0,i=void 0!==o;i&&(o=ar(o,n>2?arguments[2]:void 0));var a,u,s,c,l,h,p=Fn(e),v=0;if(!p||this===zn&&Nn(p))for(a=de(e),u=r?new this(a):zn(a);a>v;v++)h=i?o(e[v],v):e[v],Cn(u,v,h);else for(u=r?new this:[],l=(c=Dn(e,p)).next;!(s=f(l,c)).done;v++)h=i?Mn(c,o,[s.value,v],!0):s.value,Cn(u,v,h);return u.length=v,u},qn=dt("iterator"),Hn=!1;try{var $n=0,Kn={next:function(){return{done:!!$n++}},return:function(){Hn=!0}};Kn[qn]=function(){return this},Array.from(Kn,function(){throw 2})}catch(t){}var Gn=function(t,e){try{if(!e&&!Hn)return!1}catch(t){return!1}var r=!1;try{var n={};n[qn]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r},Vn=!Gn(function(t){Array.from(t)});Ce({target:"Array",stat:!0,forced:Vn},{from:Wn});var Yn=i,Xn=ye.includes,Jn=a(function(){return!Array(1).includes()});Ce({target:"Array",proto:!0,forced:Jn},{includes:function(t){return Xn(this,t,arguments.length>1?arguments[1]:void 0)}}),Qe("includes"),Ze("Array","includes");var Qn=Ct.f,Zn="Array Iterator",to=ne.set,eo=ne.getterFor(Zn),ro=Rn(Array,"Array",function(t,e){to(this,{type:Zn,target:k(t),index:0,kind:e})},function(){var t=eo(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,Pn(void 0,!0);switch(t.kind){case"keys":return Pn(r,!1);case"values":return Pn(e[r],!1)}return Pn([r,e[r]],!1)},"values"),no=un.Arguments=un.Array;if(Qe("keys"),Qe("values"),Qe("entries"),u&&"values"!==no.name)try{Qn(no,"name",{value:"values"})}catch(t){}cr||ie(Object.prototype,"toString",cr?{}.toString:function(){return"[object "+pr(this)+"]"},{unsafe:!0}),Ze("Array","values");var oo=Array,io=a(function(){function t(){}return!(oo.of.call(t)instanceof t)});Ce({target:"Array",stat:!0,forced:io},{of:function(){for(var t=0,e=arguments.length,r=new(Sr(this)?this:oo)(e);e>t;)Cn(r,t,arguments[t++]);return r.length=e,r}});var ao=dt("hasInstance"),uo=Function.prototype;ao in uo||Ct.f(uo,ao,{value:oe(function(t){if(!T(this)||!M(t))return!1;var e=this.prototype;return M(e)?U(e,t):t instanceof this},ao)}),dt("hasInstance");var so=function(t,e,r){return r.get&&oe(r.get,e,{getter:!0}),r.set&&oe(r.set,e,{setter:!0}),Ct.f(t,e,r)},co=zt.EXISTS,fo=Function.prototype,lo=b(fo.toString),ho=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,po=b(ho.exec);u&&!co&&so(fo,"name",{configurable:!0,get:function(){try{return po(ho,lo(this))[1]}catch(t){return""}}});var vo=b([].slice),go=Oe.f,yo="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],mo={f:function(t){return yo&&"Window"===E(t)?function(t){try{return go(t)}catch(t){return vo(yo)}}(t):go(k(t))}},bo=a(function(){if("function"==typeof ArrayBuffer){var t=new ArrayBuffer(8);Object.isExtensible(t)&&Object.defineProperty(t,"a",{value:8})}}),wo=Object.isExtensible,So=a(function(){wo(1)})||bo?function(t){return!!M(t)&&(!bo||"ArrayBuffer"!==E(t))&&(!wo||wo(t))}:wo,Eo=!a(function(){return Object.isExtensible(Object.preventExtensions({}))}),Oo=e(function(t){var e=Ct.f,r=!1,n=lt("meta"),o=0,i=function(t){e(t,n,{value:{objectID:"O"+o++,weakData:{}}})},a=t.exports={enable:function(){a.enable=function(){},r=!0;var t=Oe.f,e=b([].splice),o={};o[n]=1,t(o).length&&(Oe.f=function(r){for(var o=t(r),i=0,a=o.length;ii;i++)if((u=y(t[i]))&&U(Po,u))return u;return new Ro(!1)}n=Dn(t,o)}for(s=h?t.next:n.next;!(c=f(s,n)).done;){try{u=y(c.value)}catch(t){Tn(n,"throw",t)}if("object"==typeof u&&u&&U(Po,u))return u}return new Ro(!1)},jo=TypeError,ko=function(t,e){if(U(e,t))return t;throw new jo("Incorrect invocation")},Io=function(t,e,r){var n,o;return dn&&T(n=e.constructor)&&n!==r&&M(o=n.prototype)&&o!==r.prototype&&dn(t,o),t},To=function(t,e,r){var n=-1!==t.indexOf("Map"),o=-1!==t.indexOf("Weak"),u=n?"set":"add",s=i[t],c=s&&s.prototype,f=s,l={},h=function(t){var e=b(c[t]);ie(c,t,"add"===t?function(t){return e(this,0===t?0:t),this}:"delete"===t?function(t){return!(o&&!M(t))&&e(this,0===t?0:t)}:"get"===t?function(t){return o&&!M(t)?void 0:e(this,0===t?0:t)}:"has"===t?function(t){return!(o&&!M(t))&&e(this,0===t?0:t)}:function(t,r){return e(this,0===t?0:t,r),this})};if(Ue(t,!T(s)||!(o||c.forEach&&!a(function(){(new s).entries().next()}))))f=r.getConstructor(e,t,n,u),Oo.enable();else if(Ue(t,!0)){var p=new f,v=p[u](o?{}:-0,1)!==p,d=a(function(){p.has(1)}),g=Gn(function(t){new s(t)}),y=!o&&a(function(){for(var t=new s,e=5;e--;)t[u](e,e);return!t.has(-0)});g||((f=e(function(t,e){ko(t,c);var r=Io(new s,t,f);return P(e)||Ao(e,r[u],{that:r,AS_ENTRIES:n}),r})).prototype=c,c.constructor=f),(d||y)&&(h("delete"),h("has"),n&&h("get")),(y||v)&&h(u),o&&c.clear&&delete c.clear}return l[t]=f,Ce({global:!0,constructor:!0,forced:f!==s},l),an(f,t),o||r.setStrong(f,t,n),f},Mo=function(t,e,r){for(var n in e)ie(t,n,e[n],r);return t},Lo=dt("species"),Uo=function(t){var e=L(t);u&&e&&!e[Lo]&&so(e,Lo,{configurable:!0,get:function(){return this}})},No=Oo.fastKey,Co=ne.set,_o=ne.getterFor,Fo={getConstructor:function(t,e,r,n){var o=t(function(t,o){ko(t,i),Co(t,{type:e,index:Ve(null),first:null,last:null,size:0}),u||(t.size=0),P(o)||Ao(o,t[n],{that:t,AS_ENTRIES:r})}),i=o.prototype,a=_o(e),s=function(t,e,r){var n,o,i=a(t),s=c(t,e);return s?s.value=r:(i.last=s={index:o=No(e,!0),key:e,value:r,previous:n=i.last,next:null,removed:!1},i.first||(i.first=s),n&&(n.next=s),u?i.size++:t.size++,"F"!==o&&(i.index[o]=s)),t},c=function(t,e){var r,n=a(t),o=No(e);if("F"!==o)return n.index[o];for(r=n.first;r;r=r.next)if(r.key===e)return r};return Mo(i,{clear:function(){for(var t=a(this),e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=null),e=e.next;t.first=t.last=null,t.index=Ve(null),u?t.size=0:this.size=0},delete:function(t){var e=this,r=a(e),n=c(e,t);if(n){var o=n.next,i=n.previous;delete r.index[n.index],n.removed=!0,i&&(i.next=o),o&&(o.previous=i),r.first===n&&(r.first=o),r.last===n&&(r.last=i),u?r.size--:e.size--}return!!n},forEach:function(t){for(var e,r=a(this),n=ar(t,arguments.length>1?arguments[1]:void 0);e=e?e.next:r.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!c(this,t)}}),Mo(i,r?{get:function(t){var e=c(this,t);return e&&e.value},set:function(t,e){return s(this,0===t?0:t,e)}}:{add:function(t){return s(this,t=0===t?0:t,t)}}),u&&so(i,"size",{configurable:!0,get:function(){return a(this).size}}),o},setStrong:function(t,e,r){var n=e+" Iterator",o=_o(e),i=_o(n);Rn(t,e,function(t,e){Co(this,{type:n,target:t,state:o(t),kind:e,last:null})},function(){for(var t=i(this),e=t.kind,r=t.last;r&&r.removed;)r=r.previous;return t.target&&(t.last=r=r?r.next:t.state.first)?Pn("keys"===e?r.key:"values"===e?r.value:[r.key,r.value],!1):(t.target=null,Pn(void 0,!0))},r?"entries":"values",!r,!0),Uo(e)}};To("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},Fo);var Bo=Map.prototype,Do={Map:Map,set:b(Bo.set),get:b(Bo.get),has:b(Bo.has),remove:b(Bo.delete),proto:Bo},zo=Do.Map,Wo=Do.has,qo=Do.get,Ho=Do.set,$o=b([].push),Ko=a(function(){return 1!==zo.groupBy("ab",function(t){return t}).get("a").length});Ce({target:"Map",stat:!0,forced:Ko},{groupBy:function(t,e){j(t),J(e);var r=new zo,n=0;return Ao(t,function(t){var o=e(t,n++);Wo(r,o)?$o(qo(r,o),t):Ho(r,o,[t])}),r}});var Go={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Vo=Et("span").classList,Yo=Vo&&Vo.constructor&&Vo.constructor.prototype,Xo=Yo===Object.prototype?void 0:Yo,Jo=dt("iterator"),Qo=ro.values,Zo=function(t,e){if(t){if(t[Jo]!==Qo)try{_t(t,Jo,Qo)}catch(e){t[Jo]=Qo}if(an(t,e,!0),Go[e])for(var r in ro)if(t[r]!==ro[r])try{_t(t,r,ro[r])}catch(e){t[r]=ro[r]}}};for(var ti in Go)Zo(i[ti]&&i[ti].prototype,ti);Zo(Xo,"DOMTokenList");var ei=function(t,e,r){return function(n){var o=it(n),i=arguments.length,a=i>1?arguments[1]:void 0,u=void 0!==a,s=u?ar(a,i>2?arguments[2]:void 0):void 0,c=new t,f=0;return Ao(o,function(t){var n=u?s(t,f++):t;r?e(c,kt(n)[0],n[1]):e(c,n)}),c}};Ce({target:"Map",stat:!0,forced:!0},{from:ei(Do.Map,Do.set,!0)});var ri=function(t,e,r){return function(){for(var n=new t,o=arguments.length,i=0;i1?arguments[1]:void 0);return!1!==di(e,function(t,n){if(!r(t,n,e))return!1},!0)}});var gi=Do.Map,yi=Do.set;Ce({target:"Map",proto:!0,real:!0,forced:!0},{filter:function(t){var e=oi(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new gi;return di(e,function(t,o){r(t,o,e)&&yi(n,o,t)}),n}}),Ce({target:"Map",proto:!0,real:!0,forced:!0},{find:function(t){var e=oi(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=di(e,function(t,n){if(r(t,n,e))return{value:t}},!0);return n&&n.value}}),Ce({target:"Map",proto:!0,real:!0,forced:!0},{findKey:function(t){var e=oi(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=di(e,function(t,n){if(r(t,n,e))return{key:n}},!0);return n&&n.key}}),Ce({target:"Map",proto:!0,real:!0,forced:!0},{includes:function(t){return!0===di(oi(this),function(e){if((r=e)===(n=t)||r!=r&&n!=n)return!0;var r,n},!0)}});var mi=Do.Map;Ce({target:"Map",stat:!0,forced:!0},{keyBy:function(t,e){var r=new(T(this)?this:mi);J(e);var n=J(r.set);return Ao(t,function(t){f(n,r,e(t),t)}),r}}),Ce({target:"Map",proto:!0,real:!0,forced:!0},{keyOf:function(t){var e=di(oi(this),function(e,r){if(e===t)return{key:r}},!0);return e&&e.key}});var bi=Do.Map,wi=Do.set;Ce({target:"Map",proto:!0,real:!0,forced:!0},{mapKeys:function(t){var e=oi(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new bi;return di(e,function(t,o){wi(n,r(t,o,e),t)}),n}});var Si=Do.Map,Ei=Do.set;Ce({target:"Map",proto:!0,real:!0,forced:!0},{mapValues:function(t){var e=oi(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new Si;return di(e,function(t,o){Ei(n,o,r(t,o,e))}),n}});var Oi=Do.set;Ce({target:"Map",proto:!0,real:!0,arity:1,forced:!0},{merge:function(t){for(var e=oi(this),r=arguments.length,n=0;n1?arguments[1]:void 0);return!0===di(e,function(t,n){if(r(t,n,e))return!0},!0)}});var Ri=TypeError,Pi=Do.get,Ai=Do.has,ji=Do.set;Ce({target:"Map",proto:!0,real:!0,forced:!0},{update:function(t,e){var r=oi(this),n=arguments.length;J(e);var o=Ai(r,t);if(!o&&n<3)throw new Ri("Updating absent value");var i=o?Pi(r,t):J(n>2?arguments[2]:void 0)(t,r);return ji(r,t,e(i,t,r)),r}});var ki=TypeError,Ii=function(t,e){var r,n=kt(this),o=J(n.get),i=J(n.has),a=J(n.set),u=arguments.length>2?arguments[2]:void 0;if(!T(e)&&!T(u))throw new ki("At least one callback required");return f(i,n,t)?(r=f(o,n,t),T(e)&&(r=e(r),f(a,n,t,r))):T(u)&&(r=u(),f(a,n,t,r)),r};Ce({target:"Map",proto:!0,real:!0,forced:!0},{upsert:Ii}),Ce({target:"Map",proto:!0,real:!0,name:"upsert",forced:!0},{updateOrInsert:Ii});var Ti=b(1..valueOf),Mi="\t\n\v\f\r                 \u2028\u2029\ufeff",Li=b("".replace),Ui=RegExp("^["+Mi+"]+"),Ni=RegExp("(^|[^"+Mi+"])["+Mi+"]+$"),Ci=function(t){return function(e){var r=Wr(j(e));return 1&t&&(r=Li(r,Ui,"")),2&t&&(r=Li(r,Ni,"$1")),r}},_i={start:Ci(1),end:Ci(2),trim:Ci(3)},Fi=Oe.f,Bi=Rt.f,Di=Ct.f,zi=_i.trim,Wi="Number",qi=i[Wi],Hi=qi.prototype,$i=i.TypeError,Ki=b("".slice),Gi=b("".charCodeAt),Vi=Ue(Wi,!qi(" 0o1")||!qi("0b1")||qi("+0x1")),Yi=function(t){var e,r=arguments.length<1?0:qi(function(t){var e=mt(t,"number");return"bigint"==typeof e?e:function(t){var e,r,n,o,i,a,u,s,c=mt(t,"number");if(G(c))throw new $i("Cannot convert a Symbol value to a number");if("string"==typeof c&&c.length>2)if(c=zi(c),43===(e=Gi(c,0))||45===e){if(88===(r=Gi(c,2))||120===r)return NaN}else if(48===e){switch(Gi(c,1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+c}for(a=(i=Ki(c,2)).length,u=0;uo)return NaN;return parseInt(i,n)}return+c}(e)}(t));return U(Hi,e=this)&&a(function(){Ti(e)})?Io(Object(r),this,Yi):r};Yi.prototype=Hi,Vi&&(Hi.constructor=Yi),Ce({global:!0,constructor:!0,wrap:!0,forced:Vi},{Number:Yi}),Vi&&function(t,e){for(var r,n=u?Fi(e):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),o=0;n.length>o;o++)ut(e,r=n[o])&&!ut(t,r)&&Di(t,r,Bi(e,r))}(Yn[Wi],qi),Ce({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)});var Xi=i.isFinite;Ce({target:"Number",stat:!0},{isFinite:Number.isFinite||function(t){return"number"==typeof t&&Xi(t)}});var Ji=Math.floor,Qi=Number.isInteger||function(t){return!M(t)&&isFinite(t)&&Ji(t)===t};Ce({target:"Number",stat:!0},{isInteger:Qi}),Ce({target:"Number",stat:!0},{isNaN:function(t){return t!=t}});var Zi=Math.abs;Ce({target:"Number",stat:!0},{isSafeInteger:function(t){return Qi(t)&&Zi(t)<=9007199254740991}}),Ce({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991}),Ce({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991});var ta=_i.trim,ea=b("".charAt),ra=i.parseFloat,na=i.Symbol,oa=na&&na.iterator,ia=1/ra(Mi+"-0")!=-Infinity||oa&&!a(function(){ra(Object(oa))})?function(t){var e=ta(Wr(t)),r=ra(e);return 0===r&&"-"===ea(e,0)?-0:r}:ra;Ce({target:"Number",stat:!0,forced:Number.parseFloat!==ia},{parseFloat:ia});var aa=_i.trim,ua=i.parseInt,sa=i.Symbol,ca=sa&&sa.iterator,fa=/^[+-]?0x/i,la=b(fa.exec),ha=8!==ua(Mi+"08")||22!==ua(Mi+"0x16")||ca&&!a(function(){ua(Object(ca))})?function(t,e){var r=aa(Wr(t));return ua(r,e>>>0||(la(fa,r)?16:10))}:ua;Ce({target:"Number",stat:!0,forced:Number.parseInt!==ha},{parseInt:ha});var pa=b(v.f),va=b([].push),da=u&&a(function(){var t=Object.create(null);return t[2]=2,!pa(t,2)}),ga=function(t){return function(e){for(var r,n=k(e),o=_e(n),i=da&&null===Qr(n),a=o.length,s=0,c=[];a>s;)r=o[s++],u&&!(i?r in n:pa(n,r))||va(c,t?[r,n[r]]:n[r]);return c}},ya={entries:ga(!0),values:ga(!1)},ma=ya.entries;Ce({target:"Object",stat:!0},{entries:function(t){return ma(t)}}),Ce({target:"Object",stat:!0,sham:!u},{getOwnPropertyDescriptors:function(t){for(var e,r,n=k(t),o=Rt.f,i=Pe(n),a={},u=0;i.length>u;)void 0!==(r=o(n,e=i[u++]))&&Cn(a,e,r);return a}});var ba=a(function(){_e(1)});Ce({target:"Object",stat:!0,forced:ba},{keys:function(t){return _e(it(t))}});var wa=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};Ce({target:"Object",stat:!0},{is:wa});var Sa=ya.values;Ce({target:"Object",stat:!0},{values:function(t){return Sa(t)}}),Ce({target:"Object",stat:!0},{hasOwn:ut});var Ea=Function.prototype,Oa=Ea.apply,xa=Ea.call,Ra="object"==typeof Reflect&&Reflect.apply||(s?xa.bind(Oa):function(){return xa.apply(Oa,arguments)}),Pa=!a(function(){Reflect.apply(function(){})});Ce({target:"Reflect",stat:!0,forced:Pa},{apply:function(t,e,r){return Ra(J(t),e,kt(r))}});var Aa=Function,ja=b([].concat),ka=b([].join),Ia={},Ta=s?Aa.bind:function(t){var e=J(this),r=e.prototype,n=vo(arguments,1),o=function(){var r=ja(n,vo(arguments));return this instanceof o?function(t,e,r){if(!ut(Ia,e)){for(var n=[],o=0;ob)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$c")}),gs=Oe.f,ys=ne.enforce,ms=dt("match"),bs=i.RegExp,ws=bs.prototype,Ss=i.SyntaxError,Es=b(ws.exec),Os=b("".charAt),xs=b("".replace),Rs=b("".indexOf),Ps=b("".slice),As=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,js=/a/g,ks=/a/g,Is=new bs(js)!==js,Ts=cs.MISSED_STICKY,Ms=cs.UNSUPPORTED_Y,Ls=u&&(!Is||Ts||ps||ds||a(function(){return ks[ms]=!1,bs(js)!==js||bs(ks)===ks||"/a/i"!==String(bs(js,"i"))}));if(Ue("RegExp",Ls)){for(var Us=function(t,e){var r,n,o,i,a,u,s=U(ws,this),c=es(t),f=void 0===e,l=[],h=t;if(!s&&c&&f&&t.constructor===Us)return t;if((c||U(ws,t))&&(t=t.source,f&&(e=os(h))),t=void 0===t?"":Wr(t),e=void 0===e?"":Wr(e),h=t,ps&&"dotAll"in js&&(n=!!e&&Rs(e,"s")>-1)&&(e=xs(e,/s/g,"")),r=e,Ts&&"sticky"in js&&(o=!!e&&Rs(e,"y")>-1)&&Ms&&(e=xs(e,/y/g,"")),ds&&(i=function(t){for(var e,r=t.length,n=0,o="",i=[],a=Ve(null),u=!1,s=!1,c=0,f="";n<=r;n++){if("\\"===(e=Os(t,n)))e+=Os(t,++n);else if("]"===e)u=!1;else if(!u)switch(!0){case"["===e:u=!0;break;case"("===e:if(o+=e,"?:"===Ps(t,n+1,n+3))continue;Es(As,Ps(t,n+1))&&(n+=2,s=!0),c++;continue;case">"===e&&s:if(""===f||ut(a,f))throw new Ss("Invalid capture group name");a[f]=!0,i[i.length]=[f,c],s=!1,f="";continue}s?f+=e:o+=e}return[o,i]}(t),t=i[0],l=i[1]),a=Io(bs(t,e),s?this:ws,Us),(n||o||l.length)&&(u=ys(a),n&&(u.dotAll=!0,u.raw=Us(function(t){for(var e,r=t.length,n=0,o="",i=!1;n<=r;n++)"\\"!==(e=Os(t,n))?i||"."!==e?("["===e?i=!0:"]"===e&&(i=!1),o+=e):o+="[\\s\\S]":o+=e+Os(t,++n);return o}(t),r)),o&&(u.sticky=!0),l.length&&(u.groups=l)),t!==h)try{_t(a,"source",""===h?"(?:)":h)}catch(t){}return a},Ns=gs(bs),Cs=0;Ns.length>Cs;)ls(Us,bs,Ns[Cs++]);ws.constructor=Us,Us.prototype=ws,ie(i,"RegExp",Us,{constructor:!0})}Uo("RegExp");var _s=zt.PROPER,Fs="toString",Bs=RegExp.prototype,Ds=Bs[Fs];(a(function(){return"/a/b"!==Ds.call({source:"a",flags:"b"})})||_s&&Ds.name!==Fs)&&ie(Bs,Fs,function(){var t=kt(this);return"/"+Wr(t.source)+"/"+Wr(os(t))},{unsafe:!0});var zs=ne.get,Ws=RegExp.prototype,qs=TypeError;u&&ps&&so(Ws,"dotAll",{configurable:!0,get:function(){if(this!==Ws){if("RegExp"===E(this))return!!zs(this).dotAll;throw new qs("Incompatible receiver, RegExp required")}}});var Hs=ne.get,$s=nt("native-string-replace",String.prototype.replace),Ks=RegExp.prototype.exec,Gs=Ks,Vs=b("".charAt),Ys=b("".indexOf),Xs=b("".replace),Js=b("".slice),Qs=function(){var t=/a/,e=/b*/g;return f(Ks,t,"a"),f(Ks,e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),Zs=cs.BROKEN_CARET,tc=void 0!==/()??/.exec("")[1];(Qs||tc||Zs||ps||ds)&&(Gs=function(t){var e,r,n,o,i,a,u,s=this,c=Hs(s),l=Wr(t),h=c.raw;if(h)return h.lastIndex=s.lastIndex,e=f(Gs,h,l),s.lastIndex=h.lastIndex,e;var p=c.groups,v=Zs&&s.sticky,d=f(rs,s),g=s.source,y=0,m=l;if(v&&(d=Xs(d,"y",""),-1===Ys(d,"g")&&(d+="g"),m=Js(l,s.lastIndex),s.lastIndex>0&&(!s.multiline||s.multiline&&"\n"!==Vs(l,s.lastIndex-1))&&(g="(?: "+g+")",m=" "+m,y++),r=new RegExp("^(?:"+g+")",d)),tc&&(r=new RegExp("^"+g+"$(?!\\s)",d)),Qs&&(n=s.lastIndex),o=f(Ks,v?r:s,m),v?o?(o.input=Js(o.input,y),o[0]=Js(o[0],y),o.index=s.lastIndex,s.lastIndex+=o[0].length):s.lastIndex=0:Qs&&o&&(s.lastIndex=s.global?o.index+o[0].length:n),tc&&o&&o.length>1&&f($s,o[0],r,function(){for(i=1;i]*>)/g,Oc=/\$([$&'`]|\d{1,2})/g,xc=function(t,e,r,n,o,i){var a=r+t.length,u=n.length,s=Oc;return void 0!==o&&(o=it(o),s=Ec),wc(i,s,function(i,s){var c;switch(bc(s,0)){case"$":return"$";case"&":return t;case"`":return Sc(e,0,r);case"'":return Sc(e,a);case"<":c=o[Sc(s,1,-1)];break;default:var f=+s;if(0===f)return i;if(f>u){var l=mc(f/10);return 0===l?i:l<=u?void 0===n[l-1]?bc(s,1):n[l-1]+bc(s,1):i}c=n[f-1]}return void 0===c?"":c})},Rc=dt("replace"),Pc=Math.max,Ac=Math.min,jc=b([].concat),kc=b([].push),Ic=b("".indexOf),Tc=b("".slice),Mc="$0"==="a".replace(/./,"$0"),Lc=!!/./[Rc]&&""===/./[Rc]("a","$0"),Uc=!a(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")});pc("replace",function(t,e,r){var n=Lc?"$":"$0";return[function(t,r){var n=j(this),o=P(t)?void 0:Q(t,Rc);return o?f(o,t,n,r):f(e,Wr(n),t,r)},function(t,o){var i=kt(this),a=Wr(t);if("string"==typeof o&&-1===Ic(o,n)&&-1===Ic(o,"$<")){var u=r(e,i,a,o);if(u.done)return u.value}var s=T(o);s||(o=Wr(o));var c,f=i.global;f&&(c=i.unicode,i.lastIndex=0);for(var l,h=[];null!==(l=yc(i,a))&&(kc(h,l),f);)""===Wr(l[0])&&(i.lastIndex=dc(a,ve(i.lastIndex),c));for(var p,v="",d=0,g=0;g=d&&(v+=Tc(a,d,b)+y,d=b+m.length)}return v+Tc(a,d)}]},!Uc||!Mc||Lc),pc("search",function(t,e,r){return[function(e){var r=j(this),n=P(e)?void 0:Q(e,t);return n?f(n,e,r):new RegExp(e)[t](Wr(r))},function(t){var n=kt(this),o=Wr(t),i=r(e,n,o);if(i.done)return i.value;var a=n.lastIndex;wa(a,0)||(n.lastIndex=0);var u=yc(n,o);return wa(n.lastIndex,a)||(n.lastIndex=a),null===u?-1:u.index}]});var Nc=dt("species"),Cc=function(t,e){var r,n=kt(t).constructor;return void 0===n||P(r=kt(n)[Nc])?e:La(r)},_c=cs.UNSUPPORTED_Y,Fc=Math.min,Bc=b([].push),Dc=b("".slice),zc=!a(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}),Wc="c"==="abbc".split(/(b)*/)[1]||4!=="test".split(/(?:)/,-1).length||2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length;pc("split",function(t,e,r){var n="0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:f(e,this,t,r)}:e;return[function(e,r){var o=j(this),i=P(e)?void 0:Q(e,t);return i?f(i,e,o,r):f(n,Wr(o),e,r)},function(t,o){var i=kt(this),a=Wr(t);if(!Wc){var u=r(n,i,a,o,n!==e);if(u.done)return u.value}var s=Cc(i,RegExp),c=i.unicode,f=new s(_c?"^(?:"+i.source+")":i,(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.unicode?"u":"")+(_c?"g":"y")),l=void 0===o?4294967295:o>>>0;if(0===l)return[];if(0===a.length)return null===yc(f,a)?[a]:[];for(var h=0,p=0,v=[];p0;(n>>>=1)&&(e+=e))1&n&&(r+=e);return r},Kc=b($c),Gc=b("".slice),Vc=Math.ceil,Yc=function(t){return function(e,r,n){var o,i,a=Wr(j(e)),u=ve(r),s=a.length,c=void 0===n?" ":Wr(n);return u<=s||""===c?a:((i=Kc(c,Vc((o=u-s)/c.length))).length>o&&(i=Gc(i,0,o)),t?a+i:i+a)}},Xc={start:Yc(!1),end:Yc(!0)},Jc=Xc.start,Qc=Array,Zc=RegExp.escape,tf=b("".charAt),ef=b("".charCodeAt),rf=b(1.1.toString),nf=b([].join),of=/^[0-9a-z]/i,af=/^[$()*+./?[\\\]^{|}]/,uf=RegExp("^[!\"#%&',\\-:;<=>@`~"+Mi+"]"),sf=b(of.exec),cf={"\t":"t","\n":"n","\v":"v","\f":"f","\r":"r"},ff=function(t){var e=rf(ef(t,0),16);return e.length<3?"\\x"+Jc(e,2,"0"):"\\u"+Jc(e,4,"0")},lf=!Zc||"\\x61b"!==Zc("ab");Ce({target:"RegExp",stat:!0,forced:lf},{escape:function(t){!function(t){if("string"==typeof t)return t;throw new qc("Argument is not a string")}(t);for(var e=t.length,r=Qc(e),n=0;n=56320||n+1>=e||56320!=(64512&ef(t,n+1))?r[n]=ff(o):(r[n]=o,r[++n]=tf(t,n))}}return nf(r,"")}}),To("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},Fo);var hf=Set.prototype,pf={Set:Set,add:b(hf.add),has:b(hf.has),remove:b(hf.delete),proto:hf},vf=pf.has,df=function(t){return vf(t),t},gf=pf.Set,yf=pf.proto,mf=b(yf.forEach),bf=b(yf.keys),wf=bf(new gf).next,Sf=function(t,e,r){return r?ci({iterator:bf(t),next:wf},e):mf(t,e)},Ef=pf.Set,Of=pf.add,xf=function(t){var e=new Ef;return Sf(t,function(t){Of(e,t)}),e},Rf=ln(pf.proto,"size","get")||function(t){return t.size},Pf="Invalid size",Af=RangeError,jf=TypeError,kf=Math.max,If=function(t,e){this.set=t,this.size=kf(e,0),this.has=J(t.has),this.keys=J(t.keys)};If.prototype={getIterator:function(){return{iterator:t=kt(f(this.keys,this.set)),next:t.next,done:!1};var t},includes:function(t){return f(this.has,this.set,t)}};var Tf=function(t){kt(t);var e=+t.size;if(e!=e)throw new jf(Pf);var r=ce(e);if(r<0)throw new Af(Pf);return new If(t,r)},Mf=pf.has,Lf=pf.remove,Uf=function(t){var e=df(this),r=Tf(t),n=xf(e);return Rf(e)<=r.size?Sf(e,function(t){r.includes(t)&&Lf(n,t)}):ci(r.getIterator(),function(t){Mf(e,t)&&Lf(n,t)}),n},Nf=function(t){return{size:t,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},Cf=function(t){var e=L("Set");try{(new e)[t](Nf(0));try{return(new e)[t](Nf(-1)),!1}catch(t){return!0}}catch(t){return!1}};Ce({target:"Set",proto:!0,real:!0,forced:!Cf("difference")},{difference:Uf});var _f=pf.Set,Ff=pf.add,Bf=pf.has,Df=function(t){var e=df(this),r=Tf(t),n=new _f;return Rf(e)>r.size?ci(r.getIterator(),function(t){Bf(e,t)&&Ff(n,t)}):Sf(e,function(t){r.includes(t)&&Ff(n,t)}),n},zf=!Cf("intersection")||a(function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))});Ce({target:"Set",proto:!0,real:!0,forced:zf},{intersection:Df});var Wf=pf.has,qf=function(t){var e=df(this),r=Tf(t);if(Rf(e)<=r.size)return!1!==Sf(e,function(t){if(r.includes(t))return!1},!0);var n=r.getIterator();return!1!==ci(n,function(t){if(Wf(e,t))return Tn(n,"normal",!1)})};Ce({target:"Set",proto:!0,real:!0,forced:!Cf("isDisjointFrom")},{isDisjointFrom:qf});var Hf=function(t){var e=df(this),r=Tf(t);return!(Rf(e)>r.size)&&!1!==Sf(e,function(t){if(!r.includes(t))return!1},!0)};Ce({target:"Set",proto:!0,real:!0,forced:!Cf("isSubsetOf")},{isSubsetOf:Hf});var $f=pf.has,Kf=function(t){var e=df(this),r=Tf(t);if(Rf(e)1?arguments[1]:void 0);return!1!==Sf(e,function(t){if(!r(t,t,e))return!1},!0)}});var el=dt("iterator"),rl=Object,nl=L("Set"),ol=function(t){return function(t){return M(t)&&"number"==typeof t.size&&T(t.has)&&T(t.keys)}(t)?t:function(t){if(P(t))return!1;var e=rl(t);return void 0!==e[el]||"@@iterator"in e||ut(un,pr(e))}(t)?new nl(t):t};Ce({target:"Set",proto:!0,real:!0,forced:!0},{difference:function(t){return f(Uf,this,ol(t))}});var il=pf.Set,al=pf.add;Ce({target:"Set",proto:!0,real:!0,forced:!0},{filter:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new il;return Sf(e,function(t){r(t,t,e)&&al(n,t)}),n}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{find:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=Sf(e,function(t){if(r(t,t,e))return{value:t}},!0);return n&&n.value}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{intersection:function(t){return f(Df,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{isDisjointFrom:function(t){return f(qf,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{isSubsetOf:function(t){return f(Hf,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{isSupersetOf:function(t){return f(Kf,this,ol(t))}});var ul=b([].join),sl=b([].push);Ce({target:"Set",proto:!0,real:!0,forced:!0},{join:function(t){var e=df(this),r=void 0===t?",":Wr(t),n=[];return Sf(e,function(t){sl(n,t)}),ul(n,r)}});var cl=pf.Set,fl=pf.add;Ce({target:"Set",proto:!0,real:!0,forced:!0},{map:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new cl;return Sf(e,function(t){fl(n,r(t,t,e))}),n}});var ll=TypeError;Ce({target:"Set",proto:!0,real:!0,forced:!0},{reduce:function(t){var e=df(this),r=arguments.length<2,n=r?void 0:arguments[1];if(J(t),Sf(e,function(o){r?(r=!1,n=o):n=t(n,o,o,e)}),r)throw new ll("Reduce of empty set with no initial value");return n}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{some:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0);return!0===Sf(e,function(t){if(r(t,t,e))return!0},!0)}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{symmetricDifference:function(t){return f(Xf,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{union:function(t){return f(Qf,this,ol(t))}});var hl=dt("species"),pl=dt("isConcatSpreadable"),vl=W>=51||!a(function(){var t=[];return t[pl]=!1,t.concat()[0]!==t}),dl=function(t){if(!M(t))return!1;var e=t[pl];return void 0!==e?!!e:ur(t)},gl=!(vl&&(W>=51||!a(function(){var t=[];return(t.constructor={})[hl]=function(){return{foo:1}},1!==t.concat(Boolean).foo})));Ce({target:"Array",proto:!0,arity:1,forced:gl},{concat:function(t){var e,r,n,o,i,a=it(this),u=xr(a,0),s=0;for(e=-1,n=arguments.length;e1?arguments[1]:void 0,n=e.length,o=void 0===r?n:ip(ve(r),n),i=Wr(t);return op(e,o-i.length,o)===i}}),Ze("String","endsWith");var sp=RangeError,cp=String.fromCharCode,fp=String.fromCodePoint,lp=b([].join);Ce({target:"String",stat:!0,arity:1,forced:!!fp&&1!==fp.length},{fromCodePoint:function(t){for(var e,r=[],n=arguments.length,o=0;n>o;){if(e=+arguments[o++],he(e,1114111)!==e)throw new sp(e+" is not a valid code point");r[o]=e<65536?cp(e):cp(55296+((e-=65536)>>10),e%1024+56320)}return lp(r,"")}});var hp=b("".indexOf);Ce({target:"String",proto:!0,forced:!rp("includes")},{includes:function(t){return!!~hp(Wr(j(this)),Wr(tp(t)),arguments.length>1?arguments[1]:void 0)}}),Ze("String","includes"),b(un.String);var pp=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(_),vp=Xc.start;Ce({target:"String",proto:!0,forced:pp},{padStart:function(t){return vp(this,t,arguments.length>1?arguments[1]:void 0)}}),Ze("String","padStart");var dp=Xc.end;Ce({target:"String",proto:!0,forced:pp},{padEnd:function(t){return dp(this,t,arguments.length>1?arguments[1]:void 0)}}),Ze("String","padEnd");var gp=b([].push),yp=b([].join);Ce({target:"String",stat:!0},{raw:function(t){var e=k(it(t).raw),r=de(e);if(!r)return"";for(var n=arguments.length,o=[],i=0;;){if(gp(o,Wr(e[i++])),i===r)return yp(o,"");i1?arguments[1]:void 0,e.length)),n=Wr(t);return bp(e,r,r+n.length)===n}}),Ze("String","startsWith");var Op=zt.PROPER,xp=function(t){return a(function(){return!!Mi[t]()||"​…᠎"!=="​…᠎"[t]()||Op&&Mi[t].name!==t})},Rp=_i.start,Pp=xp("trimStart")?function(){return Rp(this)}:"".trimStart;Ce({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==Pp},{trimLeft:Pp}),Ce({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==Pp},{trimStart:Pp}),Ze("String","trimLeft");var Ap=_i.end,jp=xp("trimEnd")?function(){return Ap(this)}:"".trimEnd;Ce({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==jp},{trimRight:jp}),Ce({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==jp},{trimEnd:jp}),Ze("String","trimRight");var kp=Object.getOwnPropertyDescriptor,Ip=function(t){if(!u)return i[t];var e=kp(i,t);return e&&e.value},Tp=dt("iterator"),Mp=!a(function(){var t=new URL("b?a=1&b=2&c=3","https://a"),e=t.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),n="";return t.pathname="c%20d",e.forEach(function(t,r){e.delete("b"),n+=r+t}),r.delete("a",2),r.delete("b",void 0),!e.size&&!u||!e.sort||"https://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[Tp]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==n||"x"!==new URL("https://x",void 0).host}),Lp=TypeError,Up=function(t,e){if(t0;)t[o]=t[--o];o!==i++&&(t[o]=n)}else for(var a=Np(r/2),u=Cp(vo(t,0,a),e),s=Cp(vo(t,a),e),c=u.length,f=s.length,l=0,h=0;l0&&0!=(t&r);r>>=1)e++;return e},pv=function(t){var e=null;switch(t.length){case 1:e=t[0];break;case 2:e=(31&t[0])<<6|63&t[1];break;case 3:e=(15&t[0])<<12|(63&t[1])<<6|63&t[2];break;case 4:e=(7&t[0])<<18|(63&t[1])<<12|(63&t[2])<<6|63&t[3]}return e>1114111?null:e},vv=function(t){for(var e=(t=nv(t,cv," ")).length,r="",n=0;ne){r+="%",n++;continue}var i=lv(t,n+1);if(i!=i){r+=o,n++;continue}n+=2;var a=hv(i);if(0===a)o=Jp(i);else{if(1===a||a>4){r+="�",n++;continue}for(var u=[i],s=1;se||"%"!==tv(t,n));){var c=lv(t,n+1);if(c!=c){n+=3;break}if(c>191||c<128)break;rv(u,c),n+=2,s++}if(u.length!==a){r+="�";continue}var f=pv(u);null===f?r+="�":o=Qp(f)}}r+=o,n++}return r},dv=/[!'()~]|%20/g,gv={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},yv=function(t){return gv[t]},mv=function(t){return nv(Xp(t),dv,yv)},bv=fn(function(t,e){zp(this,{type:Dp,target:Wp(t).entries,index:0,kind:e})},Bp,function(){var t=qp(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,Pn(void 0,!0);var n=e[r];switch(t.kind){case"keys":return Pn(n.key,!1);case"values":return Pn(n.value,!1)}return Pn([n.key,n.value],!1)},!0),wv=function(t){this.entries=[],this.url=null,void 0!==t&&(M(t)?this.parseObject(t):this.parseQuery("string"==typeof t?"?"===tv(t,0)?uv(t,1):t:Wr(t)))};wv.prototype={type:Bp,bindURL:function(t){this.url=t,this.update()},parseObject:function(t){var e,r,n,o,i,a,u,s=this.entries,c=Fn(t);if(c)for(r=(e=Dn(t,c)).next;!(n=f(r,e)).done;){if(o=Dn(kt(n.value)),(a=f(i=o.next,o)).done||(u=f(i,o)).done||!f(i,o).done)throw new Yp("Expected sequence with length 2");rv(s,{key:Wr(a.value),value:Wr(u.value)})}else for(var l in t)ut(t,l)&&rv(s,{key:l,value:Wr(t[l])})},parseQuery:function(t){if(t)for(var e,r,n=this.entries,o=av(t,"&"),i=0;i0?arguments[0]:void 0));u||(this.size=t.entries.length)},Ev=Sv.prototype;if(Mo(Ev,{append:function(t,e){var r=Wp(this);Up(arguments.length,2),rv(r.entries,{key:Wr(t),value:Wr(e)}),u||this.length++,r.updateURL()},delete:function(t){for(var e=Wp(this),r=Up(arguments.length,1),n=e.entries,o=Wr(t),i=r<2?void 0:arguments[1],a=void 0===i?i:Wr(i),s=0;se.key?1:-1}),t.updateURL()},forEach:function(t){for(var e,r=Wp(this).entries,n=ar(t,arguments.length>1?arguments[1]:void 0),o=0;o1?Rv(arguments[1]):{})}}),T($p)){var Pv=function(t){return ko(this,Gp),new $p(t,arguments.length>1?Rv(arguments[1]):{})};Gp.constructor=Pv,Pv.prototype=Gp,Ce({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Pv})}}var Av={URLSearchParams:Sv,getState:Wp},jv=URLSearchParams,kv=jv.prototype,Iv=b(kv.append),Tv=b(kv.delete),Mv=b(kv.forEach),Lv=b([].push),Uv=new jv("a=1&a=2&b=3");Uv.delete("a",1),Uv.delete("b",void 0),Uv+""!="a=2"&&ie(kv,"delete",function(t){var e=arguments.length,r=e<2?void 0:arguments[1];if(e&&void 0===r)return Tv(this,t);var n=[];Mv(this,function(t,e){Lv(n,{key:e,value:t})}),Up(e,1);for(var o,i=Wr(t),a=Wr(r),u=0,s=0,c=!1,f=n.length;uo;)for(var s,c=R(arguments[o++]),l=i?$v(_e(c),i(c)):_e(c),h=l.length,p=0;h>p;)s=l[p++],u&&!f(a,c,s)||(r[s]=c[s]);return r}:qv,Gv=2147483647,Vv=/[^\0-\u007E]/,Yv=/[.\u3002\uFF0E\uFF61]/g,Xv="Overflow: input needs wider integers to process",Jv=RangeError,Qv=b(Yv.exec),Zv=Math.floor,td=String.fromCharCode,ed=b("".charCodeAt),rd=b([].join),nd=b([].push),od=b("".replace),id=b("".split),ad=b("".toLowerCase),ud=function(t){return t+22+75*(t<26)},sd=function(t,e,r){var n=0;for(t=r?Zv(t/700):t>>1,t+=Zv(t/e);t>455;)t=Zv(t/35),n+=36;return Zv(n+36*t/(t+38))},cd=function(t){var e=[];t=function(t){for(var e=[],r=0,n=t.length;r=55296&&o<=56319&&r=i&&nZv((Gv-a)/l))throw new Jv(Xv);for(a+=(f-i)*l,i=f,r=0;rGv)throw new Jv(Xv);if(n===i){for(var h=a,p=36;;){var v=p<=u?1:p>=u+26?26:p-u;if(h?@[\\\]^|]/,qd=/[\0\t\n\r #/:<>?@[\\\]^|]/,Hd=/^[\u0000-\u0020]+/,$d=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,Kd=/[\t\n\r]/g,Gd=function(t){var e,r,n,o;if("number"==typeof t){for(e=[],r=0;r<4;r++)Td(e,t%256),t=md(t/256);return Ed(e,".")}if("object"==typeof t){for(e="",n=function(t){for(var e=null,r=1,n=null,o=0,i=0;i<8;i++)0!==t[i]?(o>r&&(e=n,r=o),n=null,o=0):(null===n&&(n=i),++o);return o>r?n:e}(t),r=0;r<8;r++)o&&0===t[r]||(o&&(o=!1),n===r?(e+=r?":":"::",o=!0):(e+=Od(t[r],16),r<7&&(e+=":")));return"["+e+"]"}return t},Vd={},Yd=Kv({},Vd,{" ":1,'"':1,"<":1,">":1,"`":1}),Xd=Kv({},Yd,{"#":1,"?":1,"{":1,"}":1}),Jd=Kv({},Xd,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Qd=function(t,e){var r=fd(t,0);return r>32&&r<127&&!ut(e,t)?t:encodeURIComponent(t)},Zd={ftp:21,file:null,http:80,https:443,ws:80,wss:443},tg=function(t,e){var r;return 2===t.length&&Sd(Nd,wd(t,0))&&(":"===(r=wd(t,1))||!e&&"|"===r)},eg=function(t){var e;return t.length>1&&tg(kd(t,0,2))&&(2===t.length||"/"===(e=wd(t,2))||"\\"===e||"?"===e||"#"===e)},rg=function(t){return"."===t||"%2e"===Id(t)},ng={},og={},ig={},ag={},ug={},sg={},cg={},fg={},lg={},hg={},pg={},vg={},dg={},gg={},yg={},mg={},bg={},wg={},Sg={},Eg={},Og={},xg=function(t,e,r){var n,o,i,a=Wr(t);if(e){if(o=this.parse(a))throw new gd(o);this.searchParams=null}else{if(void 0!==r&&(n=new xg(r,!0)),o=this.parse(a,null,n))throw new gd(o);(i=vd(new pd)).bindURL(this),this.searchParams=i}};xg.prototype={type:"URL",parse:function(t,e,r){var n,o,i,a,u,s=this,c=e||ng,f=0,l="",h=!1,p=!1,v=!1;for(t=Wr(t),e||(s.scheme="",s.username="",s.password="",s.host=null,s.port=null,s.path=[],s.query=null,s.fragment=null,s.cannotBeABaseURL=!1,t=Pd(t,Hd,""),t=Pd(t,$d,"$1")),t=Pd(t,Kd,""),n=Wn(t);f<=n.length;){switch(o=n[f],c){case ng:if(!o||!Sd(Nd,o)){if(e)return Md;c=ig;continue}l+=Id(o),c=og;break;case og:if(o&&(Sd(Cd,o)||"+"===o||"-"===o||"."===o))l+=Id(o);else{if(":"!==o){if(e)return Md;l="",c=ig,f=0;continue}if(e&&(s.isSpecial()!==ut(Zd,l)||"file"===l&&(s.includesCredentials()||null!==s.port)||"file"===s.scheme&&!s.host))return;if(s.scheme=l,e)return void(s.isSpecial()&&Zd[s.scheme]===s.port&&(s.port=null));l="","file"===s.scheme?c=gg:s.isSpecial()&&r&&r.scheme===s.scheme?c=ag:s.isSpecial()?c=fg:"/"===n[f+1]?(c=ug,f++):(s.cannotBeABaseURL=!0,Rd(s.path,""),c=Sg)}break;case ig:if(!r||r.cannotBeABaseURL&&"#"!==o)return Md;if(r.cannotBeABaseURL&&"#"===o){s.scheme=r.scheme,s.path=vo(r.path),s.query=r.query,s.fragment="",s.cannotBeABaseURL=!0,c=Og;break}c="file"===r.scheme?gg:sg;continue;case ag:if("/"!==o||"/"!==n[f+1]){c=sg;continue}c=lg,f++;break;case ug:if("/"===o){c=hg;break}c=wg;continue;case sg:if(s.scheme=r.scheme,o===Wv)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.query=r.query;else if("/"===o||"\\"===o&&s.isSpecial())c=cg;else if("?"===o)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.query="",c=Eg;else{if("#"!==o){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.path.length--,c=wg;continue}s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.query=r.query,s.fragment="",c=Og}break;case cg:if(!s.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,c=wg;continue}c=hg}else c=lg;break;case fg:if(c=lg,"/"!==o||"/"!==wd(l,f+1))continue;f++;break;case lg:if("/"!==o&&"\\"!==o){c=hg;continue}break;case hg:if("@"===o){h&&(l="%40"+l),h=!0,i=Wn(l);for(var d=0;d65535)return Ud;s.port=s.isSpecial()&&m===Zd[s.scheme]?null:m,l=""}if(e)return;c=bg;continue}return Ud}l+=o;break;case gg:if(s.scheme="file","/"===o||"\\"===o)c=yg;else{if(!r||"file"!==r.scheme){c=wg;continue}switch(o){case Wv:s.host=r.host,s.path=vo(r.path),s.query=r.query;break;case"?":s.host=r.host,s.path=vo(r.path),s.query="",c=Eg;break;case"#":s.host=r.host,s.path=vo(r.path),s.query=r.query,s.fragment="",c=Og;break;default:eg(Ed(vo(n,f),""))||(s.host=r.host,s.path=vo(r.path),s.shortenPath()),c=wg;continue}}break;case yg:if("/"===o||"\\"===o){c=mg;break}r&&"file"===r.scheme&&!eg(Ed(vo(n,f),""))&&(tg(r.path[0],!0)?Rd(s.path,r.path[0]):s.host=r.host),c=wg;continue;case mg:if(o===Wv||"/"===o||"\\"===o||"?"===o||"#"===o){if(!e&&tg(l))c=wg;else if(""===l){if(s.host="",e)return;c=bg}else{if(a=s.parseHost(l))return a;if("localhost"===s.host&&(s.host=""),e)return;l="",c=bg}continue}l+=o;break;case bg:if(s.isSpecial()){if(c=wg,"/"!==o&&"\\"!==o)continue}else if(e||"?"!==o)if(e||"#"!==o){if(o!==Wv&&(c=wg,"/"!==o))continue}else s.fragment="",c=Og;else s.query="",c=Eg;break;case wg:if(o===Wv||"/"===o||"\\"===o&&s.isSpecial()||!e&&("?"===o||"#"===o)){if(".."===(u=Id(u=l))||"%2e."===u||".%2e"===u||"%2e%2e"===u?(s.shortenPath(),"/"===o||"\\"===o&&s.isSpecial()||Rd(s.path,"")):rg(l)?"/"===o||"\\"===o&&s.isSpecial()||Rd(s.path,""):("file"===s.scheme&&!s.path.length&&tg(l)&&(s.host&&(s.host=""),l=wd(l,0)+":"),Rd(s.path,l)),l="","file"===s.scheme&&(o===Wv||"?"===o||"#"===o))for(;s.path.length>1&&""===s.path[0];)Ad(s.path);"?"===o?(s.query="",c=Eg):"#"===o&&(s.fragment="",c=Og)}else l+=Qd(o,Xd);break;case Sg:"?"===o?(s.query="",c=Eg):"#"===o?(s.fragment="",c=Og):o!==Wv&&(s.path[0]+=Qd(o,Vd));break;case Eg:e||"#"!==o?o!==Wv&&("'"===o&&s.isSpecial()?s.query+="%27":s.query+="#"===o?"%23":Qd(o,Vd)):(s.fragment="",c=Og);break;case Og:o!==Wv&&(s.fragment+=Qd(o,Yd))}f++}},parseHost:function(t){var e,r,n;if("["===wd(t,0)){if("]"!==wd(t,t.length-1))return Ld;if(e=function(t){var e,r,n,o,i,a,u,s=[0,0,0,0,0,0,0,0],c=0,f=null,l=0,h=function(){return wd(t,l)};if(":"===h()){if(":"!==wd(t,1))return;l+=2,f=++c}for(;h();){if(8===c)return;if(":"!==h()){for(e=r=0;r<4&&Sd(zd,h());)e=16*e+yd(h(),16),l++,r++;if("."===h()){if(0===r)return;if(l-=r,c>6)return;for(n=0;h();){if(o=null,n>0){if(!("."===h()&&n<4))return;l++}if(!Sd(_d,h()))return;for(;Sd(_d,h());){if(i=yd(h(),10),null===o)o=i;else{if(0===o)return;o=10*o+i}if(o>255)return;l++}s[c]=256*s[c]+o,2!=++n&&4!==n||c++}if(4!==n)return;break}if(":"===h()){if(l++,!h())return}else if(h())return;s[c++]=e}else{if(null!==f)return;l++,f=++c}}if(null!==f)for(a=c-f,c=7;0!==c&&a>0;)u=s[c],s[c--]=s[f+a-1],s[f+--a]=u;else if(8!==c)return;return s}(kd(t,1,-1)),!e)return Ld;this.host=e}else if(this.isSpecial()){if(t=function(t){var e,r,n=[],o=id(od(ad(t),Yv,"."),".");for(e=0;e4)return t;for(r=[],n=0;n1&&"0"===wd(o,0)&&(i=Sd(Fd,o)?16:8,o=kd(o,8===i?1:2)),""===o)a=0;else{if(!Sd(10===i?Dd:8===i?Bd:zd,o))return t;a=yd(o,i)}Rd(r,a)}for(n=0;n=bd(256,5-e))return null}else if(a>255)return null;for(u=xd(r),n=0;n1?arguments[1]:void 0,n=ld(e,new xg(t,!1,r));u||(e.href=n.serialize(),e.origin=n.getOrigin(),e.protocol=n.getProtocol(),e.username=n.getUsername(),e.password=n.getPassword(),e.host=n.getHost(),e.hostname=n.getHostname(),e.port=n.getPort(),e.pathname=n.getPathname(),e.search=n.getSearch(),e.searchParams=n.getSearchParams(),e.hash=n.getHash())},Pg=Rg.prototype,Ag=function(t,e){return{get:function(){return hd(this)[t]()},set:e&&function(t){return hd(this)[e](t)},configurable:!0,enumerable:!0}};if(u&&(so(Pg,"href",Ag("serialize","setHref")),so(Pg,"origin",Ag("getOrigin")),so(Pg,"protocol",Ag("getProtocol","setProtocol")),so(Pg,"username",Ag("getUsername","setUsername")),so(Pg,"password",Ag("getPassword","setPassword")),so(Pg,"host",Ag("getHost","setHost")),so(Pg,"hostname",Ag("getHostname","setHostname")),so(Pg,"port",Ag("getPort","setPort")),so(Pg,"pathname",Ag("getPathname","setPathname")),so(Pg,"search",Ag("getSearch","setSearch")),so(Pg,"searchParams",Ag("getSearchParams")),so(Pg,"hash",Ag("getHash","setHash"))),ie(Pg,"toJSON",function(){return hd(this).serialize()},{enumerable:!0}),ie(Pg,"toString",function(){return hd(this).serialize()},{enumerable:!0}),dd){var jg=dd.createObjectURL,kg=dd.revokeObjectURL;jg&&ie(Rg,"createObjectURL",ar(jg,dd)),kg&&ie(Rg,"revokeObjectURL",ar(kg,dd))}an(Rg,"URL"),Ce({global:!0,constructor:!0,forced:!Mp,sham:!u},{URL:Rg});var Ig=L("URL"),Tg=Mp&&a(function(){Ig.canParse()}),Mg=a(function(){return 1!==Ig.canParse.length});Ce({target:"URL",stat:!0,forced:!Tg||Mg},{canParse:function(t){var e=Up(arguments.length,1),r=Wr(t),n=e<2||void 0===arguments[1]?void 0:Wr(arguments[1]);try{return!!new Ig(r,n)}catch(t){return!1}}});var Lg=L("URL");Ce({target:"URL",stat:!0,forced:!Mp},{parse:function(t){var e=Up(arguments.length,1),r=Wr(t),n=e<2||void 0===arguments[1]?void 0:Wr(arguments[1]);try{return new Lg(r,n)}catch(t){return null}}}),Ce({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return f(URL.prototype.toString,this)}});var Ug=WeakMap.prototype,Ng={WeakMap:WeakMap,set:b(Ug.set),get:b(Ug.get),has:b(Ug.has),remove:b(Ug.delete)},Cg=Ng.has,_g=function(t){return Cg(t),t},Fg=Ng.get,Bg=Ng.has,Dg=Ng.set;Ce({target:"WeakMap",proto:!0,real:!0,forced:!0},{emplace:function(t,e){var r,n,o=_g(this);return Bg(o,t)?(r=Fg(o,t),"update"in e&&(r=e.update(r,t,o),Dg(o,t,r)),r):(n=e.insert(t,o),Dg(o,t,n),n)}}),Ce({target:"WeakMap",stat:!0,forced:!0},{from:ei(Ng.WeakMap,Ng.set,!0)}),Ce({target:"WeakMap",stat:!0,forced:!0},{of:ri(Ng.WeakMap,Ng.set,!0)});var zg=Ng.remove;Ce({target:"WeakMap",proto:!0,real:!0,forced:!0},{deleteAll:function(){for(var t,e=_g(this),r=!0,n=0,o=arguments.length;n2&&(n=r,M(o=arguments[2])&&"cause"in o&&_t(n,"cause",o.cause));var s=[];return Ao(t,ny,{that:s}),_t(r,"errors",s),r};dn?dn(oy,ry):Ae(oy,ry,{name:!0});var iy=oy.prototype=Ve(ry.prototype,{constructor:d(1,oy),message:d(1,""),name:d(1,"AggregateError")});Ce({global:!0,constructor:!0,arity:2},{AggregateError:oy});var ay,uy,sy,cy,fy=function(t){return _.slice(0,t.length)===t},ly=fy("Bun/")?"BUN":fy("Cloudflare-Workers")?"CLOUDFLARE":fy("Deno/")?"DENO":fy("Node.js/")?"NODE":i.Bun&&"string"==typeof Bun.version?"BUN":i.Deno&&"object"==typeof Deno.version?"DENO":"process"===E(i.process)?"NODE":i.window&&i.document?"BROWSER":"REST",hy="NODE"===ly,py=/(?:ipad|iphone|ipod).*applewebkit/i.test(_),vy=i.setImmediate,dy=i.clearImmediate,gy=i.process,yy=i.Dispatch,my=i.Function,by=i.MessageChannel,wy=i.String,Sy=0,Ey={},Oy="onreadystatechange";a(function(){ay=i.location});var xy=function(t){if(ut(Ey,t)){var e=Ey[t];delete Ey[t],e()}},Ry=function(t){return function(){xy(t)}},Py=function(t){xy(t.data)},Ay=function(t){i.postMessage(wy(t),ay.protocol+"//"+ay.host)};vy&&dy||(vy=function(t){Up(arguments.length,1);var e=T(t)?t:my(t),r=vo(arguments,1);return Ey[++Sy]=function(){Ra(e,void 0,r)},uy(Sy),Sy},dy=function(t){delete Ey[t]},hy?uy=function(t){gy.nextTick(Ry(t))}:yy&&yy.now?uy=function(t){yy.now(Ry(t))}:by&&!py?(cy=(sy=new by).port2,sy.port1.onmessage=Py,uy=ar(cy.postMessage,cy)):i.addEventListener&&T(i.postMessage)&&!i.importScripts&&ay&&"file:"!==ay.protocol&&!a(Ay)?(uy=Ay,i.addEventListener("message",Py,!1)):uy=Oy in Et("script")?function(t){De.appendChild(Et("script"))[Oy]=function(){De.removeChild(this),xy(t)}}:function(t){setTimeout(Ry(t),0)});var jy={set:vy,clear:dy},ky=function(){this.head=null,this.tail=null};ky.prototype={add:function(t){var e={item:t,next:null},r=this.tail;r?r.next=e:this.head=e,this.tail=e},get:function(){var t=this.head;if(t)return null===(this.head=t.next)&&(this.tail=null),t.item}};var Iy,Ty,My,Ly,Uy,Ny=ky,Cy=/ipad|iphone|ipod/i.test(_)&&"undefined"!=typeof Pebble,_y=/web0s(?!.*chrome)/i.test(_),Fy=jy.set,By=i.MutationObserver||i.WebKitMutationObserver,Dy=i.document,zy=i.process,Wy=i.Promise,qy=Ip("queueMicrotask");if(!qy){var Hy=new Ny,$y=function(){var t,e;for(hy&&(t=zy.domain)&&t.exit();e=Hy.get();)try{e()}catch(t){throw Hy.head&&Iy(),t}t&&t.enter()};py||hy||_y||!By||!Dy?!Cy&&Wy&&Wy.resolve?((Ly=Wy.resolve(void 0)).constructor=Wy,Uy=ar(Ly.then,Ly),Iy=function(){Uy($y)}):hy?Iy=function(){zy.nextTick($y)}:(Fy=ar(Fy,i),Iy=function(){Fy($y)}):(Ty=!0,My=Dy.createTextNode(""),new By($y).observe(My,{characterData:!0}),Iy=function(){My.data=Ty=!Ty}),qy=function(t){Hy.head||Iy(),Hy.add(t)}}var Ky,Gy,Vy,Yy=qy,Xy=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Jy=i.Promise,Qy=dt("species"),Zy=!1,tm=T(i.PromiseRejectionEvent),em=Ue("Promise",function(){var t=Kt(Jy),e=t!==String(Jy);if(!e&&66===W)return!0;if(!W||W<51||!/native code/.test(t)){var r=new Jy(function(t){t(1)}),n=function(t){t(function(){},function(){})};if((r.constructor={})[Qy]=n,!(Zy=r.then(function(){})instanceof n))return!0}return!(e||"BROWSER"!==ly&&"DENO"!==ly||tm)}),rm={CONSTRUCTOR:em,REJECTION_EVENT:tm,SUBCLASSING:Zy},nm=TypeError,om=function(t){var e,r;this.promise=new t(function(t,n){if(void 0!==e||void 0!==r)throw new nm("Bad Promise constructor");e=t,r=n}),this.resolve=J(e),this.reject=J(r)},im={f:function(t){return new om(t)}},am=jy.set,um="Promise",sm=rm.CONSTRUCTOR,cm=rm.REJECTION_EVENT,fm=rm.SUBCLASSING,lm=ne.getterFor(um),hm=ne.set,pm=Jy&&Jy.prototype,vm=Jy,dm=pm,gm=i.TypeError,ym=i.document,mm=i.process,bm=im.f,wm=bm,Sm=!!(ym&&ym.createEvent&&i.dispatchEvent),Em="unhandledrejection",Om=function(t){var e;return!(!M(t)||!T(e=t.then))&&e},xm=function(t,e){var r,n,o,i=e.value,a=1===e.state,u=a?t.ok:t.fail,s=t.resolve,c=t.reject,l=t.domain;try{u?(a||(2===e.rejection&&km(e),e.rejection=1),!0===u?r=i:(l&&l.enter(),r=u(i),l&&(l.exit(),o=!0)),r===t.promise?c(new gm("Promise-chain cycle")):(n=Om(r))?f(n,r,s,c):s(r)):c(i)}catch(t){l&&!o&&l.exit(),c(t)}},Rm=function(t,e){t.notified||(t.notified=!0,Yy(function(){for(var r,n=t.reactions;r=n.get();)xm(r,t);t.notified=!1,e&&!t.rejection&&Am(t)}))},Pm=function(t,e,r){var n,o;Sm?((n=ym.createEvent("Event")).promise=e,n.reason=r,n.initEvent(t,!1,!0),i.dispatchEvent(n)):n={promise:e,reason:r},!cm&&(o=i["on"+t])?o(n):t===Em&&function(t,e){try{1===arguments.length?console.error(t):console.error(t,e)}catch(t){}}("Unhandled promise rejection",r)},Am=function(t){f(am,i,function(){var e,r=t.facade,n=t.value;if(jm(t)&&(e=Xy(function(){hy?mm.emit("unhandledRejection",n,r):Pm(Em,r,n)}),t.rejection=hy||jm(t)?2:1,e.error))throw e.value})},jm=function(t){return 1!==t.rejection&&!t.parent},km=function(t){f(am,i,function(){var e=t.facade;hy?mm.emit("rejectionHandled",e):Pm("rejectionhandled",e,t.value)})},Im=function(t,e,r){return function(n){t(e,n,r)}},Tm=function(t,e,r){t.done||(t.done=!0,r&&(t=r),t.value=e,t.state=2,Rm(t,!0))},Mm=function(t,e,r){if(!t.done){t.done=!0,r&&(t=r);try{if(t.facade===e)throw new gm("Promise can't be resolved itself");var n=Om(e);n?Yy(function(){var r={done:!1};try{f(n,e,Im(Mm,r,t),Im(Tm,r,t))}catch(e){Tm(r,e,t)}}):(t.value=e,t.state=1,Rm(t,!1))}catch(e){Tm({done:!1},e,t)}}};if(sm&&(vm=function(t){ko(this,dm),J(t),f(Ky,this);var e=lm(this);try{t(Im(Mm,e),Im(Tm,e))}catch(t){Tm(e,t)}},(Ky=function(t){hm(this,{type:um,done:!1,notified:!1,parent:!1,reactions:new Ny,rejection:!1,state:0,value:null})}).prototype=ie(dm=vm.prototype,"then",function(t,e){var r=lm(this),n=bm(Cc(this,vm));return r.parent=!0,n.ok=!T(t)||t,n.fail=T(e)&&e,n.domain=hy?mm.domain:void 0,0===r.state?r.reactions.add(n):Yy(function(){xm(n,r)}),n.promise}),Gy=function(){var t=new Ky,e=lm(t);this.promise=t,this.resolve=Im(Mm,e),this.reject=Im(Tm,e)},im.f=bm=function(t){return t===vm||void 0===t?new Gy(t):wm(t)},T(Jy)&&pm!==Object.prototype)){Vy=pm.then,fm||ie(pm,"then",function(t,e){var r=this;return new vm(function(t,e){f(Vy,r,t,e)}).then(t,e)},{unsafe:!0});try{delete pm.constructor}catch(t){}dn&&dn(pm,dm)}Ce({global:!0,constructor:!0,wrap:!0,forced:sm},{Promise:vm}),an(vm,um,!1),Uo(um);var Lm=rm.CONSTRUCTOR||!Gn(function(t){Jy.all(t).then(void 0,function(){})});Ce({target:"Promise",stat:!0,forced:Lm},{all:function(t){var e=this,r=im.f(e),n=r.resolve,o=r.reject,i=Xy(function(){var r=J(e.resolve),i=[],a=0,u=1;Ao(t,function(t){var s=a++,c=!1;u++,f(r,e,t).then(function(t){c||(c=!0,i[s]=t,--u||n(i))},o)}),--u||n(i)});return i.error&&o(i.value),r.promise}});var Um=Jy&&Jy.prototype;if(Ce({target:"Promise",proto:!0,forced:rm.CONSTRUCTOR,real:!0},{catch:function(t){return this.then(void 0,t)}}),T(Jy)){var Nm=L("Promise").prototype.catch;Um.catch!==Nm&&ie(Um,"catch",Nm,{unsafe:!0})}Ce({target:"Promise",stat:!0,forced:Lm},{race:function(t){var e=this,r=im.f(e),n=r.reject,o=Xy(function(){var o=J(e.resolve);Ao(t,function(t){f(o,e,t).then(r.resolve,n)})});return o.error&&n(o.value),r.promise}}),Ce({target:"Promise",stat:!0,forced:rm.CONSTRUCTOR},{reject:function(t){var e=im.f(this);return(0,e.reject)(t),e.promise}});var Cm=function(t,e){if(kt(t),M(e)&&e.constructor===t)return e;var r=im.f(t);return(0,r.resolve)(e),r.promise};Ce({target:"Promise",stat:!0,forced:rm.CONSTRUCTOR},{resolve:function(t){return Cm(this,t)}}),Ce({target:"Promise",stat:!0,forced:Lm},{allSettled:function(t){var e=this,r=im.f(e),n=r.resolve,o=r.reject,i=Xy(function(){var r=J(e.resolve),o=[],i=0,a=1;Ao(t,function(t){var u=i++,s=!1;a++,f(r,e,t).then(function(t){s||(s=!0,o[u]={status:"fulfilled",value:t},--a||n(o))},function(t){s||(s=!0,o[u]={status:"rejected",reason:t},--a||n(o))})}),--a||n(o)});return i.error&&o(i.value),r.promise}});var _m="No one promise resolved";Ce({target:"Promise",stat:!0,forced:Lm},{any:function(t){var e=this,r=L("AggregateError"),n=im.f(e),o=n.resolve,i=n.reject,a=Xy(function(){var n=J(e.resolve),a=[],u=0,s=1,c=!1;Ao(t,function(t){var l=u++,h=!1;s++,f(n,e,t).then(function(t){h||c||(c=!0,o(t))},function(t){h||c||(h=!0,a[l]=t,--s||i(new r(a,_m)))})}),--s||i(new r(a,_m))});return a.error&&i(a.value),n.promise}}),Ce({target:"Promise",stat:!0},{withResolvers:function(){var t=im.f(this);return{promise:t.promise,resolve:t.resolve,reject:t.reject}}});var Fm=Jy&&Jy.prototype,Bm=!!Jy&&a(function(){Fm.finally.call({then:function(){}},function(){})});if(Ce({target:"Promise",proto:!0,real:!0,forced:Bm},{finally:function(t){var e=Cc(this,L("Promise")),r=T(t);return this.then(r?function(r){return Cm(e,t()).then(function(){return r})}:t,r?function(r){return Cm(e,t()).then(function(){throw r})}:t)}}),T(Jy)){var Dm=L("Promise").prototype.finally;Fm.finally!==Dm&&ie(Fm,"finally",Dm,{unsafe:!0})}var zm=i.Promise,Wm=!1,qm=!zm||!zm.try||Xy(function(){zm.try(function(t){Wm=8===t},8)}).error||!Wm;Ce({target:"Promise",stat:!0,forced:qm},{try:function(t){var e=arguments.length>1?vo(arguments,1):[],r=im.f(this),n=Xy(function(){return Ra(J(t),void 0,e)});return(n.error?r.reject:r.resolve)(n.value),r.promise}}),Ze("Promise","finally");var Hm="URLSearchParams"in self,$m="Symbol"in self&&"iterator"in Symbol,Km="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(t){return!1}}(),Gm="FormData"in self,Vm="ArrayBuffer"in self;if(Vm)var Ym=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],Xm=ArrayBuffer.isView||function(t){return t&&Ym.indexOf(Object.prototype.toString.call(t))>-1};function Jm(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function Qm(t){return"string"!=typeof t&&(t=String(t)),t}function Zm(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return $m&&(e[Symbol.iterator]=function(){return e}),e}function tb(t){this.map={},t instanceof tb?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function eb(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function rb(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function nb(t){var e=new FileReader,r=rb(e);return e.readAsArrayBuffer(t),r}function ob(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function ib(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:Km&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:Gm&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:Hm&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():Vm&&Km&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=ob(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):Vm&&(ArrayBuffer.prototype.isPrototypeOf(t)||Xm(t))?this._bodyArrayBuffer=ob(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):Hm&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},Km&&(this.blob=function(){var t=eb(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?eb(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(nb)}),this.text=function(){var t=eb(this);if(t)return t;if(this._bodyBlob)return function(t){var e=new FileReader,r=rb(e);return e.readAsText(t),r}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?e:t}(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function sb(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}}),e}function cb(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new tb(e.headers),this.url=e.url||"",this._initBody(t)}ub.prototype.clone=function(){return new ub(this,{body:this._bodyInit})},ib.call(ub.prototype),ib.call(cb.prototype),cb.prototype.clone=function(){return new cb(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new tb(this.headers),url:this.url})},cb.error=function(){var t=new cb(null,{status:0,statusText:""});return t.type="error",t};var fb=[301,302,303,307,308];cb.redirect=function(t,e){if(-1===fb.indexOf(e))throw new RangeError("Invalid status code");return new cb(null,{status:e,headers:{location:t}})};var lb=self.DOMException;try{new lb}catch(t){(lb=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),lb.prototype.constructor=lb}function hb(t,e){return new Promise(function(r,n){var o=new ub(t,e);if(o.signal&&o.signal.aborted)return n(new lb("Aborted","AbortError"));var i=new XMLHttpRequest;function a(){i.abort()}i.onload=function(){var t,e,n={status:i.status,statusText:i.statusText,headers:(t=i.getAllResponseHeaders()||"",e=new tb,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}}),e)};n.url="responseURL"in i?i.responseURL:n.headers.get("X-Request-URL"),r(new cb("response"in i?i.response:i.responseText,n))},i.onerror=function(){n(new TypeError("Network request failed"))},i.ontimeout=function(){n(new TypeError("Network request failed"))},i.onabort=function(){n(new lb("Aborted","AbortError"))},i.open(o.method,o.url,!0),"include"===o.credentials?i.withCredentials=!0:"omit"===o.credentials&&(i.withCredentials=!1),"responseType"in i&&Km&&(i.responseType="blob"),o.headers.forEach(function(t,e){i.setRequestHeader(e,t)}),o.signal&&(o.signal.addEventListener("abort",a),i.onreadystatechange=function(){4===i.readyState&&o.signal.removeEventListener("abort",a)}),i.send(void 0===o._bodyInit?null:o._bodyInit)})}hb.polyfill=!0,self.fetch||(self.fetch=hb,self.Headers=tb,self.Request=ub,self.Response=cb);var pb=Object.getOwnPropertySymbols,vb=Object.prototype.hasOwnProperty,db=Object.prototype.propertyIsEnumerable,gb=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(t){n[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,n,o=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),i=1;i{"use strict";var e={},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}},i=!0;try{e[o](a,a.exports,r),i=!1}finally{i&&delete t[o]}return a.exports}r.m=e,(()=>{var e=[];r.O=(t,o,n,a)=>{if(o){a=a||0;for(var i=e.length;i>0&&e[i-1][2]>a;i--)e[i]=e[i-1];e[i]=[o,n,a];return}for(var u=1/0,i=0;i=a)&&Object.keys(r.O).every(e=>r.O[e](o[c]))?o.splice(c--,1):(l=!1,a{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var a=Object.create(null);r.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var u=2&n&&o;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach(e=>i[e]=()=>o[e]);return i.default=()=>o,r.d(a,i),a}})(),r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>{},r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="_N_E:";r.l=(o,n,a,i)=>{if(e[o]){e[o].push(n);return}if(void 0!==a)for(var u,l,c=document.getElementsByTagName("script"),d=0;d{u.onerror=u.onload=null,clearTimeout(p);var n=e[o];if(delete e[o],u.parentNode&&u.parentNode.removeChild(u),n&&n.forEach(e=>e(r)),t)return t(r)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=s.bind(null,u.onerror),u.onload=s.bind(null,u.onload),l&&document.head.appendChild(u)}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="/_next/",(()=>{var e={68:0,261:0};r.f.j=(t,o)=>{var n=r.o(e,t)?e[t]:void 0;if(0!==n){if(n)o.push(n[2]);else if(/^(261|68)$/.test(t))e[t]=0;else{var a=new Promise((r,o)=>n=e[t]=[r,o]);o.push(n[2]=a);var i=r.p+r.u(t),u=Error();r.l(i,o=>{if(r.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=o&&("load"===o.type?"missing":o.type),i=o&&o.target&&o.target.src;u.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",u.name="ChunkLoadError",u.type=a,u.request=i,n[1](u)}},"chunk-"+t,t)}}},r.O.j=t=>0===e[t];var t=(t,o)=>{var n,a,[i,u,l]=o,c=0;if(i.some(t=>0!==e[t])){for(n in u)r.o(u,n)&&(r.m[n]=u[n]);if(l)var d=l(r)}for(t&&t(o);c:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.fui-card{border-radius:var(--radius-card);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-background);padding:calc(var(--spacing)*10)}:where(.fui-card__header>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}.fui-card__header{text-align:center}.fui-card__title{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-text)}.fui-card__subtitle{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-muted)}:where(.fui-form>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.fui-form fieldset,.fui-form fieldset>label{gap:calc(var(--spacing)*2);color:var(--color-text);flex-direction:column;display:flex}.fui-form fieldset>label>span{gap:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);display:inline-flex}.fui-form .fui-form__action{padding-inline:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}@media (hover:hover){.fui-form .fui-form__action:hover{text-decoration-line:underline}}.fui-form fieldset>label>input{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}.fui-form fieldset>label>input:focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}.fui-form fieldset>label>input[aria-invalid=true]{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}.fui-form .fui-form__error{color:var(--color-error)}.fui-form .fui-form__error,.fui-success{text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fui-button{justify-content:center;align-items:center;gap:calc(var(--spacing)*3);border-radius:var(--radius);background-color:var(--color-primary);width:100%;padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-primary-surface);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media (hover:hover){.fui-button:hover{cursor:pointer;background-color:var(--color-primary-hover)}}.fui-button:disabled{cursor:not-allowed;opacity:.5}.fui-button--secondary{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);color:var(--color-text);background-color:#0000}@media (hover:hover){.fui-button--secondary:hover{border-color:var(--color-primary);background-color:var(--color-background)}}.fui-provider__button>svg{height:calc(var(--spacing)*5);width:calc(var(--spacing)*5)}.fui-divider{align-items:center;gap:calc(var(--spacing)*3);display:flex}.fui-divider__line{background-color:var(--color-border);flex:1;height:1px}.fui-divider__text{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}.fui-phone-input{align-items:center;gap:calc(var(--spacing)*2);display:flex}.fui-phone-input__number-input{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000;flex:1}.fui-phone-input__number-input:focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}.fui-phone-input__number-input[aria-invalid=true]{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}.fui-country-selector{width:80px;display:inline-block;position:relative}.fui-country-selector__wrapper{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);background-color:#0000;align-items:center;display:flex;position:relative;overflow:hidden}.fui-country-selector__flag{pointer-events:none;left:calc(var(--spacing)*2);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));position:absolute}.fui-country-selector select{cursor:pointer;appearance:none;width:100%;padding-block:calc(var(--spacing)*2);padding-right:calc(var(--spacing)*2);padding-left:calc(var(--spacing)*8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#0000;--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}.fui-country-selector select:focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}.fui-country-selector__dial-code{pointer-events:none;top:50%;left:calc(var(--spacing)*8);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text);position:absolute}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-top-4{top:calc(var(--spacing)*-4)}.-top-20{top:calc(var(--spacing)*-20)}.top-0{top:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.top-12{top:calc(var(--spacing)*12)}.-right-8{right:calc(var(--spacing)*-8)}.-right-20{right:calc(var(--spacing)*-20)}.right-4{right:calc(var(--spacing)*4)}.-bottom-8{bottom:calc(var(--spacing)*-8)}.-bottom-20{bottom:calc(var(--spacing)*-20)}.bottom-12{bottom:calc(var(--spacing)*12)}.-left-4{left:calc(var(--spacing)*-4)}.-left-20{left:calc(var(--spacing)*-20)}.left-1\/2{left:50%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-auto{margin-top:auto}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-8{height:calc(var(--spacing)*8)}.h-12{height:calc(var(--spacing)*12)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-72{height:calc(var(--spacing)*72)}.h-px{height:1px}.\!min-h-0{min-height:calc(var(--spacing)*0)!important}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-8{width:calc(var(--spacing)*8)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-72{width:calc(var(--spacing)*72)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.flex-1{flex:1}.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x)var(--tw-scale-y)var(--tw-scale-z)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-16{gap:calc(var(--spacing)*16)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.rounded{border-radius:var(--radius)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-end-start-radius:var(--radius)}.rounded-s,.rounded-ss{border-start-start-radius:var(--radius)}.rounded-e{border-end-end-radius:var(--radius)}.rounded-e,.rounded-se{border-start-end-radius:var(--radius)}.rounded-ee{border-end-end-radius:var(--radius)}.rounded-es{border-end-start-radius:var(--radius)}.rounded-t{border-top-right-radius:var(--radius)}.rounded-l,.rounded-t{border-top-left-radius:var(--radius)}.rounded-l{border-bottom-left-radius:var(--radius)}.rounded-tl{border-top-left-radius:var(--radius)}.rounded-r{border-bottom-right-radius:var(--radius)}.rounded-r,.rounded-tr{border-top-right-radius:var(--radius)}.rounded-b{border-bottom-left-radius:var(--radius)}.rounded-b,.rounded-br{border-bottom-right-radius:var(--radius)}.rounded-bl{border-bottom-left-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.\!bg-transparent{background-color:#0000!important}.bg-\[var\(--fui-background\)\]{background-color:var(--fui-background)}.bg-\[var\(--fui-primary\)\]{background-color:var(--fui-primary)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#1a1a1a\]{--tw-gradient-from:#1a1a1a;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#2d2d2d\]{--tw-gradient-to:#2d2d2d;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.\!p-0{padding:calc(var(--spacing)*0)!important}.p-1{padding:calc(var(--spacing)*1)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-8{padding-top:calc(var(--spacing)*8)}.text-center{text-align:center}.text-start{text-align:start}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-wrap{text-wrap:wrap}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.text-\[var\(--fui-primary\)\]{color:var(--fui-primary)}.text-blue-500{color:var(--color-blue-500)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-text-muted{color:var(--color-text-muted)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.diagonal-fractions,.lining-nums{font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.oldstyle-nums,.ordinal{font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal}.proportional-nums{--tw-numeric-spacing:proportional-nums}.proportional-nums,.slashed-zero{font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero}.stacked-fractions{--tw-numeric-fraction:stacked-fractions}.stacked-fractions,.tabular-nums{font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-5{opacity:.05}.opacity-20{opacity:.2}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-2xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.inset-ring,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor)}.blur{--tw-blur:blur(8px)}.blur,.blur-3xl{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl))}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f)}.drop-shadow,.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-lg{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg))}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm))}.backdrop-blur-sm,.backdrop-blur-xl{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl))}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.backdrop-grayscale,.backdrop-invert{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.backdrop-filter,.backdrop-sepia{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.hover\:bg-\[var\(--fui-primary-hover\)\]:hover{background-color:var(--fui-primary-hover)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:text-\[var\(--fui-primary\)\]:hover{color:var(--fui-primary)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}:is(.\*\:hover\:opacity-75>*):hover{opacity:.75}}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_buildManifest.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_buildManifest.js new file mode 100644 index 00000000..3afeefbb --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_buildManifest.js @@ -0,0 +1 @@ +self.__BUILD_MANIFEST=function(e,r,t){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:19,errorRate:1e-4,numBits:365,numHashes:14,bitArray:[0,1,1,0,0,1,e,r,e,e,e,e,r,e,r,r,e,e,e,r,e,r,r,r,r,r,e,e,r,e,e,r,e,r,e,r,e,e,e,e,e,e,e,r,r,e,r,e,r,e,r,r,r,e,r,e,r,r,r,e,r,e,e,r,e,e,e,e,r,e,e,e,r,e,r,r,e,e,r,r,e,e,e,e,r,r,r,r,r,e,e,r,r,r,e,e,r,r,e,e,r,r,r,e,e,r,r,e,r,r,e,r,r,r,r,e,e,r,e,r,r,r,r,e,e,r,r,e,e,r,e,e,r,e,e,e,e,e,e,e,e,r,e,e,r,e,e,r,e,e,e,r,r,r,e,r,r,e,e,r,r,r,e,e,e,e,r,r,r,r,r,r,e,r,r,r,r,r,r,r,r,e,r,r,e,e,r,e,r,r,e,e,e,e,r,r,r,e,r,r,r,r,e,r,r,r,e,e,e,e,r,e,e,e,e,e,r,e,e,r,e,r,r,e,r,r,r,r,e,e,e,e,e,e,e,r,r,e,e,e,r,e,r,e,e,e,e,e,e,e,r,e,r,e,e,e,r,e,r,e,e,e,r,e,r,r,e,r,e,r,e,r,e,r,e,r,r,e,e,e,e,e,e,e,e,r,r,e,e,r,e,e,e,e,r,e,e,e,r,r,e,e,e,r,r,e,r,e,r,r,r,e,e,r,e,r,r,r,r,r,r,e,r,e,e,e,e,e,r,r,e,e,r,r,e,r,e,r,e,r,r,e,r,r,r,r,r,e,r,r,e,e,e,e,e,r,e,r,e,e,e,e,e,e,r]},__routerFilterDynamic:{numItems:r,errorRate:1e-4,numBits:r,numHashes:null,bitArray:[]},"/_error":["static/chunks/pages/_error-9b7125ad1a1e68fa.js"],sortedPages:["/_app","/_error"]}}(1,0,0),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_ssgManifest.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_ssgManifest.js new file mode 100644 index 00000000..5b3ff592 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_ssgManifest.js @@ -0,0 +1 @@ +self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB() \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/4cf2300e9c8272f7-s.p.woff2 b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/4cf2300e9c8272f7-s.p.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..aba2e8b521a38d3870ea04c7d9e9d550f76c2120 GIT binary patch literal 28388 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%0A7vhEs=h?#~3bhFsuxJky=$<@hKyy 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 literal 0 HcmV?d00001 diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/9610d9e46709d722-s.woff2 b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/9610d9e46709d722-s.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..46efdbdbc828839112404c8285ab7e516a6cec45 GIT binary patch literal 12608 zcmV-GF~81tPew8T0RR9105L!S6951J09=Fs05H%10RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/favicon.ico b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..718d6fea4835ec2d246af9800eddb7ffb276240c GIT binary patch literal 25931 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 LrJugUA?W`A8`#=m literal 0 HcmV?d00001 diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/file.svg b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/file.svg new file mode 100644 index 00000000..004145cd --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/file.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/forgot-password.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/forgot-password.html new file mode 100644 index 00000000..db3eff82 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/forgot-password.html @@ -0,0 +1 @@ +Create Next App

Reset Password

Enter your email address to reset your password

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/globe.svg b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/globe.svg new file mode 100644 index 00000000..567f17b0 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/globe.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/index.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/index.html new file mode 100644 index 00000000..0f5db76a --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/index.html @@ -0,0 +1 @@ +Create Next App
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/next.svg b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/next.svg new file mode 100644 index 00000000..5174b28c --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/register.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/register.html new file mode 100644 index 00000000..622643b7 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/register.html @@ -0,0 +1 @@ +Create Next App

Register

Enter your details to create a new account

By continuing, you agree to our Terms of Service and Privacy Policy.
or
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen-w-oauth.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen-w-oauth.html new file mode 100644 index 00000000..50946009 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen-w-oauth.html @@ -0,0 +1 @@ +Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
or
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen.html new file mode 100644 index 00000000..46718e5e --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen.html @@ -0,0 +1 @@ +Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/oauth-screen.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/oauth-screen.html new file mode 100644 index 00000000..7143d86e --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/oauth-screen.html @@ -0,0 +1 @@ +Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/password-reset-screen.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/password-reset-screen.html new file mode 100644 index 00000000..ed6b7582 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/password-reset-screen.html @@ -0,0 +1 @@ +Create Next App

Reset Password

Enter your email address to reset your password

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen-w-oauth.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen-w-oauth.html new file mode 100644 index 00000000..78dd5591 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen-w-oauth.html @@ -0,0 +1 @@ +Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
or
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen.html new file mode 100644 index 00000000..be113736 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen.html @@ -0,0 +1 @@ +Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-handlers.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-handlers.html new file mode 100644 index 00000000..0ae4eaf2 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-handlers.html @@ -0,0 +1 @@ +Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-oauth.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-oauth.html new file mode 100644 index 00000000..e6a42816 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-oauth.html @@ -0,0 +1 @@ +Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
or
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen.html new file mode 100644 index 00000000..8318ea7f --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen.html @@ -0,0 +1 @@ +Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen-w-oauth.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen-w-oauth.html new file mode 100644 index 00000000..7c7dc162 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen-w-oauth.html @@ -0,0 +1 @@ +Create Next App

Register

Enter your details to create a new account

By continuing, you agree to our Terms of Service and Privacy Policy.
or
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen.html new file mode 100644 index 00000000..1722c1f0 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen.html @@ -0,0 +1 @@ +Create Next App

Register

Enter your details to create a new account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in.html new file mode 100644 index 00000000..9b93ea4b --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in.html @@ -0,0 +1 @@ +Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
or
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/email.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/email.html new file mode 100644 index 00000000..1c912240 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/email.html @@ -0,0 +1 @@ +Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/phone.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/phone.html new file mode 100644 index 00000000..6c39389a --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/phone.html @@ -0,0 +1 @@ +Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/vercel.svg b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/vercel.svg new file mode 100644 index 00000000..77053960 --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/window.svg b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/window.svg new file mode 100644 index 00000000..b2b2a44f --- /dev/null +++ b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/window.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/nextjs/.firebase/hosting.LmZpcmViYXNlL2Zpci11aS0yMDI1LW5leHRqcy9ob3N0aW5n.cache b/examples/nextjs/.firebase/hosting.LmZpcmViYXNlL2Zpci11aS0yMDI1LW5leHRqcy9ob3N0aW5n.cache new file mode 100644 index 00000000..16d94f63 --- /dev/null +++ b/examples/nextjs/.firebase/hosting.LmZpcmViYXNlL2Zpci11aS0yMDI1LW5leHRqcy9ob3N0aW5n.cache @@ -0,0 +1,65 @@ +window.svg,1761318593758,bf07bc7ddc1ae03e7936a9347de10e85cf9a0e51f99bd8293b2a8eeca6463b49 +globe.svg,1761318593762,914fe1f576f68698d9e329ea8ec6c542d8d5f150af08f1a360d188fed7597c23 +index.html,1761318593812,5fb58e46ba7351ceb497ed3df20d49d61387f2cf060e6ef0fdcb70111024367e +file.svg,1761318593763,cb6477bad43c44ba222b8cddfa7e4fe646b19ec7449646e8c2a426354faa630e +next.svg,1761318593760,7b16665552cb47db34db342505d6d340caaf5813ca2cba1df3536ed67ea33f64 +sign-in.html,1761318593813,a0fe6010571b1136584d7b9c9aea0c7a34463bd0fde5dbf48eb54474cd0e9b25 +vercel.svg,1761318593759,ffb3d6634c37da9451d60557ed0e6e513e2889672e0bf202d2558062062a048a +sign-in/email.html,1761318593813,81b53a97da6bb19cd3a0b219f6692c537185329e0f6b5011d7505e4e93f68732 +register.html,1761318593813,269bf64d536f2ea4c1ee3776a9a71d412646095b8e125e8452acfabbc9881b38 +404.html,1761318593813,36d711eacbaf4c1f66cfc8f11f07301c0384e5f97c60b106e22d5d0714c7927d +screens/sign-in-auth-screen.html,1761318593813,c89aadb249c9bad8f574d86d4c5a7aa66329533ca16fa96784e492ed66cbb120 +forgot-password.html,1761318593813,13d294afac73e17f40c8445a1047faf35cbb97ba8794e674038cf7a41db01597 +screens/sign-up-auth-screen.html,1761318593813,9b0414da867526d20738b35f3c47762f91d5ff92b3b382516616fa05f217cb3a +sign-in/phone.html,1761318593812,ab86780f05f8dd725a17fa88bf663dd992f6e9fb5693fb34fbf2fcbadacec4f2 +screens/sign-up-auth-screen-w-oauth.html,1761318593813,d648d1da551697c33bafb7bfa26c5c3e2eb96b8af987753458e5fd831f5e57df +screens/password-reset-screen.html,1761318593812,4036868f5bf5cc9487a876053782465603eb484e0a6743621faebd1c0040955d +screens/sign-in-auth-screen-w-handlers.html,1761318593812,2282c4ed253c8187e1c4ca75b9080eb26393c859fbb667223f37f9e56f299905 +screens/email-link-auth-screen.html,1761318593813,d50c85fe0800351bfbf467acfd442d8f130af0da5faf0b76b8daae1425046287 +screens/sign-in-auth-screen-w-oauth.html,1761318593812,7e3004d1e07bcff2cf8956e24e2550709ff0b3a7942a147c4e5c78aaa6c42fd6 +screens/email-link-auth-screen-w-oauth.html,1761318593813,209c29acd04ea4b99499e32da7a93cabe741e74adb1408b6dc8a43238740c2c5 +screens/phone-auth-screen.html,1761318593812,02e7417d256b809b6f8109dbb3b2d31b36f266fa0685ffdb48e79c91e0ffa771 +_next/static/media/ba015fad6dcf6784-s.woff2,1761318593765,2b719e95831c9d92a31ebbe512bbd87cc76501765edb9b6ca4734cc5a2becb94 +_next/static/media/9610d9e46709d722-s.woff2,1761318593765,7cdf2599fa32a0a3edc7d4126b5c8f5233d62799ddb46552ca6890389ba7d9c1 +screens/oauth-screen.html,1761318593813,b61bb2177e9857ebb350e5df7a631375ecc5971f4a1fc7e1fed945ba836ccdc3 +_next/static/media/747892c23ea88013-s.woff2,1761318593767,396955195c54144bce504511dd89d0c74a3f6b453d73823073be1a2cbe00e6de +_next/static/g6qTQml7eoxYK-3XdIjKy/_ssgManifest.js,1761318593769,02dbc1aeab6ef0a6ff2ff9a1643158cf9bb38929945eaa343a3627dee9ba6778 +screens/phone-auth-screen-w-oauth.html,1761318593813,0691df9ed1830b97a8daa678c792bae70a4fd6ab687826eaa758b247f04c49ef +favicon.ico,1761318593813,8b9c4dce3353938d2027ab21f0489807587db05d65ef390a6947d32312e501a0 +_next/static/media/8d697b304b401681-s.woff2,1761318593766,cccaf7bf72117d313a9afc3a475289a19b9fcd0f735c9b2e4ded6cba08a517a0 +_next/static/g6qTQml7eoxYK-3XdIjKy/_buildManifest.js,1761318593771,f7ee826b9251b000aadf4de1b93c111f158eddc98b3bf24941419a48dec49d6d +_next/static/chunks/main-app-e2be70030271765f.js,1761318593775,f01b5994734ccb4896a7bdce0e48b5a753c185b843b253d8ef6686c6b3a2c257 +_next/static/chunks/webpack-db3214c5c58110e1.js,1761318593773,ccaccdb43e685bc2990bb8b12b6e371d06ba92313bae7e9001c31a2517786578 +_next/static/css/2ceba05e598db6c3.css,1761318593772,b0958cc228c6049562522ceeb651b3c4b05a15821756d3fce823c178e358ac11 +_next/static/chunks/460-27f0fb3882b99f1c.js,1761318593807,1379460369eec35f971c77e0c45f8139bac59674dcc550d8d754f7e81cf49e4b +_next/static/chunks/app/page-8d787214c58f587b.js,1761318593802,466e1f70d8167e57e335bab5dd097cde5db7740849058b716ccc0734a1d89121 +_next/static/chunks/pages/_app-d23763e3e6c904ff.js,1761318593775,4673b99cd1734528a763d5cc006bb562852efe906f88a2893d82e3dcc68fb214 +_next/static/chunks/pages/_error-9b7125ad1a1e68fa.js,1761318593774,be68c9d730770cd4557942ef3e011c9375c829baee55415ee98e3b47fdbc40a6 +_next/static/chunks/app/sign-in/page-00912d0f7b1415fc.js,1761318593781,764714f2554cb18d6719431c083ce7f6ec649ee7b0b40e31b06eaa5558d1e8b7 +_next/static/chunks/app/layout-6aab929aad1d393d.js,1761318593802,510e4c6f2b3f916a223749974fc5699a384ff9ef787711d7cd7504e4a888a46a +_next/static/chunks/app/sign-in/phone/page-98c7321b7c0579e7.js,1761318593779,639a499ced1f22aa29ecf752779ed7a20de0cb326d609fa3de8e6821fe1d9904 +_next/static/media/4cf2300e9c8272f7-s.p.woff2,1761318593768,82dff880ea601ee2dece400d0c801b12b59961a81188904c99759a00f698950c +_next/static/media/93f479601ee12b01-s.p.woff2,1761318593766,a259f1cc268ca344efc6262b4995c1c232308fca60ea61efec48fcb2d49b4f03 +_next/static/chunks/499-b5a9acf51f160200.js,1761318593806,aadfc8d358d8ce9aebaa07f0cac2bc9778f6f383efbb0b6e8c5b427ba554cbed +_next/static/chunks/198-fc2f857890282fd9.js,1761318593809,c83e85ffe4840087677db9f0b7cc3ee89b94abe196d2e3bdf038d3733c8bcfea +_next/static/chunks/main-7c5d8e9217f561df.js,1761318593776,b9a31830c87a096f9fa6e4a5498963e76dd152da8c0a9207643198723d920543 +_next/static/chunks/polyfills-42372ed130431b0a.js,1761318593773,67dee1c02c6a6700d63b5c1898cf2df618101a68a395db469192763d24925a23 +_next/static/chunks/app/sign-in/email/page-c77da0e5d7c5f5f5.js,1761318593783,a0b7721b386a6a32751ef3ca7e91c99db4620e657a7ff4ee145246a3318984f2 +_next/static/chunks/app/screens/sign-up-auth-screen-w-oauth/page-7dd5c04e4ab03479.js,1761318593787,e90328b2e8541feb41adec144e5e5e5fddfd54b5ecfb12434a1ab3ba33ebc631 +_next/static/chunks/app/screens/sign-up-auth-screen/page-ea1e24f2258e0ae5.js,1761318593789,9118a5560bb35576f72268cc843fb766cbd1ae446794c571d8d0f90cd1d8e332 +_next/static/chunks/ae6eea6a-89606064f41da4dc.js,1761318593804,3fdb9233b2cb09ab59509d822699be37858da017d05011d09d601da52e14b39e +_next/static/chunks/app/screens/sign-in-auth-screen-w-oauth/page-018d6282ee014b52.js,1761318593792,7e3c8210fb3ce5dca0e4f5da0a2e560cb316147e29986b2a874549d204321061 +_next/static/chunks/app/screens/sign-in-auth-screen/page-58105dede38ce5c7.js,1761318593794,e752882bfe683f10e5f173ef9be80d3512fc8782feac0250fee63c37b5e27c0d +_next/static/chunks/app/screens/sign-in-auth-screen-w-handlers/page-077fb2f09d5d3268.js,1761318593793,a4b4715fab858d366b2d1d5b7fdf7520e1dd46246f7e81fe6fce3e23e20050a2 +_next/static/chunks/app/screens/phone-auth-screen/page-5ba757203936288e.js,1761318593795,e277da250a48f0ec0d5d07fa20b94e5ac80430744063503aa9690d0f7c9870fd +_next/static/chunks/app/screens/password-reset-screen/page-7346f1f8c8959f83.js,1761318593797,18b7b28295decd5f5e59eae12ea8dbe56d637521ce1bcbaf387b5f5464ca64eb +_next/static/chunks/app/screens/phone-auth-screen-w-oauth/page-96baddefbdcffb57.js,1761318593795,014f9621afd0f6aa597358663d76ee734753552ee67b5b180be46b165a6b7a99 +_next/static/chunks/app/screens/oauth-screen/page-662bb862120ebe1d.js,1761318593799,263ec382a0859a4143614994da792b58a3ba116b2b51f59bfe51ee42976d0afc +_next/static/chunks/app/screens/email-link-auth-screen-w-oauth/page-ffa6fcbeb7299aa7.js,1761318593800,fdbb6af8cb460651e63ad190f720854ec9b95d26f0c5419e420c4cb3f0004bc7 +_next/static/chunks/app/screens/email-link-auth-screen/page-cbbdc9acd56de275.js,1761318593800,b5b39d61588e5f3b49bc74b493e1bbdc0cdb0eefcf9a97b819013de38dbd178b +_next/static/chunks/app/forgot-password/page-6e3d7f138d1e62ba.js,1761318593803,51d1918e604d6fa350ff3dfe65248ec6f39f1e5069d812418b2cde01caf46bcc +_next/static/chunks/app/register/page-b51a8bfb00044279.js,1761318593801,c1c35ed022658c4840b5a6aadf296f6cfca7d1de12e8fe89acf9049cae54e64b +_next/static/chunks/app/_not-found/page-09d475ed6534a562.js,1761318593803,b2711664c673344a78a0cd6973429e2e6097cc38de8ec4d136082e7aefe36ddd +_next/static/chunks/framework-f6c30afefa8caa28.js,1761318593776,b3ac31d724e5bfb9e90d6d40c00de57767eaa65442e2fe1d32a72df0a73a9ca5 +_next/static/chunks/517-97f7a157326437f9.js,1761318593804,dc87072962205562d94692741542b75ab8b149a50f3e855b343f9c821bfdb6ea +_next/static/chunks/4bd1b696-a4582f7608b1c3f8.js,1761318593805,a87934c2aaa0d801b926359054ebb21927650c9ef3ae9a941e9343b6361fa032 diff --git a/examples/nextjs/.firebaserc b/examples/nextjs/.firebaserc new file mode 100644 index 00000000..855f8283 --- /dev/null +++ b/examples/nextjs/.firebaserc @@ -0,0 +1,5 @@ +{ + "projects": { + "default": "fir-ui-2025" + } +} diff --git a/examples/nextjs/app/forgot-password/screen.tsx b/examples/nextjs/app/forgot-password/screen.tsx index 2cc97888..bf31a2b8 100644 --- a/examples/nextjs/app/forgot-password/screen.tsx +++ b/examples/nextjs/app/forgot-password/screen.tsx @@ -16,7 +16,7 @@ "use client"; -import { PasswordResetScreen } from "@firebase-ui/react"; +import { PasswordResetScreen } from "@invertase/firebaseui-react"; import { useRouter } from "next/navigation"; export default function Screen() { diff --git a/examples/nextjs/app/globals.css b/examples/nextjs/app/globals.css index fd915417..3612cf90 100644 --- a/examples/nextjs/app/globals.css +++ b/examples/nextjs/app/globals.css @@ -15,7 +15,7 @@ */ @import "tailwindcss"; -@import "@firebase-ui/styles/src/base.css"; +@import "@invertase/firebaseui-styles/src/base.css"; -/* @import "@firebase-ui/styles/src/themes/dark.css"; */ -/* @import "@firebase-ui/styles/src/themes/brutalist.css"; */ \ No newline at end of file +/* @import "@invertase/firebaseui-styles/src/themes/dark.css"; */ +/* @import "@invertase/firebaseui-styles/src/themes/brutalist.css"; */ \ No newline at end of file diff --git a/examples/nextjs/app/layout.tsx b/examples/nextjs/app/layout.tsx index 8c282b99..4a647713 100644 --- a/examples/nextjs/app/layout.tsx +++ b/examples/nextjs/app/layout.tsx @@ -37,19 +37,17 @@ export const metadata: Metadata = { description: "Generated by create next app", }; -export default async function RootLayout({ +export default function RootLayout({ children, }: Readonly<{ children: React.ReactNode; }>) { - const { currentUser } = await getCurrentUser(); - return ( -
+
{children} diff --git a/examples/nextjs/app/register/screen.tsx b/examples/nextjs/app/register/screen.tsx index 97abc25d..2fafda9a 100644 --- a/examples/nextjs/app/register/screen.tsx +++ b/examples/nextjs/app/register/screen.tsx @@ -17,7 +17,7 @@ "use client"; import { useUser } from "@/lib/firebase/hooks"; -import { GoogleSignInButton, SignUpAuthScreen } from "@firebase-ui/react"; +import { GoogleSignInButton, SignUpAuthScreen } from "@invertase/firebaseui-react"; import { useRouter } from "next/navigation"; import { useEffect } from "react"; diff --git a/examples/nextjs/app/screens/email-link-auth-screen-w-oauth/page.tsx b/examples/nextjs/app/screens/email-link-auth-screen-w-oauth/page.tsx index b1e15278..2886c411 100644 --- a/examples/nextjs/app/screens/email-link-auth-screen-w-oauth/page.tsx +++ b/examples/nextjs/app/screens/email-link-auth-screen-w-oauth/page.tsx @@ -16,7 +16,7 @@ "use client"; -import { EmailLinkAuthScreen, GoogleSignInButton } from "@firebase-ui/react"; +import { EmailLinkAuthScreen, GoogleSignInButton } from "@invertase/firebaseui-react"; export default function EmailLinkAuthScreenWithOAuthPage() { return ( diff --git a/examples/nextjs/app/screens/email-link-auth-screen/page.tsx b/examples/nextjs/app/screens/email-link-auth-screen/page.tsx index 6f5f0391..53226173 100644 --- a/examples/nextjs/app/screens/email-link-auth-screen/page.tsx +++ b/examples/nextjs/app/screens/email-link-auth-screen/page.tsx @@ -16,7 +16,7 @@ "use client"; -import { EmailLinkAuthScreen } from "@firebase-ui/react"; +import { EmailLinkAuthScreen } from "@invertase/firebaseui-react"; export default function EmailLinkAuthScreenPage() { return ; diff --git a/examples/nextjs/app/screens/oauth-screen/page.tsx b/examples/nextjs/app/screens/oauth-screen/page.tsx index 662ccecd..46872be1 100644 --- a/examples/nextjs/app/screens/oauth-screen/page.tsx +++ b/examples/nextjs/app/screens/oauth-screen/page.tsx @@ -16,7 +16,7 @@ "use client"; -import { GoogleSignInButton, OAuthScreen } from "@firebase-ui/react"; +import { GoogleSignInButton, OAuthScreen } from "@invertase/firebaseui-react"; export default function OAuthScreenPage() { return ( diff --git a/examples/nextjs/app/screens/password-reset-screen/page.tsx b/examples/nextjs/app/screens/password-reset-screen/page.tsx index 0bea4b34..b2d73c6b 100644 --- a/examples/nextjs/app/screens/password-reset-screen/page.tsx +++ b/examples/nextjs/app/screens/password-reset-screen/page.tsx @@ -16,7 +16,7 @@ "use client"; -import { PasswordResetScreen } from "@firebase-ui/react"; +import { PasswordResetScreen } from "@invertase/firebaseui-react"; export default function PasswordResetScreenPage() { return ( diff --git a/examples/nextjs/app/screens/phone-auth-screen-w-oauth/page.tsx b/examples/nextjs/app/screens/phone-auth-screen-w-oauth/page.tsx index 45637cc5..abb815b5 100644 --- a/examples/nextjs/app/screens/phone-auth-screen-w-oauth/page.tsx +++ b/examples/nextjs/app/screens/phone-auth-screen-w-oauth/page.tsx @@ -16,7 +16,7 @@ "use client"; -import { GoogleSignInButton, PhoneAuthScreen } from "@firebase-ui/react"; +import { GoogleSignInButton, PhoneAuthScreen } from "@invertase/firebaseui-react"; export default function PhoneAuthScreenWithOAuthPage() { return ( diff --git a/examples/nextjs/app/screens/phone-auth-screen/page.tsx b/examples/nextjs/app/screens/phone-auth-screen/page.tsx index 032a66df..6f88a92a 100644 --- a/examples/nextjs/app/screens/phone-auth-screen/page.tsx +++ b/examples/nextjs/app/screens/phone-auth-screen/page.tsx @@ -16,7 +16,7 @@ "use client"; -import { PhoneAuthScreen } from "@firebase-ui/react"; +import { PhoneAuthScreen } from "@invertase/firebaseui-react"; export default function PhoneAuthScreenPage() { return ; diff --git a/examples/nextjs/app/screens/sign-in-auth-screen-w-handlers/page.tsx b/examples/nextjs/app/screens/sign-in-auth-screen-w-handlers/page.tsx index a968d8e7..d1b8c002 100644 --- a/examples/nextjs/app/screens/sign-in-auth-screen-w-handlers/page.tsx +++ b/examples/nextjs/app/screens/sign-in-auth-screen-w-handlers/page.tsx @@ -16,7 +16,7 @@ "use client"; -import { SignInAuthScreen } from "@firebase-ui/react"; +import { SignInAuthScreen } from "@invertase/firebaseui-react"; export default function SignInAuthScreenWithHandlersPage() { return ( diff --git a/examples/nextjs/app/screens/sign-in-auth-screen-w-oauth/page.tsx b/examples/nextjs/app/screens/sign-in-auth-screen-w-oauth/page.tsx index 887545e4..886ec0e1 100644 --- a/examples/nextjs/app/screens/sign-in-auth-screen-w-oauth/page.tsx +++ b/examples/nextjs/app/screens/sign-in-auth-screen-w-oauth/page.tsx @@ -16,7 +16,7 @@ "use client"; -import { GoogleSignInButton, SignInAuthScreen } from "@firebase-ui/react"; +import { GoogleSignInButton, SignInAuthScreen } from "@invertase/firebaseui-react"; import { useRouter } from "next/navigation"; export default function SignInAuthScreenWithOAuthPage() { diff --git a/examples/nextjs/app/screens/sign-in-auth-screen/page.tsx b/examples/nextjs/app/screens/sign-in-auth-screen/page.tsx index 01bac68e..9952a1f3 100644 --- a/examples/nextjs/app/screens/sign-in-auth-screen/page.tsx +++ b/examples/nextjs/app/screens/sign-in-auth-screen/page.tsx @@ -16,7 +16,7 @@ "use client"; -import { SignInAuthScreen } from "@firebase-ui/react"; +import { SignInAuthScreen } from "@invertase/firebaseui-react"; export default function SignInAuthScreenPage() { return ; diff --git a/examples/nextjs/app/screens/sign-up-auth-screen-w-oauth/page.tsx b/examples/nextjs/app/screens/sign-up-auth-screen-w-oauth/page.tsx index 98a803bd..4c649f2e 100644 --- a/examples/nextjs/app/screens/sign-up-auth-screen-w-oauth/page.tsx +++ b/examples/nextjs/app/screens/sign-up-auth-screen-w-oauth/page.tsx @@ -16,7 +16,7 @@ "use client"; -import { GoogleSignInButton, SignUpAuthScreen } from "@firebase-ui/react"; +import { GoogleSignInButton, SignUpAuthScreen } from "@invertase/firebaseui-react"; export default function SignUpAuthScreenWithOAuthPage() { return ( diff --git a/examples/nextjs/app/screens/sign-up-auth-screen/page.tsx b/examples/nextjs/app/screens/sign-up-auth-screen/page.tsx index 0af1806a..04b84018 100644 --- a/examples/nextjs/app/screens/sign-up-auth-screen/page.tsx +++ b/examples/nextjs/app/screens/sign-up-auth-screen/page.tsx @@ -16,7 +16,7 @@ "use client"; -import { SignUpAuthScreen } from "@firebase-ui/react"; +import { SignUpAuthScreen } from "@invertase/firebaseui-react"; export default function SignUpAuthScreenPage() { return ; diff --git a/examples/nextjs/app/sign-in/email/screen.tsx b/examples/nextjs/app/sign-in/email/screen.tsx index 37112e71..3251fe34 100644 --- a/examples/nextjs/app/sign-in/email/screen.tsx +++ b/examples/nextjs/app/sign-in/email/screen.tsx @@ -17,7 +17,7 @@ "use client"; import { useUser } from "@/lib/firebase/hooks"; -import { EmailLinkAuthScreen } from "@firebase-ui/react"; +import { EmailLinkAuthScreen } from "@invertase/firebaseui-react"; import { useRouter } from "next/navigation"; import { useEffect } from "react"; diff --git a/examples/nextjs/app/sign-in/phone/screen.tsx b/examples/nextjs/app/sign-in/phone/screen.tsx index 839e6043..6e7cfd2b 100644 --- a/examples/nextjs/app/sign-in/phone/screen.tsx +++ b/examples/nextjs/app/sign-in/phone/screen.tsx @@ -17,7 +17,7 @@ "use client"; import { useUser } from "@/lib/firebase/hooks"; -import { PhoneAuthScreen } from "@firebase-ui/react"; +import { PhoneAuthScreen } from "@invertase/firebaseui-react"; import { useRouter } from "next/navigation"; import { useEffect } from "react"; diff --git a/examples/nextjs/app/sign-in/screen.tsx b/examples/nextjs/app/sign-in/screen.tsx index 7d89bd46..8b82acb3 100644 --- a/examples/nextjs/app/sign-in/screen.tsx +++ b/examples/nextjs/app/sign-in/screen.tsx @@ -17,7 +17,7 @@ "use client"; import { useUser } from "@/lib/firebase/hooks"; -import { GoogleSignInButton, SignInAuthScreen } from "@firebase-ui/react"; +import { GoogleSignInButton, SignInAuthScreen } from "@invertase/firebaseui-react"; import Link from "next/link"; import { useRouter } from "next/navigation"; diff --git a/examples/nextjs/firebase.json b/examples/nextjs/firebase.json new file mode 100644 index 00000000..adcc7a42 --- /dev/null +++ b/examples/nextjs/firebase.json @@ -0,0 +1,7 @@ +{ + "hosting": { + "site": "fir-ui-2025-nextjs", + "source": ".", + "ignore": ["firebase.json", "**/.*", "**/node_modules/**"] + } +} diff --git a/examples/nextjs/lib/components/header.tsx b/examples/nextjs/lib/components/header.tsx index 4e43e331..87b44c79 100644 --- a/examples/nextjs/lib/components/header.tsx +++ b/examples/nextjs/lib/components/header.tsx @@ -14,17 +14,17 @@ * limitations under the License. */ -'use client'; +"use client"; -import Link from "next/link"; -import { useUser } from "../firebase/hooks"; import { signOut, type User } from "firebase/auth"; -import { auth } from "../firebase/clientApp"; +import Link from "next/link"; import { useRouter } from "next/navigation"; +import { auth } from "../firebase/clientApp"; +import { useUser } from "../firebase/hooks"; -export function Header(props: { currentUser: User | null }) { +export function Header(props: { currentUser?: User | null }) { const router = useRouter(); - const user = useUser(props.currentUser); + const user = useUser(props.currentUser || null); async function onSignOut() { await signOut(auth); @@ -39,10 +39,18 @@ export function Header(props: { currentUser: User | null }) {
    - {user ?
  • :
  • Sign In
  • } + {user ? ( +
  • + +
  • + ) : ( +
  • + Sign In +
  • + )}
); -} \ No newline at end of file +} diff --git a/examples/nextjs/lib/examples/1/page.tsx b/examples/nextjs/lib/examples/1/page.tsx index 2ab4ec19..d7181741 100644 --- a/examples/nextjs/lib/examples/1/page.tsx +++ b/examples/nextjs/lib/examples/1/page.tsx @@ -16,7 +16,7 @@ "use client"; -import { EmailPasswordForm, RegisterForm } from "@firebase-ui/react"; +import { EmailPasswordForm, RegisterForm } from "@invertase/firebaseui-react"; import { useState } from "react"; export default function Example1() { diff --git a/examples/nextjs/lib/examples/2/page.tsx b/examples/nextjs/lib/examples/2/page.tsx index b66edb00..dfc8aa86 100644 --- a/examples/nextjs/lib/examples/2/page.tsx +++ b/examples/nextjs/lib/examples/2/page.tsx @@ -24,7 +24,7 @@ import { CardHeader, CardTitle, CardSubtitle, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; export default function Example2() { const [showRegister, setShowRegister] = useState(false); diff --git a/examples/nextjs/lib/examples/3/page.tsx b/examples/nextjs/lib/examples/3/page.tsx index 397f9072..642a29c0 100644 --- a/examples/nextjs/lib/examples/3/page.tsx +++ b/examples/nextjs/lib/examples/3/page.tsx @@ -17,7 +17,7 @@ "use client"; import { useState } from "react"; -import { EmailPasswordForm, RegisterForm } from "@firebase-ui/react"; +import { EmailPasswordForm, RegisterForm } from "@invertase/firebaseui-react"; export default function Example3() { const [showModal, setShowModal] = useState(false); diff --git a/examples/nextjs/lib/examples/4/page.tsx b/examples/nextjs/lib/examples/4/page.tsx index f8ba3114..f7375d0d 100644 --- a/examples/nextjs/lib/examples/4/page.tsx +++ b/examples/nextjs/lib/examples/4/page.tsx @@ -16,7 +16,7 @@ "use client"; -import { SignInAuthScreen } from "@firebase-ui/react"; +import { SignInAuthScreen } from "@invertase/firebaseui-react"; export default function Example4() { return ( diff --git a/examples/nextjs/lib/firebase/clientApp.ts b/examples/nextjs/lib/firebase/clientApp.ts index 5a840aba..1d526643 100644 --- a/examples/nextjs/lib/firebase/clientApp.ts +++ b/examples/nextjs/lib/firebase/clientApp.ts @@ -16,11 +16,11 @@ "use client"; -import { initializeApp, getApps } from "firebase/app"; -import { firebaseConfig } from "./config"; +import { initializeUI } from "@invertase/firebaseui-core"; +import { customLanguage, english } from "@invertase/firebaseui-translations"; +import { getApps, initializeApp } from "firebase/app"; import { connectAuthEmulator, getAuth } from "firebase/auth"; -import { autoAnonymousLogin, initializeUI } from "@firebase-ui/core"; -import { customLanguage, english } from "@firebase-ui/translations"; +import { firebaseConfig } from "./config"; export const firebaseApp = getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0]; @@ -29,7 +29,7 @@ export const auth = getAuth(firebaseApp); export const ui = initializeUI({ app: firebaseApp, - behaviors: [autoAnonymousLogin()], + behaviors: [], translations: [ customLanguage(english.locale, { labels: { @@ -45,4 +45,7 @@ export const ui = initializeUI({ ], }); -connectAuthEmulator(auth, "http://localhost:9099"); +// Only connect to emulator in development mode +if (process.env.NODE_ENV === "development") { + connectAuthEmulator(auth, "http://localhost:9099"); +} diff --git a/examples/nextjs/lib/firebase/config.ts b/examples/nextjs/lib/firebase/config.ts index 2d95ca07..ef4305c0 100644 --- a/examples/nextjs/lib/firebase/config.ts +++ b/examples/nextjs/lib/firebase/config.ts @@ -14,6 +14,4 @@ * limitations under the License. */ -export const firebaseConfig = { - // your Firebase config here -}; +export const firebaseConfig = {}; diff --git a/examples/nextjs/lib/firebase/serverApp.ts b/examples/nextjs/lib/firebase/serverApp.ts index ebe2f41a..21318f74 100644 --- a/examples/nextjs/lib/firebase/serverApp.ts +++ b/examples/nextjs/lib/firebase/serverApp.ts @@ -18,27 +18,38 @@ // https://nextjs.org/docs/app/building-your-application/rendering/composition-patterns#keeping-server-only-code-out-of-the-client-environment import "server-only"; -import { headers } from "next/headers"; import { initializeServerApp } from "firebase/app"; -import { firebaseConfig } from "./config"; import { getAuth } from "firebase/auth"; +import { firebaseConfig } from "./config"; // TODO: This won't work until we support Cookie auth (or service worker auth) export async function getCurrentUser() { - const idToken = (await headers()).get("Authorization")?.split("Bearer ")[1]; - - const firebaseServerApp = initializeServerApp( - firebaseConfig, - idToken - ? { - authIdToken: idToken, - } - : {} - ); - - const auth = getAuth(firebaseServerApp); - await auth.authStateReady(); - - return { currentUser: auth.currentUser }; -} \ No newline at end of file + // For static export, return null user + if (process.env.NODE_ENV === "production") { + return { currentUser: null }; + } + + // For development, try to get the user from headers + try { + const { headers } = await import("next/headers"); + const idToken = (await headers()).get("Authorization")?.split("Bearer ")[1]; + + const firebaseServerApp = initializeServerApp( + firebaseConfig, + idToken + ? { + authIdToken: idToken, + } + : {} + ); + + const auth = getAuth(firebaseServerApp); + await auth.authStateReady(); + + return { currentUser: auth.currentUser }; + } catch (error) { + // If headers() fails (e.g., during static generation), return null + return { currentUser: null }; + } +} diff --git a/examples/nextjs/lib/firebase/ui.tsx b/examples/nextjs/lib/firebase/ui.tsx index 1f2f3e48..6a0218c5 100644 --- a/examples/nextjs/lib/firebase/ui.tsx +++ b/examples/nextjs/lib/firebase/ui.tsx @@ -17,7 +17,7 @@ "use client"; import { ui } from "@/lib/firebase/clientApp"; -import { ConfigProvider } from "@firebase-ui/react"; +import { ConfigProvider } from "@invertase/firebaseui-react"; export function FirebaseUIProvider({ children, diff --git a/examples/nextjs/next.config.ts b/examples/nextjs/next.config.ts index 4796dd1a..957b73be 100644 --- a/examples/nextjs/next.config.ts +++ b/examples/nextjs/next.config.ts @@ -17,7 +17,11 @@ import type { NextConfig } from "next"; const nextConfig: NextConfig = { - /* config options here */ + output: 'export', + trailingSlash: true, + images: { + unoptimized: true + } }; export default nextConfig; diff --git a/examples/nextjs/package-lock.json b/examples/nextjs/package-lock.json new file mode 100644 index 00000000..ba54bbb7 --- /dev/null +++ b/examples/nextjs/package-lock.json @@ -0,0 +1,3341 @@ +{ + "name": "nextjs", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "nextjs", + "version": "0.1.0", + "dependencies": { + "@invertase/firebaseui-core": "^0.0.1", + "@invertase/firebaseui-react": "^0.0.1", + "@invertase/firebaseui-styles": "^0.0.1", + "@invertase/firebaseui-translations": "^0.0.1", + "firebase": "^11.3.1", + "next": "15.1.7", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "server-only": "^0.0.1" + }, + "devDependencies": { + "@tailwindcss/postcss": "^4.0.6", + "@types/node": "^20", + "@types/react": "^19", + "@types/react-dom": "^19", + "postcss": "^8.5.2", + "postcss-load-config": "^6.0.1", + "tailwindcss": "^4.0.6", + "typescript": "^5" + } + }, + "node_modules/@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==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.6.0.tgz", + "integrity": "sha512-obtUmAHTMjll499P+D9A3axeJFlhdjOWdKUNs/U6QIGT7V5RjcUW1xToAzjvmgTSQhDbYn/NwfTRoJcQ2rNBxA==", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@firebase/ai": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@firebase/ai/-/ai-1.4.1.tgz", + "integrity": "sha512-bcusQfA/tHjUjBTnMx6jdoPMpDl3r8K15Z+snHz9wq0Foox0F/V+kNLXucEOHoTL2hTc9l+onZCyBJs2QoIC3g==", + "dependencies": { + "@firebase/app-check-interop-types": "0.3.3", + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/analytics": { + "version": "0.10.17", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.17.tgz", + "integrity": "sha512-n5vfBbvzduMou/2cqsnKrIes4auaBjdhg8QNA2ZQZ59QgtO2QiwBaXQZQE4O4sgB0Ds1tvLgUUkY+pwzu6/xEg==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/installations": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/analytics-compat": { + "version": "0.2.23", + "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.23.tgz", + "integrity": "sha512-3AdO10RN18G5AzREPoFgYhW6vWXr3u+OYQv6pl3CX6Fky8QRk0AHurZlY3Q1xkXO0TDxIsdhO3y65HF7PBOJDw==", + "dependencies": { + "@firebase/analytics": "0.10.17", + "@firebase/analytics-types": "0.8.3", + "@firebase/component": "0.6.18", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/analytics-types": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.3.tgz", + "integrity": "sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==" + }, + "node_modules/@firebase/app": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.13.2.tgz", + "integrity": "sha512-jwtMmJa1BXXDCiDx1vC6SFN/+HfYG53UkfJa6qeN5ogvOunzbFDO3wISZy5n9xgYFUrEP6M7e8EG++riHNTv9w==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "idb": "7.1.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/app-check": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.10.1.tgz", + "integrity": "sha512-MgNdlms9Qb0oSny87pwpjKush9qUwCJhfmTJHDfrcKo4neLGiSeVE4qJkzP7EQTIUFKp84pbTxobSAXkiuQVYQ==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/app-check-compat": { + "version": "0.3.26", + "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.26.tgz", + "integrity": "sha512-PkX+XJMLDea6nmnopzFKlr+s2LMQGqdyT2DHdbx1v1dPSqOol2YzgpgymmhC67vitXVpNvS3m/AiWQWWhhRRPQ==", + "dependencies": { + "@firebase/app-check": "0.10.1", + "@firebase/app-check-types": "0.5.3", + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/app-check-interop-types": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.3.tgz", + "integrity": "sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==" + }, + "node_modules/@firebase/app-check-types": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.3.tgz", + "integrity": "sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==" + }, + "node_modules/@firebase/app-compat": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.4.2.tgz", + "integrity": "sha512-LssbyKHlwLeiV8GBATyOyjmHcMpX/tFjzRUCS1jnwGAew1VsBB4fJowyS5Ud5LdFbYpJeS+IQoC+RQxpK7eH3Q==", + "dependencies": { + "@firebase/app": "0.13.2", + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/app-types": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.3.tgz", + "integrity": "sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==" + }, + "node_modules/@firebase/auth": { + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.10.8.tgz", + "integrity": "sha512-GpuTz5ap8zumr/ocnPY57ZanX02COsXloY6Y/2LYPAuXYiaJRf6BAGDEdRq1BMjP93kqQnKNuKZUTMZbQ8MNYA==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@react-native-async-storage/async-storage": "^1.18.1" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, + "node_modules/@firebase/auth-compat": { + "version": "0.5.28", + "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.28.tgz", + "integrity": "sha512-HpMSo/cc6Y8IX7bkRIaPPqT//Jt83iWy5rmDWeThXQCAImstkdNo3giFLORJwrZw2ptiGkOij64EH1ztNJzc7Q==", + "dependencies": { + "@firebase/auth": "1.10.8", + "@firebase/auth-types": "0.13.0", + "@firebase/component": "0.6.18", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/auth-interop-types": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.4.tgz", + "integrity": "sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==" + }, + "node_modules/@firebase/auth-types": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.13.0.tgz", + "integrity": "sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/component": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.18.tgz", + "integrity": "sha512-n28kPCkE2dL2U28fSxZJjzPPVpKsQminJ6NrzcKXAI0E/lYC8YhfwpyllScqVEvAI3J2QgJZWYgrX+1qGI+SQQ==", + "dependencies": { + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/data-connect": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/@firebase/data-connect/-/data-connect-0.3.10.tgz", + "integrity": "sha512-VMVk7zxIkgwlVQIWHOKFahmleIjiVFwFOjmakXPd/LDgaB/5vzwsB5DWIYo+3KhGxWpidQlR8geCIn39YflJIQ==", + "dependencies": { + "@firebase/auth-interop-types": "0.2.4", + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/database": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.20.tgz", + "integrity": "sha512-H9Rpj1pQ1yc9+4HQOotFGLxqAXwOzCHsRSRjcQFNOr8lhUt6LeYjf0NSRL04sc4X0dWe8DsCvYKxMYvFG/iOJw==", + "dependencies": { + "@firebase/app-check-interop-types": "0.3.3", + "@firebase/auth-interop-types": "0.2.4", + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "faye-websocket": "0.11.4", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/database-compat": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-2.0.11.tgz", + "integrity": "sha512-itEsHARSsYS95+udF/TtIzNeQ0Uhx4uIna0sk4E0wQJBUnLc/G1X6D7oRljoOuwwCezRLGvWBRyNrugv/esOEw==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/database": "1.0.20", + "@firebase/database-types": "1.0.15", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/database-types": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.15.tgz", + "integrity": "sha512-XWHJ0VUJ0k2E9HDMlKxlgy/ZuTa9EvHCGLjaKSUvrQnwhgZuRU5N3yX6SZ+ftf2hTzZmfRkv+b3QRvGg40bKNw==", + "dependencies": { + "@firebase/app-types": "0.9.3", + "@firebase/util": "1.12.1" + } + }, + "node_modules/@firebase/firestore": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.8.0.tgz", + "integrity": "sha512-QSRk+Q1/CaabKyqn3C32KSFiOdZpSqI9rpLK5BHPcooElumOBooPFa6YkDdiT+/KhJtel36LdAacha9BptMj2A==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "@firebase/webchannel-wrapper": "1.0.3", + "@grpc/grpc-js": "~1.9.0", + "@grpc/proto-loader": "^0.7.8", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/firestore-compat": { + "version": "0.3.53", + "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.53.tgz", + "integrity": "sha512-qI3yZL8ljwAYWrTousWYbemay2YZa+udLWugjdjju2KODWtLG94DfO4NALJgPLv8CVGcDHNFXoyQexdRA0Cz8Q==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/firestore": "4.8.0", + "@firebase/firestore-types": "3.0.3", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/firestore-types": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.3.tgz", + "integrity": "sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/functions": { + "version": "0.12.9", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.12.9.tgz", + "integrity": "sha512-FG95w6vjbUXN84Ehezc2SDjGmGq225UYbHrb/ptkRT7OTuCiQRErOQuyt1jI1tvcDekdNog+anIObihNFz79Lg==", + "dependencies": { + "@firebase/app-check-interop-types": "0.3.3", + "@firebase/auth-interop-types": "0.2.4", + "@firebase/component": "0.6.18", + "@firebase/messaging-interop-types": "0.2.3", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/functions-compat": { + "version": "0.3.26", + "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.26.tgz", + "integrity": "sha512-A798/6ff5LcG2LTWqaGazbFYnjBW8zc65YfID/en83ALmkhu2b0G8ykvQnLtakbV9ajrMYPn7Yc/XcYsZIUsjA==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/functions": "0.12.9", + "@firebase/functions-types": "0.6.3", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/functions-types": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.3.tgz", + "integrity": "sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==" + }, + "node_modules/@firebase/installations": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.18.tgz", + "integrity": "sha512-NQ86uGAcvO8nBRwVltRL9QQ4Reidc/3whdAasgeWCPIcrhOKDuNpAALa6eCVryLnK14ua2DqekCOX5uC9XbU/A==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/util": "1.12.1", + "idb": "7.1.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/installations-compat": { + "version": "0.2.18", + "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.18.tgz", + "integrity": "sha512-aLFohRpJO5kKBL/XYL4tN+GdwEB/Q6Vo9eZOM/6Kic7asSUgmSfGPpGUZO1OAaSRGwF4Lqnvi1f/f9VZnKzChw==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/installations": "0.6.18", + "@firebase/installations-types": "0.5.3", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/installations-types": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.3.tgz", + "integrity": "sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==", + "peerDependencies": { + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/logger": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.4.tgz", + "integrity": "sha512-mH0PEh1zoXGnaR8gD1DeGeNZtWFKbnz9hDO91dIml3iou1gpOnLqXQ2dJfB71dj6dpmUjcQ6phY3ZZJbjErr9g==", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/messaging": { + "version": "0.12.22", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.22.tgz", + "integrity": "sha512-GJcrPLc+Hu7nk+XQ70Okt3M1u1eRr2ZvpMbzbc54oTPJZySHcX9ccZGVFcsZbSZ6o1uqumm8Oc7OFkD3Rn1/og==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/installations": "0.6.18", + "@firebase/messaging-interop-types": "0.2.3", + "@firebase/util": "1.12.1", + "idb": "7.1.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/messaging-compat": { + "version": "0.2.22", + "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.22.tgz", + "integrity": "sha512-5ZHtRnj6YO6f/QPa/KU6gryjmX4Kg33Kn4gRpNU6M1K47Gm8kcQwPkX7erRUYEH1mIWptfvjvXMHWoZaWjkU7A==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/messaging": "0.12.22", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/messaging-interop-types": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.3.tgz", + "integrity": "sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==" + }, + "node_modules/@firebase/performance": { + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.7.7.tgz", + "integrity": "sha512-JTlTQNZKAd4+Q5sodpw6CN+6NmwbY72av3Lb6wUKTsL7rb3cuBIhQSrslWbVz0SwK3x0ZNcqX24qtRbwKiv+6w==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/installations": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0", + "web-vitals": "^4.2.4" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/performance-compat": { + "version": "0.2.20", + "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.20.tgz", + "integrity": "sha512-XkFK5NmOKCBuqOKWeRgBUFZZGz9SzdTZp4OqeUg+5nyjapTiZ4XoiiUL8z7mB2q+63rPmBl7msv682J3rcDXIQ==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/performance": "0.7.7", + "@firebase/performance-types": "0.2.3", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/performance-types": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.3.tgz", + "integrity": "sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==" + }, + "node_modules/@firebase/remote-config": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.6.5.tgz", + "integrity": "sha512-fU0c8HY0vrVHwC+zQ/fpXSqHyDMuuuglV94VF6Yonhz8Fg2J+KOowPGANM0SZkLvVOYpTeWp3ZmM+F6NjwWLnw==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/installations": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/remote-config-compat": { + "version": "0.2.18", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.18.tgz", + "integrity": "sha512-YiETpldhDy7zUrnS8e+3l7cNs0sL7+tVAxvVYU0lu7O+qLHbmdtAxmgY+wJqWdW2c9nDvBFec7QiF58pEUu0qQ==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/remote-config": "0.6.5", + "@firebase/remote-config-types": "0.4.0", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/remote-config-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.4.0.tgz", + "integrity": "sha512-7p3mRE/ldCNYt8fmWMQ/MSGRmXYlJ15Rvs9Rk17t8p0WwZDbeK7eRmoI1tvCPaDzn9Oqh+yD6Lw+sGLsLg4kKg==" + }, + "node_modules/@firebase/storage": { + "version": "0.13.14", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.13.14.tgz", + "integrity": "sha512-xTq5ixxORzx+bfqCpsh+o3fxOsGoDjC1nO0Mq2+KsOcny3l7beyBhP/y1u5T6mgsFQwI1j6oAkbT5cWdDBx87g==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/storage-compat": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.24.tgz", + "integrity": "sha512-XHn2tLniiP7BFKJaPZ0P8YQXKiVJX+bMyE2j2YWjYfaddqiJnROJYqSomwW6L3Y+gZAga35ONXUJQju6MB6SOQ==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/storage": "0.13.14", + "@firebase/storage-types": "0.8.3", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/storage-types": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.3.tgz", + "integrity": "sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/util": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.1.tgz", + "integrity": "sha512-zGlBn/9Dnya5ta9bX/fgEoNC3Cp8s6h+uYPYaDieZsFOAdHP/ExzQ/eaDgxD3GOROdPkLKpvKY0iIzr9adle0w==", + "hasInstallScript": true, + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/webchannel-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.3.tgz", + "integrity": "sha512-2xCRM9q9FlzGZCdgDMJwc0gyUkWFtkosy7Xxr6sFgQwn+wMNIWd7xIvYNauU1r64B5L5rsGKy/n9TKJ0aAFeqQ==" + }, + "node_modules/@grpc/grpc-js": { + "version": "1.9.15", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.15.tgz", + "integrity": "sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==", + "dependencies": { + "@grpc/proto-loader": "^0.7.8", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@grpc/proto-loader": { + "version": "0.7.15", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.15.tgz", + "integrity": "sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==", + "dependencies": { + "lodash.camelcase": "^4.3.0", + "long": "^5.0.0", + "protobufjs": "^7.2.5", + "yargs": "^17.7.2" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", + "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", + "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", + "cpu": [ + "arm" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.5" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", + "cpu": [ + "s390x" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", + "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", + "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", + "cpu": [ + "wasm32" + ], + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.2.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@invertase/firebaseui-core": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@invertase/firebaseui-core/-/firebaseui-core-0.0.1.tgz", + "integrity": "sha512-ZoXsh0uEo13dc+GL21+jL4rBu/euZheXcGbPFLXdCgPHKX9vKhf6GkGEKghpuCV9SmEs4q66ZECS81DYW3aLxw==", + "dependencies": { + "@invertase/firebaseui-translations": "0.0.1", + "nanostores": "^0.11.3", + "zod": "^3.24.1" + }, + "peerDependencies": { + "firebase": "^11" + } + }, + "node_modules/@invertase/firebaseui-react": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@invertase/firebaseui-react/-/firebaseui-react-0.0.1.tgz", + "integrity": "sha512-ioFiM2cxZxXDIl5VLIYkray1qajTKEHEN9A+od20s3Qwkzn4LbpLHdOeKm58yct2BJOmIkMxD/Kem2eOpsruag==", + "dependencies": { + "@nanostores/react": "^0.8.4", + "@tanstack/react-form": "^0.41.3", + "clsx": "^2.1.1", + "firebase": "^11.2.0", + "nanostores": "^0.11.3", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tailwind-merge": "^3.0.1", + "zod": "^3.24.1" + }, + "peerDependencies": { + "@invertase/firebaseui-core": "0.0.1", + "@invertase/firebaseui-styles": "0.0.1" + } + }, + "node_modules/@invertase/firebaseui-styles": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@invertase/firebaseui-styles/-/firebaseui-styles-0.0.1.tgz", + "integrity": "sha512-fgG4W1iN7VdhepxywWDMPqxZLIcD5P9xu2f24bcS2VUawjzg76aQekBWOVw5WsfsYKGiXW0NUyIXm+14WSZNgg==" + }, + "node_modules/@invertase/firebaseui-translations": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@invertase/firebaseui-translations/-/firebaseui-translations-0.0.1.tgz", + "integrity": "sha512-g6N0Ik8l5ydaMZ4vpW3Oa9/rUm6AdbfwG8oqMt985wulRUUfm2n8IQE1wcLNCQjXqySgZwtTMSvQ9aa1uOup1g==" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nanostores/react": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@nanostores/react/-/react-0.8.4.tgz", + "integrity": "sha512-EciHSzDXg7GmGODjegGG1VldPEinbAK+12/Uz5+MAdHmxf082Rl6eXqKFxAAu4pZAcr5dNTpv6wMfEe7XacjkQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "nanostores": "^0.9.0 || ^0.10.0 || ^0.11.0", + "react": ">=18.0.0" + } + }, + "node_modules/@next/env": { + "version": "15.1.7", + "resolved": "https://registry.npmjs.org/@next/env/-/env-15.1.7.tgz", + "integrity": "sha512-d9jnRrkuOH7Mhi+LHav2XW91HOgTAWHxjMPkXMGBc9B2b7614P7kjt8tAplRvJpbSt4nbO1lugcT/kAaWzjlLQ==" + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "15.1.7", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.1.7.tgz", + "integrity": "sha512-hPFwzPJDpA8FGj7IKV3Yf1web3oz2YsR8du4amKw8d+jAOHfYHYFpMkoF6vgSY4W6vB29RtZEklK9ayinGiCmQ==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "15.1.7", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.1.7.tgz", + "integrity": "sha512-2qoas+fO3OQKkU0PBUfwTiw/EYpN+kdAx62cePRyY1LqKtP09Vp5UcUntfZYajop5fDFTjSxCHfZVRxzi+9FYQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "15.1.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.1.7.tgz", + "integrity": "sha512-sKLLwDX709mPdzxMnRIXLIT9zaX2w0GUlkLYQnKGoXeWUhcvpCrK+yevcwCJPdTdxZEUA0mOXGLdPsGkudGdnA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "15.1.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.1.7.tgz", + "integrity": "sha512-zblK1OQbQWdC8fxdX4fpsHDw+VSpBPGEUX4PhSE9hkaWPrWoeIJn+baX53vbsbDRaDKd7bBNcXRovY1hEhFd7w==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "15.1.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.1.7.tgz", + "integrity": "sha512-GOzXutxuLvLHFDAPsMP2zDBMl1vfUHHpdNpFGhxu90jEzH6nNIgmtw/s1MDwpTOiM+MT5V8+I1hmVFeAUhkbgQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "15.1.7", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.1.7.tgz", + "integrity": "sha512-WrZ7jBhR7ATW1z5iEQ0ZJfE2twCNSXbpCSaAunF3BKcVeHFADSI/AW1y5Xt3DzTqPF1FzQlwQTewqetAABhZRQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "15.1.7", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.1.7.tgz", + "integrity": "sha512-LDnj1f3OVbou1BqvvXVqouJZKcwq++mV2F+oFHptToZtScIEnhNRJAhJzqAtTE2dB31qDYL45xJwrc+bLeKM2Q==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "15.1.7", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.1.7.tgz", + "integrity": "sha512-dC01f1quuf97viOfW05/K8XYv2iuBgAxJZl7mbCKEjMgdQl5JjAKJ0D2qMKZCgPWDeFbFT0Q0nYWwytEW0DWTQ==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@remix-run/node": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/@remix-run/node/-/node-2.17.1.tgz", + "integrity": "sha512-pHmHTuLE1Lwazulx3gjrHobgBCsa+Xiq8WUO0ruLeDfEw2DU0c0SNSiyNkugu3rIZautroBwRaOoy7CWJL9xhQ==", + "dependencies": { + "@remix-run/server-runtime": "2.17.1", + "@remix-run/web-fetch": "^4.4.2", + "@web3-storage/multipart-parser": "^1.0.0", + "cookie-signature": "^1.1.0", + "source-map-support": "^0.5.21", + "stream-slice": "^0.1.2", + "undici": "^6.21.2" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "typescript": "^5.1.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@remix-run/router": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz", + "integrity": "sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@remix-run/server-runtime": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/@remix-run/server-runtime/-/server-runtime-2.17.1.tgz", + "integrity": "sha512-d1Vp9FxX4KafB111vP2E5C1fmWzPI+gHZ674L1drq+N8Bp9U6FBspi7GAZSU5K5Kxa4T6UF+aE1gK6pVi9R8sw==", + "dependencies": { + "@remix-run/router": "1.23.0", + "@types/cookie": "^0.6.0", + "@web3-storage/multipart-parser": "^1.0.0", + "cookie": "^0.7.2", + "set-cookie-parser": "^2.4.8", + "source-map": "^0.7.3", + "turbo-stream": "2.4.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "typescript": "^5.1.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@remix-run/web-blob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-blob/-/web-blob-3.1.0.tgz", + "integrity": "sha512-owGzFLbqPH9PlKb8KvpNJ0NO74HWE2euAn61eEiyCXX/oteoVzTVSN8mpLgDjaxBf2btj5/nUllSUgpyd6IH6g==", + "dependencies": { + "@remix-run/web-stream": "^1.1.0", + "web-encoding": "1.1.5" + } + }, + "node_modules/@remix-run/web-fetch": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@remix-run/web-fetch/-/web-fetch-4.4.2.tgz", + "integrity": "sha512-jgKfzA713/4kAW/oZ4bC3MoLWyjModOVDjFPNseVqcJKSafgIscrYL9G50SurEYLswPuoU3HzSbO0jQCMYWHhA==", + "dependencies": { + "@remix-run/web-blob": "^3.1.0", + "@remix-run/web-file": "^3.1.0", + "@remix-run/web-form-data": "^3.1.0", + "@remix-run/web-stream": "^1.1.0", + "@web3-storage/multipart-parser": "^1.0.0", + "abort-controller": "^3.0.0", + "data-uri-to-buffer": "^3.0.1", + "mrmime": "^1.0.0" + }, + "engines": { + "node": "^10.17 || >=12.3" + } + }, + "node_modules/@remix-run/web-file": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-file/-/web-file-3.1.0.tgz", + "integrity": "sha512-dW2MNGwoiEYhlspOAXFBasmLeYshyAyhIdrlXBi06Duex5tDr3ut2LFKVj7tyHLmn8nnNwFf1BjNbkQpygC2aQ==", + "dependencies": { + "@remix-run/web-blob": "^3.1.0" + } + }, + "node_modules/@remix-run/web-form-data": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-form-data/-/web-form-data-3.1.0.tgz", + "integrity": "sha512-NdeohLMdrb+pHxMQ/Geuzdp0eqPbea+Ieo8M8Jx2lGC6TBHsgHzYcBvr0LyPdPVycNRDEpWpiDdCOdCryo3f9A==", + "dependencies": { + "web-encoding": "1.1.5" + } + }, + "node_modules/@remix-run/web-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-stream/-/web-stream-1.1.0.tgz", + "integrity": "sha512-KRJtwrjRV5Bb+pM7zxcTJkhIqWWSy+MYsIxHK+0m5atcznsf15YwUBWHWulZerV2+vvHH1Lp1DD7pw6qKW8SgA==", + "dependencies": { + "web-streams-polyfill": "^3.1.1" + } + }, + "node_modules/@swc/counter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", + "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" + }, + "node_modules/@swc/helpers": { + "version": "0.5.15", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", + "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", + "dependencies": { + "tslib": "^2.8.0" + } + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.16.tgz", + "integrity": "sha512-BX5iaSsloNuvKNHRN3k2RcCuTEgASTo77mofW0vmeHkfrDWaoFAFvNHpEgtu0eqyypcyiBkDWzSMxJhp3AUVcw==", + "dev": true, + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.19", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.16" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.16.tgz", + "integrity": "sha512-2OSv52FRuhdlgyOQqgtQHuCgXnS8nFSYRp2tJ+4WZXKgTxqPy7SMSls8c3mPT5pkZ17SBToGM5LHEJBO7miEdg==", + "dev": true, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.16", + "@tailwindcss/oxide-darwin-arm64": "4.1.16", + "@tailwindcss/oxide-darwin-x64": "4.1.16", + "@tailwindcss/oxide-freebsd-x64": "4.1.16", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.16", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.16", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.16", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.16", + "@tailwindcss/oxide-linux-x64-musl": "4.1.16", + "@tailwindcss/oxide-wasm32-wasi": "4.1.16", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.16", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.16" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.16.tgz", + "integrity": "sha512-8+ctzkjHgwDJ5caq9IqRSgsP70xhdhJvm+oueS/yhD5ixLhqTw9fSL1OurzMUhBwE5zK26FXLCz2f/RtkISqHA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.16.tgz", + "integrity": "sha512-C3oZy5042v2FOALBZtY0JTDnGNdS6w7DxL/odvSny17ORUnaRKhyTse8xYi3yKGyfnTUOdavRCdmc8QqJYwFKA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.16.tgz", + "integrity": "sha512-vjrl/1Ub9+JwU6BP0emgipGjowzYZMjbWCDqwA2Z4vCa+HBSpP4v6U2ddejcHsolsYxwL5r4bPNoamlV0xDdLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.16.tgz", + "integrity": "sha512-TSMpPYpQLm+aR1wW5rKuUuEruc/oOX3C7H0BTnPDn7W/eMw8W+MRMpiypKMkXZfwH8wqPIRKppuZoedTtNj2tg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.16.tgz", + "integrity": "sha512-p0GGfRg/w0sdsFKBjMYvvKIiKy/LNWLWgV/plR4lUgrsxFAoQBFrXkZ4C0w8IOXfslB9vHK/JGASWD2IefIpvw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.16.tgz", + "integrity": "sha512-DoixyMmTNO19rwRPdqviTrG1rYzpxgyYJl8RgQvdAQUzxC1ToLRqtNJpU/ATURSKgIg6uerPw2feW0aS8SNr/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.16.tgz", + "integrity": "sha512-H81UXMa9hJhWhaAUca6bU2wm5RRFpuHImrwXBUvPbYb+3jo32I9VIwpOX6hms0fPmA6f2pGVlybO6qU8pF4fzQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.16.tgz", + "integrity": "sha512-ZGHQxDtFC2/ruo7t99Qo2TTIvOERULPl5l0K1g0oK6b5PGqjYMga+FcY1wIUnrUxY56h28FxybtDEla+ICOyew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.16.tgz", + "integrity": "sha512-Oi1tAaa0rcKf1Og9MzKeINZzMLPbhxvm7rno5/zuP1WYmpiG0bEHq4AcRUiG2165/WUzvxkW4XDYCscZWbTLZw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.16.tgz", + "integrity": "sha512-B01u/b8LteGRwucIBmCQ07FVXLzImWESAIMcUU6nvFt/tYsQ6IHz8DmZ5KtvmwxD+iTYBtM1xwoGXswnlu9v0Q==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "optional": true, + "dependencies": { + "@emnapi/core": "^1.5.0", + "@emnapi/runtime": "^1.5.0", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.0.7", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.16.tgz", + "integrity": "sha512-zX+Q8sSkGj6HKRTMJXuPvOcP8XfYON24zJBRPlszcH1Np7xuHXhWn8qfFjIujVzvH3BHU+16jBXwgpl20i+v9A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.16.tgz", + "integrity": "sha512-m5dDFJUEejbFqP+UXVstd4W/wnxA4F61q8SoL+mqTypId2T2ZpuxosNSgowiCnLp2+Z+rivdU0AqpfgiD7yCBg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/postcss": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/postcss/-/postcss-4.1.16.tgz", + "integrity": "sha512-Qn3SFGPXYQMKR/UtqS+dqvPrzEeBZHrFA92maT4zijCVggdsXnDBMsPFJo1eArX3J+O+Gi+8pV4PkqjLCNBk3A==", + "dev": true, + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "@tailwindcss/node": "4.1.16", + "@tailwindcss/oxide": "4.1.16", + "postcss": "^8.4.41", + "tailwindcss": "4.1.16" + } + }, + "node_modules/@tanstack/form-core": { + "version": "0.41.4", + "resolved": "https://registry.npmjs.org/@tanstack/form-core/-/form-core-0.41.4.tgz", + "integrity": "sha512-XZJtN7mWJmi3apsc2J+GpWbcsXbv0pWBkZKP47ZW1QD/2Tj1UWsM6JjcaAkzIlrBdaoEFYmrHToLKr/Ddk8BVg==", + "dependencies": { + "@tanstack/store": "^0.7.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/react-form": { + "version": "0.41.4", + "resolved": "https://registry.npmjs.org/@tanstack/react-form/-/react-form-0.41.4.tgz", + "integrity": "sha512-uIfIDZJNqR1dLW03TNByK/woyKd2jfXIrEBq6DPJbqupqyfYXTDo5TMd/7koTYLO4dgTM5wd+2v3uBX3M2bRaA==", + "dependencies": { + "@remix-run/node": "^2.15.0", + "@tanstack/form-core": "0.41.4", + "@tanstack/react-store": "^0.7.0", + "decode-formdata": "^0.8.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "@tanstack/start": "^1.43.13", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@tanstack/start": { + "optional": true + } + } + }, + "node_modules/@tanstack/react-store": { + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.7.tgz", + "integrity": "sha512-qqT0ufegFRDGSof9D/VqaZgjNgp4tRPHZIJq2+QIHkMUtHjaJ0lYrrXjeIUJvjnTbgPfSD1XgOMEt0lmANn6Zg==", + "dependencies": { + "@tanstack/store": "0.7.7", + "use-sync-external-store": "^1.5.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@tanstack/store": { + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.7.7.tgz", + "integrity": "sha512-xa6pTan1bcaqYDS9BDpSiS63qa6EoDkPN9RsRaxHuDdVDNntzq3xNwR5YKTU/V3SkSyC9T4YVOPh2zRQN0nhIQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" + }, + "node_modules/@types/node": { + "version": "20.19.23", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.23.tgz", + "integrity": "sha512-yIdlVVVHXpmqRhtyovZAcSy0MiPcYWGkoO4CGe/+jpP0hmNuihm4XhHbADpK++MsiLHP5MVlv+bcgdF99kSiFQ==", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz", + "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==", + "dev": true, + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.2.tgz", + "integrity": "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw==", + "dev": true, + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@web3-storage/multipart-parser": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@web3-storage/multipart-parser/-/multipart-parser-1.0.0.tgz", + "integrity": "sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==" + }, + "node_modules/@zxing/text-encoding": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", + "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", + "optional": true + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "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/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001751", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz", + "integrity": "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==", + "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/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" + }, + "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==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "optional": true, + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.0" + } + }, + "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/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/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==", + "optional": true, + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/data-uri-to-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", + "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/decode-formdata": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/decode-formdata/-/decode-formdata-0.8.0.tgz", + "integrity": "sha512-iUzDgnWsw5ToSkFY7VPFA5Gfph6ROoOxOB7Ybna4miUSzLZ4KaSJk6IAB2AdW6+C9vCVWhjjNA4gjT6wF3eZHQ==" + }, + "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": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "devOptional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "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/enhanced-resolve": { + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/firebase": { + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-11.10.0.tgz", + "integrity": "sha512-nKBXoDzF0DrXTBQJlZa+sbC5By99ysYU1D6PkMRYknm0nCW7rJly47q492Ht7Ndz5MeYSBuboKuhS1e6mFC03w==", + "dependencies": { + "@firebase/ai": "1.4.1", + "@firebase/analytics": "0.10.17", + "@firebase/analytics-compat": "0.2.23", + "@firebase/app": "0.13.2", + "@firebase/app-check": "0.10.1", + "@firebase/app-check-compat": "0.3.26", + "@firebase/app-compat": "0.4.2", + "@firebase/app-types": "0.9.3", + "@firebase/auth": "1.10.8", + "@firebase/auth-compat": "0.5.28", + "@firebase/data-connect": "0.3.10", + "@firebase/database": "1.0.20", + "@firebase/database-compat": "2.0.11", + "@firebase/firestore": "4.8.0", + "@firebase/firestore-compat": "0.3.53", + "@firebase/functions": "0.12.9", + "@firebase/functions-compat": "0.3.26", + "@firebase/installations": "0.6.18", + "@firebase/installations-compat": "0.2.18", + "@firebase/messaging": "0.12.22", + "@firebase/messaging-compat": "0.2.22", + "@firebase/performance": "0.7.7", + "@firebase/performance-compat": "0.2.20", + "@firebase/remote-config": "0.6.5", + "@firebase/remote-config-compat": "0.2.18", + "@firebase/storage": "0.13.14", + "@firebase/storage-compat": "0.3.24", + "@firebase/util": "1.12.1" + } + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "engines": { + "node": ">= 0.4" + } + }, + "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/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true + }, + "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": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==" + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "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/is-arguments": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.4.tgz", + "integrity": "sha512-m6UrgzFVUYawGBh1dUsWR5M2Clqic9RVXC/9f8ceNlv2IcO9j9J/z8UoCLPqtsPBFNzEpfR3xftohbfqDx8EQA==", + "optional": true + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-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-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/lightningcss": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lilconfig": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.3.tgz", + "integrity": "sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==" + }, + "node_modules/magic-string": { + "version": "0.30.19", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", + "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanostores": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/nanostores/-/nanostores-0.11.4.tgz", + "integrity": "sha512-k1oiVNN4hDK8NcNERSZLQiMfRzEGtfnvZvdBvey3SQbgn8Dcrk0h1I6vpxApjb10PFUflZrgJ2WEZyJQ+5v7YQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/next": { + "version": "15.1.7", + "resolved": "https://registry.npmjs.org/next/-/next-15.1.7.tgz", + "integrity": "sha512-GNeINPGS9c6OZKCvKypbL8GTsT5GhWPp4DM0fzkXJuXMilOO2EeFxuAY6JZbtk6XIl6Ws10ag3xRINDjSO5+wg==", + "dependencies": { + "@next/env": "15.1.7", + "@swc/counter": "0.1.3", + "@swc/helpers": "0.5.15", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001579", + "postcss": "8.4.31", + "styled-jsx": "5.1.6" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "15.1.7", + "@next/swc-darwin-x64": "15.1.7", + "@next/swc-linux-arm64-gnu": "15.1.7", + "@next/swc-linux-arm64-musl": "15.1.7", + "@next/swc-linux-x64-gnu": "15.1.7", + "@next/swc-linux-x64-musl": "15.1.7", + "@next/swc-win32-arm64-msvc": "15.1.7", + "@next/swc-win32-x64-msvc": "15.1.7", + "sharp": "^0.33.5" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "@playwright/test": "^1.41.2", + "babel-plugin-react-compiler": "*", + "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "@playwright/test": { + "optional": true + }, + "babel-plugin-react-compiler": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "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.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-load-config": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.1.1" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "jiti": ">=1.21.0", + "postcss": ">=8.0.9", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/protobufjs": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", + "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/react": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", + "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", + "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.0" + } + }, + "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" + } + }, + "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.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==" + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/server-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/server-only/-/server-only-0.0.1.tgz", + "integrity": "sha512-qepMx2JxAa5jjfzxG79yPPq+8BuFToHd1hm7kI+Z4zAq1ftQiP7HcxMhDDItrbtwVeLg/cY2JnKnrcFkmiswNA==" + }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==" + }, + "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/sharp": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", + "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.5", + "@img/sharp-darwin-x64": "0.33.5", + "@img/sharp-libvips-darwin-arm64": "1.0.4", + "@img/sharp-libvips-darwin-x64": "1.0.4", + "@img/sharp-libvips-linux-arm": "1.0.5", + "@img/sharp-libvips-linux-arm64": "1.0.4", + "@img/sharp-libvips-linux-s390x": "1.0.4", + "@img/sharp-libvips-linux-x64": "1.0.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", + "@img/sharp-libvips-linuxmusl-x64": "1.0.4", + "@img/sharp-linux-arm": "0.33.5", + "@img/sharp-linux-arm64": "0.33.5", + "@img/sharp-linux-s390x": "0.33.5", + "@img/sharp-linux-x64": "0.33.5", + "@img/sharp-linuxmusl-arm64": "0.33.5", + "@img/sharp-linuxmusl-x64": "0.33.5", + "@img/sharp-wasm32": "0.33.5", + "@img/sharp-win32-ia32": "0.33.5", + "@img/sharp-win32-x64": "0.33.5" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.4.tgz", + "integrity": "sha512-nAu1WFPQSMNr2Zn9PGSZK9AGn4t/y97lEm+MXTtUDwfP0ksAIX4nO+6ruD9Jwut4C49SB1Ws+fbXsm/yScWOHw==", + "optional": true, + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/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/stream-slice": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/stream-slice/-/stream-slice-0.1.2.tgz", + "integrity": "sha512-QzQxpoacatkreL6jsxnVb7X5R/pGw9OUv2qWTYWnmLpg4NdN31snPy/f3TdQE1ZUXaThRvj1Zw4/OGg0ZkaLMA==" + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "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==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", + "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/tailwind-merge": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz", + "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.16.tgz", + "integrity": "sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA==", + "dev": true + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "node_modules/turbo-stream": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.1.tgz", + "integrity": "sha512-v8kOJXpG3WoTN/+at8vK7erSzo6nW6CIaeOvNOkHQVDajfz1ZVeSxCbc6tOH4hrGZW7VUCV0TOXd8CPzYnYkrw==" + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "devOptional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.22.0.tgz", + "integrity": "sha512-hU/10obOIu62MGYjdskASR3CUAiYaFTtC9Pa6vHyf//mAipSvSQg6od2CnJswq7fvzNS3zJhxoRkgNVaHurWKw==", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==" + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.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==", + "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/web-encoding": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz", + "integrity": "sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==", + "dependencies": { + "util": "^0.12.3" + }, + "optionalDependencies": { + "@zxing/text-encoding": "0.9.0" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/web-vitals": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz", + "integrity": "sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==" + }, + "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/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/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/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/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + } +} diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json index 27528778..bd7589df 100644 --- a/examples/nextjs/package.json +++ b/examples/nextjs/package.json @@ -9,10 +9,10 @@ "lint": "next lint" }, "dependencies": { - "@firebase-ui/react": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-react-0.0.1.tgz", - "@firebase-ui/core": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-core-0.0.1.tgz", - "@firebase-ui/styles": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-styles-0.0.1.tgz", - "@firebase-ui/translations": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-translations-0.0.1.tgz", + "@invertase/firebaseui-react": "^0.0.1", + "@invertase/firebaseui-core": "^0.0.1", + "@invertase/firebaseui-styles": "^0.0.1", + "@invertase/firebaseui-translations": "^0.0.1", "firebase": "^11.3.1", "next": "15.1.7", "react": "^19.0.0", diff --git a/examples/react/.firebase/hosting.ZGlzdA.cache b/examples/react/.firebase/hosting.ZGlzdA.cache new file mode 100644 index 00000000..c5b73edf --- /dev/null +++ b/examples/react/.firebase/hosting.ZGlzdA.cache @@ -0,0 +1,4 @@ +index.html,1761233163975,50b9fa61852330c3fd92741394fb156ccc223c0fb96c22a3c42417e564fc3cb5 +assets/index-DvKoPU72.css,1761233163975,0466bfa08fc4ff41c7aacba260e3578646d226f0be4fbc1c8773e0483413255c +vite.svg,1761233163825,12b282beddfe94d624e7f1155761299a42ce1e3eac8053ebe3f38bd1fa04816c +assets/index-BqJ57rEM.js,1761233163975,f165dfdc8224f4c3b4a1f87452d8ca6a5236acfd27905d2e733c662c456cd2f8 diff --git a/examples/react/.firebaserc b/examples/react/.firebaserc new file mode 100644 index 00000000..855f8283 --- /dev/null +++ b/examples/react/.firebaserc @@ -0,0 +1,5 @@ +{ + "projects": { + "default": "fir-ui-2025" + } +} diff --git a/examples/react/firebase.json b/examples/react/firebase.json new file mode 100644 index 00000000..6564edd5 --- /dev/null +++ b/examples/react/firebase.json @@ -0,0 +1,12 @@ +{ + "hosting": { + "public": "dist", + "ignore": ["firebase.json", "**/.*", "**/node_modules/**"], + "rewrites": [ + { + "source": "**", + "destination": "/index.html" + } + ] + } +} diff --git a/examples/react/lib/firebase/clientApp.ts b/examples/react/lib/firebase/clientApp.ts index cc06a0c9..f5d550e2 100644 --- a/examples/react/lib/firebase/clientApp.ts +++ b/examples/react/lib/firebase/clientApp.ts @@ -16,11 +16,11 @@ "use client"; -import { initializeApp, getApps } from "firebase/app"; -import { firebaseConfig } from "./config"; +import { initializeUI } from "@invertase/firebaseui-core"; +import { customLanguage, english } from "@invertase/firebaseui-translations"; +import { getApps, initializeApp } from "firebase/app"; import { connectAuthEmulator, getAuth } from "firebase/auth"; -import { autoAnonymousLogin, initializeUI } from "@firebase-ui/core"; -import { customLanguage, english } from "@firebase-ui/translations"; +import { firebaseConfig } from "./config"; export const firebaseApp = getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0]; @@ -29,7 +29,7 @@ export const auth = getAuth(firebaseApp); export const ui = initializeUI({ app: firebaseApp, - behaviors: [autoAnonymousLogin()], + // behaviors: [autoAnonymousLogin()], translations: [ customLanguage(english.locale, { labels: { diff --git a/examples/react/lib/firebase/config.ts b/examples/react/lib/firebase/config.ts index 2d95ca07..ef4305c0 100644 --- a/examples/react/lib/firebase/config.ts +++ b/examples/react/lib/firebase/config.ts @@ -14,6 +14,4 @@ * limitations under the License. */ -export const firebaseConfig = { - // your Firebase config here -}; +export const firebaseConfig = {}; diff --git a/examples/react/lib/firebase/ui.tsx b/examples/react/lib/firebase/ui.tsx index 5620f04d..22c3e837 100644 --- a/examples/react/lib/firebase/ui.tsx +++ b/examples/react/lib/firebase/ui.tsx @@ -16,8 +16,8 @@ "use client"; +import { ConfigProvider } from "@invertase/firebaseui-react"; import { ui } from "./clientApp"; -import { ConfigProvider } from "@firebase-ui/react"; export function FirebaseUIProvider({ children, diff --git a/examples/react/package-lock.json b/examples/react/package-lock.json new file mode 100644 index 00000000..1e668102 --- /dev/null +++ b/examples/react/package-lock.json @@ -0,0 +1,4972 @@ +{ + "name": "react", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "react", + "version": "0.0.0", + "dependencies": { + "@invertase/firebaseui-core": "^0.0.1", + "@invertase/firebaseui-react": "^0.0.1", + "@invertase/firebaseui-styles": "^0.0.1", + "@invertase/firebaseui-translations": "^0.0.1", + "firebase": "^11.6.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "react-router": "^7.5.1" + }, + "devDependencies": { + "@eslint/js": "^9.22.0", + "@tailwindcss/vite": "^4.1.4", + "@types/react": "^19.0.10", + "@types/react-dom": "^19.0.4", + "@vitejs/plugin-react": "^4.3.4", + "eslint": "^9.22.0", + "eslint-plugin-react-hooks": "^5.2.0", + "eslint-plugin-react-refresh": "^0.4.19", + "globals": "^16.0.0", + "tailwindcss": "^4.1.4", + "vite": "^6.3.1" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", + "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", + "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.4", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.4", + "@babel/types": "^7.28.4", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", + "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", + "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", + "dev": true, + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", + "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.28.4" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", + "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.4", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.4", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", + "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz", + "integrity": "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz", + "integrity": "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz", + "integrity": "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz", + "integrity": "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz", + "integrity": "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz", + "integrity": "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz", + "integrity": "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz", + "integrity": "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz", + "integrity": "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz", + "integrity": "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz", + "integrity": "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz", + "integrity": "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz", + "integrity": "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz", + "integrity": "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz", + "integrity": "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz", + "integrity": "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz", + "integrity": "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz", + "integrity": "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz", + "integrity": "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz", + "integrity": "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz", + "integrity": "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz", + "integrity": "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz", + "integrity": "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz", + "integrity": "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz", + "integrity": "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz", + "integrity": "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", + "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.1.tgz", + "integrity": "sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==", + "dev": true, + "dependencies": { + "@eslint/core": "^0.16.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.16.0.tgz", + "integrity": "sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", + "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^10.0.1", + "globals": "^14.0.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "9.38.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.38.0.tgz", + "integrity": "sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/plugin-kit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.0.tgz", + "integrity": "sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==", + "dev": true, + "dependencies": { + "@eslint/core": "^0.16.0", + "levn": "^0.4.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@firebase/ai": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@firebase/ai/-/ai-1.4.1.tgz", + "integrity": "sha512-bcusQfA/tHjUjBTnMx6jdoPMpDl3r8K15Z+snHz9wq0Foox0F/V+kNLXucEOHoTL2hTc9l+onZCyBJs2QoIC3g==", + "dependencies": { + "@firebase/app-check-interop-types": "0.3.3", + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/analytics": { + "version": "0.10.17", + "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.17.tgz", + "integrity": "sha512-n5vfBbvzduMou/2cqsnKrIes4auaBjdhg8QNA2ZQZ59QgtO2QiwBaXQZQE4O4sgB0Ds1tvLgUUkY+pwzu6/xEg==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/installations": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/analytics-compat": { + "version": "0.2.23", + "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.23.tgz", + "integrity": "sha512-3AdO10RN18G5AzREPoFgYhW6vWXr3u+OYQv6pl3CX6Fky8QRk0AHurZlY3Q1xkXO0TDxIsdhO3y65HF7PBOJDw==", + "dependencies": { + "@firebase/analytics": "0.10.17", + "@firebase/analytics-types": "0.8.3", + "@firebase/component": "0.6.18", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/analytics-types": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.3.tgz", + "integrity": "sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==" + }, + "node_modules/@firebase/app": { + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.13.2.tgz", + "integrity": "sha512-jwtMmJa1BXXDCiDx1vC6SFN/+HfYG53UkfJa6qeN5ogvOunzbFDO3wISZy5n9xgYFUrEP6M7e8EG++riHNTv9w==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "idb": "7.1.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/app-check": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.10.1.tgz", + "integrity": "sha512-MgNdlms9Qb0oSny87pwpjKush9qUwCJhfmTJHDfrcKo4neLGiSeVE4qJkzP7EQTIUFKp84pbTxobSAXkiuQVYQ==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/app-check-compat": { + "version": "0.3.26", + "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.26.tgz", + "integrity": "sha512-PkX+XJMLDea6nmnopzFKlr+s2LMQGqdyT2DHdbx1v1dPSqOol2YzgpgymmhC67vitXVpNvS3m/AiWQWWhhRRPQ==", + "dependencies": { + "@firebase/app-check": "0.10.1", + "@firebase/app-check-types": "0.5.3", + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/app-check-interop-types": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.3.tgz", + "integrity": "sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==" + }, + "node_modules/@firebase/app-check-types": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.3.tgz", + "integrity": "sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==" + }, + "node_modules/@firebase/app-compat": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.4.2.tgz", + "integrity": "sha512-LssbyKHlwLeiV8GBATyOyjmHcMpX/tFjzRUCS1jnwGAew1VsBB4fJowyS5Ud5LdFbYpJeS+IQoC+RQxpK7eH3Q==", + "dependencies": { + "@firebase/app": "0.13.2", + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/app-types": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.3.tgz", + "integrity": "sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==" + }, + "node_modules/@firebase/auth": { + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.10.8.tgz", + "integrity": "sha512-GpuTz5ap8zumr/ocnPY57ZanX02COsXloY6Y/2LYPAuXYiaJRf6BAGDEdRq1BMjP93kqQnKNuKZUTMZbQ8MNYA==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app": "0.x", + "@react-native-async-storage/async-storage": "^1.18.1" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + } + } + }, + "node_modules/@firebase/auth-compat": { + "version": "0.5.28", + "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.28.tgz", + "integrity": "sha512-HpMSo/cc6Y8IX7bkRIaPPqT//Jt83iWy5rmDWeThXQCAImstkdNo3giFLORJwrZw2ptiGkOij64EH1ztNJzc7Q==", + "dependencies": { + "@firebase/auth": "1.10.8", + "@firebase/auth-types": "0.13.0", + "@firebase/component": "0.6.18", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/auth-interop-types": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.4.tgz", + "integrity": "sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==" + }, + "node_modules/@firebase/auth-types": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.13.0.tgz", + "integrity": "sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/component": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.18.tgz", + "integrity": "sha512-n28kPCkE2dL2U28fSxZJjzPPVpKsQminJ6NrzcKXAI0E/lYC8YhfwpyllScqVEvAI3J2QgJZWYgrX+1qGI+SQQ==", + "dependencies": { + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/data-connect": { + "version": "0.3.10", + "resolved": "https://registry.npmjs.org/@firebase/data-connect/-/data-connect-0.3.10.tgz", + "integrity": "sha512-VMVk7zxIkgwlVQIWHOKFahmleIjiVFwFOjmakXPd/LDgaB/5vzwsB5DWIYo+3KhGxWpidQlR8geCIn39YflJIQ==", + "dependencies": { + "@firebase/auth-interop-types": "0.2.4", + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/database": { + "version": "1.0.20", + "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.20.tgz", + "integrity": "sha512-H9Rpj1pQ1yc9+4HQOotFGLxqAXwOzCHsRSRjcQFNOr8lhUt6LeYjf0NSRL04sc4X0dWe8DsCvYKxMYvFG/iOJw==", + "dependencies": { + "@firebase/app-check-interop-types": "0.3.3", + "@firebase/auth-interop-types": "0.2.4", + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "faye-websocket": "0.11.4", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/database-compat": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-2.0.11.tgz", + "integrity": "sha512-itEsHARSsYS95+udF/TtIzNeQ0Uhx4uIna0sk4E0wQJBUnLc/G1X6D7oRljoOuwwCezRLGvWBRyNrugv/esOEw==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/database": "1.0.20", + "@firebase/database-types": "1.0.15", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/database-types": { + "version": "1.0.15", + "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.15.tgz", + "integrity": "sha512-XWHJ0VUJ0k2E9HDMlKxlgy/ZuTa9EvHCGLjaKSUvrQnwhgZuRU5N3yX6SZ+ftf2hTzZmfRkv+b3QRvGg40bKNw==", + "dependencies": { + "@firebase/app-types": "0.9.3", + "@firebase/util": "1.12.1" + } + }, + "node_modules/@firebase/firestore": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.8.0.tgz", + "integrity": "sha512-QSRk+Q1/CaabKyqn3C32KSFiOdZpSqI9rpLK5BHPcooElumOBooPFa6YkDdiT+/KhJtel36LdAacha9BptMj2A==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "@firebase/webchannel-wrapper": "1.0.3", + "@grpc/grpc-js": "~1.9.0", + "@grpc/proto-loader": "^0.7.8", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/firestore-compat": { + "version": "0.3.53", + "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.53.tgz", + "integrity": "sha512-qI3yZL8ljwAYWrTousWYbemay2YZa+udLWugjdjju2KODWtLG94DfO4NALJgPLv8CVGcDHNFXoyQexdRA0Cz8Q==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/firestore": "4.8.0", + "@firebase/firestore-types": "3.0.3", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/firestore-types": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.3.tgz", + "integrity": "sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/functions": { + "version": "0.12.9", + "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.12.9.tgz", + "integrity": "sha512-FG95w6vjbUXN84Ehezc2SDjGmGq225UYbHrb/ptkRT7OTuCiQRErOQuyt1jI1tvcDekdNog+anIObihNFz79Lg==", + "dependencies": { + "@firebase/app-check-interop-types": "0.3.3", + "@firebase/auth-interop-types": "0.2.4", + "@firebase/component": "0.6.18", + "@firebase/messaging-interop-types": "0.2.3", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/functions-compat": { + "version": "0.3.26", + "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.26.tgz", + "integrity": "sha512-A798/6ff5LcG2LTWqaGazbFYnjBW8zc65YfID/en83ALmkhu2b0G8ykvQnLtakbV9ajrMYPn7Yc/XcYsZIUsjA==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/functions": "0.12.9", + "@firebase/functions-types": "0.6.3", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/functions-types": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.3.tgz", + "integrity": "sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==" + }, + "node_modules/@firebase/installations": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.18.tgz", + "integrity": "sha512-NQ86uGAcvO8nBRwVltRL9QQ4Reidc/3whdAasgeWCPIcrhOKDuNpAALa6eCVryLnK14ua2DqekCOX5uC9XbU/A==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/util": "1.12.1", + "idb": "7.1.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/installations-compat": { + "version": "0.2.18", + "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.18.tgz", + "integrity": "sha512-aLFohRpJO5kKBL/XYL4tN+GdwEB/Q6Vo9eZOM/6Kic7asSUgmSfGPpGUZO1OAaSRGwF4Lqnvi1f/f9VZnKzChw==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/installations": "0.6.18", + "@firebase/installations-types": "0.5.3", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/installations-types": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.3.tgz", + "integrity": "sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==", + "peerDependencies": { + "@firebase/app-types": "0.x" + } + }, + "node_modules/@firebase/logger": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.4.tgz", + "integrity": "sha512-mH0PEh1zoXGnaR8gD1DeGeNZtWFKbnz9hDO91dIml3iou1gpOnLqXQ2dJfB71dj6dpmUjcQ6phY3ZZJbjErr9g==", + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/messaging": { + "version": "0.12.22", + "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.22.tgz", + "integrity": "sha512-GJcrPLc+Hu7nk+XQ70Okt3M1u1eRr2ZvpMbzbc54oTPJZySHcX9ccZGVFcsZbSZ6o1uqumm8Oc7OFkD3Rn1/og==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/installations": "0.6.18", + "@firebase/messaging-interop-types": "0.2.3", + "@firebase/util": "1.12.1", + "idb": "7.1.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/messaging-compat": { + "version": "0.2.22", + "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.22.tgz", + "integrity": "sha512-5ZHtRnj6YO6f/QPa/KU6gryjmX4Kg33Kn4gRpNU6M1K47Gm8kcQwPkX7erRUYEH1mIWptfvjvXMHWoZaWjkU7A==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/messaging": "0.12.22", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/messaging-interop-types": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.3.tgz", + "integrity": "sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==" + }, + "node_modules/@firebase/performance": { + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.7.7.tgz", + "integrity": "sha512-JTlTQNZKAd4+Q5sodpw6CN+6NmwbY72av3Lb6wUKTsL7rb3cuBIhQSrslWbVz0SwK3x0ZNcqX24qtRbwKiv+6w==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/installations": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0", + "web-vitals": "^4.2.4" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/performance-compat": { + "version": "0.2.20", + "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.20.tgz", + "integrity": "sha512-XkFK5NmOKCBuqOKWeRgBUFZZGz9SzdTZp4OqeUg+5nyjapTiZ4XoiiUL8z7mB2q+63rPmBl7msv682J3rcDXIQ==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/performance": "0.7.7", + "@firebase/performance-types": "0.2.3", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/performance-types": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.3.tgz", + "integrity": "sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==" + }, + "node_modules/@firebase/remote-config": { + "version": "0.6.5", + "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.6.5.tgz", + "integrity": "sha512-fU0c8HY0vrVHwC+zQ/fpXSqHyDMuuuglV94VF6Yonhz8Fg2J+KOowPGANM0SZkLvVOYpTeWp3ZmM+F6NjwWLnw==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/installations": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/remote-config-compat": { + "version": "0.2.18", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.18.tgz", + "integrity": "sha512-YiETpldhDy7zUrnS8e+3l7cNs0sL7+tVAxvVYU0lu7O+qLHbmdtAxmgY+wJqWdW2c9nDvBFec7QiF58pEUu0qQ==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/logger": "0.4.4", + "@firebase/remote-config": "0.6.5", + "@firebase/remote-config-types": "0.4.0", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/remote-config-types": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.4.0.tgz", + "integrity": "sha512-7p3mRE/ldCNYt8fmWMQ/MSGRmXYlJ15Rvs9Rk17t8p0WwZDbeK7eRmoI1tvCPaDzn9Oqh+yD6Lw+sGLsLg4kKg==" + }, + "node_modules/@firebase/storage": { + "version": "0.13.14", + "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.13.14.tgz", + "integrity": "sha512-xTq5ixxORzx+bfqCpsh+o3fxOsGoDjC1nO0Mq2+KsOcny3l7beyBhP/y1u5T6mgsFQwI1j6oAkbT5cWdDBx87g==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app": "0.x" + } + }, + "node_modules/@firebase/storage-compat": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.24.tgz", + "integrity": "sha512-XHn2tLniiP7BFKJaPZ0P8YQXKiVJX+bMyE2j2YWjYfaddqiJnROJYqSomwW6L3Y+gZAga35ONXUJQju6MB6SOQ==", + "dependencies": { + "@firebase/component": "0.6.18", + "@firebase/storage": "0.13.14", + "@firebase/storage-types": "0.8.3", + "@firebase/util": "1.12.1", + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "@firebase/app-compat": "0.x" + } + }, + "node_modules/@firebase/storage-types": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.3.tgz", + "integrity": "sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==", + "peerDependencies": { + "@firebase/app-types": "0.x", + "@firebase/util": "1.x" + } + }, + "node_modules/@firebase/util": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.1.tgz", + "integrity": "sha512-zGlBn/9Dnya5ta9bX/fgEoNC3Cp8s6h+uYPYaDieZsFOAdHP/ExzQ/eaDgxD3GOROdPkLKpvKY0iIzr9adle0w==", + "hasInstallScript": true, + "dependencies": { + "tslib": "^2.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@firebase/webchannel-wrapper": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.3.tgz", + "integrity": "sha512-2xCRM9q9FlzGZCdgDMJwc0gyUkWFtkosy7Xxr6sFgQwn+wMNIWd7xIvYNauU1r64B5L5rsGKy/n9TKJ0aAFeqQ==" + }, + "node_modules/@grpc/grpc-js": { + "version": "1.9.15", + "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.15.tgz", + "integrity": "sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==", + "dependencies": { + "@grpc/proto-loader": "^0.7.8", + "@types/node": ">=12.12.47" + }, + "engines": { + "node": "^8.13.0 || >=10.10.0" + } + }, + "node_modules/@grpc/proto-loader": { + "version": "0.7.15", + "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.15.tgz", + "integrity": "sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==", + "dependencies": { + "lodash.camelcase": "^4.3.0", + "long": "^5.0.0", + "protobufjs": "^7.2.5", + "yargs": "^17.7.2" + }, + "bin": { + "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "dev": true, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "dev": true, + "dependencies": { + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" + }, + "engines": { + "node": ">=18.18.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true, + "engines": { + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@invertase/firebaseui-core": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@invertase/firebaseui-core/-/firebaseui-core-0.0.1.tgz", + "integrity": "sha512-ZoXsh0uEo13dc+GL21+jL4rBu/euZheXcGbPFLXdCgPHKX9vKhf6GkGEKghpuCV9SmEs4q66ZECS81DYW3aLxw==", + "dependencies": { + "@invertase/firebaseui-translations": "0.0.1", + "nanostores": "^0.11.3", + "zod": "^3.24.1" + }, + "peerDependencies": { + "firebase": "^11" + } + }, + "node_modules/@invertase/firebaseui-react": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@invertase/firebaseui-react/-/firebaseui-react-0.0.1.tgz", + "integrity": "sha512-ioFiM2cxZxXDIl5VLIYkray1qajTKEHEN9A+od20s3Qwkzn4LbpLHdOeKm58yct2BJOmIkMxD/Kem2eOpsruag==", + "dependencies": { + "@nanostores/react": "^0.8.4", + "@tanstack/react-form": "^0.41.3", + "clsx": "^2.1.1", + "firebase": "^11.2.0", + "nanostores": "^0.11.3", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tailwind-merge": "^3.0.1", + "zod": "^3.24.1" + }, + "peerDependencies": { + "@invertase/firebaseui-core": "0.0.1", + "@invertase/firebaseui-styles": "0.0.1" + } + }, + "node_modules/@invertase/firebaseui-styles": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@invertase/firebaseui-styles/-/firebaseui-styles-0.0.1.tgz", + "integrity": "sha512-fgG4W1iN7VdhepxywWDMPqxZLIcD5P9xu2f24bcS2VUawjzg76aQekBWOVw5WsfsYKGiXW0NUyIXm+14WSZNgg==" + }, + "node_modules/@invertase/firebaseui-translations": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@invertase/firebaseui-translations/-/firebaseui-translations-0.0.1.tgz", + "integrity": "sha512-g6N0Ik8l5ydaMZ4vpW3Oa9/rUm6AdbfwG8oqMt985wulRUUfm2n8IQE1wcLNCQjXqySgZwtTMSvQ9aa1uOup1g==" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@nanostores/react": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/@nanostores/react/-/react-0.8.4.tgz", + "integrity": "sha512-EciHSzDXg7GmGODjegGG1VldPEinbAK+12/Uz5+MAdHmxf082Rl6eXqKFxAAu4pZAcr5dNTpv6wMfEe7XacjkQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "nanostores": "^0.9.0 || ^0.10.0 || ^0.11.0", + "react": ">=18.0.0" + } + }, + "node_modules/@protobufjs/aspromise": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", + "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" + }, + "node_modules/@protobufjs/base64": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", + "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" + }, + "node_modules/@protobufjs/codegen": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", + "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" + }, + "node_modules/@protobufjs/eventemitter": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", + "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" + }, + "node_modules/@protobufjs/fetch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", + "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", + "dependencies": { + "@protobufjs/aspromise": "^1.1.1", + "@protobufjs/inquire": "^1.1.0" + } + }, + "node_modules/@protobufjs/float": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", + "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" + }, + "node_modules/@protobufjs/inquire": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", + "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" + }, + "node_modules/@protobufjs/path": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", + "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" + }, + "node_modules/@protobufjs/pool": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", + "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" + }, + "node_modules/@protobufjs/utf8": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", + "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" + }, + "node_modules/@remix-run/node": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/@remix-run/node/-/node-2.17.1.tgz", + "integrity": "sha512-pHmHTuLE1Lwazulx3gjrHobgBCsa+Xiq8WUO0ruLeDfEw2DU0c0SNSiyNkugu3rIZautroBwRaOoy7CWJL9xhQ==", + "dependencies": { + "@remix-run/server-runtime": "2.17.1", + "@remix-run/web-fetch": "^4.4.2", + "@web3-storage/multipart-parser": "^1.0.0", + "cookie-signature": "^1.1.0", + "source-map-support": "^0.5.21", + "stream-slice": "^0.1.2", + "undici": "^6.21.2" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "typescript": "^5.1.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@remix-run/router": { + "version": "1.23.0", + "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz", + "integrity": "sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@remix-run/server-runtime": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/@remix-run/server-runtime/-/server-runtime-2.17.1.tgz", + "integrity": "sha512-d1Vp9FxX4KafB111vP2E5C1fmWzPI+gHZ674L1drq+N8Bp9U6FBspi7GAZSU5K5Kxa4T6UF+aE1gK6pVi9R8sw==", + "dependencies": { + "@remix-run/router": "1.23.0", + "@types/cookie": "^0.6.0", + "@web3-storage/multipart-parser": "^1.0.0", + "cookie": "^0.7.2", + "set-cookie-parser": "^2.4.8", + "source-map": "^0.7.3", + "turbo-stream": "2.4.1" + }, + "engines": { + "node": ">=18.0.0" + }, + "peerDependencies": { + "typescript": "^5.1.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@remix-run/web-blob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-blob/-/web-blob-3.1.0.tgz", + "integrity": "sha512-owGzFLbqPH9PlKb8KvpNJ0NO74HWE2euAn61eEiyCXX/oteoVzTVSN8mpLgDjaxBf2btj5/nUllSUgpyd6IH6g==", + "dependencies": { + "@remix-run/web-stream": "^1.1.0", + "web-encoding": "1.1.5" + } + }, + "node_modules/@remix-run/web-fetch": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@remix-run/web-fetch/-/web-fetch-4.4.2.tgz", + "integrity": "sha512-jgKfzA713/4kAW/oZ4bC3MoLWyjModOVDjFPNseVqcJKSafgIscrYL9G50SurEYLswPuoU3HzSbO0jQCMYWHhA==", + "dependencies": { + "@remix-run/web-blob": "^3.1.0", + "@remix-run/web-file": "^3.1.0", + "@remix-run/web-form-data": "^3.1.0", + "@remix-run/web-stream": "^1.1.0", + "@web3-storage/multipart-parser": "^1.0.0", + "abort-controller": "^3.0.0", + "data-uri-to-buffer": "^3.0.1", + "mrmime": "^1.0.0" + }, + "engines": { + "node": "^10.17 || >=12.3" + } + }, + "node_modules/@remix-run/web-file": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-file/-/web-file-3.1.0.tgz", + "integrity": "sha512-dW2MNGwoiEYhlspOAXFBasmLeYshyAyhIdrlXBi06Duex5tDr3ut2LFKVj7tyHLmn8nnNwFf1BjNbkQpygC2aQ==", + "dependencies": { + "@remix-run/web-blob": "^3.1.0" + } + }, + "node_modules/@remix-run/web-form-data": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-form-data/-/web-form-data-3.1.0.tgz", + "integrity": "sha512-NdeohLMdrb+pHxMQ/Geuzdp0eqPbea+Ieo8M8Jx2lGC6TBHsgHzYcBvr0LyPdPVycNRDEpWpiDdCOdCryo3f9A==", + "dependencies": { + "web-encoding": "1.1.5" + } + }, + "node_modules/@remix-run/web-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@remix-run/web-stream/-/web-stream-1.1.0.tgz", + "integrity": "sha512-KRJtwrjRV5Bb+pM7zxcTJkhIqWWSy+MYsIxHK+0m5atcznsf15YwUBWHWulZerV2+vvHH1Lp1DD7pw6qKW8SgA==", + "dependencies": { + "web-streams-polyfill": "^3.1.1" + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.5.tgz", + "integrity": "sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.5.tgz", + "integrity": "sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.5.tgz", + "integrity": "sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.5.tgz", + "integrity": "sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.5.tgz", + "integrity": "sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.5.tgz", + "integrity": "sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.5.tgz", + "integrity": "sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.5.tgz", + "integrity": "sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.5.tgz", + "integrity": "sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.5.tgz", + "integrity": "sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.5.tgz", + "integrity": "sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.5.tgz", + "integrity": "sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.5.tgz", + "integrity": "sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.5.tgz", + "integrity": "sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.5.tgz", + "integrity": "sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.5.tgz", + "integrity": "sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.5.tgz", + "integrity": "sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.5.tgz", + "integrity": "sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.5.tgz", + "integrity": "sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.5.tgz", + "integrity": "sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.5.tgz", + "integrity": "sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.5.tgz", + "integrity": "sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tailwindcss/node": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.16.tgz", + "integrity": "sha512-BX5iaSsloNuvKNHRN3k2RcCuTEgASTo77mofW0vmeHkfrDWaoFAFvNHpEgtu0eqyypcyiBkDWzSMxJhp3AUVcw==", + "dev": true, + "dependencies": { + "@jridgewell/remapping": "^2.3.4", + "enhanced-resolve": "^5.18.3", + "jiti": "^2.6.1", + "lightningcss": "1.30.2", + "magic-string": "^0.30.19", + "source-map-js": "^1.2.1", + "tailwindcss": "4.1.16" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.16.tgz", + "integrity": "sha512-2OSv52FRuhdlgyOQqgtQHuCgXnS8nFSYRp2tJ+4WZXKgTxqPy7SMSls8c3mPT5pkZ17SBToGM5LHEJBO7miEdg==", + "dev": true, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.1.16", + "@tailwindcss/oxide-darwin-arm64": "4.1.16", + "@tailwindcss/oxide-darwin-x64": "4.1.16", + "@tailwindcss/oxide-freebsd-x64": "4.1.16", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.16", + "@tailwindcss/oxide-linux-arm64-gnu": "4.1.16", + "@tailwindcss/oxide-linux-arm64-musl": "4.1.16", + "@tailwindcss/oxide-linux-x64-gnu": "4.1.16", + "@tailwindcss/oxide-linux-x64-musl": "4.1.16", + "@tailwindcss/oxide-wasm32-wasi": "4.1.16", + "@tailwindcss/oxide-win32-arm64-msvc": "4.1.16", + "@tailwindcss/oxide-win32-x64-msvc": "4.1.16" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.16.tgz", + "integrity": "sha512-8+ctzkjHgwDJ5caq9IqRSgsP70xhdhJvm+oueS/yhD5ixLhqTw9fSL1OurzMUhBwE5zK26FXLCz2f/RtkISqHA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.16.tgz", + "integrity": "sha512-C3oZy5042v2FOALBZtY0JTDnGNdS6w7DxL/odvSny17ORUnaRKhyTse8xYi3yKGyfnTUOdavRCdmc8QqJYwFKA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.16.tgz", + "integrity": "sha512-vjrl/1Ub9+JwU6BP0emgipGjowzYZMjbWCDqwA2Z4vCa+HBSpP4v6U2ddejcHsolsYxwL5r4bPNoamlV0xDdLg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.16.tgz", + "integrity": "sha512-TSMpPYpQLm+aR1wW5rKuUuEruc/oOX3C7H0BTnPDn7W/eMw8W+MRMpiypKMkXZfwH8wqPIRKppuZoedTtNj2tg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.16.tgz", + "integrity": "sha512-p0GGfRg/w0sdsFKBjMYvvKIiKy/LNWLWgV/plR4lUgrsxFAoQBFrXkZ4C0w8IOXfslB9vHK/JGASWD2IefIpvw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.16.tgz", + "integrity": "sha512-DoixyMmTNO19rwRPdqviTrG1rYzpxgyYJl8RgQvdAQUzxC1ToLRqtNJpU/ATURSKgIg6uerPw2feW0aS8SNr/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.16.tgz", + "integrity": "sha512-H81UXMa9hJhWhaAUca6bU2wm5RRFpuHImrwXBUvPbYb+3jo32I9VIwpOX6hms0fPmA6f2pGVlybO6qU8pF4fzQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.16.tgz", + "integrity": "sha512-ZGHQxDtFC2/ruo7t99Qo2TTIvOERULPl5l0K1g0oK6b5PGqjYMga+FcY1wIUnrUxY56h28FxybtDEla+ICOyew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.16.tgz", + "integrity": "sha512-Oi1tAaa0rcKf1Og9MzKeINZzMLPbhxvm7rno5/zuP1WYmpiG0bEHq4AcRUiG2165/WUzvxkW4XDYCscZWbTLZw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.16.tgz", + "integrity": "sha512-B01u/b8LteGRwucIBmCQ07FVXLzImWESAIMcUU6nvFt/tYsQ6IHz8DmZ5KtvmwxD+iTYBtM1xwoGXswnlu9v0Q==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "optional": true, + "dependencies": { + "@emnapi/core": "^1.5.0", + "@emnapi/runtime": "^1.5.0", + "@emnapi/wasi-threads": "^1.1.0", + "@napi-rs/wasm-runtime": "^1.0.7", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.4.0" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.16.tgz", + "integrity": "sha512-zX+Q8sSkGj6HKRTMJXuPvOcP8XfYON24zJBRPlszcH1Np7xuHXhWn8qfFjIujVzvH3BHU+16jBXwgpl20i+v9A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.16.tgz", + "integrity": "sha512-m5dDFJUEejbFqP+UXVstd4W/wnxA4F61q8SoL+mqTypId2T2ZpuxosNSgowiCnLp2+Z+rivdU0AqpfgiD7yCBg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.16.tgz", + "integrity": "sha512-bbguNBcDxsRmi9nnlWJxhfDWamY3lmcyACHcdO1crxfzuLpOhHLLtEIN/nCbbAtj5rchUgQD17QVAKi1f7IsKg==", + "dev": true, + "dependencies": { + "@tailwindcss/node": "4.1.16", + "@tailwindcss/oxide": "4.1.16", + "tailwindcss": "4.1.16" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7" + } + }, + "node_modules/@tanstack/form-core": { + "version": "0.41.4", + "resolved": "https://registry.npmjs.org/@tanstack/form-core/-/form-core-0.41.4.tgz", + "integrity": "sha512-XZJtN7mWJmi3apsc2J+GpWbcsXbv0pWBkZKP47ZW1QD/2Tj1UWsM6JjcaAkzIlrBdaoEFYmrHToLKr/Ddk8BVg==", + "dependencies": { + "@tanstack/store": "^0.7.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tanstack/react-form": { + "version": "0.41.4", + "resolved": "https://registry.npmjs.org/@tanstack/react-form/-/react-form-0.41.4.tgz", + "integrity": "sha512-uIfIDZJNqR1dLW03TNByK/woyKd2jfXIrEBq6DPJbqupqyfYXTDo5TMd/7koTYLO4dgTM5wd+2v3uBX3M2bRaA==", + "dependencies": { + "@remix-run/node": "^2.15.0", + "@tanstack/form-core": "0.41.4", + "@tanstack/react-store": "^0.7.0", + "decode-formdata": "^0.8.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "@tanstack/start": "^1.43.13", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@tanstack/start": { + "optional": true + } + } + }, + "node_modules/@tanstack/react-store": { + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.7.tgz", + "integrity": "sha512-qqT0ufegFRDGSof9D/VqaZgjNgp4tRPHZIJq2+QIHkMUtHjaJ0lYrrXjeIUJvjnTbgPfSD1XgOMEt0lmANn6Zg==", + "dependencies": { + "@tanstack/store": "0.7.7", + "use-sync-external-store": "^1.5.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, + "node_modules/@tanstack/store": { + "version": "0.7.7", + "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.7.7.tgz", + "integrity": "sha512-xa6pTan1bcaqYDS9BDpSiS63qa6EoDkPN9RsRaxHuDdVDNntzq3xNwR5YKTU/V3SkSyC9T4YVOPh2zRQN0nhIQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "24.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.1.tgz", + "integrity": "sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==", + "dependencies": { + "undici-types": "~7.16.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz", + "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==", + "dev": true, + "dependencies": { + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.2", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.2.tgz", + "integrity": "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw==", + "dev": true, + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/@web3-storage/multipart-parser": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@web3-storage/multipart-parser/-/multipart-parser-1.0.0.tgz", + "integrity": "sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==" + }, + "node_modules/@zxing/text-encoding": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", + "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", + "optional": true + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": 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" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "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/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/available-typed-arrays": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", + "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", + "dependencies": { + "possible-typed-array-names": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true + }, + "node_modules/baseline-browser-mapping": { + "version": "2.8.20", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.20.tgz", + "integrity": "sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==", + "dev": true, + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/browserslist": { + "version": "4.27.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.27.0.tgz", + "integrity": "sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==", + "dev": true, + "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": { + "baseline-browser-mapping": "^2.8.19", + "caniuse-lite": "^1.0.30001751", + "electron-to-chromium": "^1.5.238", + "node-releases": "^2.0.26", + "update-browserslist-db": "^1.1.4" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + }, + "node_modules/call-bind": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.0", + "es-define-property": "^1.0.0", + "get-intrinsic": "^1.2.4", + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001751", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz", + "integrity": "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==", + "dev": true, + "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/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/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==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "engines": { + "node": ">=6" + } + }, + "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/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/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "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==", + "dev": true + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/data-uri-to-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", + "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-formdata": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/decode-formdata/-/decode-formdata-0.8.0.tgz", + "integrity": "sha512-iUzDgnWsw5ToSkFY7VPFA5Gfph6ROoOxOB7Ybna4miUSzLZ4KaSJk6IAB2AdW6+C9vCVWhjjNA4gjT6wF3eZHQ==" + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "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": { + "es-define-property": "^1.0.0", + "es-errors": "^1.3.0", + "gopd": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.239", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.239.tgz", + "integrity": "sha512-1y5w0Zsq39MSPmEjHjbizvhYoTaulVtivpxkp5q5kaPmQtsK6/2nvAzGRxNMS9DoYySp9PkW0MAQDwU1m764mg==", + "dev": true + }, + "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/enhanced-resolve": { + "version": "5.18.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", + "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.11", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz", + "integrity": "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.11", + "@esbuild/android-arm": "0.25.11", + "@esbuild/android-arm64": "0.25.11", + "@esbuild/android-x64": "0.25.11", + "@esbuild/darwin-arm64": "0.25.11", + "@esbuild/darwin-x64": "0.25.11", + "@esbuild/freebsd-arm64": "0.25.11", + "@esbuild/freebsd-x64": "0.25.11", + "@esbuild/linux-arm": "0.25.11", + "@esbuild/linux-arm64": "0.25.11", + "@esbuild/linux-ia32": "0.25.11", + "@esbuild/linux-loong64": "0.25.11", + "@esbuild/linux-mips64el": "0.25.11", + "@esbuild/linux-ppc64": "0.25.11", + "@esbuild/linux-riscv64": "0.25.11", + "@esbuild/linux-s390x": "0.25.11", + "@esbuild/linux-x64": "0.25.11", + "@esbuild/netbsd-arm64": "0.25.11", + "@esbuild/netbsd-x64": "0.25.11", + "@esbuild/openbsd-arm64": "0.25.11", + "@esbuild/openbsd-x64": "0.25.11", + "@esbuild/openharmony-arm64": "0.25.11", + "@esbuild/sunos-x64": "0.25.11", + "@esbuild/win32-arm64": "0.25.11", + "@esbuild/win32-ia32": "0.25.11", + "@esbuild/win32-x64": "0.25.11" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-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" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "9.38.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.38.0.tgz", + "integrity": "sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.1", + "@eslint/core": "^0.16.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.38.0", + "@eslint/plugin-kit": "^0.4.0", + "@humanfs/node": "^0.16.6", + "@humanwhocodes/module-importer": "^1.0.1", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.6", + "debug": "^4.3.2", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^8.0.0", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", + "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" + } + }, + "node_modules/eslint-plugin-react-refresh": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.24.tgz", + "integrity": "sha512-nLHIW7TEq3aLrEYWpVaJ1dRgFR+wLDPN8e8FpYAql/bMV2oBEfC37K0gLEGgv9fy66juNShSMV8OkTqzltcG/w==", + "dev": true, + "peerDependencies": { + "eslint": ">=8.40" + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "dev": true, + "dependencies": { + "acorn": "^8.15.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/firebase": { + "version": "11.10.0", + "resolved": "https://registry.npmjs.org/firebase/-/firebase-11.10.0.tgz", + "integrity": "sha512-nKBXoDzF0DrXTBQJlZa+sbC5By99ysYU1D6PkMRYknm0nCW7rJly47q492Ht7Ndz5MeYSBuboKuhS1e6mFC03w==", + "dependencies": { + "@firebase/ai": "1.4.1", + "@firebase/analytics": "0.10.17", + "@firebase/analytics-compat": "0.2.23", + "@firebase/app": "0.13.2", + "@firebase/app-check": "0.10.1", + "@firebase/app-check-compat": "0.3.26", + "@firebase/app-compat": "0.4.2", + "@firebase/app-types": "0.9.3", + "@firebase/auth": "1.10.8", + "@firebase/auth-compat": "0.5.28", + "@firebase/data-connect": "0.3.10", + "@firebase/database": "1.0.20", + "@firebase/database-compat": "2.0.11", + "@firebase/firestore": "4.8.0", + "@firebase/firestore-compat": "0.3.53", + "@firebase/functions": "0.12.9", + "@firebase/functions-compat": "0.3.26", + "@firebase/installations": "0.6.18", + "@firebase/installations-compat": "0.2.18", + "@firebase/messaging": "0.12.22", + "@firebase/messaging-compat": "0.2.22", + "@firebase/performance": "0.7.7", + "@firebase/performance-compat": "0.2.20", + "@firebase/remote-config": "0.6.5", + "@firebase/remote-config-compat": "0.2.18", + "@firebase/storage": "0.13.14", + "@firebase/storage-compat": "0.3.24", + "@firebase/util": "1.12.1" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "dev": true + }, + "node_modules/for-each": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", + "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", + "dependencies": { + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/generator-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", + "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/globals": { + "version": "16.4.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", + "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true + }, + "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/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": { + "es-define-property": "^1.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", + "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==" + }, + "node_modules/idb": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", + "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "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/is-arguments": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", + "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", + "dependencies": { + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-function": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", + "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", + "dependencies": { + "call-bound": "^1.0.4", + "generator-function": "^2.0.0", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", + "dependencies": { + "which-typed-array": "^1.1.16" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/jiti": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", + "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", + "dev": true, + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "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==", + "dev": true + }, + "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==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lightningcss": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", + "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", + "dev": true, + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.30.2", + "lightningcss-darwin-arm64": "1.30.2", + "lightningcss-darwin-x64": "1.30.2", + "lightningcss-freebsd-x64": "1.30.2", + "lightningcss-linux-arm-gnueabihf": "1.30.2", + "lightningcss-linux-arm64-gnu": "1.30.2", + "lightningcss-linux-arm64-musl": "1.30.2", + "lightningcss-linux-x64-gnu": "1.30.2", + "lightningcss-linux-x64-musl": "1.30.2", + "lightningcss-win32-arm64-msvc": "1.30.2", + "lightningcss-win32-x64-msvc": "1.30.2" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", + "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", + "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", + "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", + "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", + "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", + "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", + "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", + "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", + "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", + "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.30.2", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", + "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/long": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", + "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==" + }, + "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==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.19", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", + "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/mrmime": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/nanostores": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/nanostores/-/nanostores-0.11.4.tgz", + "integrity": "sha512-k1oiVNN4hDK8NcNERSZLQiMfRzEGtfnvZvdBvey3SQbgn8Dcrk0h1I6vpxApjb10PFUflZrgJ2WEZyJQ+5v7YQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-releases": { + "version": "2.0.26", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.26.tgz", + "integrity": "sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==", + "dev": true + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/possible-typed-array-names": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", + "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "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.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/protobufjs": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", + "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", + "hasInstallScript": true, + "dependencies": { + "@protobufjs/aspromise": "^1.1.2", + "@protobufjs/base64": "^1.1.2", + "@protobufjs/codegen": "^2.0.4", + "@protobufjs/eventemitter": "^1.1.0", + "@protobufjs/fetch": "^1.1.0", + "@protobufjs/float": "^1.0.2", + "@protobufjs/inquire": "^1.1.0", + "@protobufjs/path": "^1.1.2", + "@protobufjs/pool": "^1.1.0", + "@protobufjs/utf8": "^1.1.0", + "@types/node": ">=13.7.0", + "long": "^5.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/react": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", + "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", + "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.0" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-router": { + "version": "7.9.4", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.9.4.tgz", + "integrity": "sha512-SD3G8HKviFHg9xj7dNODUKDFgpG4xqD5nhyd0mYoB5iISepuZAvzSr8ywxgxKJ52yRzf/HWtVHc9AWwoTbljvA==", + "dependencies": { + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, + "node_modules/react-router/node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "engines": { + "node": ">=18" + } + }, + "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" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/rollup": { + "version": "4.52.5", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.5.tgz", + "integrity": "sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.52.5", + "@rollup/rollup-android-arm64": "4.52.5", + "@rollup/rollup-darwin-arm64": "4.52.5", + "@rollup/rollup-darwin-x64": "4.52.5", + "@rollup/rollup-freebsd-arm64": "4.52.5", + "@rollup/rollup-freebsd-x64": "4.52.5", + "@rollup/rollup-linux-arm-gnueabihf": "4.52.5", + "@rollup/rollup-linux-arm-musleabihf": "4.52.5", + "@rollup/rollup-linux-arm64-gnu": "4.52.5", + "@rollup/rollup-linux-arm64-musl": "4.52.5", + "@rollup/rollup-linux-loong64-gnu": "4.52.5", + "@rollup/rollup-linux-ppc64-gnu": "4.52.5", + "@rollup/rollup-linux-riscv64-gnu": "4.52.5", + "@rollup/rollup-linux-riscv64-musl": "4.52.5", + "@rollup/rollup-linux-s390x-gnu": "4.52.5", + "@rollup/rollup-linux-x64-gnu": "4.52.5", + "@rollup/rollup-linux-x64-musl": "4.52.5", + "@rollup/rollup-openharmony-arm64": "4.52.5", + "@rollup/rollup-win32-arm64-msvc": "4.52.5", + "@rollup/rollup-win32-ia32-msvc": "4.52.5", + "@rollup/rollup-win32-x64-gnu": "4.52.5", + "@rollup/rollup-win32-x64-msvc": "4.52.5", + "fsevents": "~2.3.2" + } + }, + "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.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==" + }, + "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/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/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/stream-slice": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/stream-slice/-/stream-slice-0.1.2.tgz", + "integrity": "sha512-QzQxpoacatkreL6jsxnVb7X5R/pGw9OUv2qWTYWnmLpg4NdN31snPy/f3TdQE1ZUXaThRvj1Zw4/OGg0ZkaLMA==" + }, + "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/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-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tailwind-merge": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz", + "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "4.1.16", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.16.tgz", + "integrity": "sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA==", + "dev": true + }, + "node_modules/tapable": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", + "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" + }, + "node_modules/turbo-stream": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.1.tgz", + "integrity": "sha512-v8kOJXpG3WoTN/+at8vK7erSzo6nW6CIaeOvNOkHQVDajfz1ZVeSxCbc6tOH4hrGZW7VUCV0TOXd8CPzYnYkrw==" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/undici": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-6.22.0.tgz", + "integrity": "sha512-hU/10obOIu62MGYjdskASR3CUAiYaFTtC9Pa6vHyf//mAipSvSQg6od2CnJswq7fvzNS3zJhxoRkgNVaHurWKw==", + "engines": { + "node": ">=18.17" + } + }, + "node_modules/undici-types": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", + "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==" + }, + "node_modules/update-browserslist-db": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", + "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", + "dev": true, + "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.2.0", + "picocolors": "^1.1.1" + }, + "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==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", + "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.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==", + "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/vite": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", + "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", + "dev": true, + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/web-encoding": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz", + "integrity": "sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==", + "dependencies": { + "util": "^0.12.3" + }, + "optionalDependencies": { + "@zxing/text-encoding": "0.9.0" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "engines": { + "node": ">= 8" + } + }, + "node_modules/web-vitals": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz", + "integrity": "sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==" + }, + "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/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.19", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", + "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.4", + "for-each": "^0.3.5", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.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/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==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + } + } +} diff --git a/examples/react/package.json b/examples/react/package.json index 90698680..4ded79aa 100644 --- a/examples/react/package.json +++ b/examples/react/package.json @@ -10,10 +10,10 @@ "preview": "vite preview" }, "dependencies": { - "@firebase-ui/react": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-react-0.0.1.tgz", - "@firebase-ui/core": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-core-0.0.1.tgz", - "@firebase-ui/styles": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-styles-0.0.1.tgz", - "@firebase-ui/translations": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-translations-0.0.1.tgz", + "@invertase/firebaseui-react": "^0.0.1", + "@invertase/firebaseui-core": "^0.0.1", + "@invertase/firebaseui-styles": "^0.0.1", + "@invertase/firebaseui-translations": "^0.0.1", "firebase": "^11.6.0", "react": "^19.0.0", "react-dom": "^19.0.0", diff --git a/examples/react/src/index.css b/examples/react/src/index.css index fd915417..cf4c0355 100644 --- a/examples/react/src/index.css +++ b/examples/react/src/index.css @@ -15,7 +15,7 @@ */ @import "tailwindcss"; -@import "@firebase-ui/styles/src/base.css"; +@import "@invertase/firebaseui-styles/src/base.css"; -/* @import "@firebase-ui/styles/src/themes/dark.css"; */ -/* @import "@firebase-ui/styles/src/themes/brutalist.css"; */ \ No newline at end of file +/* @import "@invertase/firebaseui-styles/src/themes/dark.css"; */ +/* @import "@invertase/firebaseui-styles/src/themes/brutalist.css"; */ diff --git a/examples/react/src/screens/email-link-auth-screen-w-oauth.tsx b/examples/react/src/screens/email-link-auth-screen-w-oauth.tsx index b1e15278..2886c411 100644 --- a/examples/react/src/screens/email-link-auth-screen-w-oauth.tsx +++ b/examples/react/src/screens/email-link-auth-screen-w-oauth.tsx @@ -16,7 +16,7 @@ "use client"; -import { EmailLinkAuthScreen, GoogleSignInButton } from "@firebase-ui/react"; +import { EmailLinkAuthScreen, GoogleSignInButton } from "@invertase/firebaseui-react"; export default function EmailLinkAuthScreenWithOAuthPage() { return ( diff --git a/examples/react/src/screens/email-link-auth-screen.tsx b/examples/react/src/screens/email-link-auth-screen.tsx index 6f5f0391..53226173 100644 --- a/examples/react/src/screens/email-link-auth-screen.tsx +++ b/examples/react/src/screens/email-link-auth-screen.tsx @@ -16,7 +16,7 @@ "use client"; -import { EmailLinkAuthScreen } from "@firebase-ui/react"; +import { EmailLinkAuthScreen } from "@invertase/firebaseui-react"; export default function EmailLinkAuthScreenPage() { return ; diff --git a/examples/react/src/screens/oauth-screen.tsx b/examples/react/src/screens/oauth-screen.tsx index 662ccecd..46872be1 100644 --- a/examples/react/src/screens/oauth-screen.tsx +++ b/examples/react/src/screens/oauth-screen.tsx @@ -16,7 +16,7 @@ "use client"; -import { GoogleSignInButton, OAuthScreen } from "@firebase-ui/react"; +import { GoogleSignInButton, OAuthScreen } from "@invertase/firebaseui-react"; export default function OAuthScreenPage() { return ( diff --git a/examples/react/src/screens/password-reset-screen.tsx b/examples/react/src/screens/password-reset-screen.tsx index 0bea4b34..b2d73c6b 100644 --- a/examples/react/src/screens/password-reset-screen.tsx +++ b/examples/react/src/screens/password-reset-screen.tsx @@ -16,7 +16,7 @@ "use client"; -import { PasswordResetScreen } from "@firebase-ui/react"; +import { PasswordResetScreen } from "@invertase/firebaseui-react"; export default function PasswordResetScreenPage() { return ( diff --git a/examples/react/src/screens/phone-auth-screen-w-oauth.tsx b/examples/react/src/screens/phone-auth-screen-w-oauth.tsx index 45637cc5..abb815b5 100644 --- a/examples/react/src/screens/phone-auth-screen-w-oauth.tsx +++ b/examples/react/src/screens/phone-auth-screen-w-oauth.tsx @@ -16,7 +16,7 @@ "use client"; -import { GoogleSignInButton, PhoneAuthScreen } from "@firebase-ui/react"; +import { GoogleSignInButton, PhoneAuthScreen } from "@invertase/firebaseui-react"; export default function PhoneAuthScreenWithOAuthPage() { return ( diff --git a/examples/react/src/screens/phone-auth-screen.tsx b/examples/react/src/screens/phone-auth-screen.tsx index 032a66df..6f88a92a 100644 --- a/examples/react/src/screens/phone-auth-screen.tsx +++ b/examples/react/src/screens/phone-auth-screen.tsx @@ -16,7 +16,7 @@ "use client"; -import { PhoneAuthScreen } from "@firebase-ui/react"; +import { PhoneAuthScreen } from "@invertase/firebaseui-react"; export default function PhoneAuthScreenPage() { return ; diff --git a/examples/react/src/screens/sign-in-auth-screen-w-handlers.tsx b/examples/react/src/screens/sign-in-auth-screen-w-handlers.tsx index a968d8e7..d1b8c002 100644 --- a/examples/react/src/screens/sign-in-auth-screen-w-handlers.tsx +++ b/examples/react/src/screens/sign-in-auth-screen-w-handlers.tsx @@ -16,7 +16,7 @@ "use client"; -import { SignInAuthScreen } from "@firebase-ui/react"; +import { SignInAuthScreen } from "@invertase/firebaseui-react"; export default function SignInAuthScreenWithHandlersPage() { return ( diff --git a/examples/react/src/screens/sign-in-auth-screen-w-oauth.tsx b/examples/react/src/screens/sign-in-auth-screen-w-oauth.tsx index 81de36e7..d178cb98 100644 --- a/examples/react/src/screens/sign-in-auth-screen-w-oauth.tsx +++ b/examples/react/src/screens/sign-in-auth-screen-w-oauth.tsx @@ -16,7 +16,7 @@ "use client"; -import { GoogleSignInButton, SignInAuthScreen } from "@firebase-ui/react"; +import { GoogleSignInButton, SignInAuthScreen } from "@invertase/firebaseui-react"; import { useNavigate } from "react-router"; export default function SignInAuthScreenWithOAuthPage() { diff --git a/examples/react/src/screens/sign-in-auth-screen.tsx b/examples/react/src/screens/sign-in-auth-screen.tsx index 01bac68e..9952a1f3 100644 --- a/examples/react/src/screens/sign-in-auth-screen.tsx +++ b/examples/react/src/screens/sign-in-auth-screen.tsx @@ -16,7 +16,7 @@ "use client"; -import { SignInAuthScreen } from "@firebase-ui/react"; +import { SignInAuthScreen } from "@invertase/firebaseui-react"; export default function SignInAuthScreenPage() { return ; diff --git a/examples/react/src/screens/sign-up-auth-screen-w-oauth.tsx b/examples/react/src/screens/sign-up-auth-screen-w-oauth.tsx index 98a803bd..4c649f2e 100644 --- a/examples/react/src/screens/sign-up-auth-screen-w-oauth.tsx +++ b/examples/react/src/screens/sign-up-auth-screen-w-oauth.tsx @@ -16,7 +16,7 @@ "use client"; -import { GoogleSignInButton, SignUpAuthScreen } from "@firebase-ui/react"; +import { GoogleSignInButton, SignUpAuthScreen } from "@invertase/firebaseui-react"; export default function SignUpAuthScreenWithOAuthPage() { return ( diff --git a/examples/react/src/screens/sign-up-auth-screen.tsx b/examples/react/src/screens/sign-up-auth-screen.tsx index 0af1806a..04b84018 100644 --- a/examples/react/src/screens/sign-up-auth-screen.tsx +++ b/examples/react/src/screens/sign-up-auth-screen.tsx @@ -16,7 +16,7 @@ "use client"; -import { SignUpAuthScreen } from "@firebase-ui/react"; +import { SignUpAuthScreen } from "@invertase/firebaseui-react"; export default function SignUpAuthScreenPage() { return ; diff --git a/package.json b/package.json index 61ad0563..b37a24ac 100644 --- a/package.json +++ b/package.json @@ -4,23 +4,21 @@ "scripts": { "emulators": "firebase emulators:start --only auth", "build": "pnpm run build:translations && pnpm run build:core && pnpm run build:react", - "build:core": "pnpm --filter=@firebase-ui/core run build", - "build:translations": "pnpm --filter=@firebase-ui/translations run build", - "build:react": "pnpm --filter=@firebase-ui/react run build", - "build:angular": "pnpm --filter=@firebase-ui/angular run build", - - "publish:tags:core": "pnpm --filter=@firebase-ui/core run publish:tags", - "publish:tags:translations": "pnpm --filter=@firebase-ui/translations run publish:tags", - "publish:tags:react": "pnpm --filter=@firebase-ui/react run publish:tags", - "publish:tags:angular": "pnpm --filter=@firebase-ui/angular run publish:tags", - "publish:tags:styles": "pnpm --filter=@firebase-ui/styles run publish:tags", + "build:core": "pnpm --filter=@invertase/firebaseui-core run build", + "build:translations": "pnpm --filter=@invertase/firebaseui-translations run build", + "build:react": "pnpm --filter=@invertase/firebaseui-react run build", + "build:angular": "pnpm --filter=@invertase/firebaseui-angular run build", + "publish:tags:core": "pnpm --filter=@invertase/firebaseui-core run publish:tags", + "publish:tags:translations": "pnpm --filter=@invertase/firebaseui-translations run publish:tags", + "publish:tags:react": "pnpm --filter=@invertase/firebaseui-react run publish:tags", + "publish:tags:angular": "pnpm --filter=@invertase/firebaseui-angular run publish:tags", + "publish:tags:styles": "pnpm --filter=@invertase/firebaseui-styles run publish:tags", "publish:tags:all": "pnpm i && pnpm run publish:tags:core && pnpm run publish:tags:translations && pnpm run publish:tags:react && pnpm run publish:tags:styles && pnpm run publish:tags:angular", - - "release:core": "pnpm --filter=@firebase-ui/core run release", - "release:translations": "pnpm --filter=@firebase-ui/translations run release", - "release:react": "pnpm --filter=@firebase-ui/react run release", - "release:angular": "pnpm --filter=@firebase-ui/angular run release", - "release:styles": "pnpm --filter=@firebase-ui/styles run release", + "release:core": "pnpm --filter=@invertase/firebaseui-core run release", + "release:translations": "pnpm --filter=@invertase/firebaseui-translations run release", + "release:react": "pnpm --filter=@invertase/firebaseui-react run release", + "release:angular": "pnpm --filter=@invertase/firebaseui-angular run release", + "release:styles": "pnpm --filter=@invertase/firebaseui-styles run release", "release:all": "pnpm i && pnpm run release:core && pnpm run release:translations && pnpm run release:react && pnpm run release:styles && pnpm run release:angular" }, "devDependencies": { diff --git a/packages/firebaseui-angular/package.json b/packages/firebaseui-angular/package.json index 51fcfd49..9a3de90d 100644 --- a/packages/firebaseui-angular/package.json +++ b/packages/firebaseui-angular/package.json @@ -1,5 +1,5 @@ { - "name": "@firebase-ui/angular", + "name": "@invertase/firebaseui-angular", "version": "0.0.1", "files": [ "dist" @@ -21,8 +21,8 @@ "peerDependencies": { "@angular/common": "^19.1.0", "@angular/core": "^19.1.0", - "@firebase-ui/core": "workspace:*", - "@firebase-ui/translations": "workspace:*" + "@invertase/firebaseui-core": "workspace:*", + "@invertase/firebaseui-translations": "workspace:*" }, "dependencies": { "@tanstack/angular-form": "^1.1.0", @@ -36,6 +36,7 @@ "@angular/forms": "^19.2.11", "@angular/router": "^19.2.11", "ng-packagr": "^19.1.0", - "rxjs": "^7.8.2" + "rxjs": "^7.8.2", + "typescript": "5.7.3" } -} \ No newline at end of file +} diff --git a/packages/firebaseui-angular/src/lib/auth/forms/email-link-form/email-link-form.component.ts b/packages/firebaseui-angular/src/lib/auth/forms/email-link-form/email-link-form.component.ts index 78872526..9188f8d4 100644 --- a/packages/firebaseui-angular/src/lib/auth/forms/email-link-form/email-link-form.component.ts +++ b/packages/firebaseui-angular/src/lib/auth/forms/email-link-form/email-link-form.component.ts @@ -25,7 +25,7 @@ import { FirebaseUIError, completeEmailLinkSignIn, sendSignInLinkToEmail, -} from '@firebase-ui/core'; +} from '@invertase/firebaseui-core'; import { firstValueFrom } from 'rxjs'; @Component({ diff --git a/packages/firebaseui-angular/src/lib/auth/forms/email-password-form/email-password-form.component.ts b/packages/firebaseui-angular/src/lib/auth/forms/email-password-form/email-password-form.component.ts index 863aac93..3b4e06cd 100644 --- a/packages/firebaseui-angular/src/lib/auth/forms/email-password-form/email-password-form.component.ts +++ b/packages/firebaseui-angular/src/lib/auth/forms/email-password-form/email-password-form.component.ts @@ -25,7 +25,7 @@ import { EmailFormSchema, FirebaseUIError, signInWithEmailAndPassword, -} from '@firebase-ui/core'; +} from '@invertase/firebaseui-core'; import { firstValueFrom } from 'rxjs'; import { Router } from '@angular/router'; diff --git a/packages/firebaseui-angular/src/lib/auth/forms/forgot-password-form/forgot-password-form.component.ts b/packages/firebaseui-angular/src/lib/auth/forms/forgot-password-form/forgot-password-form.component.ts index 5bf7fdb9..7ee0ca2f 100644 --- a/packages/firebaseui-angular/src/lib/auth/forms/forgot-password-form/forgot-password-form.component.ts +++ b/packages/firebaseui-angular/src/lib/auth/forms/forgot-password-form/forgot-password-form.component.ts @@ -25,7 +25,7 @@ import { createForgotPasswordFormSchema, FirebaseUIError, sendPasswordResetEmail, -} from '@firebase-ui/core'; +} from '@invertase/firebaseui-core'; import { firstValueFrom } from 'rxjs'; import { Router } from '@angular/router'; diff --git a/packages/firebaseui-angular/src/lib/auth/forms/phone-form/phone-form.component.spec.ts b/packages/firebaseui-angular/src/lib/auth/forms/phone-form/phone-form.component.spec.ts index 55703fac..0aba68b4 100644 --- a/packages/firebaseui-angular/src/lib/auth/forms/phone-form/phone-form.component.spec.ts +++ b/packages/firebaseui-angular/src/lib/auth/forms/phone-form/phone-form.component.spec.ts @@ -27,7 +27,7 @@ import { ConfirmationResult, RecaptchaVerifier, } from '@angular/fire/auth'; -import { FirebaseUIError } from '@firebase-ui/core'; +import { FirebaseUIError } from '@invertase/firebaseui-core'; import { TanStackField } from '@tanstack/angular-form'; import { firstValueFrom, of } from 'rxjs'; import { FirebaseUI, FirebaseUIPolicies } from '../../../provider'; diff --git a/packages/firebaseui-angular/src/lib/auth/forms/phone-form/phone-form.component.ts b/packages/firebaseui-angular/src/lib/auth/forms/phone-form/phone-form.component.ts index 5ce65443..493c99a5 100644 --- a/packages/firebaseui-angular/src/lib/auth/forms/phone-form/phone-form.component.ts +++ b/packages/firebaseui-angular/src/lib/auth/forms/phone-form/phone-form.component.ts @@ -43,7 +43,7 @@ import { formatPhoneNumberWithCountry, confirmPhoneNumber, signInWithPhoneNumber, -} from '@firebase-ui/core'; +} from '@invertase/firebaseui-core'; import { interval, Subscription, firstValueFrom } from 'rxjs'; import { Router } from '@angular/router'; import { takeWhile } from 'rxjs/operators'; diff --git a/packages/firebaseui-angular/src/lib/auth/forms/register-form/register-form.component.ts b/packages/firebaseui-angular/src/lib/auth/forms/register-form/register-form.component.ts index 0edc2594..24eb6aaa 100644 --- a/packages/firebaseui-angular/src/lib/auth/forms/register-form/register-form.component.ts +++ b/packages/firebaseui-angular/src/lib/auth/forms/register-form/register-form.component.ts @@ -24,7 +24,7 @@ import { EmailFormSchema, FirebaseUIError, createUserWithEmailAndPassword, -} from '@firebase-ui/core'; +} from '@invertase/firebaseui-core'; import { Auth } from '@angular/fire/auth'; import { TermsAndPrivacyComponent } from '../../../components/terms-and-privacy/terms-and-privacy.component'; import { firstValueFrom } from 'rxjs'; diff --git a/packages/firebaseui-angular/src/lib/auth/oauth/oauth-button.component.spec.ts b/packages/firebaseui-angular/src/lib/auth/oauth/oauth-button.component.spec.ts index a3fcff3e..0bb631d5 100644 --- a/packages/firebaseui-angular/src/lib/auth/oauth/oauth-button.component.spec.ts +++ b/packages/firebaseui-angular/src/lib/auth/oauth/oauth-button.component.spec.ts @@ -23,7 +23,7 @@ import { tick, } from '@angular/core/testing'; import { Auth, AuthProvider } from '@angular/fire/auth'; -import { FirebaseUIError } from '@firebase-ui/core'; +import { FirebaseUIError } from '@invertase/firebaseui-core'; import { firstValueFrom, of } from 'rxjs'; import { FirebaseUI } from '../../provider'; import { OAuthButtonComponent } from './oauth-button.component'; @@ -34,7 +34,7 @@ const mockFuiSignInWithOAuth = jasmine .and.returnValue(Promise.resolve()); // Mock the firebase-ui/core module -jasmine.createSpyObj('@firebase-ui/core', ['signInWithOAuth']); +jasmine.createSpyObj('@invertase/firebaseui-core', ['signInWithOAuth']); // Mock Button component @Component({ diff --git a/packages/firebaseui-angular/src/lib/auth/oauth/oauth-button.component.ts b/packages/firebaseui-angular/src/lib/auth/oauth/oauth-button.component.ts index 9d06f66c..5e060ba0 100644 --- a/packages/firebaseui-angular/src/lib/auth/oauth/oauth-button.component.ts +++ b/packages/firebaseui-angular/src/lib/auth/oauth/oauth-button.component.ts @@ -19,7 +19,7 @@ import { CommonModule } from '@angular/common'; import { ButtonComponent } from '../../components/button/button.component'; import { FirebaseUI } from '../../provider'; import { Auth, AuthProvider } from '@angular/fire/auth'; -import { FirebaseUIError, signInWithOAuth } from '@firebase-ui/core'; +import { FirebaseUIError, signInWithOAuth } from '@invertase/firebaseui-core'; import { firstValueFrom } from 'rxjs'; @Component({ diff --git a/packages/firebaseui-angular/src/lib/components/country-selector/country-selector.component.spec.ts b/packages/firebaseui-angular/src/lib/components/country-selector/country-selector.component.spec.ts index c01e57f2..26667410 100644 --- a/packages/firebaseui-angular/src/lib/components/country-selector/country-selector.component.spec.ts +++ b/packages/firebaseui-angular/src/lib/components/country-selector/country-selector.component.spec.ts @@ -17,7 +17,7 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { FormsModule } from '@angular/forms'; import { By } from '@angular/platform-browser'; -import { countryData } from '@firebase-ui/core'; +import { countryData } from '@invertase/firebaseui-core'; import { CountrySelectorComponent } from './country-selector.component'; diff --git a/packages/firebaseui-angular/src/lib/components/country-selector/country-selector.component.ts b/packages/firebaseui-angular/src/lib/components/country-selector/country-selector.component.ts index 05a1788b..0d407fea 100644 --- a/packages/firebaseui-angular/src/lib/components/country-selector/country-selector.component.ts +++ b/packages/firebaseui-angular/src/lib/components/country-selector/country-selector.component.ts @@ -16,7 +16,7 @@ import { Component, EventEmitter, Input, Output } from '@angular/core'; import { CommonModule } from '@angular/common'; -import { CountryData, countryData } from '@firebase-ui/core'; +import { CountryData, countryData } from '@invertase/firebaseui-core'; import { FormsModule } from '@angular/forms'; @Component({ diff --git a/packages/firebaseui-angular/src/lib/provider.ts b/packages/firebaseui-angular/src/lib/provider.ts index 618fcc8c..b9c85675 100644 --- a/packages/firebaseui-angular/src/lib/provider.ts +++ b/packages/firebaseui-angular/src/lib/provider.ts @@ -26,11 +26,11 @@ import { FirebaseApps } from '@angular/fire/app'; import { type FirebaseUI as FirebaseUIType, getTranslation, -} from '@firebase-ui/core'; +} from '@invertase/firebaseui-core'; import { distinctUntilChanged, map, takeUntil } from 'rxjs/operators'; import { Observable, ReplaySubject } from 'rxjs'; import { Store } from 'nanostores'; -import { TranslationCategory, TranslationKey } from '@firebase-ui/translations'; +import { TranslationCategory, TranslationKey } from '@invertase/firebaseui-translations'; const FIREBASE_UI_STORE = new InjectionToken( 'firebaseui.store', diff --git a/packages/firebaseui-core/package.json b/packages/firebaseui-core/package.json index 7f0a2fde..1bd1a4ad 100644 --- a/packages/firebaseui-core/package.json +++ b/packages/firebaseui-core/package.json @@ -1,5 +1,5 @@ { - "name": "@firebase-ui/core", + "name": "@invertase/firebaseui-core", "version": "0.0.1", "description": "Core authentication service for Firebase UI", "type": "module", @@ -45,7 +45,7 @@ "firebase": "^11" }, "dependencies": { - "@firebase-ui/translations": "workspace:*", + "@invertase/firebaseui-translations": "workspace:*", "nanostores": "^0.11.3", "zod": "^3.24.1" }, diff --git a/packages/firebaseui-core/src/config.ts b/packages/firebaseui-core/src/config.ts index 235abdfd..91da2053 100644 --- a/packages/firebaseui-core/src/config.ts +++ b/packages/firebaseui-core/src/config.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { english, Locale, RegisteredTranslations, TranslationsConfig } from '@firebase-ui/translations'; +import { english, Locale, RegisteredTranslations, TranslationsConfig } from '@invertase/firebaseui-translations'; import type { FirebaseApp } from 'firebase/app'; import { Auth, getAuth } from 'firebase/auth'; import { deepMap, DeepMapStore, map } from 'nanostores'; diff --git a/packages/firebaseui-core/src/errors.ts b/packages/firebaseui-core/src/errors.ts index 6e41a1e0..48320e45 100644 --- a/packages/firebaseui-core/src/errors.ts +++ b/packages/firebaseui-core/src/errors.ts @@ -21,7 +21,7 @@ import { getTranslation, Locale, TranslationsConfig, -} from '@firebase-ui/translations'; +} from '@invertase/firebaseui-translations'; import { FirebaseUIConfiguration } from './config'; export class FirebaseUIError extends Error { code: string; diff --git a/packages/firebaseui-core/src/schemas.ts b/packages/firebaseui-core/src/schemas.ts index d97796f8..998ea52b 100644 --- a/packages/firebaseui-core/src/schemas.ts +++ b/packages/firebaseui-core/src/schemas.ts @@ -16,7 +16,7 @@ import { z } from 'zod'; import { RecaptchaVerifier } from 'firebase/auth'; -import { type TranslationsConfig, getTranslation } from '@firebase-ui/translations'; +import { type TranslationsConfig, getTranslation } from '@invertase/firebaseui-translations'; export const LoginTypes = ['email', 'phone', 'anonymous', 'emailLink', 'google'] as const; export type LoginType = (typeof LoginTypes)[number]; diff --git a/packages/firebaseui-core/src/translations.ts b/packages/firebaseui-core/src/translations.ts index afccff2e..c2824921 100644 --- a/packages/firebaseui-core/src/translations.ts +++ b/packages/firebaseui-core/src/translations.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { getTranslation as _getTranslation, TranslationCategory, TranslationKey } from '@firebase-ui/translations'; +import { getTranslation as _getTranslation, TranslationCategory, TranslationKey } from '@invertase/firebaseui-translations'; import { FirebaseUIConfiguration } from './config'; export function getTranslation( diff --git a/packages/firebaseui-core/tests/unit/auth.test.ts b/packages/firebaseui-core/tests/unit/auth.test.ts index 5168f528..5716adbc 100644 --- a/packages/firebaseui-core/tests/unit/auth.test.ts +++ b/packages/firebaseui-core/tests/unit/auth.test.ts @@ -45,7 +45,7 @@ import { completeEmailLinkSignIn, } from '../../src/auth'; import { FirebaseUIConfiguration } from '../../src/config'; -import { english } from '@firebase-ui/translations'; +import { english } from '@invertase/firebaseui-translations'; // Mock all Firebase Auth functions vi.mock('firebase/auth', async () => { diff --git a/packages/firebaseui-core/tests/unit/config.test.ts b/packages/firebaseui-core/tests/unit/config.test.ts index ffd2310f..a4f28b73 100644 --- a/packages/firebaseui-core/tests/unit/config.test.ts +++ b/packages/firebaseui-core/tests/unit/config.test.ts @@ -16,7 +16,7 @@ import { describe, it, expect, vi } from 'vitest'; import { initializeUI, $config } from '../../src/config'; -import { english } from '@firebase-ui/translations'; +import { english } from '@invertase/firebaseui-translations'; import { onAuthStateChanged } from 'firebase/auth'; vi.mock('firebase/auth', () => ({ diff --git a/packages/firebaseui-core/tests/unit/errors.test.ts b/packages/firebaseui-core/tests/unit/errors.test.ts index 90518eeb..2cd035fd 100644 --- a/packages/firebaseui-core/tests/unit/errors.test.ts +++ b/packages/firebaseui-core/tests/unit/errors.test.ts @@ -16,7 +16,7 @@ import { describe, it, expect, vi } from 'vitest'; import { FirebaseUIError, handleFirebaseError } from '../../src/errors'; -import { english } from '@firebase-ui/translations'; +import { english } from '@invertase/firebaseui-translations'; describe('FirebaseUIError', () => { describe('constructor', () => { diff --git a/packages/firebaseui-core/tests/unit/translations.test.ts b/packages/firebaseui-core/tests/unit/translations.test.ts index d7e26ad4..d21eb3ea 100644 --- a/packages/firebaseui-core/tests/unit/translations.test.ts +++ b/packages/firebaseui-core/tests/unit/translations.test.ts @@ -16,7 +16,7 @@ import { describe, it, expect, vi } from 'vitest'; import { getTranslation } from '../../src/translations'; -import { english } from '@firebase-ui/translations'; +import { english } from '@invertase/firebaseui-translations'; describe('getTranslation', () => { it('should return default English translation when no custom translations provided', () => { diff --git a/packages/firebaseui-react/package.json b/packages/firebaseui-react/package.json index cd2b7eb3..2044328e 100644 --- a/packages/firebaseui-react/package.json +++ b/packages/firebaseui-react/package.json @@ -1,5 +1,5 @@ { - "name": "@firebase-ui/react", + "name": "@invertase/firebaseui-react", "version": "0.0.1", "type": "module", "main": "./dist/index.cjs", @@ -31,8 +31,8 @@ "release": "pnpm run build && pnpm pack --pack-destination --pack-destination ../../releases/" }, "peerDependencies": { - "@firebase-ui/core": "workspace:*", - "@firebase-ui/styles": "workspace:*" + "@invertase/firebaseui-core": "workspace:*", + "@invertase/firebaseui-styles": "workspace:*" }, "dependencies": { "@nanostores/react": "^0.8.4", diff --git a/packages/firebaseui-react/src/auth/forms/email-link-form.tsx b/packages/firebaseui-react/src/auth/forms/email-link-form.tsx index 965edb86..28f2f1fe 100644 --- a/packages/firebaseui-react/src/auth/forms/email-link-form.tsx +++ b/packages/firebaseui-react/src/auth/forms/email-link-form.tsx @@ -22,7 +22,7 @@ import { createEmailLinkFormSchema, getTranslation, sendSignInLinkToEmail, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { useForm } from "@tanstack/react-form"; import { useEffect, useMemo, useState } from "react"; import { useAuth, useUI } from "~/hooks"; diff --git a/packages/firebaseui-react/src/auth/forms/email-password-form.tsx b/packages/firebaseui-react/src/auth/forms/email-password-form.tsx index 575745fc..61162d89 100644 --- a/packages/firebaseui-react/src/auth/forms/email-password-form.tsx +++ b/packages/firebaseui-react/src/auth/forms/email-password-form.tsx @@ -22,7 +22,7 @@ import { getTranslation, signInWithEmailAndPassword, type EmailFormSchema, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { useForm } from "@tanstack/react-form"; import { useMemo, useState } from "react"; import { useUI } from "~/hooks"; diff --git a/packages/firebaseui-react/src/auth/forms/forgot-password-form.tsx b/packages/firebaseui-react/src/auth/forms/forgot-password-form.tsx index 03e6329a..07d7b37c 100644 --- a/packages/firebaseui-react/src/auth/forms/forgot-password-form.tsx +++ b/packages/firebaseui-react/src/auth/forms/forgot-password-form.tsx @@ -22,7 +22,7 @@ import { getTranslation, sendPasswordResetEmail, type ForgotPasswordFormSchema, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { useForm } from "@tanstack/react-form"; import { useMemo, useState } from "react"; import { useUI } from "~/hooks"; diff --git a/packages/firebaseui-react/src/auth/forms/phone-form.tsx b/packages/firebaseui-react/src/auth/forms/phone-form.tsx index 216a20ef..5f9ec6db 100644 --- a/packages/firebaseui-react/src/auth/forms/phone-form.tsx +++ b/packages/firebaseui-react/src/auth/forms/phone-form.tsx @@ -25,7 +25,7 @@ import { formatPhoneNumberWithCountry, getTranslation, signInWithPhoneNumber, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { useForm } from "@tanstack/react-form"; import { ConfirmationResult, RecaptchaVerifier } from "firebase/auth"; import { useCallback, useEffect, useMemo, useRef, useState } from "react"; diff --git a/packages/firebaseui-react/src/auth/forms/register-form.tsx b/packages/firebaseui-react/src/auth/forms/register-form.tsx index a3b4a2bd..7eb16824 100644 --- a/packages/firebaseui-react/src/auth/forms/register-form.tsx +++ b/packages/firebaseui-react/src/auth/forms/register-form.tsx @@ -22,7 +22,7 @@ import { createUserWithEmailAndPassword, getTranslation, type EmailFormSchema, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { useForm } from "@tanstack/react-form"; import { useMemo, useState } from "react"; import { useUI } from "~/hooks"; diff --git a/packages/firebaseui-react/src/auth/oauth/google-sign-in-button.tsx b/packages/firebaseui-react/src/auth/oauth/google-sign-in-button.tsx index bbd40bb1..de28203e 100644 --- a/packages/firebaseui-react/src/auth/oauth/google-sign-in-button.tsx +++ b/packages/firebaseui-react/src/auth/oauth/google-sign-in-button.tsx @@ -16,7 +16,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { GoogleAuthProvider } from "firebase/auth"; import { useUI } from "~/hooks"; import { OAuthButton } from "./oauth-button"; diff --git a/packages/firebaseui-react/src/auth/oauth/oauth-button.tsx b/packages/firebaseui-react/src/auth/oauth/oauth-button.tsx index cf3ef5ce..47536d52 100644 --- a/packages/firebaseui-react/src/auth/oauth/oauth-button.tsx +++ b/packages/firebaseui-react/src/auth/oauth/oauth-button.tsx @@ -20,7 +20,7 @@ import { FirebaseUIError, getTranslation, signInWithOAuth, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import type { AuthProvider } from "firebase/auth"; import type { PropsWithChildren } from "react"; import { useState } from "react"; diff --git a/packages/firebaseui-react/src/auth/screens/email-link-auth-screen.tsx b/packages/firebaseui-react/src/auth/screens/email-link-auth-screen.tsx index b7634e0f..3408b6ba 100644 --- a/packages/firebaseui-react/src/auth/screens/email-link-auth-screen.tsx +++ b/packages/firebaseui-react/src/auth/screens/email-link-auth-screen.tsx @@ -15,7 +15,7 @@ */ import type { PropsWithChildren } from "react"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { Divider } from "~/components/divider"; import { useUI } from "~/hooks"; import { diff --git a/packages/firebaseui-react/src/auth/screens/oauth-screen.tsx b/packages/firebaseui-react/src/auth/screens/oauth-screen.tsx index c2106352..e9dce2df 100644 --- a/packages/firebaseui-react/src/auth/screens/oauth-screen.tsx +++ b/packages/firebaseui-react/src/auth/screens/oauth-screen.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { useUI } from "~/hooks"; import { Card, diff --git a/packages/firebaseui-react/src/auth/screens/password-reset-screen.tsx b/packages/firebaseui-react/src/auth/screens/password-reset-screen.tsx index 0226ce09..489a21d0 100644 --- a/packages/firebaseui-react/src/auth/screens/password-reset-screen.tsx +++ b/packages/firebaseui-react/src/auth/screens/password-reset-screen.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { useUI } from "~/hooks"; import { Card, diff --git a/packages/firebaseui-react/src/auth/screens/phone-auth-screen.tsx b/packages/firebaseui-react/src/auth/screens/phone-auth-screen.tsx index 460691c4..c71ecbda 100644 --- a/packages/firebaseui-react/src/auth/screens/phone-auth-screen.tsx +++ b/packages/firebaseui-react/src/auth/screens/phone-auth-screen.tsx @@ -15,7 +15,7 @@ */ import type { PropsWithChildren } from "react"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { Divider } from "~/components/divider"; import { useUI } from "~/hooks"; import { diff --git a/packages/firebaseui-react/src/auth/screens/sign-in-auth-screen.tsx b/packages/firebaseui-react/src/auth/screens/sign-in-auth-screen.tsx index ea32aff8..8e478b72 100644 --- a/packages/firebaseui-react/src/auth/screens/sign-in-auth-screen.tsx +++ b/packages/firebaseui-react/src/auth/screens/sign-in-auth-screen.tsx @@ -15,7 +15,7 @@ */ import type { PropsWithChildren } from "react"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { Divider } from "~/components/divider"; import { useUI } from "~/hooks"; import { diff --git a/packages/firebaseui-react/src/auth/screens/sign-up-auth-screen.tsx b/packages/firebaseui-react/src/auth/screens/sign-up-auth-screen.tsx index 2579db44..9e00bf71 100644 --- a/packages/firebaseui-react/src/auth/screens/sign-up-auth-screen.tsx +++ b/packages/firebaseui-react/src/auth/screens/sign-up-auth-screen.tsx @@ -24,7 +24,7 @@ import { CardTitle, } from "../../components/card"; import { RegisterForm } from "../forms/register-form"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; export type SignUpAuthScreenProps = PropsWithChildren<{ onBackToSignInClick?: () => void; diff --git a/packages/firebaseui-react/src/components/country-selector.tsx b/packages/firebaseui-react/src/components/country-selector.tsx index b1064624..3e739477 100644 --- a/packages/firebaseui-react/src/components/country-selector.tsx +++ b/packages/firebaseui-react/src/components/country-selector.tsx @@ -16,7 +16,7 @@ "use client"; -import { CountryData, countryData } from "@firebase-ui/core"; +import { CountryData, countryData } from "@invertase/firebaseui-core"; import { cn } from "~/utils/cn"; interface CountrySelectorProps { diff --git a/packages/firebaseui-react/src/components/policies.tsx b/packages/firebaseui-react/src/components/policies.tsx index a26e7e31..e31be398 100644 --- a/packages/firebaseui-react/src/components/policies.tsx +++ b/packages/firebaseui-react/src/components/policies.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { createContext, useContext } from "react"; import { useUI } from "~/hooks"; diff --git a/packages/firebaseui-react/src/context.tsx b/packages/firebaseui-react/src/context.tsx index c301570f..857d5a79 100644 --- a/packages/firebaseui-react/src/context.tsx +++ b/packages/firebaseui-react/src/context.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { FirebaseUIConfiguration, type FirebaseUI } from "@firebase-ui/core"; +import { FirebaseUIConfiguration, type FirebaseUI } from "@invertase/firebaseui-core"; import { useStore } from "@nanostores/react"; import { type PolicyProps, PolicyProvider } from "~/components/policies"; import { createContext } from "react"; diff --git a/packages/firebaseui-react/src/hooks.ts b/packages/firebaseui-react/src/hooks.ts index 544a1810..cc249ae2 100644 --- a/packages/firebaseui-react/src/hooks.ts +++ b/packages/firebaseui-react/src/hooks.ts @@ -17,7 +17,7 @@ import { useContext, useMemo } from "react"; import { getAuth } from "firebase/auth"; import { FirebaseUIContext } from "./context"; -import { FirebaseUIConfiguration } from "@firebase-ui/core"; +import { FirebaseUIConfiguration } from "@invertase/firebaseui-core"; /** * Get the UI configuration from the context. diff --git a/packages/firebaseui-react/tests/integration/auth/email-link-auth.integration.test.tsx b/packages/firebaseui-react/tests/integration/auth/email-link-auth.integration.test.tsx index 16d7112c..3dbbc8b2 100644 --- a/packages/firebaseui-react/tests/integration/auth/email-link-auth.integration.test.tsx +++ b/packages/firebaseui-react/tests/integration/auth/email-link-auth.integration.test.tsx @@ -19,7 +19,7 @@ import { fireEvent, waitFor, act, render } from "@testing-library/react"; import { EmailLinkForm } from "../../../src/auth/forms/email-link-form"; import { initializeApp } from "firebase/app"; import { getAuth, connectAuthEmulator, deleteUser } from "firebase/auth"; -import { initializeUI } from "@firebase-ui/core"; +import { initializeUI } from "@invertase/firebaseui-core"; import { FirebaseUIProvider } from "~/context"; // Prepare the test environment diff --git a/packages/firebaseui-react/tests/integration/auth/email-password-auth.integration.test.tsx b/packages/firebaseui-react/tests/integration/auth/email-password-auth.integration.test.tsx index 1fdf34f9..278287ce 100644 --- a/packages/firebaseui-react/tests/integration/auth/email-password-auth.integration.test.tsx +++ b/packages/firebaseui-react/tests/integration/auth/email-password-auth.integration.test.tsx @@ -32,7 +32,7 @@ import { deleteUser, } from "firebase/auth"; import { FirebaseUIProvider } from "~/context"; -import { initializeUI } from "@firebase-ui/core"; +import { initializeUI } from "@invertase/firebaseui-core"; // Prepare the test environment const firebaseConfig = { diff --git a/packages/firebaseui-react/tests/integration/auth/forgot-password.integration.test.tsx b/packages/firebaseui-react/tests/integration/auth/forgot-password.integration.test.tsx index 1623b385..78f98e41 100644 --- a/packages/firebaseui-react/tests/integration/auth/forgot-password.integration.test.tsx +++ b/packages/firebaseui-react/tests/integration/auth/forgot-password.integration.test.tsx @@ -26,7 +26,7 @@ import { createUserWithEmailAndPassword, signInWithEmailAndPassword, } from "firebase/auth"; -import { initializeUI } from "@firebase-ui/core"; +import { initializeUI } from "@invertase/firebaseui-core"; import { FirebaseUIProvider } from "~/context"; // Prepare the test environment diff --git a/packages/firebaseui-react/tests/integration/auth/register.integration.test.tsx b/packages/firebaseui-react/tests/integration/auth/register.integration.test.tsx index ab204dd2..787589ef 100644 --- a/packages/firebaseui-react/tests/integration/auth/register.integration.test.tsx +++ b/packages/firebaseui-react/tests/integration/auth/register.integration.test.tsx @@ -25,7 +25,7 @@ import { signOut, signInWithEmailAndPassword, } from "firebase/auth"; -import { initializeUI } from "@firebase-ui/core"; +import { initializeUI } from "@invertase/firebaseui-core"; import { FirebaseUIProvider } from "~/context"; // Prepare the test environment diff --git a/packages/firebaseui-react/tests/unit/auth/forms/email-link-form.test.tsx b/packages/firebaseui-react/tests/unit/auth/forms/email-link-form.test.tsx index 86d847b8..4fbbf9ec 100644 --- a/packages/firebaseui-react/tests/unit/auth/forms/email-link-form.test.tsx +++ b/packages/firebaseui-react/tests/unit/auth/forms/email-link-form.test.tsx @@ -19,8 +19,8 @@ import { render, screen, fireEvent, act } from "@testing-library/react"; import { EmailLinkForm } from "../../../../src/auth/forms/email-link-form"; // Mock Firebase UI Core -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); const FirebaseUIError = vi.fn(); FirebaseUIError.prototype.message = "Test error message"; @@ -52,7 +52,7 @@ import { FirebaseUIError, sendSignInLinkToEmail, completeEmailLinkSignIn, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; // Mock React's useState to control state for testing const useStateMock = vi.fn(); diff --git a/packages/firebaseui-react/tests/unit/auth/forms/email-password-form.test.tsx b/packages/firebaseui-react/tests/unit/auth/forms/email-password-form.test.tsx index c9f7f711..fbb99e82 100644 --- a/packages/firebaseui-react/tests/unit/auth/forms/email-password-form.test.tsx +++ b/packages/firebaseui-react/tests/unit/auth/forms/email-password-form.test.tsx @@ -20,8 +20,8 @@ import { EmailPasswordForm } from "../../../../src/auth/forms/email-password-for import { act } from "react"; // Mock the dependencies -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, signInWithEmailAndPassword: vi.fn().mockResolvedValue(undefined), @@ -110,7 +110,7 @@ vi.mock("../../../../src/components/button", () => ({ })); // Import the actual functions after mocking -import { signInWithEmailAndPassword } from "@firebase-ui/core"; +import { signInWithEmailAndPassword } from "@invertase/firebaseui-core"; describe("EmailPasswordForm", () => { beforeEach(() => { diff --git a/packages/firebaseui-react/tests/unit/auth/forms/forgot-password-form.test.tsx b/packages/firebaseui-react/tests/unit/auth/forms/forgot-password-form.test.tsx index efacc50c..7248553b 100644 --- a/packages/firebaseui-react/tests/unit/auth/forms/forgot-password-form.test.tsx +++ b/packages/firebaseui-react/tests/unit/auth/forms/forgot-password-form.test.tsx @@ -20,8 +20,8 @@ import { ForgotPasswordForm } from "../../../../src/auth/forms/forgot-password-f import { act } from "react"; // Mock the dependencies -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, sendPasswordResetEmail: vi.fn().mockImplementation(() => { @@ -116,7 +116,7 @@ vi.mock("../../../../src/components/button", () => ({ })); // Import the actual functions after mocking -import { sendPasswordResetEmail } from "@firebase-ui/core"; +import { sendPasswordResetEmail } from "@invertase/firebaseui-core"; describe("ForgotPasswordForm", () => { beforeEach(() => { diff --git a/packages/firebaseui-react/tests/unit/auth/forms/phone-form.test.tsx b/packages/firebaseui-react/tests/unit/auth/forms/phone-form.test.tsx index 05a1494b..351964c9 100644 --- a/packages/firebaseui-react/tests/unit/auth/forms/phone-form.test.tsx +++ b/packages/firebaseui-react/tests/unit/auth/forms/phone-form.test.tsx @@ -30,8 +30,8 @@ vi.mock("firebase/auth", () => ({ })); // Mock the core dependencies -vi.mock("@firebase-ui/core", async (originalImport) => { - const mod = await originalImport(); +vi.mock("@invertase/firebaseui-core", async (originalImport) => { + const mod = await originalImport(); return { ...mod, signInWithPhoneNumber: vi.fn().mockResolvedValue({ @@ -158,7 +158,7 @@ vi.mock("../../../../src/components/country-selector", () => ({ })); // Import the actual functions after mocking -import { signInWithPhoneNumber } from "@firebase-ui/core"; +import { signInWithPhoneNumber } from "@invertase/firebaseui-core"; describe("PhoneForm", () => { beforeEach(() => { diff --git a/packages/firebaseui-react/tests/unit/auth/forms/register-form.test.tsx b/packages/firebaseui-react/tests/unit/auth/forms/register-form.test.tsx index f85f7b3f..8252260f 100644 --- a/packages/firebaseui-react/tests/unit/auth/forms/register-form.test.tsx +++ b/packages/firebaseui-react/tests/unit/auth/forms/register-form.test.tsx @@ -20,8 +20,8 @@ import { RegisterForm } from "../../../../src/auth/forms/register-form"; import { act } from "react"; // Mock the dependencies -vi.mock("@firebase-ui/core", async (originalImport) => { - const mod = await originalImport(); +vi.mock("@invertase/firebaseui-core", async (originalImport) => { + const mod = await originalImport(); return { ...mod, createUserWithEmailAndPassword: vi.fn().mockResolvedValue(undefined), @@ -107,7 +107,7 @@ vi.mock("../../../../src/components/button", () => ({ })); // Import the actual functions after mocking -import { createUserWithEmailAndPassword } from "@firebase-ui/core"; +import { createUserWithEmailAndPassword } from "@invertase/firebaseui-core"; describe("RegisterForm", () => { beforeEach(() => { diff --git a/packages/firebaseui-react/tests/unit/auth/oauth/oauth-button.test.tsx b/packages/firebaseui-react/tests/unit/auth/oauth/oauth-button.test.tsx index e3feb082..12e56a56 100644 --- a/packages/firebaseui-react/tests/unit/auth/oauth/oauth-button.test.tsx +++ b/packages/firebaseui-react/tests/unit/auth/oauth/oauth-button.test.tsx @@ -19,11 +19,11 @@ import { render, screen, fireEvent, waitFor } from "@testing-library/react"; import "@testing-library/jest-dom"; import { OAuthButton } from "../../../../src/auth/oauth/oauth-button"; import type { AuthProvider } from "firebase/auth"; -import { signInWithOAuth } from "@firebase-ui/core"; +import { signInWithOAuth } from "@invertase/firebaseui-core"; // Mock signInWithOAuth function -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, signInWithOAuth: vi.fn(), diff --git a/packages/firebaseui-react/tests/unit/auth/screens/oauth-screen.test.tsx b/packages/firebaseui-react/tests/unit/auth/screens/oauth-screen.test.tsx index 0973269b..9f7d72a8 100644 --- a/packages/firebaseui-react/tests/unit/auth/screens/oauth-screen.test.tsx +++ b/packages/firebaseui-react/tests/unit/auth/screens/oauth-screen.test.tsx @@ -34,7 +34,7 @@ vi.mock("~/hooks", () => ({ })); // Mock getTranslation -// vi.mock("@firebase-ui/core", () => ({ +// vi.mock("@invertase/firebaseui-core", () => ({ // getTranslation: vi.fn((category, key) => { // if (category === "labels" && key === "signIn") return "Sign In"; // if (category === "prompts" && key === "signInToAccount") diff --git a/packages/firebaseui-react/tests/unit/auth/screens/sign-up-auth-screen.test.tsx b/packages/firebaseui-react/tests/unit/auth/screens/sign-up-auth-screen.test.tsx index f9dcd17f..8b0f281e 100644 --- a/packages/firebaseui-react/tests/unit/auth/screens/sign-up-auth-screen.test.tsx +++ b/packages/firebaseui-react/tests/unit/auth/screens/sign-up-auth-screen.test.tsx @@ -37,7 +37,7 @@ vi.mock("~/hooks", () => ({ })); // Mock translations -// vi.mock("@firebase-ui/core", () => ({ +// vi.mock("@invertase/firebaseui-core", () => ({ // getTranslation: vi.fn((category, key) => { // if (category === "labels" && key === "register") return "Create Account"; // if (category === "prompts" && key === "enterDetailsToCreate") diff --git a/packages/firebaseui-react/tests/unit/components/country-selector.test.tsx b/packages/firebaseui-react/tests/unit/components/country-selector.test.tsx index 14feb24c..30304ccb 100644 --- a/packages/firebaseui-react/tests/unit/components/country-selector.test.tsx +++ b/packages/firebaseui-react/tests/unit/components/country-selector.test.tsx @@ -18,7 +18,7 @@ import { describe, it, expect, vi, beforeEach } from "vitest"; import { render, screen, fireEvent } from "@testing-library/react"; import "@testing-library/jest-dom"; import { CountrySelector } from "../../../src/components/country-selector"; -import { countryData } from "@firebase-ui/core"; +import { countryData } from "@invertase/firebaseui-core"; describe("CountrySelector Component", () => { const mockOnChange = vi.fn(); diff --git a/packages/firebaseui-react/tests/unit/context/config-provider.test.tsx b/packages/firebaseui-react/tests/unit/context/config-provider.test.tsx index 44ae2b50..d3d7a100 100644 --- a/packages/firebaseui-react/tests/unit/context/config-provider.test.tsx +++ b/packages/firebaseui-react/tests/unit/context/config-provider.test.tsx @@ -19,7 +19,7 @@ import { render, act } from "@testing-library/react"; import { FirebaseUIProvider, FirebaseUIContext } from "../../../src/context"; import { map } from "nanostores"; import { useContext } from "react"; -import { FirebaseUI, FirebaseUIConfiguration } from "@firebase-ui/core"; +import { FirebaseUI, FirebaseUIConfiguration } from "@invertase/firebaseui-core"; // Mock component to test context value function TestConsumer() { diff --git a/packages/firebaseui-react/vite.config.ts b/packages/firebaseui-react/vite.config.ts index 60daa88f..0d243edb 100644 --- a/packages/firebaseui-react/vite.config.ts +++ b/packages/firebaseui-react/vite.config.ts @@ -23,7 +23,7 @@ export default defineConfig({ plugins: [react()], resolve: { alias: { - "@firebase-ui/core": path.resolve(__dirname, "../firebaseui-core/src"), + "@invertase/firebaseui-core": path.resolve(__dirname, "../firebaseui-core/src"), "~": path.resolve(__dirname, "./src"), }, }, diff --git a/packages/firebaseui-styles/dist.css b/packages/firebaseui-styles/dist.css index 7bdd1f33..1382b761 100644 --- a/packages/firebaseui-styles/dist.css +++ b/packages/firebaseui-styles/dist.css @@ -1,2 +1,2 @@ -/*! tailwindcss v4.1.5 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(.637 .237 25.331);--color-gray-200:oklch(.928 .006 264.531);--color-gray-300:oklch(.872 .01 258.338);--color-gray-800:oklch(.278 .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-bold:700;--radius-sm:.25rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(--font-sans--font-variation-settings);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(--font-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-mono--font-variation-settings);--radius:var(--fui-radius);--color-primary:var(--fui-primary);--color-primary-hover:var(--fui-primary-hover);--color-primary-surface:var(--fui-primary-surface);--color-text:var(--fui-text);--color-text-muted:var(--fui-text-muted);--color-background:var(--fui-background);--color-border:var(--fui-border);--color-input:var(--fui-input);--color-error:var(--fui-error);--radius-card:var(--fui-radius-card)}:root{--fui-primary:var(--color-black);--fui-primary-hover:var(--fui-primary);--fui-primary-surface:var(--color-white);--fui-text:var(--color-black);--fui-text-muted:var(--color-gray-800);--fui-background:var(--color-white);--fui-border:var(--color-gray-200);--fui-input:var(--color-gray-300);--fui-error:var(--color-red-500);--fui-radius:var(--radius-sm);--fui-radius-card:var(--radius-xl)}@supports (color:color-mix(in lab, red, red)){:root{--fui-primary-hover:color-mix(in oklab,var(--fui-primary)85%,transparent)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentColor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.fui-screen{max-width:var(--container-md);padding-top:calc(var(--spacing)*24);margin-inline:auto}.fui-card{border-radius:var(--radius-card);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-background);padding:calc(var(--spacing)*10)}:where(.fui-card>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.fui-card__header{text-align:center}:where(.fui-card__header>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}.fui-card__title{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-text)}.fui-card__subtitle{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-muted)}:where(.fui-form>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.fui-form fieldset,.fui-form fieldset>label{gap:calc(var(--spacing)*2);color:var(--color-text);flex-direction:column;display:flex}.fui-form fieldset>label>span{gap:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);display:inline-flex}.fui-form .fui-form__action{padding-inline:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}@media (hover:hover){.fui-form .fui-form__action:hover{text-decoration-line:underline}}.fui-form fieldset>label>input{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}.fui-form fieldset>label>input:focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}.fui-form fieldset>label>input[aria-invalid=true]{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}.fui-form .fui-form__error{text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-error)}.fui-success{text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fui-button{justify-content:center;align-items:center;gap:calc(var(--spacing)*3);border-radius:var(--radius);background-color:var(--color-primary);width:100%;padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-primary-surface);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,visibility,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media (hover:hover){.fui-button:hover{cursor:pointer;background-color:var(--color-primary-hover)}}.fui-button:disabled{cursor:not-allowed;opacity:.5}.fui-button--secondary{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);color:var(--color-text);background-color:#0000}@media (hover:hover){.fui-button--secondary:hover{border-color:var(--color-primary);background-color:var(--color-background)}}.fui-provider__button>svg{height:calc(var(--spacing)*5);width:calc(var(--spacing)*5)}.fui-divider{align-items:center;gap:calc(var(--spacing)*3);display:flex}.fui-divider__line{background-color:var(--color-border);flex:1;height:1px}.fui-divider__text{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}.fui-phone-input{align-items:center;gap:calc(var(--spacing)*2);display:flex}.fui-phone-input__number-input{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000;flex:1}.fui-phone-input__number-input:focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}.fui-phone-input__number-input[aria-invalid=true]{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}.fui-country-selector{width:80px;display:inline-block;position:relative}.fui-country-selector__wrapper{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);background-color:#0000;align-items:center;display:flex;position:relative;overflow:hidden}.fui-country-selector__flag{pointer-events:none;left:calc(var(--spacing)*2);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));position:absolute}.fui-country-selector select{cursor:pointer;appearance:none;width:100%;padding-block:calc(var(--spacing)*2);padding-right:calc(var(--spacing)*2);padding-left:calc(var(--spacing)*8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#0000;--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}.fui-country-selector select:focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}.fui-country-selector__dial-code{pointer-events:none;top:50%;left:calc(var(--spacing)*8);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text);position:absolute}}@layer utilities;@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0} \ No newline at end of file +/*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */ +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(63.7% .237 25.331);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-bold:700;--radius-sm:.25rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--radius:var(--fui-radius);--color-primary:var(--fui-primary);--color-primary-hover:var(--fui-primary-hover);--color-primary-surface:var(--fui-primary-surface);--color-text:var(--fui-text);--color-text-muted:var(--fui-text-muted);--color-background:var(--fui-background);--color-border:var(--fui-border);--color-input:var(--fui-input);--color-error:var(--fui-error);--radius-card:var(--fui-radius-card)}:root{--fui-primary:var(--color-black);--fui-primary-hover:var(--fui-primary)}@supports (color:color-mix(in lab, red, red)){:root{--fui-primary-hover:color-mix(in oklab,var(--fui-primary)85%,transparent)}}:root{--fui-primary-surface:var(--color-white);--fui-text:var(--color-black);--fui-text-muted:var(--color-gray-800);--fui-background:var(--color-white);--fui-border:var(--color-gray-200);--fui-input:var(--color-gray-300);--fui-error:var(--color-red-500);--fui-radius:var(--radius-sm);--fui-radius-card:var(--radius-xl)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components{.fui-screen{max-width:var(--container-md);padding-top:calc(var(--spacing)*24);margin-inline:auto}:where(.fui-card>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.fui-card{border-radius:var(--radius-card);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-background);padding:calc(var(--spacing)*10)}:where(.fui-card__header>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}.fui-card__header{text-align:center}.fui-card__title{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-text)}.fui-card__subtitle{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-muted)}:where(.fui-form>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.fui-form fieldset,.fui-form fieldset>label{gap:calc(var(--spacing)*2);color:var(--color-text);flex-direction:column;display:flex}.fui-form fieldset>label>span{gap:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);display:inline-flex}.fui-form .fui-form__action{padding-inline:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}@media (hover:hover){.fui-form .fui-form__action:hover{text-decoration-line:underline}}.fui-form fieldset>label>input{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}.fui-form fieldset>label>input:focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}.fui-form fieldset>label>input[aria-invalid=true]{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}.fui-form .fui-form__error{text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-error)}.fui-success{text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fui-button{justify-content:center;align-items:center;gap:calc(var(--spacing)*3);border-radius:var(--radius);background-color:var(--color-primary);width:100%;padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-primary-surface);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media (hover:hover){.fui-button:hover{cursor:pointer;background-color:var(--color-primary-hover)}}.fui-button:disabled{cursor:not-allowed;opacity:.5}.fui-button--secondary{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);color:var(--color-text);background-color:#0000}@media (hover:hover){.fui-button--secondary:hover{border-color:var(--color-primary);background-color:var(--color-background)}}.fui-provider__button>svg{height:calc(var(--spacing)*5);width:calc(var(--spacing)*5)}.fui-divider{align-items:center;gap:calc(var(--spacing)*3);display:flex}.fui-divider__line{background-color:var(--color-border);flex:1;height:1px}.fui-divider__text{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}.fui-phone-input{align-items:center;gap:calc(var(--spacing)*2);display:flex}.fui-phone-input__number-input{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000;flex:1}.fui-phone-input__number-input:focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}.fui-phone-input__number-input[aria-invalid=true]{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}.fui-country-selector{width:80px;display:inline-block;position:relative}.fui-country-selector__wrapper{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);background-color:#0000;align-items:center;display:flex;position:relative;overflow:hidden}.fui-country-selector__flag{pointer-events:none;left:calc(var(--spacing)*2);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));position:absolute}.fui-country-selector select{cursor:pointer;appearance:none;width:100%;padding-block:calc(var(--spacing)*2);padding-right:calc(var(--spacing)*2);padding-left:calc(var(--spacing)*8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#0000;--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}.fui-country-selector select:focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}.fui-country-selector__dial-code{pointer-events:none;top:50%;left:calc(var(--spacing)*8);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text);position:absolute}}@layer utilities;@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0} \ No newline at end of file diff --git a/packages/firebaseui-styles/package.json b/packages/firebaseui-styles/package.json index 05448ae7..2a4e4dde 100644 --- a/packages/firebaseui-styles/package.json +++ b/packages/firebaseui-styles/package.json @@ -1,5 +1,5 @@ { - "name": "@firebase-ui/styles", + "name": "@invertase/firebaseui-styles", "version": "0.0.1", "type": "module", "files": [ diff --git a/packages/firebaseui-translations/package.json b/packages/firebaseui-translations/package.json index 7adff242..55d7dc6a 100644 --- a/packages/firebaseui-translations/package.json +++ b/packages/firebaseui-translations/package.json @@ -1,5 +1,5 @@ { - "name": "@firebase-ui/translations", + "name": "@invertase/firebaseui-translations", "version": "0.0.1", "description": "Translations for Firebase UI", "type": "module", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2939d829..ea946be9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true @@ -13,34 +13,34 @@ importers: version: 6.0.1 typescript: specifier: ^5.7.3 - version: 5.8.3 + version: 5.7.3 vite: specifier: ^6.0.11 - version: 6.3.5(@types/node@22.15.32) + version: 6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2) vite-plugin-dts: specifier: ^4.2.3 - version: 4.5.4(typescript@5.8.3)(vite@6.3.5) + version: 4.5.4(@types/node@22.18.12)(rollup@4.52.5)(typescript@5.7.3)(vite@6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2)) vite-tsconfig-paths: specifier: ^5.0.1 - version: 5.1.4(typescript@5.8.3)(vite@6.3.5) + version: 5.1.4(typescript@5.7.3)(vite@6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2)) packages/firebaseui-angular: dependencies: '@angular/common': specifier: ^19.1.0 - version: 19.2.14(@angular/core@19.2.14)(rxjs@7.8.2) + version: 19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2) '@angular/core': specifier: ^19.1.0 - version: 19.2.14(rxjs@7.8.2)(zone.js@0.15.1) - '@firebase-ui/core': + version: 19.2.15(rxjs@7.8.2)(zone.js@0.15.1) + '@invertase/firebaseui-core': specifier: workspace:* version: link:../firebaseui-core - '@firebase-ui/translations': + '@invertase/firebaseui-translations': specifier: workspace:* version: link:../firebaseui-translations '@tanstack/angular-form': specifier: ^1.1.0 - version: 1.12.3(@angular/common@19.2.14)(@angular/core@19.2.14) + version: 1.23.8(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1)) nanostores: specifier: ^0.11.3 version: 0.11.4 @@ -49,27 +49,30 @@ importers: version: 2.8.1 zod: specifier: ^3.24.1 - version: 3.25.64 + version: 3.25.76 devDependencies: '@angular/fire': specifier: ^19.1.0 - version: 19.2.0(@angular/common@19.2.14)(@angular/core@19.2.14)(@angular/platform-browser-dynamic@19.2.14)(@angular/platform-browser@19.2.14)(rxjs@7.8.2) + version: 19.2.0(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser-dynamic@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.15)(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))))(@angular/platform-browser@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1)))(chokidar@4.0.3)(rxjs@7.8.2) '@angular/forms': specifier: ^19.2.11 - version: 19.2.14(@angular/common@19.2.14)(@angular/core@19.2.14)(@angular/platform-browser@19.2.14)(rxjs@7.8.2) + version: 19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@angular/router': specifier: ^19.2.11 - version: 19.2.14(@angular/common@19.2.14)(@angular/core@19.2.14)(@angular/platform-browser@19.2.14)(rxjs@7.8.2) + version: 19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) ng-packagr: specifier: ^19.1.0 - version: 19.2.2(@angular/compiler-cli@19.2.14)(tslib@2.8.1)(typescript@5.8.3) + version: 19.2.2(@angular/compiler-cli@19.2.15(@angular/compiler@19.2.15)(typescript@5.7.3))(tailwindcss@4.1.16)(tslib@2.8.1)(typescript@5.7.3) rxjs: specifier: ^7.8.2 version: 7.8.2 + typescript: + specifier: 5.7.3 + version: 5.7.3 packages/firebaseui-core: dependencies: - '@firebase-ui/translations': + '@invertase/firebaseui-translations': specifier: workspace:* version: link:../firebaseui-translations nanostores: @@ -77,108 +80,108 @@ importers: version: 0.11.4 zod: specifier: ^3.24.1 - version: 3.25.64 + version: 3.25.76 devDependencies: '@types/jsdom': specifier: ^21.1.7 version: 21.1.7 firebase: specifier: ^11.0.0 - version: 11.9.1 + version: 11.10.0 jsdom: specifier: ^26.0.0 version: 26.1.0 prettier: specifier: ^3.1.1 - version: 3.5.3 + version: 3.6.2 rimraf: specifier: ^6.0.1 version: 6.0.1 tsup: specifier: ^8.0.1 - version: 8.5.0(typescript@5.8.3) + version: 8.5.0(@microsoft/api-extractor@7.53.2(@types/node@22.18.12))(postcss@8.5.6)(typescript@5.9.3) typescript: specifier: ^5.7.3 - version: 5.8.3 + version: 5.9.3 vite: specifier: ^6.2.0 - version: 6.3.5(@types/node@22.15.32) + version: 6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2) vitest: specifier: ^3.0.7 - version: 3.2.3(@types/node@22.15.32)(jsdom@26.1.0) + version: 3.2.4(@types/node@22.18.12)(jsdom@26.1.0)(less@4.4.2)(sass@1.93.2) packages/firebaseui-react: dependencies: - '@firebase-ui/core': + '@invertase/firebaseui-core': specifier: workspace:* version: link:../firebaseui-core - '@firebase-ui/styles': + '@invertase/firebaseui-styles': specifier: workspace:* version: link:../firebaseui-styles '@nanostores/react': specifier: ^0.8.4 - version: 0.8.4(nanostores@0.11.4)(react@19.1.0) + version: 0.8.4(nanostores@0.11.4)(react@19.2.0) '@tanstack/react-form': specifier: ^0.41.3 - version: 0.41.4(react-dom@19.1.0)(react@19.1.0)(typescript@5.6.3) + version: 0.41.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.6.3) clsx: specifier: ^2.1.1 version: 2.1.1 firebase: specifier: ^11.2.0 - version: 11.9.1 + version: 11.10.0 nanostores: specifier: ^0.11.3 version: 0.11.4 react: specifier: ^19.0.0 - version: 19.1.0 + version: 19.2.0 react-dom: specifier: ^19.0.0 - version: 19.1.0(react@19.1.0) + version: 19.2.0(react@19.2.0) tailwind-merge: specifier: ^3.0.1 version: 3.3.1 zod: specifier: ^3.24.1 - version: 3.25.64 + version: 3.25.76 devDependencies: '@testing-library/jest-dom': specifier: ^6.4.3 - version: 6.6.3 + version: 6.9.1 '@testing-library/react': specifier: ^16.2.0 - version: 16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@19.1.6)(@types/react@19.1.8)(react-dom@19.1.0)(react@19.1.0) + version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0) '@types/jsdom': specifier: ^21.1.7 version: 21.1.7 '@types/node': specifier: ^22.13.8 - version: 22.15.32 + version: 22.18.12 '@types/react': specifier: ^19.0.8 - version: 19.1.8 + version: 19.2.2 '@types/react-dom': specifier: ^19.0.3 - version: 19.1.6(@types/react@19.1.8) + version: 19.2.2(@types/react@19.2.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.5.2(vite@6.3.5) + version: 4.7.0(vite@6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2)) jsdom: specifier: ^26.0.0 version: 26.1.0 tsup: specifier: ^8.3.6 - version: 8.5.0(typescript@5.6.3) + version: 8.5.0(@microsoft/api-extractor@7.53.2(@types/node@22.18.12))(postcss@8.5.6)(typescript@5.6.3) typescript: specifier: ~5.6.2 version: 5.6.3 vite: specifier: ^6.0.5 - version: 6.3.5(@types/node@22.15.32) + version: 6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2) vitest: specifier: ^3.0.8 - version: 3.2.3(@types/node@22.15.32)(jsdom@26.1.0) + version: 3.2.4(@types/node@22.18.12)(jsdom@26.1.0)(less@4.4.2)(sass@1.93.2) vitest-tsconfig-paths: specifier: ^3.4.1 version: 3.4.1 @@ -187,119 +190,72 @@ importers: devDependencies: tailwindcss: specifier: ^4.0.0 - version: 4.1.10 + version: 4.1.16 packages/firebaseui-translations: devDependencies: prettier: specifier: ^3.1.1 - version: 3.5.3 + version: 3.6.2 rimraf: specifier: ^6.0.1 version: 6.0.1 tsup: specifier: ^8.0.1 - version: 8.5.0(typescript@5.8.3) + version: 8.5.0(@microsoft/api-extractor@7.53.2(@types/node@22.18.12))(postcss@8.5.6)(typescript@5.9.3) typescript: specifier: ^5.7.3 - version: 5.8.3 + version: 5.9.3 packages: - /@adobe/css-tools@4.4.3: - resolution: {integrity: sha512-VQKMkwriZbaOgVCby1UDY/LDk5fIjhQicCvVPFqfe+69fWaPWydbWJ3wRt59/YzIwda1I81loas3oCoHxnqvdA==} - dev: true + '@adobe/css-tools@4.4.4': + resolution: {integrity: sha512-Elp+iwUx5rN5+Y8xLt5/GRoG20WGoDCQ/1Fb+1LiGtvwbDavuSk0jhD/eZdckHAuzcDzccnkv+rEjyWfRx18gg==} - /@ampproject/remapping@2.3.0: + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - dev: true - /@angular-devkit/core@19.2.15: - resolution: {integrity: sha512-pU2RZYX6vhd7uLSdLwPnuBcr0mXJSjp3EgOXKsrlQFQZevc+Qs+2JdXgIElnOT/aDqtRtriDmLlSbtdE8n3ZbA==} + '@angular-devkit/core@19.2.18': + resolution: {integrity: sha512-D/JbeM3yAZ6Cnk/3ez8MvoTjx1pgUnkJHvDkuMhRuelCi3m0b0Qt/3548ie7CU+oLHdzAzjFhEvCPNssdevTRQ==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} peerDependencies: chokidar: ^4.0.0 peerDependenciesMeta: chokidar: optional: true - dependencies: - ajv: 8.17.1 - ajv-formats: 3.0.1(ajv@8.17.1) - jsonc-parser: 3.3.1 - picomatch: 4.0.2 - rxjs: 7.8.1 - source-map: 0.7.4 - dev: true - /@angular-devkit/schematics@19.2.15: - resolution: {integrity: sha512-kNOJ+3vekJJCQKWihNmxBkarJzNW09kP5a9E1SRNiQVNOUEeSwcRR0qYotM65nx821gNzjjhJXnAZ8OazWldrg==} + '@angular-devkit/schematics@19.2.18': + resolution: {integrity: sha512-DYiQDKv2jnT0j+d8SeWynCCGERWIYDkdS6bQKiO7rSc7ChXby2fFZZ7VpcEHGv7l2K2/I+q9mZTG0i/g5mSzCg==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - dependencies: - '@angular-devkit/core': 19.2.15 - jsonc-parser: 3.3.1 - magic-string: 0.30.17 - ora: 5.4.1 - rxjs: 7.8.1 - transitivePeerDependencies: - - chokidar - dev: true - /@angular/common@19.2.14(@angular/core@19.2.14)(rxjs@7.8.2): - resolution: {integrity: sha512-NcNklcuyqaTjOVGf7aru8APX9mjsnZ01gFZrn47BxHozhaR0EMRrotYQTdi8YdVjPkeYFYanVntSLfhyobq/jg==} + '@angular/common@19.2.15': + resolution: {integrity: sha512-aVa/ctBYH/4qgA7r4sS7TV+/DzRYmcS+3d6l89pNKUXkI8gpmsd+r3FjccaemX4Wqru1QOrMvC+i+e7IBIVv0g==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} peerDependencies: - '@angular/core': 19.2.14 + '@angular/core': 19.2.15 rxjs: ^6.5.3 || ^7.4.0 - dependencies: - '@angular/core': 19.2.14(rxjs@7.8.2)(zone.js@0.15.1) - rxjs: 7.8.2 - tslib: 2.8.1 - /@angular/compiler-cli@19.2.14(@angular/compiler@19.2.14)(typescript@5.8.3): - resolution: {integrity: sha512-e9/h86ETjoIK2yTLE9aUeMCKujdg/du2pq7run/aINjop4RtnNOw+ZlSTUa6R65lP5CVwDup1kPytpAoifw8cA==} + '@angular/compiler-cli@19.2.15': + resolution: {integrity: sha512-4r5tvGA2Ok3o8wROZBkF9qNKS7L0AEpdBIkAVJbLw2rBY2SlyycFIRYyV2+D1lJ1jq/f9U7uN6oon0MjTvNYkA==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} hasBin: true peerDependencies: - '@angular/compiler': 19.2.14 + '@angular/compiler': 19.2.15 typescript: '>=5.5 <5.9' - dependencies: - '@angular/compiler': 19.2.14 - '@babel/core': 7.26.9 - '@jridgewell/sourcemap-codec': 1.5.0 - chokidar: 4.0.3 - convert-source-map: 1.9.0 - reflect-metadata: 0.2.2 - semver: 7.7.2 - tslib: 2.8.1 - typescript: 5.8.3 - yargs: 17.7.2 - transitivePeerDependencies: - - supports-color - dev: true - /@angular/compiler@19.2.14: - resolution: {integrity: sha512-ZqJDYOdhgKpVGNq3+n/Gbxma8DVYElDsoRe0tvNtjkWBVdaOxdZZUqmJ3kdCBsqD/aqTRvRBu0KGo9s2fCChkA==} + '@angular/compiler@19.2.15': + resolution: {integrity: sha512-hMHZU6/03xG0tbPDIm1hbVSTFLnRkGYfh+xdBwUMnIFYYTS0QJ2hdPfEZKCJIXm+fz9IAI5MPdDTfeyp0sgaHQ==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} - dependencies: - tslib: 2.8.1 - dev: true - /@angular/core@19.2.14(rxjs@7.8.2)(zone.js@0.15.1): - resolution: {integrity: sha512-EVErpW9tGqJ/wNcAN3G/ErH8pHCJ8mM1E6bsJ8UJIpDTZkpqqYjBMtZS9YWH5n3KwUd1tAkAB2w8FK125AjDUQ==} + '@angular/core@19.2.15': + resolution: {integrity: sha512-PxhzCwwm23N4Mq6oV7UPoYiJF4r6FzGhRSxOBBlEp322k7zEQbIxd/XO6F3eoG73qC1UsOXMYYv6GnQpx42y3A==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} peerDependencies: rxjs: ^6.5.3 || ^7.4.0 zone.js: ~0.15.0 - dependencies: - rxjs: 7.8.2 - tslib: 2.8.1 - zone.js: 0.15.1 - /@angular/fire@19.2.0(@angular/common@19.2.14)(@angular/core@19.2.14)(@angular/platform-browser-dynamic@19.2.14)(@angular/platform-browser@19.2.14)(rxjs@7.8.2): + '@angular/fire@19.2.0': resolution: {integrity: sha512-XoIggKcwY75JioGDNtNQFn4d2RpsBR4ugPN8bNWhylZIcWe47o760BxwnXn111I+P5FfZ6DMX8BOW7SmrC6VTQ==} peerDependencies: '@angular/common': ^19.0.0 @@ -314,713 +270,392 @@ packages: optional: true firebase-tools: optional: true - dependencies: - '@angular-devkit/schematics': 19.2.15 - '@angular/common': 19.2.14(@angular/core@19.2.14)(rxjs@7.8.2) - '@angular/core': 19.2.14(rxjs@7.8.2)(zone.js@0.15.1) - '@angular/platform-browser': 19.2.14(@angular/common@19.2.14)(@angular/core@19.2.14) - '@angular/platform-browser-dynamic': 19.2.14(@angular/common@19.2.14)(@angular/compiler@19.2.14)(@angular/core@19.2.14)(@angular/platform-browser@19.2.14) - '@schematics/angular': 19.2.15 - firebase: 11.9.1 - rxfire: 6.1.0(firebase@11.9.1)(rxjs@7.8.2) - rxjs: 7.8.2 - tslib: 2.8.1 - transitivePeerDependencies: - - '@react-native-async-storage/async-storage' - - chokidar - dev: true - /@angular/forms@19.2.14(@angular/common@19.2.14)(@angular/core@19.2.14)(@angular/platform-browser@19.2.14)(rxjs@7.8.2): - resolution: {integrity: sha512-hWtDOj2B0AuRTf+nkMJeodnFpDpmEK9OIhIv1YxcRe73ooaxrIdjgugkElO8I9Tj0E4/7m117ezhWDUkbqm1zA==} + '@angular/forms@19.2.15': + resolution: {integrity: sha512-pZDElcYPmNzPxvWJpZQCIizsNApDIfk9xLJE4I8hzLISfWGbQvfjuuarDAuQZEXudeLXoDOstDXkDja40muLGg==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} peerDependencies: - '@angular/common': 19.2.14 - '@angular/core': 19.2.14 - '@angular/platform-browser': 19.2.14 + '@angular/common': 19.2.15 + '@angular/core': 19.2.15 + '@angular/platform-browser': 19.2.15 rxjs: ^6.5.3 || ^7.4.0 - dependencies: - '@angular/common': 19.2.14(@angular/core@19.2.14)(rxjs@7.8.2) - '@angular/core': 19.2.14(rxjs@7.8.2)(zone.js@0.15.1) - '@angular/platform-browser': 19.2.14(@angular/common@19.2.14)(@angular/core@19.2.14) - rxjs: 7.8.2 - tslib: 2.8.1 - dev: true - /@angular/platform-browser-dynamic@19.2.14(@angular/common@19.2.14)(@angular/compiler@19.2.14)(@angular/core@19.2.14)(@angular/platform-browser@19.2.14): - resolution: {integrity: sha512-Hfz0z1KDQmIdnFXVFCwCPykuIsHPkr1uW2aY396eARwZ6PK8i0Aadcm1ZOnpd3MR1bMyDrJo30VRS5kx89QWvA==} + '@angular/platform-browser-dynamic@19.2.15': + resolution: {integrity: sha512-dKy0SS395FCh8cW9AQ8nf4Wn3XlONaH7z50T1bGxm3eOoRqjxJYyIeIlEbDdJakMz4QPR3dGr81HleZd8TJumQ==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} peerDependencies: - '@angular/common': 19.2.14 - '@angular/compiler': 19.2.14 - '@angular/core': 19.2.14 - '@angular/platform-browser': 19.2.14 - dependencies: - '@angular/common': 19.2.14(@angular/core@19.2.14)(rxjs@7.8.2) - '@angular/compiler': 19.2.14 - '@angular/core': 19.2.14(rxjs@7.8.2)(zone.js@0.15.1) - '@angular/platform-browser': 19.2.14(@angular/common@19.2.14)(@angular/core@19.2.14) - tslib: 2.8.1 - dev: true + '@angular/common': 19.2.15 + '@angular/compiler': 19.2.15 + '@angular/core': 19.2.15 + '@angular/platform-browser': 19.2.15 - /@angular/platform-browser@19.2.14(@angular/common@19.2.14)(@angular/core@19.2.14): - resolution: {integrity: sha512-hzkT5nmA64oVBQl6PRjdL4dIFT1n7lfM9rm5cAoS+6LUUKRgiE2d421Kpn/Hz3jaCJfo+calMIdtSMIfUJBmww==} + '@angular/platform-browser@19.2.15': + resolution: {integrity: sha512-OelQ6weCjon8kZD8kcqNzwugvZJurjS3uMJCwsA2vXmP/3zJ31SWtNqE2zLT1R2csVuwnp0h+nRMgq+pINU7Rg==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} peerDependencies: - '@angular/animations': 19.2.14 - '@angular/common': 19.2.14 - '@angular/core': 19.2.14 + '@angular/animations': 19.2.15 + '@angular/common': 19.2.15 + '@angular/core': 19.2.15 peerDependenciesMeta: '@angular/animations': optional: true - dependencies: - '@angular/common': 19.2.14(@angular/core@19.2.14)(rxjs@7.8.2) - '@angular/core': 19.2.14(rxjs@7.8.2)(zone.js@0.15.1) - tslib: 2.8.1 - dev: true - /@angular/router@19.2.14(@angular/common@19.2.14)(@angular/core@19.2.14)(@angular/platform-browser@19.2.14)(rxjs@7.8.2): - resolution: {integrity: sha512-cBTWY9Jx7YhbmDYDb7Hqz4Q7UNIMlKTkdKToJd2pbhIXyoS+kHVQrySmyca+jgvYMjWnIjsAEa3dpje12D4mFw==} + '@angular/router@19.2.15': + resolution: {integrity: sha512-0TM1D8S7RQ00drKy7hA/ZLBY14dUBqFBgm06djcNcOjNzVAtgkeV0i+0Smq9tCC7UsGKdpZu4RgfYjHATBNlTQ==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0} peerDependencies: - '@angular/common': 19.2.14 - '@angular/core': 19.2.14 - '@angular/platform-browser': 19.2.14 + '@angular/common': 19.2.15 + '@angular/core': 19.2.15 + '@angular/platform-browser': 19.2.15 rxjs: ^6.5.3 || ^7.4.0 - dependencies: - '@angular/common': 19.2.14(@angular/core@19.2.14)(rxjs@7.8.2) - '@angular/core': 19.2.14(rxjs@7.8.2)(zone.js@0.15.1) - '@angular/platform-browser': 19.2.14(@angular/common@19.2.14)(@angular/core@19.2.14) - rxjs: 7.8.2 - tslib: 2.8.1 - dev: true - /@asamuzakjp/css-color@3.2.0: + '@asamuzakjp/css-color@3.2.0': resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} - dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5)(@csstools/css-tokenizer@3.0.4) - '@csstools/css-color-parser': 3.0.10(@csstools/css-parser-algorithms@3.0.5)(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - lru-cache: 10.4.3 - dev: true - /@babel/code-frame@7.27.1: + '@babel/code-frame@7.27.1': resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.27.1 - js-tokens: 4.0.0 - picocolors: 1.1.1 - dev: true - /@babel/compat-data@7.27.5: - resolution: {integrity: sha512-KiRAp/VoJaWkkte84TvUd9qjdbZAdiqyvMxrGl1N6vzFogKmaLgoM3L1kgtLicp2HP5fBJS8JrZKLVIZGVJAVg==} + '@babel/compat-data@7.28.4': + resolution: {integrity: sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==} engines: {node: '>=6.9.0'} - dev: true - /@babel/core@7.26.9: + '@babel/core@7.26.9': resolution: {integrity: sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==} engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.27.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.26.9) - '@babel/helpers': 7.27.6 - '@babel/parser': 7.27.5 - '@babel/template': 7.27.2 - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 - convert-source-map: 2.0.0 - debug: 4.4.1 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/core@7.27.4: - resolution: {integrity: sha512-bXYxrXFubeYdvB0NhD/NBB3Qi6aZeV20GOWVI47t2dkecCEoneR4NPVcb7abpXDEvejgrUfFtG6vG/zxAKmg+g==} + '@babel/core@7.28.4': + resolution: {integrity: sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==} engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.27.5 - '@babel/helper-compilation-targets': 7.27.2 - '@babel/helper-module-transforms': 7.27.3(@babel/core@7.27.4) - '@babel/helpers': 7.27.6 - '@babel/parser': 7.27.5 - '@babel/template': 7.27.2 - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 - convert-source-map: 2.0.0 - debug: 4.4.1 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/generator@7.27.5: - resolution: {integrity: sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==} + '@babel/generator@7.28.3': + resolution: {integrity: sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 - '@jridgewell/gen-mapping': 0.3.8 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 3.1.0 - dev: true - /@babel/helper-compilation-targets@7.27.2: + '@babel/helper-compilation-targets@7.27.2': resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/compat-data': 7.27.5 - '@babel/helper-validator-option': 7.27.1 - browserslist: 4.25.0 - lru-cache: 5.1.1 - semver: 6.3.1 - dev: true - /@babel/helper-module-imports@7.27.1: - resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} + '@babel/helper-globals@7.28.0': + resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/traverse': 7.27.4 - '@babel/types': 7.27.6 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-module-transforms@7.27.3(@babel/core@7.26.9): - resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==} + '@babel/helper-module-imports@7.27.1': + resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==} engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.26.9 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.27.4 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-module-transforms@7.27.3(@babel/core@7.27.4): - resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==} + '@babel/helper-module-transforms@7.28.3': + resolution: {integrity: sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-module-imports': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - '@babel/traverse': 7.27.4 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/helper-plugin-utils@7.27.1: + '@babel/helper-plugin-utils@7.27.1': resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-string-parser@7.27.1: + '@babel/helper-string-parser@7.27.1': resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-identifier@7.27.1: + '@babel/helper-validator-identifier@7.27.1': resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helper-validator-option@7.27.1: + '@babel/helper-validator-option@7.27.1': resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==} engines: {node: '>=6.9.0'} - dev: true - /@babel/helpers@7.27.6: - resolution: {integrity: sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==} + '@babel/helpers@7.28.4': + resolution: {integrity: sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.27.2 - '@babel/types': 7.27.6 - dev: true - /@babel/parser@7.27.5: - resolution: {integrity: sha512-OsQd175SxWkGlzbny8J3K8TnnDD0N3lrIUtB92xwyRpzaenGZhxDvxN/JgU00U3CDZNj9tPuDJ5H0WS4Nt3vKg==} + '@babel/parser@7.28.4': + resolution: {integrity: sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==} engines: {node: '>=6.0.0'} hasBin: true - dependencies: - '@babel/types': 7.27.6 - dev: true - /@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.27.4): + '@babel/plugin-transform-react-jsx-self@7.27.1': resolution: {integrity: sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - dev: true - /@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.27.4): + '@babel/plugin-transform-react-jsx-source@7.27.1': resolution: {integrity: sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.27.4 - '@babel/helper-plugin-utils': 7.27.1 - dev: true - /@babel/runtime@7.27.6: - resolution: {integrity: sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==} + '@babel/runtime@7.28.4': + resolution: {integrity: sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==} engines: {node: '>=6.9.0'} - dev: true - /@babel/template@7.27.2: + '@babel/template@7.27.2': resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 - dev: true - /@babel/traverse@7.27.4: - resolution: {integrity: sha512-oNcu2QbHqts9BtOWJosOVJapWjBDSxGCpFvikNR5TGDYDQf3JwpIoMzIKrvfoti93cLfPJEG4tH9SPVeyCGgdA==} + '@babel/traverse@7.28.4': + resolution: {integrity: sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/generator': 7.27.5 - '@babel/parser': 7.27.5 - '@babel/template': 7.27.2 - '@babel/types': 7.27.6 - debug: 4.4.1 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: true - /@babel/types@7.27.6: - resolution: {integrity: sha512-ETyHEk2VHHvl9b9jZP5IHPavHYk57EhanlRRuae9XCpb/j5bDCbPPMOBfCWhnl/7EDJz0jEMCi/RhccCE8r1+Q==} + '@babel/types@7.28.4': + resolution: {integrity: sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.27.1 - '@babel/helper-validator-identifier': 7.27.1 - dev: true - /@csstools/color-helpers@5.0.2: - resolution: {integrity: sha512-JqWH1vsgdGcw2RR6VliXXdA0/59LttzlU8UlRT/iUUsEeWfYq8I+K0yhihEUTTHLRm1EXvpsCx3083EU15ecsA==} + '@csstools/color-helpers@5.1.0': + resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} engines: {node: '>=18'} - dev: true - /@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5)(@csstools/css-tokenizer@3.0.4): + '@csstools/css-calc@2.1.4': resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} engines: {node: '>=18'} peerDependencies: '@csstools/css-parser-algorithms': ^3.0.5 '@csstools/css-tokenizer': ^3.0.4 - dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - dev: true - /@csstools/css-color-parser@3.0.10(@csstools/css-parser-algorithms@3.0.5)(@csstools/css-tokenizer@3.0.4): - resolution: {integrity: sha512-TiJ5Ajr6WRd1r8HSiwJvZBiJOqtH86aHpUjq5aEKWHiII2Qfjqd/HCWKPOW8EP4vcspXbHnXrwIDlu5savQipg==} + '@csstools/css-color-parser@3.1.0': + resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} engines: {node: '>=18'} peerDependencies: '@csstools/css-parser-algorithms': ^3.0.5 '@csstools/css-tokenizer': ^3.0.4 - dependencies: - '@csstools/color-helpers': 5.0.2 - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5)(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - dev: true - /@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4): + '@csstools/css-parser-algorithms@3.0.5': resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} engines: {node: '>=18'} peerDependencies: '@csstools/css-tokenizer': ^3.0.4 - dependencies: - '@csstools/css-tokenizer': 3.0.4 - dev: true - /@csstools/css-tokenizer@3.0.4: + '@csstools/css-tokenizer@3.0.4': resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} engines: {node: '>=18'} - dev: true - /@cush/relative@1.0.0: + '@cush/relative@1.0.0': resolution: {integrity: sha512-RpfLEtTlyIxeNPGKcokS+p3BZII/Q3bYxryFRglh5H3A3T8q9fsLYm72VYAMEOOIBLEa8o93kFLiBDUWKrwXZA==} - dev: true - /@esbuild/aix-ppc64@0.25.5: - resolution: {integrity: sha512-9o3TMmpmftaCMepOdA5k/yDw8SfInyzWWTjYTFCX3kPSDJMROQTb8jg+h9Cnwnmm1vOzvxN7gIfB5V2ewpjtGA==} + '@esbuild/aix-ppc64@0.25.11': + resolution: {integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==} engines: {node: '>=18'} cpu: [ppc64] os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.25.5: - resolution: {integrity: sha512-VGzGhj4lJO+TVGV1v8ntCZWJktV7SGCs3Pn1GRWI1SBFtRALoomm8k5E9Pmwg3HOAal2VDc2F9+PM/rEY6oIDg==} + '@esbuild/android-arm64@0.25.11': + resolution: {integrity: sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==} engines: {node: '>=18'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.25.5: - resolution: {integrity: sha512-AdJKSPeEHgi7/ZhuIPtcQKr5RQdo6OO2IL87JkianiMYMPbCtot9fxPbrMiBADOWWm3T2si9stAiVsGbTQFkbA==} + '@esbuild/android-arm@0.25.11': + resolution: {integrity: sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==} engines: {node: '>=18'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.25.5: - resolution: {integrity: sha512-D2GyJT1kjvO//drbRT3Hib9XPwQeWd9vZoBJn+bu/lVsOZ13cqNdDeqIF/xQ5/VmWvMduP6AmXvylO/PIc2isw==} + '@esbuild/android-x64@0.25.11': + resolution: {integrity: sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==} engines: {node: '>=18'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.25.5: - resolution: {integrity: sha512-GtaBgammVvdF7aPIgH2jxMDdivezgFu6iKpmT+48+F8Hhg5J/sfnDieg0aeG/jfSvkYQU2/pceFPDKlqZzwnfQ==} + '@esbuild/darwin-arm64@0.25.11': + resolution: {integrity: sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==} engines: {node: '>=18'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.25.5: - resolution: {integrity: sha512-1iT4FVL0dJ76/q1wd7XDsXrSW+oLoquptvh4CLR4kITDtqi2e/xwXwdCVH8hVHU43wgJdsq7Gxuzcs6Iq/7bxQ==} + '@esbuild/darwin-x64@0.25.11': + resolution: {integrity: sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==} engines: {node: '>=18'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.25.5: - resolution: {integrity: sha512-nk4tGP3JThz4La38Uy/gzyXtpkPW8zSAmoUhK9xKKXdBCzKODMc2adkB2+8om9BDYugz+uGV7sLmpTYzvmz6Sw==} + '@esbuild/freebsd-arm64@0.25.11': + resolution: {integrity: sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==} engines: {node: '>=18'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.25.5: - resolution: {integrity: sha512-PrikaNjiXdR2laW6OIjlbeuCPrPaAl0IwPIaRv+SMV8CiM8i2LqVUHFC1+8eORgWyY7yhQY+2U2fA55mBzReaw==} + '@esbuild/freebsd-x64@0.25.11': + resolution: {integrity: sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==} engines: {node: '>=18'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.25.5: - resolution: {integrity: sha512-Z9kfb1v6ZlGbWj8EJk9T6czVEjjq2ntSYLY2cw6pAZl4oKtfgQuS4HOq41M/BcoLPzrUbNd+R4BXFyH//nHxVg==} + '@esbuild/linux-arm64@0.25.11': + resolution: {integrity: sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==} engines: {node: '>=18'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.25.5: - resolution: {integrity: sha512-cPzojwW2okgh7ZlRpcBEtsX7WBuqbLrNXqLU89GxWbNt6uIg78ET82qifUy3W6OVww6ZWobWub5oqZOVtwolfw==} + '@esbuild/linux-arm@0.25.11': + resolution: {integrity: sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==} engines: {node: '>=18'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.25.5: - resolution: {integrity: sha512-sQ7l00M8bSv36GLV95BVAdhJ2QsIbCuCjh/uYrWiMQSUuV+LpXwIqhgJDcvMTj+VsQmqAHL2yYaasENvJ7CDKA==} + '@esbuild/linux-ia32@0.25.11': + resolution: {integrity: sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==} engines: {node: '>=18'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.25.5: - resolution: {integrity: sha512-0ur7ae16hDUC4OL5iEnDb0tZHDxYmuQyhKhsPBV8f99f6Z9KQM02g33f93rNH5A30agMS46u2HP6qTdEt6Q1kg==} + '@esbuild/linux-loong64@0.25.11': + resolution: {integrity: sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==} engines: {node: '>=18'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.25.5: - resolution: {integrity: sha512-kB/66P1OsHO5zLz0i6X0RxlQ+3cu0mkxS3TKFvkb5lin6uwZ/ttOkP3Z8lfR9mJOBk14ZwZ9182SIIWFGNmqmg==} + '@esbuild/linux-mips64el@0.25.11': + resolution: {integrity: sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==} engines: {node: '>=18'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.25.5: - resolution: {integrity: sha512-UZCmJ7r9X2fe2D6jBmkLBMQetXPXIsZjQJCjgwpVDz+YMcS6oFR27alkgGv3Oqkv07bxdvw7fyB71/olceJhkQ==} + '@esbuild/linux-ppc64@0.25.11': + resolution: {integrity: sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==} engines: {node: '>=18'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.25.5: - resolution: {integrity: sha512-kTxwu4mLyeOlsVIFPfQo+fQJAV9mh24xL+y+Bm6ej067sYANjyEw1dNHmvoqxJUCMnkBdKpvOn0Ahql6+4VyeA==} + '@esbuild/linux-riscv64@0.25.11': + resolution: {integrity: sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==} engines: {node: '>=18'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.25.5: - resolution: {integrity: sha512-K2dSKTKfmdh78uJ3NcWFiqyRrimfdinS5ErLSn3vluHNeHVnBAFWC8a4X5N+7FgVE1EjXS1QDZbpqZBjfrqMTQ==} + '@esbuild/linux-s390x@0.25.11': + resolution: {integrity: sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==} engines: {node: '>=18'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.25.5: - resolution: {integrity: sha512-uhj8N2obKTE6pSZ+aMUbqq+1nXxNjZIIjCjGLfsWvVpy7gKCOL6rsY1MhRh9zLtUtAI7vpgLMK6DxjO8Qm9lJw==} + '@esbuild/linux-x64@0.25.11': + resolution: {integrity: sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==} engines: {node: '>=18'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-arm64@0.25.5: - resolution: {integrity: sha512-pwHtMP9viAy1oHPvgxtOv+OkduK5ugofNTVDilIzBLpoWAM16r7b/mxBvfpuQDpRQFMfuVr5aLcn4yveGvBZvw==} + '@esbuild/netbsd-arm64@0.25.11': + resolution: {integrity: sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==} engines: {node: '>=18'} cpu: [arm64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.25.5: - resolution: {integrity: sha512-WOb5fKrvVTRMfWFNCroYWWklbnXH0Q5rZppjq0vQIdlsQKuw6mdSihwSo4RV/YdQ5UCKKvBy7/0ZZYLBZKIbwQ==} + '@esbuild/netbsd-x64@0.25.11': + resolution: {integrity: sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-arm64@0.25.5: - resolution: {integrity: sha512-7A208+uQKgTxHd0G0uqZO8UjK2R0DDb4fDmERtARjSHWxqMTye4Erz4zZafx7Di9Cv+lNHYuncAkiGFySoD+Mw==} + '@esbuild/openbsd-arm64@0.25.11': + resolution: {integrity: sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==} engines: {node: '>=18'} cpu: [arm64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.25.5: - resolution: {integrity: sha512-G4hE405ErTWraiZ8UiSoesH8DaCsMm0Cay4fsFWOOUcz8b8rC6uCvnagr+gnioEjWn0wC+o1/TAHt+It+MpIMg==} + '@esbuild/openbsd-x64@0.25.11': + resolution: {integrity: sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==} engines: {node: '>=18'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.25.5: - resolution: {integrity: sha512-l+azKShMy7FxzY0Rj4RCt5VD/q8mG/e+mDivgspo+yL8zW7qEwctQ6YqKX34DTEleFAvCIUviCFX1SDZRSyMQA==} + '@esbuild/openharmony-arm64@0.25.11': + resolution: {integrity: sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==} + engines: {node: '>=18'} + cpu: [arm64] + os: [openharmony] + + '@esbuild/sunos-x64@0.25.11': + resolution: {integrity: sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==} engines: {node: '>=18'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.25.5: - resolution: {integrity: sha512-O2S7SNZzdcFG7eFKgvwUEZ2VG9D/sn/eIiz8XRZ1Q/DO5a3s76Xv0mdBzVM5j5R639lXQmPmSo0iRpHqUUrsxw==} + '@esbuild/win32-arm64@0.25.11': + resolution: {integrity: sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==} engines: {node: '>=18'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.25.5: - resolution: {integrity: sha512-onOJ02pqs9h1iMJ1PQphR+VZv8qBMQ77Klcsqv9CNW2w6yLqoURLcgERAIurY6QE63bbLuqgP9ATqajFLK5AMQ==} + '@esbuild/win32-ia32@0.25.11': + resolution: {integrity: sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==} engines: {node: '>=18'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.25.5: - resolution: {integrity: sha512-TXv6YnJ8ZMVdX+SXWVBo/0p8LTcrUYngpWjvm91TMjjBQii7Oz11Lw5lbDV5Y0TzuhSJHwiH4hEtC1I42mMS0g==} + '@esbuild/win32-x64@0.25.11': + resolution: {integrity: sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==} engines: {node: '>=18'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@firebase/ai@1.4.0(@firebase/app-types@0.9.3)(@firebase/app@0.13.1): - resolution: {integrity: sha512-wvF33gtU6TXb6Co8TEC1pcl4dnVstYmRE/vs9XjUGE7he7Sgf5TqSu+EoXk/fuzhw5tKr1LC5eG9KdYFM+eosw==} + '@firebase/ai@1.4.1': + resolution: {integrity: sha512-bcusQfA/tHjUjBTnMx6jdoPMpDl3r8K15Z+snHz9wq0Foox0F/V+kNLXucEOHoTL2hTc9l+onZCyBJs2QoIC3g==} engines: {node: '>=18.0.0'} peerDependencies: '@firebase/app': 0.x '@firebase/app-types': 0.x - dependencies: - '@firebase/app': 0.13.1 - '@firebase/app-check-interop-types': 0.3.3 - '@firebase/app-types': 0.9.3 - '@firebase/component': 0.6.17 - '@firebase/logger': 0.4.4 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - /@firebase/analytics-compat@0.2.22(@firebase/app-compat@0.4.1)(@firebase/app@0.13.1): - resolution: {integrity: sha512-VogWHgwkdYhjWKh8O1XU04uPrRaiDihkWvE/EMMmtWtaUtVALnpLnUurc3QtSKdPnvTz5uaIGKlW84DGtSPFbw==} + '@firebase/analytics-compat@0.2.23': + resolution: {integrity: sha512-3AdO10RN18G5AzREPoFgYhW6vWXr3u+OYQv6pl3CX6Fky8QRk0AHurZlY3Q1xkXO0TDxIsdhO3y65HF7PBOJDw==} peerDependencies: '@firebase/app-compat': 0.x - dependencies: - '@firebase/analytics': 0.10.16(@firebase/app@0.13.1) - '@firebase/analytics-types': 0.8.3 - '@firebase/app-compat': 0.4.1 - '@firebase/component': 0.6.17 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - /@firebase/analytics-types@0.8.3: + '@firebase/analytics-types@0.8.3': resolution: {integrity: sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==} - /@firebase/analytics@0.10.16(@firebase/app@0.13.1): - resolution: {integrity: sha512-cMtp19He7Fd6uaj/nDEul+8JwvJsN8aRSJyuA1QN3QrKvfDDp+efjVurJO61sJpkVftw9O9nNMdhFbRcTmTfRQ==} + '@firebase/analytics@0.10.17': + resolution: {integrity: sha512-n5vfBbvzduMou/2cqsnKrIes4auaBjdhg8QNA2ZQZ59QgtO2QiwBaXQZQE4O4sgB0Ds1tvLgUUkY+pwzu6/xEg==} peerDependencies: '@firebase/app': 0.x - dependencies: - '@firebase/app': 0.13.1 - '@firebase/component': 0.6.17 - '@firebase/installations': 0.6.17(@firebase/app@0.13.1) - '@firebase/logger': 0.4.4 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - /@firebase/app-check-compat@0.3.25(@firebase/app-compat@0.4.1)(@firebase/app@0.13.1): - resolution: {integrity: sha512-3zrsPZWAKfV7DVC20T2dgfjzjtQnSJS65OfMOiddMUtJL1S5i0nAZKsdX0bOEvvrd0SBIL8jYnfpfDeQRnhV3w==} + '@firebase/app-check-compat@0.3.26': + resolution: {integrity: sha512-PkX+XJMLDea6nmnopzFKlr+s2LMQGqdyT2DHdbx1v1dPSqOol2YzgpgymmhC67vitXVpNvS3m/AiWQWWhhRRPQ==} engines: {node: '>=18.0.0'} peerDependencies: '@firebase/app-compat': 0.x - dependencies: - '@firebase/app-check': 0.10.0(@firebase/app@0.13.1) - '@firebase/app-check-types': 0.5.3 - '@firebase/app-compat': 0.4.1 - '@firebase/component': 0.6.17 - '@firebase/logger': 0.4.4 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - /@firebase/app-check-interop-types@0.3.3: + '@firebase/app-check-interop-types@0.3.3': resolution: {integrity: sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==} - /@firebase/app-check-types@0.5.3: + '@firebase/app-check-types@0.5.3': resolution: {integrity: sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==} - /@firebase/app-check@0.10.0(@firebase/app@0.13.1): - resolution: {integrity: sha512-AZlRlVWKcu8BH4Yf8B5EI8sOi2UNGTS8oMuthV45tbt6OVUTSQwFPIEboZzhNJNKY+fPsg7hH8vixUWFZ3lrhw==} + '@firebase/app-check@0.10.1': + resolution: {integrity: sha512-MgNdlms9Qb0oSny87pwpjKush9qUwCJhfmTJHDfrcKo4neLGiSeVE4qJkzP7EQTIUFKp84pbTxobSAXkiuQVYQ==} engines: {node: '>=18.0.0'} peerDependencies: '@firebase/app': 0.x - dependencies: - '@firebase/app': 0.13.1 - '@firebase/component': 0.6.17 - '@firebase/logger': 0.4.4 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - /@firebase/app-compat@0.4.1: - resolution: {integrity: sha512-9VGjnY23Gc1XryoF/ABWtZVJYnaPOnjHM7dsqq9YALgKRtxI1FryvELUVkDaEIUf4In2bfkb9ZENF1S9M273Dw==} + '@firebase/app-compat@0.4.2': + resolution: {integrity: sha512-LssbyKHlwLeiV8GBATyOyjmHcMpX/tFjzRUCS1jnwGAew1VsBB4fJowyS5Ud5LdFbYpJeS+IQoC+RQxpK7eH3Q==} engines: {node: '>=18.0.0'} - dependencies: - '@firebase/app': 0.13.1 - '@firebase/component': 0.6.17 - '@firebase/logger': 0.4.4 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - /@firebase/app-types@0.9.3: + '@firebase/app-types@0.9.3': resolution: {integrity: sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==} - /@firebase/app@0.13.1: - resolution: {integrity: sha512-0O33PKrXLoIWkoOO5ByFaLjZehBctSYWnb+xJkIdx2SKP/K9l1UPFXPwASyrOIqyY3ws+7orF/1j7wI5EKzPYQ==} + '@firebase/app@0.13.2': + resolution: {integrity: sha512-jwtMmJa1BXXDCiDx1vC6SFN/+HfYG53UkfJa6qeN5ogvOunzbFDO3wISZy5n9xgYFUrEP6M7e8EG++riHNTv9w==} engines: {node: '>=18.0.0'} - dependencies: - '@firebase/component': 0.6.17 - '@firebase/logger': 0.4.4 - '@firebase/util': 1.12.0 - idb: 7.1.1 - tslib: 2.8.1 - /@firebase/auth-compat@0.5.27(@firebase/app-compat@0.4.1)(@firebase/app-types@0.9.3)(@firebase/app@0.13.1): - resolution: {integrity: sha512-axZx/MgjNO7uPA8/nMQiuVotGCngUFMppt5w0pxFIoIPD0kac0bsFdSEh5S2ttuEE0Aq1iUB6Flzwn+wvMgXnQ==} + '@firebase/auth-compat@0.5.28': + resolution: {integrity: sha512-HpMSo/cc6Y8IX7bkRIaPPqT//Jt83iWy5rmDWeThXQCAImstkdNo3giFLORJwrZw2ptiGkOij64EH1ztNJzc7Q==} engines: {node: '>=18.0.0'} peerDependencies: '@firebase/app-compat': 0.x - dependencies: - '@firebase/app-compat': 0.4.1 - '@firebase/auth': 1.10.7(@firebase/app@0.13.1) - '@firebase/auth-types': 0.13.0(@firebase/app-types@0.9.3)(@firebase/util@1.12.0) - '@firebase/component': 0.6.17 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - - '@firebase/app-types' - - '@react-native-async-storage/async-storage' - /@firebase/auth-interop-types@0.2.4: + '@firebase/auth-interop-types@0.2.4': resolution: {integrity: sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==} - /@firebase/auth-types@0.13.0(@firebase/app-types@0.9.3)(@firebase/util@1.12.0): + '@firebase/auth-types@0.13.0': resolution: {integrity: sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg==} peerDependencies: '@firebase/app-types': 0.x '@firebase/util': 1.x - dependencies: - '@firebase/app-types': 0.9.3 - '@firebase/util': 1.12.0 - /@firebase/auth@1.10.7(@firebase/app@0.13.1): - resolution: {integrity: sha512-77o0aBKCfchdL1gkahARdawHyYefh+wRYn7o60tbwW6bfJNq2idbrRb3WSYCT4yBKWL0+9kKdwxBHPZ6DEiB+g==} + '@firebase/auth@1.10.8': + resolution: {integrity: sha512-GpuTz5ap8zumr/ocnPY57ZanX02COsXloY6Y/2LYPAuXYiaJRf6BAGDEdRq1BMjP93kqQnKNuKZUTMZbQ8MNYA==} engines: {node: '>=18.0.0'} peerDependencies: '@firebase/app': 0.x @@ -1028,893 +663,476 @@ packages: peerDependenciesMeta: '@react-native-async-storage/async-storage': optional: true - dependencies: - '@firebase/app': 0.13.1 - '@firebase/component': 0.6.17 - '@firebase/logger': 0.4.4 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - /@firebase/component@0.6.17: - resolution: {integrity: sha512-M6DOg7OySrKEFS8kxA3MU5/xc37fiOpKPMz6cTsMUcsuKB6CiZxxNAvgFta8HGRgEpZbi8WjGIj6Uf+TpOhyzg==} + '@firebase/component@0.6.18': + resolution: {integrity: sha512-n28kPCkE2dL2U28fSxZJjzPPVpKsQminJ6NrzcKXAI0E/lYC8YhfwpyllScqVEvAI3J2QgJZWYgrX+1qGI+SQQ==} engines: {node: '>=18.0.0'} - dependencies: - '@firebase/util': 1.12.0 - tslib: 2.8.1 - /@firebase/data-connect@0.3.9(@firebase/app@0.13.1): - resolution: {integrity: sha512-B5tGEh5uQrQeH0i7RvlU8kbZrKOJUmoyxVIX4zLA8qQJIN6A7D+kfBlGXtSwbPdrvyaejcRPcbOtqsDQ9HPJKw==} + '@firebase/data-connect@0.3.10': + resolution: {integrity: sha512-VMVk7zxIkgwlVQIWHOKFahmleIjiVFwFOjmakXPd/LDgaB/5vzwsB5DWIYo+3KhGxWpidQlR8geCIn39YflJIQ==} peerDependencies: '@firebase/app': 0.x - dependencies: - '@firebase/app': 0.13.1 - '@firebase/auth-interop-types': 0.2.4 - '@firebase/component': 0.6.17 - '@firebase/logger': 0.4.4 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - /@firebase/database-compat@2.0.10: - resolution: {integrity: sha512-3sjl6oGaDDYJw/Ny0E5bO6v+KM3KoD4Qo/sAfHGdRFmcJ4QnfxOX9RbG9+ce/evI3m64mkPr24LlmTDduqMpog==} + '@firebase/database-compat@2.0.11': + resolution: {integrity: sha512-itEsHARSsYS95+udF/TtIzNeQ0Uhx4uIna0sk4E0wQJBUnLc/G1X6D7oRljoOuwwCezRLGvWBRyNrugv/esOEw==} engines: {node: '>=18.0.0'} - dependencies: - '@firebase/component': 0.6.17 - '@firebase/database': 1.0.19 - '@firebase/database-types': 1.0.14 - '@firebase/logger': 0.4.4 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - /@firebase/database-types@1.0.14: - resolution: {integrity: sha512-8a0Q1GrxM0akgF0RiQHliinhmZd+UQPrxEmUv7MnQBYfVFiLtKOgs3g6ghRt/WEGJHyQNslZ+0PocIwNfoDwKw==} - dependencies: - '@firebase/app-types': 0.9.3 - '@firebase/util': 1.12.0 + '@firebase/database-types@1.0.15': + resolution: {integrity: sha512-XWHJ0VUJ0k2E9HDMlKxlgy/ZuTa9EvHCGLjaKSUvrQnwhgZuRU5N3yX6SZ+ftf2hTzZmfRkv+b3QRvGg40bKNw==} - /@firebase/database@1.0.19: - resolution: {integrity: sha512-khE+MIYK+XlIndVn/7mAQ9F1fwG5JHrGKaG72hblCC6JAlUBDd3SirICH6SMCf2PQ0iYkruTECth+cRhauacyQ==} + '@firebase/database@1.0.20': + resolution: {integrity: sha512-H9Rpj1pQ1yc9+4HQOotFGLxqAXwOzCHsRSRjcQFNOr8lhUt6LeYjf0NSRL04sc4X0dWe8DsCvYKxMYvFG/iOJw==} engines: {node: '>=18.0.0'} - dependencies: - '@firebase/app-check-interop-types': 0.3.3 - '@firebase/auth-interop-types': 0.2.4 - '@firebase/component': 0.6.17 - '@firebase/logger': 0.4.4 - '@firebase/util': 1.12.0 - faye-websocket: 0.11.4 - tslib: 2.8.1 - /@firebase/firestore-compat@0.3.52(@firebase/app-compat@0.4.1)(@firebase/app-types@0.9.3)(@firebase/app@0.13.1): - resolution: {integrity: sha512-nzt3Sag+EBdm1Jkw/FnnKBPk0LpUUxOlMHMADPBXYhhXrLszxn1+vb64nJsbgRIHfsCn+rg8gyGrb+8frzXrjg==} + '@firebase/firestore-compat@0.3.53': + resolution: {integrity: sha512-qI3yZL8ljwAYWrTousWYbemay2YZa+udLWugjdjju2KODWtLG94DfO4NALJgPLv8CVGcDHNFXoyQexdRA0Cz8Q==} engines: {node: '>=18.0.0'} peerDependencies: '@firebase/app-compat': 0.x - dependencies: - '@firebase/app-compat': 0.4.1 - '@firebase/component': 0.6.17 - '@firebase/firestore': 4.7.17(@firebase/app@0.13.1) - '@firebase/firestore-types': 3.0.3(@firebase/app-types@0.9.3)(@firebase/util@1.12.0) - '@firebase/util': 1.12.0 - tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - - '@firebase/app-types' - /@firebase/firestore-types@3.0.3(@firebase/app-types@0.9.3)(@firebase/util@1.12.0): + '@firebase/firestore-types@3.0.3': resolution: {integrity: sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==} peerDependencies: '@firebase/app-types': 0.x '@firebase/util': 1.x - dependencies: - '@firebase/app-types': 0.9.3 - '@firebase/util': 1.12.0 - /@firebase/firestore@4.7.17(@firebase/app@0.13.1): - resolution: {integrity: sha512-YhXWA7HlSnekExhZ5u4i0e+kpPxsh/qMrzeNDgsAva71JXK8OOuOx+yLyYBFhmu3Hr5JJDO2fsZA/wrWoQYHDg==} + '@firebase/firestore@4.8.0': + resolution: {integrity: sha512-QSRk+Q1/CaabKyqn3C32KSFiOdZpSqI9rpLK5BHPcooElumOBooPFa6YkDdiT+/KhJtel36LdAacha9BptMj2A==} engines: {node: '>=18.0.0'} peerDependencies: '@firebase/app': 0.x - dependencies: - '@firebase/app': 0.13.1 - '@firebase/component': 0.6.17 - '@firebase/logger': 0.4.4 - '@firebase/util': 1.12.0 - '@firebase/webchannel-wrapper': 1.0.3 - '@grpc/grpc-js': 1.9.15 - '@grpc/proto-loader': 0.7.15 - tslib: 2.8.1 - /@firebase/functions-compat@0.3.25(@firebase/app-compat@0.4.1)(@firebase/app@0.13.1): - resolution: {integrity: sha512-V0JKUw5W/7aznXf9BQ8LIYHCX6zVCM8Hdw7XUQ/LU1Y9TVP8WKRCnPB/qdPJ0xGjWWn7fhtwIYbgEw/syH4yTQ==} + '@firebase/functions-compat@0.3.26': + resolution: {integrity: sha512-A798/6ff5LcG2LTWqaGazbFYnjBW8zc65YfID/en83ALmkhu2b0G8ykvQnLtakbV9ajrMYPn7Yc/XcYsZIUsjA==} engines: {node: '>=18.0.0'} peerDependencies: '@firebase/app-compat': 0.x - dependencies: - '@firebase/app-compat': 0.4.1 - '@firebase/component': 0.6.17 - '@firebase/functions': 0.12.8(@firebase/app@0.13.1) - '@firebase/functions-types': 0.6.3 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - /@firebase/functions-types@0.6.3: + '@firebase/functions-types@0.6.3': resolution: {integrity: sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==} - /@firebase/functions@0.12.8(@firebase/app@0.13.1): - resolution: {integrity: sha512-p+ft6dQW0CJ3BLLxeDb5Hwk9ARw01kHTZjLqiUdPRzycR6w7Z75ThkegNmL6gCss3S0JEpldgvehgZ3kHybVhA==} + '@firebase/functions@0.12.9': + resolution: {integrity: sha512-FG95w6vjbUXN84Ehezc2SDjGmGq225UYbHrb/ptkRT7OTuCiQRErOQuyt1jI1tvcDekdNog+anIObihNFz79Lg==} engines: {node: '>=18.0.0'} peerDependencies: '@firebase/app': 0.x - dependencies: - '@firebase/app': 0.13.1 - '@firebase/app-check-interop-types': 0.3.3 - '@firebase/auth-interop-types': 0.2.4 - '@firebase/component': 0.6.17 - '@firebase/messaging-interop-types': 0.2.3 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - /@firebase/installations-compat@0.2.17(@firebase/app-compat@0.4.1)(@firebase/app-types@0.9.3)(@firebase/app@0.13.1): - resolution: {integrity: sha512-J7afeCXB7yq25FrrJAgbx8mn1nG1lZEubOLvYgG7ZHvyoOCK00sis5rj7TgDrLYJgdj/SJiGaO1BD3BAp55TeA==} + '@firebase/installations-compat@0.2.18': + resolution: {integrity: sha512-aLFohRpJO5kKBL/XYL4tN+GdwEB/Q6Vo9eZOM/6Kic7asSUgmSfGPpGUZO1OAaSRGwF4Lqnvi1f/f9VZnKzChw==} peerDependencies: '@firebase/app-compat': 0.x - dependencies: - '@firebase/app-compat': 0.4.1 - '@firebase/component': 0.6.17 - '@firebase/installations': 0.6.17(@firebase/app@0.13.1) - '@firebase/installations-types': 0.5.3(@firebase/app-types@0.9.3) - '@firebase/util': 1.12.0 - tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - - '@firebase/app-types' - /@firebase/installations-types@0.5.3(@firebase/app-types@0.9.3): + '@firebase/installations-types@0.5.3': resolution: {integrity: sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==} peerDependencies: '@firebase/app-types': 0.x - dependencies: - '@firebase/app-types': 0.9.3 - /@firebase/installations@0.6.17(@firebase/app@0.13.1): - resolution: {integrity: sha512-zfhqCNJZRe12KyADtRrtOj+SeSbD1H/K8J24oQAJVv/u02eQajEGlhZtcx9Qk7vhGWF5z9dvIygVDYqLL4o1XQ==} + '@firebase/installations@0.6.18': + resolution: {integrity: sha512-NQ86uGAcvO8nBRwVltRL9QQ4Reidc/3whdAasgeWCPIcrhOKDuNpAALa6eCVryLnK14ua2DqekCOX5uC9XbU/A==} peerDependencies: '@firebase/app': 0.x - dependencies: - '@firebase/app': 0.13.1 - '@firebase/component': 0.6.17 - '@firebase/util': 1.12.0 - idb: 7.1.1 - tslib: 2.8.1 - /@firebase/logger@0.4.4: + '@firebase/logger@0.4.4': resolution: {integrity: sha512-mH0PEh1zoXGnaR8gD1DeGeNZtWFKbnz9hDO91dIml3iou1gpOnLqXQ2dJfB71dj6dpmUjcQ6phY3ZZJbjErr9g==} engines: {node: '>=18.0.0'} - dependencies: - tslib: 2.8.1 - /@firebase/messaging-compat@0.2.21(@firebase/app-compat@0.4.1)(@firebase/app@0.13.1): - resolution: {integrity: sha512-1yMne+4BGLbHbtyu/VyXWcLiefUE1+K3ZGfVTyKM4BH4ZwDFRGoWUGhhx+tKRX4Tu9z7+8JN67SjnwacyNWK5g==} + '@firebase/messaging-compat@0.2.22': + resolution: {integrity: sha512-5ZHtRnj6YO6f/QPa/KU6gryjmX4Kg33Kn4gRpNU6M1K47Gm8kcQwPkX7erRUYEH1mIWptfvjvXMHWoZaWjkU7A==} peerDependencies: '@firebase/app-compat': 0.x - dependencies: - '@firebase/app-compat': 0.4.1 - '@firebase/component': 0.6.17 - '@firebase/messaging': 0.12.21(@firebase/app@0.13.1) - '@firebase/util': 1.12.0 - tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - /@firebase/messaging-interop-types@0.2.3: + '@firebase/messaging-interop-types@0.2.3': resolution: {integrity: sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==} - /@firebase/messaging@0.12.21(@firebase/app@0.13.1): - resolution: {integrity: sha512-bYJ2Evj167Z+lJ1ach6UglXz5dUKY1zrJZd15GagBUJSR7d9KfiM1W8dsyL0lDxcmhmA/sLaBYAAhF1uilwN0g==} + '@firebase/messaging@0.12.22': + resolution: {integrity: sha512-GJcrPLc+Hu7nk+XQ70Okt3M1u1eRr2ZvpMbzbc54oTPJZySHcX9ccZGVFcsZbSZ6o1uqumm8Oc7OFkD3Rn1/og==} peerDependencies: '@firebase/app': 0.x - dependencies: - '@firebase/app': 0.13.1 - '@firebase/component': 0.6.17 - '@firebase/installations': 0.6.17(@firebase/app@0.13.1) - '@firebase/messaging-interop-types': 0.2.3 - '@firebase/util': 1.12.0 - idb: 7.1.1 - tslib: 2.8.1 - /@firebase/performance-compat@0.2.19(@firebase/app-compat@0.4.1)(@firebase/app@0.13.1): - resolution: {integrity: sha512-4cU0T0BJ+LZK/E/UwFcvpBCVdkStgBMQwBztM9fJPT6udrEUk3ugF5/HT+E2Z22FCXtIaXDukJbYkE/c3c6IHw==} + '@firebase/performance-compat@0.2.20': + resolution: {integrity: sha512-XkFK5NmOKCBuqOKWeRgBUFZZGz9SzdTZp4OqeUg+5nyjapTiZ4XoiiUL8z7mB2q+63rPmBl7msv682J3rcDXIQ==} peerDependencies: '@firebase/app-compat': 0.x - dependencies: - '@firebase/app-compat': 0.4.1 - '@firebase/component': 0.6.17 - '@firebase/logger': 0.4.4 - '@firebase/performance': 0.7.6(@firebase/app@0.13.1) - '@firebase/performance-types': 0.2.3 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - /@firebase/performance-types@0.2.3: + '@firebase/performance-types@0.2.3': resolution: {integrity: sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==} - /@firebase/performance@0.7.6(@firebase/app@0.13.1): - resolution: {integrity: sha512-AsOz74dSTlyQGlnnbLWXiHFAsrxhpssPOsFFi4HgOJ5DjzkK7ZdZ/E9uMPrwFoXJyMVoybGRuqsL/wkIbFITsA==} + '@firebase/performance@0.7.7': + resolution: {integrity: sha512-JTlTQNZKAd4+Q5sodpw6CN+6NmwbY72av3Lb6wUKTsL7rb3cuBIhQSrslWbVz0SwK3x0ZNcqX24qtRbwKiv+6w==} peerDependencies: '@firebase/app': 0.x - dependencies: - '@firebase/app': 0.13.1 - '@firebase/component': 0.6.17 - '@firebase/installations': 0.6.17(@firebase/app@0.13.1) - '@firebase/logger': 0.4.4 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - web-vitals: 4.2.4 - /@firebase/remote-config-compat@0.2.17(@firebase/app-compat@0.4.1)(@firebase/app@0.13.1): - resolution: {integrity: sha512-KelsBD0sXSC0u3esr/r6sJYGRN6pzn3bYuI/6pTvvmZbjBlxQkRabHAVH6d+YhLcjUXKIAYIjZszczd1QJtOyA==} + '@firebase/remote-config-compat@0.2.18': + resolution: {integrity: sha512-YiETpldhDy7zUrnS8e+3l7cNs0sL7+tVAxvVYU0lu7O+qLHbmdtAxmgY+wJqWdW2c9nDvBFec7QiF58pEUu0qQ==} peerDependencies: '@firebase/app-compat': 0.x - dependencies: - '@firebase/app-compat': 0.4.1 - '@firebase/component': 0.6.17 - '@firebase/logger': 0.4.4 - '@firebase/remote-config': 0.6.4(@firebase/app@0.13.1) - '@firebase/remote-config-types': 0.4.0 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - /@firebase/remote-config-types@0.4.0: + '@firebase/remote-config-types@0.4.0': resolution: {integrity: sha512-7p3mRE/ldCNYt8fmWMQ/MSGRmXYlJ15Rvs9Rk17t8p0WwZDbeK7eRmoI1tvCPaDzn9Oqh+yD6Lw+sGLsLg4kKg==} - /@firebase/remote-config@0.6.4(@firebase/app@0.13.1): - resolution: {integrity: sha512-ZyLJRT46wtycyz2+opEkGaoFUOqRQjt/0NX1WfUISOMCI/PuVoyDjqGpq24uK+e8D5NknyTpiXCVq5dowhScmg==} + '@firebase/remote-config@0.6.5': + resolution: {integrity: sha512-fU0c8HY0vrVHwC+zQ/fpXSqHyDMuuuglV94VF6Yonhz8Fg2J+KOowPGANM0SZkLvVOYpTeWp3ZmM+F6NjwWLnw==} peerDependencies: '@firebase/app': 0.x - dependencies: - '@firebase/app': 0.13.1 - '@firebase/component': 0.6.17 - '@firebase/installations': 0.6.17(@firebase/app@0.13.1) - '@firebase/logger': 0.4.4 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - /@firebase/storage-compat@0.3.23(@firebase/app-compat@0.4.1)(@firebase/app-types@0.9.3)(@firebase/app@0.13.1): - resolution: {integrity: sha512-B/ufkT/R/tSvc2av+vP6ZYybGn26FwB9YVDYg/6Bro+5TN3VEkCeNmfnX3XLa2DSdXUTZAdWCbMxW0povGa4MA==} + '@firebase/storage-compat@0.3.24': + resolution: {integrity: sha512-XHn2tLniiP7BFKJaPZ0P8YQXKiVJX+bMyE2j2YWjYfaddqiJnROJYqSomwW6L3Y+gZAga35ONXUJQju6MB6SOQ==} engines: {node: '>=18.0.0'} peerDependencies: '@firebase/app-compat': 0.x - dependencies: - '@firebase/app-compat': 0.4.1 - '@firebase/component': 0.6.17 - '@firebase/storage': 0.13.13(@firebase/app@0.13.1) - '@firebase/storage-types': 0.8.3(@firebase/app-types@0.9.3)(@firebase/util@1.12.0) - '@firebase/util': 1.12.0 - tslib: 2.8.1 - transitivePeerDependencies: - - '@firebase/app' - - '@firebase/app-types' - /@firebase/storage-types@0.8.3(@firebase/app-types@0.9.3)(@firebase/util@1.12.0): + '@firebase/storage-types@0.8.3': resolution: {integrity: sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==} peerDependencies: '@firebase/app-types': 0.x '@firebase/util': 1.x - dependencies: - '@firebase/app-types': 0.9.3 - '@firebase/util': 1.12.0 - /@firebase/storage@0.13.13(@firebase/app@0.13.1): - resolution: {integrity: sha512-E+MTNcBgpoAynicgVb2ZsHCuEOO4aAiUX5ahNwe/1dEyZpo2H4DwFqKQRNK/sdAIgBbjBwcfV2p0MdPFGIR0Ew==} + '@firebase/storage@0.13.14': + resolution: {integrity: sha512-xTq5ixxORzx+bfqCpsh+o3fxOsGoDjC1nO0Mq2+KsOcny3l7beyBhP/y1u5T6mgsFQwI1j6oAkbT5cWdDBx87g==} engines: {node: '>=18.0.0'} peerDependencies: '@firebase/app': 0.x - dependencies: - '@firebase/app': 0.13.1 - '@firebase/component': 0.6.17 - '@firebase/util': 1.12.0 - tslib: 2.8.1 - /@firebase/util@1.12.0: - resolution: {integrity: sha512-Z4rK23xBCwgKDqmzGVMef+Vb4xso2j5Q8OG0vVL4m4fA5ZjPMYQazu8OJJC3vtQRC3SQ/Pgx/6TPNVsCd70QRw==} + '@firebase/util@1.12.1': + resolution: {integrity: sha512-zGlBn/9Dnya5ta9bX/fgEoNC3Cp8s6h+uYPYaDieZsFOAdHP/ExzQ/eaDgxD3GOROdPkLKpvKY0iIzr9adle0w==} engines: {node: '>=18.0.0'} - requiresBuild: true - dependencies: - tslib: 2.8.1 - /@firebase/webchannel-wrapper@1.0.3: + '@firebase/webchannel-wrapper@1.0.3': resolution: {integrity: sha512-2xCRM9q9FlzGZCdgDMJwc0gyUkWFtkosy7Xxr6sFgQwn+wMNIWd7xIvYNauU1r64B5L5rsGKy/n9TKJ0aAFeqQ==} - /@grpc/grpc-js@1.9.15: + '@grpc/grpc-js@1.9.15': resolution: {integrity: sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==} engines: {node: ^8.13.0 || >=10.10.0} - dependencies: - '@grpc/proto-loader': 0.7.15 - '@types/node': 22.15.32 - /@grpc/proto-loader@0.7.15: + '@grpc/proto-loader@0.7.15': resolution: {integrity: sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==} engines: {node: '>=6'} hasBin: true - dependencies: - lodash.camelcase: 4.3.0 - long: 5.3.2 - protobufjs: 7.5.3 - yargs: 17.7.2 - /@isaacs/balanced-match@4.0.1: + '@isaacs/balanced-match@4.0.1': resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} engines: {node: 20 || >=22} - dev: true - /@isaacs/brace-expansion@5.0.0: + '@isaacs/brace-expansion@5.0.0': resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==} engines: {node: 20 || >=22} - dependencies: - '@isaacs/balanced-match': 4.0.1 - dev: true - /@isaacs/cliui@8.0.2: + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} - dependencies: - string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 - strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: true - /@jridgewell/gen-mapping@0.3.8: - resolution: {integrity: sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 - dev: true + '@jridgewell/gen-mapping@0.3.13': + resolution: {integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==} - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - dev: true + '@jridgewell/remapping@2.3.5': + resolution: {integrity: sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==} - /@jridgewell/set-array@1.2.1: - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - dev: true - /@jridgewell/sourcemap-codec@1.5.0: - resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} - dev: true + '@jridgewell/sourcemap-codec@1.5.5': + resolution: {integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==} - /@jridgewell/trace-mapping@0.3.25: - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 - dev: true + '@jridgewell/trace-mapping@0.3.31': + resolution: {integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==} - /@microsoft/api-extractor-model@7.30.6: - resolution: {integrity: sha512-znmFn69wf/AIrwHya3fxX6uB5etSIn6vg4Q4RB/tb5VDDs1rqREc+AvMC/p19MUN13CZ7+V/8pkYPTj7q8tftg==} - dependencies: - '@microsoft/tsdoc': 0.15.1 - '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.13.1 - transitivePeerDependencies: - - '@types/node' - dev: true + '@microsoft/api-extractor-model@7.31.2': + resolution: {integrity: sha512-d0WwxwBLZaHokTrOngqHVkQK59NlveV5RE4wEpjaybhSNmEK9N7KPCcT5n8JcpH6k5o6AhxG47g1km2D7BZw8Q==} - /@microsoft/api-extractor@7.52.8: - resolution: {integrity: sha512-cszYIcjiNscDoMB1CIKZ3My61+JOhpERGlGr54i6bocvGLrcL/wo9o+RNXMBrb7XgLtKaizZWUpqRduQuHQLdg==} + '@microsoft/api-extractor@7.53.2': + resolution: {integrity: sha512-hG3+wJY6aZlkQhGpUbhq1C5F1uJLsmDjrwVea+WT18RbD1XtIGn/c4uyMF7gdXLjLNwErB47hnRk9QNjpEHUWA==} hasBin: true - dependencies: - '@microsoft/api-extractor-model': 7.30.6 - '@microsoft/tsdoc': 0.15.1 - '@microsoft/tsdoc-config': 0.17.1 - '@rushstack/node-core-library': 5.13.1 - '@rushstack/rig-package': 0.5.3 - '@rushstack/terminal': 0.15.3 - '@rushstack/ts-command-line': 5.0.1 - lodash: 4.17.21 - minimatch: 3.0.8 - resolve: 1.22.10 - semver: 7.5.4 - source-map: 0.6.1 - typescript: 5.8.2 - transitivePeerDependencies: - - '@types/node' - dev: true - /@microsoft/tsdoc-config@0.17.1: + '@microsoft/tsdoc-config@0.17.1': resolution: {integrity: sha512-UtjIFe0C6oYgTnad4q1QP4qXwLhe6tIpNTRStJ2RZEPIkqQPREAwE5spzVxsdn9UaEMUqhh0AqSx3X4nWAKXWw==} - dependencies: - '@microsoft/tsdoc': 0.15.1 - ajv: 8.12.0 - jju: 1.4.0 - resolve: 1.22.10 - dev: true - /@microsoft/tsdoc@0.15.1: + '@microsoft/tsdoc@0.15.1': resolution: {integrity: sha512-4aErSrCR/On/e5G2hDP0wjooqDdauzEbIq8hIkIe5pXV0rtWJZvdCEKL0ykZxex+IxIwBp0eGeV48hQN07dXtw==} - dev: true - /@nanostores/react@0.8.4(nanostores@0.11.4)(react@19.1.0): + '@nanostores/react@0.8.4': resolution: {integrity: sha512-EciHSzDXg7GmGODjegGG1VldPEinbAK+12/Uz5+MAdHmxf082Rl6eXqKFxAAu4pZAcr5dNTpv6wMfEe7XacjkQ==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: nanostores: ^0.9.0 || ^0.10.0 || ^0.11.0 react: '>=18.0.0' - dependencies: - nanostores: 0.11.4 - react: 19.1.0 - dev: false - /@napi-rs/nice-android-arm-eabi@1.0.1: - resolution: {integrity: sha512-5qpvOu5IGwDo7MEKVqqyAxF90I6aLj4n07OzpARdgDRfz8UbBztTByBp0RC59r3J1Ij8uzYi6jI7r5Lws7nn6w==} + '@napi-rs/nice-android-arm-eabi@1.1.1': + resolution: {integrity: sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==} engines: {node: '>= 10'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice-android-arm64@1.0.1: - resolution: {integrity: sha512-GqvXL0P8fZ+mQqG1g0o4AO9hJjQaeYG84FRfZaYjyJtZZZcMjXW5TwkL8Y8UApheJgyE13TQ4YNUssQaTgTyvA==} + '@napi-rs/nice-android-arm64@1.1.1': + resolution: {integrity: sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==} engines: {node: '>= 10'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice-darwin-arm64@1.0.1: - resolution: {integrity: sha512-91k3HEqUl2fsrz/sKkuEkscj6EAj3/eZNCLqzD2AA0TtVbkQi8nqxZCZDMkfklULmxLkMxuUdKe7RvG/T6s2AA==} + '@napi-rs/nice-darwin-arm64@1.1.1': + resolution: {integrity: sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice-darwin-x64@1.0.1: - resolution: {integrity: sha512-jXnMleYSIR/+TAN/p5u+NkCA7yidgswx5ftqzXdD5wgy/hNR92oerTXHc0jrlBisbd7DpzoaGY4cFD7Sm5GlgQ==} + '@napi-rs/nice-darwin-x64@1.1.1': + resolution: {integrity: sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice-freebsd-x64@1.0.1: - resolution: {integrity: sha512-j+iJ/ezONXRQsVIB/FJfwjeQXX7A2tf3gEXs4WUGFrJjpe/z2KB7sOv6zpkm08PofF36C9S7wTNuzHZ/Iiccfw==} + '@napi-rs/nice-freebsd-x64@1.1.1': + resolution: {integrity: sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice-linux-arm-gnueabihf@1.0.1: - resolution: {integrity: sha512-G8RgJ8FYXYkkSGQwywAUh84m946UTn6l03/vmEXBYNJxQJcD+I3B3k5jmjFG/OPiU8DfvxutOP8bi+F89MCV7Q==} + '@napi-rs/nice-linux-arm-gnueabihf@1.1.1': + resolution: {integrity: sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==} engines: {node: '>= 10'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice-linux-arm64-gnu@1.0.1: - resolution: {integrity: sha512-IMDak59/W5JSab1oZvmNbrms3mHqcreaCeClUjwlwDr0m3BoR09ZiN8cKFBzuSlXgRdZ4PNqCYNeGQv7YMTjuA==} + '@napi-rs/nice-linux-arm64-gnu@1.1.1': + resolution: {integrity: sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice-linux-arm64-musl@1.0.1: - resolution: {integrity: sha512-wG8fa2VKuWM4CfjOjjRX9YLIbysSVV1S3Kgm2Fnc67ap/soHBeYZa6AGMeR5BJAylYRjnoVOzV19Cmkco3QEPw==} + '@napi-rs/nice-linux-arm64-musl@1.1.1': + resolution: {integrity: sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice-linux-ppc64-gnu@1.0.1: - resolution: {integrity: sha512-lxQ9WrBf0IlNTCA9oS2jg/iAjQyTI6JHzABV664LLrLA/SIdD+I1i3Mjf7TsnoUbgopBcCuDztVLfJ0q9ubf6Q==} + '@napi-rs/nice-linux-ppc64-gnu@1.1.1': + resolution: {integrity: sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==} engines: {node: '>= 10'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice-linux-riscv64-gnu@1.0.1: - resolution: {integrity: sha512-3xs69dO8WSWBb13KBVex+yvxmUeEsdWexxibqskzoKaWx9AIqkMbWmE2npkazJoopPKX2ULKd8Fm9veEn0g4Ig==} + '@napi-rs/nice-linux-riscv64-gnu@1.1.1': + resolution: {integrity: sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==} engines: {node: '>= 10'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice-linux-s390x-gnu@1.0.1: - resolution: {integrity: sha512-lMFI3i9rlW7hgToyAzTaEybQYGbQHDrpRkg+1gJWEpH0PLAQoZ8jiY0IzakLfNWnVda1eTYYlxxFYzW8Rqczkg==} + '@napi-rs/nice-linux-s390x-gnu@1.1.1': + resolution: {integrity: sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==} engines: {node: '>= 10'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice-linux-x64-gnu@1.0.1: - resolution: {integrity: sha512-XQAJs7DRN2GpLN6Fb+ZdGFeYZDdGl2Fn3TmFlqEL5JorgWKrQGRUrpGKbgZ25UeZPILuTKJ+OowG2avN8mThBA==} + '@napi-rs/nice-linux-x64-gnu@1.1.1': + resolution: {integrity: sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice-linux-x64-musl@1.0.1: - resolution: {integrity: sha512-/rodHpRSgiI9o1faq9SZOp/o2QkKQg7T+DK0R5AkbnI/YxvAIEHf2cngjYzLMQSQgUhxym+LFr+UGZx4vK4QdQ==} + '@napi-rs/nice-linux-x64-musl@1.1.1': + resolution: {integrity: sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==} engines: {node: '>= 10'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice-win32-arm64-msvc@1.0.1: - resolution: {integrity: sha512-rEcz9vZymaCB3OqEXoHnp9YViLct8ugF+6uO5McifTedjq4QMQs3DHz35xBEGhH3gJWEsXMUbzazkz5KNM5YUg==} + '@napi-rs/nice-openharmony-arm64@1.1.1': + resolution: {integrity: sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [openharmony] + + '@napi-rs/nice-win32-arm64-msvc@1.1.1': + resolution: {integrity: sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice-win32-ia32-msvc@1.0.1: - resolution: {integrity: sha512-t7eBAyPUrWL8su3gDxw9xxxqNwZzAqKo0Szv3IjVQd1GpXXVkb6vBBQUuxfIYaXMzZLwlxRQ7uzM2vdUE9ULGw==} + '@napi-rs/nice-win32-ia32-msvc@1.1.1': + resolution: {integrity: sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice-win32-x64-msvc@1.0.1: - resolution: {integrity: sha512-JlF+uDcatt3St2ntBG8H02F1mM45i5SF9W+bIKiReVE6wiy3o16oBP/yxt+RZ+N6LbCImJXJ6bXNO2kn9AXicg==} + '@napi-rs/nice-win32-x64-msvc@1.1.1': + resolution: {integrity: sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==} engines: {node: '>= 10'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@napi-rs/nice@1.0.1: - resolution: {integrity: sha512-zM0mVWSXE0a0h9aKACLwKmD6nHcRiKrPpCfvaKqG1CqDEyjEawId0ocXxVzPMCAm6kkWr2P025msfxXEnt8UGQ==} + '@napi-rs/nice@1.1.1': + resolution: {integrity: sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==} engines: {node: '>= 10'} - requiresBuild: true - optionalDependencies: - '@napi-rs/nice-android-arm-eabi': 1.0.1 - '@napi-rs/nice-android-arm64': 1.0.1 - '@napi-rs/nice-darwin-arm64': 1.0.1 - '@napi-rs/nice-darwin-x64': 1.0.1 - '@napi-rs/nice-freebsd-x64': 1.0.1 - '@napi-rs/nice-linux-arm-gnueabihf': 1.0.1 - '@napi-rs/nice-linux-arm64-gnu': 1.0.1 - '@napi-rs/nice-linux-arm64-musl': 1.0.1 - '@napi-rs/nice-linux-ppc64-gnu': 1.0.1 - '@napi-rs/nice-linux-riscv64-gnu': 1.0.1 - '@napi-rs/nice-linux-s390x-gnu': 1.0.1 - '@napi-rs/nice-linux-x64-gnu': 1.0.1 - '@napi-rs/nice-linux-x64-musl': 1.0.1 - '@napi-rs/nice-win32-arm64-msvc': 1.0.1 - '@napi-rs/nice-win32-ia32-msvc': 1.0.1 - '@napi-rs/nice-win32-x64-msvc': 1.0.1 - dev: true - optional: true - /@nodelib/fs.scandir@2.1.5: + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - /@nodelib/fs.stat@2.0.5: + '@nodelib/fs.stat@2.0.5': resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: true - /@nodelib/fs.walk@1.2.8: + '@nodelib/fs.walk@1.2.8': resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.19.1 - dev: true - /@parcel/watcher-android-arm64@2.5.1: + '@parcel/watcher-android-arm64@2.5.1': resolution: {integrity: sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@parcel/watcher-darwin-arm64@2.5.1: + '@parcel/watcher-darwin-arm64@2.5.1': resolution: {integrity: sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@parcel/watcher-darwin-x64@2.5.1: + '@parcel/watcher-darwin-x64@2.5.1': resolution: {integrity: sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@parcel/watcher-freebsd-x64@2.5.1: + '@parcel/watcher-freebsd-x64@2.5.1': resolution: {integrity: sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@parcel/watcher-linux-arm-glibc@2.5.1: + '@parcel/watcher-linux-arm-glibc@2.5.1': resolution: {integrity: sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@parcel/watcher-linux-arm-musl@2.5.1: + '@parcel/watcher-linux-arm-musl@2.5.1': resolution: {integrity: sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==} engines: {node: '>= 10.0.0'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@parcel/watcher-linux-arm64-glibc@2.5.1: + '@parcel/watcher-linux-arm64-glibc@2.5.1': resolution: {integrity: sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@parcel/watcher-linux-arm64-musl@2.5.1: + '@parcel/watcher-linux-arm64-musl@2.5.1': resolution: {integrity: sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@parcel/watcher-linux-x64-glibc@2.5.1: + '@parcel/watcher-linux-x64-glibc@2.5.1': resolution: {integrity: sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@parcel/watcher-linux-x64-musl@2.5.1: + '@parcel/watcher-linux-x64-musl@2.5.1': resolution: {integrity: sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@parcel/watcher-win32-arm64@2.5.1: + '@parcel/watcher-win32-arm64@2.5.1': resolution: {integrity: sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==} engines: {node: '>= 10.0.0'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@parcel/watcher-win32-ia32@2.5.1: + '@parcel/watcher-win32-ia32@2.5.1': resolution: {integrity: sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==} engines: {node: '>= 10.0.0'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@parcel/watcher-win32-x64@2.5.1: + '@parcel/watcher-win32-x64@2.5.1': resolution: {integrity: sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==} engines: {node: '>= 10.0.0'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@parcel/watcher@2.5.1: + '@parcel/watcher@2.5.1': resolution: {integrity: sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==} engines: {node: '>= 10.0.0'} - requiresBuild: true - dependencies: - detect-libc: 1.0.3 - is-glob: 4.0.3 - micromatch: 4.0.8 - node-addon-api: 7.1.1 - optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.1 - '@parcel/watcher-darwin-arm64': 2.5.1 - '@parcel/watcher-darwin-x64': 2.5.1 - '@parcel/watcher-freebsd-x64': 2.5.1 - '@parcel/watcher-linux-arm-glibc': 2.5.1 - '@parcel/watcher-linux-arm-musl': 2.5.1 - '@parcel/watcher-linux-arm64-glibc': 2.5.1 - '@parcel/watcher-linux-arm64-musl': 2.5.1 - '@parcel/watcher-linux-x64-glibc': 2.5.1 - '@parcel/watcher-linux-x64-musl': 2.5.1 - '@parcel/watcher-win32-arm64': 2.5.1 - '@parcel/watcher-win32-ia32': 2.5.1 - '@parcel/watcher-win32-x64': 2.5.1 - dev: true - optional: true - /@pkgjs/parseargs@0.11.0: + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} - requiresBuild: true - dev: true - optional: true - /@protobufjs/aspromise@1.1.2: + '@protobufjs/aspromise@1.1.2': resolution: {integrity: sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==} - /@protobufjs/base64@1.1.2: + '@protobufjs/base64@1.1.2': resolution: {integrity: sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==} - /@protobufjs/codegen@2.0.4: + '@protobufjs/codegen@2.0.4': resolution: {integrity: sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==} - /@protobufjs/eventemitter@1.1.0: + '@protobufjs/eventemitter@1.1.0': resolution: {integrity: sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==} - /@protobufjs/fetch@1.1.0: + '@protobufjs/fetch@1.1.0': resolution: {integrity: sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==} - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/inquire': 1.1.0 - /@protobufjs/float@1.0.2: + '@protobufjs/float@1.0.2': resolution: {integrity: sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==} - /@protobufjs/inquire@1.1.0: + '@protobufjs/inquire@1.1.0': resolution: {integrity: sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==} - /@protobufjs/path@1.1.2: + '@protobufjs/path@1.1.2': resolution: {integrity: sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==} - /@protobufjs/pool@1.1.0: + '@protobufjs/pool@1.1.0': resolution: {integrity: sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==} - /@protobufjs/utf8@1.1.0: + '@protobufjs/utf8@1.1.0': resolution: {integrity: sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==} - /@remix-run/node@2.16.8(typescript@5.6.3): - resolution: {integrity: sha512-foeYXU3mdaBJZnbtGbM8mNdHowz2+QnVGDRo7P3zgFkmsccMEflArGZNbkACGKd9xwDguTxxMJ6cuXBC4jIfgQ==} + '@remix-run/node@2.17.1': + resolution: {integrity: sha512-pHmHTuLE1Lwazulx3gjrHobgBCsa+Xiq8WUO0ruLeDfEw2DU0c0SNSiyNkugu3rIZautroBwRaOoy7CWJL9xhQ==} engines: {node: '>=18.0.0'} peerDependencies: typescript: ^5.1.0 peerDependenciesMeta: typescript: optional: true - dependencies: - '@remix-run/server-runtime': 2.16.8(typescript@5.6.3) - '@remix-run/web-fetch': 4.4.2 - '@web3-storage/multipart-parser': 1.0.0 - cookie-signature: 1.2.2 - source-map-support: 0.5.21 - stream-slice: 0.1.2 - typescript: 5.6.3 - undici: 6.21.3 - dev: false - /@remix-run/router@1.23.0: + '@remix-run/router@1.23.0': resolution: {integrity: sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==} engines: {node: '>=14.0.0'} - dev: false - /@remix-run/server-runtime@2.16.8(typescript@5.6.3): - resolution: {integrity: sha512-ZwWOam4GAQTx10t+wK09YuYctd2Koz5Xy/klDgUN3lmTXmwbV0tZU0baiXEqZXrvyD+WDZ4b0ADDW9Df3+dpzA==} + '@remix-run/server-runtime@2.17.1': + resolution: {integrity: sha512-d1Vp9FxX4KafB111vP2E5C1fmWzPI+gHZ674L1drq+N8Bp9U6FBspi7GAZSU5K5Kxa4T6UF+aE1gK6pVi9R8sw==} engines: {node: '>=18.0.0'} peerDependencies: typescript: ^5.1.0 peerDependenciesMeta: typescript: optional: true - dependencies: - '@remix-run/router': 1.23.0 - '@types/cookie': 0.6.0 - '@web3-storage/multipart-parser': 1.0.0 - cookie: 0.7.2 - set-cookie-parser: 2.7.1 - source-map: 0.7.4 - turbo-stream: 2.4.1 - typescript: 5.6.3 - dev: false - /@remix-run/web-blob@3.1.0: + '@remix-run/web-blob@3.1.0': resolution: {integrity: sha512-owGzFLbqPH9PlKb8KvpNJ0NO74HWE2euAn61eEiyCXX/oteoVzTVSN8mpLgDjaxBf2btj5/nUllSUgpyd6IH6g==} - dependencies: - '@remix-run/web-stream': 1.1.0 - web-encoding: 1.1.5 - dev: false - /@remix-run/web-fetch@4.4.2: + '@remix-run/web-fetch@4.4.2': resolution: {integrity: sha512-jgKfzA713/4kAW/oZ4bC3MoLWyjModOVDjFPNseVqcJKSafgIscrYL9G50SurEYLswPuoU3HzSbO0jQCMYWHhA==} engines: {node: ^10.17 || >=12.3} - dependencies: - '@remix-run/web-blob': 3.1.0 - '@remix-run/web-file': 3.1.0 - '@remix-run/web-form-data': 3.1.0 - '@remix-run/web-stream': 1.1.0 - '@web3-storage/multipart-parser': 1.0.0 - abort-controller: 3.0.0 - data-uri-to-buffer: 3.0.1 - mrmime: 1.0.1 - dev: false - /@remix-run/web-file@3.1.0: + '@remix-run/web-file@3.1.0': resolution: {integrity: sha512-dW2MNGwoiEYhlspOAXFBasmLeYshyAyhIdrlXBi06Duex5tDr3ut2LFKVj7tyHLmn8nnNwFf1BjNbkQpygC2aQ==} - dependencies: - '@remix-run/web-blob': 3.1.0 - dev: false - /@remix-run/web-form-data@3.1.0: + '@remix-run/web-form-data@3.1.0': resolution: {integrity: sha512-NdeohLMdrb+pHxMQ/Geuzdp0eqPbea+Ieo8M8Jx2lGC6TBHsgHzYcBvr0LyPdPVycNRDEpWpiDdCOdCryo3f9A==} - dependencies: - web-encoding: 1.1.5 - dev: false - /@remix-run/web-stream@1.1.0: + '@remix-run/web-stream@1.1.0': resolution: {integrity: sha512-KRJtwrjRV5Bb+pM7zxcTJkhIqWWSy+MYsIxHK+0m5atcznsf15YwUBWHWulZerV2+vvHH1Lp1DD7pw6qKW8SgA==} - dependencies: - web-streams-polyfill: 3.3.3 - dev: false - /@rolldown/pluginutils@1.0.0-beta.11: - resolution: {integrity: sha512-L/gAA/hyCSuzTF1ftlzUSI/IKr2POHsv1Dd78GfqkR83KMNuswWD61JxGV2L7nRwBBBSDr6R1gCkdTmoN7W4ag==} - dev: true + '@rolldown/pluginutils@1.0.0-beta.27': + resolution: {integrity: sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==} - /@rollup/plugin-json@6.1.0(rollup@4.43.0): + '@rollup/plugin-json@6.1.0': resolution: {integrity: sha512-EGI2te5ENk1coGeADSIwZ7G2Q8CJS2sF120T7jLw4xFw9n7wIOXHo+kIYRAoVpJAN+kmqZSoO3Fp4JtoNF4ReA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -1922,293 +1140,191 @@ packages: peerDependenciesMeta: rollup: optional: true - dependencies: - '@rollup/pluginutils': 5.1.4(rollup@4.43.0) - rollup: 4.43.0 - dev: true - /@rollup/pluginutils@5.1.4(rollup@4.43.0): - resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} + '@rollup/pluginutils@5.3.0': + resolution: {integrity: sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true - dependencies: - '@types/estree': 1.0.8 - estree-walker: 2.0.2 - picomatch: 4.0.2 - rollup: 4.43.0 - dev: true - /@rollup/rollup-android-arm-eabi@4.43.0: - resolution: {integrity: sha512-Krjy9awJl6rKbruhQDgivNbD1WuLb8xAclM4IR4cN5pHGAs2oIMMQJEiC3IC/9TZJ+QZkmZhlMO/6MBGxPidpw==} + '@rollup/rollup-android-arm-eabi@4.52.5': + resolution: {integrity: sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-android-arm64@4.43.0: - resolution: {integrity: sha512-ss4YJwRt5I63454Rpj+mXCXicakdFmKnUNxr1dLK+5rv5FJgAxnN7s31a5VchRYxCFWdmnDWKd0wbAdTr0J5EA==} + '@rollup/rollup-android-arm64@4.52.5': + resolution: {integrity: sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-darwin-arm64@4.43.0: - resolution: {integrity: sha512-eKoL8ykZ7zz8MjgBenEF2OoTNFAPFz1/lyJ5UmmFSz5jW+7XbH1+MAgCVHy72aG59rbuQLcJeiMrP8qP5d/N0A==} + '@rollup/rollup-darwin-arm64@4.52.5': + resolution: {integrity: sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-darwin-x64@4.43.0: - resolution: {integrity: sha512-SYwXJgaBYW33Wi/q4ubN+ldWC4DzQY62S4Ll2dgfr/dbPoF50dlQwEaEHSKrQdSjC6oIe1WgzosoaNoHCdNuMg==} + '@rollup/rollup-darwin-x64@4.52.5': + resolution: {integrity: sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-freebsd-arm64@4.43.0: - resolution: {integrity: sha512-SV+U5sSo0yujrjzBF7/YidieK2iF6E7MdF6EbYxNz94lA+R0wKl3SiixGyG/9Klab6uNBIqsN7j4Y/Fya7wAjQ==} + '@rollup/rollup-freebsd-arm64@4.52.5': + resolution: {integrity: sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-freebsd-x64@4.43.0: - resolution: {integrity: sha512-J7uCsiV13L/VOeHJBo5SjasKiGxJ0g+nQTrBkAsmQBIdil3KhPnSE9GnRon4ejX1XDdsmK/l30IYLiAaQEO0Cg==} + '@rollup/rollup-freebsd-x64@4.52.5': + resolution: {integrity: sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.43.0: - resolution: {integrity: sha512-gTJ/JnnjCMc15uwB10TTATBEhK9meBIY+gXP4s0sHD1zHOaIh4Dmy1X9wup18IiY9tTNk5gJc4yx9ctj/fjrIw==} + '@rollup/rollup-linux-arm-gnueabihf@4.52.5': + resolution: {integrity: sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm-musleabihf@4.43.0: - resolution: {integrity: sha512-ZJ3gZynL1LDSIvRfz0qXtTNs56n5DI2Mq+WACWZ7yGHFUEirHBRt7fyIk0NsCKhmRhn7WAcjgSkSVVxKlPNFFw==} + '@rollup/rollup-linux-arm-musleabihf@4.52.5': + resolution: {integrity: sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm64-gnu@4.43.0: - resolution: {integrity: sha512-8FnkipasmOOSSlfucGYEu58U8cxEdhziKjPD2FIa0ONVMxvl/hmONtX/7y4vGjdUhjcTHlKlDhw3H9t98fPvyA==} + '@rollup/rollup-linux-arm64-gnu@4.52.5': + resolution: {integrity: sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm64-musl@4.43.0: - resolution: {integrity: sha512-KPPyAdlcIZ6S9C3S2cndXDkV0Bb1OSMsX0Eelr2Bay4EsF9yi9u9uzc9RniK3mcUGCLhWY9oLr6er80P5DE6XA==} + '@rollup/rollup-linux-arm64-musl@4.52.5': + resolution: {integrity: sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-loongarch64-gnu@4.43.0: - resolution: {integrity: sha512-HPGDIH0/ZzAZjvtlXj6g+KDQ9ZMHfSP553za7o2Odegb/BEfwJcR0Sw0RLNpQ9nC6Gy8s+3mSS9xjZ0n3rhcYg==} + '@rollup/rollup-linux-loong64-gnu@4.52.5': + resolution: {integrity: sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.43.0: - resolution: {integrity: sha512-gEmwbOws4U4GLAJDhhtSPWPXUzDfMRedT3hFMyRAvM9Mrnj+dJIFIeL7otsv2WF3D7GrV0GIewW0y28dOYWkmw==} + '@rollup/rollup-linux-ppc64-gnu@4.52.5': + resolution: {integrity: sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-riscv64-gnu@4.43.0: - resolution: {integrity: sha512-XXKvo2e+wFtXZF/9xoWohHg+MuRnvO29TI5Hqe9xwN5uN8NKUYy7tXUG3EZAlfchufNCTHNGjEx7uN78KsBo0g==} + '@rollup/rollup-linux-riscv64-gnu@4.52.5': + resolution: {integrity: sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-riscv64-musl@4.43.0: - resolution: {integrity: sha512-ruf3hPWhjw6uDFsOAzmbNIvlXFXlBQ4nk57Sec8E8rUxs/AI4HD6xmiiasOOx/3QxS2f5eQMKTAwk7KHwpzr/Q==} + '@rollup/rollup-linux-riscv64-musl@4.52.5': + resolution: {integrity: sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-s390x-gnu@4.43.0: - resolution: {integrity: sha512-QmNIAqDiEMEvFV15rsSnjoSmO0+eJLoKRD9EAa9rrYNwO/XRCtOGM3A5A0X+wmG+XRrw9Fxdsw+LnyYiZWWcVw==} + '@rollup/rollup-linux-s390x-gnu@4.52.5': + resolution: {integrity: sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-x64-gnu@4.43.0: - resolution: {integrity: sha512-jAHr/S0iiBtFyzjhOkAics/2SrXE092qyqEg96e90L3t9Op8OTzS6+IX0Fy5wCt2+KqeHAkti+eitV0wvblEoQ==} + '@rollup/rollup-linux-x64-gnu@4.52.5': + resolution: {integrity: sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-x64-musl@4.43.0: - resolution: {integrity: sha512-3yATWgdeXyuHtBhrLt98w+5fKurdqvs8B53LaoKD7P7H7FKOONLsBVMNl9ghPQZQuYcceV5CDyPfyfGpMWD9mQ==} + '@rollup/rollup-linux-x64-musl@4.52.5': + resolution: {integrity: sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-arm64-msvc@4.43.0: - resolution: {integrity: sha512-wVzXp2qDSCOpcBCT5WRWLmpJRIzv23valvcTwMHEobkjippNf+C3ys/+wf07poPkeNix0paTNemB2XrHr2TnGw==} + '@rollup/rollup-openharmony-arm64@4.52.5': + resolution: {integrity: sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==} + cpu: [arm64] + os: [openharmony] + + '@rollup/rollup-win32-arm64-msvc@4.52.5': + resolution: {integrity: sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-ia32-msvc@4.43.0: - resolution: {integrity: sha512-fYCTEyzf8d+7diCw8b+asvWDCLMjsCEA8alvtAutqJOJp/wL5hs1rWSqJ1vkjgW0L2NB4bsYJrpKkiIPRR9dvw==} + '@rollup/rollup-win32-ia32-msvc@4.52.5': + resolution: {integrity: sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-x64-msvc@4.43.0: - resolution: {integrity: sha512-SnGhLiE5rlK0ofq8kzuDkM0g7FN1s5VYY+YSMTibP7CqShxCQvqtNxTARS4xX4PFJfHjG0ZQYX9iGzI3FQh5Aw==} + '@rollup/rollup-win32-x64-gnu@4.52.5': + resolution: {integrity: sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==} + cpu: [x64] + os: [win32] + + '@rollup/rollup-win32-x64-msvc@4.52.5': + resolution: {integrity: sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/wasm-node@4.43.0: - resolution: {integrity: sha512-8oXXm1Fnu+CkZDwGu6gPc3Hz46pNBydHoixTSo/kPNkpFePIKySPuTI9feqI94Ka/vlHpa8VhvFRUwkRC30TMw==} + '@rollup/wasm-node@4.52.5': + resolution: {integrity: sha512-ldY4tEzSMBHNwB8TfRpi7RRRjjyfKlwjdebw5pS1lu0xaY3g4RDc6ople2wEYulVOKVeH7ZJwRx0iw4pGtjMHg==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - dependencies: - '@types/estree': 1.0.7 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /@rushstack/node-core-library@5.13.1: - resolution: {integrity: sha512-5yXhzPFGEkVc9Fu92wsNJ9jlvdwz4RNb2bMso+/+TH0nMm1jDDDsOIf4l8GAkPxGuwPw5DH24RliWVfSPhlW/Q==} + '@rushstack/node-core-library@5.17.1': + resolution: {integrity: sha512-Mtcsa0aRJgYJOpeTe4qElLTRBlijNohdliq/xOhqce5rlzMIfLr73j9wUuj6GYPZPbG0S+is/RL2l0m/vnL55A==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - dependencies: - ajv: 8.13.0 - ajv-draft-04: 1.0.0(ajv@8.13.0) - ajv-formats: 3.0.1(ajv@8.13.0) - fs-extra: 11.3.0 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.10 - semver: 7.5.4 - dev: true - /@rushstack/rig-package@0.5.3: - resolution: {integrity: sha512-olzSSjYrvCNxUFZowevC3uz8gvKr3WTpHQ7BkpjtRpA3wK+T0ybep/SRUMfr195gBzJm5gaXw0ZMgjIyHqJUow==} - dependencies: - resolve: 1.22.10 - strip-json-comments: 3.1.1 - dev: true + '@rushstack/problem-matcher@0.1.1': + resolution: {integrity: sha512-Fm5XtS7+G8HLcJHCWpES5VmeMyjAKaWeyZU5qPzZC+22mPlJzAsOxymHiWIfuirtPckX3aptWws+K2d0BzniJA==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true - /@rushstack/terminal@0.15.3: - resolution: {integrity: sha512-DGJ0B2Vm69468kZCJkPj3AH5nN+nR9SPmC0rFHtzsS4lBQ7/dgOwtwVxYP7W9JPDMuRBkJ4KHmWKr036eJsj9g==} + '@rushstack/rig-package@0.6.0': + resolution: {integrity: sha512-ZQmfzsLE2+Y91GF15c65L/slMRVhF6Hycq04D4TwtdGaUAbIXXg9c5pKA5KFU7M4QMaihoobp9JJYpYcaY3zOw==} + + '@rushstack/terminal@0.19.2': + resolution: {integrity: sha512-SJLC+6oUrJ0OOpuuwXxhktCTE3jeYVIwtvREdNhbcnVQrYGaDJpAoBgNVfw+VH0pTPpFLBqoPHsRRz7mj7WlbA==} peerDependencies: '@types/node': '*' peerDependenciesMeta: '@types/node': optional: true - dependencies: - '@rushstack/node-core-library': 5.13.1 - supports-color: 8.1.1 - dev: true - /@rushstack/ts-command-line@5.0.1: - resolution: {integrity: sha512-bsbUucn41UXrQK7wgM8CNM/jagBytEyJqXw/umtI8d68vFm1Jwxh1OtLrlW7uGZgjCWiiPH6ooUNa1aVsuVr3Q==} - dependencies: - '@rushstack/terminal': 0.15.3 - '@types/argparse': 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - '@types/node' - dev: true + '@rushstack/ts-command-line@5.1.2': + resolution: {integrity: sha512-jn0EnSefYrkZDrBGd6KGuecL84LI06DgzL4hVQ46AUijNBt2nRU/ST4HhrfII/w91siCd1J/Okvxq/BS75Me/A==} - /@schematics/angular@19.2.15: - resolution: {integrity: sha512-dz/eoFQKG09POSygpEDdlCehFIMo35HUM2rVV8lx9PfQEibpbGwl1NNQYEbqwVjTyCyD/ILyIXCWPE+EfTnG4g==} + '@schematics/angular@19.2.18': + resolution: {integrity: sha512-GUR+7RIXm91nq4EZ+Ofg/RccHNyd6S/vPTMd1Q4nCtkgbEgjqFM3F//JVJJDwmwai7+hHJWlsCILz/hHCQOCHQ==} engines: {node: ^18.19.1 || ^20.11.1 || >=22.0.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} - dependencies: - '@angular-devkit/core': 19.2.15 - '@angular-devkit/schematics': 19.2.15 - jsonc-parser: 3.3.1 - transitivePeerDependencies: - - chokidar - dev: true - /@tanstack/angular-form@1.12.3(@angular/common@19.2.14)(@angular/core@19.2.14): - resolution: {integrity: sha512-30/ioEDLkf996/eDh2wzC6/Aku6B8Sjd31CL4gGmvkzPMt5RBao4PJV4UJ6rnSxu26fEAahxpf7EBA2QG8GrtQ==} + '@tanstack/angular-form@1.23.8': + resolution: {integrity: sha512-7o1un01iQw9vtC3jQnfRwL+i1kQaxFUTWdaYJPb9cpOWbxCTrILhkOdtQv+i0WtgMxN2rDd6cC4jks7UIruOJQ==} peerDependencies: '@angular/core': '>=19.0.0' - dependencies: - '@angular/core': 19.2.14(rxjs@7.8.2)(zone.js@0.15.1) - '@tanstack/angular-store': 0.7.1(@angular/common@19.2.14)(@angular/core@19.2.14) - '@tanstack/form-core': 1.12.3 - tslib: 2.8.1 - transitivePeerDependencies: - - '@angular/common' - dev: false - /@tanstack/angular-store@0.7.1(@angular/common@19.2.14)(@angular/core@19.2.14): - resolution: {integrity: sha512-YS1vvEClOWOmFL9I0Kd7rFJ44qN8KkcDYsO+riy6GfBWrE0v9E6lFvkOzDQZDRBj9j3QXmZSz0VrvnQbdMyZCg==} + '@tanstack/angular-store@0.7.7': + resolution: {integrity: sha512-Lhtn4wY+U9r7f8FjD+lgwH2RIIssmoM0D8CcEcVMd5LGBG0EbzxatsWYMbg5Ezd1JqWCXktbevjF30tF4ndDPw==} peerDependencies: '@angular/common': '>=19.0.0' '@angular/core': '>=19.0.0' - dependencies: - '@angular/common': 19.2.14(@angular/core@19.2.14)(rxjs@7.8.2) - '@angular/core': 19.2.14(rxjs@7.8.2)(zone.js@0.15.1) - '@tanstack/store': 0.7.1 - tslib: 2.8.1 - dev: false - /@tanstack/form-core@0.41.4: + '@tanstack/devtools-event-client@0.3.3': + resolution: {integrity: sha512-RfV+OPV/M3CGryYqTue684u10jUt55PEqeBOnOtCe6tAmHI9Iqyc8nHeDhWPEV9715gShuauFVaMc9RiUVNdwg==} + engines: {node: '>=18'} + + '@tanstack/form-core@0.41.4': resolution: {integrity: sha512-XZJtN7mWJmi3apsc2J+GpWbcsXbv0pWBkZKP47ZW1QD/2Tj1UWsM6JjcaAkzIlrBdaoEFYmrHToLKr/Ddk8BVg==} - dependencies: - '@tanstack/store': 0.7.1 - dev: false - /@tanstack/form-core@1.12.3: - resolution: {integrity: sha512-H59XYP8Jxg8vT4IYIZa1BHkYiyiZqFcLSD2HpxefHP/vlG06/spCySVe/vGAP7IJgHHSAlEqBhQoy1Mg2ruTRA==} - dependencies: - '@tanstack/store': 0.7.1 - dev: false + '@tanstack/form-core@1.24.4': + resolution: {integrity: sha512-+eIR7DiDamit1zvTVgaHxuIRA02YFgJaXMUGxsLRJoBpUjGl/g/nhUocQoNkRyfXqOlh8OCMTanjwDprWSRq6w==} + + '@tanstack/pacer@0.15.4': + resolution: {integrity: sha512-vGY+CWsFZeac3dELgB6UZ4c7OacwsLb8hvL2gLS6hTgy8Fl0Bm/aLokHaeDIP+q9F9HUZTnp360z9uv78eg8pg==} + engines: {node: '>=18'} - /@tanstack/react-form@0.41.4(react-dom@19.1.0)(react@19.1.0)(typescript@5.6.3): + '@tanstack/react-form@0.41.4': resolution: {integrity: sha512-uIfIDZJNqR1dLW03TNByK/woyKd2jfXIrEBq6DPJbqupqyfYXTDo5TMd/7koTYLO4dgTM5wd+2v3uBX3M2bRaA==} peerDependencies: '@tanstack/start': ^1.43.13 @@ -2216,61 +1332,25 @@ packages: peerDependenciesMeta: '@tanstack/start': optional: true - dependencies: - '@remix-run/node': 2.16.8(typescript@5.6.3) - '@tanstack/form-core': 0.41.4 - '@tanstack/react-store': 0.7.1(react-dom@19.1.0)(react@19.1.0) - decode-formdata: 0.8.0 - react: 19.1.0 - transitivePeerDependencies: - - react-dom - - typescript - dev: false - /@tanstack/react-store@0.7.1(react-dom@19.1.0)(react@19.1.0): - resolution: {integrity: sha512-qUTEKdId6QPWGiWyKAPf/gkN29scEsz6EUSJ0C3HgLMgaqTAyBsQ2sMCfGVcqb+kkhEXAdjleCgH6LAPD6f2sA==} + '@tanstack/react-store@0.7.7': + resolution: {integrity: sha512-qqT0ufegFRDGSof9D/VqaZgjNgp4tRPHZIJq2+QIHkMUtHjaJ0lYrrXjeIUJvjnTbgPfSD1XgOMEt0lmANn6Zg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - dependencies: - '@tanstack/store': 0.7.1 - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - use-sync-external-store: 1.5.0(react@19.1.0) - dev: false - /@tanstack/store@0.7.1: - resolution: {integrity: sha512-PjUQKXEXhLYj2X5/6c1Xn/0/qKY0IVFxTJweopRfF26xfjVyb14yALydJrHupDh3/d+1WKmfEgZPBVCmDkzzwg==} - dev: false + '@tanstack/store@0.7.7': + resolution: {integrity: sha512-xa6pTan1bcaqYDS9BDpSiS63qa6EoDkPN9RsRaxHuDdVDNntzq3xNwR5YKTU/V3SkSyC9T4YVOPh2zRQN0nhIQ==} - /@testing-library/dom@10.4.0: - resolution: {integrity: sha512-pemlzrSESWbdAloYml3bAJMEfNh1Z7EduzqPKprCH5S341frlpYnUEW0H72dLxa6IsYr+mPno20GiSm+h9dEdQ==} + '@testing-library/dom@10.4.1': + resolution: {integrity: sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==} engines: {node: '>=18'} - dependencies: - '@babel/code-frame': 7.27.1 - '@babel/runtime': 7.27.6 - '@types/aria-query': 5.0.4 - aria-query: 5.3.0 - chalk: 4.1.2 - dom-accessibility-api: 0.5.16 - lz-string: 1.5.0 - pretty-format: 27.5.1 - dev: true - /@testing-library/jest-dom@6.6.3: - resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==} + '@testing-library/jest-dom@6.9.1': + resolution: {integrity: sha512-zIcONa+hVtVSSep9UT3jZ5rizo2BsxgyDYU7WFD5eICBE7no3881HGeb/QkGfsJs6JTkY1aQhT7rIPC7e+0nnA==} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} - dependencies: - '@adobe/css-tools': 4.4.3 - aria-query: 5.3.2 - chalk: 3.0.0 - css.escape: 1.5.1 - dom-accessibility-api: 0.6.3 - lodash: 4.17.21 - redent: 3.0.0 - dev: true - /@testing-library/react@16.3.0(@testing-library/dom@10.4.0)(@types/react-dom@19.1.6)(@types/react@19.1.8)(react-dom@19.1.0)(react@19.1.0): + '@testing-library/react@16.3.0': resolution: {integrity: sha512-kFSyxiEDwv1WLl2fgsq6pPBbw5aWKrsY2/noi1Id0TK0UParSF62oFQFGHXIyaG4pp2tEub/Zlel+fjjZILDsw==} engines: {node: '>=18'} peerDependencies: @@ -2284,138 +1364,68 @@ packages: optional: true '@types/react-dom': optional: true - dependencies: - '@babel/runtime': 7.27.6 - '@testing-library/dom': 10.4.0 - '@types/react': 19.1.8 - '@types/react-dom': 19.1.6(@types/react@19.1.8) - react: 19.1.0 - react-dom: 19.1.0(react@19.1.0) - dev: true - /@types/argparse@1.0.38: + '@types/argparse@1.0.38': resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - dev: true - /@types/aria-query@5.0.4: + '@types/aria-query@5.0.4': resolution: {integrity: sha512-rfT93uj5s0PRL7EzccGMs3brplhcrghnDoV26NqKhCAS1hVo+WdNsPvE/yb6ilfr5hi2MEk6d5EWJTKdxg8jVw==} - dev: true - /@types/babel__core@7.20.5: + '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - dependencies: - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 - '@types/babel__generator': 7.27.0 - '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.7 - dev: true - /@types/babel__generator@7.27.0: + '@types/babel__generator@7.27.0': resolution: {integrity: sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==} - dependencies: - '@babel/types': 7.27.6 - dev: true - /@types/babel__template@7.4.4: + '@types/babel__template@7.4.4': resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - dependencies: - '@babel/parser': 7.27.5 - '@babel/types': 7.27.6 - dev: true - /@types/babel__traverse@7.20.7: - resolution: {integrity: sha512-dkO5fhS7+/oos4ciWxyEyjWe48zmG6wbCheo/G2ZnHx4fs3EU6YC6UM8rk56gAjNJ9P3MTH2jo5jb92/K6wbng==} - dependencies: - '@babel/types': 7.27.6 - dev: true + '@types/babel__traverse@7.28.0': + resolution: {integrity: sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==} - /@types/chai@5.2.2: - resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==} - dependencies: - '@types/deep-eql': 4.0.2 - dev: true + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} - /@types/cookie@0.6.0: + '@types/cookie@0.6.0': resolution: {integrity: sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==} - dev: false - /@types/deep-eql@4.0.2: + '@types/deep-eql@4.0.2': resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} - dev: true - - /@types/estree@1.0.7: - resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} - dev: true - /@types/estree@1.0.8: + '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} - dev: true - /@types/jsdom@21.1.7: + '@types/jsdom@21.1.7': resolution: {integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==} - dependencies: - '@types/node': 22.15.32 - '@types/tough-cookie': 4.0.5 - parse5: 7.3.0 - dev: true - /@types/json5@0.0.29: + '@types/json5@0.0.29': resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true - /@types/node@22.15.32: - resolution: {integrity: sha512-3jigKqgSjsH6gYZv2nEsqdXfZqIFGAV36XYYjf9KGZ3PSG+IhLecqPnI310RvjutyMwifE2hhhNEklOUrvx/wA==} - dependencies: - undici-types: 6.21.0 + '@types/node@22.18.12': + resolution: {integrity: sha512-BICHQ67iqxQGFSzfCFTT7MRQ5XcBjG5aeKh5Ok38UBbPe5fxTyE+aHFxwVrGyr8GNlqFMLKD1D3P2K/1ks8tog==} - /@types/react-dom@19.1.6(@types/react@19.1.8): - resolution: {integrity: sha512-4hOiT/dwO8Ko0gV1m/TJZYk3y0KBnY9vzDh7W+DH17b2HFSOGgdj33dhihPeuy3l0q23+4e+hoXHV6hCC4dCXw==} + '@types/react-dom@19.2.2': + resolution: {integrity: sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw==} peerDependencies: - '@types/react': ^19.0.0 - dependencies: - '@types/react': 19.1.8 - dev: true + '@types/react': ^19.2.0 - /@types/react@19.1.8: - resolution: {integrity: sha512-AwAfQ2Wa5bCx9WP8nZL2uMZWod7J7/JSplxbTmBQ5ms6QpqNYm672H0Vu9ZVKVngQ+ii4R/byguVEUZQyeg44g==} - dependencies: - csstype: 3.1.3 - dev: true + '@types/react@19.2.2': + resolution: {integrity: sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==} - /@types/tough-cookie@4.0.5: + '@types/tough-cookie@4.0.5': resolution: {integrity: sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==} - dev: true - /@vitejs/plugin-react@4.5.2(vite@6.3.5): - resolution: {integrity: sha512-QNVT3/Lxx99nMQWJWF7K4N6apUEuT0KlZA3mx/mVaoGj3smm/8rc8ezz15J1pcbcjDK0V15rpHetVfya08r76Q==} + '@vitejs/plugin-react@4.7.0': + resolution: {integrity: sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0 - dependencies: - '@babel/core': 7.27.4 - '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.27.4) - '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.27.4) - '@rolldown/pluginutils': 1.0.0-beta.11 - '@types/babel__core': 7.20.5 - react-refresh: 0.17.0 - vite: 6.3.5(@types/node@22.15.32) - transitivePeerDependencies: - - supports-color - dev: true + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 - /@vitest/expect@3.2.3: - resolution: {integrity: sha512-W2RH2TPWVHA1o7UmaFKISPvdicFJH+mjykctJFoAkUw+SPTJTGjUNdKscFBrqM7IPnCVu6zihtKYa7TkZS1dkQ==} - dependencies: - '@types/chai': 5.2.2 - '@vitest/spy': 3.2.3 - '@vitest/utils': 3.2.3 - chai: 5.2.0 - tinyrainbow: 2.0.0 - dev: true + '@vitest/expect@3.2.4': + resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==} - /@vitest/mocker@3.2.3(vite@6.3.5): - resolution: {integrity: sha512-cP6fIun+Zx8he4rbWvi+Oya6goKQDZK+Yq4hhlggwQBbrlOQ4qtZ+G4nxB6ZnzI9lyIb+JnvyiJnPC2AGbKSPA==} + '@vitest/mocker@3.2.4': + resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 @@ -2424,1205 +1434,680 @@ packages: optional: true vite: optional: true - dependencies: - '@vitest/spy': 3.2.3 - estree-walker: 3.0.3 - magic-string: 0.30.17 - vite: 6.3.5(@types/node@22.15.32) - dev: true - /@vitest/pretty-format@3.2.3: - resolution: {integrity: sha512-yFglXGkr9hW/yEXngO+IKMhP0jxyFw2/qys/CK4fFUZnSltD+MU7dVYGrH8rvPcK/O6feXQA+EU33gjaBBbAng==} - dependencies: - tinyrainbow: 2.0.0 - dev: true + '@vitest/pretty-format@3.2.4': + resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==} - /@vitest/runner@3.2.3: - resolution: {integrity: sha512-83HWYisT3IpMaU9LN+VN+/nLHVBCSIUKJzGxC5RWUOsK1h3USg7ojL+UXQR3b4o4UBIWCYdD2fxuzM7PQQ1u8w==} - dependencies: - '@vitest/utils': 3.2.3 - pathe: 2.0.3 - strip-literal: 3.0.0 - dev: true + '@vitest/runner@3.2.4': + resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==} - /@vitest/snapshot@3.2.3: - resolution: {integrity: sha512-9gIVWx2+tysDqUmmM1L0hwadyumqssOL1r8KJipwLx5JVYyxvVRfxvMq7DaWbZZsCqZnu/dZedaZQh4iYTtneA==} - dependencies: - '@vitest/pretty-format': 3.2.3 - magic-string: 0.30.17 - pathe: 2.0.3 - dev: true + '@vitest/snapshot@3.2.4': + resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==} - /@vitest/spy@3.2.3: - resolution: {integrity: sha512-JHu9Wl+7bf6FEejTCREy+DmgWe+rQKbK+y32C/k5f4TBIAlijhJbRBIRIOCEpVevgRsCQR2iHRUH2/qKVM/plw==} - dependencies: - tinyspy: 4.0.3 - dev: true + '@vitest/spy@3.2.4': + resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==} - /@vitest/utils@3.2.3: - resolution: {integrity: sha512-4zFBCU5Pf+4Z6v+rwnZ1HU1yzOKKvDkMXZrymE2PBlbjKJRlrOxbvpfPSvJTGRIwGoahaOGvp+kbCoxifhzJ1Q==} - dependencies: - '@vitest/pretty-format': 3.2.3 - loupe: 3.1.4 - tinyrainbow: 2.0.0 - dev: true + '@vitest/utils@3.2.4': + resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} - /@volar/language-core@2.4.14: - resolution: {integrity: sha512-X6beusV0DvuVseaOEy7GoagS4rYHgDHnTrdOj5jeUb49fW5ceQyP9Ej5rBhqgz2wJggl+2fDbbojq1XKaxDi6w==} - dependencies: - '@volar/source-map': 2.4.14 - dev: true + '@volar/language-core@2.4.23': + resolution: {integrity: sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==} - /@volar/source-map@2.4.14: - resolution: {integrity: sha512-5TeKKMh7Sfxo8021cJfmBzcjfY1SsXsPMMjMvjY7ivesdnybqqS+GxGAoXHAOUawQTwtdUxgP65Im+dEmvWtYQ==} - dev: true + '@volar/source-map@2.4.23': + resolution: {integrity: sha512-Z1Uc8IB57Lm6k7q6KIDu/p+JWtf3xsXJqAX/5r18hYOTpJyBn0KXUR8oTJ4WFYOcDzWC9n3IflGgHowx6U6z9Q==} - /@volar/typescript@2.4.14: - resolution: {integrity: sha512-p8Z6f/bZM3/HyCdRNFZOEEzts51uV8WHeN8Tnfnm2EBv6FDB2TQLzfVx7aJvnl8ofKAOnS64B2O8bImBFaauRw==} - dependencies: - '@volar/language-core': 2.4.14 - path-browserify: 1.0.1 - vscode-uri: 3.1.0 - dev: true + '@volar/typescript@2.4.23': + resolution: {integrity: sha512-lAB5zJghWxVPqfcStmAP1ZqQacMpe90UrP5RJ3arDyrhy4aCUQqmxPPLB2PWDKugvylmO41ljK7vZ+t6INMTag==} - /@vue/compiler-core@3.5.16: - resolution: {integrity: sha512-AOQS2eaQOaaZQoL1u+2rCJIKDruNXVBZSiUD3chnUrsoX5ZTQMaCvXlWNIfxBJuU15r1o7+mpo5223KVtIhAgQ==} - dependencies: - '@babel/parser': 7.27.5 - '@vue/shared': 3.5.16 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.1 - dev: true + '@vue/compiler-core@3.5.22': + resolution: {integrity: sha512-jQ0pFPmZwTEiRNSb+i9Ow/I/cHv2tXYqsnHKKyCQ08irI2kdF5qmYedmF8si8mA7zepUFmJ2hqzS8CQmNOWOkQ==} - /@vue/compiler-dom@3.5.16: - resolution: {integrity: sha512-SSJIhBr/teipXiXjmWOVWLnxjNGo65Oj/8wTEQz0nqwQeP75jWZ0n4sF24Zxoht1cuJoWopwj0J0exYwCJ0dCQ==} - dependencies: - '@vue/compiler-core': 3.5.16 - '@vue/shared': 3.5.16 - dev: true + '@vue/compiler-dom@3.5.22': + resolution: {integrity: sha512-W8RknzUM1BLkypvdz10OVsGxnMAuSIZs9Wdx1vzA3mL5fNMN15rhrSCLiTm6blWeACwUwizzPVqGJgOGBEN/hA==} - /@vue/compiler-vue2@2.7.16: + '@vue/compiler-vue2@2.7.16': resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} - dependencies: - de-indent: 1.0.2 - he: 1.2.0 - dev: true - /@vue/language-core@2.2.0(typescript@5.8.3): + '@vue/language-core@2.2.0': resolution: {integrity: sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==} peerDependencies: typescript: '*' peerDependenciesMeta: typescript: optional: true - dependencies: - '@volar/language-core': 2.4.14 - '@vue/compiler-dom': 3.5.16 - '@vue/compiler-vue2': 2.7.16 - '@vue/shared': 3.5.16 - alien-signals: 0.4.14 - minimatch: 9.0.5 - muggle-string: 0.4.1 - path-browserify: 1.0.1 - typescript: 5.8.3 - dev: true - /@vue/shared@3.5.16: - resolution: {integrity: sha512-c/0fWy3Jw6Z8L9FmTyYfkpM5zklnqqa9+a6dz3DvONRKW2NEbh46BP0FHuLFSWi2TnQEtp91Z6zOWNrU6QiyPg==} - dev: true + '@vue/shared@3.5.22': + resolution: {integrity: sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==} - /@web3-storage/multipart-parser@1.0.0: + '@web3-storage/multipart-parser@1.0.0': resolution: {integrity: sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==} - dev: false - /@zxing/text-encoding@0.9.0: + '@zxing/text-encoding@0.9.0': resolution: {integrity: sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==} - requiresBuild: true - dev: false - optional: true - /abort-controller@3.0.0: + abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - dev: false - /acorn@8.15.0: + acorn@8.15.0: resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==} engines: {node: '>=0.4.0'} hasBin: true - dev: true - /agent-base@7.1.3: - resolution: {integrity: sha512-jRR5wdylq8CkOe6hei19GGZnxM6rBGwFl3Bg0YItGDimvjGtAvdZk4Pu6Cl4u4Igsws4a1fd1Vq3ezrhn4KmFw==} + agent-base@7.1.4: + resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} - dev: true - /ajv-draft-04@1.0.0(ajv@8.13.0): + ajv-draft-04@1.0.0: resolution: {integrity: sha512-mv00Te6nmYbRp5DCwclxtt7yV/joXJPGS7nM+97GdxvuttCOfgI3K4U25zboyeX0O+myI8ERluxQe5wljMmVIw==} peerDependencies: ajv: ^8.5.0 peerDependenciesMeta: ajv: optional: true - dependencies: - ajv: 8.13.0 - dev: true - - /ajv-formats@3.0.1(ajv@8.13.0): - resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: - ajv: 8.13.0 - dev: true - /ajv-formats@3.0.1(ajv@8.17.1): + ajv-formats@3.0.1: resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true - dependencies: - ajv: 8.17.1 - dev: true - /ajv@8.12.0: + ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: true - /ajv@8.13.0: + ajv@8.13.0: resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: true - /ajv@8.17.1: + ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-uri: 3.0.6 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - dev: true - /alien-signals@0.4.14: + alien-signals@0.4.14: resolution: {integrity: sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==} - dev: true - /ansi-colors@4.1.3: + ansi-colors@4.1.3: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} - dev: true - /ansi-regex@5.0.1: + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - /ansi-regex@6.1.0: - resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==} + ansi-regex@6.2.2: + resolution: {integrity: sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==} engines: {node: '>=12'} - dev: true - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - /ansi-styles@5.2.0: + ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + ansi-styles@6.2.3: + resolution: {integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==} engines: {node: '>=12'} - dev: true - /any-promise@1.3.0: + any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - dev: true - /argparse@1.0.10: + argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - /aria-query@5.3.0: + aria-query@5.3.0: resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - dependencies: - dequal: 2.0.3 - dev: true - /aria-query@5.3.2: + aria-query@5.3.2: resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==} engines: {node: '>= 0.4'} - dev: true - /assertion-error@2.0.1: + assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} - dev: true - /available-typed-arrays@1.0.7: + available-typed-arrays@1.0.7: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} - dependencies: - possible-typed-array-names: 1.1.0 - dev: false - /balanced-match@1.0.2: + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - /base64-js@1.5.1: + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true + baseline-browser-mapping@2.8.20: + resolution: {integrity: sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==} + hasBin: true - /brace-expansion@1.1.12: - resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - /brace-expansion@2.0.2: + brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} - dependencies: - balanced-match: 1.0.2 - dev: true - /braces@3.0.3: + braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} - dependencies: - fill-range: 7.1.1 - dev: true - /browserslist@4.25.0: - resolution: {integrity: sha512-PJ8gYKeS5e/whHBh8xrwYK+dAvEj7JXtz6uTucnMRB8OiGTsKccFekoRrjajPBHV8oOY+2tI4uxeceSimKwMFA==} + browserslist@4.27.0: + resolution: {integrity: sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - dependencies: - caniuse-lite: 1.0.30001723 - electron-to-chromium: 1.5.167 - node-releases: 2.0.19 - update-browserslist-db: 1.1.3(browserslist@4.25.0) - dev: true - /buffer-from@1.1.2: + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: false - /buffer@5.7.1: + buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: true - /bundle-require@5.1.0(esbuild@0.25.5): + bundle-require@5.1.0: resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} peerDependencies: esbuild: '>=0.18' - dependencies: - esbuild: 0.25.5 - load-tsconfig: 0.2.5 - dev: true - /cac@6.7.14: + cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - dev: true - /call-bind-apply-helpers@1.0.2: + call-bind-apply-helpers@1.0.2: resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==} engines: {node: '>= 0.4'} - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - dev: false - /call-bind@1.0.8: + call-bind@1.0.8: resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} engines: {node: '>= 0.4'} - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - get-intrinsic: 1.3.0 - set-function-length: 1.2.2 - dev: false - /call-bound@1.0.4: + call-bound@1.0.4: resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==} engines: {node: '>= 0.4'} - dependencies: - call-bind-apply-helpers: 1.0.2 - get-intrinsic: 1.3.0 - dev: false - /caniuse-lite@1.0.30001723: - resolution: {integrity: sha512-1R/elMjtehrFejxwmexeXAtae5UO9iSyFn6G/I806CYC/BLyyBk1EPhrKBkWhy6wM6Xnm47dSJQec+tLJ39WHw==} - dev: true + caniuse-lite@1.0.30001751: + resolution: {integrity: sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==} - /chai@5.2.0: - resolution: {integrity: sha512-mCuXncKXk5iCLhfhwTc0izo0gtEmpz5CtG2y8GiOINBlMVS6v8TMRc5TaLWKS6692m9+dVVfzgeVxR5UxWHTYw==} - engines: {node: '>=12'} - dependencies: - assertion-error: 2.0.1 - check-error: 2.1.1 - deep-eql: 5.0.2 - loupe: 3.1.4 - pathval: 2.0.0 - dev: true - - /chalk@3.0.0: - resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} - engines: {node: '>=8'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true + chai@5.3.3: + resolution: {integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==} + engines: {node: '>=18'} - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /check-error@2.1.1: + check-error@2.1.1: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} - dev: true - /chokidar@4.0.3: + chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} - dependencies: - readdirp: 4.1.2 - dev: true - /cli-cursor@3.1.0: + cli-cursor@3.1.0: resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: true - /cli-spinners@2.9.2: + cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} - dev: true - /cliui@8.0.1: + cliui@8.0.1: resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} engines: {node: '>=12'} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - /clone@1.0.4: + clone@1.0.4: resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} engines: {node: '>=0.8'} - dev: true - /clsx@2.1.1: + clsx@2.1.1: resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==} engines: {node: '>=6'} - dev: false - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - /commander@13.1.0: + commander@13.1.0: resolution: {integrity: sha512-/rFeCpNJQbhSZjGVwO9RFV3xPqbnERS8MmIQzCtD/zl6gpJuV/bMLuN92oG3F7d8oDEHHRrujSXNUr8fpjntKw==} engines: {node: '>=18'} - dev: true - /commander@4.1.1: + commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - dev: true - /commondir@1.0.1: + commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: true - /compare-versions@6.1.1: + compare-versions@6.1.1: resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} - dev: true - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - - /confbox@0.1.8: + confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} - dev: true - /confbox@0.2.2: + confbox@0.2.2: resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} - dev: true - /consola@3.4.2: + consola@3.4.2: resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==} engines: {node: ^14.18.0 || >=16.10.0} - dev: true - /convert-source-map@1.9.0: + convert-source-map@1.9.0: resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} - dev: true - /convert-source-map@2.0.0: + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true - /cookie-signature@1.2.2: + cookie-signature@1.2.2: resolution: {integrity: sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==} engines: {node: '>=6.6.0'} - dev: false - /cookie@0.7.2: + cookie@0.7.2: resolution: {integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==} engines: {node: '>= 0.6'} - dev: false - /copy-anything@2.0.6: + copy-anything@2.0.6: resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} - dependencies: - is-what: 3.14.1 - dev: true - /cross-spawn@7.0.6: + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - /css.escape@1.5.1: + css.escape@1.5.1: resolution: {integrity: sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==} - dev: true - /cssstyle@4.4.0: - resolution: {integrity: sha512-W0Y2HOXlPkb2yaKrCVRjinYKciu/qSLEmK0K9mcfDei3zwlnHFEHAs/Du3cIRwPqY+J4JsiBzUjoHyc8RsJ03A==} + cssstyle@4.6.0: + resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} engines: {node: '>=18'} - dependencies: - '@asamuzakjp/css-color': 3.2.0 - rrweb-cssom: 0.8.0 - dev: true - /csstype@3.1.3: + csstype@3.1.3: resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==} - dev: true - /data-uri-to-buffer@3.0.1: + data-uri-to-buffer@3.0.1: resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==} engines: {node: '>= 6'} - dev: false - /data-urls@5.0.0: + data-urls@5.0.0: resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} engines: {node: '>=18'} - dependencies: - whatwg-mimetype: 4.0.0 - whatwg-url: 14.2.0 - dev: true - /de-indent@1.0.2: + de-indent@1.0.2: resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} - dev: true - /debug@4.4.1: - resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==} + debug@4.4.3: + resolution: {integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.1.3 - dev: true - /decimal.js@10.5.0: - resolution: {integrity: sha512-8vDa8Qxvr/+d94hSh5P3IJwI5t8/c0KsMp+g8bNw9cY2icONa5aPfvKeieW1WlG0WQYwwhJ7mjui2xtiePQSXw==} - dev: true + decimal.js@10.6.0: + resolution: {integrity: sha512-YpgQiITW3JXGntzdUmyUR1V812Hn8T1YVXhCu+wO3OpS4eU9l4YdD3qjyiKdV6mvV29zapkMeD390UVEf2lkUg==} - /decode-formdata@0.8.0: + decode-formdata@0.8.0: resolution: {integrity: sha512-iUzDgnWsw5ToSkFY7VPFA5Gfph6ROoOxOB7Ybna4miUSzLZ4KaSJk6IAB2AdW6+C9vCVWhjjNA4gjT6wF3eZHQ==} - dev: false - /deep-eql@5.0.2: + deep-eql@5.0.2: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} - dev: true - /defaults@1.0.4: + defaults@1.0.4: resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: true - /define-data-property@1.1.4: + define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} - dependencies: - es-define-property: 1.0.1 - es-errors: 1.3.0 - gopd: 1.2.0 - dev: false - /dependency-graph@1.0.0: + dependency-graph@1.0.0: resolution: {integrity: sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==} engines: {node: '>=4'} - dev: true - /dequal@2.0.3: + dequal@2.0.3: resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} engines: {node: '>=6'} - dev: true - /detect-libc@1.0.3: + detect-libc@1.0.3: resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} engines: {node: '>=0.10'} hasBin: true - requiresBuild: true - dev: true - optional: true - /dom-accessibility-api@0.5.16: + dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} - dev: true - /dom-accessibility-api@0.6.3: + dom-accessibility-api@0.6.3: resolution: {integrity: sha512-7ZgogeTnjuHbo+ct10G9Ffp0mif17idi0IyWNVA/wcwcm7NPOD/WEHVP3n7n3MhXqxoIYm8d6MuZohYWIZ4T3w==} - dev: true - /dunder-proto@1.0.1: + dunder-proto@1.0.1: resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} - dependencies: - call-bind-apply-helpers: 1.0.2 - es-errors: 1.3.0 - gopd: 1.2.0 - dev: false - /eastasianwidth@0.2.0: + eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true - /electron-to-chromium@1.5.167: - resolution: {integrity: sha512-LxcRvnYO5ez2bMOFpbuuVuAI5QNeY1ncVytE/KXaL6ZNfzX1yPlAO0nSOyIHx2fVAuUprMqPs/TdVhUFZy7SIQ==} - dev: true + electron-to-chromium@1.5.239: + resolution: {integrity: sha512-1y5w0Zsq39MSPmEjHjbizvhYoTaulVtivpxkp5q5kaPmQtsK6/2nvAzGRxNMS9DoYySp9PkW0MAQDwU1m764mg==} - /emoji-regex@8.0.0: + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - /emoji-regex@9.2.2: + emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true - /entities@4.5.0: + entities@4.5.0: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - dev: true - /entities@6.0.1: + entities@6.0.1: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} - dev: true - /errno@0.1.8: + errno@0.1.8: resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} hasBin: true - requiresBuild: true - dependencies: - prr: 1.0.1 - dev: true - optional: true - /es-define-property@1.0.1: + es-define-property@1.0.1: resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==} engines: {node: '>= 0.4'} - dev: false - /es-errors@1.3.0: + es-errors@1.3.0: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} - dev: false - /es-module-lexer@1.7.0: + es-module-lexer@1.7.0: resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==} - dev: true - /es-object-atoms@1.1.1: + es-object-atoms@1.1.1: resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==} engines: {node: '>= 0.4'} - dependencies: - es-errors: 1.3.0 - dev: false - /esbuild@0.25.5: - resolution: {integrity: sha512-P8OtKZRv/5J5hhz0cUAdu/cLuPIKXpQl1R9pZtvmHWQvrAUVd0UNIPT4IB4W3rNOqVO0rlqHmCIbSwxh/c9yUQ==} + esbuild@0.25.11: + resolution: {integrity: sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==} engines: {node: '>=18'} hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.25.5 - '@esbuild/android-arm': 0.25.5 - '@esbuild/android-arm64': 0.25.5 - '@esbuild/android-x64': 0.25.5 - '@esbuild/darwin-arm64': 0.25.5 - '@esbuild/darwin-x64': 0.25.5 - '@esbuild/freebsd-arm64': 0.25.5 - '@esbuild/freebsd-x64': 0.25.5 - '@esbuild/linux-arm': 0.25.5 - '@esbuild/linux-arm64': 0.25.5 - '@esbuild/linux-ia32': 0.25.5 - '@esbuild/linux-loong64': 0.25.5 - '@esbuild/linux-mips64el': 0.25.5 - '@esbuild/linux-ppc64': 0.25.5 - '@esbuild/linux-riscv64': 0.25.5 - '@esbuild/linux-s390x': 0.25.5 - '@esbuild/linux-x64': 0.25.5 - '@esbuild/netbsd-arm64': 0.25.5 - '@esbuild/netbsd-x64': 0.25.5 - '@esbuild/openbsd-arm64': 0.25.5 - '@esbuild/openbsd-x64': 0.25.5 - '@esbuild/sunos-x64': 0.25.5 - '@esbuild/win32-arm64': 0.25.5 - '@esbuild/win32-ia32': 0.25.5 - '@esbuild/win32-x64': 0.25.5 - dev: true - - /escalade@3.2.0: + + escalade@3.2.0: resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} engines: {node: '>=6'} - /estree-walker@2.0.2: + estree-walker@2.0.2: resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} - dev: true - /estree-walker@3.0.3: + estree-walker@3.0.3: resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - dependencies: - '@types/estree': 1.0.8 - dev: true - /event-target-shim@5.0.1: + event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} - dev: false - /expect-type@1.2.1: - resolution: {integrity: sha512-/kP8CAwxzLVEeFrMm4kMmy4CCDlpipyA7MYLVrdJIkV0fYF0UaigQHRsxHiuY/GEea+bh4KSv3TIlgr+2UL6bw==} + expect-type@1.2.2: + resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==} engines: {node: '>=12.0.0'} - dev: true - /exsolve@1.0.5: - resolution: {integrity: sha512-pz5dvkYYKQ1AHVrgOzBKWeP4u4FRb3a6DNK2ucr0OoNwYIU4QWsJ+NM36LLzORT+z845MzKHHhpXiUF5nvQoJg==} - dev: true + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} - /fast-deep-equal@3.1.3: + fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true - /fast-glob@3.3.3: + fast-glob@3.3.3: resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==} engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.8 - dev: true - /fast-uri@3.0.6: - resolution: {integrity: sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==} - dev: true + fast-uri@3.1.0: + resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} - /fastq@1.19.1: + fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - dependencies: - reusify: 1.1.0 - dev: true - /faye-websocket@0.11.4: + faye-websocket@0.11.4: resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} engines: {node: '>=0.8.0'} - dependencies: - websocket-driver: 0.7.4 - /fdir@6.4.6(picomatch@4.0.2): - resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} + fdir@6.5.0: + resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==} + engines: {node: '>=12.0.0'} peerDependencies: picomatch: ^3 || ^4 peerDependenciesMeta: picomatch: optional: true - dependencies: - picomatch: 4.0.2 - dev: true - /fill-range@7.1.1: + fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - /find-cache-dir@3.3.2: + find-cache-dir@3.3.2: resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} engines: {node: '>=8'} - dependencies: - commondir: 1.0.1 - make-dir: 3.1.0 - pkg-dir: 4.2.0 - dev: true - /find-up@4.1.0: + find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} - dependencies: - locate-path: 5.0.0 - path-exists: 4.0.0 - dev: true - - /firebase@11.9.1: - resolution: {integrity: sha512-nbQbQxNlkHHRDn4cYwHdAKHwJPeZ0jRXxlNp6PCOb9CQx8Dc6Vjve97R34r1EZJnzOsPYZ3+ssJH7fkovDjvCw==} - dependencies: - '@firebase/ai': 1.4.0(@firebase/app-types@0.9.3)(@firebase/app@0.13.1) - '@firebase/analytics': 0.10.16(@firebase/app@0.13.1) - '@firebase/analytics-compat': 0.2.22(@firebase/app-compat@0.4.1)(@firebase/app@0.13.1) - '@firebase/app': 0.13.1 - '@firebase/app-check': 0.10.0(@firebase/app@0.13.1) - '@firebase/app-check-compat': 0.3.25(@firebase/app-compat@0.4.1)(@firebase/app@0.13.1) - '@firebase/app-compat': 0.4.1 - '@firebase/app-types': 0.9.3 - '@firebase/auth': 1.10.7(@firebase/app@0.13.1) - '@firebase/auth-compat': 0.5.27(@firebase/app-compat@0.4.1)(@firebase/app-types@0.9.3)(@firebase/app@0.13.1) - '@firebase/data-connect': 0.3.9(@firebase/app@0.13.1) - '@firebase/database': 1.0.19 - '@firebase/database-compat': 2.0.10 - '@firebase/firestore': 4.7.17(@firebase/app@0.13.1) - '@firebase/firestore-compat': 0.3.52(@firebase/app-compat@0.4.1)(@firebase/app-types@0.9.3)(@firebase/app@0.13.1) - '@firebase/functions': 0.12.8(@firebase/app@0.13.1) - '@firebase/functions-compat': 0.3.25(@firebase/app-compat@0.4.1)(@firebase/app@0.13.1) - '@firebase/installations': 0.6.17(@firebase/app@0.13.1) - '@firebase/installations-compat': 0.2.17(@firebase/app-compat@0.4.1)(@firebase/app-types@0.9.3)(@firebase/app@0.13.1) - '@firebase/messaging': 0.12.21(@firebase/app@0.13.1) - '@firebase/messaging-compat': 0.2.21(@firebase/app-compat@0.4.1)(@firebase/app@0.13.1) - '@firebase/performance': 0.7.6(@firebase/app@0.13.1) - '@firebase/performance-compat': 0.2.19(@firebase/app-compat@0.4.1)(@firebase/app@0.13.1) - '@firebase/remote-config': 0.6.4(@firebase/app@0.13.1) - '@firebase/remote-config-compat': 0.2.17(@firebase/app-compat@0.4.1)(@firebase/app@0.13.1) - '@firebase/storage': 0.13.13(@firebase/app@0.13.1) - '@firebase/storage-compat': 0.3.23(@firebase/app-compat@0.4.1)(@firebase/app-types@0.9.3)(@firebase/app@0.13.1) - '@firebase/util': 1.12.0 - transitivePeerDependencies: - - '@react-native-async-storage/async-storage' - /fix-dts-default-cjs-exports@1.0.1: + firebase@11.10.0: + resolution: {integrity: sha512-nKBXoDzF0DrXTBQJlZa+sbC5By99ysYU1D6PkMRYknm0nCW7rJly47q492Ht7Ndz5MeYSBuboKuhS1e6mFC03w==} + + fix-dts-default-cjs-exports@1.0.1: resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==} - dependencies: - magic-string: 0.30.17 - mlly: 1.7.4 - rollup: 4.43.0 - dev: true - /for-each@0.3.5: + for-each@0.3.5: resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.7 - dev: false - /foreground-child@3.3.1: + foreground-child@3.3.1: resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - dev: true - /fs-extra@11.3.0: - resolution: {integrity: sha512-Z4XaCL6dUDHfP/jT25jJKMmtxvuwbkrD1vNSMFlo9lNLY2c5FHYSQgHPRZUjAB26TpDEoW9HCOgplrdbaPV/ew==} + fs-extra@11.3.2: + resolution: {integrity: sha512-Xr9F6z6up6Ws+NjzMCZc6WXg2YFRlrLP9NQDO3VQrWrfiojdhS56TzueT88ze0uBdCTwEIhQ3ptnmKeWGFAe0A==} engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: true - /fsevents@2.3.3: + fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] - requiresBuild: true - dev: true - optional: true - /function-bind@1.1.2: + function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - /gensync@1.0.0-beta.2: + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + + gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} - dev: true - /get-caller-file@2.0.5: + get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} engines: {node: 6.* || 8.* || >= 10.*} - /get-intrinsic@1.3.0: + get-intrinsic@1.3.0: resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==} engines: {node: '>= 0.4'} - dependencies: - call-bind-apply-helpers: 1.0.2 - es-define-property: 1.0.1 - es-errors: 1.3.0 - es-object-atoms: 1.1.1 - function-bind: 1.1.2 - get-proto: 1.0.1 - gopd: 1.2.0 - has-symbols: 1.1.0 - hasown: 2.0.2 - math-intrinsics: 1.1.0 - dev: false - /get-proto@1.0.1: + get-proto@1.0.1: resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==} engines: {node: '>= 0.4'} - dependencies: - dunder-proto: 1.0.1 - es-object-atoms: 1.1.1 - dev: false - /glob-parent@5.1.2: + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - /glob-regex@0.3.2: + glob-regex@0.3.2: resolution: {integrity: sha512-m5blUd3/OqDTWwzBBtWBPrGlAzatRywHameHeekAZyZrskYouOGdNB8T/q6JucucvJXtOuyHIn0/Yia7iDasDw==} - dev: true - /glob@10.4.5: + glob@10.4.5: resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true - dependencies: - foreground-child: 3.3.1 - jackspeak: 3.4.3 - minimatch: 9.0.5 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 - dev: true - /glob@11.0.3: + glob@11.0.3: resolution: {integrity: sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==} engines: {node: 20 || >=22} hasBin: true - dependencies: - foreground-child: 3.3.1 - jackspeak: 4.1.1 - minimatch: 10.0.3 - minipass: 7.1.2 - package-json-from-dist: 1.0.1 - path-scurry: 2.0.0 - dev: true - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true - - /globrex@0.1.2: + globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} - dev: true - /gopd@1.2.0: + gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} - dev: false - /graceful-fs@4.2.11: + graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - /has-flag@4.0.0: + has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} - dev: true - /has-property-descriptors@1.0.2: + has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - dependencies: - es-define-property: 1.0.1 - dev: false - /has-symbols@1.1.0: + has-symbols@1.1.0: resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} - dev: false - /has-tostringtag@1.0.2: + has-tostringtag@1.0.2: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.1.0 - dev: false - /hasown@2.0.2: + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - /he@1.2.0: + he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true - dev: true - /html-encoding-sniffer@4.0.0: + html-encoding-sniffer@4.0.0: resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} engines: {node: '>=18'} - dependencies: - whatwg-encoding: 3.1.1 - dev: true - /http-parser-js@0.5.10: + http-parser-js@0.5.10: resolution: {integrity: sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==} - /http-proxy-agent@7.0.2: + http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.3 - debug: 4.4.1 - transitivePeerDependencies: - - supports-color - dev: true - /https-proxy-agent@7.0.6: + https-proxy-agent@7.0.6: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} - dependencies: - agent-base: 7.1.3 - debug: 4.4.1 - transitivePeerDependencies: - - supports-color - dev: true - /iconv-lite@0.6.3: + iconv-lite@0.6.3: resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} engines: {node: '>=0.10.0'} - dependencies: - safer-buffer: 2.1.2 - dev: true - /idb@7.1.1: + idb@7.1.1: resolution: {integrity: sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==} - /ieee754@1.2.1: + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: true - /image-size@0.5.5: + image-size@0.5.5: resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} engines: {node: '>=0.10.0'} hasBin: true - requiresBuild: true - dev: true - optional: true - /immutable@5.1.3: - resolution: {integrity: sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==} - dev: true + immutable@5.1.4: + resolution: {integrity: sha512-p6u1bG3YSnINT5RQmx/yRZBpenIl30kVxkTLDyHLIMk0gict704Q9n+thfDI7lTRm9vXdDYutVzXhzcThxTnXA==} - /import-lazy@4.0.0: + import-lazy@4.0.0: resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} engines: {node: '>=8'} - dev: true - /indent-string@4.0.0: + indent-string@4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} - dev: true - /inherits@2.0.4: + inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - /injection-js@2.5.0: - resolution: {integrity: sha512-UpY2ONt4xbht4GhSqQ2zMJ1rBIQq4uOY+DlR6aOeYyqK7xadXt7UQbJIyxmgk288bPMkIZKjViieHm0O0i72Jw==} - dependencies: - tslib: 2.8.1 - dev: true + injection-js@2.6.1: + resolution: {integrity: sha512-dbR5bdhi7TWDoCye9cByZqeg/gAfamm8Vu3G1KZOTYkOif8WkuM8CD0oeDPtZYMzT5YH76JAFB7bkmyY9OJi2A==} - /is-arguments@1.2.0: + is-arguments@1.2.0: resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} engines: {node: '>= 0.4'} - dependencies: - call-bound: 1.0.4 - has-tostringtag: 1.0.2 - dev: false - /is-callable@1.2.7: + is-callable@1.2.7: resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} engines: {node: '>= 0.4'} - dev: false - /is-core-module@2.16.1: + is-core-module@2.16.1: resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==} engines: {node: '>= 0.4'} - dependencies: - hasown: 2.0.2 - dev: true - /is-extglob@2.1.1: + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - requiresBuild: true - dev: true - /is-fullwidth-code-point@3.0.0: + is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} - /is-generator-function@1.1.0: - resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} engines: {node: '>= 0.4'} - dependencies: - call-bound: 1.0.4 - get-proto: 1.0.1 - has-tostringtag: 1.0.2 - safe-regex-test: 1.1.0 - dev: false - /is-glob@4.0.3: + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - /is-interactive@1.0.0: + is-interactive@1.0.0: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} - dev: true - /is-number@7.0.0: + is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: true - /is-potential-custom-element-name@1.0.1: + is-potential-custom-element-name@1.0.1: resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} - dev: true - /is-regex@1.2.1: + is-regex@1.2.1: resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==} engines: {node: '>= 0.4'} - dependencies: - call-bound: 1.0.4 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - dev: false - /is-typed-array@1.1.15: + is-typed-array@1.1.15: resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==} engines: {node: '>= 0.4'} - dependencies: - which-typed-array: 1.1.19 - dev: false - /is-unicode-supported@0.1.0: + is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} - dev: true - /is-what@3.14.1: + is-what@3.14.1: resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} - dev: true - /isexe@2.0.0: + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - /jackspeak@3.4.3: + jackspeak@3.4.3: resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} - dependencies: - '@isaacs/cliui': 8.0.2 - optionalDependencies: - '@pkgjs/parseargs': 0.11.0 - dev: true - /jackspeak@4.1.1: + jackspeak@4.1.1: resolution: {integrity: sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==} engines: {node: 20 || >=22} - dependencies: - '@isaacs/cliui': 8.0.2 - dev: true - /jju@1.4.0: + jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: true - /joycon@3.1.1: + joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} - dev: true - /js-tokens@4.0.0: + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true - /js-tokens@9.0.1: + js-tokens@9.0.1: resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} - dev: true - /jsdom@26.1.0: + jsdom@26.1.0: resolution: {integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==} engines: {node: '>=18'} peerDependencies: @@ -3630,314 +2115,179 @@ packages: peerDependenciesMeta: canvas: optional: true - dependencies: - cssstyle: 4.4.0 - data-urls: 5.0.0 - decimal.js: 10.5.0 - html-encoding-sniffer: 4.0.0 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 - is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.20 - parse5: 7.3.0 - rrweb-cssom: 0.8.0 - saxes: 6.0.0 - symbol-tree: 3.2.4 - tough-cookie: 5.1.2 - w3c-xmlserializer: 5.0.0 - webidl-conversions: 7.0.0 - whatwg-encoding: 3.1.1 - whatwg-mimetype: 4.0.0 - whatwg-url: 14.2.0 - ws: 8.18.2 - xml-name-validator: 5.0.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - dev: true - /jsesc@3.1.0: + jsesc@3.1.0: resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==} engines: {node: '>=6'} hasBin: true - dev: true - /json-schema-traverse@1.0.0: + json-schema-traverse@1.0.0: resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true - /json5@1.0.2: + json5@1.0.2: resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true - dependencies: - minimist: 1.2.8 - dev: true - /json5@2.2.3: + json5@2.2.3: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true - dev: true - /jsonc-parser@3.3.1: + jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - dev: true - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - dev: true + jsonfile@6.2.0: + resolution: {integrity: sha512-FGuPw30AdOIUTRMC2OMRtQV+jkVj2cfPqSeWXv1NEAJ1qZ5zb1X6z1mFhbfOB/iy3ssJCD+3KuZ8r8C3uVFlAg==} - /kolorist@1.8.0: + kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - dev: true - /less@4.3.0: - resolution: {integrity: sha512-X9RyH9fvemArzfdP8Pi3irr7lor2Ok4rOttDXBhlwDg+wKQsXOXgHWduAJE1EsF7JJx0w0bcO6BC6tCKKYnXKA==} + less@4.4.2: + resolution: {integrity: sha512-j1n1IuTX1VQjIy3tT7cyGbX7nvQOsFLoIqobZv4ttI5axP923gA44zUj6miiA6R5Aoms4sEGVIIcucXUbRI14g==} engines: {node: '>=14'} hasBin: true - dependencies: - copy-anything: 2.0.6 - parse-node-version: 1.0.1 - tslib: 2.8.1 - optionalDependencies: - errno: 0.1.8 - graceful-fs: 4.2.11 - image-size: 0.5.5 - make-dir: 2.1.0 - mime: 1.6.0 - needle: 3.3.1 - source-map: 0.6.1 - dev: true - /lilconfig@3.1.3: + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} - dev: true - /lines-and-columns@1.2.4: + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true - /load-tsconfig@0.2.5: + load-tsconfig@0.2.5: resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /local-pkg@1.1.1: - resolution: {integrity: sha512-WunYko2W1NcdfAFpuLUoucsgULmgDBRkdxHxWQ7mK0cQqwPiy8E1enjuRBrhLtZkB5iScJ1XIPdhVEFK8aOLSg==} + local-pkg@1.1.2: + resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} engines: {node: '>=14'} - dependencies: - mlly: 1.7.4 - pkg-types: 2.1.0 - quansync: 0.2.10 - dev: true - /locate-path@5.0.0: + locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} - dependencies: - p-locate: 4.1.0 - dev: true - /lodash.camelcase@4.3.0: + lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} - /lodash.sortby@4.7.0: + lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - dev: true - /lodash@4.17.21: + lodash@4.17.21: resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true - /log-symbols@4.1.0: + log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - /long@5.3.2: + long@5.3.2: resolution: {integrity: sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==} - /loupe@3.1.4: - resolution: {integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==} - dev: true + loupe@3.2.1: + resolution: {integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==} - /lru-cache@10.4.3: + lru-cache@10.4.3: resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} - dev: true - /lru-cache@11.1.0: - resolution: {integrity: sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==} + lru-cache@11.2.2: + resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==} engines: {node: 20 || >=22} - dev: true - /lru-cache@5.1.1: + lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - dependencies: - yallist: 3.1.1 - dev: true - /lru-cache@6.0.0: + lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - dev: true - /lz-string@1.5.0: + lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true - dev: true - /magic-string@0.30.17: + magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - dev: true - /make-dir@2.1.0: + magic-string@0.30.19: + resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} + + make-dir@2.1.0: resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} engines: {node: '>=6'} - requiresBuild: true - dependencies: - pify: 4.0.1 - semver: 5.7.2 - dev: true - optional: true - /make-dir@3.1.0: + make-dir@3.1.0: resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} engines: {node: '>=8'} - dependencies: - semver: 6.3.1 - dev: true - /math-intrinsics@1.1.0: + math-intrinsics@1.1.0: resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} engines: {node: '>= 0.4'} - dev: false - /merge2@1.4.1: + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} - dev: true - /micromatch@4.0.8: + micromatch@4.0.8: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} - dependencies: - braces: 3.0.3 - picomatch: 2.3.1 - dev: true - /mime@1.6.0: + mime@1.6.0: resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} engines: {node: '>=4'} hasBin: true - requiresBuild: true - dev: true - optional: true - /mimic-fn@2.1.0: + mimic-fn@2.1.0: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} - dev: true - /min-indent@1.0.1: + min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} engines: {node: '>=4'} - dev: true - /minimatch@10.0.3: + minimatch@10.0.3: resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==} engines: {node: 20 || >=22} - dependencies: - '@isaacs/brace-expansion': 5.0.0 - dev: true - - /minimatch@3.0.8: - resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} - dependencies: - brace-expansion: 1.1.12 - dev: true - /minimatch@9.0.5: + minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.2 - dev: true - /minimist@1.2.8: + minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true - /minipass@7.1.2: + minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} - dev: true - /mlly@1.7.4: - resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==} - dependencies: - acorn: 8.15.0 - pathe: 2.0.3 - pkg-types: 1.3.1 - ufo: 1.6.1 - dev: true + mlly@1.8.0: + resolution: {integrity: sha512-l8D9ODSRWLe2KHJSifWGwBqpTZXIXTeo8mlKjY+E2HAakaTeNpqAyBZ8GSqLzHgw4XmHmC8whvpjJNMbFZN7/g==} - /mrmime@1.0.1: + mrmime@1.0.1: resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} engines: {node: '>=10'} - dev: false - /ms@2.1.3: + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true - /muggle-string@0.4.1: + muggle-string@0.4.1: resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} - dev: true - /mz@2.7.0: + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - dev: true - /nanoid@3.3.11: + nanoid@3.3.11: resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - dev: true - /nanostores@0.11.4: + nanostores@0.11.4: resolution: {integrity: sha512-k1oiVNN4hDK8NcNERSZLQiMfRzEGtfnvZvdBvey3SQbgn8Dcrk0h1I6vpxApjb10PFUflZrgJ2WEZyJQ+5v7YQ==} engines: {node: ^18.0.0 || >=20.0.0} - dev: false - /needle@3.3.1: + needle@3.3.1: resolution: {integrity: sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==} engines: {node: '>= 4.4.x'} hasBin: true - requiresBuild: true - dependencies: - iconv-lite: 0.6.3 - sax: 1.4.1 - dev: true - optional: true - /ng-packagr@19.2.2(@angular/compiler-cli@19.2.14)(tslib@2.8.1)(typescript@5.8.3): + ng-packagr@19.2.2: resolution: {integrity: sha512-dFuwFsDJMBSd1YtmLLcX5bNNUCQUlRqgf34aXA+79PmkOP+0eF8GP2949wq3+jMjmFTNm80Oo8IUYiSLwklKCQ==} engines: {node: ^18.19.1 || >=20.11.1} hasBin: true @@ -3949,213 +2299,120 @@ packages: peerDependenciesMeta: tailwindcss: optional: true - dependencies: - '@angular/compiler-cli': 19.2.14(@angular/compiler@19.2.14)(typescript@5.8.3) - '@rollup/plugin-json': 6.1.0(rollup@4.43.0) - '@rollup/wasm-node': 4.43.0 - ajv: 8.17.1 - ansi-colors: 4.1.3 - browserslist: 4.25.0 - chokidar: 4.0.3 - commander: 13.1.0 - convert-source-map: 2.0.0 - dependency-graph: 1.0.0 - esbuild: 0.25.5 - fast-glob: 3.3.3 - find-cache-dir: 3.3.2 - injection-js: 2.5.0 - jsonc-parser: 3.3.1 - less: 4.3.0 - ora: 5.4.1 - piscina: 4.9.2 - postcss: 8.5.5 - rxjs: 7.8.2 - sass: 1.89.2 - tslib: 2.8.1 - typescript: 5.8.3 - optionalDependencies: - rollup: 4.43.0 - dev: true - /node-addon-api@7.1.1: + node-addon-api@7.1.1: resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - requiresBuild: true - dev: true - optional: true - /node-releases@2.0.19: - resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} - dev: true + node-releases@2.0.26: + resolution: {integrity: sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==} - /nwsapi@2.2.20: - resolution: {integrity: sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==} - dev: true + nwsapi@2.2.22: + resolution: {integrity: sha512-ujSMe1OWVn55euT1ihwCI1ZcAaAU3nxUiDwfDQldc51ZXaB9m2AyOn6/jh1BLe2t/G8xd6uKG1UBF2aZJeg2SQ==} - /object-assign@4.1.1: + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} - dev: true - /onetime@5.1.2: + onetime@5.1.2: resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - /ora@5.4.1: + ora@5.4.1: resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} engines: {node: '>=10'} - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.9.2 - is-interactive: 1.0.0 - is-unicode-supported: 0.1.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - /p-limit@2.3.0: + p-limit@2.3.0: resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} engines: {node: '>=6'} - dependencies: - p-try: 2.2.0 - dev: true - /p-locate@4.1.0: + p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} - dependencies: - p-limit: 2.3.0 - dev: true - /p-try@2.2.0: + p-try@2.2.0: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} - dev: true - /package-json-from-dist@1.0.1: + package-json-from-dist@1.0.1: resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} - dev: true - /parse-node-version@1.0.1: + parse-node-version@1.0.1: resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} engines: {node: '>= 0.10'} - dev: true - /parse5@7.3.0: + parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} - dependencies: - entities: 6.0.1 - dev: true - /path-browserify@1.0.1: + path-browserify@1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} - dev: true - /path-exists@4.0.0: + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} - dev: true - /path-key@3.1.1: + path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} - dev: true - /path-parse@1.0.7: + path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - /path-scurry@1.11.1: + path-scurry@1.11.1: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} - dependencies: - lru-cache: 10.4.3 - minipass: 7.1.2 - dev: true - /path-scurry@2.0.0: + path-scurry@2.0.0: resolution: {integrity: sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==} engines: {node: 20 || >=22} - dependencies: - lru-cache: 11.1.0 - minipass: 7.1.2 - dev: true - /pathe@2.0.3: + pathe@2.0.3: resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==} - dev: true - /pathval@2.0.0: - resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} + pathval@2.0.1: + resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==} engines: {node: '>= 14.16'} - dev: true - /picocolors@1.1.1: + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - dev: true - /picomatch@2.3.1: + picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: true - /picomatch@4.0.2: + picomatch@4.0.2: resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} engines: {node: '>=12'} - dev: true - /pify@4.0.1: + picomatch@4.0.3: + resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==} + engines: {node: '>=12'} + + pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} - requiresBuild: true - dev: true - optional: true - /pirates@4.0.7: + pirates@4.0.7: resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} - dev: true - /piscina@4.9.2: + piscina@4.9.2: resolution: {integrity: sha512-Fq0FERJWFEUpB4eSY59wSNwXD4RYqR+nR/WiEVcZW8IWfVBxJJafcgTEZDQo8k3w0sUarJ8RyVbbUF4GQ2LGbQ==} - optionalDependencies: - '@napi-rs/nice': 1.0.1 - dev: true - /pkg-dir@4.2.0: + pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} - dependencies: - find-up: 4.1.0 - dev: true - /pkg-types@1.3.1: + pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} - dependencies: - confbox: 0.1.8 - mlly: 1.7.4 - pathe: 2.0.3 - dev: true - /pkg-types@2.1.0: - resolution: {integrity: sha512-wmJwA+8ihJixSoHKxZJRBQG1oY8Yr9pGLzRmSsNms0iNWyHHAlZCa7mmKiFR10YPZuz/2k169JiS/inOjBCZ2A==} - dependencies: - confbox: 0.2.2 - exsolve: 1.0.5 - pathe: 2.0.3 - dev: true + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} - /possible-typed-array-names@1.1.0: + possible-typed-array-names@1.1.0: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} - dev: false - /postcss-load-config@6.0.1: + postcss-load-config@6.0.1: resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} engines: {node: '>= 18'} peerDependencies: @@ -4172,595 +2429,355 @@ packages: optional: true yaml: optional: true - dependencies: - lilconfig: 3.1.3 - dev: true - /postcss@8.5.5: - resolution: {integrity: sha512-d/jtm+rdNT8tpXuHY5MMtcbJFBkhXE6593XVR9UoGCH8jSFGci7jGvMGH5RYd5PBJW+00NZQt6gf7CbagJCrhg==} + postcss@8.5.6: + resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==} engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.11 - picocolors: 1.1.1 - source-map-js: 1.2.1 - dev: true - /prettier@3.5.3: - resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} + prettier@3.6.2: + resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==} engines: {node: '>=14'} hasBin: true - dev: true - /pretty-format@27.5.1: + pretty-format@27.5.1: resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} - dependencies: - ansi-regex: 5.0.1 - ansi-styles: 5.2.0 - react-is: 17.0.2 - dev: true - /protobufjs@7.5.3: - resolution: {integrity: sha512-sildjKwVqOI2kmFDiXQ6aEB0fjYTafpEvIBs8tOR8qI4spuL9OPROLVu2qZqi/xgCfsHIwVqlaF8JBjWFHnKbw==} + protobufjs@7.5.4: + resolution: {integrity: sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==} engines: {node: '>=12.0.0'} - requiresBuild: true - dependencies: - '@protobufjs/aspromise': 1.1.2 - '@protobufjs/base64': 1.1.2 - '@protobufjs/codegen': 2.0.4 - '@protobufjs/eventemitter': 1.1.0 - '@protobufjs/fetch': 1.1.0 - '@protobufjs/float': 1.0.2 - '@protobufjs/inquire': 1.1.0 - '@protobufjs/path': 1.1.2 - '@protobufjs/pool': 1.1.0 - '@protobufjs/utf8': 1.1.0 - '@types/node': 22.15.32 - long: 5.3.2 - /prr@1.0.1: + prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} - requiresBuild: true - dev: true - optional: true - /punycode@2.3.1: + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} - dev: true - /quansync@0.2.10: - resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==} - dev: true + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} - /queue-microtask@1.2.3: + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - /react-dom@19.1.0(react@19.1.0): - resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} + react-dom@19.2.0: + resolution: {integrity: sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==} peerDependencies: - react: ^19.1.0 - dependencies: - react: 19.1.0 - scheduler: 0.26.0 + react: ^19.2.0 - /react-is@17.0.2: + react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - dev: true - /react-refresh@0.17.0: + react-refresh@0.17.0: resolution: {integrity: sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==} engines: {node: '>=0.10.0'} - dev: true - /react@19.1.0: - resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} + react@19.2.0: + resolution: {integrity: sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==} engines: {node: '>=0.10.0'} - /readable-stream@3.6.2: + readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: true - /readdirp@4.1.2: + readdirp@4.1.2: resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==} engines: {node: '>= 14.18.0'} - dev: true - /recrawl-sync@2.2.3: + recrawl-sync@2.2.3: resolution: {integrity: sha512-vSaTR9t+cpxlskkdUFrsEpnf67kSmPk66yAGT1fZPrDudxQjoMzPgQhSMImQ0pAw5k0NPirefQfhopSjhdUtpQ==} - dependencies: - '@cush/relative': 1.0.0 - glob-regex: 0.3.2 - slash: 3.0.0 - sucrase: 3.35.0 - tslib: 1.14.1 - dev: true - /redent@3.0.0: + redent@3.0.0: resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} engines: {node: '>=8'} - dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - dev: true - /reflect-metadata@0.2.2: + reflect-metadata@0.2.2: resolution: {integrity: sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==} - dev: true - /require-directory@2.1.1: + require-directory@2.1.1: resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} engines: {node: '>=0.10.0'} - /require-from-string@2.0.2: + require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} - dev: true - /resolve-from@5.0.0: + resolve-from@5.0.0: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} - dev: true - /resolve@1.22.10: - resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} + resolve@1.22.11: + resolution: {integrity: sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==} engines: {node: '>= 0.4'} hasBin: true - dependencies: - is-core-module: 2.16.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - /restore-cursor@3.1.0: + restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - /reusify@1.1.0: + reusify@1.1.0: resolution: {integrity: sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true - /rimraf@6.0.1: + rimraf@6.0.1: resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} engines: {node: 20 || >=22} hasBin: true - dependencies: - glob: 11.0.3 - package-json-from-dist: 1.0.1 - dev: true - /rollup@4.43.0: - resolution: {integrity: sha512-wdN2Kd3Twh8MAEOEJZsuxuLKCsBEo4PVNLK6tQWAn10VhsVewQLzcucMgLolRlhFybGxfclbPeEYBaP6RvUFGg==} + rollup@4.52.5: + resolution: {integrity: sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true - dependencies: - '@types/estree': 1.0.7 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.43.0 - '@rollup/rollup-android-arm64': 4.43.0 - '@rollup/rollup-darwin-arm64': 4.43.0 - '@rollup/rollup-darwin-x64': 4.43.0 - '@rollup/rollup-freebsd-arm64': 4.43.0 - '@rollup/rollup-freebsd-x64': 4.43.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.43.0 - '@rollup/rollup-linux-arm-musleabihf': 4.43.0 - '@rollup/rollup-linux-arm64-gnu': 4.43.0 - '@rollup/rollup-linux-arm64-musl': 4.43.0 - '@rollup/rollup-linux-loongarch64-gnu': 4.43.0 - '@rollup/rollup-linux-powerpc64le-gnu': 4.43.0 - '@rollup/rollup-linux-riscv64-gnu': 4.43.0 - '@rollup/rollup-linux-riscv64-musl': 4.43.0 - '@rollup/rollup-linux-s390x-gnu': 4.43.0 - '@rollup/rollup-linux-x64-gnu': 4.43.0 - '@rollup/rollup-linux-x64-musl': 4.43.0 - '@rollup/rollup-win32-arm64-msvc': 4.43.0 - '@rollup/rollup-win32-ia32-msvc': 4.43.0 - '@rollup/rollup-win32-x64-msvc': 4.43.0 - fsevents: 2.3.3 - dev: true - /rrweb-cssom@0.8.0: + rrweb-cssom@0.8.0: resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} - dev: true - /run-parallel@1.2.0: + run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - /rxfire@6.1.0(firebase@11.9.1)(rxjs@7.8.2): + rxfire@6.1.0: resolution: {integrity: sha512-NezdjeY32VZcCuGO0bbb8H8seBsJSCaWdUwGsHNzUcAOHR0VGpzgPtzjuuLXr8R/iemkqSzbx/ioS7VwV43ynA==} peerDependencies: firebase: ^9.0.0 || ^10.0.0 || ^11.0.0 rxjs: ^6.0.0 || ^7.0.0 - dependencies: - firebase: 11.9.1 - rxjs: 7.8.2 - dev: true - /rxjs@7.8.1: + rxjs@7.8.1: resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - dependencies: - tslib: 2.8.1 - dev: true - /rxjs@7.8.2: + rxjs@7.8.2: resolution: {integrity: sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==} - dependencies: - tslib: 2.8.1 - /safe-buffer@5.2.1: + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - /safe-regex-test@1.1.0: + safe-regex-test@1.1.0: resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} engines: {node: '>= 0.4'} - dependencies: - call-bound: 1.0.4 - es-errors: 1.3.0 - is-regex: 1.2.1 - dev: false - /safer-buffer@2.1.2: + safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - dev: true - /sass@1.89.2: - resolution: {integrity: sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA==} + sass@1.93.2: + resolution: {integrity: sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg==} engines: {node: '>=14.0.0'} hasBin: true - dependencies: - chokidar: 4.0.3 - immutable: 5.1.3 - source-map-js: 1.2.1 - optionalDependencies: - '@parcel/watcher': 2.5.1 - dev: true - /sax@1.4.1: + sax@1.4.1: resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} - requiresBuild: true - dev: true - optional: true - /saxes@6.0.0: + saxes@6.0.0: resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} engines: {node: '>=v12.22.7'} - dependencies: - xmlchars: 2.2.0 - dev: true - /scheduler@0.26.0: - resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} + scheduler@0.27.0: + resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} - /semver@5.7.2: + semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true - requiresBuild: true - dev: true - optional: true - /semver@6.3.1: + semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - dev: true - /semver@7.5.4: + semver@7.5.4: resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} engines: {node: '>=10'} hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - /semver@7.7.2: - resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + semver@7.7.3: + resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} engines: {node: '>=10'} hasBin: true - dev: true - /set-cookie-parser@2.7.1: + set-cookie-parser@2.7.1: resolution: {integrity: sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==} - dev: false - /set-function-length@1.2.2: + set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.3.0 - gopd: 1.2.0 - has-property-descriptors: 1.0.2 - dev: false - /shebang-command@2.0.0: + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - /shebang-regex@3.0.0: + shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - dev: true - /siginfo@2.0.0: + siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true - /signal-exit@3.0.7: + signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true - /signal-exit@4.1.0: + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} - dev: true - /slash@3.0.0: + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} - dev: true - /source-map-js@1.2.1: + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} engines: {node: '>=0.10.0'} - dev: true - /source-map-support@0.5.21: + source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - dev: false - /source-map@0.6.1: + source-map@0.6.1: resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} engines: {node: '>=0.10.0'} - /source-map@0.7.4: + source-map@0.7.4: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} - /source-map@0.8.0-beta.0: + source-map@0.7.6: + resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==} + engines: {node: '>= 12'} + + source-map@0.8.0-beta.0: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} engines: {node: '>= 8'} - dependencies: - whatwg-url: 7.1.0 - dev: true + deprecated: The work that was done in this beta branch won't be included in future versions - /sprintf-js@1.0.3: + sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - /stackback@0.0.2: + stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true - /std-env@3.9.0: - resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==} - dev: true + std-env@3.10.0: + resolution: {integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==} - /stream-slice@0.1.2: + stream-slice@0.1.2: resolution: {integrity: sha512-QzQxpoacatkreL6jsxnVb7X5R/pGw9OUv2qWTYWnmLpg4NdN31snPy/f3TdQE1ZUXaThRvj1Zw4/OGg0ZkaLMA==} - dev: false - /string-argv@0.3.2: + string-argv@0.3.2: resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} engines: {node: '>=0.6.19'} - dev: true - /string-width@4.2.3: + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - /string-width@5.1.2: + string-width@5.1.2: resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} engines: {node: '>=12'} - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.1.0 - dev: true - /string_decoder@1.3.0: + string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - dev: true - /strip-ansi@6.0.1: + strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + strip-ansi@7.1.2: + resolution: {integrity: sha512-gmBGslpoQJtgnMAvOVqGZpEz9dyoKTCzy2nfz/n8aIFhN/jCE/rCmcxabB6jOOHV+0WNnylOxaxBQPSvcWklhA==} engines: {node: '>=12'} - dependencies: - ansi-regex: 6.1.0 - dev: true - /strip-bom@3.0.0: + strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} - dev: true - /strip-indent@3.0.0: + strip-indent@3.0.0: resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} engines: {node: '>=8'} - dependencies: - min-indent: 1.0.1 - dev: true - /strip-json-comments@3.1.1: + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} - dev: true - /strip-literal@3.0.0: - resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==} - dependencies: - js-tokens: 9.0.1 - dev: true + strip-literal@3.1.0: + resolution: {integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==} - /sucrase@3.35.0: + sucrase@3.35.0: resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} engines: {node: '>=16 || 14 >=14.17'} hasBin: true - dependencies: - '@jridgewell/gen-mapping': 0.3.8 - commander: 4.1.1 - glob: 10.4.5 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.7 - ts-interface-checker: 0.1.13 - dev: true - /supports-color@7.2.0: + supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - /supports-color@8.1.1: + supports-color@8.1.1: resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - /supports-preserve-symlinks-flag@1.0.0: + supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} engines: {node: '>= 0.4'} - dev: true - /symbol-tree@3.2.4: + symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} - dev: true - /tailwind-merge@3.3.1: + tailwind-merge@3.3.1: resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==} - dev: false - /tailwindcss@4.1.10: - resolution: {integrity: sha512-P3nr6WkvKV/ONsTzj6Gb57sWPMX29EPNPopo7+FcpkQaNsrNpZ1pv8QmrYI2RqEKD7mlGqLnGovlcYnBK0IqUA==} - dev: true + tailwindcss@4.1.16: + resolution: {integrity: sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA==} - /thenify-all@1.6.0: + thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} - dependencies: - thenify: 3.3.1 - dev: true - /thenify@3.3.1: + thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - dependencies: - any-promise: 1.3.0 - dev: true - /tinybench@2.9.0: + tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} - dev: true - /tinyexec@0.3.2: + tinyexec@0.3.2: resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - dev: true - /tinyglobby@0.2.14: - resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==} + tinyglobby@0.2.15: + resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} - dependencies: - fdir: 6.4.6(picomatch@4.0.2) - picomatch: 4.0.2 - dev: true - /tinypool@1.1.0: - resolution: {integrity: sha512-7CotroY9a8DKsKprEy/a14aCCm8jYVmR7aFy4fpkZM8sdpNJbKkixuNjgM50yCmip2ezc8z4N7k3oe2+rfRJCQ==} + tinypool@1.1.1: + resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==} engines: {node: ^18.0.0 || >=20.0.0} - dev: true - /tinyrainbow@2.0.0: + tinyrainbow@2.0.0: resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==} engines: {node: '>=14.0.0'} - dev: true - /tinyspy@4.0.3: - resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==} + tinyspy@4.0.4: + resolution: {integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==} engines: {node: '>=14.0.0'} - dev: true - /tldts-core@6.1.86: + tldts-core@6.1.86: resolution: {integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==} - dev: true - /tldts@6.1.86: + tldts@6.1.86: resolution: {integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==} hasBin: true - dependencies: - tldts-core: 6.1.86 - dev: true - /to-regex-range@5.0.1: + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - /tough-cookie@5.1.2: + tough-cookie@5.1.2: resolution: {integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==} engines: {node: '>=16'} - dependencies: - tldts: 6.1.86 - dev: true - /tr46@1.0.1: + tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - dependencies: - punycode: 2.3.1 - dev: true - /tr46@5.1.1: + tr46@5.1.1: resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} engines: {node: '>=18'} - dependencies: - punycode: 2.3.1 - dev: true - /tree-kill@1.2.2: + tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true - dev: true - /ts-interface-checker@0.1.13: + ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - dev: true - /tsconfck@3.1.6(typescript@5.8.3): + tsconfck@3.1.6: resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} engines: {node: ^18 || >=20} hasBin: true @@ -4769,71 +2786,17 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - typescript: 5.8.3 - dev: true - /tsconfig-paths@3.15.0: + tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - dependencies: - '@types/json5': 0.0.29 - json5: 1.0.2 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - /tslib@1.14.1: + tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - dev: true - /tslib@2.8.1: + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - /tsup@8.5.0(typescript@5.6.3): - resolution: {integrity: sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ==} - engines: {node: '>=18'} - hasBin: true - peerDependencies: - '@microsoft/api-extractor': ^7.36.0 - '@swc/core': ^1 - postcss: ^8.4.12 - typescript: '>=4.5.0' - peerDependenciesMeta: - '@microsoft/api-extractor': - optional: true - '@swc/core': - optional: true - postcss: - optional: true - typescript: - optional: true - dependencies: - bundle-require: 5.1.0(esbuild@0.25.5) - cac: 6.7.14 - chokidar: 4.0.3 - consola: 3.4.2 - debug: 4.4.1 - esbuild: 0.25.5 - fix-dts-default-cjs-exports: 1.0.1 - joycon: 3.1.1 - picocolors: 1.1.1 - postcss-load-config: 6.0.1 - resolve-from: 5.0.0 - rollup: 4.43.0 - source-map: 0.8.0-beta.0 - sucrase: 3.35.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.14 - tree-kill: 1.2.2 - typescript: 5.6.3 - transitivePeerDependencies: - - jiti - - supports-color - - tsx - - yaml - dev: true - - /tsup@8.5.0(typescript@5.8.3): + tsup@8.5.0: resolution: {integrity: sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ==} engines: {node: '>=18'} hasBin: true @@ -4851,135 +2814,70 @@ packages: optional: true typescript: optional: true - dependencies: - bundle-require: 5.1.0(esbuild@0.25.5) - cac: 6.7.14 - chokidar: 4.0.3 - consola: 3.4.2 - debug: 4.4.1 - esbuild: 0.25.5 - fix-dts-default-cjs-exports: 1.0.1 - joycon: 3.1.1 - picocolors: 1.1.1 - postcss-load-config: 6.0.1 - resolve-from: 5.0.0 - rollup: 4.43.0 - source-map: 0.8.0-beta.0 - sucrase: 3.35.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.14 - tree-kill: 1.2.2 - typescript: 5.8.3 - transitivePeerDependencies: - - jiti - - supports-color - - tsx - - yaml - dev: true - /turbo-stream@2.4.1: + turbo-stream@2.4.1: resolution: {integrity: sha512-v8kOJXpG3WoTN/+at8vK7erSzo6nW6CIaeOvNOkHQVDajfz1ZVeSxCbc6tOH4hrGZW7VUCV0TOXd8CPzYnYkrw==} - dev: false - /typescript@5.6.3: + typescript@5.6.3: resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} engines: {node: '>=14.17'} hasBin: true - /typescript@5.8.2: + typescript@5.7.3: + resolution: {integrity: sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==} + engines: {node: '>=14.17'} + hasBin: true + + typescript@5.8.2: resolution: {integrity: sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==} engines: {node: '>=14.17'} hasBin: true - dev: true - /typescript@5.8.3: - resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==} + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} hasBin: true - dev: true - /ufo@1.6.1: + ufo@1.6.1: resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==} - dev: true - /undici-types@6.21.0: + undici-types@6.21.0: resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==} - /undici@6.21.3: - resolution: {integrity: sha512-gBLkYIlEnSp8pFbT64yFgGE6UIB9tAkhukC23PmMDCe5Nd+cRqKxSjw5y54MK2AZMgZfJWMaNE4nYUHgi1XEOw==} + undici@6.22.0: + resolution: {integrity: sha512-hU/10obOIu62MGYjdskASR3CUAiYaFTtC9Pa6vHyf//mAipSvSQg6od2CnJswq7fvzNS3zJhxoRkgNVaHurWKw==} engines: {node: '>=18.17'} - dev: false - /universalify@2.0.1: + universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} - dev: true - /update-browserslist-db@1.1.3(browserslist@4.25.0): - resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} + update-browserslist-db@1.1.4: + resolution: {integrity: sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.25.0 - escalade: 3.2.0 - picocolors: 1.1.1 - dev: true - /uri-js@4.4.1: + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.1 - dev: true - /use-sync-external-store@1.5.0(react@19.1.0): - resolution: {integrity: sha512-Rb46I4cGGVBmjamjphe8L/UnvJD+uPPtTkNvX5mZgqdbavhI4EbgIWJiIHXJ8bc/i9EQGPRh4DwEURJ552Do0A==} + use-sync-external-store@1.6.0: + resolution: {integrity: sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - dependencies: - react: 19.1.0 - dev: false - /util-deprecate@1.0.2: + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true - /util@0.12.5: + util@0.12.5: resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} - dependencies: - inherits: 2.0.4 - is-arguments: 1.2.0 - is-generator-function: 1.1.0 - is-typed-array: 1.1.15 - which-typed-array: 1.1.19 - dev: false - /vite-node@3.2.3(@types/node@22.15.32): - resolution: {integrity: sha512-gc8aAifGuDIpZHrPjuHyP4dpQmYXqWw7D1GmDnWeNWP654UEXzVfQ5IHPSK5HaHkwB/+p1atpYpSdw/2kOv8iQ==} + vite-node@3.2.4: + resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.4.1 - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 6.3.5(@types/node@22.15.32) - transitivePeerDependencies: - - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - dev: true - /vite-plugin-dts@4.5.4(typescript@5.8.3)(vite@6.3.5): + vite-plugin-dts@4.5.4: resolution: {integrity: sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==} peerDependencies: typescript: '*' @@ -4987,43 +2885,17 @@ packages: peerDependenciesMeta: vite: optional: true - dependencies: - '@microsoft/api-extractor': 7.52.8 - '@rollup/pluginutils': 5.1.4(rollup@4.43.0) - '@volar/typescript': 2.4.14 - '@vue/language-core': 2.2.0(typescript@5.8.3) - compare-versions: 6.1.1 - debug: 4.4.1 - kolorist: 1.8.0 - local-pkg: 1.1.1 - magic-string: 0.30.17 - typescript: 5.8.3 - vite: 6.3.5(@types/node@22.15.32) - transitivePeerDependencies: - - '@types/node' - - rollup - - supports-color - dev: true - /vite-tsconfig-paths@5.1.4(typescript@5.8.3)(vite@6.3.5): + vite-tsconfig-paths@5.1.4: resolution: {integrity: sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==} peerDependencies: vite: '*' peerDependenciesMeta: vite: optional: true - dependencies: - debug: 4.4.1 - globrex: 0.1.2 - tsconfck: 3.1.6(typescript@5.8.3) - vite: 6.3.5(@types/node@22.15.32) - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /vite@6.3.5(@types/node@22.15.32): - resolution: {integrity: sha512-cZn6NDFE7wdTpINgs++ZJ4N49W2vRp8LCKrn3Ob1kYNtOo21vfDoaV5GzBfLU4MovSAB8uNRm4jgzVQZ+mBzPQ==} + vite@6.4.1: + resolution: {integrity: sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -5061,39 +2933,20 @@ packages: optional: true yaml: optional: true - dependencies: - '@types/node': 22.15.32 - esbuild: 0.25.5 - fdir: 6.4.6(picomatch@4.0.2) - picomatch: 4.0.2 - postcss: 8.5.5 - rollup: 4.43.0 - tinyglobby: 0.2.14 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /vitest-tsconfig-paths@3.4.1: + vitest-tsconfig-paths@3.4.1: resolution: {integrity: sha512-CnRpA/jcqgZfnkk0yvwFW92UmIpf03wX/wLiQBNWAcOG7nv6Sdz3GsPESAMEqbVy8kHBoWB3XeNamu6PUrFZLA==} - dependencies: - debug: 4.4.1 - globrex: 0.1.2 - recrawl-sync: 2.2.3 - tsconfig-paths: 3.15.0 - transitivePeerDependencies: - - supports-color - dev: true - /vitest@3.2.3(@types/node@22.15.32)(jsdom@26.1.0): - resolution: {integrity: sha512-E6U2ZFXe3N/t4f5BwUaVCKRLHqUpk1CBWeMh78UT4VaTPH/2dyvH6ALl29JTovEPu9dVKr/K/J4PkXgrMbw4Ww==} + vitest@3.2.4: + resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.2.3 - '@vitest/ui': 3.2.3 + '@vitest/browser': 3.2.4 + '@vitest/ui': 3.2.4 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -5111,178 +2964,81 @@ packages: optional: true jsdom: optional: true - dependencies: - '@types/chai': 5.2.2 - '@types/node': 22.15.32 - '@vitest/expect': 3.2.3 - '@vitest/mocker': 3.2.3(vite@6.3.5) - '@vitest/pretty-format': 3.2.3 - '@vitest/runner': 3.2.3 - '@vitest/snapshot': 3.2.3 - '@vitest/spy': 3.2.3 - '@vitest/utils': 3.2.3 - chai: 5.2.0 - debug: 4.4.1 - expect-type: 1.2.1 - jsdom: 26.1.0 - magic-string: 0.30.17 - pathe: 2.0.3 - picomatch: 4.0.2 - std-env: 3.9.0 - tinybench: 2.9.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.14 - tinypool: 1.1.0 - tinyrainbow: 2.0.0 - vite: 6.3.5(@types/node@22.15.32) - vite-node: 3.2.3(@types/node@22.15.32) - why-is-node-running: 2.3.0 - transitivePeerDependencies: - - jiti - - less - - lightningcss - - msw - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - dev: true - /vscode-uri@3.1.0: + vscode-uri@3.1.0: resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} - dev: true - /w3c-xmlserializer@5.0.0: + w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} - dependencies: - xml-name-validator: 5.0.0 - dev: true - /wcwidth@1.0.1: + wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.4 - dev: true - /web-encoding@1.1.5: + web-encoding@1.1.5: resolution: {integrity: sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==} - dependencies: - util: 0.12.5 - optionalDependencies: - '@zxing/text-encoding': 0.9.0 - dev: false - /web-streams-polyfill@3.3.3: + web-streams-polyfill@3.3.3: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} - dev: false - /web-vitals@4.2.4: + web-vitals@4.2.4: resolution: {integrity: sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==} - /webidl-conversions@4.0.2: + webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - dev: true - /webidl-conversions@7.0.0: + webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} - dev: true - /websocket-driver@0.7.4: + websocket-driver@0.7.4: resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} engines: {node: '>=0.8.0'} - dependencies: - http-parser-js: 0.5.10 - safe-buffer: 5.2.1 - websocket-extensions: 0.1.4 - /websocket-extensions@0.1.4: + websocket-extensions@0.1.4: resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} engines: {node: '>=0.8.0'} - /whatwg-encoding@3.1.1: + whatwg-encoding@3.1.1: resolution: {integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==} engines: {node: '>=18'} - dependencies: - iconv-lite: 0.6.3 - dev: true - /whatwg-mimetype@4.0.0: + whatwg-mimetype@4.0.0: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} - dev: true - /whatwg-url@14.2.0: + whatwg-url@14.2.0: resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} engines: {node: '>=18'} - dependencies: - tr46: 5.1.1 - webidl-conversions: 7.0.0 - dev: true - /whatwg-url@7.1.0: + whatwg-url@7.1.0: resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - dev: true - /which-typed-array@1.1.19: + which-typed-array@1.1.19: resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==} engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.8 - call-bound: 1.0.4 - for-each: 0.3.5 - get-proto: 1.0.1 - gopd: 1.2.0 - has-tostringtag: 1.0.2 - dev: false - /which@2.0.2: + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - /why-is-node-running@2.3.0: + why-is-node-running@2.3.0: resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} engines: {node: '>=8'} hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - /wrap-ansi@7.0.0: + wrap-ansi@7.0.0: resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - /wrap-ansi@8.1.0: + wrap-ansi@8.1.0: resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} engines: {node: '>=12'} - dependencies: - ansi-styles: 6.2.1 - string-width: 5.1.2 - strip-ansi: 7.1.0 - dev: true - /ws@8.18.2: - resolution: {integrity: sha512-DMricUmwGZUVr++AEAe2uiVM7UoO9MAVZMDu05UQOaUII0lp+zOzLLU4Xqh/JvTqklB1T4uELaaPBKyjE1r4fQ==} + ws@8.18.3: + resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -5292,48 +3048,3015 @@ packages: optional: true utf-8-validate: optional: true - dev: true - /xml-name-validator@5.0.0: + xml-name-validator@5.0.0: resolution: {integrity: sha512-EvGK8EJ3DhaHfbRlETOWAS5pO9MZITeauHKJyb8wyajUfQUenkIg2MvLDTZ4T/TgIcm3HU0TFBgWWboAZ30UHg==} engines: {node: '>=18'} - dev: true - /xmlchars@2.2.0: + xmlchars@2.2.0: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} - dev: true - /y18n@5.0.8: + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} - /yallist@3.1.1: + yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: true - /yallist@4.0.0: + yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: true - /yargs-parser@21.1.1: + yargs-parser@21.1.1: resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} engines: {node: '>=12'} - /yargs@17.7.2: + yargs@17.7.2: resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} engines: {node: '>=12'} - dependencies: - cliui: 8.0.1 - escalade: 3.2.0 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - /zod@3.25.64: - resolution: {integrity: sha512-hbP9FpSZf7pkS7hRVUrOjhwKJNyampPgtXKc3AN6DsWtoHsg2Sb4SQaS4Tcay380zSwd2VPo9G9180emBACp5g==} - dev: false + zod@3.25.76: + resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==} - /zone.js@0.15.1: + zone.js@0.15.1: resolution: {integrity: sha512-XE96n56IQpJM7NAoXswY3XRLcWFW83xe0BiAOeMD7K5k5xecOeul3Qcpx6GqEeeHNkW5DWL5zOyTbEfB4eti8w==} + +snapshots: + + '@adobe/css-tools@4.4.4': {} + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@angular-devkit/core@19.2.18(chokidar@4.0.3)': + dependencies: + ajv: 8.17.1 + ajv-formats: 3.0.1(ajv@8.17.1) + jsonc-parser: 3.3.1 + picomatch: 4.0.2 + rxjs: 7.8.1 + source-map: 0.7.4 + optionalDependencies: + chokidar: 4.0.3 + + '@angular-devkit/schematics@19.2.18(chokidar@4.0.3)': + dependencies: + '@angular-devkit/core': 19.2.18(chokidar@4.0.3) + jsonc-parser: 3.3.1 + magic-string: 0.30.17 + ora: 5.4.1 + rxjs: 7.8.1 + transitivePeerDependencies: + - chokidar + + '@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2)': + dependencies: + '@angular/core': 19.2.15(rxjs@7.8.2)(zone.js@0.15.1) + rxjs: 7.8.2 + tslib: 2.8.1 + + '@angular/compiler-cli@19.2.15(@angular/compiler@19.2.15)(typescript@5.7.3)': + dependencies: + '@angular/compiler': 19.2.15 + '@babel/core': 7.26.9 + '@jridgewell/sourcemap-codec': 1.5.5 + chokidar: 4.0.3 + convert-source-map: 1.9.0 + reflect-metadata: 0.2.2 + semver: 7.7.3 + tslib: 2.8.1 + typescript: 5.7.3 + yargs: 17.7.2 + transitivePeerDependencies: + - supports-color + + '@angular/compiler@19.2.15': + dependencies: + tslib: 2.8.1 + + '@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1)': + dependencies: + rxjs: 7.8.2 + tslib: 2.8.1 + zone.js: 0.15.1 + + '@angular/fire@19.2.0(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser-dynamic@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.15)(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))))(@angular/platform-browser@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1)))(chokidar@4.0.3)(rxjs@7.8.2)': + dependencies: + '@angular-devkit/schematics': 19.2.18(chokidar@4.0.3) + '@angular/common': 19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2) + '@angular/core': 19.2.15(rxjs@7.8.2)(zone.js@0.15.1) + '@angular/platform-browser': 19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1)) + '@angular/platform-browser-dynamic': 19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.15)(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))) + '@schematics/angular': 19.2.18(chokidar@4.0.3) + firebase: 11.10.0 + rxfire: 6.1.0(firebase@11.10.0)(rxjs@7.8.2) + rxjs: 7.8.2 + tslib: 2.8.1 + transitivePeerDependencies: + - '@react-native-async-storage/async-storage' + - chokidar + + '@angular/forms@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)': + dependencies: + '@angular/common': 19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2) + '@angular/core': 19.2.15(rxjs@7.8.2)(zone.js@0.15.1) + '@angular/platform-browser': 19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1)) + rxjs: 7.8.2 + tslib: 2.8.1 + + '@angular/platform-browser-dynamic@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@19.2.15)(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1)))': + dependencies: + '@angular/common': 19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2) + '@angular/compiler': 19.2.15 + '@angular/core': 19.2.15(rxjs@7.8.2)(zone.js@0.15.1) + '@angular/platform-browser': 19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1)) + tslib: 2.8.1 + + '@angular/platform-browser@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))': + dependencies: + '@angular/common': 19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2) + '@angular/core': 19.2.15(rxjs@7.8.2)(zone.js@0.15.1) + tslib: 2.8.1 + + '@angular/router@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)': + dependencies: + '@angular/common': 19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2) + '@angular/core': 19.2.15(rxjs@7.8.2)(zone.js@0.15.1) + '@angular/platform-browser': 19.2.15(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1)) + rxjs: 7.8.2 + tslib: 2.8.1 + + '@asamuzakjp/css-color@3.2.0': + dependencies: + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + lru-cache: 10.4.3 + + '@babel/code-frame@7.27.1': + dependencies: + '@babel/helper-validator-identifier': 7.27.1 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.28.4': {} + + '@babel/core@7.26.9': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.26.9) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.4 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/core@7.28.4': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-compilation-targets': 7.27.2 + '@babel/helper-module-transforms': 7.28.3(@babel/core@7.28.4) + '@babel/helpers': 7.28.4 + '@babel/parser': 7.28.4 + '@babel/template': 7.27.2 + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/remapping': 2.3.5 + convert-source-map: 2.0.0 + debug: 4.4.3 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.28.3': + dependencies: + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + jsesc: 3.1.0 + + '@babel/helper-compilation-targets@7.27.2': + dependencies: + '@babel/compat-data': 7.28.4 + '@babel/helper-validator-option': 7.27.1 + browserslist: 4.27.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-globals@7.28.0': {} + + '@babel/helper-module-imports@7.27.1': + dependencies: + '@babel/traverse': 7.28.4 + '@babel/types': 7.28.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.3(@babel/core@7.26.9)': + dependencies: + '@babel/core': 7.26.9 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.28.3(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-module-imports': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + '@babel/traverse': 7.28.4 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.27.1': {} + + '@babel/helper-string-parser@7.27.1': {} + + '@babel/helper-validator-identifier@7.27.1': {} + + '@babel/helper-validator-option@7.27.1': {} + + '@babel/helpers@7.28.4': + dependencies: + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 + + '@babel/parser@7.28.4': + dependencies: + '@babel/types': 7.28.4 + + '@babel/plugin-transform-react-jsx-self@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/plugin-transform-react-jsx-source@7.27.1(@babel/core@7.28.4)': + dependencies: + '@babel/core': 7.28.4 + '@babel/helper-plugin-utils': 7.27.1 + + '@babel/runtime@7.28.4': {} + + '@babel/template@7.27.2': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + + '@babel/traverse@7.28.4': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/generator': 7.28.3 + '@babel/helper-globals': 7.28.0 + '@babel/parser': 7.28.4 + '@babel/template': 7.27.2 + '@babel/types': 7.28.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.28.4': + dependencies: + '@babel/helper-string-parser': 7.27.1 + '@babel/helper-validator-identifier': 7.27.1 + + '@csstools/color-helpers@5.1.0': {} + + '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/color-helpers': 5.1.0 + '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) + '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + dependencies: + '@csstools/css-tokenizer': 3.0.4 + + '@csstools/css-tokenizer@3.0.4': {} + + '@cush/relative@1.0.0': {} + + '@esbuild/aix-ppc64@0.25.11': + optional: true + + '@esbuild/android-arm64@0.25.11': + optional: true + + '@esbuild/android-arm@0.25.11': + optional: true + + '@esbuild/android-x64@0.25.11': + optional: true + + '@esbuild/darwin-arm64@0.25.11': + optional: true + + '@esbuild/darwin-x64@0.25.11': + optional: true + + '@esbuild/freebsd-arm64@0.25.11': + optional: true + + '@esbuild/freebsd-x64@0.25.11': + optional: true + + '@esbuild/linux-arm64@0.25.11': + optional: true + + '@esbuild/linux-arm@0.25.11': + optional: true + + '@esbuild/linux-ia32@0.25.11': + optional: true + + '@esbuild/linux-loong64@0.25.11': + optional: true + + '@esbuild/linux-mips64el@0.25.11': + optional: true + + '@esbuild/linux-ppc64@0.25.11': + optional: true + + '@esbuild/linux-riscv64@0.25.11': + optional: true + + '@esbuild/linux-s390x@0.25.11': + optional: true + + '@esbuild/linux-x64@0.25.11': + optional: true + + '@esbuild/netbsd-arm64@0.25.11': + optional: true + + '@esbuild/netbsd-x64@0.25.11': + optional: true + + '@esbuild/openbsd-arm64@0.25.11': + optional: true + + '@esbuild/openbsd-x64@0.25.11': + optional: true + + '@esbuild/openharmony-arm64@0.25.11': + optional: true + + '@esbuild/sunos-x64@0.25.11': + optional: true + + '@esbuild/win32-arm64@0.25.11': + optional: true + + '@esbuild/win32-ia32@0.25.11': + optional: true + + '@esbuild/win32-x64@0.25.11': + optional: true + + '@firebase/ai@1.4.1(@firebase/app-types@0.9.3)(@firebase/app@0.13.2)': + dependencies: + '@firebase/app': 0.13.2 + '@firebase/app-check-interop-types': 0.3.3 + '@firebase/app-types': 0.9.3 + '@firebase/component': 0.6.18 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + + '@firebase/analytics-compat@0.2.23(@firebase/app-compat@0.4.2)(@firebase/app@0.13.2)': + dependencies: + '@firebase/analytics': 0.10.17(@firebase/app@0.13.2) + '@firebase/analytics-types': 0.8.3 + '@firebase/app-compat': 0.4.2 + '@firebase/component': 0.6.18 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/analytics-types@0.8.3': {} + + '@firebase/analytics@0.10.17(@firebase/app@0.13.2)': + dependencies: + '@firebase/app': 0.13.2 + '@firebase/component': 0.6.18 + '@firebase/installations': 0.6.18(@firebase/app@0.13.2) + '@firebase/logger': 0.4.4 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + + '@firebase/app-check-compat@0.3.26(@firebase/app-compat@0.4.2)(@firebase/app@0.13.2)': + dependencies: + '@firebase/app-check': 0.10.1(@firebase/app@0.13.2) + '@firebase/app-check-types': 0.5.3 + '@firebase/app-compat': 0.4.2 + '@firebase/component': 0.6.18 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/app-check-interop-types@0.3.3': {} + + '@firebase/app-check-types@0.5.3': {} + + '@firebase/app-check@0.10.1(@firebase/app@0.13.2)': + dependencies: + '@firebase/app': 0.13.2 + '@firebase/component': 0.6.18 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + + '@firebase/app-compat@0.4.2': + dependencies: + '@firebase/app': 0.13.2 + '@firebase/component': 0.6.18 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + + '@firebase/app-types@0.9.3': {} + + '@firebase/app@0.13.2': + dependencies: + '@firebase/component': 0.6.18 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.12.1 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/auth-compat@0.5.28(@firebase/app-compat@0.4.2)(@firebase/app-types@0.9.3)(@firebase/app@0.13.2)': + dependencies: + '@firebase/app-compat': 0.4.2 + '@firebase/auth': 1.10.8(@firebase/app@0.13.2) + '@firebase/auth-types': 0.13.0(@firebase/app-types@0.9.3)(@firebase/util@1.12.1) + '@firebase/component': 0.6.18 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + - '@react-native-async-storage/async-storage' + + '@firebase/auth-interop-types@0.2.4': {} + + '@firebase/auth-types@0.13.0(@firebase/app-types@0.9.3)(@firebase/util@1.12.1)': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.12.1 + + '@firebase/auth@1.10.8(@firebase/app@0.13.2)': + dependencies: + '@firebase/app': 0.13.2 + '@firebase/component': 0.6.18 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + + '@firebase/component@0.6.18': + dependencies: + '@firebase/util': 1.12.1 + tslib: 2.8.1 + + '@firebase/data-connect@0.3.10(@firebase/app@0.13.2)': + dependencies: + '@firebase/app': 0.13.2 + '@firebase/auth-interop-types': 0.2.4 + '@firebase/component': 0.6.18 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + + '@firebase/database-compat@2.0.11': + dependencies: + '@firebase/component': 0.6.18 + '@firebase/database': 1.0.20 + '@firebase/database-types': 1.0.15 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + + '@firebase/database-types@1.0.15': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.12.1 + + '@firebase/database@1.0.20': + dependencies: + '@firebase/app-check-interop-types': 0.3.3 + '@firebase/auth-interop-types': 0.2.4 + '@firebase/component': 0.6.18 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.12.1 + faye-websocket: 0.11.4 + tslib: 2.8.1 + + '@firebase/firestore-compat@0.3.53(@firebase/app-compat@0.4.2)(@firebase/app-types@0.9.3)(@firebase/app@0.13.2)': + dependencies: + '@firebase/app-compat': 0.4.2 + '@firebase/component': 0.6.18 + '@firebase/firestore': 4.8.0(@firebase/app@0.13.2) + '@firebase/firestore-types': 3.0.3(@firebase/app-types@0.9.3)(@firebase/util@1.12.1) + '@firebase/util': 1.12.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/firestore-types@3.0.3(@firebase/app-types@0.9.3)(@firebase/util@1.12.1)': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.12.1 + + '@firebase/firestore@4.8.0(@firebase/app@0.13.2)': + dependencies: + '@firebase/app': 0.13.2 + '@firebase/component': 0.6.18 + '@firebase/logger': 0.4.4 + '@firebase/util': 1.12.1 + '@firebase/webchannel-wrapper': 1.0.3 + '@grpc/grpc-js': 1.9.15 + '@grpc/proto-loader': 0.7.15 + tslib: 2.8.1 + + '@firebase/functions-compat@0.3.26(@firebase/app-compat@0.4.2)(@firebase/app@0.13.2)': + dependencies: + '@firebase/app-compat': 0.4.2 + '@firebase/component': 0.6.18 + '@firebase/functions': 0.12.9(@firebase/app@0.13.2) + '@firebase/functions-types': 0.6.3 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/functions-types@0.6.3': {} + + '@firebase/functions@0.12.9(@firebase/app@0.13.2)': + dependencies: + '@firebase/app': 0.13.2 + '@firebase/app-check-interop-types': 0.3.3 + '@firebase/auth-interop-types': 0.2.4 + '@firebase/component': 0.6.18 + '@firebase/messaging-interop-types': 0.2.3 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + + '@firebase/installations-compat@0.2.18(@firebase/app-compat@0.4.2)(@firebase/app-types@0.9.3)(@firebase/app@0.13.2)': + dependencies: + '@firebase/app-compat': 0.4.2 + '@firebase/component': 0.6.18 + '@firebase/installations': 0.6.18(@firebase/app@0.13.2) + '@firebase/installations-types': 0.5.3(@firebase/app-types@0.9.3) + '@firebase/util': 1.12.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/installations-types@0.5.3(@firebase/app-types@0.9.3)': + dependencies: + '@firebase/app-types': 0.9.3 + + '@firebase/installations@0.6.18(@firebase/app@0.13.2)': + dependencies: + '@firebase/app': 0.13.2 + '@firebase/component': 0.6.18 + '@firebase/util': 1.12.1 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/logger@0.4.4': + dependencies: + tslib: 2.8.1 + + '@firebase/messaging-compat@0.2.22(@firebase/app-compat@0.4.2)(@firebase/app@0.13.2)': + dependencies: + '@firebase/app-compat': 0.4.2 + '@firebase/component': 0.6.18 + '@firebase/messaging': 0.12.22(@firebase/app@0.13.2) + '@firebase/util': 1.12.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/messaging-interop-types@0.2.3': {} + + '@firebase/messaging@0.12.22(@firebase/app@0.13.2)': + dependencies: + '@firebase/app': 0.13.2 + '@firebase/component': 0.6.18 + '@firebase/installations': 0.6.18(@firebase/app@0.13.2) + '@firebase/messaging-interop-types': 0.2.3 + '@firebase/util': 1.12.1 + idb: 7.1.1 + tslib: 2.8.1 + + '@firebase/performance-compat@0.2.20(@firebase/app-compat@0.4.2)(@firebase/app@0.13.2)': + dependencies: + '@firebase/app-compat': 0.4.2 + '@firebase/component': 0.6.18 + '@firebase/logger': 0.4.4 + '@firebase/performance': 0.7.7(@firebase/app@0.13.2) + '@firebase/performance-types': 0.2.3 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/performance-types@0.2.3': {} + + '@firebase/performance@0.7.7(@firebase/app@0.13.2)': + dependencies: + '@firebase/app': 0.13.2 + '@firebase/component': 0.6.18 + '@firebase/installations': 0.6.18(@firebase/app@0.13.2) + '@firebase/logger': 0.4.4 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + web-vitals: 4.2.4 + + '@firebase/remote-config-compat@0.2.18(@firebase/app-compat@0.4.2)(@firebase/app@0.13.2)': + dependencies: + '@firebase/app-compat': 0.4.2 + '@firebase/component': 0.6.18 + '@firebase/logger': 0.4.4 + '@firebase/remote-config': 0.6.5(@firebase/app@0.13.2) + '@firebase/remote-config-types': 0.4.0 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + + '@firebase/remote-config-types@0.4.0': {} + + '@firebase/remote-config@0.6.5(@firebase/app@0.13.2)': + dependencies: + '@firebase/app': 0.13.2 + '@firebase/component': 0.6.18 + '@firebase/installations': 0.6.18(@firebase/app@0.13.2) + '@firebase/logger': 0.4.4 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + + '@firebase/storage-compat@0.3.24(@firebase/app-compat@0.4.2)(@firebase/app-types@0.9.3)(@firebase/app@0.13.2)': + dependencies: + '@firebase/app-compat': 0.4.2 + '@firebase/component': 0.6.18 + '@firebase/storage': 0.13.14(@firebase/app@0.13.2) + '@firebase/storage-types': 0.8.3(@firebase/app-types@0.9.3)(@firebase/util@1.12.1) + '@firebase/util': 1.12.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@firebase/app' + - '@firebase/app-types' + + '@firebase/storage-types@0.8.3(@firebase/app-types@0.9.3)(@firebase/util@1.12.1)': + dependencies: + '@firebase/app-types': 0.9.3 + '@firebase/util': 1.12.1 + + '@firebase/storage@0.13.14(@firebase/app@0.13.2)': + dependencies: + '@firebase/app': 0.13.2 + '@firebase/component': 0.6.18 + '@firebase/util': 1.12.1 + tslib: 2.8.1 + + '@firebase/util@1.12.1': + dependencies: + tslib: 2.8.1 + + '@firebase/webchannel-wrapper@1.0.3': {} + + '@grpc/grpc-js@1.9.15': + dependencies: + '@grpc/proto-loader': 0.7.15 + '@types/node': 22.18.12 + + '@grpc/proto-loader@0.7.15': + dependencies: + lodash.camelcase: 4.3.0 + long: 5.3.2 + protobufjs: 7.5.4 + yargs: 17.7.2 + + '@isaacs/balanced-match@4.0.1': {} + + '@isaacs/brace-expansion@5.0.0': + dependencies: + '@isaacs/balanced-match': 4.0.1 + + '@isaacs/cliui@8.0.2': + dependencies: + string-width: 5.1.2 + string-width-cjs: string-width@4.2.3 + strip-ansi: 7.1.2 + strip-ansi-cjs: strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: wrap-ansi@7.0.0 + + '@jridgewell/gen-mapping@0.3.13': + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/remapping@2.3.5': + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + '@jridgewell/trace-mapping': 0.3.31 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/sourcemap-codec@1.5.5': {} + + '@jridgewell/trace-mapping@0.3.31': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.5 + + '@microsoft/api-extractor-model@7.31.2(@types/node@22.18.12)': + dependencies: + '@microsoft/tsdoc': 0.15.1 + '@microsoft/tsdoc-config': 0.17.1 + '@rushstack/node-core-library': 5.17.1(@types/node@22.18.12) + transitivePeerDependencies: + - '@types/node' + + '@microsoft/api-extractor@7.53.2(@types/node@22.18.12)': + dependencies: + '@microsoft/api-extractor-model': 7.31.2(@types/node@22.18.12) + '@microsoft/tsdoc': 0.15.1 + '@microsoft/tsdoc-config': 0.17.1 + '@rushstack/node-core-library': 5.17.1(@types/node@22.18.12) + '@rushstack/rig-package': 0.6.0 + '@rushstack/terminal': 0.19.2(@types/node@22.18.12) + '@rushstack/ts-command-line': 5.1.2(@types/node@22.18.12) + lodash: 4.17.21 + minimatch: 10.0.3 + resolve: 1.22.11 + semver: 7.5.4 + source-map: 0.6.1 + typescript: 5.8.2 + transitivePeerDependencies: + - '@types/node' + + '@microsoft/tsdoc-config@0.17.1': + dependencies: + '@microsoft/tsdoc': 0.15.1 + ajv: 8.12.0 + jju: 1.4.0 + resolve: 1.22.11 + + '@microsoft/tsdoc@0.15.1': {} + + '@nanostores/react@0.8.4(nanostores@0.11.4)(react@19.2.0)': + dependencies: + nanostores: 0.11.4 + react: 19.2.0 + + '@napi-rs/nice-android-arm-eabi@1.1.1': + optional: true + + '@napi-rs/nice-android-arm64@1.1.1': + optional: true + + '@napi-rs/nice-darwin-arm64@1.1.1': + optional: true + + '@napi-rs/nice-darwin-x64@1.1.1': + optional: true + + '@napi-rs/nice-freebsd-x64@1.1.1': + optional: true + + '@napi-rs/nice-linux-arm-gnueabihf@1.1.1': + optional: true + + '@napi-rs/nice-linux-arm64-gnu@1.1.1': + optional: true + + '@napi-rs/nice-linux-arm64-musl@1.1.1': + optional: true + + '@napi-rs/nice-linux-ppc64-gnu@1.1.1': + optional: true + + '@napi-rs/nice-linux-riscv64-gnu@1.1.1': + optional: true + + '@napi-rs/nice-linux-s390x-gnu@1.1.1': + optional: true + + '@napi-rs/nice-linux-x64-gnu@1.1.1': + optional: true + + '@napi-rs/nice-linux-x64-musl@1.1.1': + optional: true + + '@napi-rs/nice-openharmony-arm64@1.1.1': + optional: true + + '@napi-rs/nice-win32-arm64-msvc@1.1.1': + optional: true + + '@napi-rs/nice-win32-ia32-msvc@1.1.1': + optional: true + + '@napi-rs/nice-win32-x64-msvc@1.1.1': + optional: true + + '@napi-rs/nice@1.1.1': + optionalDependencies: + '@napi-rs/nice-android-arm-eabi': 1.1.1 + '@napi-rs/nice-android-arm64': 1.1.1 + '@napi-rs/nice-darwin-arm64': 1.1.1 + '@napi-rs/nice-darwin-x64': 1.1.1 + '@napi-rs/nice-freebsd-x64': 1.1.1 + '@napi-rs/nice-linux-arm-gnueabihf': 1.1.1 + '@napi-rs/nice-linux-arm64-gnu': 1.1.1 + '@napi-rs/nice-linux-arm64-musl': 1.1.1 + '@napi-rs/nice-linux-ppc64-gnu': 1.1.1 + '@napi-rs/nice-linux-riscv64-gnu': 1.1.1 + '@napi-rs/nice-linux-s390x-gnu': 1.1.1 + '@napi-rs/nice-linux-x64-gnu': 1.1.1 + '@napi-rs/nice-linux-x64-musl': 1.1.1 + '@napi-rs/nice-openharmony-arm64': 1.1.1 + '@napi-rs/nice-win32-arm64-msvc': 1.1.1 + '@napi-rs/nice-win32-ia32-msvc': 1.1.1 + '@napi-rs/nice-win32-x64-msvc': 1.1.1 + optional: true + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.19.1 + + '@parcel/watcher-android-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-arm64@2.5.1': + optional: true + + '@parcel/watcher-darwin-x64@2.5.1': + optional: true + + '@parcel/watcher-freebsd-x64@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-arm64-musl@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-glibc@2.5.1': + optional: true + + '@parcel/watcher-linux-x64-musl@2.5.1': + optional: true + + '@parcel/watcher-win32-arm64@2.5.1': + optional: true + + '@parcel/watcher-win32-ia32@2.5.1': + optional: true + + '@parcel/watcher-win32-x64@2.5.1': + optional: true + + '@parcel/watcher@2.5.1': + dependencies: + detect-libc: 1.0.3 + is-glob: 4.0.3 + micromatch: 4.0.8 + node-addon-api: 7.1.1 + optionalDependencies: + '@parcel/watcher-android-arm64': 2.5.1 + '@parcel/watcher-darwin-arm64': 2.5.1 + '@parcel/watcher-darwin-x64': 2.5.1 + '@parcel/watcher-freebsd-x64': 2.5.1 + '@parcel/watcher-linux-arm-glibc': 2.5.1 + '@parcel/watcher-linux-arm-musl': 2.5.1 + '@parcel/watcher-linux-arm64-glibc': 2.5.1 + '@parcel/watcher-linux-arm64-musl': 2.5.1 + '@parcel/watcher-linux-x64-glibc': 2.5.1 + '@parcel/watcher-linux-x64-musl': 2.5.1 + '@parcel/watcher-win32-arm64': 2.5.1 + '@parcel/watcher-win32-ia32': 2.5.1 + '@parcel/watcher-win32-x64': 2.5.1 + optional: true + + '@pkgjs/parseargs@0.11.0': + optional: true + + '@protobufjs/aspromise@1.1.2': {} + + '@protobufjs/base64@1.1.2': {} + + '@protobufjs/codegen@2.0.4': {} + + '@protobufjs/eventemitter@1.1.0': {} + + '@protobufjs/fetch@1.1.0': + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/inquire': 1.1.0 + + '@protobufjs/float@1.0.2': {} + + '@protobufjs/inquire@1.1.0': {} + + '@protobufjs/path@1.1.2': {} + + '@protobufjs/pool@1.1.0': {} + + '@protobufjs/utf8@1.1.0': {} + + '@remix-run/node@2.17.1(typescript@5.6.3)': + dependencies: + '@remix-run/server-runtime': 2.17.1(typescript@5.6.3) + '@remix-run/web-fetch': 4.4.2 + '@web3-storage/multipart-parser': 1.0.0 + cookie-signature: 1.2.2 + source-map-support: 0.5.21 + stream-slice: 0.1.2 + undici: 6.22.0 + optionalDependencies: + typescript: 5.6.3 + + '@remix-run/router@1.23.0': {} + + '@remix-run/server-runtime@2.17.1(typescript@5.6.3)': + dependencies: + '@remix-run/router': 1.23.0 + '@types/cookie': 0.6.0 + '@web3-storage/multipart-parser': 1.0.0 + cookie: 0.7.2 + set-cookie-parser: 2.7.1 + source-map: 0.7.6 + turbo-stream: 2.4.1 + optionalDependencies: + typescript: 5.6.3 + + '@remix-run/web-blob@3.1.0': + dependencies: + '@remix-run/web-stream': 1.1.0 + web-encoding: 1.1.5 + + '@remix-run/web-fetch@4.4.2': + dependencies: + '@remix-run/web-blob': 3.1.0 + '@remix-run/web-file': 3.1.0 + '@remix-run/web-form-data': 3.1.0 + '@remix-run/web-stream': 1.1.0 + '@web3-storage/multipart-parser': 1.0.0 + abort-controller: 3.0.0 + data-uri-to-buffer: 3.0.1 + mrmime: 1.0.1 + + '@remix-run/web-file@3.1.0': + dependencies: + '@remix-run/web-blob': 3.1.0 + + '@remix-run/web-form-data@3.1.0': + dependencies: + web-encoding: 1.1.5 + + '@remix-run/web-stream@1.1.0': + dependencies: + web-streams-polyfill: 3.3.3 + + '@rolldown/pluginutils@1.0.0-beta.27': {} + + '@rollup/plugin-json@6.1.0(rollup@4.52.5)': + dependencies: + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) + optionalDependencies: + rollup: 4.52.5 + + '@rollup/pluginutils@5.3.0(rollup@4.52.5)': + dependencies: + '@types/estree': 1.0.8 + estree-walker: 2.0.2 + picomatch: 4.0.3 + optionalDependencies: + rollup: 4.52.5 + + '@rollup/rollup-android-arm-eabi@4.52.5': + optional: true + + '@rollup/rollup-android-arm64@4.52.5': + optional: true + + '@rollup/rollup-darwin-arm64@4.52.5': + optional: true + + '@rollup/rollup-darwin-x64@4.52.5': + optional: true + + '@rollup/rollup-freebsd-arm64@4.52.5': + optional: true + + '@rollup/rollup-freebsd-x64@4.52.5': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.52.5': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.52.5': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.52.5': + optional: true + + '@rollup/rollup-linux-loong64-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-ppc64-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-riscv64-musl@4.52.5': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.52.5': + optional: true + + '@rollup/rollup-linux-x64-musl@4.52.5': + optional: true + + '@rollup/rollup-openharmony-arm64@4.52.5': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.52.5': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.52.5': + optional: true + + '@rollup/rollup-win32-x64-gnu@4.52.5': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.52.5': + optional: true + + '@rollup/wasm-node@4.52.5': + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + '@rushstack/node-core-library@5.17.1(@types/node@22.18.12)': + dependencies: + ajv: 8.13.0 + ajv-draft-04: 1.0.0(ajv@8.13.0) + ajv-formats: 3.0.1(ajv@8.13.0) + fs-extra: 11.3.2 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.11 + semver: 7.5.4 + optionalDependencies: + '@types/node': 22.18.12 + + '@rushstack/problem-matcher@0.1.1(@types/node@22.18.12)': + optionalDependencies: + '@types/node': 22.18.12 + + '@rushstack/rig-package@0.6.0': + dependencies: + resolve: 1.22.11 + strip-json-comments: 3.1.1 + + '@rushstack/terminal@0.19.2(@types/node@22.18.12)': + dependencies: + '@rushstack/node-core-library': 5.17.1(@types/node@22.18.12) + '@rushstack/problem-matcher': 0.1.1(@types/node@22.18.12) + supports-color: 8.1.1 + optionalDependencies: + '@types/node': 22.18.12 + + '@rushstack/ts-command-line@5.1.2(@types/node@22.18.12)': + dependencies: + '@rushstack/terminal': 0.19.2(@types/node@22.18.12) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + + '@schematics/angular@19.2.18(chokidar@4.0.3)': + dependencies: + '@angular-devkit/core': 19.2.18(chokidar@4.0.3) + '@angular-devkit/schematics': 19.2.18(chokidar@4.0.3) + jsonc-parser: 3.3.1 + transitivePeerDependencies: + - chokidar + + '@tanstack/angular-form@1.23.8(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))': + dependencies: + '@angular/core': 19.2.15(rxjs@7.8.2)(zone.js@0.15.1) + '@tanstack/angular-store': 0.7.7(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1)) + '@tanstack/form-core': 1.24.4 + tslib: 2.8.1 + transitivePeerDependencies: + - '@angular/common' + + '@tanstack/angular-store@0.7.7(@angular/common@19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))': + dependencies: + '@angular/common': 19.2.15(@angular/core@19.2.15(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2) + '@angular/core': 19.2.15(rxjs@7.8.2)(zone.js@0.15.1) + '@tanstack/store': 0.7.7 + tslib: 2.8.1 + + '@tanstack/devtools-event-client@0.3.3': {} + + '@tanstack/form-core@0.41.4': + dependencies: + '@tanstack/store': 0.7.7 + + '@tanstack/form-core@1.24.4': + dependencies: + '@tanstack/devtools-event-client': 0.3.3 + '@tanstack/pacer': 0.15.4 + '@tanstack/store': 0.7.7 + + '@tanstack/pacer@0.15.4': + dependencies: + '@tanstack/devtools-event-client': 0.3.3 + '@tanstack/store': 0.7.7 + + '@tanstack/react-form@0.41.4(react-dom@19.2.0(react@19.2.0))(react@19.2.0)(typescript@5.6.3)': + dependencies: + '@remix-run/node': 2.17.1(typescript@5.6.3) + '@tanstack/form-core': 0.41.4 + '@tanstack/react-store': 0.7.7(react-dom@19.2.0(react@19.2.0))(react@19.2.0) + decode-formdata: 0.8.0 + react: 19.2.0 + transitivePeerDependencies: + - react-dom + - typescript + + '@tanstack/react-store@0.7.7(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@tanstack/store': 0.7.7 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + use-sync-external-store: 1.6.0(react@19.2.0) + + '@tanstack/store@0.7.7': {} + + '@testing-library/dom@10.4.1': + dependencies: + '@babel/code-frame': 7.27.1 + '@babel/runtime': 7.28.4 + '@types/aria-query': 5.0.4 + aria-query: 5.3.0 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + picocolors: 1.1.1 + pretty-format: 27.5.1 + + '@testing-library/jest-dom@6.9.1': + dependencies: + '@adobe/css-tools': 4.4.4 + aria-query: 5.3.2 + css.escape: 1.5.1 + dom-accessibility-api: 0.6.3 + picocolors: 1.1.1 + redent: 3.0.0 + + '@testing-library/react@16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.2.2(@types/react@19.2.2))(@types/react@19.2.2)(react-dom@19.2.0(react@19.2.0))(react@19.2.0)': + dependencies: + '@babel/runtime': 7.28.4 + '@testing-library/dom': 10.4.1 + react: 19.2.0 + react-dom: 19.2.0(react@19.2.0) + optionalDependencies: + '@types/react': 19.2.2 + '@types/react-dom': 19.2.2(@types/react@19.2.2) + + '@types/argparse@1.0.38': {} + + '@types/aria-query@5.0.4': {} + + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + '@types/babel__generator': 7.27.0 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.28.0 + + '@types/babel__generator@7.27.0': + dependencies: + '@babel/types': 7.28.4 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.28.4 + '@babel/types': 7.28.4 + + '@types/babel__traverse@7.28.0': + dependencies: + '@babel/types': 7.28.4 + + '@types/chai@5.2.3': + dependencies: + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 + + '@types/cookie@0.6.0': {} + + '@types/deep-eql@4.0.2': {} + + '@types/estree@1.0.8': {} + + '@types/jsdom@21.1.7': + dependencies: + '@types/node': 22.18.12 + '@types/tough-cookie': 4.0.5 + parse5: 7.3.0 + + '@types/json5@0.0.29': {} + + '@types/node@22.18.12': + dependencies: + undici-types: 6.21.0 + + '@types/react-dom@19.2.2(@types/react@19.2.2)': + dependencies: + '@types/react': 19.2.2 + + '@types/react@19.2.2': + dependencies: + csstype: 3.1.3 + + '@types/tough-cookie@4.0.5': {} + + '@vitejs/plugin-react@4.7.0(vite@6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2))': + dependencies: + '@babel/core': 7.28.4 + '@babel/plugin-transform-react-jsx-self': 7.27.1(@babel/core@7.28.4) + '@babel/plugin-transform-react-jsx-source': 7.27.1(@babel/core@7.28.4) + '@rolldown/pluginutils': 1.0.0-beta.27 + '@types/babel__core': 7.20.5 + react-refresh: 0.17.0 + vite: 6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2) + transitivePeerDependencies: + - supports-color + + '@vitest/expect@3.2.4': + dependencies: + '@types/chai': 5.2.3 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 + chai: 5.3.3 + tinyrainbow: 2.0.0 + + '@vitest/mocker@3.2.4(vite@6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2))': + dependencies: + '@vitest/spy': 3.2.4 + estree-walker: 3.0.3 + magic-string: 0.30.19 + optionalDependencies: + vite: 6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2) + + '@vitest/pretty-format@3.2.4': + dependencies: + tinyrainbow: 2.0.0 + + '@vitest/runner@3.2.4': + dependencies: + '@vitest/utils': 3.2.4 + pathe: 2.0.3 + strip-literal: 3.1.0 + + '@vitest/snapshot@3.2.4': + dependencies: + '@vitest/pretty-format': 3.2.4 + magic-string: 0.30.19 + pathe: 2.0.3 + + '@vitest/spy@3.2.4': + dependencies: + tinyspy: 4.0.4 + + '@vitest/utils@3.2.4': + dependencies: + '@vitest/pretty-format': 3.2.4 + loupe: 3.2.1 + tinyrainbow: 2.0.0 + + '@volar/language-core@2.4.23': + dependencies: + '@volar/source-map': 2.4.23 + + '@volar/source-map@2.4.23': {} + + '@volar/typescript@2.4.23': + dependencies: + '@volar/language-core': 2.4.23 + path-browserify: 1.0.1 + vscode-uri: 3.1.0 + + '@vue/compiler-core@3.5.22': + dependencies: + '@babel/parser': 7.28.4 + '@vue/shared': 3.5.22 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.22': + dependencies: + '@vue/compiler-core': 3.5.22 + '@vue/shared': 3.5.22 + + '@vue/compiler-vue2@2.7.16': + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + '@vue/language-core@2.2.0(typescript@5.7.3)': + dependencies: + '@volar/language-core': 2.4.23 + '@vue/compiler-dom': 3.5.22 + '@vue/compiler-vue2': 2.7.16 + '@vue/shared': 3.5.22 + alien-signals: 0.4.14 + minimatch: 9.0.5 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + optionalDependencies: + typescript: 5.7.3 + + '@vue/shared@3.5.22': {} + + '@web3-storage/multipart-parser@1.0.0': {} + + '@zxing/text-encoding@0.9.0': + optional: true + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + acorn@8.15.0: {} + + agent-base@7.1.4: {} + + ajv-draft-04@1.0.0(ajv@8.13.0): + optionalDependencies: + ajv: 8.13.0 + + ajv-formats@3.0.1(ajv@8.13.0): + optionalDependencies: + ajv: 8.13.0 + + ajv-formats@3.0.1(ajv@8.17.1): + optionalDependencies: + ajv: 8.17.1 + + ajv@8.12.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + ajv@8.13.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + ajv@8.17.1: + dependencies: + fast-deep-equal: 3.1.3 + fast-uri: 3.1.0 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + + alien-signals@0.4.14: {} + + ansi-colors@4.1.3: {} + + ansi-regex@5.0.1: {} + + ansi-regex@6.2.2: {} + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.3: {} + + any-promise@1.3.0: {} + + argparse@1.0.10: + dependencies: + sprintf-js: 1.0.3 + + aria-query@5.3.0: + dependencies: + dequal: 2.0.3 + + aria-query@5.3.2: {} + + assertion-error@2.0.1: {} + + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.1.0 + + balanced-match@1.0.2: {} + + base64-js@1.5.1: {} + + baseline-browser-mapping@2.8.20: {} + + bl@4.1.0: + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + brace-expansion@2.0.2: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + + browserslist@4.27.0: + dependencies: + baseline-browser-mapping: 2.8.20 + caniuse-lite: 1.0.30001751 + electron-to-chromium: 1.5.239 + node-releases: 2.0.26 + update-browserslist-db: 1.1.4(browserslist@4.27.0) + + buffer-from@1.1.2: {} + + buffer@5.7.1: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + bundle-require@5.1.0(esbuild@0.25.11): + dependencies: + esbuild: 0.25.11 + load-tsconfig: 0.2.5 + + cac@6.7.14: {} + + call-bind-apply-helpers@1.0.2: + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + + call-bind@1.0.8: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + get-intrinsic: 1.3.0 + set-function-length: 1.2.2 + + call-bound@1.0.4: + dependencies: + call-bind-apply-helpers: 1.0.2 + get-intrinsic: 1.3.0 + + caniuse-lite@1.0.30001751: {} + + chai@5.3.3: + dependencies: + assertion-error: 2.0.1 + check-error: 2.1.1 + deep-eql: 5.0.2 + loupe: 3.2.1 + pathval: 2.0.1 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + check-error@2.1.1: {} + + chokidar@4.0.3: + dependencies: + readdirp: 4.1.2 + + cli-cursor@3.1.0: + dependencies: + restore-cursor: 3.1.0 + + cli-spinners@2.9.2: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + clone@1.0.4: {} + + clsx@2.1.1: {} + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.4: {} + + commander@13.1.0: {} + + commander@4.1.1: {} + + commondir@1.0.1: {} + + compare-versions@6.1.1: {} + + confbox@0.1.8: {} + + confbox@0.2.2: {} + + consola@3.4.2: {} + + convert-source-map@1.9.0: {} + + convert-source-map@2.0.0: {} + + cookie-signature@1.2.2: {} + + cookie@0.7.2: {} + + copy-anything@2.0.6: + dependencies: + is-what: 3.14.1 + + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + css.escape@1.5.1: {} + + cssstyle@4.6.0: + dependencies: + '@asamuzakjp/css-color': 3.2.0 + rrweb-cssom: 0.8.0 + + csstype@3.1.3: {} + + data-uri-to-buffer@3.0.1: {} + + data-urls@5.0.0: + dependencies: + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 + + de-indent@1.0.2: {} + + debug@4.4.3: + dependencies: + ms: 2.1.3 + + decimal.js@10.6.0: {} + + decode-formdata@0.8.0: {} + + deep-eql@5.0.2: {} + + defaults@1.0.4: + dependencies: + clone: 1.0.4 + + define-data-property@1.1.4: + dependencies: + es-define-property: 1.0.1 + es-errors: 1.3.0 + gopd: 1.2.0 + + dependency-graph@1.0.0: {} + + dequal@2.0.3: {} + + detect-libc@1.0.3: + optional: true + + dom-accessibility-api@0.5.16: {} + + dom-accessibility-api@0.6.3: {} + + dunder-proto@1.0.1: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-errors: 1.3.0 + gopd: 1.2.0 + + eastasianwidth@0.2.0: {} + + electron-to-chromium@1.5.239: {} + + emoji-regex@8.0.0: {} + + emoji-regex@9.2.2: {} + + entities@4.5.0: {} + + entities@6.0.1: {} + + errno@0.1.8: + dependencies: + prr: 1.0.1 + optional: true + + es-define-property@1.0.1: {} + + es-errors@1.3.0: {} + + es-module-lexer@1.7.0: {} + + es-object-atoms@1.1.1: + dependencies: + es-errors: 1.3.0 + + esbuild@0.25.11: + optionalDependencies: + '@esbuild/aix-ppc64': 0.25.11 + '@esbuild/android-arm': 0.25.11 + '@esbuild/android-arm64': 0.25.11 + '@esbuild/android-x64': 0.25.11 + '@esbuild/darwin-arm64': 0.25.11 + '@esbuild/darwin-x64': 0.25.11 + '@esbuild/freebsd-arm64': 0.25.11 + '@esbuild/freebsd-x64': 0.25.11 + '@esbuild/linux-arm': 0.25.11 + '@esbuild/linux-arm64': 0.25.11 + '@esbuild/linux-ia32': 0.25.11 + '@esbuild/linux-loong64': 0.25.11 + '@esbuild/linux-mips64el': 0.25.11 + '@esbuild/linux-ppc64': 0.25.11 + '@esbuild/linux-riscv64': 0.25.11 + '@esbuild/linux-s390x': 0.25.11 + '@esbuild/linux-x64': 0.25.11 + '@esbuild/netbsd-arm64': 0.25.11 + '@esbuild/netbsd-x64': 0.25.11 + '@esbuild/openbsd-arm64': 0.25.11 + '@esbuild/openbsd-x64': 0.25.11 + '@esbuild/openharmony-arm64': 0.25.11 + '@esbuild/sunos-x64': 0.25.11 + '@esbuild/win32-arm64': 0.25.11 + '@esbuild/win32-ia32': 0.25.11 + '@esbuild/win32-x64': 0.25.11 + + escalade@3.2.0: {} + + estree-walker@2.0.2: {} + + estree-walker@3.0.3: + dependencies: + '@types/estree': 1.0.8 + + event-target-shim@5.0.1: {} + + expect-type@1.2.2: {} + + exsolve@1.0.7: {} + + fast-deep-equal@3.1.3: {} + + fast-glob@3.3.3: + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.8 + + fast-uri@3.1.0: {} + + fastq@1.19.1: + dependencies: + reusify: 1.1.0 + + faye-websocket@0.11.4: + dependencies: + websocket-driver: 0.7.4 + + fdir@6.5.0(picomatch@4.0.3): + optionalDependencies: + picomatch: 4.0.3 + + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + + find-cache-dir@3.3.2: + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + + find-up@4.1.0: + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + + firebase@11.10.0: + dependencies: + '@firebase/ai': 1.4.1(@firebase/app-types@0.9.3)(@firebase/app@0.13.2) + '@firebase/analytics': 0.10.17(@firebase/app@0.13.2) + '@firebase/analytics-compat': 0.2.23(@firebase/app-compat@0.4.2)(@firebase/app@0.13.2) + '@firebase/app': 0.13.2 + '@firebase/app-check': 0.10.1(@firebase/app@0.13.2) + '@firebase/app-check-compat': 0.3.26(@firebase/app-compat@0.4.2)(@firebase/app@0.13.2) + '@firebase/app-compat': 0.4.2 + '@firebase/app-types': 0.9.3 + '@firebase/auth': 1.10.8(@firebase/app@0.13.2) + '@firebase/auth-compat': 0.5.28(@firebase/app-compat@0.4.2)(@firebase/app-types@0.9.3)(@firebase/app@0.13.2) + '@firebase/data-connect': 0.3.10(@firebase/app@0.13.2) + '@firebase/database': 1.0.20 + '@firebase/database-compat': 2.0.11 + '@firebase/firestore': 4.8.0(@firebase/app@0.13.2) + '@firebase/firestore-compat': 0.3.53(@firebase/app-compat@0.4.2)(@firebase/app-types@0.9.3)(@firebase/app@0.13.2) + '@firebase/functions': 0.12.9(@firebase/app@0.13.2) + '@firebase/functions-compat': 0.3.26(@firebase/app-compat@0.4.2)(@firebase/app@0.13.2) + '@firebase/installations': 0.6.18(@firebase/app@0.13.2) + '@firebase/installations-compat': 0.2.18(@firebase/app-compat@0.4.2)(@firebase/app-types@0.9.3)(@firebase/app@0.13.2) + '@firebase/messaging': 0.12.22(@firebase/app@0.13.2) + '@firebase/messaging-compat': 0.2.22(@firebase/app-compat@0.4.2)(@firebase/app@0.13.2) + '@firebase/performance': 0.7.7(@firebase/app@0.13.2) + '@firebase/performance-compat': 0.2.20(@firebase/app-compat@0.4.2)(@firebase/app@0.13.2) + '@firebase/remote-config': 0.6.5(@firebase/app@0.13.2) + '@firebase/remote-config-compat': 0.2.18(@firebase/app-compat@0.4.2)(@firebase/app@0.13.2) + '@firebase/storage': 0.13.14(@firebase/app@0.13.2) + '@firebase/storage-compat': 0.3.24(@firebase/app-compat@0.4.2)(@firebase/app-types@0.9.3)(@firebase/app@0.13.2) + '@firebase/util': 1.12.1 + transitivePeerDependencies: + - '@react-native-async-storage/async-storage' + + fix-dts-default-cjs-exports@1.0.1: + dependencies: + magic-string: 0.30.19 + mlly: 1.8.0 + rollup: 4.52.5 + + for-each@0.3.5: + dependencies: + is-callable: 1.2.7 + + foreground-child@3.3.1: + dependencies: + cross-spawn: 7.0.6 + signal-exit: 4.1.0 + + fs-extra@11.3.2: + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.2.0 + universalify: 2.0.1 + + fsevents@2.3.3: + optional: true + + function-bind@1.1.2: {} + + generator-function@2.0.1: {} + + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + + get-intrinsic@1.3.0: + dependencies: + call-bind-apply-helpers: 1.0.2 + es-define-property: 1.0.1 + es-errors: 1.3.0 + es-object-atoms: 1.1.1 + function-bind: 1.1.2 + get-proto: 1.0.1 + gopd: 1.2.0 + has-symbols: 1.1.0 + hasown: 2.0.2 + math-intrinsics: 1.1.0 + + get-proto@1.0.1: + dependencies: + dunder-proto: 1.0.1 + es-object-atoms: 1.1.1 + + glob-parent@5.1.2: + dependencies: + is-glob: 4.0.3 + + glob-regex@0.3.2: {} + + glob@10.4.5: + dependencies: + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 + + glob@11.0.3: + dependencies: + foreground-child: 3.3.1 + jackspeak: 4.1.1 + minimatch: 10.0.3 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 2.0.0 + + globrex@0.1.2: {} + + gopd@1.2.0: {} + + graceful-fs@4.2.11: {} + + has-flag@4.0.0: {} + + has-property-descriptors@1.0.2: + dependencies: + es-define-property: 1.0.1 + + has-symbols@1.1.0: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.1.0 + + hasown@2.0.2: + dependencies: + function-bind: 1.1.2 + + he@1.2.0: {} + + html-encoding-sniffer@4.0.0: + dependencies: + whatwg-encoding: 3.1.1 + + http-parser-js@0.5.10: {} + + http-proxy-agent@7.0.2: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + https-proxy-agent@7.0.6: + dependencies: + agent-base: 7.1.4 + debug: 4.4.3 + transitivePeerDependencies: + - supports-color + + iconv-lite@0.6.3: + dependencies: + safer-buffer: 2.1.2 + + idb@7.1.1: {} + + ieee754@1.2.1: {} + + image-size@0.5.5: + optional: true + + immutable@5.1.4: {} + + import-lazy@4.0.0: {} + + indent-string@4.0.0: {} + + inherits@2.0.4: {} + + injection-js@2.6.1: + dependencies: + tslib: 2.8.1 + + is-arguments@1.2.0: + dependencies: + call-bound: 1.0.4 + has-tostringtag: 1.0.2 + + is-callable@1.2.7: {} + + is-core-module@2.16.1: + dependencies: + hasown: 2.0.2 + + is-extglob@2.1.1: {} + + is-fullwidth-code-point@3.0.0: {} + + is-generator-function@1.1.2: + dependencies: + call-bound: 1.0.4 + generator-function: 2.0.1 + get-proto: 1.0.1 + has-tostringtag: 1.0.2 + safe-regex-test: 1.1.0 + + is-glob@4.0.3: + dependencies: + is-extglob: 2.1.1 + + is-interactive@1.0.0: {} + + is-number@7.0.0: {} + + is-potential-custom-element-name@1.0.1: {} + + is-regex@1.2.1: + dependencies: + call-bound: 1.0.4 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + + is-typed-array@1.1.15: + dependencies: + which-typed-array: 1.1.19 + + is-unicode-supported@0.1.0: {} + + is-what@3.14.1: {} + + isexe@2.0.0: {} + + jackspeak@3.4.3: + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + + jackspeak@4.1.1: + dependencies: + '@isaacs/cliui': 8.0.2 + + jju@1.4.0: {} + + joycon@3.1.1: {} + + js-tokens@4.0.0: {} + + js-tokens@9.0.1: {} + + jsdom@26.1.0: + dependencies: + cssstyle: 4.6.0 + data-urls: 5.0.0 + decimal.js: 10.6.0 + html-encoding-sniffer: 4.0.0 + http-proxy-agent: 7.0.2 + https-proxy-agent: 7.0.6 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.22 + parse5: 7.3.0 + rrweb-cssom: 0.8.0 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 5.1.2 + w3c-xmlserializer: 5.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 3.1.1 + whatwg-mimetype: 4.0.0 + whatwg-url: 14.2.0 + ws: 8.18.3 + xml-name-validator: 5.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + + jsesc@3.1.0: {} + + json-schema-traverse@1.0.0: {} + + json5@1.0.2: + dependencies: + minimist: 1.2.8 + + json5@2.2.3: {} + + jsonc-parser@3.3.1: {} + + jsonfile@6.2.0: + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + + kolorist@1.8.0: {} + + less@4.4.2: + dependencies: + copy-anything: 2.0.6 + parse-node-version: 1.0.1 + tslib: 2.8.1 + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.11 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.6.0 + needle: 3.3.1 + source-map: 0.6.1 + + lilconfig@3.1.3: {} + + lines-and-columns@1.2.4: {} + + load-tsconfig@0.2.5: {} + + local-pkg@1.1.2: + dependencies: + mlly: 1.8.0 + pkg-types: 2.3.0 + quansync: 0.2.11 + + locate-path@5.0.0: + dependencies: + p-locate: 4.1.0 + + lodash.camelcase@4.3.0: {} + + lodash.sortby@4.7.0: {} + + lodash@4.17.21: {} + + log-symbols@4.1.0: + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + + long@5.3.2: {} + + loupe@3.2.1: {} + + lru-cache@10.4.3: {} + + lru-cache@11.2.2: {} + + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + + lru-cache@6.0.0: + dependencies: + yallist: 4.0.0 + + lz-string@1.5.0: {} + + magic-string@0.30.17: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + magic-string@0.30.19: + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + + make-dir@2.1.0: + dependencies: + pify: 4.0.1 + semver: 5.7.2 + optional: true + + make-dir@3.1.0: + dependencies: + semver: 6.3.1 + + math-intrinsics@1.1.0: {} + + merge2@1.4.1: {} + + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + + mime@1.6.0: + optional: true + + mimic-fn@2.1.0: {} + + min-indent@1.0.1: {} + + minimatch@10.0.3: + dependencies: + '@isaacs/brace-expansion': 5.0.0 + + minimatch@9.0.5: + dependencies: + brace-expansion: 2.0.2 + + minimist@1.2.8: {} + + minipass@7.1.2: {} + + mlly@1.8.0: + dependencies: + acorn: 8.15.0 + pathe: 2.0.3 + pkg-types: 1.3.1 + ufo: 1.6.1 + + mrmime@1.0.1: {} + + ms@2.1.3: {} + + muggle-string@0.4.1: {} + + mz@2.7.0: + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + + nanoid@3.3.11: {} + + nanostores@0.11.4: {} + + needle@3.3.1: + dependencies: + iconv-lite: 0.6.3 + sax: 1.4.1 + optional: true + + ng-packagr@19.2.2(@angular/compiler-cli@19.2.15(@angular/compiler@19.2.15)(typescript@5.7.3))(tailwindcss@4.1.16)(tslib@2.8.1)(typescript@5.7.3): + dependencies: + '@angular/compiler-cli': 19.2.15(@angular/compiler@19.2.15)(typescript@5.7.3) + '@rollup/plugin-json': 6.1.0(rollup@4.52.5) + '@rollup/wasm-node': 4.52.5 + ajv: 8.17.1 + ansi-colors: 4.1.3 + browserslist: 4.27.0 + chokidar: 4.0.3 + commander: 13.1.0 + convert-source-map: 2.0.0 + dependency-graph: 1.0.0 + esbuild: 0.25.11 + fast-glob: 3.3.3 + find-cache-dir: 3.3.2 + injection-js: 2.6.1 + jsonc-parser: 3.3.1 + less: 4.4.2 + ora: 5.4.1 + piscina: 4.9.2 + postcss: 8.5.6 + rxjs: 7.8.2 + sass: 1.93.2 + tslib: 2.8.1 + typescript: 5.7.3 + optionalDependencies: + rollup: 4.52.5 + tailwindcss: 4.1.16 + + node-addon-api@7.1.1: + optional: true + + node-releases@2.0.26: {} + + nwsapi@2.2.22: {} + + object-assign@4.1.1: {} + + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + + ora@5.4.1: + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.2 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + + p-limit@2.3.0: + dependencies: + p-try: 2.2.0 + + p-locate@4.1.0: + dependencies: + p-limit: 2.3.0 + + p-try@2.2.0: {} + + package-json-from-dist@1.0.1: {} + + parse-node-version@1.0.1: {} + + parse5@7.3.0: + dependencies: + entities: 6.0.1 + + path-browserify@1.0.1: {} + + path-exists@4.0.0: {} + + path-key@3.1.1: {} + + path-parse@1.0.7: {} + + path-scurry@1.11.1: + dependencies: + lru-cache: 10.4.3 + minipass: 7.1.2 + + path-scurry@2.0.0: + dependencies: + lru-cache: 11.2.2 + minipass: 7.1.2 + + pathe@2.0.3: {} + + pathval@2.0.1: {} + + picocolors@1.1.1: {} + + picomatch@2.3.1: {} + + picomatch@4.0.2: {} + + picomatch@4.0.3: {} + + pify@4.0.1: + optional: true + + pirates@4.0.7: {} + + piscina@4.9.2: + optionalDependencies: + '@napi-rs/nice': 1.1.1 + + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + + pkg-types@1.3.1: + dependencies: + confbox: 0.1.8 + mlly: 1.8.0 + pathe: 2.0.3 + + pkg-types@2.3.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.7 + pathe: 2.0.3 + + possible-typed-array-names@1.1.0: {} + + postcss-load-config@6.0.1(postcss@8.5.6): + dependencies: + lilconfig: 3.1.3 + optionalDependencies: + postcss: 8.5.6 + + postcss@8.5.6: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + + prettier@3.6.2: {} + + pretty-format@27.5.1: + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + + protobufjs@7.5.4: + dependencies: + '@protobufjs/aspromise': 1.1.2 + '@protobufjs/base64': 1.1.2 + '@protobufjs/codegen': 2.0.4 + '@protobufjs/eventemitter': 1.1.0 + '@protobufjs/fetch': 1.1.0 + '@protobufjs/float': 1.0.2 + '@protobufjs/inquire': 1.1.0 + '@protobufjs/path': 1.1.2 + '@protobufjs/pool': 1.1.0 + '@protobufjs/utf8': 1.1.0 + '@types/node': 22.18.12 + long: 5.3.2 + + prr@1.0.1: + optional: true + + punycode@2.3.1: {} + + quansync@0.2.11: {} + + queue-microtask@1.2.3: {} + + react-dom@19.2.0(react@19.2.0): + dependencies: + react: 19.2.0 + scheduler: 0.27.0 + + react-is@17.0.2: {} + + react-refresh@0.17.0: {} + + react@19.2.0: {} + + readable-stream@3.6.2: + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + readdirp@4.1.2: {} + + recrawl-sync@2.2.3: + dependencies: + '@cush/relative': 1.0.0 + glob-regex: 0.3.2 + slash: 3.0.0 + sucrase: 3.35.0 + tslib: 1.14.1 + + redent@3.0.0: + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + + reflect-metadata@0.2.2: {} + + require-directory@2.1.1: {} + + require-from-string@2.0.2: {} + + resolve-from@5.0.0: {} + + resolve@1.22.11: + dependencies: + is-core-module: 2.16.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + restore-cursor@3.1.0: + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + reusify@1.1.0: {} + + rimraf@6.0.1: + dependencies: + glob: 11.0.3 + package-json-from-dist: 1.0.1 + + rollup@4.52.5: + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.52.5 + '@rollup/rollup-android-arm64': 4.52.5 + '@rollup/rollup-darwin-arm64': 4.52.5 + '@rollup/rollup-darwin-x64': 4.52.5 + '@rollup/rollup-freebsd-arm64': 4.52.5 + '@rollup/rollup-freebsd-x64': 4.52.5 + '@rollup/rollup-linux-arm-gnueabihf': 4.52.5 + '@rollup/rollup-linux-arm-musleabihf': 4.52.5 + '@rollup/rollup-linux-arm64-gnu': 4.52.5 + '@rollup/rollup-linux-arm64-musl': 4.52.5 + '@rollup/rollup-linux-loong64-gnu': 4.52.5 + '@rollup/rollup-linux-ppc64-gnu': 4.52.5 + '@rollup/rollup-linux-riscv64-gnu': 4.52.5 + '@rollup/rollup-linux-riscv64-musl': 4.52.5 + '@rollup/rollup-linux-s390x-gnu': 4.52.5 + '@rollup/rollup-linux-x64-gnu': 4.52.5 + '@rollup/rollup-linux-x64-musl': 4.52.5 + '@rollup/rollup-openharmony-arm64': 4.52.5 + '@rollup/rollup-win32-arm64-msvc': 4.52.5 + '@rollup/rollup-win32-ia32-msvc': 4.52.5 + '@rollup/rollup-win32-x64-gnu': 4.52.5 + '@rollup/rollup-win32-x64-msvc': 4.52.5 + fsevents: 2.3.3 + + rrweb-cssom@0.8.0: {} + + run-parallel@1.2.0: + dependencies: + queue-microtask: 1.2.3 + + rxfire@6.1.0(firebase@11.10.0)(rxjs@7.8.2): + dependencies: + firebase: 11.10.0 + rxjs: 7.8.2 + + rxjs@7.8.1: + dependencies: + tslib: 2.8.1 + + rxjs@7.8.2: + dependencies: + tslib: 2.8.1 + + safe-buffer@5.2.1: {} + + safe-regex-test@1.1.0: + dependencies: + call-bound: 1.0.4 + es-errors: 1.3.0 + is-regex: 1.2.1 + + safer-buffer@2.1.2: {} + + sass@1.93.2: + dependencies: + chokidar: 4.0.3 + immutable: 5.1.4 + source-map-js: 1.2.1 + optionalDependencies: + '@parcel/watcher': 2.5.1 + + sax@1.4.1: + optional: true + + saxes@6.0.0: + dependencies: + xmlchars: 2.2.0 + + scheduler@0.27.0: {} + + semver@5.7.2: + optional: true + + semver@6.3.1: {} + + semver@7.5.4: + dependencies: + lru-cache: 6.0.0 + + semver@7.7.3: {} + + set-cookie-parser@2.7.1: {} + + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.3.0 + gopd: 1.2.0 + has-property-descriptors: 1.0.2 + + shebang-command@2.0.0: + dependencies: + shebang-regex: 3.0.0 + + shebang-regex@3.0.0: {} + + siginfo@2.0.0: {} + + signal-exit@3.0.7: {} + + signal-exit@4.1.0: {} + + slash@3.0.0: {} + + source-map-js@1.2.1: {} + + source-map-support@0.5.21: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + + source-map@0.7.4: {} + + source-map@0.7.6: {} + + source-map@0.8.0-beta.0: + dependencies: + whatwg-url: 7.1.0 + + sprintf-js@1.0.3: {} + + stackback@0.0.2: {} + + std-env@3.10.0: {} + + stream-slice@0.1.2: {} + + string-argv@0.3.2: {} + + string-width@4.2.3: + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + string-width@5.1.2: + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.2 + + string_decoder@1.3.0: + dependencies: + safe-buffer: 5.2.1 + + strip-ansi@6.0.1: + dependencies: + ansi-regex: 5.0.1 + + strip-ansi@7.1.2: + dependencies: + ansi-regex: 6.2.2 + + strip-bom@3.0.0: {} + + strip-indent@3.0.0: + dependencies: + min-indent: 1.0.1 + + strip-json-comments@3.1.1: {} + + strip-literal@3.1.0: + dependencies: + js-tokens: 9.0.1 + + sucrase@3.35.0: + dependencies: + '@jridgewell/gen-mapping': 0.3.13 + commander: 4.1.1 + glob: 10.4.5 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.7 + ts-interface-checker: 0.1.13 + + supports-color@7.2.0: + dependencies: + has-flag: 4.0.0 + + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + symbol-tree@3.2.4: {} + + tailwind-merge@3.3.1: {} + + tailwindcss@4.1.16: {} + + thenify-all@1.6.0: + dependencies: + thenify: 3.3.1 + + thenify@3.3.1: + dependencies: + any-promise: 1.3.0 + + tinybench@2.9.0: {} + + tinyexec@0.3.2: {} + + tinyglobby@0.2.15: + dependencies: + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + + tinypool@1.1.1: {} + + tinyrainbow@2.0.0: {} + + tinyspy@4.0.4: {} + + tldts-core@6.1.86: {} + + tldts@6.1.86: + dependencies: + tldts-core: 6.1.86 + + to-regex-range@5.0.1: + dependencies: + is-number: 7.0.0 + + tough-cookie@5.1.2: + dependencies: + tldts: 6.1.86 + + tr46@1.0.1: + dependencies: + punycode: 2.3.1 + + tr46@5.1.1: + dependencies: + punycode: 2.3.1 + + tree-kill@1.2.2: {} + + ts-interface-checker@0.1.13: {} + + tsconfck@3.1.6(typescript@5.7.3): + optionalDependencies: + typescript: 5.7.3 + + tsconfig-paths@3.15.0: + dependencies: + '@types/json5': 0.0.29 + json5: 1.0.2 + minimist: 1.2.8 + strip-bom: 3.0.0 + + tslib@1.14.1: {} + + tslib@2.8.1: {} + + tsup@8.5.0(@microsoft/api-extractor@7.53.2(@types/node@22.18.12))(postcss@8.5.6)(typescript@5.6.3): + dependencies: + bundle-require: 5.1.0(esbuild@0.25.11) + cac: 6.7.14 + chokidar: 4.0.3 + consola: 3.4.2 + debug: 4.4.3 + esbuild: 0.25.11 + fix-dts-default-cjs-exports: 1.0.1 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1(postcss@8.5.6) + resolve-from: 5.0.0 + rollup: 4.52.5 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.15 + tree-kill: 1.2.2 + optionalDependencies: + '@microsoft/api-extractor': 7.53.2(@types/node@22.18.12) + postcss: 8.5.6 + typescript: 5.6.3 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + + tsup@8.5.0(@microsoft/api-extractor@7.53.2(@types/node@22.18.12))(postcss@8.5.6)(typescript@5.9.3): + dependencies: + bundle-require: 5.1.0(esbuild@0.25.11) + cac: 6.7.14 + chokidar: 4.0.3 + consola: 3.4.2 + debug: 4.4.3 + esbuild: 0.25.11 + fix-dts-default-cjs-exports: 1.0.1 + joycon: 3.1.1 + picocolors: 1.1.1 + postcss-load-config: 6.0.1(postcss@8.5.6) + resolve-from: 5.0.0 + rollup: 4.52.5 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.15 + tree-kill: 1.2.2 + optionalDependencies: + '@microsoft/api-extractor': 7.53.2(@types/node@22.18.12) + postcss: 8.5.6 + typescript: 5.9.3 + transitivePeerDependencies: + - jiti + - supports-color + - tsx + - yaml + + turbo-stream@2.4.1: {} + + typescript@5.6.3: {} + + typescript@5.7.3: {} + + typescript@5.8.2: {} + + typescript@5.9.3: {} + + ufo@1.6.1: {} + + undici-types@6.21.0: {} + + undici@6.22.0: {} + + universalify@2.0.1: {} + + update-browserslist-db@1.1.4(browserslist@4.27.0): + dependencies: + browserslist: 4.27.0 + escalade: 3.2.0 + picocolors: 1.1.1 + + uri-js@4.4.1: + dependencies: + punycode: 2.3.1 + + use-sync-external-store@1.6.0(react@19.2.0): + dependencies: + react: 19.2.0 + + util-deprecate@1.0.2: {} + + util@0.12.5: + dependencies: + inherits: 2.0.4 + is-arguments: 1.2.0 + is-generator-function: 1.1.2 + is-typed-array: 1.1.15 + which-typed-array: 1.1.19 + + vite-node@3.2.4(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2): + dependencies: + cac: 6.7.14 + debug: 4.4.3 + es-module-lexer: 1.7.0 + pathe: 2.0.3 + vite: 6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2) + transitivePeerDependencies: + - '@types/node' + - jiti + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + vite-plugin-dts@4.5.4(@types/node@22.18.12)(rollup@4.52.5)(typescript@5.7.3)(vite@6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2)): + dependencies: + '@microsoft/api-extractor': 7.53.2(@types/node@22.18.12) + '@rollup/pluginutils': 5.3.0(rollup@4.52.5) + '@volar/typescript': 2.4.23 + '@vue/language-core': 2.2.0(typescript@5.7.3) + compare-versions: 6.1.1 + debug: 4.4.3 + kolorist: 1.8.0 + local-pkg: 1.1.2 + magic-string: 0.30.19 + typescript: 5.7.3 + optionalDependencies: + vite: 6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2) + transitivePeerDependencies: + - '@types/node' + - rollup + - supports-color + + vite-tsconfig-paths@5.1.4(typescript@5.7.3)(vite@6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2)): + dependencies: + debug: 4.4.3 + globrex: 0.1.2 + tsconfck: 3.1.6(typescript@5.7.3) + optionalDependencies: + vite: 6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2) + transitivePeerDependencies: + - supports-color + - typescript + + vite@6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2): + dependencies: + esbuild: 0.25.11 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.52.5 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 22.18.12 + fsevents: 2.3.3 + less: 4.4.2 + sass: 1.93.2 + + vitest-tsconfig-paths@3.4.1: + dependencies: + debug: 4.4.3 + globrex: 0.1.2 + recrawl-sync: 2.2.3 + tsconfig-paths: 3.15.0 + transitivePeerDependencies: + - supports-color + + vitest@3.2.4(@types/node@22.18.12)(jsdom@26.1.0)(less@4.4.2)(sass@1.93.2): + dependencies: + '@types/chai': 5.2.3 + '@vitest/expect': 3.2.4 + '@vitest/mocker': 3.2.4(vite@6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2)) + '@vitest/pretty-format': 3.2.4 + '@vitest/runner': 3.2.4 + '@vitest/snapshot': 3.2.4 + '@vitest/spy': 3.2.4 + '@vitest/utils': 3.2.4 + chai: 5.3.3 + debug: 4.4.3 + expect-type: 1.2.2 + magic-string: 0.30.19 + pathe: 2.0.3 + picomatch: 4.0.3 + std-env: 3.10.0 + tinybench: 2.9.0 + tinyexec: 0.3.2 + tinyglobby: 0.2.15 + tinypool: 1.1.1 + tinyrainbow: 2.0.0 + vite: 6.4.1(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2) + vite-node: 3.2.4(@types/node@22.18.12)(less@4.4.2)(sass@1.93.2) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 22.18.12 + jsdom: 26.1.0 + transitivePeerDependencies: + - jiti + - less + - lightningcss + - msw + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + - tsx + - yaml + + vscode-uri@3.1.0: {} + + w3c-xmlserializer@5.0.0: + dependencies: + xml-name-validator: 5.0.0 + + wcwidth@1.0.1: + dependencies: + defaults: 1.0.4 + + web-encoding@1.1.5: + dependencies: + util: 0.12.5 + optionalDependencies: + '@zxing/text-encoding': 0.9.0 + + web-streams-polyfill@3.3.3: {} + + web-vitals@4.2.4: {} + + webidl-conversions@4.0.2: {} + + webidl-conversions@7.0.0: {} + + websocket-driver@0.7.4: + dependencies: + http-parser-js: 0.5.10 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + + websocket-extensions@0.1.4: {} + + whatwg-encoding@3.1.1: + dependencies: + iconv-lite: 0.6.3 + + whatwg-mimetype@4.0.0: {} + + whatwg-url@14.2.0: + dependencies: + tr46: 5.1.1 + webidl-conversions: 7.0.0 + + whatwg-url@7.1.0: + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + + which-typed-array@1.1.19: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.8 + call-bound: 1.0.4 + for-each: 0.3.5 + get-proto: 1.0.1 + gopd: 1.2.0 + has-tostringtag: 1.0.2 + + which@2.0.2: + dependencies: + isexe: 2.0.0 + + why-is-node-running@2.3.0: + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + + wrap-ansi@7.0.0: + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + wrap-ansi@8.1.0: + dependencies: + ansi-styles: 6.2.3 + string-width: 5.1.2 + strip-ansi: 7.1.2 + + ws@8.18.3: {} + + xml-name-validator@5.0.0: {} + + xmlchars@2.2.0: {} + + y18n@5.0.8: {} + + yallist@3.1.1: {} + + yallist@4.0.0: {} + + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.2.0 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + + zod@3.25.76: {} + + zone.js@0.15.1: {} diff --git a/releases/invertase-firebaseui-angular-0.0.1.tgz b/releases/invertase-firebaseui-angular-0.0.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..6594fd6fdb11358347e20c01d5e559c47b456c97 GIT binary patch literal 5173 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 literal 0 HcmV?d00001 diff --git a/releases/invertase-firebaseui-angular-0.0.2.tgz b/releases/invertase-firebaseui-angular-0.0.2.tgz new file mode 100644 index 0000000000000000000000000000000000000000..57c84dcd600f323f9cc6e683eb51341db89486a5 GIT binary patch literal 32667 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 literal 0 HcmV?d00001 diff --git a/releases/invertase-firebaseui-core-0.0.1.tgz b/releases/invertase-firebaseui-core-0.0.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..7886195daa28f2c2202b8788fae0efe7913e755e GIT binary patch literal 46377 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

#rmv@Ge^8s&y(VWtbe+G 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 QpNT*JA0W1kF928s04E+-WB>pF literal 0 HcmV?d00001 diff --git a/releases/invertase-firebaseui-styles-0.0.1.tgz b/releases/invertase-firebaseui-styles-0.0.1.tgz new file mode 100644 index 0000000000000000000000000000000000000000..4732f6386bc10da000776e19130d4880b165adaa GIT binary patch literal 9230 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 GsQ(4{-p=3v literal 0 HcmV?d00001 From 53a27562b0ecaad90b8767ad152a0745525d4f26 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 10:47:58 +0000 Subject: [PATCH 02/56] fix(angular): re-updated deps to angular 20 --- examples/angular/package.json | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/examples/angular/package.json b/examples/angular/package.json index faed3a75..e4a59308 100644 --- a/examples/angular/package.json +++ b/examples/angular/package.json @@ -14,17 +14,17 @@ "serve:ssr:angular-ssr": "node dist/angular-ssr/server/server.mjs" }, "dependencies": { - "@angular/animations": "^19.1.0", - "@angular/common": "^19.1.0", - "@angular/compiler": "^19.1.0", - "@angular/core": "^19.1.0", - "@angular/fire": "^19.0.0", - "@angular/forms": "^19.1.0", - "@angular/platform-browser": "^19.1.0", - "@angular/platform-browser-dynamic": "^19.1.0", - "@angular/platform-server": "^19.1.0", - "@angular/router": "^19.1.0", - "@angular/ssr": "^19.1.7", + "@angular/animations": "^20.2.2", + "@angular/common": "^20.2.2", + "@angular/compiler": "^20.2.2", + "@angular/core": "^20.2.2", + "@angular/fire": "^20.0.1", + "@angular/forms": "^20.2.2", + "@angular/platform-browser": "^20.2.2", + "@angular/platform-browser-dynamic": "^20.2.2", + "@angular/platform-server": "^20.2.2", + "@angular/router": "^20.2.2", + "@angular/ssr": "^20.2.2", "@invertase/firebaseui-angular": "^0.0.3", "@invertase/firebaseui-core": "^0.0.1", "@invertase/firebaseui-styles": "^0.0.1", @@ -38,9 +38,9 @@ "zone.js": "~0.15.0" }, "devDependencies": { - "@angular-devkit/build-angular": "^19.1.7", - "@angular/cli": "^19.1.7", - "@angular/compiler-cli": "^19.1.0", + "@angular-devkit/build-angular": "^20.2.2", + "@angular/cli": "^20.2.2", + "@angular/compiler-cli": "^20.2.2", "@tanstack/angular-form": "^0.42.0", "@types/express": "^4.17.17", "@types/jasmine": "~5.1.0", @@ -53,7 +53,7 @@ "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "~2.1.0", "nanostores": "^0.11.3", - "ng-packagr": "^19.1.0", + "ng-packagr": "^20.2.2", "typescript": "~5.7.2" } } From 786d874ea3df6ea221266b704985780900b451d6 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 10:57:42 +0000 Subject: [PATCH 03/56] chore(angular): re-updated dev dependencies --- examples/angular/package.json | 38 ++++++++++++++++++++++------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/examples/angular/package.json b/examples/angular/package.json index e4a59308..72edd19e 100644 --- a/examples/angular/package.json +++ b/examples/angular/package.json @@ -8,10 +8,16 @@ "build:lib": "ng build firebaseui-angular", "build:local": "pnpm run build:lib && cd projects/firebaseui-angular && pnpm pack", "watch": "ng build --watch --configuration development", - "test": "ng test", - "test:unit": "ng test --exclude=\"**/integration/**\" --no-watch --no-progress --browsers=ChromeHeadless", - "test:integration": "ng test --include=\"**/tests/integration/**/*.spec.ts\" --no-watch --no-progress --browsers=ChromeHeadless", - "serve:ssr:angular-ssr": "node dist/angular-ssr/server/server.mjs" + "test": "vitest run", + "test:watch": "vitest", + "test:unit": "vitest run --exclude=\"**/integration/**\"", + "test:integration": "vitest run --include=\"**/tests/integration/**/*.spec.ts\"", + "test:ci": "vitest run --coverage", + "serve:ssr:angular-ssr": "node dist/angular-ssr/server/server.mjs", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", + "format": "prettier --write \"src/**/*.{ts,html,css,scss}\"", + "format:check": "prettier --check \"src/**/*.{ts,html,css,scss}\"" }, "dependencies": { "@angular/animations": "^20.2.2", @@ -41,19 +47,23 @@ "@angular-devkit/build-angular": "^20.2.2", "@angular/cli": "^20.2.2", "@angular/compiler-cli": "^20.2.2", + "@eslint/js": "^9.22.0", "@tanstack/angular-form": "^0.42.0", "@types/express": "^4.17.17", - "@types/jasmine": "~5.1.0", - "@types/node": "^18.18.0", + "@types/node": "^20.19.0", + "@typescript-eslint/eslint-plugin": "^8.43.0", + "@typescript-eslint/parser": "^8.43.0", + "eslint": "^9.22.0", + "eslint-config-prettier": "^9.1.0", "firebase": "^11", - "jasmine-core": "~5.5.0", - "karma": "~6.4.0", - "karma-chrome-launcher": "~3.2.0", - "karma-coverage": "~2.2.0", - "karma-jasmine": "~5.1.0", - "karma-jasmine-html-reporter": "~2.1.0", + "vitest": "^3.2.0", + "@vitest/ui": "^3.2.0", + "@vitest/coverage-v8": "^3.2.0", + "jsdom": "^25.0.0", + "@testing-library/jest-dom": "^6.6.0", "nanostores": "^0.11.3", - "ng-packagr": "^20.2.2", - "typescript": "~5.7.2" + "ng-packagr": "^20.2.0", + "prettier": "^3.1.1", + "typescript": "^5.9.2" } } From 22fb5735fa3b48ba1c1bcd20ead963379fae5977 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 10:59:23 +0000 Subject: [PATCH 04/56] chore(*): add .firebase to gitignore --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 72f09694..a842c428 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ dist-ssr # Angular .angular +.firebase # Next.js .next From 75b2946820ce1d986206ca72af0a1827a9a2aa6a Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 11:04:59 +0000 Subject: [PATCH 05/56] chore(examples): add .firebase to gitignore for all example apps --- examples/angular/.gitignore | 1 + examples/nextjs/.gitignore | 3 +++ examples/react/.gitignore | 3 +++ 3 files changed, 7 insertions(+) diff --git a/examples/angular/.gitignore b/examples/angular/.gitignore index cc7b1413..3f558e87 100644 --- a/examples/angular/.gitignore +++ b/examples/angular/.gitignore @@ -36,6 +36,7 @@ yarn-error.log /libpeerconnection.log testem.log /typings +.firebase # System files .DS_Store diff --git a/examples/nextjs/.gitignore b/examples/nextjs/.gitignore index 5ef6a520..577f1099 100644 --- a/examples/nextjs/.gitignore +++ b/examples/nextjs/.gitignore @@ -36,6 +36,9 @@ yarn-error.log* # vercel .vercel +# firebase +.firebase + # typescript *.tsbuildinfo next-env.d.ts diff --git a/examples/react/.gitignore b/examples/react/.gitignore index a547bf36..1bbf49f7 100644 --- a/examples/react/.gitignore +++ b/examples/react/.gitignore @@ -22,3 +22,6 @@ dist-ssr *.njsproj *.sln *.sw? + +# firebase +.firebase From 7d431f863a2c9a8e27b2ad2626ee843a680cbbd8 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 11:13:15 +0000 Subject: [PATCH 06/56] chore(examples): remove .firebase directories from git tracking --- ...ing.ZGlzdC9hbmd1bGFyLXNzci9icm93c2Vy.cache | 41 ----------- examples/angular/.firebaserc | 5 -- .../fir-ui-2025-nextjs/hosting/404.html | 1 - .../static/chunks/198-fc2f857890282fd9.js | 1 - .../static/chunks/460-27f0fb3882b99f1c.js | 1 - .../static/chunks/499-b5a9acf51f160200.js | 15 ---- .../chunks/4bd1b696-a4582f7608b1c3f8.js | 1 - .../static/chunks/517-97f7a157326437f9.js | 2 - .../chunks/ae6eea6a-89606064f41da4dc.js | 1 - .../app/_not-found/page-09d475ed6534a562.js | 1 - .../forgot-password/page-6e3d7f138d1e62ba.js | 1 - .../chunks/app/layout-6aab929aad1d393d.js | 1 - .../chunks/app/page-8d787214c58f587b.js | 1 - .../app/register/page-b51a8bfb00044279.js | 1 - .../page-ffa6fcbeb7299aa7.js | 1 - .../page-cbbdc9acd56de275.js | 1 - .../oauth-screen/page-662bb862120ebe1d.js | 1 - .../page-7346f1f8c8959f83.js | 1 - .../page-96baddefbdcffb57.js | 1 - .../page-5ba757203936288e.js | 1 - .../page-077fb2f09d5d3268.js | 1 - .../page-018d6282ee014b52.js | 1 - .../page-58105dede38ce5c7.js | 1 - .../page-7dd5c04e4ab03479.js | 1 - .../page-ea1e24f2258e0ae5.js | 1 - .../sign-in/email/page-c77da0e5d7c5f5f5.js | 1 - .../app/sign-in/page-00912d0f7b1415fc.js | 1 - .../sign-in/phone/page-98c7321b7c0579e7.js | 1 - .../chunks/framework-f6c30afefa8caa28.js | 1 - .../static/chunks/main-7c5d8e9217f561df.js | 1 - .../chunks/main-app-e2be70030271765f.js | 1 - .../chunks/pages/_app-d23763e3e6c904ff.js | 1 - .../chunks/pages/_error-9b7125ad1a1e68fa.js | 1 - .../chunks/polyfills-42372ed130431b0a.js | 1 - .../static/chunks/webpack-db3214c5c58110e1.js | 1 - .../_next/static/css/2ceba05e598db6c3.css | 3 - .../g6qTQml7eoxYK-3XdIjKy/_buildManifest.js | 1 - .../g6qTQml7eoxYK-3XdIjKy/_ssgManifest.js | 1 - .../static/media/4cf2300e9c8272f7-s.p.woff2 | Bin 28388 -> 0 bytes .../static/media/747892c23ea88013-s.woff2 | Bin 13036 -> 0 bytes .../static/media/8d697b304b401681-s.woff2 | Bin 14676 -> 0 bytes .../static/media/93f479601ee12b01-s.p.woff2 | Bin 31288 -> 0 bytes .../static/media/9610d9e46709d722-s.woff2 | Bin 12608 -> 0 bytes .../static/media/ba015fad6dcf6784-s.woff2 | Bin 15292 -> 0 bytes .../fir-ui-2025-nextjs/hosting/favicon.ico | Bin 25931 -> 0 bytes .../fir-ui-2025-nextjs/hosting/file.svg | 1 - .../hosting/forgot-password.html | 1 - .../fir-ui-2025-nextjs/hosting/globe.svg | 1 - .../fir-ui-2025-nextjs/hosting/index.html | 1 - .../fir-ui-2025-nextjs/hosting/next.svg | 1 - .../fir-ui-2025-nextjs/hosting/register.html | 1 - .../email-link-auth-screen-w-oauth.html | 1 - .../screens/email-link-auth-screen.html | 1 - .../hosting/screens/oauth-screen.html | 1 - .../screens/password-reset-screen.html | 1 - .../screens/phone-auth-screen-w-oauth.html | 1 - .../hosting/screens/phone-auth-screen.html | 1 - .../sign-in-auth-screen-w-handlers.html | 1 - .../screens/sign-in-auth-screen-w-oauth.html | 1 - .../hosting/screens/sign-in-auth-screen.html | 1 - .../screens/sign-up-auth-screen-w-oauth.html | 1 - .../hosting/screens/sign-up-auth-screen.html | 1 - .../fir-ui-2025-nextjs/hosting/sign-in.html | 1 - .../hosting/sign-in/email.html | 1 - .../hosting/sign-in/phone.html | 1 - .../fir-ui-2025-nextjs/hosting/vercel.svg | 1 - .../fir-ui-2025-nextjs/hosting/window.svg | 1 - ...L2Zpci11aS0yMDI1LW5leHRqcy9ob3N0aW5n.cache | 65 ------------------ examples/nextjs/.firebaserc | 5 -- examples/react/.firebase/hosting.ZGlzdA.cache | 4 -- examples/react/.firebaserc | 5 -- 71 files changed, 200 deletions(-) delete mode 100644 examples/angular/.firebase/hosting.ZGlzdC9hbmd1bGFyLXNzci9icm93c2Vy.cache delete mode 100644 examples/angular/.firebaserc delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/404.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/198-fc2f857890282fd9.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/460-27f0fb3882b99f1c.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/499-b5a9acf51f160200.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/4bd1b696-a4582f7608b1c3f8.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/517-97f7a157326437f9.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/ae6eea6a-89606064f41da4dc.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/_not-found/page-09d475ed6534a562.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/forgot-password/page-6e3d7f138d1e62ba.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/layout-6aab929aad1d393d.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/page-8d787214c58f587b.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/register/page-b51a8bfb00044279.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen-w-oauth/page-ffa6fcbeb7299aa7.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen/page-cbbdc9acd56de275.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/oauth-screen/page-662bb862120ebe1d.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/password-reset-screen/page-7346f1f8c8959f83.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen-w-oauth/page-96baddefbdcffb57.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen/page-5ba757203936288e.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-handlers/page-077fb2f09d5d3268.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-oauth/page-018d6282ee014b52.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen/page-58105dede38ce5c7.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen-w-oauth/page-7dd5c04e4ab03479.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen/page-ea1e24f2258e0ae5.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/email/page-c77da0e5d7c5f5f5.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/page-00912d0f7b1415fc.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/phone/page-98c7321b7c0579e7.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/framework-f6c30afefa8caa28.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-7c5d8e9217f561df.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-app-e2be70030271765f.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_app-d23763e3e6c904ff.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_error-9b7125ad1a1e68fa.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/polyfills-42372ed130431b0a.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/webpack-db3214c5c58110e1.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/css/2ceba05e598db6c3.css delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_buildManifest.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_ssgManifest.js delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/4cf2300e9c8272f7-s.p.woff2 delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/747892c23ea88013-s.woff2 delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/8d697b304b401681-s.woff2 delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/93f479601ee12b01-s.p.woff2 delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/9610d9e46709d722-s.woff2 delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/ba015fad6dcf6784-s.woff2 delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/favicon.ico delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/file.svg delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/forgot-password.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/globe.svg delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/index.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/next.svg delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/register.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen-w-oauth.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/oauth-screen.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/password-reset-screen.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen-w-oauth.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-handlers.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-oauth.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen-w-oauth.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/email.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/phone.html delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/vercel.svg delete mode 100644 examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/window.svg delete mode 100644 examples/nextjs/.firebase/hosting.LmZpcmViYXNlL2Zpci11aS0yMDI1LW5leHRqcy9ob3N0aW5n.cache delete mode 100644 examples/nextjs/.firebaserc delete mode 100644 examples/react/.firebase/hosting.ZGlzdA.cache delete mode 100644 examples/react/.firebaserc diff --git a/examples/angular/.firebase/hosting.ZGlzdC9hbmd1bGFyLXNzci9icm93c2Vy.cache b/examples/angular/.firebase/hosting.ZGlzdC9hbmd1bGFyLXNzci9icm93c2Vy.cache deleted file mode 100644 index 0ed646e1..00000000 --- a/examples/angular/.firebase/hosting.ZGlzdC9hbmd1bGFyLXNzci9icm93c2Vy.cache +++ /dev/null @@ -1,41 +0,0 @@ -index.csr.html,1761243581367,f58671b8b3ffda16bc20b5d8853fbb2d6b725e9c0cd3ad84346d6ab9cc21203d -main-D6T25AIL.js,1761243581366,5fc768d094ae339aef3970a64d3b16764ab6445a08838fbdac6e968042c86ae7 -chunk-U55GEJFI.js,1761243581365,1051e8b1b9d3bdf0ef3d4584baf1ae44e5f5337c7cb66a5001ebe4bc257b628c -index.html,1761243581367,274745f4fcc1ad5b1254b474f506838b4ea666f8f18c2e550e0e7470f7de3649 -chunk-TBMQTJAU.js,1761243581365,657b1f49646a4da0b61668ca360e9e00397eff54826f11b61b548a05656b2069 -chunk-T7ZISSOJ.js,1761243581366,c11760c36346c5eb0af9a6389735d7b80b7fe4c94b86d01f8798b380b1555871 -chunk-VI42FYL5.js,1761243581366,c4efa2b510859c9bf4b1e979321abd1c5bb48f279aad90af00069d903d6b0438 -chunk-M32E6BCP.js,1761243581366,ee347d9c7b1f556e84873ce254d58d8d669929b37288e2960ca2abd5abbcb9da -chunk-HIF76WXZ.js,1761243581365,d91aaaebc48340cd15b0d7752793536bd02019a7613efdd02d8aaa32eb0e14f8 -chunk-LY4T6SJK.js,1761243581366,305517c239876c310c7fa191bb3d27fbdc0a80fbdbb1f18849524c37f0296037 -chunk-FXMCUYTT.js,1761243581366,5963f5a3a6042d2738640fe4179dd3147cc0a2347f0859a1008a491e542b2a29 -styles-OG7I5UFA.css,1761243581367,1080fafced19edb879fbfed31f491f2763ad14ebdcccb610875926ba453d4d71 -chunk-PIRTXCRB.js,1761243581365,8956dd1404109ce76cfb1e80c40ee37b4512eb782e0874e7e0de07e45432a6df -chunk-FVD272LY.js,1761243581366,06bf02d3960666bd6c2f7b9e73d73195d2f545b58f412111f127cde9a553c71c -chunk-AAMS47YL.js,1761243581365,b1374342c0082be15d234a5de0a25f0cb60ed28a22327e4f5b08aa85ff3445da -chunk-JYSIN36V.js,1761243581366,0164781795fe5697742bb366b4e7c083ae9cf420ea0764a04ac2edf48825e4cf -chunk-XFRSG72M.js,1761243581366,95cfdf56697cc7c78053a971fdcb6ec1c3e01c39aa22de12e8e75a8711428f97 -chunk-3ZB6XGNV.js,1761243581366,3af5f04ea8c538a2ad8b972134fa0c9bcc958b70d30f0cde0208bc71a5ea5743 -chunk-4HWMT6OK.js,1761243581365,41b8a7f96d64330f8ae899ed69837751e6656583877b38ab1a53c58137928452 -chunk-EWW5BQGN.js,1761243581365,1432aac3bb6972e64f1902edcb67162961d1bf80425d95c8b174ece7aa83810b -polyfills-FFHMD2TL.js,1761243581367,02522c25699ab93e99a93914c3fc1158c874090dc123472be90c6746e6cf2d13 -sign-in/email/index.html,1761243581364,252ca0698e9920cf0e069f1704d698455dd3dd07f5cd845cfa80b54e7c098b14 -sign-in/index.html,1761243581367,6df0c7f6c7a980b93e4f80e802838be7afcc543c930859b7adddbb6e53816b62 -chunk-3AXWGXDW.js,1761243581365,d40010db5673d2fa18465d0bd2b312c9ff0d57310fafd58d55b831b90c700afd -screens/sign-up-auth-screen/index.html,1761243581370,530332f96f741f2afa615cc3a93a2314bc8e13071c5deb4e7a72edcd4e15cc4c -sign-in/phone/index.html,1761243581366,b7baae2e100434b3938de593bbd89044e50a9b5ed82639ef54d03bc8133f9960 -screens/sign-in-auth-screen/index.html,1761243581366,ed6c7ca24156722b265965727565df9678401fe2074b8d044bd4be4c6def0c0e -screens/sign-up-auth-screen-w-oauth/index.html,1761243581370,454b25b0e04a594fdb42cdf7ab57fc517ff82894808c022cbf5955a89d708c0d -screens/sign-in-auth-screen-w-handlers/index.html,1761243581365,a41714436483004078342650a119794531a5436455a956f4be92d1878cb6b781 -screens/sign-in-auth-screen-w-oauth/index.html,1761243581369,b23445d959090a2afa644820d05ee08d53f4b98d52f2ec820c260eb58b57c4d8 -favicon.ico,1761243581363,8f1fc0f94ae643bb8757c3cb49f69bf6cb2228f632cb77c7e47d8ee3995d88a7 -screens/password-reset-screen/index.html,1761243581370,ca24fd4bbfcc965bee79bd2139799f9b142775c6177025a52e63c8fe633e5038 -screens/phone-auth-screen-w-oauth/index.html,1761243581369,7a3c3858738ae960ad9d47273088539690cd718f55f8a5e48018d234bd5f817a -screens/phone-auth-screen/index.html,1761243581370,b572b3a3f846b12a4e7edc8923f6083546b7d06580303acc8fefa53cf19218c9 -screens/oauth-screen/index.html,1761243581370,b4178d190e4c00a61d2f67fc7a428a83b3e664e09e90d4e793e31b06e13d2475 -screens/email-link-auth-screen-w-oauth/index.html,1761243581369,2ab1df22fccac8eafd34d60711ebf079f366452fad743a0ec7b004bba5f95b97 -screens/email-link-auth-screen/index.html,1761243581370,f19b915f672c07116bc17f633050344a3c44c66eda99b708c6feb0879d220d9a -forgot-password/index.html,1761243581366,324b84bb4ec7b3a2ffaa766a7c7e7261745c49ec47af673f4725f6eb9381ce35 -register/index.html,1761243581365,551d4d4a73e13db9331cd13497e7f07da525a729ea74bc8e20ce9b8d429477c8 -chunk-2FH3UNYO.js,1761243581366,c102aac1db92cf45d13d3425e239d426423a6f69975071bc0457baf8ee5b2b99 -chunk-GX2FMXOQ.js,1761243581366,a86e7f9bed44c74a34f299950c700a2cf8417fca80a8c076e57bd927c45e0a03 diff --git a/examples/angular/.firebaserc b/examples/angular/.firebaserc deleted file mode 100644 index 855f8283..00000000 --- a/examples/angular/.firebaserc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "projects": { - "default": "fir-ui-2025" - } -} diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/404.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/404.html deleted file mode 100644 index d571d762..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/404.html +++ /dev/null @@ -1 +0,0 @@ -404: This page could not be found.Create Next App

404

This page could not be found.

\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/198-fc2f857890282fd9.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/198-fc2f857890282fd9.js deleted file mode 100644 index c75c916e..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/198-fc2f857890282fd9.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[198],{3027:(e,t,r)=>{var s=r(2115),a="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},i=s.useState,n=s.useEffect,l=s.useLayoutEffect,o=s.useDebugValue;function d(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!a(e,r)}catch(e){return!0}}var c="undefined"==typeof window||void 0===window.document||void 0===window.document.createElement?function(e,t){return t()}:function(e,t){var r=t(),s=i({inst:{value:r,getSnapshot:t}}),a=s[0].inst,c=s[1];return l(function(){a.value=r,a.getSnapshot=t,d(a)&&c({inst:a})},[e,r,t]),n(function(){return d(a)&&c({inst:a}),e(function(){d(a)&&c({inst:a})})},[e]),o(r),r};t.useSyncExternalStore=void 0!==s.useSyncExternalStore?s.useSyncExternalStore:c},4564:(e,t,r)=>{var s=r(2115),a=r(4236),i="function"==typeof Object.is?Object.is:function(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t},n=a.useSyncExternalStore,l=s.useRef,o=s.useEffect,d=s.useMemo,c=s.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,r,s,a){var u=l(null);if(null===u.current){var h={hasValue:!1,value:null};u.current=h}else h=u.current;var m=n(e,(u=d(function(){function e(e){if(!o){if(o=!0,n=e,e=s(e),void 0!==a&&h.hasValue){var t=h.value;if(a(t,e))return l=t}return l=e}if(t=l,i(n,e))return t;var r=s(e);return void 0!==a&&a(t,r)?(n=e,t):(n=e,l=r)}var n,l,o=!1,d=void 0===r?null:r;return[function(){return e(t())},null===d?void 0:function(){return e(d())}]},[t,r,s,a]))[0],u[1]);return o(function(){h.hasValue=!0,h.value=m},[m]),c(m),m}},4236:(e,t,r)=>{e.exports=r(3027)},8010:(e,t,r)=>{e.exports=r(4564)},4198:(e,t,r)=>{r.d(t,{sG:()=>te,NY:()=>tu,_e:()=>tM,WG:()=>tw,bq:()=>tk,jT:()=>tg,hY:()=>tm,RB:()=>ty});var s=r(4496);let a=e=>{let t=o(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:s}=e;return{getClassGroupId:e=>{let r=e.split("-");return""===r[0]&&1!==r.length&&r.shift(),i(r,t)||l(e)},getConflictingClassGroupIds:(e,t)=>{let a=r[e]||[];return t&&s[e]?[...a,...s[e]]:a}}},i=(e,t)=>{if(0===e.length)return t.classGroupId;let r=e[0],s=t.nextPart.get(r),a=s?i(e.slice(1),s):void 0;if(a)return a;if(0===t.validators.length)return;let n=e.join("-");return t.validators.find(({validator:e})=>e(n))?.classGroupId},n=/^\[(.+)\]$/,l=e=>{if(n.test(e)){let t=n.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},o=e=>{let{theme:t,classGroups:r}=e,s={nextPart:new Map,validators:[]};for(let e in r)d(r[e],s,e,t);return s},d=(e,t,r,s)=>{e.forEach(e=>{if("string"==typeof e){(""===e?t:c(t,e)).classGroupId=r;return}if("function"==typeof e){if(u(e)){d(e(s),t,r,s);return}t.validators.push({validator:e,classGroupId:r});return}Object.entries(e).forEach(([e,a])=>{d(a,c(t,e),r,s)})})},c=(e,t)=>{let r=e;return t.split("-").forEach(e=>{r.nextPart.has(e)||r.nextPart.set(e,{nextPart:new Map,validators:[]}),r=r.nextPart.get(e)}),r},u=e=>e.isThemeGetter,h=e=>{if(e<1)return{get:()=>void 0,set:()=>{}};let t=0,r=new Map,s=new Map,a=(a,i)=>{r.set(a,i),++t>e&&(t=0,s=r,r=new Map)};return{get(e){let t=r.get(e);return void 0!==t?t:void 0!==(t=s.get(e))?(a(e,t),t):void 0},set(e,t){r.has(e)?r.set(e,t):a(e,t)}}},m=e=>{let{prefix:t,experimentalParseClassName:r}=e,s=e=>{let t;let r=[],s=0,a=0,i=0;for(let n=0;ni?t-i:void 0}};if(t){let e=t+":",r=s;s=t=>t.startsWith(e)?r(t.substring(e.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:t,maybePostfixModifierPosition:void 0}}if(r){let e=s;s=t=>r({className:t,parseClassName:e})}return s},f=e=>e.endsWith("!")?e.substring(0,e.length-1):e.startsWith("!")?e.substring(1):e,p=e=>{let t=Object.fromEntries(e.orderSensitiveModifiers.map(e=>[e,!0]));return e=>{if(e.length<=1)return e;let r=[],s=[];return e.forEach(e=>{"["===e[0]||t[e]?(r.push(...s.sort(),e),s=[]):s.push(e)}),r.push(...s.sort()),r}},v=e=>({cache:h(e.cacheSize),parseClassName:m(e),sortModifiers:p(e),...a(e)}),b=/\s+/,g=(e,t)=>{let{parseClassName:r,getClassGroupId:s,getConflictingClassGroupIds:a,sortModifiers:i}=t,n=[],l=e.trim().split(b),o="";for(let e=l.length-1;e>=0;e-=1){let t=l[e],{isExternal:d,modifiers:c,hasImportantModifier:u,baseClassName:h,maybePostfixModifierPosition:m}=r(t);if(d){o=t+(o.length>0?" "+o:o);continue}let f=!!m,p=s(f?h.substring(0,m):h);if(!p){if(!f||!(p=s(h))){o=t+(o.length>0?" "+o:o);continue}f=!1}let v=i(c).join(":"),b=u?v+"!":v,g=b+p;if(n.includes(g))continue;n.push(g);let x=a(p,f);for(let e=0;e0?" "+o:o)}return o};function x(){let e,t,r=0,s="";for(;r{let t;if("string"==typeof e)return e;let r="";for(let s=0;s{let t=t=>t[e]||[];return t.isThemeGetter=!0,t},j=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,k=/^\((?:(\w[\w-]*):)?(.+)\)$/i,S=/^\d+\/\d+$/,M=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,C=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,F=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,V=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,A=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,N=e=>S.test(e),z=e=>!!e&&!Number.isNaN(Number(e)),_=e=>!!e&&Number.isInteger(Number(e)),I=e=>e.endsWith("%")&&z(e.slice(0,-1)),B=e=>M.test(e),E=()=>!0,T=e=>C.test(e)&&!F.test(e),O=()=>!1,P=e=>V.test(e),D=e=>A.test(e),$=e=>!G(e)&&!X(e),R=e=>et(e,ei,O),G=e=>j.test(e),L=e=>et(e,en,T),W=e=>et(e,el,z),U=e=>et(e,es,O),H=e=>et(e,ea,D),q=e=>et(e,ed,P),X=e=>k.test(e),J=e=>er(e,en),Y=e=>er(e,eo),K=e=>er(e,es),Q=e=>er(e,ei),Z=e=>er(e,ea),ee=e=>er(e,ed,!0),et=(e,t,r)=>{let s=j.exec(e);return!!s&&(s[1]?t(s[1]):r(s[2]))},er=(e,t,r=!1)=>{let s=k.exec(e);return!!s&&(s[1]?t(s[1]):r)},es=e=>"position"===e||"percentage"===e,ea=e=>"image"===e||"url"===e,ei=e=>"length"===e||"size"===e||"bg-size"===e,en=e=>"length"===e,el=e=>"number"===e,eo=e=>"family-name"===e,ed=e=>"shadow"===e;Symbol.toStringTag;let ec=function(e,...t){let r,s,a;let i=function(l){return s=(r=v(t.reduce((e,t)=>t(e),e()))).cache.get,a=r.cache.set,i=n,n(l)};function n(e){let t=s(e);if(t)return t;let i=g(e,r);return a(e,i),i}return function(){return i(x.apply(null,arguments))}}(()=>{let e=w("color"),t=w("font"),r=w("text"),s=w("font-weight"),a=w("tracking"),i=w("leading"),n=w("breakpoint"),l=w("container"),o=w("spacing"),d=w("radius"),c=w("shadow"),u=w("inset-shadow"),h=w("text-shadow"),m=w("drop-shadow"),f=w("blur"),p=w("perspective"),v=w("aspect"),b=w("ease"),g=w("animate"),x=()=>["auto","avoid","all","avoid-page","page","left","right","column"],y=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],j=()=>[...y(),X,G],k=()=>["auto","hidden","clip","visible","scroll"],S=()=>["auto","contain","none"],M=()=>[X,G,o],C=()=>[N,"full","auto",...M()],F=()=>[_,"none","subgrid",X,G],V=()=>["auto",{span:["full",_,X,G]},_,X,G],A=()=>[_,"auto",X,G],T=()=>["auto","min","max","fr",X,G],O=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],P=()=>["start","end","center","stretch","center-safe","end-safe"],D=()=>["auto",...M()],et=()=>[N,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...M()],er=()=>[e,X,G],es=()=>[...y(),K,U,{position:[X,G]}],ea=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ei=()=>["auto","cover","contain",Q,R,{size:[X,G]}],en=()=>[I,J,L],el=()=>["","none","full",d,X,G],eo=()=>["",z,J,L],ed=()=>["solid","dashed","dotted","double"],ec=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],eu=()=>[z,I,K,U],eh=()=>["","none",f,X,G],em=()=>["none",z,X,G],ef=()=>["none",z,X,G],ep=()=>[z,X,G],ev=()=>[N,"full",...M()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[B],breakpoint:[B],color:[E],container:[B],"drop-shadow":[B],ease:["in","out","in-out"],font:[$],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[B],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[B],shadow:[B],spacing:["px",z],text:[B],"text-shadow":[B],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",N,G,X,v]}],container:["container"],columns:[{columns:[z,G,X,l]}],"break-after":[{"break-after":x()}],"break-before":[{"break-before":x()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:j()}],overflow:[{overflow:k()}],"overflow-x":[{"overflow-x":k()}],"overflow-y":[{"overflow-y":k()}],overscroll:[{overscroll:S()}],"overscroll-x":[{"overscroll-x":S()}],"overscroll-y":[{"overscroll-y":S()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:C()}],"inset-x":[{"inset-x":C()}],"inset-y":[{"inset-y":C()}],start:[{start:C()}],end:[{end:C()}],top:[{top:C()}],right:[{right:C()}],bottom:[{bottom:C()}],left:[{left:C()}],visibility:["visible","invisible","collapse"],z:[{z:[_,"auto",X,G]}],basis:[{basis:[N,"full","auto",l,...M()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[z,N,"auto","initial","none",G]}],grow:[{grow:["",z,X,G]}],shrink:[{shrink:["",z,X,G]}],order:[{order:[_,"first","last","none",X,G]}],"grid-cols":[{"grid-cols":F()}],"col-start-end":[{col:V()}],"col-start":[{"col-start":A()}],"col-end":[{"col-end":A()}],"grid-rows":[{"grid-rows":F()}],"row-start-end":[{row:V()}],"row-start":[{"row-start":A()}],"row-end":[{"row-end":A()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":T()}],"auto-rows":[{"auto-rows":T()}],gap:[{gap:M()}],"gap-x":[{"gap-x":M()}],"gap-y":[{"gap-y":M()}],"justify-content":[{justify:[...O(),"normal"]}],"justify-items":[{"justify-items":[...P(),"normal"]}],"justify-self":[{"justify-self":["auto",...P()]}],"align-content":[{content:["normal",...O()]}],"align-items":[{items:[...P(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...P(),{baseline:["","last"]}]}],"place-content":[{"place-content":O()}],"place-items":[{"place-items":[...P(),"baseline"]}],"place-self":[{"place-self":["auto",...P()]}],p:[{p:M()}],px:[{px:M()}],py:[{py:M()}],ps:[{ps:M()}],pe:[{pe:M()}],pt:[{pt:M()}],pr:[{pr:M()}],pb:[{pb:M()}],pl:[{pl:M()}],m:[{m:D()}],mx:[{mx:D()}],my:[{my:D()}],ms:[{ms:D()}],me:[{me:D()}],mt:[{mt:D()}],mr:[{mr:D()}],mb:[{mb:D()}],ml:[{ml:D()}],"space-x":[{"space-x":M()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":M()}],"space-y-reverse":["space-y-reverse"],size:[{size:et()}],w:[{w:[l,"screen",...et()]}],"min-w":[{"min-w":[l,"screen","none",...et()]}],"max-w":[{"max-w":[l,"screen","none","prose",{screen:[n]},...et()]}],h:[{h:["screen","lh",...et()]}],"min-h":[{"min-h":["screen","lh","none",...et()]}],"max-h":[{"max-h":["screen","lh",...et()]}],"font-size":[{text:["base",r,J,L]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[s,X,W]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",I,G]}],"font-family":[{font:[Y,G,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[a,X,G]}],"line-clamp":[{"line-clamp":[z,"none",X,W]}],leading:[{leading:[i,...M()]}],"list-image":[{"list-image":["none",X,G]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",X,G]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:er()}],"text-color":[{text:er()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...ed(),"wavy"]}],"text-decoration-thickness":[{decoration:[z,"from-font","auto",X,L]}],"text-decoration-color":[{decoration:er()}],"underline-offset":[{"underline-offset":[z,"auto",X,G]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:M()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",X,G]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",X,G]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:es()}],"bg-repeat":[{bg:ea()}],"bg-size":[{bg:ei()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},_,X,G],radial:["",X,G],conic:[_,X,G]},Z,H]}],"bg-color":[{bg:er()}],"gradient-from-pos":[{from:en()}],"gradient-via-pos":[{via:en()}],"gradient-to-pos":[{to:en()}],"gradient-from":[{from:er()}],"gradient-via":[{via:er()}],"gradient-to":[{to:er()}],rounded:[{rounded:el()}],"rounded-s":[{"rounded-s":el()}],"rounded-e":[{"rounded-e":el()}],"rounded-t":[{"rounded-t":el()}],"rounded-r":[{"rounded-r":el()}],"rounded-b":[{"rounded-b":el()}],"rounded-l":[{"rounded-l":el()}],"rounded-ss":[{"rounded-ss":el()}],"rounded-se":[{"rounded-se":el()}],"rounded-ee":[{"rounded-ee":el()}],"rounded-es":[{"rounded-es":el()}],"rounded-tl":[{"rounded-tl":el()}],"rounded-tr":[{"rounded-tr":el()}],"rounded-br":[{"rounded-br":el()}],"rounded-bl":[{"rounded-bl":el()}],"border-w":[{border:eo()}],"border-w-x":[{"border-x":eo()}],"border-w-y":[{"border-y":eo()}],"border-w-s":[{"border-s":eo()}],"border-w-e":[{"border-e":eo()}],"border-w-t":[{"border-t":eo()}],"border-w-r":[{"border-r":eo()}],"border-w-b":[{"border-b":eo()}],"border-w-l":[{"border-l":eo()}],"divide-x":[{"divide-x":eo()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":eo()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...ed(),"hidden","none"]}],"divide-style":[{divide:[...ed(),"hidden","none"]}],"border-color":[{border:er()}],"border-color-x":[{"border-x":er()}],"border-color-y":[{"border-y":er()}],"border-color-s":[{"border-s":er()}],"border-color-e":[{"border-e":er()}],"border-color-t":[{"border-t":er()}],"border-color-r":[{"border-r":er()}],"border-color-b":[{"border-b":er()}],"border-color-l":[{"border-l":er()}],"divide-color":[{divide:er()}],"outline-style":[{outline:[...ed(),"none","hidden"]}],"outline-offset":[{"outline-offset":[z,X,G]}],"outline-w":[{outline:["",z,J,L]}],"outline-color":[{outline:er()}],shadow:[{shadow:["","none",c,ee,q]}],"shadow-color":[{shadow:er()}],"inset-shadow":[{"inset-shadow":["none",u,ee,q]}],"inset-shadow-color":[{"inset-shadow":er()}],"ring-w":[{ring:eo()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:er()}],"ring-offset-w":[{"ring-offset":[z,L]}],"ring-offset-color":[{"ring-offset":er()}],"inset-ring-w":[{"inset-ring":eo()}],"inset-ring-color":[{"inset-ring":er()}],"text-shadow":[{"text-shadow":["none",h,ee,q]}],"text-shadow-color":[{"text-shadow":er()}],opacity:[{opacity:[z,X,G]}],"mix-blend":[{"mix-blend":[...ec(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":ec()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[z]}],"mask-image-linear-from-pos":[{"mask-linear-from":eu()}],"mask-image-linear-to-pos":[{"mask-linear-to":eu()}],"mask-image-linear-from-color":[{"mask-linear-from":er()}],"mask-image-linear-to-color":[{"mask-linear-to":er()}],"mask-image-t-from-pos":[{"mask-t-from":eu()}],"mask-image-t-to-pos":[{"mask-t-to":eu()}],"mask-image-t-from-color":[{"mask-t-from":er()}],"mask-image-t-to-color":[{"mask-t-to":er()}],"mask-image-r-from-pos":[{"mask-r-from":eu()}],"mask-image-r-to-pos":[{"mask-r-to":eu()}],"mask-image-r-from-color":[{"mask-r-from":er()}],"mask-image-r-to-color":[{"mask-r-to":er()}],"mask-image-b-from-pos":[{"mask-b-from":eu()}],"mask-image-b-to-pos":[{"mask-b-to":eu()}],"mask-image-b-from-color":[{"mask-b-from":er()}],"mask-image-b-to-color":[{"mask-b-to":er()}],"mask-image-l-from-pos":[{"mask-l-from":eu()}],"mask-image-l-to-pos":[{"mask-l-to":eu()}],"mask-image-l-from-color":[{"mask-l-from":er()}],"mask-image-l-to-color":[{"mask-l-to":er()}],"mask-image-x-from-pos":[{"mask-x-from":eu()}],"mask-image-x-to-pos":[{"mask-x-to":eu()}],"mask-image-x-from-color":[{"mask-x-from":er()}],"mask-image-x-to-color":[{"mask-x-to":er()}],"mask-image-y-from-pos":[{"mask-y-from":eu()}],"mask-image-y-to-pos":[{"mask-y-to":eu()}],"mask-image-y-from-color":[{"mask-y-from":er()}],"mask-image-y-to-color":[{"mask-y-to":er()}],"mask-image-radial":[{"mask-radial":[X,G]}],"mask-image-radial-from-pos":[{"mask-radial-from":eu()}],"mask-image-radial-to-pos":[{"mask-radial-to":eu()}],"mask-image-radial-from-color":[{"mask-radial-from":er()}],"mask-image-radial-to-color":[{"mask-radial-to":er()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":y()}],"mask-image-conic-pos":[{"mask-conic":[z]}],"mask-image-conic-from-pos":[{"mask-conic-from":eu()}],"mask-image-conic-to-pos":[{"mask-conic-to":eu()}],"mask-image-conic-from-color":[{"mask-conic-from":er()}],"mask-image-conic-to-color":[{"mask-conic-to":er()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:es()}],"mask-repeat":[{mask:ea()}],"mask-size":[{mask:ei()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",X,G]}],filter:[{filter:["","none",X,G]}],blur:[{blur:eh()}],brightness:[{brightness:[z,X,G]}],contrast:[{contrast:[z,X,G]}],"drop-shadow":[{"drop-shadow":["","none",m,ee,q]}],"drop-shadow-color":[{"drop-shadow":er()}],grayscale:[{grayscale:["",z,X,G]}],"hue-rotate":[{"hue-rotate":[z,X,G]}],invert:[{invert:["",z,X,G]}],saturate:[{saturate:[z,X,G]}],sepia:[{sepia:["",z,X,G]}],"backdrop-filter":[{"backdrop-filter":["","none",X,G]}],"backdrop-blur":[{"backdrop-blur":eh()}],"backdrop-brightness":[{"backdrop-brightness":[z,X,G]}],"backdrop-contrast":[{"backdrop-contrast":[z,X,G]}],"backdrop-grayscale":[{"backdrop-grayscale":["",z,X,G]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[z,X,G]}],"backdrop-invert":[{"backdrop-invert":["",z,X,G]}],"backdrop-opacity":[{"backdrop-opacity":[z,X,G]}],"backdrop-saturate":[{"backdrop-saturate":[z,X,G]}],"backdrop-sepia":[{"backdrop-sepia":["",z,X,G]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":M()}],"border-spacing-x":[{"border-spacing-x":M()}],"border-spacing-y":[{"border-spacing-y":M()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",X,G]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[z,"initial",X,G]}],ease:[{ease:["linear","initial",b,X,G]}],delay:[{delay:[z,X,G]}],animate:[{animate:["none",g,X,G]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[p,X,G]}],"perspective-origin":[{"perspective-origin":j()}],rotate:[{rotate:em()}],"rotate-x":[{"rotate-x":em()}],"rotate-y":[{"rotate-y":em()}],"rotate-z":[{"rotate-z":em()}],scale:[{scale:ef()}],"scale-x":[{"scale-x":ef()}],"scale-y":[{"scale-y":ef()}],"scale-z":[{"scale-z":ef()}],"scale-3d":["scale-3d"],skew:[{skew:ep()}],"skew-x":[{"skew-x":ep()}],"skew-y":[{"skew-y":ep()}],transform:[{transform:[X,G,"","none","gpu","cpu"]}],"transform-origin":[{origin:j()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ev()}],"translate-x":[{"translate-x":ev()}],"translate-y":[{"translate-y":ev()}],"translate-z":[{"translate-z":ev()}],"translate-none":["translate-none"],accent:[{accent:er()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:er()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",X,G]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":M()}],"scroll-mx":[{"scroll-mx":M()}],"scroll-my":[{"scroll-my":M()}],"scroll-ms":[{"scroll-ms":M()}],"scroll-me":[{"scroll-me":M()}],"scroll-mt":[{"scroll-mt":M()}],"scroll-mr":[{"scroll-mr":M()}],"scroll-mb":[{"scroll-mb":M()}],"scroll-ml":[{"scroll-ml":M()}],"scroll-p":[{"scroll-p":M()}],"scroll-px":[{"scroll-px":M()}],"scroll-py":[{"scroll-py":M()}],"scroll-ps":[{"scroll-ps":M()}],"scroll-pe":[{"scroll-pe":M()}],"scroll-pt":[{"scroll-pt":M()}],"scroll-pr":[{"scroll-pr":M()}],"scroll-pb":[{"scroll-pb":M()}],"scroll-pl":[{"scroll-pl":M()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",X,G]}],fill:[{fill:["none",...er()]}],"stroke-w":[{stroke:[z,J,L,W]}],stroke:[{stroke:["none",...er()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});var eu=r(5155),eh=r(2115),em=r(4565);let ef=(e,t)=>r=>{e.current!==r&&(e.current=r,t())};function ep(e,t){return"function"==typeof e?e(t):e}function ev(e,t){return eM(t).reduce((e,t)=>null===e?null:void 0!==e?e[t]:void 0,e)}function eb(e,t,r){let s=eM(t);return function e(t){if(!s.length)return ep(r,t);let a=s.shift();if("string"==typeof a||"number"==typeof a&&!Array.isArray(t))return"object"==typeof t?(null===t&&(t={}),{...t,[a]:e(t[a])}):{[a]:e()};if(Array.isArray(t)&&"number"==typeof a){let r=t.slice(0,a);return[...r.length?r:Array(a),e(t[a]),...t.slice(a+1)]}return[...Array(a),e()]}(e)}let eg=/^(\d*)$/gm,ex=/\.(\d*)\./gm,ey=/^(\d*)\./gm,ew=/\.(\d*$)/gm,ej=/\.{2,}/gm,ek="__int__",eS=`${ek}$1`;function eM(e){if(Array.isArray(e))return[...e];if("string"!=typeof e)throw Error("Path must be a string.");return e.replaceAll("[",".").replaceAll("]","").replace(eg,eS).replace(ex,`.${eS}.`).replace(ey,`${eS}.`).replace(ew,`.${eS}`).replace(ej,".").split(".").map(e=>0===e.indexOf(ek)?parseInt(e.substring(ek.length),10):e)}function eC(e,t){let{asyncDebounceMs:r}=t,{onChangeAsync:s,onBlurAsync:a,onSubmitAsync:i,onBlurAsyncDebounceMs:n,onChangeAsyncDebounceMs:l}=t.validators||{},o=r??0,d={cause:"change",validate:s,debounceMs:l??o},c={cause:"blur",validate:a,debounceMs:n??o},u=e=>({...e,debounceMs:0});switch(e){case"submit":return[u(d),u(c),{cause:"submit",validate:i,debounceMs:0}];case"blur":return[c];case"change":return[d];default:return[]}}function eF(e,t){let{onChange:r,onBlur:s,onSubmit:a,onMount:i}=t.validators||{},n={cause:"change",validate:r},l={cause:"blur",validate:s},o={cause:"server",validate:()=>void 0};switch(e){case"mount":return[{cause:"mount",validate:i}];case"submit":return[n,l,{cause:"submit",validate:a},o];case"server":return[o];case"blur":return[l,o];default:return[n,o]}}function eV(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[r,s]of e)if(!t.has(r)||!Object.is(s,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let r of e)if(!t.has(r))return!1;return!0}let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let s=0;s{var t,r;this.listeners.add(e);let s=null==(r=null==(t=this.options)?void 0:t.onSubscribe)?void 0:r.call(t,e,this);return()=>{this.listeners.delete(e),null==s||s()}},this.prevState=e,this.state=e,this.options=t}setState(e){var t,r,s;(this.prevState=this.state,null==(t=this.options)?void 0:t.updateFn)?this.state=this.options.updateFn(this.prevState)(e):"function"==typeof e?this.state=e(this.prevState):this.state=e,null==(s=null==(r=this.options)?void 0:r.onUpdate)||s.call(r),eP(this)}}class eN{constructor(e){this.listeners=new Set,this._subscriptions=[],this.lastSeenDepValues=[],this.getDepVals=()=>{let e=this.options.deps.length,t=Array(e),r=Array(e);for(let s=0;s{var e,t;this.prevState=this.state;let r=this.getDepVals();this.state=this.options.fn(r),null==(t=(e=this.options).onUpdate)||t.call(e)},this.checkIfRecalculationNeededDeeply=()=>{for(let e of this.options.deps)e instanceof eN&&e.checkIfRecalculationNeededDeeply();let e=!1,t=this.lastSeenDepValues,{currDepVals:r}=this.getDepVals();for(let s=0;s(this.registerOnGraph(),this.checkIfRecalculationNeededDeeply(),()=>{for(let e of(this.unregisterFromGraph(),this._subscriptions))e()}),this.subscribe=e=>{var t,r;this.listeners.add(e);let s=null==(r=(t=this.options).onSubscribe)?void 0:r.call(t,e,this);return()=>{this.listeners.delete(e),null==s||s()}},this.options=e,this.state=e.fn({prevDepVals:void 0,prevVal:void 0,currDepVals:this.getDepVals().currDepVals})}registerOnGraph(e=this.options.deps){for(let t of e)if(t instanceof eN)t.registerOnGraph(),this.registerOnGraph(t.options.deps);else if(t instanceof eA){let e=ez.get(t);e||(e=new Set,ez.set(t,e)),e.add(this);let r=e_.get(this);r||(r=new Set,e_.set(this,r)),r.add(t)}}unregisterFromGraph(e=this.options.deps){for(let t of e)if(t instanceof eN)this.unregisterFromGraph(t.options.deps);else if(t instanceof eA){let e=ez.get(t);e&&e.delete(this);let r=e_.get(this);r&&r.delete(t)}}}let ez=new WeakMap,e_=new WeakMap,eI={current:[]},eB=!1,eE=0,eT=new Set,eO=new Map;function eP(e){if(eE>0&&!eO.has(e)&&eO.set(e,e.prevState),eT.add(e),!(eE>0)&&!eB)try{for(eB=!0;eT.size>0;){let e=Array.from(eT);for(let t of(eT.clear(),e)){let e=eO.get(t)??t.prevState;t.prevState=e,function(e){let t={prevVal:e.prevState,currentVal:e.state};for(let r of e.listeners)r(t)}(t)}for(let t of e){let e=ez.get(t);e&&(eI.current.push(t),function e(t){for(let r of Array.from(t).sort((e,t)=>e instanceof eN&&e.options.deps.includes(t)?1:t instanceof eN&&t.options.deps.includes(e)?-1:0)){if(eI.current.includes(r))continue;eI.current.push(r),r.recompute();let t=e_.get(r);if(t)for(let r of t){let t=ez.get(r);t&&e(t)}}}(e))}for(let t of e){let e=ez.get(t);if(e)for(let t of e)!function(e){let t={prevVal:e.prevState,currentVal:e.state};for(let r of e.listeners)r(t)}(t)}}}finally{eB=!1,eI.current=[],eO.clear()}}function eD(e){eE++;try{e()}finally{if(0==--eE){let e=eT.values().next().value;e&&eP(e)}}}let e$=(e={})=>()=>{let t=e.transformErrors??(e=>e.map(e=>e.message).join(", ")),r=e=>"form"===e?function(e){return t=>({form:e(t),fields:function(e,t){let r=new Map;for(let t of e){let e=[...t.path??[]].map(e=>{let t="object"==typeof e?e.key:e;return"number"==typeof t?`[${t}]`:t}).join(".").replace(/\.\[/g,"[");r.set(e,(r.get(e)??[]).concat(t))}let s={};return r.forEach((e,r)=>{s[r]=t(e)}),s}(t,e)})}(t):t;return{validate({value:e,validationSource:t},s){let a=s["~standard"].validate(e);if(a instanceof Promise)throw Error("async function passed to sync validator");if(a.issues)return r(t)(a.issues)},async validateAsync({value:e,validationSource:t},s){let a=await s["~standard"].validate(e);if(a.issues)return r(t)(a.issues)}}},eR=e=>!!e&&"~standard"in e;function eG(e){return{values:e.values??{},errorMap:e.errorMap??{},fieldMetaBase:e.fieldMetaBase??{},isSubmitted:e.isSubmitted??!1,isSubmitting:e.isSubmitting??!1,isValidating:e.isValidating??!1,submissionAttempts:e.submissionAttempts??0,validationMetaMap:e.validationMetaMap??{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0}}}let eL=e=>"object"==typeof e;class eW{constructor(e){var t;this.options={},this.fieldInfo={},this.prevTransformArray=[],this.mount=()=>{let e=this.fieldMetaDerived.mount(),t=this.store.mount(),{onMount:r}=this.options.validators||{};return r&&this.validateSync("mount"),()=>{e(),t()}},this.update=e=>{if(!e)return;let t=this.options;this.options=e;let r=e.defaultValues&&!eV(e.defaultValues,t.defaultValues)&&!this.state.isTouched,s=!eV(e.defaultState,t.defaultState)&&!this.state.isTouched;(r||s)&&eD(()=>{this.baseStore.setState(()=>eG(Object.assign({},this.state,s?e.defaultState:{},r?{values:e.defaultValues}:{})))})},this.reset=(e,t)=>{let{fieldMeta:r}=this.state,s=this.resetFieldMeta(r);!e||(null==t?void 0:t.keepDefaultValues)||(this.options={...this.options,defaultValues:e}),this.baseStore.setState(()=>{var t;return eG({...this.options.defaultState,values:e??this.options.defaultValues??(null==(t=this.options.defaultState)?void 0:t.values),fieldMetaBase:s})})},this.validateAllFields=async e=>{let t=[];return eD(()=>{Object.values(this.fieldInfo).forEach(r=>{if(!r.instance)return;let s=r.instance;t.push(Promise.resolve().then(()=>s.validate(e,{skipFormValidation:!0}))),r.instance.state.meta.isTouched||r.instance.setMeta(e=>({...e,isTouched:!0}))})}),(await Promise.all(t)).flat()},this.validateArrayFieldsStartingFrom=async(e,t,r)=>{let s=this.getFieldValue(e),a=Array.isArray(s)?Math.max(s.length-1,0):null,i=[`${e}[${t}]`];for(let r=t+1;r<=(a??0);r++)i.push(`${e}[${r}]`);let n=Object.keys(this.fieldInfo).filter(e=>i.some(t=>e.startsWith(t))),l=[];return eD(()=>{n.forEach(e=>{l.push(Promise.resolve().then(()=>this.validateField(e,r)))})}),(await Promise.all(l)).flat()},this.validateField=(e,t)=>{var r;let s=null==(r=this.fieldInfo[e])?void 0:r.instance;return s?(s.state.meta.isTouched||s.setMeta(e=>({...e,isTouched:!0})),s.validate(t)):[]},this.validateSync=e=>{let t=eF(e,this.options),r=!1,s={};eD(()=>{for(let e of t){if(!e.validate)continue;let{formError:t,fieldErrors:a}=eU(this.runValidator({validate:e.validate,value:{value:this.state.values,formApi:this,validationSource:"form"},type:"validate"})),i=eH(e.cause);if(a)for(let[e,t]of Object.entries(a)){let r={...s[e]||{},[i]:t};s[e]=r;let a=this.getFieldMeta(e);a&&a.errorMap[i]!==t&&this.setFieldMeta(e,e=>({...e,errorMap:{...e.errorMap,[i]:t}}))}this.state.errorMap[i]!==t&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[i]:t}})),(t||a)&&(r=!0)}});let a=eH("submit");return this.state.errorMap[a]&&"submit"!==e&&!r&&this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[a]:void 0}})),{hasErrored:r,fieldsErrorMap:s}},this.validateAsync=async e=>{let t;let r=eC(e,this.options);this.state.isFormValidating||this.baseStore.setState(e=>({...e,isFormValidating:!0}));let s=[];for(let e of r){if(!e.validate)continue;let r=eH(e.cause),a=this.state.validationMetaMap[r];null==a||a.lastAbortController.abort();let i=new AbortController;this.state.validationMetaMap[r]={lastAbortController:i},s.push(new Promise(async r=>{let s;try{s=await new Promise((t,r)=>{setTimeout(async()=>{if(i.signal.aborted)return t(void 0);try{t(await this.runValidator({validate:e.validate,value:{value:this.state.values,formApi:this,validationSource:"form",signal:i.signal},type:"validateAsync"}))}catch(e){r(e)}},e.debounceMs)})}catch(e){s=e}let{formError:a,fieldErrors:n}=eU(s);n&&(t=t?{...t,...n}:n);let l=eH(e.cause);if(t)for(let[e,r]of Object.entries(t)){let t=this.getFieldMeta(e);t&&t.errorMap[l]!==r&&this.setFieldMeta(e,e=>({...e,errorMap:{...e.errorMap,[l]:r}}))}this.baseStore.setState(e=>({...e,errorMap:{...e.errorMap,[l]:a}})),r(t?{fieldErrors:t,errorMapKey:l}:void 0)}))}let a={};if(s.length){for(let e of(await Promise.all(s)))if(null==e?void 0:e.fieldErrors){let{errorMapKey:t}=e;for(let[r,s]of Object.entries(e.fieldErrors)){let e={...a[r]||{},[t]:s};a[r]=e}}}return this.baseStore.setState(e=>({...e,isFormValidating:!1})),a},this.validate=e=>{let{hasErrored:t,fieldsErrorMap:r}=this.validateSync(e);return t&&!this.options.asyncAlways?r:this.validateAsync(e)},this.handleSubmit=async()=>{var e,t,r,s,a,i;if(this.baseStore.setState(e=>({...e,isSubmitted:!1,submissionAttempts:e.submissionAttempts+1})),!this.state.canSubmit)return;this.baseStore.setState(e=>({...e,isSubmitting:!0}));let n=()=>{this.baseStore.setState(e=>({...e,isSubmitting:!1}))};if(await this.validateAllFields("submit"),!this.state.isFieldsValid){n(),null==(t=(e=this.options).onSubmitInvalid)||t.call(e,{value:this.state.values,formApi:this});return}if(await this.validate("submit"),!this.state.isValid){n(),null==(s=(r=this.options).onSubmitInvalid)||s.call(r,{value:this.state.values,formApi:this});return}eD(()=>{Object.values(this.fieldInfo).forEach(e=>{var t,r,s;null==(s=null==(r=null==(t=e.instance)?void 0:t.options.listeners)?void 0:r.onSubmit)||s.call(r,{value:e.instance.state.value,fieldApi:e.instance})})});try{await (null==(i=(a=this.options).onSubmit)?void 0:i.call(a,{value:this.state.values,formApi:this})),eD(()=>{this.baseStore.setState(e=>({...e,isSubmitted:!0})),n()})}catch(e){throw n(),e}},this.getFieldValue=e=>ev(this.state.values,e),this.getFieldMeta=e=>this.state.fieldMeta[e],this.getFieldInfo=e=>{var t;return(t=this.fieldInfo)[e]||(t[e]={instance:null,validationMetaMap:{onChange:void 0,onBlur:void 0,onSubmit:void 0,onMount:void 0,onServer:void 0}})},this.setFieldMeta=(e,t)=>{this.baseStore.setState(r=>({...r,fieldMetaBase:{...r.fieldMetaBase,[e]:ep(t,r.fieldMetaBase[e])}}))},this.resetFieldMeta=e=>Object.keys(e).reduce((e,t)=>(e[t]={isValidating:!1,isTouched:!1,isBlurred:!1,isDirty:!1,isPristine:!0,errors:[],errorMap:{}},e),{}),this.setFieldValue=(e,t,r)=>{let s=(null==r?void 0:r.dontUpdateMeta)??!1;eD(()=>{s||this.setFieldMeta(e,e=>({...e,isTouched:!0,isDirty:!0,errorMap:{...null==e?void 0:e.errorMap,onMount:void 0}})),this.baseStore.setState(r=>({...r,values:eb(r.values,e,t)}))})},this.deleteField=e=>{this.baseStore.setState(t=>{let r={...t};return r.values=function(e,t){let r=eM(t);return function e(t){if(!t)return;if(1===r.length){let e=r[0];if(Array.isArray(t)&&"number"==typeof e)return t.filter((t,r)=>r!==e);let{[e]:s,...a}=t;return a}let s=r.shift();if("string"==typeof s&&"object"==typeof t)return{...t,[s]:e(t[s])};if("number"==typeof s&&Array.isArray(t)){if(s>=t.length)return t;let r=t.slice(0,s);return[...r.length?r:Array(s),e(t[s]),...t.slice(s+1)]}throw Error("It seems we have created an infinite loop in deleteBy. ")}(e)}(r.values,e),delete r.fieldMetaBase[e],r}),delete this.fieldInfo[e]},this.pushFieldValue=(e,t,r)=>{this.setFieldValue(e,e=>[...Array.isArray(e)?e:[],t],r),this.validateField(e,"change")},this.insertFieldValue=async(e,t,r,s)=>{this.setFieldValue(e,e=>[...e.slice(0,t),r,...e.slice(t)],s),await this.validateField(e,"change")},this.replaceFieldValue=async(e,t,r,s)=>{this.setFieldValue(e,e=>e.map((e,s)=>s===t?r:e),s),await this.validateField(e,"change"),await this.validateArrayFieldsStartingFrom(e,t,"change")},this.removeFieldValue=async(e,t,r)=>{let s=this.getFieldValue(e),a=Array.isArray(s)?Math.max(s.length-1,0):null;if(this.setFieldValue(e,e=>e.filter((e,r)=>r!==t),r),null!==a){let t=`${e}[${a}]`;Object.keys(this.fieldInfo).filter(e=>e.startsWith(t)).forEach(e=>this.deleteField(e))}await this.validateField(e,"change"),await this.validateArrayFieldsStartingFrom(e,t,"change")},this.swapFieldValues=(e,t,r,s)=>{this.setFieldValue(e,e=>{let s=e[t],a=e[r];return eb(eb(e,`${t}`,a),`${r}`,s)},s),this.validateField(e,"change"),this.validateField(`${e}[${t}]`,"change"),this.validateField(`${e}[${r}]`,"change")},this.moveFieldValues=(e,t,r,s)=>{this.setFieldValue(e,e=>(e.splice(r,0,e.splice(t,1)[0]),e),s),this.validateField(e,"change"),this.validateField(`${e}[${t}]`,"change"),this.validateField(`${e}[${r}]`,"change")},this.baseStore=new eA(eG({...null==e?void 0:e.defaultState,values:(null==e?void 0:e.defaultValues)??(null==(t=null==e?void 0:e.defaultState)?void 0:t.values),isFormValid:!0})),this.fieldMetaDerived=new eN({deps:[this.baseStore],fn:({prevDepVals:e,currDepVals:t,prevVal:r})=>{let s=null==e?void 0:e[0],a=t[0],i=0,n={};for(let e of Object.keys(a.fieldMetaBase)){let t=a.fieldMetaBase[e],l=null==s?void 0:s.fieldMetaBase[e],o=null==r?void 0:r[e],d=null==o?void 0:o.errors;l&&t.errorMap===l.errorMap||(d=Object.values(t.errorMap??{}).filter(e=>void 0!==e));let c=!t.isDirty;if(o&&o.isPristine===c&&o.errors===d&&t===l){n[e]=o,i++;continue}n[e]={...t,errors:d,isPristine:c}}return r&&i===Object.keys(a.fieldMetaBase).length?r:n}}),this.store=new eN({deps:[this.baseStore,this.fieldMetaDerived],fn:({prevDepVals:e,currDepVals:t,prevVal:r})=>{var s,a,i,n;let l=null==e?void 0:e[0],o=t[0],d=Object.values(o.fieldMetaBase),c=d.some(e=>null==e?void 0:e.isValidating),u=!d.some(e=>(null==e?void 0:e.errorMap)&&function(e){return!(Array.isArray(e)&&0===e.length)}(Object.values(e.errorMap).filter(Boolean))),h=d.some(e=>null==e?void 0:e.isTouched),m=d.some(e=>null==e?void 0:e.isBlurred),f=h&&(null==(s=null==o?void 0:o.errorMap)?void 0:s.onMount),p=d.some(e=>null==e?void 0:e.isDirty),v=!p,b=!!((null==(a=o.errorMap)?void 0:a.onMount)||d.some(e=>{var t;return null==(t=null==e?void 0:e.errorMap)?void 0:t.onMount})),g=(null==r?void 0:r.errors)??[];l&&o.errorMap===l.errorMap||(g=Object.values(o.errorMap).reduce((e,t)=>(void 0===t||("string"==typeof t?e.push(t):t&&eL(t)&&e.push(t.form)),e),[]));let x=0===g.length,y=u&&x,w=0===o.submissionAttempts&&!h&&!b||!c&&!o.isSubmitting&&y,j=o.errorMap;if(f&&(g=g.filter(e=>e!==o.errorMap.onMount),j=Object.assign(j,{onMount:void 0})),r&&l&&r.errorMap===j&&r.fieldMeta===this.fieldMetaDerived.state&&r.errors===g&&r.isFieldsValidating===c&&r.isFieldsValid===u&&r.isFormValid===x&&r.isValid===y&&r.canSubmit===w&&r.isTouched===h&&r.isBlurred===m&&r.isPristine===v&&r.isDirty===p&&eV(l,o))return r;let k={...o,errorMap:j,fieldMeta:this.fieldMetaDerived.state,errors:g,isFieldsValidating:c,isFieldsValid:u,isFormValid:x,isValid:y,canSubmit:w,isTouched:h,isBlurred:m,isPristine:v,isDirty:p},S=(null==(i=this.options.transform)?void 0:i.deps)??[];if(S.length!==this.prevTransformArray.length||S.some((e,t)=>e!==this.prevTransformArray[t])){let e=Object.assign({},this,{state:k});null==(n=this.options.transform)||n.fn(e),k=e.state,this.prevTransformArray=S}return k}}),this.update(e||{})}get state(){return this.store.state}runValidator(e){let t=this.options.validatorAdapter;return t&&("function"!=typeof e.validate||"~standard"in e.validate)?t()[e.type](e.value,e.validate):eR(e.validate)?e$()()[e.type](e.value,e.validate):e.validate(e.value)}setErrorMap(e){this.baseStore.setState(t=>({...t,errorMap:{...t.errorMap,...e}}))}}function eU(e){return e?"object"==typeof e?{formError:eU(e.form).formError,fieldErrors:e.fields}:"string"!=typeof e?{formError:"Invalid Form Values"}:{formError:e}:{formError:void 0}}function eH(e){switch(e){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";default:return"onChange"}}var eq=r(8010);function eX(e,t=e=>e){return(0,eq.useSyncExternalStoreWithSelector)(e.subscribe,()=>e.state,()=>e.state,t,eJ)}function eJ(e,t){if(Object.is(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;if(e instanceof Map&&t instanceof Map){if(e.size!==t.size)return!1;for(let[r,s]of e)if(!t.has(r)||!Object.is(s,t.get(r)))return!1;return!0}if(e instanceof Set&&t instanceof Set){if(e.size!==t.size)return!1;for(let r of e)if(!t.has(r))return!1;return!0}if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();let r=eY(e);if(r.length!==eY(t).length)return!1;for(let s=0;s{var e,t;let r=this.store.mount();this.getInfo().instance=this,this.update(this.options);let{onMount:s}=this.options.validators||{};if(s){let e=this.runValidator({validate:s,value:{value:this.state.value,fieldApi:this,validationSource:"field"},type:"validate"});e&&this.setMeta(t=>({...t,errorMap:{...null==t?void 0:t.errorMap,onMount:e}}))}return null==(t=null==(e=this.options.listeners)?void 0:e.onMount)||t.call(e,{value:this.state.value,fieldApi:this}),r},this.update=e=>{if(void 0===this.state.value){let t=ev(e.form.options.defaultValues,e.name);void 0!==e.defaultValue?this.setValue(e.defaultValue,{dontUpdateMeta:!0}):void 0!==t&&this.setValue(t,{dontUpdateMeta:!0})}void 0===this.form.getFieldMeta(this.name)&&this.setMeta(this.state.meta),this.options=e,this.name=e.name},this.getValue=()=>this.form.getFieldValue(this.name),this.setValue=(e,t)=>{var r,s;this.form.setFieldValue(this.name,e,t),null==(s=null==(r=this.options.listeners)?void 0:r.onChange)||s.call(r,{value:this.state.value,fieldApi:this}),this.validate("change")},this.getMeta=()=>this.store.state.meta,this.setMeta=e=>this.form.setFieldMeta(this.name,e),this.getInfo=()=>this.form.getFieldInfo(this.name),this.pushValue=(e,t)=>this.form.pushFieldValue(this.name,e,t),this.insertValue=(e,t,r)=>this.form.insertFieldValue(this.name,e,t,r),this.replaceValue=(e,t,r)=>this.form.replaceFieldValue(this.name,e,t,r),this.removeValue=(e,t)=>this.form.removeFieldValue(this.name,e,t),this.swapValues=(e,t,r)=>this.form.swapFieldValues(this.name,e,t,r),this.moveValue=(e,t,r)=>this.form.moveFieldValues(this.name,e,t,r),this.getLinkedFields=e=>{let t=Object.values(this.form.fieldInfo),r=[];for(let s of t){if(!s.instance)continue;let{onChangeListenTo:t,onBlurListenTo:a}=s.instance.options.validators||{};"change"===e&&(null==t?void 0:t.includes(this.name))&&r.push(s.instance),"blur"===e&&(null==a?void 0:a.includes(this.name))&&r.push(s.instance)}return r},this.validateSync=(e,t)=>{let r=eF(e,this.options),s=this.getLinkedFields(e).reduce((t,r)=>{let s=eF(e,r.options);return s.forEach(e=>{e.field=r}),t.concat(s)},[]),a=!1;eD(()=>{let e=(e,r)=>{let s=eZ(r.cause),i=r.validate?eQ(e.runValidator({validate:r.validate,value:{value:e.store.state.value,validationSource:"field",fieldApi:e},type:"validate"})):t[s];e.state.meta.errorMap[s]!==i&&e.setMeta(e=>({...e,errorMap:{...e.errorMap,[eZ(r.cause)]:i||t[s]}})),(i||t[s])&&(a=!0)};for(let t of r)e(this,t);for(let t of s)t.validate&&e(t.field,t)});let i=eZ("submit");return this.state.meta.errorMap[i]&&"submit"!==e&&!a&&this.setMeta(e=>({...e,errorMap:{...e.errorMap,[i]:void 0}})),{hasErrored:a}},this.validateAsync=async(e,t)=>{let r=eC(e,this.options),s=await t,a=this.getLinkedFields(e),i=a.reduce((t,r)=>{let s=eC(e,r.options);return s.forEach(e=>{e.field=r}),t.concat(s)},[]);for(let e of(this.state.meta.isValidating||this.setMeta(e=>({...e,isValidating:!0})),a))e.setMeta(e=>({...e,isValidating:!0}));let n=[],l=[],o=(e,t,r)=>{let a=eZ(t.cause),i=e.getInfo().validationMetaMap[a];null==i||i.lastAbortController.abort();let n=new AbortController;this.getInfo().validationMetaMap[a]={lastAbortController:n},r.push(new Promise(async r=>{var i;let l;try{l=await new Promise((r,s)=>{this.timeoutIds[t.cause]&&clearTimeout(this.timeoutIds[t.cause]),this.timeoutIds[t.cause]=setTimeout(async()=>{if(n.signal.aborted)return r(void 0);try{r(await this.runValidator({validate:t.validate,value:{value:e.store.state.value,fieldApi:e,signal:n.signal,validationSource:"field"},type:"validateAsync"}))}catch(e){s(e)}},t.debounceMs)})}catch(e){l=e}if(n.signal.aborted)return r(void 0);let o=eQ(l),d=null==(i=s[this.name])?void 0:i[a],c=o||d;e.setMeta(e=>({...e,errorMap:{...null==e?void 0:e.errorMap,[a]:c}})),r(c)}))};for(let e of r)e.validate&&o(this,e,n);for(let e of i)e.validate&&o(e.field,e,l);let d=[];for(let e of((n.length||l.length)&&(d=await Promise.all(n),await Promise.all(l)),this.setMeta(e=>({...e,isValidating:!1})),a))e.setMeta(e=>({...e,isValidating:!1}));return d.filter(Boolean)},this.validate=(e,t)=>{var r;if(!this.state.meta.isTouched)return[];let{fieldsErrorMap:s}=(null==t?void 0:t.skipFormValidation)?{fieldsErrorMap:{}}:this.form.validateSync(e),{hasErrored:a}=this.validateSync(e,s[this.name]??{});if(a&&!this.options.asyncAlways)return null==(r=this.getInfo().validationMetaMap[eZ(e)])||r.lastAbortController.abort(),this.state.meta.errors;let i=(null==t?void 0:t.skipFormValidation)?Promise.resolve({}):this.form.validateAsync(e);return this.validateAsync(e,i)},this.handleChange=e=>{this.setValue(e)},this.handleBlur=()=>{var e,t;this.state.meta.isTouched||(this.setMeta(e=>({...e,isTouched:!0})),this.validate("change")),this.state.meta.isBlurred||this.setMeta(e=>({...e,isBlurred:!0})),this.validate("blur"),null==(t=null==(e=this.options.listeners)?void 0:e.onBlur)||t.call(e,{value:this.state.value,fieldApi:this})},this.form=e.form,this.name=e.name,this.timeoutIds={},void 0!==e.defaultValue&&this.form.setFieldValue(this.name,e.defaultValue,{dontUpdateMeta:!0}),this.store=new eN({deps:[this.form.store],fn:()=>({value:this.form.getFieldValue(this.name),meta:this.form.getFieldMeta(this.name)??{isValidating:!1,isTouched:!1,isBlurred:!1,isDirty:!1,isPristine:!0,errors:[],errorMap:{},...e.defaultMeta}})}),this.options=e}get state(){return this.store.state}runValidator(e){for(let t of[this.form.options.validatorAdapter,this.options.validatorAdapter])if(t&&("function"!=typeof e.validate||"~standard"in e.validate))return t()[e.type](e.value,e.validate);return eR(e.validate)?e$()()[e.type](e.value,e.validate):e.validate(e.value)}setErrorMap(e){this.setMeta(t=>({...t,errorMap:{...t.errorMap,...e}}))}}function eQ(e){if(e)return"string"!=typeof e?"Invalid Form Values":e}function eZ(e){switch(e){case"submit":return"onSubmit";case"blur":return"onBlur";case"mount":return"onMount";case"server":return"onServer";default:return"onChange"}}let e0="undefined"!=typeof window?eh.useLayoutEffect:eh.useEffect,e1=({children:e,...t})=>{let r=function(e){let[t]=(0,eh.useState)(()=>{let t=new eK({...e,form:e.form,name:e.name});return t.Field=e1,t});return e0(t.mount,[t]),e0(()=>{t.update(e)}),eX(t.store,"array"===e.mode?e=>[e.meta,Object.keys(e.value??[]).length]:void 0),t}(t),s=(0,eh.useMemo)(()=>ep(e,r),[e,r,r.state.value,r.state.meta]);return(0,eu.jsx)(eu.Fragment,{children:s})};function e4({form:e,selector:t,children:r}){return ep(r,eX(e.store,t))}function e2(e){let[t]=(0,eh.useState)(()=>{let t=new eW(e);return t.Field=function(e){return(0,eu.jsx)(e1,{...e,form:t})},t.Subscribe=e=>(0,eu.jsx)(e4,{form:t,selector:e.selector,children:e.children}),t});return e0(t.mount,[]),eX(t.store,e=>e.isSubmitting),e0(()=>{t.update(e)}),t}function e5(...e){return ec(function(){for(var e,t,r=0,s="",a=arguments.length;r"{tos}"===e?(0,eu.jsx)("a",{onClick:()=>i(r),target:"_blank",rel:"noopener noreferrer",className:"text-text-muted hover:underline font-semibold",children:n},t):"{privacy}"===e?(0,eu.jsx)("a",{onClick:()=>i(a),target:"_blank",rel:"noopener noreferrer",className:"text-text-muted hover:underline font-semibold",children:l},t):(0,eu.jsx)("span",{children:e},t))})}var e7=(0,eh.createContext)({});function te({children:e,ui:t,policies:r}){let s=function(e,{keys:t,deps:r=[e,t]}={}){let s=(0,eh.useRef)();s.current=e.get();let a=(0,eh.useCallback)(r=>{var a;let i;return ef(s,r)(e.value),t?.length>0?(a=ef(s,r),i=new Set(t).add(void 0),e.listen((e,t,r)=>{i.has(r)&&a(e,t,r)})):e.listen(ef(s,r))},r),i=()=>s.current;return(0,eh.useSyncExternalStore)(a,i,i)}(t);return(0,eu.jsx)(e7.Provider,{value:s,children:(0,eu.jsx)(e9,{policies:r,children:e})})}function tt(){return(0,eh.useContext)(e7)}function tr(e){let t=e??tt();return(0,eh.useMemo)(()=>e?.getAuth()??(0,em.xI)(t.app),[t.app])}function ts({children:e,className:t,...r}){return(0,eu.jsx)("div",{className:e5("fui-card",t),...r,children:e})}function ta({children:e,className:t,...r}){return(0,eu.jsx)("div",{className:e5("fui-card__header",t),...r,children:e})}function ti({children:e,className:t,...r}){return(0,eu.jsx)("h2",{className:e5("fui-card__title",t),...r,children:e})}function tn({children:e,className:t,...r}){return(0,eu.jsx)("p",{className:e5("fui-card__subtitle",t),...r,children:e})}var tl={primary:"fui-button",secondary:"fui-button fui-button--secondary"};function to({children:e,className:t,variant:r="primary",...s}){return(0,eu.jsx)("button",{type:"button",className:e5(tl[r],t),...s,children:e})}function td({field:e,className:t,...r}){return(0,eu.jsx)(eu.Fragment,{children:e.state.meta.isTouched&&e.state.meta.errors.length?(0,eu.jsx)("div",{role:"alert","aria-live":"polite",className:e5("fui-form__error",t),...r,children:e.state.meta.errors[0]}):null})}function tc(e){let t=tt(),r=tr(t),[a,i]=(0,eh.useState)(null),[n,l]=(0,eh.useState)(!1),[o,d]=(0,eh.useState)(!1),c=(0,eh.useMemo)(()=>(0,s.Ak)(t.translations),[t.translations]),u=e2({defaultValues:{email:""},validators:{onBlur:c,onSubmit:c},onSubmit:async({value:e})=>{i(null);try{await (0,s.MN)(t,e.email),l(!0)}catch(e){if(e instanceof s.Cc){i(e.message);return}console.error(e),i((0,s.sC)(t,"errors","unknownError"))}}});return(0,eh.useEffect)(()=>{(async()=>{try{await (0,s.ec)(t,window.location.href)}catch(e){e instanceof s.Cc&&i(e.message)}})()},[r,t.translations]),n?(0,eu.jsx)("div",{className:"fui-success",children:(0,s.sC)(t,"messages","signInLinkSent")}):(0,eu.jsxs)("form",{className:"fui-form",onSubmit:async e=>{e.preventDefault(),e.stopPropagation(),await u.handleSubmit()},children:[(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(u.Field,{name:"email",children:e=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:e.name,children:[(0,eu.jsx)("span",{children:(0,s.sC)(t,"labels","emailAddress")}),(0,eu.jsx)("input",{"aria-invalid":e.state.meta.isTouched&&e.state.meta.errors.length>0,id:e.name,name:e.name,type:"email",value:e.state.value,onBlur:()=>{d(!0),e.handleBlur()},onInput:t=>{e.handleChange(t.target.value),o&&(e.handleBlur(),u.update())}}),(0,eu.jsx)(td,{field:e})]})})})}),(0,eu.jsx)(e8,{}),(0,eu.jsxs)("fieldset",{children:[(0,eu.jsx)(to,{type:"submit",disabled:"idle"!==t.state,children:(0,s.sC)(t,"labels","sendSignInLink")}),a&&(0,eu.jsx)("div",{className:"fui-form__error",children:a})]})]})}function tu({children:e}){let t=tt(),r=(0,s.sC)(t,"labels","signIn"),a=(0,s.sC)(t,"prompts","signInToAccount");return(0,eu.jsx)("div",{className:"fui-screen",children:(0,eu.jsxs)(ts,{children:[(0,eu.jsxs)(ta,{children:[(0,eu.jsx)(ti,{children:r}),(0,eu.jsx)(tn,{children:a})]}),(0,eu.jsx)(tc,{}),e?(0,eu.jsxs)(eu.Fragment,{children:[(0,eu.jsx)(e3,{children:(0,s.sC)(t,"messages","dividerOr")}),(0,eu.jsx)("div",{className:"space-y-4",children:e})]}):null]})})}function th({onForgotPasswordClick:e,onRegisterClick:t}){let r=tt(),[a,i]=(0,eh.useState)(null),[n,l]=(0,eh.useState)(!1),o=(0,eh.useMemo)(()=>(0,s.mz)(r.translations),[r.translations]),d=e2({defaultValues:{email:"",password:""},validators:{onBlur:o,onSubmit:o},onSubmit:async({value:e})=>{i(null);try{await (0,s.x9)(r,e.email,e.password)}catch(e){if(e instanceof s.Cc){i(e.message);return}console.error(e),i((0,s.sC)(r,"errors","unknownError"))}}});return(0,eu.jsxs)("form",{className:"fui-form",onSubmit:async e=>{e.preventDefault(),e.stopPropagation(),await d.handleSubmit()},children:[(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(d.Field,{name:"email",children:e=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:e.name,children:[(0,eu.jsx)("span",{children:(0,s.sC)(r,"labels","emailAddress")}),(0,eu.jsx)("input",{"aria-invalid":e.state.meta.isTouched&&e.state.meta.errors.length>0,id:e.name,name:e.name,type:"email",value:e.state.value,onBlur:()=>{l(!0),e.handleBlur()},onInput:t=>{e.handleChange(t.target.value),n&&(e.handleBlur(),d.update())}}),(0,eu.jsx)(td,{field:e})]})})})}),(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(d.Field,{name:"password",children:t=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:t.name,children:[(0,eu.jsxs)("span",{className:"flex",children:[(0,eu.jsx)("span",{className:"flex-grow",children:(0,s.sC)(r,"labels","password")}),(0,eu.jsx)("button",{type:"button",disabled:"idle"!==r.state,onClick:e,className:"fui-form__action",children:(0,s.sC)(r,"labels","forgotPassword")})]}),(0,eu.jsx)("input",{"aria-invalid":t.state.meta.isTouched&&t.state.meta.errors.length>0,id:t.name,name:t.name,type:"password",value:t.state.value,onBlur:()=>{l(!0),t.handleBlur()},onInput:e=>{t.handleChange(e.target.value),n&&(t.handleBlur(),d.update())}}),(0,eu.jsx)(td,{field:t})]})})})}),(0,eu.jsx)(e8,{}),(0,eu.jsxs)("fieldset",{children:[(0,eu.jsx)(to,{type:"submit",disabled:"idle"!==r.state,children:(0,s.sC)(r,"labels","signIn")}),a&&(0,eu.jsx)("div",{className:"fui-form__error",children:a})]}),t&&(0,eu.jsx)("div",{className:"flex justify-center items-center",children:(0,eu.jsxs)("button",{type:"button",disabled:"idle"!==r.state,onClick:t,className:"fui-form__action",children:[(0,s.sC)(r,"prompts","noAccount")," ",(0,s.sC)(r,"labels","register")]})})]})}function tm({onForgotPasswordClick:e,onRegisterClick:t,children:r}){let a=tt(),i=(0,s.sC)(a,"labels","signIn"),n=(0,s.sC)(a,"prompts","signInToAccount");return(0,eu.jsx)("div",{className:"fui-screen",children:(0,eu.jsxs)(ts,{children:[(0,eu.jsxs)(ta,{children:[(0,eu.jsx)(ti,{children:i}),(0,eu.jsx)(tn,{children:n})]}),(0,eu.jsx)(th,{onForgotPasswordClick:e,onRegisterClick:t}),r?(0,eu.jsxs)(eu.Fragment,{children:[(0,eu.jsx)(e3,{children:(0,s.sC)(a,"messages","dividerOr")}),(0,eu.jsx)("div",{className:"space-y-4",children:r})]}):null]})})}function tf({value:e,onChange:t,className:r}){return(0,eu.jsx)("div",{className:e5("fui-country-selector",r),children:(0,eu.jsxs)("div",{className:"fui-country-selector__wrapper",children:[(0,eu.jsx)("span",{className:"fui-country-selector__flag",children:e.emoji}),(0,eu.jsxs)("div",{className:"fui-country-selector__select-wrapper",children:[(0,eu.jsx)("span",{className:"fui-country-selector__dial-code",children:e.dialCode}),(0,eu.jsx)("select",{className:"fui-country-selector__select",value:e.code,onChange:e=>{let r=s.X7.find(t=>t.code===e.target.value);r&&t(r)},children:s.X7.map(e=>(0,eu.jsxs)("option",{value:e.code,children:[e.dialCode," (",e.name,")"]},`${e.code}-${e.dialCode}`))})]})]})})}function tp({onSubmit:e,formError:t,recaptchaVerifier:r,recaptchaContainerRef:a}){let i=tt(),[n,l]=(0,eh.useState)(s.X7[0]),[o,d]=(0,eh.useState)(!1),c=(0,eh.useMemo)(()=>(0,s.C1)(i.translations).pick({phoneNumber:!0}),[i.translations]),u=e2({defaultValues:{phoneNumber:""},validators:{onBlur:c,onSubmit:c},onSubmit:async({value:t})=>{let r=(0,s.dl)(t.phoneNumber,n.dialCode);await e(r)}});return(0,eu.jsxs)("form",{className:"fui-form",onSubmit:async e=>{e.preventDefault(),e.stopPropagation(),await u.handleSubmit()},children:[(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(u.Field,{name:"phoneNumber",children:e=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:e.name,children:[(0,eu.jsx)("span",{children:(0,s.sC)(i,"labels","phoneNumber")}),(0,eu.jsxs)("div",{className:"fui-phone-input",children:[(0,eu.jsx)(tf,{value:n,onChange:l,className:"fui-phone-input__country-selector"}),(0,eu.jsx)("input",{"aria-invalid":e.state.meta.isTouched&&e.state.meta.errors.length>0,id:e.name,name:e.name,type:"tel",value:e.state.value,onBlur:()=>{d(!0),e.handleBlur()},onInput:t=>{e.handleChange(t.target.value),o&&(e.handleBlur(),u.update())},className:"fui-phone-input__number-input"})]}),(0,eu.jsx)(td,{field:e})]})})})}),(0,eu.jsx)("fieldset",{children:(0,eu.jsx)("div",{className:"fui-recaptcha-container",ref:a})}),(0,eu.jsx)(e8,{}),(0,eu.jsxs)("fieldset",{children:[(0,eu.jsx)(to,{type:"submit",disabled:!r||"idle"!==i.state,children:(0,s.sC)(i,"labels","sendCode")}),t&&(0,eu.jsx)("div",{className:"fui-form__error",children:t})]})]})}function tv({onSubmit:e,onResend:t,formError:r,isResending:a,canResend:i,timeLeft:n,recaptchaContainerRef:l}){let o=tt(),[d,c]=(0,eh.useState)(!1),u=(0,eh.useMemo)(()=>(0,s.C1)(o.translations).pick({verificationCode:!0}),[o.translations]),h=e2({defaultValues:{verificationCode:""},validators:{onBlur:u,onSubmit:u},onSubmit:async({value:t})=>{await e(t.verificationCode)}});return(0,eu.jsxs)("form",{className:"fui-form",onSubmit:async e=>{e.preventDefault(),e.stopPropagation(),await h.handleSubmit()},children:[(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(h.Field,{name:"verificationCode",children:e=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:e.name,children:[(0,eu.jsx)("span",{children:(0,s.sC)(o,"labels","verificationCode")}),(0,eu.jsx)("input",{"aria-invalid":e.state.meta.isTouched&&e.state.meta.errors.length>0,id:e.name,name:e.name,type:"text",value:e.state.value,onBlur:()=>{c(!0),e.handleBlur()},onInput:t=>{e.handleChange(t.target.value),d&&(e.handleBlur(),h.update())}}),(0,eu.jsx)(td,{field:e})]})})})}),(0,eu.jsx)("fieldset",{children:(0,eu.jsx)("div",{className:"fui-recaptcha-container",ref:l})}),(0,eu.jsx)(e8,{}),(0,eu.jsxs)("fieldset",{children:[(0,eu.jsx)(to,{type:"submit",disabled:"idle"!==o.state,children:(0,s.sC)(o,"labels","verifyCode")}),(0,eu.jsx)(to,{type:"button",disabled:a||!i||"idle"!==o.state,onClick:t,variant:"secondary",children:a?(0,s.sC)(o,"labels","sending"):i?(0,s.sC)(o,"labels","resendCode"):`${(0,s.sC)(o,"labels","resendCode")} (${n}s)`}),r&&(0,eu.jsx)("div",{className:"fui-form__error",children:r})]})]})}function tb({resendDelay:e=30}){let t=tt(),r=tr(t),[a,i]=(0,eh.useState)(null),[n,l]=(0,eh.useState)(null),[o,d]=(0,eh.useState)(null),[c,u]=(0,eh.useState)(""),[h,m]=(0,eh.useState)(!1),f=(0,eh.useRef)(null),{timeLeft:p,canResend:v,startTimer:b}=function(e){let[t,r]=(0,eh.useState)(0),[s,a]=(0,eh.useState)(!1),i=(0,eh.useRef)(0);return(0,eh.useEffect)(()=>()=>{i.current&&clearInterval(i.current)},[e]),{timeLeft:t,canResend:!s&&0===t,startTimer:(0,eh.useCallback)(()=>{i.current&&clearInterval(i.current),r(e),a(!0),i.current=window.setInterval(()=>{r(e=>(e<=1&&(i.current&&clearInterval(i.current),a(!1)),e<=1?0:e-1))},1e3)},[e])}}(e);return(0,eh.useEffect)(()=>{if(!f.current)return;let e=new em.kT(r,f.current,{size:t.recaptchaMode??"normal"});return d(e),()=>{e.clear(),d(null)}},[r,t.recaptchaMode]),(0,eu.jsx)("div",{className:"fui-form-container",children:n?(0,eu.jsx)(tv,{onSubmit:async e=>{if(!n)throw Error("Confirmation result not initialized");i(null);try{await (0,s.kT)(t,n,e)}catch(e){if(e instanceof s.Cc){i(e.message);return}console.error(e),i((0,s.sC)(t,"errors","unknownError"))}},onResend:async()=>{if(!(h||!v||!c||!f.current)){m(!0),i(null);try{o&&o.clear();let e=new em.kT(r,f.current,{size:t.recaptchaMode??"normal"});d(e);let a=await (0,s.ik)(t,c,e);l(a),b()}catch(e){e instanceof s.Cc?i(e.message):(console.error(e),i((0,s.sC)(t,"errors","unknownError")))}finally{m(!1)}}},formError:a,isResending:h,canResend:v,timeLeft:p,recaptchaContainerRef:f}):(0,eu.jsx)(tp,{onSubmit:async e=>{i(null);try{if(!o)throw Error("ReCAPTCHA not initialized");let r=await (0,s.ik)(t,e,o);u(e),l(r),b()}catch(e){if(e instanceof s.Cc){i(e.message);return}console.error(e),i((0,s.sC)(t,"errors","unknownError"))}},formError:a,recaptchaVerifier:o,recaptchaContainerRef:f})})}function tg({children:e,resendDelay:t}){let r=tt(),a=(0,s.sC)(r,"labels","signIn"),i=(0,s.sC)(r,"prompts","signInToAccount");return(0,eu.jsx)("div",{className:"fui-screen",children:(0,eu.jsxs)(ts,{children:[(0,eu.jsxs)(ta,{children:[(0,eu.jsx)(ti,{children:a}),(0,eu.jsx)(tn,{children:i})]}),(0,eu.jsx)(tb,{resendDelay:t}),e?(0,eu.jsxs)(eu.Fragment,{children:[(0,eu.jsx)(e3,{children:(0,s.sC)(r,"messages","dividerOr")}),(0,eu.jsx)("div",{className:"space-y-4",children:e})]}):null]})})}function tx({onBackToSignInClick:e}){let t=tt(),[r,a]=(0,eh.useState)(null),[i,n]=(0,eh.useState)(!1),l=(0,eh.useMemo)(()=>(0,s.mz)(t.translations),[t.translations]),o=e2({defaultValues:{email:"",password:""},validators:{onBlur:l,onSubmit:l},onSubmit:async({value:e})=>{a(null);try{await (0,s.eJ)(t,e.email,e.password)}catch(e){if(e instanceof s.Cc){a(e.message);return}console.error(e),a((0,s.sC)(t,"errors","unknownError"))}}});return(0,eu.jsxs)("form",{className:"fui-form",onSubmit:async e=>{e.preventDefault(),e.stopPropagation(),await o.handleSubmit()},children:[(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(o.Field,{name:"email",children:e=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:e.name,children:[(0,eu.jsx)("span",{children:(0,s.sC)(t,"labels","emailAddress")}),(0,eu.jsx)("input",{"aria-invalid":e.state.meta.isTouched&&e.state.meta.errors.length>0,id:e.name,name:e.name,type:"email",value:e.state.value,onBlur:()=>{n(!0),e.handleBlur()},onInput:t=>{e.handleChange(t.target.value),i&&(e.handleBlur(),o.update())}}),(0,eu.jsx)(td,{field:e})]})})})}),(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(o.Field,{name:"password",children:e=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:e.name,children:[(0,eu.jsx)("span",{children:(0,s.sC)(t,"labels","password")}),(0,eu.jsx)("input",{"aria-invalid":e.state.meta.isTouched&&e.state.meta.errors.length>0,id:e.name,name:e.name,type:"password",value:e.state.value,onBlur:()=>{n(!0),e.handleBlur()},onInput:t=>{e.handleChange(t.target.value),i&&(e.handleBlur(),o.update())}}),(0,eu.jsx)(td,{field:e})]})})})}),(0,eu.jsx)(e8,{}),(0,eu.jsxs)("fieldset",{children:[(0,eu.jsx)(to,{type:"submit",disabled:"idle"!==t.state,children:(0,s.sC)(t,"labels","createAccount")}),r&&(0,eu.jsx)("div",{className:"fui-form__error",children:r})]}),e&&(0,eu.jsx)("div",{className:"flex justify-center items-center",children:(0,eu.jsxs)("button",{type:"button",disabled:"idle"!==t.state,onClick:e,className:"fui-form__action",children:[(0,s.sC)(t,"prompts","haveAccount")," ",(0,s.sC)(t,"labels","signIn")," →"]})})]})}function ty({onBackToSignInClick:e,children:t}){let r=tt(),a=(0,s.sC)(r,"labels","register"),i=(0,s.sC)(r,"prompts","enterDetailsToCreate");return(0,eu.jsx)("div",{className:"fui-screen",children:(0,eu.jsxs)(ts,{children:[(0,eu.jsxs)(ta,{children:[(0,eu.jsx)(ti,{children:a}),(0,eu.jsx)(tn,{children:i})]}),(0,eu.jsx)(tx,{onBackToSignInClick:e}),t?(0,eu.jsxs)(eu.Fragment,{children:[(0,eu.jsx)(e3,{children:(0,s.sC)(r,"messages","dividerOr")}),(0,eu.jsx)("div",{className:"space-y-4",children:t})]}):null]})})}function tw({children:e}){let t=tt(),r=(0,s.sC)(t,"labels","signIn"),a=(0,s.sC)(t,"prompts","signInToAccount");return(0,eu.jsx)("div",{className:"fui-screen",children:(0,eu.jsxs)(ts,{children:[(0,eu.jsxs)(ta,{children:[(0,eu.jsx)(ti,{children:r}),(0,eu.jsx)(tn,{children:a})]}),e,(0,eu.jsx)(e8,{})]})})}function tj({onBackToSignInClick:e}){let t=tt(),[r,a]=(0,eh.useState)(null),[i,n]=(0,eh.useState)(!1),[l,o]=(0,eh.useState)(!1),d=(0,eh.useMemo)(()=>(0,s.CB)(t.translations),[t.translations]),c=e2({defaultValues:{email:""},validators:{onBlur:d,onSubmit:d},onSubmit:async({value:e})=>{a(null);try{await (0,s.J1)(t,e.email),n(!0)}catch(e){if(e instanceof s.Cc){a(e.message);return}console.error(e),a((0,s.sC)(t,"errors","unknownError"))}}});return i?(0,eu.jsx)("div",{className:"fui-success",children:(0,s.sC)(t,"messages","checkEmailForReset")}):(0,eu.jsxs)("form",{className:"fui-form",onSubmit:async e=>{e.preventDefault(),e.stopPropagation(),await c.handleSubmit()},children:[(0,eu.jsx)("fieldset",{children:(0,eu.jsx)(c.Field,{name:"email",children:e=>(0,eu.jsx)(eu.Fragment,{children:(0,eu.jsxs)("label",{htmlFor:e.name,children:[(0,eu.jsx)("span",{children:(0,s.sC)(t,"labels","emailAddress")}),(0,eu.jsx)("input",{"aria-invalid":e.state.meta.isTouched&&e.state.meta.errors.length>0,id:e.name,name:e.name,type:"email",value:e.state.value,onBlur:()=>{o(!0),e.handleBlur()},onInput:t=>{e.handleChange(t.target.value),l&&(e.handleBlur(),c.update())}}),(0,eu.jsx)(td,{field:e})]})})})}),(0,eu.jsx)(e8,{}),(0,eu.jsxs)("fieldset",{children:[(0,eu.jsx)(to,{type:"submit",disabled:"idle"!==t.state,children:(0,s.sC)(t,"labels","resetPassword")}),r&&(0,eu.jsx)("div",{className:"fui-form__error",children:r})]}),e&&(0,eu.jsx)("div",{className:"flex justify-center items-center",children:(0,eu.jsxs)("button",{type:"button",disabled:"idle"!==t.state,onClick:e,className:"fui-form__action",children:[(0,s.sC)(t,"labels","backToSignIn")," →"]})})]})}function tk({onBackToSignInClick:e}){let t=tt(),r=(0,s.sC)(t,"labels","resetPassword"),a=(0,s.sC)(t,"prompts","enterEmailToReset");return(0,eu.jsx)("div",{className:"fui-screen",children:(0,eu.jsxs)(ts,{children:[(0,eu.jsxs)(ta,{children:[(0,eu.jsx)(ti,{children:r}),(0,eu.jsx)(tn,{children:a})]}),(0,eu.jsx)(tj,{onBackToSignInClick:e})]})})}function tS({provider:e,children:t}){let r=tt(),[a,i]=(0,eh.useState)(null),n=async()=>{i(null);try{await (0,s.cU)(r,e)}catch(e){if(e instanceof s.Cc){i(e.message);return}console.error(e),i((0,s.sC)(r,"errors","unknownError"))}};return(0,eu.jsxs)("div",{children:[(0,eu.jsx)(to,{type:"button",disabled:"idle"!==r.state,onClick:n,className:"fui-provider__button",children:t}),a&&(0,eu.jsx)("div",{className:"fui-form__error",children:a})]})}function tM(){let e=tt();return(0,eu.jsxs)(tS,{provider:new em.HF,children:[(0,eu.jsxs)("svg",{className:"fui-provider__icon",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 48 48",children:[(0,eu.jsx)("path",{fill:"#FFC107",d:"M43.611 20.083H42V20H24v8h11.303c-1.649 4.657-6.08 8-11.303 8-6.627 0-12-5.373-12-12s5.373-12 12-12c3.059 0 5.842 1.154 7.961 3.039l5.657-5.657C34.046 6.053 29.268 4 24 4 12.955 4 4 12.955 4 24s8.955 20 20 20 20-8.955 20-20c0-1.341-.138-2.65-.389-3.917z"}),(0,eu.jsx)("path",{fill:"#FF3D00",d:"m6.306 14.691 6.571 4.819C14.655 15.108 18.961 12 24 12c3.059 0 5.842 1.154 7.961 3.039l5.657-5.657C34.046 6.053 29.268 4 24 4 16.318 4 9.656 8.337 6.306 14.691z"}),(0,eu.jsx)("path",{fill:"#4CAF50",d:"M24 44c5.166 0 9.86-1.977 13.409-5.192l-6.19-5.238A11.91 11.91 0 0 1 24 36c-5.202 0-9.619-3.317-11.283-7.946l-6.522 5.025C9.505 39.556 16.227 44 24 44z"}),(0,eu.jsx)("path",{fill:"#1976D2",d:"M43.611 20.083H42V20H24v8h11.303a12.04 12.04 0 0 1-4.087 5.571l.003-.002 6.19 5.238C36.971 39.205 44 34 44 24c0-1.341-.138-2.65-.389-3.917z"})]}),(0,eu.jsx)("span",{children:(0,s.sC)(e,"labels","signInWithGoogle")})]})}}}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/460-27f0fb3882b99f1c.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/460-27f0fb3882b99f1c.js deleted file mode 100644 index 1da04d44..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/460-27f0fb3882b99f1c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[460],{8173:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return y}});let r=n(306),o=n(5155),u=r._(n(2115)),l=n(180),a=n(1394),f=n(4116),i=n(4445),c=n(5353),s=n(2170),d=n(9544);function p(e,t,n){"undefined"!=typeof window&&(async()=>e.prefetch(t,n))().catch(e=>{})}function h(e){return"string"==typeof e?e:(0,l.formatUrl)(e)}n(2363);let y=u.default.forwardRef(function(e,t){let n,r;let{href:l,as:y,children:b,prefetch:g=null,passHref:m,replace:P,shallow:_,scroll:v,onClick:E,onMouseEnter:j,onTouchStart:O,legacyBehavior:M=!1,...C}=e;n=b,M&&("string"==typeof n||"number"==typeof n)&&(n=(0,o.jsx)("a",{children:n}));let k=u.default.useContext(a.AppRouterContext),w=!1!==g,I=null===g?i.PrefetchKind.AUTO:i.PrefetchKind.FULL,{href:x,as:S}=u.default.useMemo(()=>{let e=h(l);return{href:e,as:y?h(y):e}},[l,y]),T=u.default.useRef(x),N=u.default.useRef(S);M&&(r=u.default.Children.only(n));let A=M?r&&"object"==typeof r&&r.ref:t,[R,U,D]=(0,f.useIntersection)({rootMargin:"200px"}),F=u.default.useCallback(e=>{(N.current!==S||T.current!==x)&&(D(),N.current=S,T.current=x),R(e)},[S,x,D,R]),K=(0,c.useMergedRef)(F,A);u.default.useEffect(()=>{k&&U&&w&&p(k,x,{kind:I})},[S,x,U,w,k,I]);let L={ref:K,onClick(e){M||"function"!=typeof E||E(e),M&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),k&&!e.defaultPrevented&&function(e,t,n,r,o,l,a){let{nodeName:f}=e.currentTarget;"A"===f.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||(e.preventDefault(),u.default.startTransition(()=>{let e=null==a||a;"beforePopState"in t?t[o?"replace":"push"](n,r,{shallow:l,scroll:e}):t[o?"replace":"push"](r||n,{scroll:e})}))}(e,k,x,S,P,_,v)},onMouseEnter(e){M||"function"!=typeof j||j(e),M&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),k&&w&&p(k,x,{kind:I})},onTouchStart:function(e){M||"function"!=typeof O||O(e),M&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),k&&w&&p(k,x,{kind:I})}};return(0,s.isAbsoluteUrl)(S)?L.href=S:M&&!m&&("a"!==r.type||"href"in r.props)||(L.href=(0,d.addBasePath)(S)),M?u.default.cloneElement(r,L):(0,o.jsx)("a",{...C,...L,children:n})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8571:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{cancelIdleCallback:function(){return r},requestIdleCallback:function(){return n}});let n="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},r="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4116:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return f}});let r=n(2115),o=n(8571),u="function"==typeof IntersectionObserver,l=new Map,a=[];function f(e){let{rootRef:t,rootMargin:n,disabled:f}=e,i=f||!u,[c,s]=(0,r.useState)(!1),d=(0,r.useRef)(null),p=(0,r.useCallback)(e=>{d.current=e},[]);return(0,r.useEffect)(()=>{if(u){if(i||c)return;let e=d.current;if(e&&e.tagName)return function(e,t,n){let{id:r,observer:o,elements:u}=function(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=a.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=l.get(r)))return t;let o=new Map;return t={id:n,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e),elements:o},a.push(n),l.set(n,t),t}(n);return u.set(e,t),o.observe(e),function(){if(u.delete(e),o.unobserve(e),0===u.size){o.disconnect(),l.delete(r);let e=a.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&a.splice(e,1)}}}(e,e=>e&&s(e),{root:null==t?void 0:t.current,rootMargin:n})}else if(!c){let e=(0,o.requestIdleCallback)(()=>s(!0));return()=>(0,o.cancelIdleCallback)(e)}},[i,n,t,c,d.current]),[p,c,(0,r.useCallback)(()=>{s(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5353:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useMergedRef",{enumerable:!0,get:function(){return o}});let r=n(2115);function o(e,t){let n=(0,r.useRef)(()=>{}),o=(0,r.useRef)(()=>{});return(0,r.useMemo)(()=>e&&t?r=>{null===r?(n.current(),o.current()):(n.current=u(e,r),o.current=u(t,r))}:e||t,[e,t])}function u(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let n=e(t);return"function"==typeof n?n:()=>e(null)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},180:(e,t,n)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{formatUrl:function(){return u},formatWithValidation:function(){return a},urlObjectKeys:function(){return l}});let r=n(9955)._(n(4156)),o=/https?|ftp|gopher|file/;function u(e){let{auth:t,hostname:n}=e,u=e.protocol||"",l=e.pathname||"",a=e.hash||"",f=e.query||"",i=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?i=t+e.host:n&&(i=t+(~n.indexOf(":")?"["+n+"]":n),e.port&&(i+=":"+e.port)),f&&"object"==typeof f&&(f=String(r.urlQueryToSearchParams(f)));let c=e.search||f&&"?"+f||"";return u&&!u.endsWith(":")&&(u+=":"),e.slashes||(!u||o.test(u))&&!1!==i?(i="//"+(i||""),l&&"/"!==l[0]&&(l="/"+l)):i||(i=""),a&&"#"!==a[0]&&(a="#"+a),c&&"?"!==c[0]&&(c="?"+c),""+u+i+(l=l.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+a}let l=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function a(e){return u(e)}},4156:(e,t)=>{function n(e){let t={};return e.forEach((e,n)=>{void 0===t[n]?t[n]=e:Array.isArray(t[n])?t[n].push(e):t[n]=[t[n],e]}),t}function r(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[n,o]=e;Array.isArray(o)?o.forEach(e=>t.append(n,r(e))):t.set(n,r(o))}),t}function u(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,n)=>e.append(n,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{assign:function(){return u},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return o}})},2170:(e,t)=>{Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return m},MissingStaticPage:function(){return g},NormalizeError:function(){return y},PageNotFoundError:function(){return b},SP:function(){return d},ST:function(){return p},WEB_VITALS:function(){return n},execOnce:function(){return r},getDisplayName:function(){return f},getLocationOrigin:function(){return l},getURL:function(){return a},isAbsoluteUrl:function(){return u},isResSent:function(){return i},loadGetInitialProps:function(){return s},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return P}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function r(e){let t,n=!1;return function(){for(var r=arguments.length,o=Array(r),u=0;uo.test(e);function l(){let{protocol:e,hostname:t,port:n}=window.location;return e+"//"+t+(n?":"+n:"")}function a(){let{href:e}=window.location,t=l();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function i(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function s(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await s(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&i(n))return r;if(!r)throw Error('"'+f(e)+'.getInitialProps()" should resolve to an object. But found "'+r+'" instead.');return r}let d="undefined"!=typeof performance,p=d&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class y extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class m extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function P(e){return JSON.stringify({message:e.message,stack:e.stack})}},9904:(e,t,n)=>{n.d(t,{Dk:()=>r.Dk,Wp:()=>r.Wp});var r=n(1972);(0,r.KO)("firebase","11.10.0","app")}}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/499-b5a9acf51f160200.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/499-b5a9acf51f160200.js deleted file mode 100644 index 5f8f17ee..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/499-b5a9acf51f160200.js +++ /dev/null @@ -1,15 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[499],{6959:(e,t,a)=>{a.d(t,{cY:()=>_,FA:()=>M,g:()=>P,u:()=>u,Uj:()=>c,tD:()=>$,bD:()=>function e(t,a){if(t===a)return!0;let i=Object.keys(t),n=Object.keys(a);for(let r of i){if(!n.includes(r))return!1;let i=t[r],s=a[r];if(L(i)&&L(s)){if(!e(i,s))return!1}else if(i!==s)return!1}for(let e of n)if(!i.includes(e))return!1;return!0},hp:()=>F,T9:()=>y,Tj:()=>g,XA:()=>v,Ku:()=>z,ZQ:()=>S,sr:()=>A,zJ:()=>C,c1:()=>I,Im:()=>R,lT:()=>T,zW:()=>O,jZ:()=>x,lV:()=>E,gE:()=>b,Am:()=>Z,I9:()=>B,P1:()=>k,eX:()=>N});let i=()=>void 0;var n=a(2818);let r=function(e){let t=[],a=0;for(let i=0;i>6|192:((64512&n)==55296&&i+1>18|240,t[a++]=n>>12&63|128):t[a++]=n>>12|224,t[a++]=n>>6&63|128),t[a++]=63&n|128)}return t},s=function(e){let t=[],a=0,i=0;for(;a191&&n<224){let r=e[a++];t[i++]=String.fromCharCode((31&n)<<6|63&r)}else if(n>239&&n<365){let r=((7&n)<<18|(63&e[a++])<<12|(63&e[a++])<<6|63&e[a++])-65536;t[i++]=String.fromCharCode(55296+(r>>10)),t[i++]=String.fromCharCode(56320+(1023&r))}else{let r=e[a++],s=e[a++];t[i++]=String.fromCharCode((15&n)<<12|(63&r)<<6|63&s)}}return t.join("")},o={byteToCharMap_:null,charToByteMap_:null,byteToCharMapWebSafe_:null,charToByteMapWebSafe_:null,ENCODED_VALS_BASE:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",get ENCODED_VALS(){return this.ENCODED_VALS_BASE+"+/="},get ENCODED_VALS_WEBSAFE(){return this.ENCODED_VALS_BASE+"-_."},HAS_NATIVE_SUPPORT:"function"==typeof atob,encodeByteArray(e,t){if(!Array.isArray(e))throw Error("encodeByteArray takes an array as a parameter");this.init_();let a=t?this.byteToCharMapWebSafe_:this.byteToCharMap_,i=[];for(let t=0;t>2,c=(3&n)<<4|s>>4,u=(15&s)<<2|d>>6,h=63&d;o||(h=64,r||(u=64)),i.push(a[l],a[c],a[u],a[h])}return i.join("")},encodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?btoa(e):this.encodeByteArray(r(e),t)},decodeString(e,t){return this.HAS_NATIVE_SUPPORT&&!t?atob(e):s(this.decodeStringToByteArray(e,t))},decodeStringToByteArray(e,t){this.init_();let a=t?this.charToByteMapWebSafe_:this.charToByteMap_,i=[];for(let t=0;t>4;if(i.push(l),64!==s){let e=r<<4&240|s>>2;if(i.push(e),64!==o){let e=s<<6&192|o;i.push(e)}}}return i},init_(){if(!this.byteToCharMap_){this.byteToCharMap_={},this.charToByteMap_={},this.byteToCharMapWebSafe_={},this.charToByteMapWebSafe_={};for(let e=0;e=this.ENCODED_VALS_BASE.length&&(this.charToByteMap_[this.ENCODED_VALS_WEBSAFE.charAt(e)]=e,this.charToByteMapWebSafe_[this.ENCODED_VALS.charAt(e)]=e)}}};class d extends Error{constructor(){super(...arguments),this.name="DecodeBase64StringError"}}let l=function(e){let t=r(e);return o.encodeByteArray(t,!0)},c=function(e){return l(e).replace(/\./g,"")},u=function(e){try{return o.decodeString(e,!0)}catch(e){console.error("base64Decode failed: ",e)}return null},h=()=>(function(){if("undefined"!=typeof self)return self;if("undefined"!=typeof window)return window;if(void 0!==a.g)return a.g;throw Error("Unable to locate global object.")})().__FIREBASE_DEFAULTS__,m=()=>{if(void 0===n||void 0===n.env)return;let e=n.env.__FIREBASE_DEFAULTS__;if(e)return JSON.parse(e)},p=()=>{let e;if("undefined"==typeof document)return;try{e=document.cookie.match(/__FIREBASE_DEFAULTS__=([^;]+)/)}catch(e){return}let t=e&&u(e[1]);return t&&JSON.parse(t)},f=()=>{try{return i()||h()||m()||p()}catch(e){console.info(`Unable to get __FIREBASE_DEFAULTS__ due to: ${e}`);return}},g=e=>{var t,a;return null===(a=null===(t=f())||void 0===t?void 0:t.emulatorHosts)||void 0===a?void 0:a[e]},y=()=>{var e;return null===(e=f())||void 0===e?void 0:e.config},v=e=>{var t;return null===(t=f())||void 0===t?void 0:t[`_${e}`]};class _{constructor(){this.reject=()=>{},this.resolve=()=>{},this.promise=new Promise((e,t)=>{this.resolve=e,this.reject=t})}wrapCallback(e){return(t,a)=>{t?this.reject(t):this.resolve(a),"function"==typeof e&&(this.promise.catch(()=>{}),1===e.length?e(t):e(t,a))}}}function C(e){try{return(e.startsWith("http://")||e.startsWith("https://")?new URL(e).hostname:e).endsWith(".cloudworkstations.dev")}catch(e){return!1}}async function b(e){return(await fetch(e,{credentials:"include"})).ok}let w={},j=!1;function k(e,t){if("undefined"==typeof window||"undefined"==typeof document||!C(window.location.host)||w[e]===t||w[e]||j)return;function a(e){return`__firebase__banner__${e}`}w[e]=t;let i="__firebase__banner",n=function(){let e={prod:[],emulator:[]};for(let t of Object.keys(w))w[t]?e.emulator.push(t):e.prod.push(t);return e}().prod.length>0;function r(){let e,t;let r=(e=document.getElementById(i),t=!1,e||((e=document.createElement("div")).setAttribute("id",i),t=!0),{created:t,element:e}),s=a("text"),o=document.getElementById(s)||document.createElement("span"),d=a("learnmore"),l=document.getElementById(d)||document.createElement("a"),c=a("preprendIcon"),u=document.getElementById(c)||document.createElementNS("http://www.w3.org/2000/svg","svg");if(r.created){let e=r.element;e.style.display="flex",e.style.background="#7faaf0",e.style.position="fixed",e.style.bottom="5px",e.style.left="5px",e.style.padding=".5em",e.style.borderRadius="5px",e.style.alignItems="center",l.setAttribute("id",d),l.innerText="Learn more",l.href="https://firebase.google.com/docs/studio/preview-apps#preview-backend",l.setAttribute("target","__blank"),l.style.paddingLeft="5px",l.style.textDecoration="underline";let t=function(){let e=document.createElement("span");return e.style.cursor="pointer",e.style.marginLeft="16px",e.style.fontSize="24px",e.innerHTML=" ×",e.onclick=()=>{j=!0,function(){let e=document.getElementById(i);e&&e.remove()}()},e}();u.setAttribute("width","24"),u.setAttribute("id",c),u.setAttribute("height","24"),u.setAttribute("viewBox","0 0 24 24"),u.setAttribute("fill","none"),u.style.marginLeft="-6px",e.append(u,o,l,t),document.body.appendChild(e)}n?(o.innerText="Preview backend disconnected.",u.innerHTML=` - - - - - - -`):(u.innerHTML=` - - - - - - -`,o.innerText="Preview backend running in this workspace."),o.setAttribute("id",s)}"loading"===document.readyState?window.addEventListener("DOMContentLoaded",r):r()}function S(){return"undefined"!=typeof navigator&&"string"==typeof navigator.userAgent?navigator.userAgent:""}function x(){return"undefined"!=typeof window&&!!(window.cordova||window.phonegap||window.PhoneGap)&&/ios|iphone|ipod|ipad|android|blackberry|iemobile/i.test(S())}function I(){return"undefined"!=typeof navigator&&"Cloudflare-Workers"===navigator.userAgent}function A(){let e="object"==typeof chrome?chrome.runtime:"object"==typeof browser?browser.runtime:void 0;return"object"==typeof e&&void 0!==e.id}function E(){return"object"==typeof navigator&&"ReactNative"===navigator.product}function T(){let e=S();return e.indexOf("MSIE ")>=0||e.indexOf("Trident/")>=0}function O(){try{return"object"==typeof indexedDB}catch(e){return!1}}function N(){return new Promise((e,t)=>{try{let a=!0,i="validate-browser-context-for-indexeddb-analytics-module",n=self.indexedDB.open(i);n.onsuccess=()=>{n.result.close(),a||self.indexedDB.deleteDatabase(i),e(!0)},n.onupgradeneeded=()=>{a=!1},n.onerror=()=>{var e;t((null===(e=n.error)||void 0===e?void 0:e.message)||"")}}catch(e){t(e)}})}class P extends Error{constructor(e,t,a){super(t),this.code=e,this.customData=a,this.name="FirebaseError",Object.setPrototypeOf(this,P.prototype),Error.captureStackTrace&&Error.captureStackTrace(this,M.prototype.create)}}class M{constructor(e,t,a){this.service=e,this.serviceName=t,this.errors=a}create(e,...t){let a=t[0]||{},i=`${this.service}/${e}`,n=this.errors[e],r=n?n.replace(D,(e,t)=>{let i=a[t];return null!=i?String(i):`<${t}?>`}):"Error",s=`${this.serviceName}: ${r} (${i}).`;return new P(i,s,a)}}let D=/\{\$([^}]+)}/g;function R(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t))return!1;return!0}function L(e){return null!==e&&"object"==typeof e}function Z(e){let t=[];for(let[a,i]of Object.entries(e))Array.isArray(i)?i.forEach(e=>{t.push(encodeURIComponent(a)+"="+encodeURIComponent(e))}):t.push(encodeURIComponent(a)+"="+encodeURIComponent(i));return t.length?"&"+t.join("&"):""}function B(e){let t={};return e.replace(/^\?/,"").split("&").forEach(e=>{if(e){let[a,i]=e.split("=");t[decodeURIComponent(a)]=decodeURIComponent(i)}}),t}function F(e){let t=e.indexOf("?");if(!t)return"";let a=e.indexOf("#",t);return e.substring(t,a>0?a:void 0)}function $(e,t){let a=new U(e,t);return a.subscribe.bind(a)}class U{constructor(e,t){this.observers=[],this.unsubscribes=[],this.observerCount=0,this.task=Promise.resolve(),this.finalized=!1,this.onNoObservers=t,this.task.then(()=>{e(this)}).catch(e=>{this.error(e)})}next(e){this.forEachObserver(t=>{t.next(e)})}error(e){this.forEachObserver(t=>{t.error(e)}),this.close(e)}complete(){this.forEachObserver(e=>{e.complete()}),this.close()}subscribe(e,t,a){let i;if(void 0===e&&void 0===t&&void 0===a)throw Error("Missing Observer.");void 0===(i=!function(e,t){if("object"!=typeof e||null===e)return!1;for(let a of t)if(a in e&&"function"==typeof e[a])return!0;return!1}(e,["next","error","complete"])?{next:e,error:t,complete:a}:e).next&&(i.next=V),void 0===i.error&&(i.error=V),void 0===i.complete&&(i.complete=V);let n=this.unsubscribeOne.bind(this,this.observers.length);return this.finalized&&this.task.then(()=>{try{this.finalError?i.error(this.finalError):i.complete()}catch(e){}}),this.observers.push(i),n}unsubscribeOne(e){void 0!==this.observers&&void 0!==this.observers[e]&&(delete this.observers[e],this.observerCount-=1,0===this.observerCount&&void 0!==this.onNoObservers&&this.onNoObservers(this))}forEachObserver(e){if(!this.finalized)for(let t=0;t{if(void 0!==this.observers&&void 0!==this.observers[e])try{t(this.observers[e])}catch(e){"undefined"!=typeof console&&console.error&&console.error(e)}})}close(e){this.finalized||(this.finalized=!0,void 0!==e&&(this.finalError=e),this.task.then(()=>{this.observers=void 0,this.onNoObservers=void 0}))}}function V(){}function z(e){return e&&e._delegate?e._delegate:e}},1972:(e,t,a)=>{let i,n;a.d(t,{MF:()=>R,j6:()=>N,xZ:()=>P,om:()=>O,Sx:()=>Z,Dk:()=>B,Wp:()=>L,KO:()=>F});var r=a(7086),s=a(4075),o=a(6959);let d=(e,t)=>t.some(t=>e instanceof t),l=new WeakMap,c=new WeakMap,u=new WeakMap,h=new WeakMap,m=new WeakMap,p={get(e,t,a){if(e instanceof IDBTransaction){if("done"===t)return c.get(e);if("objectStoreNames"===t)return e.objectStoreNames||u.get(e);if("store"===t)return a.objectStoreNames[1]?void 0:a.objectStore(a.objectStoreNames[0])}return f(e[t])},set:(e,t,a)=>(e[t]=a,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function f(e){var t;if(e instanceof IDBRequest)return function(e){let t=new Promise((t,a)=>{let i=()=>{e.removeEventListener("success",n),e.removeEventListener("error",r)},n=()=>{t(f(e.result)),i()},r=()=>{a(e.error),i()};e.addEventListener("success",n),e.addEventListener("error",r)});return t.then(t=>{t instanceof IDBCursor&&l.set(t,e)}).catch(()=>{}),m.set(t,e),t}(e);if(h.has(e))return h.get(e);let a="function"==typeof(t=e)?t!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(n||(n=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(g(this),e),f(l.get(this))}:function(...e){return f(t.apply(g(this),e))}:function(e,...a){let i=t.call(g(this),e,...a);return u.set(i,e.sort?e.sort():[e]),f(i)}:(t instanceof IDBTransaction&&function(e){if(c.has(e))return;let t=new Promise((t,a)=>{let i=()=>{e.removeEventListener("complete",n),e.removeEventListener("error",r),e.removeEventListener("abort",r)},n=()=>{t(),i()},r=()=>{a(e.error||new DOMException("AbortError","AbortError")),i()};e.addEventListener("complete",n),e.addEventListener("error",r),e.addEventListener("abort",r)});c.set(e,t)}(t),d(t,i||(i=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(t,p):t;return a!==e&&(h.set(e,a),m.set(a,e)),a}let g=e=>m.get(e),y=["get","getKey","getAll","getAllKeys","count"],v=["put","add","delete","clear"],_=new Map;function C(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(_.get(t))return _.get(t);let a=t.replace(/FromIndex$/,""),i=t!==a,n=v.includes(a);if(!(a in(i?IDBIndex:IDBObjectStore).prototype)||!(n||y.includes(a)))return;let r=async function(e,...t){let r=this.transaction(e,n?"readwrite":"readonly"),s=r.store;return i&&(s=s.index(t.shift())),(await Promise.all([s[a](...t),n&&r.done]))[0]};return _.set(t,r),r}p=(e=>({...e,get:(t,a,i)=>C(t,a)||e.get(t,a,i),has:(t,a)=>!!C(t,a)||e.has(t,a)}))(p);class b{constructor(e){this.container=e}getPlatformInfoString(){return this.container.getProviders().map(e=>{if(!function(e){let t=e.getComponent();return(null==t?void 0:t.type)==="VERSION"}(e))return null;{let t=e.getImmediate();return`${t.library}/${t.version}`}}).filter(e=>e).join(" ")}}let w="@firebase/app",j="0.13.2",k=new s.Vy("@firebase/app"),S="[DEFAULT]",x={[w]:"fire-core","@firebase/app-compat":"fire-core-compat","@firebase/analytics":"fire-analytics","@firebase/analytics-compat":"fire-analytics-compat","@firebase/app-check":"fire-app-check","@firebase/app-check-compat":"fire-app-check-compat","@firebase/auth":"fire-auth","@firebase/auth-compat":"fire-auth-compat","@firebase/database":"fire-rtdb","@firebase/data-connect":"fire-data-connect","@firebase/database-compat":"fire-rtdb-compat","@firebase/functions":"fire-fn","@firebase/functions-compat":"fire-fn-compat","@firebase/installations":"fire-iid","@firebase/installations-compat":"fire-iid-compat","@firebase/messaging":"fire-fcm","@firebase/messaging-compat":"fire-fcm-compat","@firebase/performance":"fire-perf","@firebase/performance-compat":"fire-perf-compat","@firebase/remote-config":"fire-rc","@firebase/remote-config-compat":"fire-rc-compat","@firebase/storage":"fire-gcs","@firebase/storage-compat":"fire-gcs-compat","@firebase/firestore":"fire-fst","@firebase/firestore-compat":"fire-fst-compat","@firebase/ai":"fire-vertex","fire-js":"fire-js",firebase:"fire-js-all"},I=new Map,A=new Map,E=new Map;function T(e,t){try{e.container.addComponent(t)}catch(a){k.debug(`Component ${t.name} failed to register with FirebaseApp ${e.name}`,a)}}function O(e){let t=e.name;if(E.has(t))return k.debug(`There were multiple attempts to register component ${t}.`),!1;for(let a of(E.set(t,e),I.values()))T(a,e);for(let t of A.values())T(t,e);return!0}function N(e,t){let a=e.container.getProvider("heartbeat").getImmediate({optional:!0});return a&&a.triggerHeartbeat(),e.container.getProvider(t)}function P(e){return null!=e&&void 0!==e.settings}let M=new o.FA("app","Firebase",{"no-app":"No Firebase App '{$appName}' has been created - call initializeApp() first","bad-app-name":"Illegal App name: '{$appName}'","duplicate-app":"Firebase App named '{$appName}' already exists with different options or config","app-deleted":"Firebase App named '{$appName}' already deleted","server-app-deleted":"Firebase Server App has been deleted","no-options":"Need to provide options, when not being deployed to hosting via source.","invalid-app-argument":"firebase.{$appName}() takes either no argument or a Firebase App instance.","invalid-log-argument":"First argument to `onLog` must be null or a function.","idb-open":"Error thrown when opening IndexedDB. Original error: {$originalErrorMessage}.","idb-get":"Error thrown when reading from IndexedDB. Original error: {$originalErrorMessage}.","idb-set":"Error thrown when writing to IndexedDB. Original error: {$originalErrorMessage}.","idb-delete":"Error thrown when deleting from IndexedDB. Original error: {$originalErrorMessage}.","finalization-registry-not-supported":"FirebaseServerApp deleteOnDeref field defined but the JS runtime does not support FinalizationRegistry.","invalid-server-app-environment":"FirebaseServerApp is not for use in browser environments."});class D{constructor(e,t,a){this._isDeleted=!1,this._options=Object.assign({},e),this._config=Object.assign({},t),this._name=t.name,this._automaticDataCollectionEnabled=t.automaticDataCollectionEnabled,this._container=a,this.container.addComponent(new r.uA("app",()=>this,"PUBLIC"))}get automaticDataCollectionEnabled(){return this.checkDestroyed(),this._automaticDataCollectionEnabled}set automaticDataCollectionEnabled(e){this.checkDestroyed(),this._automaticDataCollectionEnabled=e}get name(){return this.checkDestroyed(),this._name}get options(){return this.checkDestroyed(),this._options}get config(){return this.checkDestroyed(),this._config}get container(){return this._container}get isDeleted(){return this._isDeleted}set isDeleted(e){this._isDeleted=e}checkDestroyed(){if(this.isDeleted)throw M.create("app-deleted",{appName:this._name})}}let R="11.10.0";function L(e,t={}){let a=e;"object"!=typeof t&&(t={name:t});let i=Object.assign({name:S,automaticDataCollectionEnabled:!0},t),n=i.name;if("string"!=typeof n||!n)throw M.create("bad-app-name",{appName:String(n)});if(a||(a=(0,o.T9)()),!a)throw M.create("no-options");let s=I.get(n);if(s){if((0,o.bD)(a,s.options)&&(0,o.bD)(i,s.config))return s;throw M.create("duplicate-app",{appName:n})}let d=new r.h1(n);for(let e of E.values())d.addComponent(e);let l=new D(a,i,d);return I.set(n,l),l}function Z(e=S){let t=I.get(e);if(!t&&e===S&&(0,o.T9)())return L();if(!t)throw M.create("no-app",{appName:e});return t}function B(){return Array.from(I.values())}function F(e,t,a){var i;let n=null!==(i=x[e])&&void 0!==i?i:e;a&&(n+=`-${a}`);let s=n.match(/\s|\//),o=t.match(/\s|\//);if(s||o){let e=[`Unable to register library "${n}" with version "${t}":`];s&&e.push(`library name "${n}" contains illegal characters (whitespace or "/")`),s&&o&&e.push("and"),o&&e.push(`version name "${t}" contains illegal characters (whitespace or "/")`),k.warn(e.join(" "));return}O(new r.uA(`${n}-version`,()=>({library:n,version:t}),"VERSION"))}let $="firebase-heartbeat-store",U=null;function V(){return U||(U=(function(e,t,{blocked:a,upgrade:i,blocking:n,terminated:r}={}){let s=indexedDB.open(e,1),o=f(s);return i&&s.addEventListener("upgradeneeded",e=>{i(f(s.result),e.oldVersion,e.newVersion,f(s.transaction),e)}),a&&s.addEventListener("blocked",e=>a(e.oldVersion,e.newVersion,e)),o.then(e=>{r&&e.addEventListener("close",()=>r()),n&&e.addEventListener("versionchange",e=>n(e.oldVersion,e.newVersion,e))}).catch(()=>{}),o})("firebase-heartbeat-database",0,{upgrade:(e,t)=>{if(0===t)try{e.createObjectStore($)}catch(e){console.warn(e)}}}).catch(e=>{throw M.create("idb-open",{originalErrorMessage:e.message})})),U}async function z(e){try{let t=(await V()).transaction($),a=await t.objectStore($).get(K(e));return await t.done,a}catch(e){if(e instanceof o.g)k.warn(e.message);else{let t=M.create("idb-get",{originalErrorMessage:null==e?void 0:e.message});k.warn(t.message)}}}async function H(e,t){try{let a=(await V()).transaction($,"readwrite"),i=a.objectStore($);await i.put(t,K(e)),await a.done}catch(e){if(e instanceof o.g)k.warn(e.message);else{let t=M.create("idb-set",{originalErrorMessage:null==e?void 0:e.message});k.warn(t.message)}}}function K(e){return`${e.name}!${e.options.appId}`}class W{constructor(e){this.container=e,this._heartbeatsCache=null;let t=this.container.getProvider("app").getImmediate();this._storage=new q(t),this._heartbeatsCachePromise=this._storage.read().then(e=>(this._heartbeatsCache=e,e))}async triggerHeartbeat(){var e,t;try{let a=this.container.getProvider("platform-logger").getImmediate().getPlatformInfoString(),i=G();if((null===(e=this._heartbeatsCache)||void 0===e?void 0:e.heartbeats)==null&&(this._heartbeatsCache=await this._heartbeatsCachePromise,(null===(t=this._heartbeatsCache)||void 0===t?void 0:t.heartbeats)==null)||this._heartbeatsCache.lastSentHeartbeatDate===i||this._heartbeatsCache.heartbeats.some(e=>e.date===i))return;if(this._heartbeatsCache.heartbeats.push({date:i,agent:a}),this._heartbeatsCache.heartbeats.length>30){let e=function(e){if(0===e.length)return -1;let t=0,a=e[0].date;for(let i=1;ie.agent===n.agent);if(e){if(e.dates.push(n.date),J(a)>t){e.dates.pop();break}}else if(a.push({agent:n.agent,dates:[n.date]}),J(a)>t){a.pop();break}i=i.slice(1)}return{heartbeatsToSend:a,unsentEntries:i}}(this._heartbeatsCache.heartbeats),n=(0,o.Uj)(JSON.stringify({version:2,heartbeats:a}));return this._heartbeatsCache.lastSentHeartbeatDate=t,i.length>0?(this._heartbeatsCache.heartbeats=i,await this._storage.overwrite(this._heartbeatsCache)):(this._heartbeatsCache.heartbeats=[],this._storage.overwrite(this._heartbeatsCache)),n}catch(e){return k.warn(e),""}}}function G(){return new Date().toISOString().substring(0,10)}class q{constructor(e){this.app=e,this._canUseIndexedDBPromise=this.runIndexedDBEnvironmentCheck()}async runIndexedDBEnvironmentCheck(){return!!(0,o.zW)()&&(0,o.eX)().then(()=>!0).catch(()=>!1)}async read(){if(!await this._canUseIndexedDBPromise)return{heartbeats:[]};{let e=await z(this.app);return(null==e?void 0:e.heartbeats)?e:{heartbeats:[]}}}async overwrite(e){var t;if(await this._canUseIndexedDBPromise){let a=await this.read();return H(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:a.lastSentHeartbeatDate,heartbeats:e.heartbeats})}}async add(e){var t;if(await this._canUseIndexedDBPromise){let a=await this.read();return H(this.app,{lastSentHeartbeatDate:null!==(t=e.lastSentHeartbeatDate)&&void 0!==t?t:a.lastSentHeartbeatDate,heartbeats:[...a.heartbeats,...e.heartbeats]})}}}function J(e){return(0,o.Uj)(JSON.stringify({version:2,heartbeats:e})).length}O(new r.uA("platform-logger",e=>new b(e),"PRIVATE")),O(new r.uA("heartbeat",e=>new W(e),"PRIVATE")),F(w,j,""),F(w,j,"esm2017"),F("fire-js","")},7086:(e,t,a)=>{a.d(t,{h1:()=>o,uA:()=>n});var i=a(6959);class n{constructor(e,t,a){this.name=e,this.instanceFactory=t,this.type=a,this.multipleInstances=!1,this.serviceProps={},this.instantiationMode="LAZY",this.onInstanceCreated=null}setInstantiationMode(e){return this.instantiationMode=e,this}setMultipleInstances(e){return this.multipleInstances=e,this}setServiceProps(e){return this.serviceProps=e,this}setInstanceCreatedCallback(e){return this.onInstanceCreated=e,this}}let r="[DEFAULT]";class s{constructor(e,t){this.name=e,this.container=t,this.component=null,this.instances=new Map,this.instancesDeferred=new Map,this.instancesOptions=new Map,this.onInitCallbacks=new Map}get(e){let t=this.normalizeInstanceIdentifier(e);if(!this.instancesDeferred.has(t)){let e=new i.cY;if(this.instancesDeferred.set(t,e),this.isInitialized(t)||this.shouldAutoInitialize())try{let a=this.getOrInitializeService({instanceIdentifier:t});a&&e.resolve(a)}catch(e){}}return this.instancesDeferred.get(t).promise}getImmediate(e){var t;let a=this.normalizeInstanceIdentifier(null==e?void 0:e.identifier),i=null!==(t=null==e?void 0:e.optional)&&void 0!==t&&t;if(this.isInitialized(a)||this.shouldAutoInitialize())try{return this.getOrInitializeService({instanceIdentifier:a})}catch(e){if(i)return null;throw e}else{if(i)return null;throw Error(`Service ${this.name} is not available`)}}getComponent(){return this.component}setComponent(e){if(e.name!==this.name)throw Error(`Mismatching Component ${e.name} for Provider ${this.name}.`);if(this.component)throw Error(`Component for ${this.name} has already been provided`);if(this.component=e,this.shouldAutoInitialize()){if("EAGER"===e.instantiationMode)try{this.getOrInitializeService({instanceIdentifier:r})}catch(e){}for(let[e,t]of this.instancesDeferred.entries()){let a=this.normalizeInstanceIdentifier(e);try{let e=this.getOrInitializeService({instanceIdentifier:a});t.resolve(e)}catch(e){}}}}clearInstance(e=r){this.instancesDeferred.delete(e),this.instancesOptions.delete(e),this.instances.delete(e)}async delete(){let e=Array.from(this.instances.values());await Promise.all([...e.filter(e=>"INTERNAL"in e).map(e=>e.INTERNAL.delete()),...e.filter(e=>"_delete"in e).map(e=>e._delete())])}isComponentSet(){return null!=this.component}isInitialized(e=r){return this.instances.has(e)}getOptions(e=r){return this.instancesOptions.get(e)||{}}initialize(e={}){let{options:t={}}=e,a=this.normalizeInstanceIdentifier(e.instanceIdentifier);if(this.isInitialized(a))throw Error(`${this.name}(${a}) has already been initialized`);if(!this.isComponentSet())throw Error(`Component ${this.name} has not been registered yet`);let i=this.getOrInitializeService({instanceIdentifier:a,options:t});for(let[e,t]of this.instancesDeferred.entries())a===this.normalizeInstanceIdentifier(e)&&t.resolve(i);return i}onInit(e,t){var a;let i=this.normalizeInstanceIdentifier(t),n=null!==(a=this.onInitCallbacks.get(i))&&void 0!==a?a:new Set;n.add(e),this.onInitCallbacks.set(i,n);let r=this.instances.get(i);return r&&e(r,i),()=>{n.delete(e)}}invokeOnInitCallbacks(e,t){let a=this.onInitCallbacks.get(t);if(a)for(let i of a)try{i(e,t)}catch(e){}}getOrInitializeService({instanceIdentifier:e,options:t={}}){let a=this.instances.get(e);if(!a&&this.component&&(a=this.component.instanceFactory(this.container,{instanceIdentifier:e===r?void 0:e,options:t}),this.instances.set(e,a),this.instancesOptions.set(e,t),this.invokeOnInitCallbacks(a,e),this.component.onInstanceCreated))try{this.component.onInstanceCreated(this.container,e,a)}catch(e){}return a||null}normalizeInstanceIdentifier(e=r){return this.component?this.component.multipleInstances?e:r:e}shouldAutoInitialize(){return!!this.component&&"EXPLICIT"!==this.component.instantiationMode}}class o{constructor(e){this.name=e,this.providers=new Map}addComponent(e){let t=this.getProvider(e.name);if(t.isComponentSet())throw Error(`Component ${e.name} has already been registered with ${this.name}`);t.setComponent(e)}addOrOverwriteComponent(e){this.getProvider(e.name).isComponentSet()&&this.providers.delete(e.name),this.addComponent(e)}getProvider(e){if(this.providers.has(e))return this.providers.get(e);let t=new s(e,this);return this.providers.set(e,t),t}getProviders(){return Array.from(this.providers.values())}}},4075:(e,t,a)=>{var i;a.d(t,{$b:()=>i,Vy:()=>l});let n=[];!function(e){e[e.DEBUG=0]="DEBUG",e[e.VERBOSE=1]="VERBOSE",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(i||(i={}));let r={debug:i.DEBUG,verbose:i.VERBOSE,info:i.INFO,warn:i.WARN,error:i.ERROR,silent:i.SILENT},s=i.INFO,o={[i.DEBUG]:"log",[i.VERBOSE]:"log",[i.INFO]:"info",[i.WARN]:"warn",[i.ERROR]:"error"},d=(e,t,...a)=>{if(t{let i;a.d(t,{Cc:()=>eV,ec:()=>e1,kT:()=>eq,X7:()=>e5,mz:()=>e4,Ak:()=>e3,CB:()=>e2,C1:()=>e9,eJ:()=>eW,dl:()=>e8,sC:()=>e7,bN:()=>e6,J1:()=>eJ,MN:()=>eY,x9:()=>eK,cU:()=>eQ,ik:()=>eG});var n,r,s,o,d=a(4565),l=a(3468);let c=[],u=0,h=0,m=e=>{let t=[],a={get:()=>(a.lc||a.listen(()=>{})(),a.value),lc:0,listen:e=>(a.lc=t.push(e),()=>{for(let t=u+4;t(function e(t){if(p.test(t)){let[,a,i]=t.match(p);return[...e(a),i]}return[t]})(e))}let g=/^\d+$/;!function(e){e.assertEqual=e=>{},e.assertIs=function(e){},e.assertNever=function(e){throw Error()},e.arrayToEnum=e=>{let t={};for(let a of e)t[a]=a;return t},e.getValidEnumValues=t=>{let a=e.objectKeys(t).filter(e=>"number"!=typeof t[t[e]]),i={};for(let e of a)i[e]=t[e];return e.objectValues(i)},e.objectValues=t=>e.objectKeys(t).map(function(e){return t[e]}),e.objectKeys="function"==typeof Object.keys?e=>Object.keys(e):e=>{let t=[];for(let a in e)Object.prototype.hasOwnProperty.call(e,a)&&t.push(a);return t},e.find=(e,t)=>{for(let a of e)if(t(a))return a},e.isInteger="function"==typeof Number.isInteger?e=>Number.isInteger(e):e=>"number"==typeof e&&Number.isFinite(e)&&Math.floor(e)===e,e.joinValues=function(e,t=" | "){return e.map(e=>"string"==typeof e?`'${e}'`:e).join(t)},e.jsonStringifyReplacer=(e,t)=>"bigint"==typeof t?t.toString():t}(n||(n={})),(r||(r={})).mergeShapes=(e,t)=>({...e,...t});let y=n.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),v=e=>{switch(typeof e){case"undefined":return y.undefined;case"string":return y.string;case"number":return Number.isNaN(e)?y.nan:y.number;case"boolean":return y.boolean;case"function":return y.function;case"bigint":return y.bigint;case"symbol":return y.symbol;case"object":if(Array.isArray(e))return y.array;if(null===e)return y.null;if(e.then&&"function"==typeof e.then&&e.catch&&"function"==typeof e.catch)return y.promise;if("undefined"!=typeof Map&&e instanceof Map)return y.map;if("undefined"!=typeof Set&&e instanceof Set)return y.set;if("undefined"!=typeof Date&&e instanceof Date)return y.date;return y.object;default:return y.unknown}},_=n.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]);class C extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=e=>{this.issues=[...this.issues,e]},this.addIssues=(e=[])=>{this.issues=[...this.issues,...e]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){let t=e||function(e){return e.message},a={_errors:[]},i=e=>{for(let n of e.issues)if("invalid_union"===n.code)n.unionErrors.map(i);else if("invalid_return_type"===n.code)i(n.returnTypeError);else if("invalid_arguments"===n.code)i(n.argumentsError);else if(0===n.path.length)a._errors.push(t(n));else{let e=a,i=0;for(;ie.message){let t={},a=[];for(let i of this.issues)if(i.path.length>0){let a=i.path[0];t[a]=t[a]||[],t[a].push(e(i))}else a.push(e(i));return{formErrors:a,fieldErrors:t}}get formErrors(){return this.flatten()}}C.create=e=>new C(e);let b=(e,t)=>{let a;switch(e.code){case _.invalid_type:a=e.received===y.undefined?"Required":`Expected ${e.expected}, received ${e.received}`;break;case _.invalid_literal:a=`Invalid literal value, expected ${JSON.stringify(e.expected,n.jsonStringifyReplacer)}`;break;case _.unrecognized_keys:a=`Unrecognized key(s) in object: ${n.joinValues(e.keys,", ")}`;break;case _.invalid_union:a="Invalid input";break;case _.invalid_union_discriminator:a=`Invalid discriminator value. Expected ${n.joinValues(e.options)}`;break;case _.invalid_enum_value:a=`Invalid enum value. Expected ${n.joinValues(e.options)}, received '${e.received}'`;break;case _.invalid_arguments:a="Invalid function arguments";break;case _.invalid_return_type:a="Invalid function return type";break;case _.invalid_date:a="Invalid date";break;case _.invalid_string:"object"==typeof e.validation?"includes"in e.validation?(a=`Invalid input: must include "${e.validation.includes}"`,"number"==typeof e.validation.position&&(a=`${a} at one or more positions greater than or equal to ${e.validation.position}`)):"startsWith"in e.validation?a=`Invalid input: must start with "${e.validation.startsWith}"`:"endsWith"in e.validation?a=`Invalid input: must end with "${e.validation.endsWith}"`:n.assertNever(e.validation):a="regex"!==e.validation?`Invalid ${e.validation}`:"Invalid";break;case _.too_small:a="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at least":"more than"} ${e.minimum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at least":"over"} ${e.minimum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"bigint"===e.type?`Number must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${e.minimum}`:"date"===e.type?`Date must be ${e.exact?"exactly equal to ":e.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(e.minimum))}`:"Invalid input";break;case _.too_big:a="array"===e.type?`Array must contain ${e.exact?"exactly":e.inclusive?"at most":"less than"} ${e.maximum} element(s)`:"string"===e.type?`String must contain ${e.exact?"exactly":e.inclusive?"at most":"under"} ${e.maximum} character(s)`:"number"===e.type?`Number must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"bigint"===e.type?`BigInt must be ${e.exact?"exactly":e.inclusive?"less than or equal to":"less than"} ${e.maximum}`:"date"===e.type?`Date must be ${e.exact?"exactly":e.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(e.maximum))}`:"Invalid input";break;case _.custom:a="Invalid input";break;case _.invalid_intersection_types:a="Intersection results could not be merged";break;case _.not_multiple_of:a=`Number must be a multiple of ${e.multipleOf}`;break;case _.not_finite:a="Number must be finite";break;default:a=t.defaultError,n.assertNever(e)}return{message:a}};!function(e){e.errToObj=e=>"string"==typeof e?{message:e}:e||{},e.toString=e=>"string"==typeof e?e:e?.message}(s||(s={}));let w=e=>{let{data:t,path:a,errorMaps:i,issueData:n}=e,r=[...a,...n.path||[]],s={...n,path:r};if(void 0!==n.message)return{...n,path:r,message:n.message};let o="";for(let e of i.filter(e=>!!e).slice().reverse())o=e(s,{data:t,defaultError:o}).message;return{...n,path:r,message:o}};function j(e,t){let a=w({issueData:t,data:e.data,path:e.path,errorMaps:[e.common.contextualErrorMap,e.schemaErrorMap,b,b==b?void 0:b].filter(e=>!!e)});e.common.issues.push(a)}class k{constructor(){this.value="valid"}dirty(){"valid"===this.value&&(this.value="dirty")}abort(){"aborted"!==this.value&&(this.value="aborted")}static mergeArray(e,t){let a=[];for(let i of t){if("aborted"===i.status)return S;"dirty"===i.status&&e.dirty(),a.push(i.value)}return{status:e.value,value:a}}static async mergeObjectAsync(e,t){let a=[];for(let e of t){let t=await e.key,i=await e.value;a.push({key:t,value:i})}return k.mergeObjectSync(e,a)}static mergeObjectSync(e,t){let a={};for(let i of t){let{key:t,value:n}=i;if("aborted"===t.status||"aborted"===n.status)return S;"dirty"===t.status&&e.dirty(),"dirty"===n.status&&e.dirty(),"__proto__"!==t.value&&(void 0!==n.value||i.alwaysSet)&&(a[t.value]=n.value)}return{status:e.value,value:a}}}let S=Object.freeze({status:"aborted"}),x=e=>({status:"dirty",value:e}),I=e=>({status:"valid",value:e}),A=e=>"aborted"===e.status,E=e=>"dirty"===e.status,T=e=>"valid"===e.status,O=e=>"undefined"!=typeof Promise&&e instanceof Promise;class N{constructor(e,t,a,i){this._cachedPath=[],this.parent=e,this.data=t,this._path=a,this._key=i}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}}let P=(e,t)=>{if(T(t))return{success:!0,data:t.value};if(!e.common.issues.length)throw Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let t=new C(e.common.issues);return this._error=t,this._error}}};function M(e){if(!e)return{};let{errorMap:t,invalid_type_error:a,required_error:i,description:n}=e;if(t&&(a||i))throw Error('Can\'t use "invalid_type_error" or "required_error" in conjunction with custom error map.');return t?{errorMap:t,description:n}:{errorMap:(t,n)=>{let{message:r}=e;return"invalid_enum_value"===t.code?{message:r??n.defaultError}:void 0===n.data?{message:r??i??n.defaultError}:"invalid_type"!==t.code?{message:n.defaultError}:{message:r??a??n.defaultError}},description:n}}class D{get description(){return this._def.description}_getType(e){return v(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:v(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new k,ctx:{common:e.parent.common,data:e.data,parsedType:v(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(O(t))throw Error("Synchronous parse encountered promise.");return t}_parseAsync(e){return Promise.resolve(this._parse(e))}parse(e,t){let a=this.safeParse(e,t);if(a.success)return a.data;throw a.error}safeParse(e,t){let a={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:v(e)},i=this._parseSync({data:e,path:a.path,parent:a});return P(a,i)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:v(e)};if(!this["~standard"].async)try{let a=this._parseSync({data:e,path:[],parent:t});return T(a)?{value:a.value}:{issues:t.common.issues}}catch(e){e?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(e=>T(e)?{value:e.value}:{issues:t.common.issues})}async parseAsync(e,t){let a=await this.safeParseAsync(e,t);if(a.success)return a.data;throw a.error}async safeParseAsync(e,t){let a={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:v(e)},i=this._parse({data:e,path:a.path,parent:a});return P(a,await (O(i)?i:Promise.resolve(i)))}refine(e,t){let a=e=>"string"==typeof t||void 0===t?{message:t}:"function"==typeof t?t(e):t;return this._refinement((t,i)=>{let n=e(t),r=()=>i.addIssue({code:_.custom,...a(t)});return"undefined"!=typeof Promise&&n instanceof Promise?n.then(e=>!!e||(r(),!1)):!!n||(r(),!1)})}refinement(e,t){return this._refinement((a,i)=>!!e(a)||(i.addIssue("function"==typeof t?t(a,i):t),!1))}_refinement(e){return new eA({schema:this,typeName:o.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:e=>this["~validate"](e)}}optional(){return eE.create(this,this._def)}nullable(){return eT.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return eu.create(this)}promise(){return eI.create(this,this._def)}or(e){return em.create([this,e],this._def)}and(e){return eg.create(this,e,this._def)}transform(e){return new eA({...M(this._def),schema:this,typeName:o.ZodEffects,effect:{type:"transform",transform:e}})}default(e){return new eO({...M(this._def),innerType:this,defaultValue:"function"==typeof e?e:()=>e,typeName:o.ZodDefault})}brand(){return new eM({typeName:o.ZodBranded,type:this,...M(this._def)})}catch(e){return new eN({...M(this._def),innerType:this,catchValue:"function"==typeof e?e:()=>e,typeName:o.ZodCatch})}describe(e){return new this.constructor({...this._def,description:e})}pipe(e){return eD.create(this,e)}readonly(){return eR.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}}let R=/^c[^\s-]{8,}$/i,L=/^[0-9a-z]+$/,Z=/^[0-9A-HJKMNP-TV-Z]{26}$/i,B=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,F=/^[a-z0-9_-]{21}$/i,$=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,U=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,V=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,z=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,H=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,K=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,W=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,G=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,q=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,J="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",Y=RegExp(`^${J}$`);function X(e){let t="[0-5]\\d";e.precision?t=`${t}\\.\\d{${e.precision}}`:null==e.precision&&(t=`${t}(\\.\\d+)?`);let a=e.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${t})${a}`}class Q extends D{_parse(e){var t,a,r,s;let o;if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==y.string){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.string,received:t.parsedType}),S}let d=new k;for(let l of this._def.checks)if("min"===l.kind)e.data.lengthl.value&&(j(o=this._getOrReturnCtx(e,o),{code:_.too_big,maximum:l.value,type:"string",inclusive:!0,exact:!1,message:l.message}),d.dirty());else if("length"===l.kind){let t=e.data.length>l.value,a=e.data.lengthe.test(t),{validation:t,code:_.invalid_string,...s.errToObj(a)})}_addCheck(e){return new Q({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...s.errToObj(e)})}url(e){return this._addCheck({kind:"url",...s.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...s.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...s.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...s.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...s.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...s.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...s.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...s.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...s.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...s.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...s.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...s.errToObj(e)})}datetime(e){return"string"==typeof e?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:void 0===e?.precision?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...s.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return"string"==typeof e?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:void 0===e?.precision?null:e?.precision,...s.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...s.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...s.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...s.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...s.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...s.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...s.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...s.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...s.errToObj(t)})}nonempty(e){return this.min(1,s.errToObj(e))}trim(){return new Q({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new Q({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new Q({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>"datetime"===e.kind)}get isDate(){return!!this._def.checks.find(e=>"date"===e.kind)}get isTime(){return!!this._def.checks.find(e=>"time"===e.kind)}get isDuration(){return!!this._def.checks.find(e=>"duration"===e.kind)}get isEmail(){return!!this._def.checks.find(e=>"email"===e.kind)}get isURL(){return!!this._def.checks.find(e=>"url"===e.kind)}get isEmoji(){return!!this._def.checks.find(e=>"emoji"===e.kind)}get isUUID(){return!!this._def.checks.find(e=>"uuid"===e.kind)}get isNANOID(){return!!this._def.checks.find(e=>"nanoid"===e.kind)}get isCUID(){return!!this._def.checks.find(e=>"cuid"===e.kind)}get isCUID2(){return!!this._def.checks.find(e=>"cuid2"===e.kind)}get isULID(){return!!this._def.checks.find(e=>"ulid"===e.kind)}get isIP(){return!!this._def.checks.find(e=>"ip"===e.kind)}get isCIDR(){return!!this._def.checks.find(e=>"cidr"===e.kind)}get isBase64(){return!!this._def.checks.find(e=>"base64"===e.kind)}get isBase64url(){return!!this._def.checks.find(e=>"base64url"===e.kind)}get minLength(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew Q({checks:[],typeName:o.ZodString,coerce:e?.coerce??!1,...M(e)});class ee extends D{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){let t;if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==y.number){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.number,received:t.parsedType}),S}let a=new k;for(let i of this._def.checks)"int"===i.kind?n.isInteger(e.data)||(j(t=this._getOrReturnCtx(e,t),{code:_.invalid_type,expected:"integer",received:"float",message:i.message}),a.dirty()):"min"===i.kind?(i.inclusive?e.datai.value:e.data>=i.value)&&(j(t=this._getOrReturnCtx(e,t),{code:_.too_big,maximum:i.value,type:"number",inclusive:i.inclusive,exact:!1,message:i.message}),a.dirty()):"multipleOf"===i.kind?0!==function(e,t){let a=(e.toString().split(".")[1]||"").length,i=(t.toString().split(".")[1]||"").length,n=a>i?a:i;return Number.parseInt(e.toFixed(n).replace(".",""))%Number.parseInt(t.toFixed(n).replace(".",""))/10**n}(e.data,i.value)&&(j(t=this._getOrReturnCtx(e,t),{code:_.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):"finite"===i.kind?Number.isFinite(e.data)||(j(t=this._getOrReturnCtx(e,t),{code:_.not_finite,message:i.message}),a.dirty()):n.assertNever(i);return{status:a.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,s.toString(t))}gt(e,t){return this.setLimit("min",e,!1,s.toString(t))}lte(e,t){return this.setLimit("max",e,!0,s.toString(t))}lt(e,t){return this.setLimit("max",e,!1,s.toString(t))}setLimit(e,t,a,i){return new ee({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:a,message:s.toString(i)}]})}_addCheck(e){return new ee({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:s.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:s.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:s.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:s.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:s.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:s.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:s.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:s.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:s.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.value"int"===e.kind||"multipleOf"===e.kind&&n.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let a of this._def.checks){if("finite"===a.kind||"int"===a.kind||"multipleOf"===a.kind)return!0;"min"===a.kind?(null===t||a.value>t)&&(t=a.value):"max"===a.kind&&(null===e||a.valuenew ee({checks:[],typeName:o.ZodNumber,coerce:e?.coerce||!1,...M(e)});class et extends D{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){let t;if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==y.bigint)return this._getInvalidInput(e);let a=new k;for(let i of this._def.checks)"min"===i.kind?(i.inclusive?e.datai.value:e.data>=i.value)&&(j(t=this._getOrReturnCtx(e,t),{code:_.too_big,type:"bigint",maximum:i.value,inclusive:i.inclusive,message:i.message}),a.dirty()):"multipleOf"===i.kind?e.data%i.value!==BigInt(0)&&(j(t=this._getOrReturnCtx(e,t),{code:_.not_multiple_of,multipleOf:i.value,message:i.message}),a.dirty()):n.assertNever(i);return{status:a.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.bigint,received:t.parsedType}),S}gte(e,t){return this.setLimit("min",e,!0,s.toString(t))}gt(e,t){return this.setLimit("min",e,!1,s.toString(t))}lte(e,t){return this.setLimit("max",e,!0,s.toString(t))}lt(e,t){return this.setLimit("max",e,!1,s.toString(t))}setLimit(e,t,a,i){return new et({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:a,message:s.toString(i)}]})}_addCheck(e){return new et({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:s.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:s.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:s.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:s.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:s.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew et({checks:[],typeName:o.ZodBigInt,coerce:e?.coerce??!1,...M(e)});class ea extends D{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==y.boolean){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.boolean,received:t.parsedType}),S}return I(e.data)}}ea.create=e=>new ea({typeName:o.ZodBoolean,coerce:e?.coerce||!1,...M(e)});class ei extends D{_parse(e){let t;if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==y.date){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.date,received:t.parsedType}),S}if(Number.isNaN(e.data.getTime()))return j(this._getOrReturnCtx(e),{code:_.invalid_date}),S;let a=new k;for(let i of this._def.checks)"min"===i.kind?e.data.getTime()i.value&&(j(t=this._getOrReturnCtx(e,t),{code:_.too_big,message:i.message,inclusive:!0,exact:!1,maximum:i.value,type:"date"}),a.dirty()):n.assertNever(i);return{status:a.value,value:new Date(e.data.getTime())}}_addCheck(e){return new ei({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:s.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:s.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)"min"===t.kind&&(null===e||t.value>e)&&(e=t.value);return null!=e?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)"max"===t.kind&&(null===e||t.valuenew ei({checks:[],coerce:e?.coerce||!1,typeName:o.ZodDate,...M(e)});class en extends D{_parse(e){if(this._getType(e)!==y.symbol){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.symbol,received:t.parsedType}),S}return I(e.data)}}en.create=e=>new en({typeName:o.ZodSymbol,...M(e)});class er extends D{_parse(e){if(this._getType(e)!==y.undefined){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.undefined,received:t.parsedType}),S}return I(e.data)}}er.create=e=>new er({typeName:o.ZodUndefined,...M(e)});class es extends D{_parse(e){if(this._getType(e)!==y.null){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.null,received:t.parsedType}),S}return I(e.data)}}es.create=e=>new es({typeName:o.ZodNull,...M(e)});class eo extends D{constructor(){super(...arguments),this._any=!0}_parse(e){return I(e.data)}}eo.create=e=>new eo({typeName:o.ZodAny,...M(e)});class ed extends D{constructor(){super(...arguments),this._unknown=!0}_parse(e){return I(e.data)}}ed.create=e=>new ed({typeName:o.ZodUnknown,...M(e)});class el extends D{_parse(e){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.never,received:t.parsedType}),S}}el.create=e=>new el({typeName:o.ZodNever,...M(e)});class ec extends D{_parse(e){if(this._getType(e)!==y.undefined){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.void,received:t.parsedType}),S}return I(e.data)}}ec.create=e=>new ec({typeName:o.ZodVoid,...M(e)});class eu extends D{_parse(e){let{ctx:t,status:a}=this._processInputParams(e),i=this._def;if(t.parsedType!==y.array)return j(t,{code:_.invalid_type,expected:y.array,received:t.parsedType}),S;if(null!==i.exactLength){let e=t.data.length>i.exactLength.value,n=t.data.lengthi.maxLength.value&&(j(t,{code:_.too_big,maximum:i.maxLength.value,type:"array",inclusive:!0,exact:!1,message:i.maxLength.message}),a.dirty()),t.common.async)return Promise.all([...t.data].map((e,a)=>i.type._parseAsync(new N(t,e,t.path,a)))).then(e=>k.mergeArray(a,e));let n=[...t.data].map((e,a)=>i.type._parseSync(new N(t,e,t.path,a)));return k.mergeArray(a,n)}get element(){return this._def.type}min(e,t){return new eu({...this._def,minLength:{value:e,message:s.toString(t)}})}max(e,t){return new eu({...this._def,maxLength:{value:e,message:s.toString(t)}})}length(e,t){return new eu({...this._def,exactLength:{value:e,message:s.toString(t)}})}nonempty(e){return this.min(1,e)}}eu.create=(e,t)=>new eu({type:e,minLength:null,maxLength:null,exactLength:null,typeName:o.ZodArray,...M(t)});class eh extends D{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(null!==this._cached)return this._cached;let e=this._def.shape(),t=n.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==y.object){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.object,received:t.parsedType}),S}let{status:t,ctx:a}=this._processInputParams(e),{shape:i,keys:n}=this._getCached(),r=[];if(!(this._def.catchall instanceof el&&"strip"===this._def.unknownKeys))for(let e in a.data)n.includes(e)||r.push(e);let s=[];for(let e of n){let t=i[e],n=a.data[e];s.push({key:{status:"valid",value:e},value:t._parse(new N(a,n,a.path,e)),alwaysSet:e in a.data})}if(this._def.catchall instanceof el){let e=this._def.unknownKeys;if("passthrough"===e)for(let e of r)s.push({key:{status:"valid",value:e},value:{status:"valid",value:a.data[e]}});else if("strict"===e)r.length>0&&(j(a,{code:_.unrecognized_keys,keys:r}),t.dirty());else if("strip"===e);else throw Error("Internal ZodObject error: invalid unknownKeys value.")}else{let e=this._def.catchall;for(let t of r){let i=a.data[t];s.push({key:{status:"valid",value:t},value:e._parse(new N(a,i,a.path,t)),alwaysSet:t in a.data})}}return a.common.async?Promise.resolve().then(async()=>{let e=[];for(let t of s){let a=await t.key,i=await t.value;e.push({key:a,value:i,alwaysSet:t.alwaysSet})}return e}).then(e=>k.mergeObjectSync(t,e)):k.mergeObjectSync(t,s)}get shape(){return this._def.shape()}strict(e){return s.errToObj,new eh({...this._def,unknownKeys:"strict",...void 0!==e?{errorMap:(t,a)=>{let i=this._def.errorMap?.(t,a).message??a.defaultError;return"unrecognized_keys"===t.code?{message:s.errToObj(e).message??i}:{message:i}}}:{}})}strip(){return new eh({...this._def,unknownKeys:"strip"})}passthrough(){return new eh({...this._def,unknownKeys:"passthrough"})}extend(e){return new eh({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new eh({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:o.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new eh({...this._def,catchall:e})}pick(e){let t={};for(let a of n.objectKeys(e))e[a]&&this.shape[a]&&(t[a]=this.shape[a]);return new eh({...this._def,shape:()=>t})}omit(e){let t={};for(let a of n.objectKeys(this.shape))e[a]||(t[a]=this.shape[a]);return new eh({...this._def,shape:()=>t})}deepPartial(){return function e(t){if(t instanceof eh){let a={};for(let i in t.shape){let n=t.shape[i];a[i]=eE.create(e(n))}return new eh({...t._def,shape:()=>a})}return t instanceof eu?new eu({...t._def,type:e(t.element)}):t instanceof eE?eE.create(e(t.unwrap())):t instanceof eT?eT.create(e(t.unwrap())):t instanceof ey?ey.create(t.items.map(t=>e(t))):t}(this)}partial(e){let t={};for(let a of n.objectKeys(this.shape)){let i=this.shape[a];e&&!e[a]?t[a]=i:t[a]=i.optional()}return new eh({...this._def,shape:()=>t})}required(e){let t={};for(let a of n.objectKeys(this.shape))if(e&&!e[a])t[a]=this.shape[a];else{let e=this.shape[a];for(;e instanceof eE;)e=e._def.innerType;t[a]=e}return new eh({...this._def,shape:()=>t})}keyof(){return ek(n.objectKeys(this.shape))}}eh.create=(e,t)=>new eh({shape:()=>e,unknownKeys:"strip",catchall:el.create(),typeName:o.ZodObject,...M(t)}),eh.strictCreate=(e,t)=>new eh({shape:()=>e,unknownKeys:"strict",catchall:el.create(),typeName:o.ZodObject,...M(t)}),eh.lazycreate=(e,t)=>new eh({shape:e,unknownKeys:"strip",catchall:el.create(),typeName:o.ZodObject,...M(t)});class em extends D{_parse(e){let{ctx:t}=this._processInputParams(e),a=this._def.options;if(t.common.async)return Promise.all(a.map(async e=>{let a={...t,common:{...t.common,issues:[]},parent:null};return{result:await e._parseAsync({data:t.data,path:t.path,parent:a}),ctx:a}})).then(function(e){for(let t of e)if("valid"===t.result.status)return t.result;for(let a of e)if("dirty"===a.result.status)return t.common.issues.push(...a.ctx.common.issues),a.result;let a=e.map(e=>new C(e.ctx.common.issues));return j(t,{code:_.invalid_union,unionErrors:a}),S});{let e;let i=[];for(let n of a){let a={...t,common:{...t.common,issues:[]},parent:null},r=n._parseSync({data:t.data,path:t.path,parent:a});if("valid"===r.status)return r;"dirty"!==r.status||e||(e={result:r,ctx:a}),a.common.issues.length&&i.push(a.common.issues)}if(e)return t.common.issues.push(...e.ctx.common.issues),e.result;let n=i.map(e=>new C(e));return j(t,{code:_.invalid_union,unionErrors:n}),S}}get options(){return this._def.options}}em.create=(e,t)=>new em({options:e,typeName:o.ZodUnion,...M(t)});let ep=e=>{if(e instanceof ew)return ep(e.schema);if(e instanceof eA)return ep(e.innerType());if(e instanceof ej)return[e.value];if(e instanceof eS)return e.options;if(e instanceof ex)return n.objectValues(e.enum);if(e instanceof eO)return ep(e._def.innerType);if(e instanceof er)return[void 0];else if(e instanceof es)return[null];else if(e instanceof eE)return[void 0,...ep(e.unwrap())];else if(e instanceof eT)return[null,...ep(e.unwrap())];else if(e instanceof eM)return ep(e.unwrap());else if(e instanceof eR)return ep(e.unwrap());else if(e instanceof eN)return ep(e._def.innerType);else return[]};class ef extends D{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==y.object)return j(t,{code:_.invalid_type,expected:y.object,received:t.parsedType}),S;let a=this.discriminator,i=t.data[a],n=this.optionsMap.get(i);return n?t.common.async?n._parseAsync({data:t.data,path:t.path,parent:t}):n._parseSync({data:t.data,path:t.path,parent:t}):(j(t,{code:_.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[a]}),S)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,a){let i=new Map;for(let a of t){let t=ep(a.shape[e]);if(!t.length)throw Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let n of t){if(i.has(n))throw Error(`Discriminator property ${String(e)} has duplicate value ${String(n)}`);i.set(n,a)}}return new ef({typeName:o.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:i,...M(a)})}}class eg extends D{_parse(e){let{status:t,ctx:a}=this._processInputParams(e),i=(e,i)=>{if(A(e)||A(i))return S;let r=function e(t,a){let i=v(t),r=v(a);if(t===a)return{valid:!0,data:t};if(i===y.object&&r===y.object){let i=n.objectKeys(a),r=n.objectKeys(t).filter(e=>-1!==i.indexOf(e)),s={...t,...a};for(let i of r){let n=e(t[i],a[i]);if(!n.valid)return{valid:!1};s[i]=n.data}return{valid:!0,data:s}}if(i===y.array&&r===y.array){if(t.length!==a.length)return{valid:!1};let i=[];for(let n=0;ni(e,t)):i(this._def.left._parseSync({data:a.data,path:a.path,parent:a}),this._def.right._parseSync({data:a.data,path:a.path,parent:a}))}}eg.create=(e,t,a)=>new eg({left:e,right:t,typeName:o.ZodIntersection,...M(a)});class ey extends D{_parse(e){let{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==y.array)return j(a,{code:_.invalid_type,expected:y.array,received:a.parsedType}),S;if(a.data.lengththis._def.items.length&&(j(a,{code:_.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let i=[...a.data].map((e,t)=>{let i=this._def.items[t]||this._def.rest;return i?i._parse(new N(a,e,a.path,t)):null}).filter(e=>!!e);return a.common.async?Promise.all(i).then(e=>k.mergeArray(t,e)):k.mergeArray(t,i)}get items(){return this._def.items}rest(e){return new ey({...this._def,rest:e})}}ey.create=(e,t)=>{if(!Array.isArray(e))throw Error("You must pass an array of schemas to z.tuple([ ... ])");return new ey({items:e,typeName:o.ZodTuple,rest:null,...M(t)})};class ev extends D{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==y.object)return j(a,{code:_.invalid_type,expected:y.object,received:a.parsedType}),S;let i=[],n=this._def.keyType,r=this._def.valueType;for(let e in a.data)i.push({key:n._parse(new N(a,e,a.path,e)),value:r._parse(new N(a,a.data[e],a.path,e)),alwaysSet:e in a.data});return a.common.async?k.mergeObjectAsync(t,i):k.mergeObjectSync(t,i)}get element(){return this._def.valueType}static create(e,t,a){return new ev(t instanceof D?{keyType:e,valueType:t,typeName:o.ZodRecord,...M(a)}:{keyType:Q.create(),valueType:e,typeName:o.ZodRecord,...M(t)})}}class e_ extends D{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==y.map)return j(a,{code:_.invalid_type,expected:y.map,received:a.parsedType}),S;let i=this._def.keyType,n=this._def.valueType,r=[...a.data.entries()].map(([e,t],r)=>({key:i._parse(new N(a,e,a.path,[r,"key"])),value:n._parse(new N(a,t,a.path,[r,"value"]))}));if(a.common.async){let e=new Map;return Promise.resolve().then(async()=>{for(let a of r){let i=await a.key,n=await a.value;if("aborted"===i.status||"aborted"===n.status)return S;("dirty"===i.status||"dirty"===n.status)&&t.dirty(),e.set(i.value,n.value)}return{status:t.value,value:e}})}{let e=new Map;for(let a of r){let i=a.key,n=a.value;if("aborted"===i.status||"aborted"===n.status)return S;("dirty"===i.status||"dirty"===n.status)&&t.dirty(),e.set(i.value,n.value)}return{status:t.value,value:e}}}}e_.create=(e,t,a)=>new e_({valueType:t,keyType:e,typeName:o.ZodMap,...M(a)});class eC extends D{_parse(e){let{status:t,ctx:a}=this._processInputParams(e);if(a.parsedType!==y.set)return j(a,{code:_.invalid_type,expected:y.set,received:a.parsedType}),S;let i=this._def;null!==i.minSize&&a.data.sizei.maxSize.value&&(j(a,{code:_.too_big,maximum:i.maxSize.value,type:"set",inclusive:!0,exact:!1,message:i.maxSize.message}),t.dirty());let n=this._def.valueType;function r(e){let a=new Set;for(let i of e){if("aborted"===i.status)return S;"dirty"===i.status&&t.dirty(),a.add(i.value)}return{status:t.value,value:a}}let s=[...a.data.values()].map((e,t)=>n._parse(new N(a,e,a.path,t)));return a.common.async?Promise.all(s).then(e=>r(e)):r(s)}min(e,t){return new eC({...this._def,minSize:{value:e,message:s.toString(t)}})}max(e,t){return new eC({...this._def,maxSize:{value:e,message:s.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}}eC.create=(e,t)=>new eC({valueType:e,minSize:null,maxSize:null,typeName:o.ZodSet,...M(t)});class eb extends D{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==y.function)return j(t,{code:_.invalid_type,expected:y.function,received:t.parsedType}),S;function a(e,a){return w({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,b,b].filter(e=>!!e),issueData:{code:_.invalid_arguments,argumentsError:a}})}function i(e,a){return w({data:e,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,b,b].filter(e=>!!e),issueData:{code:_.invalid_return_type,returnTypeError:a}})}let n={errorMap:t.common.contextualErrorMap},r=t.data;if(this._def.returns instanceof eI){let e=this;return I(async function(...t){let s=new C([]),o=await e._def.args.parseAsync(t,n).catch(e=>{throw s.addIssue(a(t,e)),s}),d=await Reflect.apply(r,this,o);return await e._def.returns._def.type.parseAsync(d,n).catch(e=>{throw s.addIssue(i(d,e)),s})})}{let e=this;return I(function(...t){let s=e._def.args.safeParse(t,n);if(!s.success)throw new C([a(t,s.error)]);let o=Reflect.apply(r,this,s.data),d=e._def.returns.safeParse(o,n);if(!d.success)throw new C([i(o,d.error)]);return d.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new eb({...this._def,args:ey.create(e).rest(ed.create())})}returns(e){return new eb({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,a){return new eb({args:e||ey.create([]).rest(ed.create()),returns:t||ed.create(),typeName:o.ZodFunction,...M(a)})}}class ew extends D{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}}ew.create=(e,t)=>new ew({getter:e,typeName:o.ZodLazy,...M(t)});class ej extends D{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return j(t,{received:t.data,code:_.invalid_literal,expected:this._def.value}),S}return{status:"valid",value:e.data}}get value(){return this._def.value}}function ek(e,t){return new eS({values:e,typeName:o.ZodEnum,...M(t)})}ej.create=(e,t)=>new ej({value:e,typeName:o.ZodLiteral,...M(t)});class eS extends D{_parse(e){if("string"!=typeof e.data){let t=this._getOrReturnCtx(e),a=this._def.values;return j(t,{expected:n.joinValues(a),received:t.parsedType,code:_.invalid_type}),S}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),a=this._def.values;return j(t,{received:t.data,code:_.invalid_enum_value,options:a}),S}return I(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return eS.create(e,{...this._def,...t})}exclude(e,t=this._def){return eS.create(this.options.filter(t=>!e.includes(t)),{...this._def,...t})}}eS.create=ek;class ex extends D{_parse(e){let t=n.getValidEnumValues(this._def.values),a=this._getOrReturnCtx(e);if(a.parsedType!==y.string&&a.parsedType!==y.number){let e=n.objectValues(t);return j(a,{expected:n.joinValues(e),received:a.parsedType,code:_.invalid_type}),S}if(this._cache||(this._cache=new Set(n.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let e=n.objectValues(t);return j(a,{received:a.data,code:_.invalid_enum_value,options:e}),S}return I(e.data)}get enum(){return this._def.values}}ex.create=(e,t)=>new ex({values:e,typeName:o.ZodNativeEnum,...M(t)});class eI extends D{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);return t.parsedType!==y.promise&&!1===t.common.async?(j(t,{code:_.invalid_type,expected:y.promise,received:t.parsedType}),S):I((t.parsedType===y.promise?t.data:Promise.resolve(t.data)).then(e=>this._def.type.parseAsync(e,{path:t.path,errorMap:t.common.contextualErrorMap})))}}eI.create=(e,t)=>new eI({type:e,typeName:o.ZodPromise,...M(t)});class eA extends D{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===o.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:a}=this._processInputParams(e),i=this._def.effect||null,r={addIssue:e=>{j(a,e),e.fatal?t.abort():t.dirty()},get path(){return a.path}};if(r.addIssue=r.addIssue.bind(r),"preprocess"===i.type){let e=i.transform(a.data,r);if(a.common.async)return Promise.resolve(e).then(async e=>{if("aborted"===t.value)return S;let i=await this._def.schema._parseAsync({data:e,path:a.path,parent:a});return"aborted"===i.status?S:"dirty"===i.status||"dirty"===t.value?x(i.value):i});{if("aborted"===t.value)return S;let i=this._def.schema._parseSync({data:e,path:a.path,parent:a});return"aborted"===i.status?S:"dirty"===i.status||"dirty"===t.value?x(i.value):i}}if("refinement"===i.type){let e=e=>{let t=i.refinement(e,r);if(a.common.async)return Promise.resolve(t);if(t instanceof Promise)throw Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return e};if(!1!==a.common.async)return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(a=>"aborted"===a.status?S:("dirty"===a.status&&t.dirty(),e(a.value).then(()=>({status:t.value,value:a.value}))));{let i=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});return"aborted"===i.status?S:("dirty"===i.status&&t.dirty(),e(i.value),{status:t.value,value:i.value})}}if("transform"===i.type){if(!1!==a.common.async)return this._def.schema._parseAsync({data:a.data,path:a.path,parent:a}).then(e=>T(e)?Promise.resolve(i.transform(e.value,r)).then(e=>({status:t.value,value:e})):S);{let e=this._def.schema._parseSync({data:a.data,path:a.path,parent:a});if(!T(e))return S;let n=i.transform(e.value,r);if(n instanceof Promise)throw Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:n}}}n.assertNever(i)}}eA.create=(e,t,a)=>new eA({schema:e,typeName:o.ZodEffects,effect:t,...M(a)}),eA.createWithPreprocess=(e,t,a)=>new eA({schema:t,effect:{type:"preprocess",transform:e},typeName:o.ZodEffects,...M(a)});class eE extends D{_parse(e){return this._getType(e)===y.undefined?I(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}eE.create=(e,t)=>new eE({innerType:e,typeName:o.ZodOptional,...M(t)});class eT extends D{_parse(e){return this._getType(e)===y.null?I(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}}eT.create=(e,t)=>new eT({innerType:e,typeName:o.ZodNullable,...M(t)});class eO extends D{_parse(e){let{ctx:t}=this._processInputParams(e),a=t.data;return t.parsedType===y.undefined&&(a=this._def.defaultValue()),this._def.innerType._parse({data:a,path:t.path,parent:t})}removeDefault(){return this._def.innerType}}eO.create=(e,t)=>new eO({innerType:e,typeName:o.ZodDefault,defaultValue:"function"==typeof t.default?t.default:()=>t.default,...M(t)});class eN extends D{_parse(e){let{ctx:t}=this._processInputParams(e),a={...t,common:{...t.common,issues:[]}},i=this._def.innerType._parse({data:a.data,path:a.path,parent:{...a}});return O(i)?i.then(e=>({status:"valid",value:"valid"===e.status?e.value:this._def.catchValue({get error(){return new C(a.common.issues)},input:a.data})})):{status:"valid",value:"valid"===i.status?i.value:this._def.catchValue({get error(){return new C(a.common.issues)},input:a.data})}}removeCatch(){return this._def.innerType}}eN.create=(e,t)=>new eN({innerType:e,typeName:o.ZodCatch,catchValue:"function"==typeof t.catch?t.catch:()=>t.catch,...M(t)});class eP extends D{_parse(e){if(this._getType(e)!==y.nan){let t=this._getOrReturnCtx(e);return j(t,{code:_.invalid_type,expected:y.nan,received:t.parsedType}),S}return{status:"valid",value:e.data}}}eP.create=e=>new eP({typeName:o.ZodNaN,...M(e)}),Symbol("zod_brand");class eM extends D{_parse(e){let{ctx:t}=this._processInputParams(e),a=t.data;return this._def.type._parse({data:a,path:t.path,parent:t})}unwrap(){return this._def.type}}class eD extends D{_parse(e){let{status:t,ctx:a}=this._processInputParams(e);if(a.common.async)return(async()=>{let e=await this._def.in._parseAsync({data:a.data,path:a.path,parent:a});return"aborted"===e.status?S:"dirty"===e.status?(t.dirty(),x(e.value)):this._def.out._parseAsync({data:e.value,path:a.path,parent:a})})();{let e=this._def.in._parseSync({data:a.data,path:a.path,parent:a});return"aborted"===e.status?S:"dirty"===e.status?(t.dirty(),{status:"dirty",value:e.value}):this._def.out._parseSync({data:e.value,path:a.path,parent:a})}}static create(e,t){return new eD({in:e,out:t,typeName:o.ZodPipeline})}}class eR extends D{_parse(e){let t=this._def.innerType._parse(e),a=e=>(T(e)&&(e.value=Object.freeze(e.value)),e);return O(t)?t.then(e=>a(e)):a(t)}unwrap(){return this._def.innerType}}function eL(e,t){let a="function"==typeof e?e(t):"string"==typeof e?{message:e}:e;return"string"==typeof a?{message:a}:a}eR.create=(e,t)=>new eR({innerType:e,typeName:o.ZodReadonly,...M(t)}),eh.lazycreate,function(e){e.ZodString="ZodString",e.ZodNumber="ZodNumber",e.ZodNaN="ZodNaN",e.ZodBigInt="ZodBigInt",e.ZodBoolean="ZodBoolean",e.ZodDate="ZodDate",e.ZodSymbol="ZodSymbol",e.ZodUndefined="ZodUndefined",e.ZodNull="ZodNull",e.ZodAny="ZodAny",e.ZodUnknown="ZodUnknown",e.ZodNever="ZodNever",e.ZodVoid="ZodVoid",e.ZodArray="ZodArray",e.ZodObject="ZodObject",e.ZodUnion="ZodUnion",e.ZodDiscriminatedUnion="ZodDiscriminatedUnion",e.ZodIntersection="ZodIntersection",e.ZodTuple="ZodTuple",e.ZodRecord="ZodRecord",e.ZodMap="ZodMap",e.ZodSet="ZodSet",e.ZodFunction="ZodFunction",e.ZodLazy="ZodLazy",e.ZodLiteral="ZodLiteral",e.ZodEnum="ZodEnum",e.ZodEffects="ZodEffects",e.ZodNativeEnum="ZodNativeEnum",e.ZodOptional="ZodOptional",e.ZodNullable="ZodNullable",e.ZodDefault="ZodDefault",e.ZodCatch="ZodCatch",e.ZodPromise="ZodPromise",e.ZodBranded="ZodBranded",e.ZodPipeline="ZodPipeline",e.ZodReadonly="ZodReadonly"}(o||(o={}));let eZ=(e,t={message:`Input not instance of ${e.name}`})=>(function(e,t={},a){return e?eo.create().superRefine((a,i)=>{let n=e(a);if(n instanceof Promise)return n.then(e=>{if(!e){let e=eL(t,a),n=e.fatal??void 0??!0;i.addIssue({code:"custom",...e,fatal:n})}});if(!n){let e=eL(t,a),n=e.fatal??void 0??!0;i.addIssue({code:"custom",...e,fatal:n})}}):eo.create()})(t=>t instanceof e,t),eB=Q.create;ee.create,eP.create,et.create,ea.create,ei.create,en.create,er.create,es.create,eo.create,ed.create,el.create,ec.create,eu.create;let eF=eh.create;function e$(e,t){return!!e.behaviors[t]}function eU(e,t){if(!e$(e,t))throw Error(`Behavior ${t} not found`);return e.behaviors[t]}eh.strictCreate,em.create,ef.create,eg.create,ey.create,ev.create,e_.create,eC.create,eb.create,ew.create,ej.create,eS.create,ex.create,eI.create,eA.create,eE.create,eT.create,eA.createWithPreprocess,eD.create;var eV=class extends Error{constructor(e,t,a){let i=e?.customData?.message?.match?.(/\(([^)]+)\)/)?.at(1)||e?.code||"unknown";super((0,l.sC)("errors",l.KP[i]||"unknownError",t,a??l.x3.locale)),this.name="FirebaseUIError",this.code=i}};function ez(e,t,a){let{translations:i,locale:n}=e;throw t?.code==="auth/account-exists-with-different-credential"?(a?.enableHandleExistingCredential&&t.credential?window.sessionStorage.setItem("pendingCred",JSON.stringify(t.credential)):window.sessionStorage.removeItem("pendingCred"),new eV({code:"auth/account-exists-with-different-credential",customData:{email:t.customData?.email}},i,n)):t?.name==="FirebaseError"?new eV(t,i,n):new eV({code:"unknown"},i,n)}async function eH(e,t){let a=window.sessionStorage.getItem("pendingCred");if(!a)return t;try{let i=JSON.parse(a);e.setState("linking");let n=await (0,d.OS)(t.user,i);return e.setState("idle"),window.sessionStorage.removeItem("pendingCred"),n}catch{return window.sessionStorage.removeItem("pendingCred"),t}}async function eK(e,t,a){try{let i=(0,d.xI)(e.app),n=d.IX.credential(t,a);if(e$(e,"autoUpgradeAnonymousCredential")){let t=await eU(e,"autoUpgradeAnonymousCredential")(e,n);if(t)return eH(e,t)}e.setState("signing-in");let r=await (0,d.eN)(i,n);return eH(e,r)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function eW(e,t,a){try{let i=(0,d.xI)(e.app),n=d.IX.credential(t,a);if(e$(e,"autoUpgradeAnonymousCredential")){let t=await eU(e,"autoUpgradeAnonymousCredential")(e,n);if(t)return eH(e,t)}e.setState("creating-user");let r=await (0,d.eJ)(i,t,a);return eH(e,r)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function eG(e,t,a){try{let i=(0,d.xI)(e.app);return e.setState("signing-in"),await (0,d.ik)(i,t,a)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function eq(e,t,a){try{let i=(0,d.xI)(e.app),n=i.currentUser,r=d.Oe.credential(t.verificationId,a);if(n?.isAnonymous&&e$(e,"autoUpgradeAnonymousCredential")){let t=await eU(e,"autoUpgradeAnonymousCredential")(e,r);if(t)return eH(e,t)}e.setState("signing-in");let s=await (0,d.eN)(i,r);return eH(e,s)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function eJ(e,t){try{let a=(0,d.xI)(e.app);e.setState("sending-password-reset-email"),await (0,d.J1)(a,t)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function eY(e,t){try{let a=(0,d.xI)(e.app),i={url:window.location.href,handleCodeInApp:!0};e.setState("sending-sign-in-link-to-email"),await (0,d.MN)(a,t,i),window.localStorage.setItem("emailForSignIn",t)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function eX(e,t,a){try{let i=e.getAuth(),n=d.IX.credentialWithLink(t,a);if(e$(e,"autoUpgradeAnonymousCredential")){let t=await eU(e,"autoUpgradeAnonymousCredential")(e,n);if(t)return eH(e,t)}e.setState("signing-in");let r=await (0,d.eN)(i,n);return eH(e,r)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function eQ(e,t){try{let a=(0,d.xI)(e.app);e$(e,"autoUpgradeAnonymousProvider")&&await eU(e,"autoUpgradeAnonymousProvider")(e,t),e.setState("signing-in"),await (0,d.$2)(a,t)}catch(t){ez(e,t)}finally{e.setState("idle")}}async function e1(e,t){try{let a=e.getAuth();if(!(0,d.Pj)(a,t))return null;let i=window.localStorage.getItem("emailForSignIn");if(!i)return null;e.setState("signing-in");let n=await eX(e,i,t);return e.setState("idle"),eH(e,n)}catch(t){ez(e,t)}finally{e.setState("idle"),window.localStorage.removeItem("emailForSignIn")}}var e0=((e={})=>{let t=m(e);return t.setKey=function(e,a){let i=t.value;void 0===a&&e in t.value?(t.value={...t.value},delete t.value[e],t.notify(i,e)):t.value[e]!==a&&(t.value={...t.value,[e]:a},t.notify(i,e))},t})({});function e6(e,t="[DEFAULT]"){let a=e.behaviors?.reduce((e,t)=>({...e,...t}),{});e.translations??(e.translations=[]),e.translations.push(l.x3);let i=e.translations?.reduce((e,t)=>({...e,[t.locale]:t.translations}),{});e0.setKey(t,function(e={}){let t=m(e);return t.setKey=(e,a)=>{if(function(e,t){let a=f(t),i=e;for(let e of a){if(void 0===i)break;i=i[e]}return i}(t.value,e)!==a){var i;let n=t.value;t.value=function e(t,a,i){var n;let r=a[0],s=Array.isArray(t)?[...t]:{...t};return 1===a.length?void 0===i?Array.isArray(s)?s.splice(r,1):delete s[r]:s[r]=i:(n=a[1],r in s||(g.test(n)?s[r]=Array(parseInt(n,10)+1):s[r]={}),s[r]=e(s[r],a.slice(1),i)),s}(null!=(i=t.value)?i:{},f(e),a),t.notify(n,e)}},t}({app:e.app,getAuth:()=>(0,d.xI)(e.app),locale:e.locale??l.x3.locale,setLocale:e=>{e0.get()[t].setKey("locale",e)},state:a?.autoAnonymousLogin?"signing-in":"loading",setState:e=>{e0.get()[t].setKey("state",e)},translations:i,behaviors:a??{},recaptchaMode:e.recaptchaMode??"normal"}));let n=e0.get()[t];return e$(n.get(),"autoAnonymousLogin")?eU(n.get(),"autoAnonymousLogin")(n.get()):n.setKey("state","idle"),n}function e4(e){return eF({email:eB().email({message:(0,l.sC)("errors","invalidEmail",e)}),password:eB().min(8,{message:(0,l.sC)("errors","weakPassword",e)})})}function e2(e){return eF({email:eB().email({message:(0,l.sC)("errors","invalidEmail",e)})})}function e3(e){return eF({email:eB().email({message:(0,l.sC)("errors","invalidEmail",e)})})}function e9(e){return eF({phoneNumber:eB().min(1,{message:(0,l.sC)("errors","missingPhoneNumber",e)}).min(10,{message:(0,l.sC)("errors","invalidPhoneNumber",e)}),verificationCode:eB().refine(e=>!e||e.length>=6,{message:(0,l.sC)("errors","invalidVerificationCode",e)}),recaptchaVerifier:eZ(d.kT)})}var e5=[{name:"United States",dialCode:"+1",code:"US",emoji:"\uD83C\uDDFA\uD83C\uDDF8"},{name:"United Kingdom",dialCode:"+44",code:"GB",emoji:"\uD83C\uDDEC\uD83C\uDDE7"},{name:"Afghanistan",dialCode:"+93",code:"AF",emoji:"\uD83C\uDDE6\uD83C\uDDEB"},{name:"Albania",dialCode:"+355",code:"AL",emoji:"\uD83C\uDDE6\uD83C\uDDF1"},{name:"Algeria",dialCode:"+213",code:"DZ",emoji:"\uD83C\uDDE9\uD83C\uDDFF"},{name:"American Samoa",dialCode:"+1",code:"AS",emoji:"\uD83C\uDDE6\uD83C\uDDF8"},{name:"Andorra",dialCode:"+376",code:"AD",emoji:"\uD83C\uDDE6\uD83C\uDDE9"},{name:"Angola",dialCode:"+244",code:"AO",emoji:"\uD83C\uDDE6\uD83C\uDDF4"},{name:"Anguilla",dialCode:"+1",code:"AI",emoji:"\uD83C\uDDE6\uD83C\uDDEE"},{name:"Antigua and Barbuda",dialCode:"+1",code:"AG",emoji:"\uD83C\uDDE6\uD83C\uDDEC"},{name:"Argentina",dialCode:"+54",code:"AR",emoji:"\uD83C\uDDE6\uD83C\uDDF7"},{name:"Armenia",dialCode:"+374",code:"AM",emoji:"\uD83C\uDDE6\uD83C\uDDF2"},{name:"Aruba",dialCode:"+297",code:"AW",emoji:"\uD83C\uDDE6\uD83C\uDDFC"},{name:"Ascension Island",dialCode:"+247",code:"AC",emoji:"\uD83C\uDDE6\uD83C\uDDE8"},{name:"Australia",dialCode:"+61",code:"AU",emoji:"\uD83C\uDDE6\uD83C\uDDFA"},{name:"Austria",dialCode:"+43",code:"AT",emoji:"\uD83C\uDDE6\uD83C\uDDF9"},{name:"Azerbaijan",dialCode:"+994",code:"AZ",emoji:"\uD83C\uDDE6\uD83C\uDDFF"},{name:"Bahamas",dialCode:"+1",code:"BS",emoji:"\uD83C\uDDE7\uD83C\uDDF8"},{name:"Bahrain",dialCode:"+973",code:"BH",emoji:"\uD83C\uDDE7\uD83C\uDDED"},{name:"Bangladesh",dialCode:"+880",code:"BD",emoji:"\uD83C\uDDE7\uD83C\uDDE9"},{name:"Barbados",dialCode:"+1",code:"BB",emoji:"\uD83C\uDDE7\uD83C\uDDE7"},{name:"Belarus",dialCode:"+375",code:"BY",emoji:"\uD83C\uDDE7\uD83C\uDDFE"},{name:"Belgium",dialCode:"+32",code:"BE",emoji:"\uD83C\uDDE7\uD83C\uDDEA"},{name:"Belize",dialCode:"+501",code:"BZ",emoji:"\uD83C\uDDE7\uD83C\uDDFF"},{name:"Benin",dialCode:"+229",code:"BJ",emoji:"\uD83C\uDDE7\uD83C\uDDEF"},{name:"Bermuda",dialCode:"+1",code:"BM",emoji:"\uD83C\uDDE7\uD83C\uDDF2"},{name:"Bhutan",dialCode:"+975",code:"BT",emoji:"\uD83C\uDDE7\uD83C\uDDF9"},{name:"Bolivia",dialCode:"+591",code:"BO",emoji:"\uD83C\uDDE7\uD83C\uDDF4"},{name:"Bosnia and Herzegovina",dialCode:"+387",code:"BA",emoji:"\uD83C\uDDE7\uD83C\uDDE6"},{name:"Botswana",dialCode:"+267",code:"BW",emoji:"\uD83C\uDDE7\uD83C\uDDFC"},{name:"Brazil",dialCode:"+55",code:"BR",emoji:"\uD83C\uDDE7\uD83C\uDDF7"},{name:"British Indian Ocean Territory",dialCode:"+246",code:"IO",emoji:"\uD83C\uDDEE\uD83C\uDDF4"},{name:"British Virgin Islands",dialCode:"+1",code:"VG",emoji:"\uD83C\uDDFB\uD83C\uDDEC"},{name:"Brunei",dialCode:"+673",code:"BN",emoji:"\uD83C\uDDE7\uD83C\uDDF3"},{name:"Bulgaria",dialCode:"+359",code:"BG",emoji:"\uD83C\uDDE7\uD83C\uDDEC"},{name:"Burkina Faso",dialCode:"+226",code:"BF",emoji:"\uD83C\uDDE7\uD83C\uDDEB"},{name:"Burundi",dialCode:"+257",code:"BI",emoji:"\uD83C\uDDE7\uD83C\uDDEE"},{name:"Cambodia",dialCode:"+855",code:"KH",emoji:"\uD83C\uDDF0\uD83C\uDDED"},{name:"Cameroon",dialCode:"+237",code:"CM",emoji:"\uD83C\uDDE8\uD83C\uDDF2"},{name:"Canada",dialCode:"+1",code:"CA",emoji:"\uD83C\uDDE8\uD83C\uDDE6"},{name:"Cape Verde",dialCode:"+238",code:"CV",emoji:"\uD83C\uDDE8\uD83C\uDDFB"},{name:"Caribbean Netherlands",dialCode:"+599",code:"BQ",emoji:"\uD83C\uDDE7\uD83C\uDDF6"},{name:"Cayman Islands",dialCode:"+1",code:"KY",emoji:"\uD83C\uDDF0\uD83C\uDDFE"},{name:"Central African Republic",dialCode:"+236",code:"CF",emoji:"\uD83C\uDDE8\uD83C\uDDEB"},{name:"Chad",dialCode:"+235",code:"TD",emoji:"\uD83C\uDDF9\uD83C\uDDE9"},{name:"Chile",dialCode:"+56",code:"CL",emoji:"\uD83C\uDDE8\uD83C\uDDF1"},{name:"China",dialCode:"+86",code:"CN",emoji:"\uD83C\uDDE8\uD83C\uDDF3"},{name:"Christmas Island",dialCode:"+61",code:"CX",emoji:"\uD83C\uDDE8\uD83C\uDDFD"},{name:"Cocos [Keeling] Islands",dialCode:"+61",code:"CC",emoji:"\uD83C\uDDE8\uD83C\uDDE8"},{name:"Colombia",dialCode:"+57",code:"CO",emoji:"\uD83C\uDDE8\uD83C\uDDF4"},{name:"Comoros",dialCode:"+269",code:"KM",emoji:"\uD83C\uDDF0\uD83C\uDDF2"},{name:"Democratic Republic Congo",dialCode:"+243",code:"CD",emoji:"\uD83C\uDDE8\uD83C\uDDE9"},{name:"Republic of Congo",dialCode:"+242",code:"CG",emoji:"\uD83C\uDDE8\uD83C\uDDEC"},{name:"Cook Islands",dialCode:"+682",code:"CK",emoji:"\uD83C\uDDE8\uD83C\uDDF0"},{name:"Costa Rica",dialCode:"+506",code:"CR",emoji:"\uD83C\uDDE8\uD83C\uDDF7"},{name:"C\xf4te d'Ivoire",dialCode:"+225",code:"CI",emoji:"\uD83C\uDDE8\uD83C\uDDEE"},{name:"Croatia",dialCode:"+385",code:"HR",emoji:"\uD83C\uDDED\uD83C\uDDF7"},{name:"Cuba",dialCode:"+53",code:"CU",emoji:"\uD83C\uDDE8\uD83C\uDDFA"},{name:"Cura\xe7ao",dialCode:"+599",code:"CW",emoji:"\uD83C\uDDE8\uD83C\uDDFC"},{name:"Cyprus",dialCode:"+357",code:"CY",emoji:"\uD83C\uDDE8\uD83C\uDDFE"},{name:"Czech Republic",dialCode:"+420",code:"CZ",emoji:"\uD83C\uDDE8\uD83C\uDDFF"},{name:"Denmark",dialCode:"+45",code:"DK",emoji:"\uD83C\uDDE9\uD83C\uDDF0"},{name:"Djibouti",dialCode:"+253",code:"DJ",emoji:"\uD83C\uDDE9\uD83C\uDDEF"},{name:"Dominica",dialCode:"+1",code:"DM",emoji:"\uD83C\uDDE9\uD83C\uDDF2"},{name:"Dominican Republic",dialCode:"+1",code:"DO",emoji:"\uD83C\uDDE9\uD83C\uDDF4"},{name:"East Timor",dialCode:"+670",code:"TL",emoji:"\uD83C\uDDF9\uD83C\uDDF1"},{name:"Ecuador",dialCode:"+593",code:"EC",emoji:"\uD83C\uDDEA\uD83C\uDDE8"},{name:"Egypt",dialCode:"+20",code:"EG",emoji:"\uD83C\uDDEA\uD83C\uDDEC"},{name:"El Salvador",dialCode:"+503",code:"SV",emoji:"\uD83C\uDDF8\uD83C\uDDFB"},{name:"Equatorial Guinea",dialCode:"+240",code:"GQ",emoji:"\uD83C\uDDEC\uD83C\uDDF6"},{name:"Eritrea",dialCode:"+291",code:"ER",emoji:"\uD83C\uDDEA\uD83C\uDDF7"},{name:"Estonia",dialCode:"+372",code:"EE",emoji:"\uD83C\uDDEA\uD83C\uDDEA"},{name:"Ethiopia",dialCode:"+251",code:"ET",emoji:"\uD83C\uDDEA\uD83C\uDDF9"},{name:"Falkland Islands [Islas Malvinas]",dialCode:"+500",code:"FK",emoji:"\uD83C\uDDEB\uD83C\uDDF0"},{name:"Faroe Islands",dialCode:"+298",code:"FO",emoji:"\uD83C\uDDEB\uD83C\uDDF4"},{name:"Fiji",dialCode:"+679",code:"FJ",emoji:"\uD83C\uDDEB\uD83C\uDDEF"},{name:"Finland",dialCode:"+358",code:"FI",emoji:"\uD83C\uDDEB\uD83C\uDDEE"},{name:"France",dialCode:"+33",code:"FR",emoji:"\uD83C\uDDEB\uD83C\uDDF7"},{name:"French Guiana",dialCode:"+594",code:"GF",emoji:"\uD83C\uDDEC\uD83C\uDDEB"},{name:"French Polynesia",dialCode:"+689",code:"PF",emoji:"\uD83C\uDDF5\uD83C\uDDEB"},{name:"Gabon",dialCode:"+241",code:"GA",emoji:"\uD83C\uDDEC\uD83C\uDDE6"},{name:"Gambia",dialCode:"+220",code:"GM",emoji:"\uD83C\uDDEC\uD83C\uDDF2"},{name:"Georgia",dialCode:"+995",code:"GE",emoji:"\uD83C\uDDEC\uD83C\uDDEA"},{name:"Germany",dialCode:"+49",code:"DE",emoji:"\uD83C\uDDE9\uD83C\uDDEA"},{name:"Ghana",dialCode:"+233",code:"GH",emoji:"\uD83C\uDDEC\uD83C\uDDED"},{name:"Gibraltar",dialCode:"+350",code:"GI",emoji:"\uD83C\uDDEC\uD83C\uDDEE"},{name:"Greece",dialCode:"+30",code:"GR",emoji:"\uD83C\uDDEC\uD83C\uDDF7"},{name:"Greenland",dialCode:"+299",code:"GL",emoji:"\uD83C\uDDEC\uD83C\uDDF1"},{name:"Grenada",dialCode:"+1",code:"GD",emoji:"\uD83C\uDDEC\uD83C\uDDE9"},{name:"Guadeloupe",dialCode:"+590",code:"GP",emoji:"\uD83C\uDDEC\uD83C\uDDF5"},{name:"Guam",dialCode:"+1",code:"GU",emoji:"\uD83C\uDDEC\uD83C\uDDFA"},{name:"Guatemala",dialCode:"+502",code:"GT",emoji:"\uD83C\uDDEC\uD83C\uDDF9"},{name:"Guernsey",dialCode:"+44",code:"GG",emoji:"\uD83C\uDDEC\uD83C\uDDEC"},{name:"Guinea Conakry",dialCode:"+224",code:"GN",emoji:"\uD83C\uDDEC\uD83C\uDDF3"},{name:"Guinea-Bissau",dialCode:"+245",code:"GW",emoji:"\uD83C\uDDEC\uD83C\uDDFC"},{name:"Guyana",dialCode:"+592",code:"GY",emoji:"\uD83C\uDDEC\uD83C\uDDFE"},{name:"Haiti",dialCode:"+509",code:"HT",emoji:"\uD83C\uDDED\uD83C\uDDF9"},{name:"Heard Island and McDonald Islands",dialCode:"+672",code:"HM",emoji:"\uD83C\uDDED\uD83C\uDDF2"},{name:"Honduras",dialCode:"+504",code:"HN",emoji:"\uD83C\uDDED\uD83C\uDDF3"},{name:"Hong Kong",dialCode:"+852",code:"HK",emoji:"\uD83C\uDDED\uD83C\uDDF0"},{name:"Hungary",dialCode:"+36",code:"HU",emoji:"\uD83C\uDDED\uD83C\uDDFA"},{name:"Iceland",dialCode:"+354",code:"IS",emoji:"\uD83C\uDDEE\uD83C\uDDF8"},{name:"India",dialCode:"+91",code:"IN",emoji:"\uD83C\uDDEE\uD83C\uDDF3"},{name:"Indonesia",dialCode:"+62",code:"ID",emoji:"\uD83C\uDDEE\uD83C\uDDE9"},{name:"Iran",dialCode:"+98",code:"IR",emoji:"\uD83C\uDDEE\uD83C\uDDF7"},{name:"Iraq",dialCode:"+964",code:"IQ",emoji:"\uD83C\uDDEE\uD83C\uDDF6"},{name:"Ireland",dialCode:"+353",code:"IE",emoji:"\uD83C\uDDEE\uD83C\uDDEA"},{name:"Isle of Man",dialCode:"+44",code:"IM",emoji:"\uD83C\uDDEE\uD83C\uDDF2"},{name:"Israel",dialCode:"+972",code:"IL",emoji:"\uD83C\uDDEE\uD83C\uDDF1"},{name:"Italy",dialCode:"+39",code:"IT",emoji:"\uD83C\uDDEE\uD83C\uDDF9"},{name:"Jamaica",dialCode:"+1",code:"JM",emoji:"\uD83C\uDDEF\uD83C\uDDF2"},{name:"Japan",dialCode:"+81",code:"JP",emoji:"\uD83C\uDDEF\uD83C\uDDF5"},{name:"Jersey",dialCode:"+44",code:"JE",emoji:"\uD83C\uDDEF\uD83C\uDDEA"},{name:"Jordan",dialCode:"+962",code:"JO",emoji:"\uD83C\uDDEF\uD83C\uDDF4"},{name:"Kazakhstan",dialCode:"+7",code:"KZ",emoji:"\uD83C\uDDF0\uD83C\uDDFF"},{name:"Kenya",dialCode:"+254",code:"KE",emoji:"\uD83C\uDDF0\uD83C\uDDEA"},{name:"Kiribati",dialCode:"+686",code:"KI",emoji:"\uD83C\uDDF0\uD83C\uDDEE"},{name:"Kosovo",dialCode:"+377",code:"XK",emoji:"\uD83C\uDDFD\uD83C\uDDF0"},{name:"Kosovo",dialCode:"+381",code:"XK",emoji:"\uD83C\uDDFD\uD83C\uDDF0"},{name:"Kosovo",dialCode:"+386",code:"XK",emoji:"\uD83C\uDDFD\uD83C\uDDF0"},{name:"Kuwait",dialCode:"+965",code:"KW",emoji:"\uD83C\uDDF0\uD83C\uDDFC"},{name:"Kyrgyzstan",dialCode:"+996",code:"KG",emoji:"\uD83C\uDDF0\uD83C\uDDEC"},{name:"Laos",dialCode:"+856",code:"LA",emoji:"\uD83C\uDDF1\uD83C\uDDE6"},{name:"Latvia",dialCode:"+371",code:"LV",emoji:"\uD83C\uDDF1\uD83C\uDDFB"},{name:"Lebanon",dialCode:"+961",code:"LB",emoji:"\uD83C\uDDF1\uD83C\uDDE7"},{name:"Lesotho",dialCode:"+266",code:"LS",emoji:"\uD83C\uDDF1\uD83C\uDDF8"},{name:"Liberia",dialCode:"+231",code:"LR",emoji:"\uD83C\uDDF1\uD83C\uDDF7"},{name:"Libya",dialCode:"+218",code:"LY",emoji:"\uD83C\uDDF1\uD83C\uDDFE"},{name:"Liechtenstein",dialCode:"+423",code:"LI",emoji:"\uD83C\uDDF1\uD83C\uDDEE"},{name:"Lithuania",dialCode:"+370",code:"LT",emoji:"\uD83C\uDDF1\uD83C\uDDF9"},{name:"Luxembourg",dialCode:"+352",code:"LU",emoji:"\uD83C\uDDF1\uD83C\uDDFA"},{name:"Macau",dialCode:"+853",code:"MO",emoji:"\uD83C\uDDF2\uD83C\uDDF4"},{name:"Macedonia",dialCode:"+389",code:"MK",emoji:"\uD83C\uDDF2\uD83C\uDDF0"},{name:"Madagascar",dialCode:"+261",code:"MG",emoji:"\uD83C\uDDF2\uD83C\uDDEC"},{name:"Malawi",dialCode:"+265",code:"MW",emoji:"\uD83C\uDDF2\uD83C\uDDFC"},{name:"Malaysia",dialCode:"+60",code:"MY",emoji:"\uD83C\uDDF2\uD83C\uDDFE"},{name:"Maldives",dialCode:"+960",code:"MV",emoji:"\uD83C\uDDF2\uD83C\uDDFB"},{name:"Mali",dialCode:"+223",code:"ML",emoji:"\uD83C\uDDF2\uD83C\uDDF1"},{name:"Malta",dialCode:"+356",code:"MT",emoji:"\uD83C\uDDF2\uD83C\uDDF9"},{name:"Marshall Islands",dialCode:"+692",code:"MH",emoji:"\uD83C\uDDF2\uD83C\uDDED"},{name:"Martinique",dialCode:"+596",code:"MQ",emoji:"\uD83C\uDDF2\uD83C\uDDF6"},{name:"Mauritania",dialCode:"+222",code:"MR",emoji:"\uD83C\uDDF2\uD83C\uDDF7"},{name:"Mauritius",dialCode:"+230",code:"MU",emoji:"\uD83C\uDDF2\uD83C\uDDFA"},{name:"Mayotte",dialCode:"+262",code:"YT",emoji:"\uD83C\uDDFE\uD83C\uDDF9"},{name:"Mexico",dialCode:"+52",code:"MX",emoji:"\uD83C\uDDF2\uD83C\uDDFD"},{name:"Micronesia",dialCode:"+691",code:"FM",emoji:"\uD83C\uDDEB\uD83C\uDDF2"},{name:"Moldova",dialCode:"+373",code:"MD",emoji:"\uD83C\uDDF2\uD83C\uDDE9"},{name:"Monaco",dialCode:"+377",code:"MC",emoji:"\uD83C\uDDF2\uD83C\uDDE8"},{name:"Mongolia",dialCode:"+976",code:"MN",emoji:"\uD83C\uDDF2\uD83C\uDDF3"},{name:"Montenegro",dialCode:"+382",code:"ME",emoji:"\uD83C\uDDF2\uD83C\uDDEA"},{name:"Montserrat",dialCode:"+1",code:"MS",emoji:"\uD83C\uDDF2\uD83C\uDDF8"},{name:"Morocco",dialCode:"+212",code:"MA",emoji:"\uD83C\uDDF2\uD83C\uDDE6"},{name:"Mozambique",dialCode:"+258",code:"MZ",emoji:"\uD83C\uDDF2\uD83C\uDDFF"},{name:"Myanmar [Burma]",dialCode:"+95",code:"MM",emoji:"\uD83C\uDDF2\uD83C\uDDF2"},{name:"Namibia",dialCode:"+264",code:"NA",emoji:"\uD83C\uDDF3\uD83C\uDDE6"},{name:"Nauru",dialCode:"+674",code:"NR",emoji:"\uD83C\uDDF3\uD83C\uDDF7"},{name:"Nepal",dialCode:"+977",code:"NP",emoji:"\uD83C\uDDF3\uD83C\uDDF5"},{name:"Netherlands",dialCode:"+31",code:"NL",emoji:"\uD83C\uDDF3\uD83C\uDDF1"},{name:"New Caledonia",dialCode:"+687",code:"NC",emoji:"\uD83C\uDDF3\uD83C\uDDE8"},{name:"New Zealand",dialCode:"+64",code:"NZ",emoji:"\uD83C\uDDF3\uD83C\uDDFF"},{name:"Nicaragua",dialCode:"+505",code:"NI",emoji:"\uD83C\uDDF3\uD83C\uDDEE"},{name:"Niger",dialCode:"+227",code:"NE",emoji:"\uD83C\uDDF3\uD83C\uDDEA"},{name:"Nigeria",dialCode:"+234",code:"NG",emoji:"\uD83C\uDDF3\uD83C\uDDEC"},{name:"Niue",dialCode:"+683",code:"NU",emoji:"\uD83C\uDDF3\uD83C\uDDFA"},{name:"Norfolk Island",dialCode:"+672",code:"NF",emoji:"\uD83C\uDDF3\uD83C\uDDEB"},{name:"North Korea",dialCode:"+850",code:"KP",emoji:"\uD83C\uDDF0\uD83C\uDDF5"},{name:"Northern Mariana Islands",dialCode:"+1",code:"MP",emoji:"\uD83C\uDDF2\uD83C\uDDF5"},{name:"Norway",dialCode:"+47",code:"NO",emoji:"\uD83C\uDDF3\uD83C\uDDF4"},{name:"Oman",dialCode:"+968",code:"OM",emoji:"\uD83C\uDDF4\uD83C\uDDF2"},{name:"Pakistan",dialCode:"+92",code:"PK",emoji:"\uD83C\uDDF5\uD83C\uDDF0"},{name:"Palau",dialCode:"+680",code:"PW",emoji:"\uD83C\uDDF5\uD83C\uDDFC"},{name:"Palestinian Territories",dialCode:"+970",code:"PS",emoji:"\uD83C\uDDF5\uD83C\uDDF8"},{name:"Panama",dialCode:"+507",code:"PA",emoji:"\uD83C\uDDF5\uD83C\uDDE6"},{name:"Papua New Guinea",dialCode:"+675",code:"PG",emoji:"\uD83C\uDDF5\uD83C\uDDEC"},{name:"Paraguay",dialCode:"+595",code:"PY",emoji:"\uD83C\uDDF5\uD83C\uDDFE"},{name:"Peru",dialCode:"+51",code:"PE",emoji:"\uD83C\uDDF5\uD83C\uDDEA"},{name:"Philippines",dialCode:"+63",code:"PH",emoji:"\uD83C\uDDF5\uD83C\uDDED"},{name:"Poland",dialCode:"+48",code:"PL",emoji:"\uD83C\uDDF5\uD83C\uDDF1"},{name:"Portugal",dialCode:"+351",code:"PT",emoji:"\uD83C\uDDF5\uD83C\uDDF9"},{name:"Puerto Rico",dialCode:"+1",code:"PR",emoji:"\uD83C\uDDF5\uD83C\uDDF7"},{name:"Qatar",dialCode:"+974",code:"QA",emoji:"\uD83C\uDDF6\uD83C\uDDE6"},{name:"R\xe9union",dialCode:"+262",code:"RE",emoji:"\uD83C\uDDF7\uD83C\uDDEA"},{name:"Romania",dialCode:"+40",code:"RO",emoji:"\uD83C\uDDF7\uD83C\uDDF4"},{name:"Russia",dialCode:"+7",code:"RU",emoji:"\uD83C\uDDF7\uD83C\uDDFA"},{name:"Rwanda",dialCode:"+250",code:"RW",emoji:"\uD83C\uDDF7\uD83C\uDDFC"},{name:"Saint Barth\xe9lemy",dialCode:"+590",code:"BL",emoji:"\uD83C\uDDE7\uD83C\uDDF1"},{name:"Saint Helena",dialCode:"+290",code:"SH",emoji:"\uD83C\uDDF8\uD83C\uDDED"},{name:"St. Kitts",dialCode:"+1",code:"KN",emoji:"\uD83C\uDDF0\uD83C\uDDF3"},{name:"St. Lucia",dialCode:"+1",code:"LC",emoji:"\uD83C\uDDF1\uD83C\uDDE8"},{name:"Saint Martin",dialCode:"+590",code:"MF",emoji:"\uD83C\uDDF2\uD83C\uDDEB"},{name:"Saint Pierre and Miquelon",dialCode:"+508",code:"PM",emoji:"\uD83C\uDDF5\uD83C\uDDF2"},{name:"St. Vincent",dialCode:"+1",code:"VC",emoji:"\uD83C\uDDFB\uD83C\uDDE8"},{name:"Samoa",dialCode:"+685",code:"WS",emoji:"\uD83C\uDDFC\uD83C\uDDF8"},{name:"San Marino",dialCode:"+378",code:"SM",emoji:"\uD83C\uDDF8\uD83C\uDDF2"},{name:"S\xe3o Tom\xe9 and Pr\xedncipe",dialCode:"+239",code:"ST",emoji:"\uD83C\uDDF8\uD83C\uDDF9"},{name:"Saudi Arabia",dialCode:"+966",code:"SA",emoji:"\uD83C\uDDF8\uD83C\uDDE6"},{name:"Senegal",dialCode:"+221",code:"SN",emoji:"\uD83C\uDDF8\uD83C\uDDF3"},{name:"Serbia",dialCode:"+381",code:"RS",emoji:"\uD83C\uDDF7\uD83C\uDDF8"},{name:"Seychelles",dialCode:"+248",code:"SC",emoji:"\uD83C\uDDF8\uD83C\uDDE8"},{name:"Sierra Leone",dialCode:"+232",code:"SL",emoji:"\uD83C\uDDF8\uD83C\uDDF1"},{name:"Singapore",dialCode:"+65",code:"SG",emoji:"\uD83C\uDDF8\uD83C\uDDEC"},{name:"Sint Maarten",dialCode:"+1",code:"SX",emoji:"\uD83C\uDDF8\uD83C\uDDFD"},{name:"Slovakia",dialCode:"+421",code:"SK",emoji:"\uD83C\uDDF8\uD83C\uDDF0"},{name:"Slovenia",dialCode:"+386",code:"SI",emoji:"\uD83C\uDDF8\uD83C\uDDEE"},{name:"Solomon Islands",dialCode:"+677",code:"SB",emoji:"\uD83C\uDDF8\uD83C\uDDE7"},{name:"Somalia",dialCode:"+252",code:"SO",emoji:"\uD83C\uDDF8\uD83C\uDDF4"},{name:"South Africa",dialCode:"+27",code:"ZA",emoji:"\uD83C\uDDFF\uD83C\uDDE6"},{name:"South Georgia and the South Sandwich Islands",dialCode:"+500",code:"GS",emoji:"\uD83C\uDDEC\uD83C\uDDF8"},{name:"South Korea",dialCode:"+82",code:"KR",emoji:"\uD83C\uDDF0\uD83C\uDDF7"},{name:"South Sudan",dialCode:"+211",code:"SS",emoji:"\uD83C\uDDF8\uD83C\uDDF8"},{name:"Spain",dialCode:"+34",code:"ES",emoji:"\uD83C\uDDEA\uD83C\uDDF8"},{name:"Sri Lanka",dialCode:"+94",code:"LK",emoji:"\uD83C\uDDF1\uD83C\uDDF0"},{name:"Sudan",dialCode:"+249",code:"SD",emoji:"\uD83C\uDDF8\uD83C\uDDE9"},{name:"Suriname",dialCode:"+597",code:"SR",emoji:"\uD83C\uDDF8\uD83C\uDDF7"},{name:"Svalbard and Jan Mayen",dialCode:"+47",code:"SJ",emoji:"\uD83C\uDDF8\uD83C\uDDEF"},{name:"Swaziland",dialCode:"+268",code:"SZ",emoji:"\uD83C\uDDF8\uD83C\uDDFF"},{name:"Sweden",dialCode:"+46",code:"SE",emoji:"\uD83C\uDDF8\uD83C\uDDEA"},{name:"Switzerland",dialCode:"+41",code:"CH",emoji:"\uD83C\uDDE8\uD83C\uDDED"},{name:"Syria",dialCode:"+963",code:"SY",emoji:"\uD83C\uDDF8\uD83C\uDDFE"},{name:"Taiwan",dialCode:"+886",code:"TW",emoji:"\uD83C\uDDF9\uD83C\uDDFC"},{name:"Tajikistan",dialCode:"+992",code:"TJ",emoji:"\uD83C\uDDF9\uD83C\uDDEF"},{name:"Tanzania",dialCode:"+255",code:"TZ",emoji:"\uD83C\uDDF9\uD83C\uDDFF"},{name:"Thailand",dialCode:"+66",code:"TH",emoji:"\uD83C\uDDF9\uD83C\uDDED"},{name:"Togo",dialCode:"+228",code:"TG",emoji:"\uD83C\uDDF9\uD83C\uDDEC"},{name:"Tokelau",dialCode:"+690",code:"TK",emoji:"\uD83C\uDDF9\uD83C\uDDF0"},{name:"Tonga",dialCode:"+676",code:"TO",emoji:"\uD83C\uDDF9\uD83C\uDDF4"},{name:"Trinidad/Tobago",dialCode:"+1",code:"TT",emoji:"\uD83C\uDDF9\uD83C\uDDF9"},{name:"Tunisia",dialCode:"+216",code:"TN",emoji:"\uD83C\uDDF9\uD83C\uDDF3"},{name:"Turkey",dialCode:"+90",code:"TR",emoji:"\uD83C\uDDF9\uD83C\uDDF7"},{name:"Turkmenistan",dialCode:"+993",code:"TM",emoji:"\uD83C\uDDF9\uD83C\uDDF2"},{name:"Turks and Caicos Islands",dialCode:"+1",code:"TC",emoji:"\uD83C\uDDF9\uD83C\uDDE8"},{name:"Tuvalu",dialCode:"+688",code:"TV",emoji:"\uD83C\uDDF9\uD83C\uDDFB"},{name:"U.S. Virgin Islands",dialCode:"+1",code:"VI",emoji:"\uD83C\uDDFB\uD83C\uDDEE"},{name:"Uganda",dialCode:"+256",code:"UG",emoji:"\uD83C\uDDFA\uD83C\uDDEC"},{name:"Ukraine",dialCode:"+380",code:"UA",emoji:"\uD83C\uDDFA\uD83C\uDDE6"},{name:"United Arab Emirates",dialCode:"+971",code:"AE",emoji:"\uD83C\uDDE6\uD83C\uDDEA"},{name:"Uruguay",dialCode:"+598",code:"UY",emoji:"\uD83C\uDDFA\uD83C\uDDFE"},{name:"Uzbekistan",dialCode:"+998",code:"UZ",emoji:"\uD83C\uDDFA\uD83C\uDDFF"},{name:"Vanuatu",dialCode:"+678",code:"VU",emoji:"\uD83C\uDDFB\uD83C\uDDFA"},{name:"Vatican City",dialCode:"+379",code:"VA",emoji:"\uD83C\uDDFB\uD83C\uDDE6"},{name:"Venezuela",dialCode:"+58",code:"VE",emoji:"\uD83C\uDDFB\uD83C\uDDEA"},{name:"Vietnam",dialCode:"+84",code:"VN",emoji:"\uD83C\uDDFB\uD83C\uDDF3"},{name:"Wallis and Futuna",dialCode:"+681",code:"WF",emoji:"\uD83C\uDDFC\uD83C\uDDEB"},{name:"Western Sahara",dialCode:"+212",code:"EH",emoji:"\uD83C\uDDEA\uD83C\uDDED"},{name:"Yemen",dialCode:"+967",code:"YE",emoji:"\uD83C\uDDFE\uD83C\uDDEA"},{name:"Zambia",dialCode:"+260",code:"ZM",emoji:"\uD83C\uDDFF\uD83C\uDDF2"},{name:"Zimbabwe",dialCode:"+263",code:"ZW",emoji:"\uD83C\uDDFF\uD83C\uDDFC"},{name:"\xc5land Islands",dialCode:"+358",code:"AX",emoji:"\uD83C\uDDE6\uD83C\uDDFD"}];function e8(e,t){let a=e.replace(/^\+\d+/,"").trim();return`${t}${a}`}function e7(e,t,a){return(0,l.sC)(t,a,e.translations,e.locale)}},3468:(e,t,a)=>{a.d(t,{KP:()=>n,ao:()=>s,sC:()=>r,x3:()=>o});var i={errors:{userNotFound:"No account found with this email address",wrongPassword:"Incorrect password",invalidEmail:"Please enter a valid email address",userDisabled:"This account has been disabled",networkRequestFailed:"Unable to connect to the server. Please check your internet connection",tooManyRequests:"Too many failed attempts. Please try again later",emailAlreadyInUse:"An account already exists with this email",weakPassword:"Password should be at least 8 characters",operationNotAllowed:"Email/password accounts are not enabled. Please contact support.",invalidPhoneNumber:"The phone number is invalid",missingPhoneNumber:"Please provide a phone number",quotaExceeded:"SMS quota exceeded. Please try again later",codeExpired:"The verification code has expired",captchaCheckFailed:"reCAPTCHA verification failed. Please try again.",missingVerificationId:"Please complete the reCAPTCHA verification first.",missingEmail:"Please provide an email address",invalidActionCode:"The password reset link is invalid or has expired",credentialAlreadyInUse:"An account already exists with this email. Please sign in with that account.",requiresRecentLogin:"This operation requires a recent login. Please sign in again.",providerAlreadyLinked:"This phone number is already linked to another account",invalidVerificationCode:"Invalid verification code. Please try again",unknownError:"An unexpected error occurred",popupClosed:"The sign-in popup was closed. Please try again.",accountExistsWithDifferentCredential:"An account already exists with this email. Please sign in with the original provider."},messages:{passwordResetEmailSent:"Password reset email sent successfully",signInLinkSent:"Sign-in link sent successfully",verificationCodeFirst:"Please request a verification code first",checkEmailForReset:"Check your email for password reset instructions",dividerOr:"or",termsAndPrivacy:"By continuing, you agree to our {tos} and {privacy}."},labels:{emailAddress:"Email Address",password:"Password",forgotPassword:"Forgot Password?",register:"Register",signIn:"Sign In",resetPassword:"Reset Password",createAccount:"Create Account",backToSignIn:"Back to Sign In",signInWithPhone:"Sign in with Phone",phoneNumber:"Phone Number",verificationCode:"Verification Code",sendCode:"Send Code",verifyCode:"Verify Code",signInWithGoogle:"Sign in with Google",signInWithEmailLink:"Sign in with Email Link",sendSignInLink:"Send Sign-in Link",termsOfService:"Terms of Service",privacyPolicy:"Privacy Policy",resendCode:"Resend Code",sending:"Sending..."},prompts:{noAccount:"Don't have an account?",haveAccount:"Already have an account?",enterEmailToReset:"Enter your email address to reset your password",signInToAccount:"Sign in to your account",enterDetailsToCreate:"Enter your details to create a new account",enterPhoneNumber:"Enter your phone number",enterVerificationCode:"Enter the verification code",enterEmailForLink:"Enter your email to receive a sign-in link"}},n={"auth/user-not-found":"userNotFound","auth/wrong-password":"wrongPassword","auth/invalid-email":"invalidEmail","auth/user-disabled":"userDisabled","auth/network-request-failed":"networkRequestFailed","auth/too-many-requests":"tooManyRequests","auth/email-already-in-use":"emailAlreadyInUse","auth/weak-password":"weakPassword","auth/operation-not-allowed":"operationNotAllowed","auth/invalid-phone-number":"invalidPhoneNumber","auth/missing-phone-number":"missingPhoneNumber","auth/quota-exceeded":"quotaExceeded","auth/code-expired":"codeExpired","auth/captcha-check-failed":"captchaCheckFailed","auth/missing-verification-id":"missingVerificationId","auth/missing-email":"missingEmail","auth/invalid-action-code":"invalidActionCode","auth/credential-already-in-use":"credentialAlreadyInUse","auth/requires-recent-login":"requiresRecentLogin","auth/provider-already-linked":"providerAlreadyLinked","auth/invalid-verification-code":"invalidVerificationCode","auth/account-exists-with-different-credential":"accountExistsWithDifferentCredential"};function r(e,t,a,n){let r=a?.[n??o.locale]?.[e];if(r&&t in r)return r[t];let s=a?.en?.[e];return s&&t in s?s[t]:i[e][t]}function s(e,t){return{locale:e,translations:t}}var o=s("en-US",i)},4565:(e,t,a)=>{a.d(t,{IX:()=>i.W,HF:()=>i.Y,Oe:()=>i.P,kT:()=>i.R,eJ:()=>i.ab,xI:()=>i.p,Pj:()=>i.ae,OS:()=>i.a3,hg:()=>i.z,J1:()=>i.a6,MN:()=>i.ad,eN:()=>i.a2,ik:()=>i.s,$2:()=>i.g,CI:()=>i.D});var i=a(9798);a(1972),a(6959),a(4075),a(7086)},6476:(e,t,a)=>{function i(e,t){var a={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&0>t.indexOf(i)&&(a[i]=e[i]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var n=0,i=Object.getOwnPropertySymbols(e);nt.indexOf(i[n])&&Object.prototype.propertyIsEnumerable.call(e,i[n])&&(a[i[n]]=e[i[n]]);return a}a.d(t,{Tt:()=>i}),Object.create,Object.create,"function"==typeof SuppressedError&&SuppressedError}}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/4bd1b696-a4582f7608b1c3f8.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/4bd1b696-a4582f7608b1c3f8.js deleted file mode 100644 index 50225b03..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/4bd1b696-a4582f7608b1c3f8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[441],{9248:(e,n,t)=>{var r,l,a=t(2818),o=t(1507),i=t(2115),u=t(7650);function s(e){var n="https://react.dev/errors/"+e;if(1)":-1l||u[r]!==s[l]){var c="\n"+u[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=r&&0<=l);break}}}finally{M=!1,Error.prepareStackTrace=t}return(t=e?e.displayName||e.name:"")?O(t):""}function R(e){try{var n="";do n+=function(e){switch(e.tag){case 26:case 27:case 5:return O(e.type);case 16:return O("Lazy");case 13:return O("Suspense");case 19:return O("SuspenseList");case 0:case 15:return e=A(e.type,!1);case 11:return e=A(e.type.render,!1);case 1:return e=A(e.type,!0);default:return""}}(e),e=e.return;while(e);return n}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}function I(e){var n=e,t=e;if(e.alternate)for(;n.return;)n=n.return;else{e=n;do 0!=(4098&(n=e).flags)&&(t=n.return),e=n.return;while(e)}return 3===n.tag?t:null}function U(e){if(13===e.tag){var n=e.memoizedState;if(null===n&&null!==(e=e.alternate)&&(n=e.memoizedState),null!==n)return n.dehydrated}return null}function V(e){if(I(e)!==e)throw Error(s(188))}var j=Array.isArray,B=u.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Q={pending:!1,data:null,method:null,action:null},$=[],W=-1;function H(e){return{current:e}}function q(e){0>W||(e.current=$[W],$[W]=null,W--)}function K(e,n){$[++W]=e.current,e.current=n}var Y=H(null),X=H(null),G=H(null),Z=H(null);function J(e,n){switch(K(G,n),K(X,e),K(Y,null),e=n.nodeType){case 9:case 11:n=(n=n.documentElement)&&(n=n.namespaceURI)?se(n):0;break;default:if(n=(e=8===e?n.parentNode:n).tagName,e=e.namespaceURI)n=sn(e=se(e),n);else switch(n){case"svg":n=1;break;case"math":n=2;break;default:n=0}}q(Y),K(Y,n)}function ee(){q(Y),q(X),q(G)}function en(e){null!==e.memoizedState&&K(Z,e);var n=Y.current,t=sn(n,e.type);n!==t&&(K(X,e),K(Y,t))}function et(e){X.current===e&&(q(Y),q(X)),Z.current===e&&(q(Z),sj._currentValue=Q)}var er=Object.prototype.hasOwnProperty,el=o.unstable_scheduleCallback,ea=o.unstable_cancelCallback,eo=o.unstable_shouldYield,ei=o.unstable_requestPaint,eu=o.unstable_now,es=o.unstable_getCurrentPriorityLevel,ec=o.unstable_ImmediatePriority,ef=o.unstable_UserBlockingPriority,ed=o.unstable_NormalPriority,ep=o.unstable_LowPriority,em=o.unstable_IdlePriority,eh=o.log,eg=o.unstable_setDisableYieldValue,ey=null,ev=null;function eb(e){if("function"==typeof eh&&eg(e),ev&&"function"==typeof ev.setStrictMode)try{ev.setStrictMode(ey,e)}catch(e){}}var ek=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(ew(e)/eS|0)|0},ew=Math.log,eS=Math.LN2,ex=128,eE=4194304;function eC(e){var n=42&e;if(0!==n)return n;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194176&e;case 4194304:case 8388608:case 0x1000000:case 0x2000000:return 0x3c00000&e;case 0x4000000:return 0x4000000;case 0x8000000:return 0x8000000;case 0x10000000:return 0x10000000;case 0x20000000:return 0x20000000;case 0x40000000:return 0;default:return e}}function ez(e,n){var t=e.pendingLanes;if(0===t)return 0;var r=0,l=e.suspendedLanes,a=e.pingedLanes,o=e.warmLanes;e=0!==e.finishedLanes;var i=0x7ffffff&t;return 0!==i?0!=(t=i&~l)?r=eC(t):0!=(a&=i)?r=eC(a):e||0!=(o=i&~o)&&(r=eC(o)):0!=(i=t&~l)?r=eC(i):0!==a?r=eC(a):e||0!=(o=t&~o)&&(r=eC(o)),0===r?0:0!==n&&n!==r&&0==(n&l)&&((l=r&-r)>=(o=n&-n)||32===l&&0!=(4194176&o))?n:r}function eP(e,n){return 0==(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&n)}function eN(){var e=ex;return 0==(4194176&(ex<<=1))&&(ex=128),e}function eL(){var e=eE;return 0==(0x3c00000&(eE<<=1))&&(eE=4194304),e}function eT(e){for(var n=[],t=0;31>t;t++)n.push(e);return n}function e_(e,n){e.pendingLanes|=n,0x10000000!==n&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function eF(e,n,t){e.pendingLanes|=n,e.suspendedLanes&=~n;var r=31-ek(n);e.entangledLanes|=n,e.entanglements[r]=0x40000000|e.entanglements[r]|4194218&t}function eD(e,n){var t=e.entangledLanes|=n;for(e=e.entanglements;t;){var r=31-ek(t),l=1<=te),tr=!1;function tl(e,n){switch(e){case"keyup":return -1!==n9.indexOf(n.keyCode);case"keydown":return 229!==n.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function ta(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var to=!1,ti={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function tu(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===n?!!ti[e.type]:"textarea"===n}function ts(e,n,t,r){nw?nS?nS.push(r):nS=[r]:nw=r,0<(n=uX(n,"onChange")).length&&(t=new nj("onChange","change",null,t,r),e.push({event:t,listeners:n}))}var tc=null,tf=null;function td(e){uB(e,0)}function tp(e){if(nn(eK(e)))return e}function tm(e,n){if("change"===e)return n}var th=!1;if(e1){if(e1){var tg="oninput"in document;if(!tg){var ty=document.createElement("div");ty.setAttribute("oninput","return;"),tg="function"==typeof ty.oninput}r=tg}else r=!1;th=r&&(!document.documentMode||9=n)return{node:r,offset:n-e};e=t}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=tz(r)}}function tN(e){e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;for(var n=nt(e.document);n instanceof e.HTMLIFrameElement;){try{var t="string"==typeof n.contentWindow.location.href}catch(e){t=!1}if(t)e=n.contentWindow;else break;n=nt(e.document)}return n}function tL(e){var n=e&&e.nodeName&&e.nodeName.toLowerCase();return n&&("input"===n&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===n||"true"===e.contentEditable)}var tT=e1&&"documentMode"in document&&11>=document.documentMode,t_=null,tF=null,tD=null,tO=!1;function tM(e,n,t){var r=t.window===t?t.document:9===t.nodeType?t:t.ownerDocument;tO||null==t_||t_!==nt(r)||(r="selectionStart"in(r=t_)&&tL(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},tD&&tC(tD,r)||(tD=r,0<(r=uX(tF,"onSelect")).length&&(n=new nj("onSelect","select",null,n,t),e.push({event:n,listeners:r}),n.target=t_)))}function tA(e,n){var t={};return t[e.toLowerCase()]=n.toLowerCase(),t["Webkit"+e]="webkit"+n,t["Moz"+e]="moz"+n,t}var tR={animationend:tA("Animation","AnimationEnd"),animationiteration:tA("Animation","AnimationIteration"),animationstart:tA("Animation","AnimationStart"),transitionrun:tA("Transition","TransitionRun"),transitionstart:tA("Transition","TransitionStart"),transitioncancel:tA("Transition","TransitionCancel"),transitionend:tA("Transition","TransitionEnd")},tI={},tU={};function tV(e){if(tI[e])return tI[e];if(!tR[e])return e;var n,t=tR[e];for(n in t)if(t.hasOwnProperty(n)&&n in tU)return tI[e]=t[n];return e}e1&&(tU=document.createElement("div").style,"AnimationEvent"in window||(delete tR.animationend.animation,delete tR.animationiteration.animation,delete tR.animationstart.animation),"TransitionEvent"in window||delete tR.transitionend.transition);var tj=tV("animationend"),tB=tV("animationiteration"),tQ=tV("animationstart"),t$=tV("transitionrun"),tW=tV("transitionstart"),tH=tV("transitioncancel"),tq=tV("transitionend"),tK=new Map,tY="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(" ");function tX(e,n){tK.set(e,n),eJ(n,[e])}var tG=[],tZ=0,tJ=0;function t0(){for(var e=tZ,n=tJ=tZ=0;n>=o,l-=o,ro=1<<32-ek(n)+l|t<a?a:8;var o=F.T,i={};F.T=i,al(e,!1,n,t);try{var u=l(),s=F.S;if(null!==s&&s(i,u),null!==u&&"object"==typeof u&&"function"==typeof u.then){var c,f,d=(c=[],f={status:"pending",value:null,reason:null,then:function(e){c.push(e)}},u.then(function(){f.status="fulfilled",f.value=r;for(var e=0;ed?(p=f,f=null):p=f.sibling;var m=g(l,f,i[d],u);if(null===m){null===f&&(f=p);break}e&&f&&null===m.alternate&&n(l,f),o=a(m,o,d),null===c?s=m:c.sibling=m,c=m,f=p}if(d===i.length)return t(l,f),rm&&ru(l,d),s;if(null===f){for(;dp?(m=d,d=null):m=d.sibling;var b=g(l,d,v.value,u);if(null===b){null===d&&(d=m);break}e&&d&&null===b.alternate&&n(l,d),o=a(b,o,p),null===f?c=b:f.sibling=b,f=b,d=m}if(v.done)return t(l,d),rm&&ru(l,p),c;if(null===d){for(;!v.done;p++,v=i.next())null!==(v=h(l,v.value,u))&&(o=a(v,o,p),null===f?c=v:f.sibling=v,f=v);return rm&&ru(l,p),c}for(d=r(d);!v.done;p++,v=i.next())null!==(v=y(d,l,p,v.value,u))&&(e&&null!==v.alternate&&d.delete(null===v.key?p:v.key),o=a(v,o,p),null===f?c=v:f.sibling=v,f=v);return e&&d.forEach(function(e){return n(l,e)}),rm&&ru(l,p),c}(u,c,f=k.call(f),v)}if("function"==typeof f.then)return i(u,c,am(f),v);if(f.$$typeof===b)return i(u,c,og(u,f),v);ag(u,f)}return"string"==typeof f&&""!==f||"number"==typeof f||"bigint"==typeof f?(f=""+f,null!==c&&6===c.tag?(t(u,c.sibling),(v=l(c,f)).return=u):(t(u,c),(v=iy(f,u.mode,v)).return=u),o(u=v)):t(u,c)}(i,u,c,f);return ad=null,v}catch(e){if(e===rE||e===rz)throw e;var k=is(29,e,null,i.mode);return k.lanes=f,k.return=i,k}finally{}}}var ab=av(!0),ak=av(!1),aw=H(null),aS=null;function ax(e){var n=e.alternate;K(aP,1&aP.current),K(aw,e),null===aS&&(null===n||null!==rW.current?aS=e:null!==n.memoizedState&&(aS=e))}function aE(e){if(22===e.tag){if(K(aP,aP.current),K(aw,e),null===aS){var n=e.alternate;null!==n&&null!==n.memoizedState&&(aS=e)}}else aC(e)}function aC(){K(aP,aP.current),K(aw,aw.current)}function az(e){q(aw),aS===e&&(aS=null),q(aP)}var aP=H(0);function aN(e){for(var n=e;null!==n;){if(13===n.tag){var t=n.memoizedState;if(null!==t&&(null===(t=t.dehydrated)||"$?"===t.data||sf(t)))return n}else if(19===n.tag&&void 0!==n.memoizedProps.revealOrder){if(0!=(128&n.flags))return n}else if(null!==n.child){n.child.return=n,n=n.child;continue}if(n===e)break;for(;null===n.sibling;){if(null===n.return||n.return===e)return null;n=n.return}n.sibling.return=n.return,n=n.sibling}return null}function aL(e,n,t,r){t=null==(t=t(r,n=e.memoizedState))?n:D({},n,t),e.memoizedState=t,0===e.lanes&&(e.updateQueue.baseState=t)}var aT={isMounted:function(e){return!!(e=e._reactInternals)&&I(e)===e},enqueueSetState:function(e,n,t){e=e._reactInternals;var r=i4(),l=ow(r);l.payload=n,null!=t&&(l.callback=t),null!==(n=oS(e,l,r))&&(i6(n,e,r),ox(n,e,r))},enqueueReplaceState:function(e,n,t){e=e._reactInternals;var r=i4(),l=ow(r);l.tag=1,l.payload=n,null!=t&&(l.callback=t),null!==(n=oS(e,l,r))&&(i6(n,e,r),ox(n,e,r))},enqueueForceUpdate:function(e,n){e=e._reactInternals;var t=i4(),r=ow(t);r.tag=2,null!=n&&(r.callback=n),null!==(n=oS(e,r,t))&&(i6(n,e,t),ox(n,e,t))}};function a_(e,n,t,r,l,a,o){return"function"==typeof(e=e.stateNode).shouldComponentUpdate?e.shouldComponentUpdate(r,a,o):!n.prototype||!n.prototype.isPureReactComponent||!tC(t,r)||!tC(l,a)}function aF(e,n,t,r){e=n.state,"function"==typeof n.componentWillReceiveProps&&n.componentWillReceiveProps(t,r),"function"==typeof n.UNSAFE_componentWillReceiveProps&&n.UNSAFE_componentWillReceiveProps(t,r),n.state!==e&&aT.enqueueReplaceState(n,n.state,null)}function aD(e,n){var t=n;if("ref"in n)for(var r in t={},n)"ref"!==r&&(t[r]=n[r]);if(e=e.defaultProps)for(var l in t===n&&(t=D({},t)),e)void 0===t[l]&&(t[l]=e[l]);return t}var aO="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var n=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(n))return}else if("object"==typeof a&&"function"==typeof a.emit){a.emit("uncaughtException",e);return}console.error(e)};function aM(e){aO(e)}function aA(e){console.error(e)}function aR(e){aO(e)}function aI(e,n){try{(0,e.onUncaughtError)(n.value,{componentStack:n.stack})}catch(e){setTimeout(function(){throw e})}}function aU(e,n,t){try{(0,e.onCaughtError)(t.value,{componentStack:t.stack,errorBoundary:1===n.tag?n.stateNode:null})}catch(e){setTimeout(function(){throw e})}}function aV(e,n,t){return(t=ow(t)).tag=3,t.payload={element:null},t.callback=function(){aI(e,n)},t}function aj(e){return(e=ow(e)).tag=3,e}function aB(e,n,t,r){var l=t.type.getDerivedStateFromError;if("function"==typeof l){var a=r.value;e.payload=function(){return l(a)},e.callback=function(){aU(n,t,r)}}var o=t.stateNode;null!==o&&"function"==typeof o.componentDidCatch&&(e.callback=function(){aU(n,t,r),"function"!=typeof l&&(null===iY?iY=new Set([this]):iY.add(this));var e=r.stack;this.componentDidCatch(r.value,{componentStack:null!==e?e:""})})}var aQ=Error(s(461)),a$=!1;function aW(e,n,t,r){n.child=null===e?ak(n,null,t,r):ab(n,e.child,t,r)}function aH(e,n,t,r,l){t=t.render;var a=n.ref;if("ref"in r){var o={};for(var i in r)"ref"!==i&&(o[i]=r[i])}else o=r;return(om(n),r=ll(e,n,t,o,a,l),i=lu(),null===e||a$)?(rm&&i&&rc(n),n.flags|=1,aW(e,n,r,l),n.child):(ls(e,n,l),ot(e,n,l))}function aq(e,n,t,r,l){if(null===e){var a=t.type;return"function"!=typeof a||ic(a)||void 0!==a.defaultProps||null!==t.compare?((e=im(t.type,null,r,n,n.mode,l)).ref=n.ref,e.return=n,n.child=e):(n.tag=15,n.type=a,aK(e,n,a,r,l))}if(a=e.child,!or(e,l)){var o=a.memoizedProps;if((t=null!==(t=t.compare)?t:tC)(o,r)&&e.ref===n.ref)return ot(e,n,l)}return n.flags|=1,(e=id(a,r)).ref=n.ref,e.return=n,n.child=e}function aK(e,n,t,r,l){if(null!==e){var a=e.memoizedProps;if(tC(a,r)&&e.ref===n.ref){if(a$=!1,n.pendingProps=r=a,!or(e,l))return n.lanes=e.lanes,ot(e,n,l);0!=(131072&e.flags)&&(a$=!0)}}return aZ(e,n,t,r,l)}function aY(e,n,t){var r=n.pendingProps,l=r.children,a=0!=(2&n.stateNode._pendingVisibility),o=null!==e?e.memoizedState:null;if(aG(e,n),"hidden"===r.mode||a){if(0!=(128&n.flags)){if(r=null!==o?o.baseLanes|t:t,null!==e){for(a=0,l=n.child=e.child;null!==l;)a=a|l.lanes|l.childLanes,l=l.sibling;n.childLanes=a&~r}else n.childLanes=0,n.child=null;return aX(e,n,r,t)}if(0==(0x20000000&t))return n.lanes=n.childLanes=0x20000000,aX(e,n,null!==o?o.baseLanes|t:t,t);n.memoizedState={baseLanes:0,cachePool:null},null!==e&&rJ(n,null!==o?o.cachePool:null),null!==o?rq(n,o):rK(),aE(n)}else null!==o?(rJ(n,o.cachePool),rq(n,o),aC(n),n.memoizedState=null):(null!==e&&rJ(n,null),rK(),aC(n));return aW(e,n,l,t),n.child}function aX(e,n,t,r){var l=rZ();return l=null===l?null:{parent:rR._currentValue,pool:l},n.memoizedState={baseLanes:t,cachePool:l},null!==e&&rJ(n,null),rK(),aE(n),null!==e&&od(e,n,r,!0),null}function aG(e,n){var t=n.ref;if(null===t)null!==e&&null!==e.ref&&(n.flags|=2097664);else{if("function"!=typeof t&&"object"!=typeof t)throw Error(s(284));(null===e||e.ref!==t)&&(n.flags|=2097664)}}function aZ(e,n,t,r,l){return(om(n),t=ll(e,n,t,r,void 0,l),r=lu(),null===e||a$)?(rm&&r&&rc(n),n.flags|=1,aW(e,n,t,l),n.child):(ls(e,n,l),ot(e,n,l))}function aJ(e,n,t,r,l,a){return(om(n),n.updateQueue=null,t=lo(n,r,t,l),la(e),r=lu(),null===e||a$)?(rm&&r&&rc(n),n.flags|=1,aW(e,n,t,a),n.child):(ls(e,n,a),ot(e,n,a))}function a0(e,n,t,r,l){if(om(n),null===n.stateNode){var a=t8,o=t.contextType;"object"==typeof o&&null!==o&&(a=oh(o)),a=new t(r,a),n.memoizedState=null!==a.state&&void 0!==a.state?a.state:null,a.updater=aT,n.stateNode=a,a._reactInternals=n,(a=n.stateNode).props=r,a.state=n.memoizedState,a.refs={},ob(n),o=t.contextType,a.context="object"==typeof o&&null!==o?oh(o):t8,a.state=n.memoizedState,"function"==typeof(o=t.getDerivedStateFromProps)&&(aL(n,t,o,r),a.state=n.memoizedState),"function"==typeof t.getDerivedStateFromProps||"function"==typeof a.getSnapshotBeforeUpdate||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||(o=a.state,"function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount(),o!==a.state&&aT.enqueueReplaceState(a,a.state,null),oP(n,r,a,l),oz(),a.state=n.memoizedState),"function"==typeof a.componentDidMount&&(n.flags|=4194308),r=!0}else if(null===e){a=n.stateNode;var i=n.memoizedProps,u=aD(t,i);a.props=u;var s=a.context,c=t.contextType;o=t8,"object"==typeof c&&null!==c&&(o=oh(c));var f=t.getDerivedStateFromProps;c="function"==typeof f||"function"==typeof a.getSnapshotBeforeUpdate,i=n.pendingProps!==i,c||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(i||s!==o)&&aF(n,a,r,o),ov=!1;var d=n.memoizedState;a.state=d,oP(n,r,a,l),oz(),s=n.memoizedState,i||d!==s||ov?("function"==typeof f&&(aL(n,t,f,r),s=n.memoizedState),(u=ov||a_(n,t,u,r,d,s,o))?(c||"function"!=typeof a.UNSAFE_componentWillMount&&"function"!=typeof a.componentWillMount||("function"==typeof a.componentWillMount&&a.componentWillMount(),"function"==typeof a.UNSAFE_componentWillMount&&a.UNSAFE_componentWillMount()),"function"==typeof a.componentDidMount&&(n.flags|=4194308)):("function"==typeof a.componentDidMount&&(n.flags|=4194308),n.memoizedProps=r,n.memoizedState=s),a.props=r,a.state=s,a.context=o,r=u):("function"==typeof a.componentDidMount&&(n.flags|=4194308),r=!1)}else{a=n.stateNode,ok(e,n),c=aD(t,o=n.memoizedProps),a.props=c,f=n.pendingProps,d=a.context,s=t.contextType,u=t8,"object"==typeof s&&null!==s&&(u=oh(s)),(s="function"==typeof(i=t.getDerivedStateFromProps)||"function"==typeof a.getSnapshotBeforeUpdate)||"function"!=typeof a.UNSAFE_componentWillReceiveProps&&"function"!=typeof a.componentWillReceiveProps||(o!==f||d!==u)&&aF(n,a,r,u),ov=!1,d=n.memoizedState,a.state=d,oP(n,r,a,l),oz();var p=n.memoizedState;o!==f||d!==p||ov||null!==e&&null!==e.dependencies&&op(e.dependencies)?("function"==typeof i&&(aL(n,t,i,r),p=n.memoizedState),(c=ov||a_(n,t,c,r,d,p,u)||null!==e&&null!==e.dependencies&&op(e.dependencies))?(s||"function"!=typeof a.UNSAFE_componentWillUpdate&&"function"!=typeof a.componentWillUpdate||("function"==typeof a.componentWillUpdate&&a.componentWillUpdate(r,p,u),"function"==typeof a.UNSAFE_componentWillUpdate&&a.UNSAFE_componentWillUpdate(r,p,u)),"function"==typeof a.componentDidUpdate&&(n.flags|=4),"function"==typeof a.getSnapshotBeforeUpdate&&(n.flags|=1024)):("function"!=typeof a.componentDidUpdate||o===e.memoizedProps&&d===e.memoizedState||(n.flags|=4),"function"!=typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&d===e.memoizedState||(n.flags|=1024),n.memoizedProps=r,n.memoizedState=p),a.props=r,a.state=p,a.context=u,r=c):("function"!=typeof a.componentDidUpdate||o===e.memoizedProps&&d===e.memoizedState||(n.flags|=4),"function"!=typeof a.getSnapshotBeforeUpdate||o===e.memoizedProps&&d===e.memoizedState||(n.flags|=1024),r=!1)}return a=r,aG(e,n),r=0!=(128&n.flags),a||r?(a=n.stateNode,t=r&&"function"!=typeof t.getDerivedStateFromError?null:a.render(),n.flags|=1,null!==e&&r?(n.child=ab(n,e.child,null,l),n.child=ab(n,null,t,l)):aW(e,n,t,l),n.memoizedState=a.state,e=n.child):e=ot(e,n,l),e}function a1(e,n,t,r){return rS(),n.flags|=256,aW(e,n,t,r),n.child}var a2={dehydrated:null,treeContext:null,retryLane:0};function a4(e){return{baseLanes:e,cachePool:r0()}}function a3(e,n,t){return e=null!==e?e.childLanes&~t:0,n&&(e|=ij),e}function a6(e,n,t){var r,l=n.pendingProps,a=!1,o=0!=(128&n.flags);if((r=o)||(r=(null===e||null!==e.memoizedState)&&0!=(2&aP.current)),r&&(a=!0,n.flags&=-129),r=0!=(32&n.flags),n.flags&=-33,null===e){if(rm){if(a?ax(n):aC(n),rm){var i,u=rp;if(i=u){t:{for(i=u,u=rg;8!==i.nodeType;)if(!u||null===(i=sd(i.nextSibling))){u=null;break t}u=i}null!==u?(n.memoizedState={dehydrated:u,treeContext:null!==ra?{id:ro,overflow:ri}:null,retryLane:0x20000000},(i=is(18,null,null,0)).stateNode=u,i.return=n,n.child=i,rd=n,rp=null,i=!0):i=!1}i||rv(n)}if(null!==(u=n.memoizedState)&&null!==(u=u.dehydrated))return sf(u)?n.lanes=16:n.lanes=0x20000000,null;az(n)}return(u=l.children,l=l.fallback,a)?(aC(n),u=a5({mode:"hidden",children:u},a=n.mode),l=ih(l,a,t,null),u.return=n,l.return=n,u.sibling=l,n.child=u,(a=n.child).memoizedState=a4(t),a.childLanes=a3(e,r,t),n.memoizedState=a2,l):(ax(n),a8(n,u))}if(null!==(i=e.memoizedState)&&null!==(u=i.dehydrated)){if(o)256&n.flags?(ax(n),n.flags&=-257,n=a9(e,n,t)):null!==n.memoizedState?(aC(n),n.child=e.child,n.flags|=128,n=null):(aC(n),a=l.fallback,u=n.mode,l=a5({mode:"visible",children:l.children},u),a=ih(a,u,t,null),a.flags|=2,l.return=n,a.return=n,l.sibling=a,n.child=l,ab(n,e.child,null,t),(l=n.child).memoizedState=a4(t),l.childLanes=a3(e,r,t),n.memoizedState=a2,n=a);else if(ax(n),sf(u)){if(r=u.nextSibling&&u.nextSibling.dataset)var c=r.dgst;r=c,(l=Error(s(419))).stack="",l.digest=r,rx({value:l,source:null,stack:null}),n=a9(e,n,t)}else if(a$||od(e,n,t,!1),r=0!=(t&e.childLanes),a$||r){if(null!==(r=iN)){if(0!=(42&(l=t&-t)))l=1;else switch(l){case 2:l=1;break;case 8:l=4;break;case 32:l=16;break;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 0x1000000:case 0x2000000:l=64;break;case 0x10000000:l=0x8000000;break;default:l=0}if(0!==(l=0!=(l&(r.suspendedLanes|t))?0:l)&&l!==i.retryLane)throw i.retryLane=l,t4(e,l),i6(r,e,l),aQ}"$?"===u.data||uo(),n=a9(e,n,t)}else"$?"===u.data?(n.flags|=192,n.child=e.child,n=null):(e=i.treeContext,rp=sd(u.nextSibling),rd=n,rm=!0,rh=null,rg=!1,null!==e&&(rr[rl++]=ro,rr[rl++]=ri,rr[rl++]=ra,ro=e.id,ri=e.overflow,ra=n),n=a8(n,l.children),n.flags|=4096);return n}return a?(aC(n),a=l.fallback,u=n.mode,c=(i=e.child).sibling,(l=id(i,{mode:"hidden",children:l.children})).subtreeFlags=0x1e00000&i.subtreeFlags,null!==c?a=id(c,a):(a=ih(a,u,t,null),a.flags|=2),a.return=n,l.return=n,l.sibling=a,n.child=l,l=a,a=n.child,null===(u=e.child.memoizedState)?u=a4(t):(null!==(i=u.cachePool)?(c=rR._currentValue,i=i.parent!==c?{parent:c,pool:c}:i):i=r0(),u={baseLanes:u.baseLanes|t,cachePool:i}),a.memoizedState=u,a.childLanes=a3(e,r,t),n.memoizedState=a2,l):(ax(n),e=(t=e.child).sibling,(t=id(t,{mode:"visible",children:l.children})).return=n,t.sibling=null,null!==e&&(null===(r=n.deletions)?(n.deletions=[e],n.flags|=16):r.push(e)),n.child=t,n.memoizedState=null,t)}function a8(e,n){return(n=a5({mode:"visible",children:n},e.mode)).return=e,e.child=n}function a5(e,n){return ig(e,n,0,null)}function a9(e,n,t){return ab(n,e.child,null,t),e=a8(n,n.pendingProps.children),e.flags|=2,n.memoizedState=null,e}function a7(e,n,t){e.lanes|=n;var r=e.alternate;null!==r&&(r.lanes|=n),oc(e.return,n,t)}function oe(e,n,t,r,l){var a=e.memoizedState;null===a?e.memoizedState={isBackwards:n,rendering:null,renderingStartTime:0,last:r,tail:t,tailMode:l}:(a.isBackwards=n,a.rendering=null,a.renderingStartTime=0,a.last=r,a.tail=t,a.tailMode=l)}function on(e,n,t){var r=n.pendingProps,l=r.revealOrder,a=r.tail;if(aW(e,n,r.children,t),0!=(2&(r=aP.current)))r=1&r|2,n.flags|=128;else{if(null!==e&&0!=(128&e.flags))e:for(e=n.child;null!==e;){if(13===e.tag)null!==e.memoizedState&&a7(e,t,n);else if(19===e.tag)a7(e,t,n);else if(null!==e.child){e.child.return=e,e=e.child;continue}if(e===n)break;for(;null===e.sibling;){if(null===e.return||e.return===n)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}r&=1}switch(K(aP,r),l){case"forwards":for(l=null,t=n.child;null!==t;)null!==(e=t.alternate)&&null===aN(e)&&(l=t),t=t.sibling;null===(t=l)?(l=n.child,n.child=null):(l=t.sibling,t.sibling=null),oe(n,!1,l,t,a);break;case"backwards":for(t=null,l=n.child,n.child=null;null!==l;){if(null!==(e=l.alternate)&&null===aN(e)){n.child=l;break}e=l.sibling,l.sibling=t,t=l,l=e}oe(n,!0,t,null,a);break;case"together":oe(n,!1,null,null,void 0);break;default:n.memoizedState=null}return n.child}function ot(e,n,t){if(null!==e&&(n.dependencies=e.dependencies),iI|=n.lanes,0==(t&n.childLanes)&&(null===e||(od(e,n,t,!1),0==(t&n.childLanes))))return null;if(null!==e&&n.child!==e.child)throw Error(s(153));if(null!==n.child){for(t=id(e=n.child,e.pendingProps),n.child=t,t.return=n;null!==e.sibling;)e=e.sibling,(t=t.sibling=id(e,e.pendingProps)).return=n;t.sibling=null}return n.child}function or(e,n){return 0!=(e.lanes&n)||!!(null!==(e=e.dependencies)&&op(e))}function ol(e,n,t){if(null!==e){if(e.memoizedProps!==n.pendingProps)a$=!0;else{if(!or(e,t)&&0==(128&n.flags))return a$=!1,function(e,n,t){switch(n.tag){case 3:J(n,n.stateNode.containerInfo),ou(n,rR,e.memoizedState.cache),rS();break;case 27:case 5:en(n);break;case 4:J(n,n.stateNode.containerInfo);break;case 10:ou(n,n.type,n.memoizedProps.value);break;case 13:var r=n.memoizedState;if(null!==r){if(null!==r.dehydrated)return ax(n),n.flags|=128,null;if(0!=(t&n.child.childLanes))return a6(e,n,t);return ax(n),null!==(e=ot(e,n,t))?e.sibling:null}ax(n);break;case 19:var l=0!=(128&e.flags);if((r=0!=(t&n.childLanes))||(od(e,n,t,!1),r=0!=(t&n.childLanes)),l){if(r)return on(e,n,t);n.flags|=128}if(null!==(l=n.memoizedState)&&(l.rendering=null,l.tail=null,l.lastEffect=null),K(aP,aP.current),!r)return null;break;case 22:case 23:return n.lanes=0,aY(e,n,t);case 24:ou(n,rR,e.memoizedState.cache)}return ot(e,n,t)}(e,n,t);a$=0!=(131072&e.flags)}}else a$=!1,rm&&0!=(1048576&n.flags)&&rs(n,rt,n.index);switch(n.lanes=0,n.tag){case 16:e:{e=n.pendingProps;var r=n.elementType,l=r._init;if(r=l(r._payload),n.type=r,"function"==typeof r)ic(r)?(e=aD(r,e),n.tag=1,n=a0(null,n,r,e,t)):(n.tag=0,n=aZ(null,n,r,e,t));else{if(null!=r){if((l=r.$$typeof)===k){n.tag=11,n=aH(null,n,r,e,t);break e}if(l===x){n.tag=14,n=aq(null,n,r,e,t);break e}}throw Error(s(306,n=function e(n){if(null==n)return null;if("function"==typeof n)return n.$$typeof===_?null:n.displayName||n.name||null;if("string"==typeof n)return n;switch(n){case m:return"Fragment";case p:return"Portal";case g:return"Profiler";case h:return"StrictMode";case w:return"Suspense";case S:return"SuspenseList"}if("object"==typeof n)switch(n.$$typeof){case b:return(n.displayName||"Context")+".Provider";case v:return(n._context.displayName||"Context")+".Consumer";case k:var t=n.render;return(n=n.displayName)||(n=""!==(n=t.displayName||t.name||"")?"ForwardRef("+n+")":"ForwardRef"),n;case x:return null!==(t=n.displayName||null)?t:e(n.type)||"Memo";case E:t=n._payload,n=n._init;try{return e(n(t))}catch(e){}}return null}(r)||r,""))}}return n;case 0:return aZ(e,n,n.type,n.pendingProps,t);case 1:return l=aD(r=n.type,n.pendingProps),a0(e,n,r,l,t);case 3:e:{if(J(n,n.stateNode.containerInfo),null===e)throw Error(s(387));var a=n.pendingProps;r=(l=n.memoizedState).element,ok(e,n),oP(n,a,null,t);var o=n.memoizedState;if(ou(n,rR,a=o.cache),a!==l.cache&&of(n,[rR],t,!0),oz(),a=o.element,l.isDehydrated){if(l={element:a,isDehydrated:!1,cache:o.cache},n.updateQueue.baseState=l,n.memoizedState=l,256&n.flags){n=a1(e,n,a,t);break e}if(a!==r){rx(r=t9(Error(s(424)),n)),n=a1(e,n,a,t);break e}for(rp=sd(n.stateNode.containerInfo.firstChild),rd=n,rm=!0,rh=null,rg=!0,t=ak(n,null,a,t),n.child=t;t;)t.flags=-3&t.flags|4096,t=t.sibling}else{if(rS(),a===r){n=ot(e,n,t);break e}aW(e,n,a,t)}n=n.child}return n;case 26:return aG(e,n),null===e?(t=sw(n.type,null,n.pendingProps,null))?n.memoizedState=t:rm||(t=n.type,e=n.pendingProps,(r=u7(G.current).createElement(t))[eR]=n,r[eI]=e,u8(r,t,e),eX(r),n.stateNode=r):n.memoizedState=sw(n.type,e.memoizedProps,n.pendingProps,e.memoizedState),null;case 27:return en(n),null===e&&rm&&(r=n.stateNode=sm(n.type,n.pendingProps,G.current),rd=n,rg=!0,rp=sd(r.firstChild)),r=n.pendingProps.children,null!==e||rm?aW(e,n,r,t):n.child=ab(n,null,r,t),aG(e,n),n.child;case 5:return null===e&&rm&&((l=r=rp)&&(null!==(r=function(e,n,t,r){for(;1===e.nodeType;){if(e.nodeName.toLowerCase()!==n.toLowerCase()){if(!r&&("INPUT"!==e.nodeName||"hidden"!==e.type))break}else if(r){if(!e[e$])switch(n){case"meta":if(!e.hasAttribute("itemprop"))break;return e;case"link":if("stylesheet"===(l=e.getAttribute("rel"))&&e.hasAttribute("data-precedence")||l!==t.rel||e.getAttribute("href")!==(null==t.href?null:t.href)||e.getAttribute("crossorigin")!==(null==t.crossOrigin?null:t.crossOrigin)||e.getAttribute("title")!==(null==t.title?null:t.title))break;return e;case"style":if(e.hasAttribute("data-precedence"))break;return e;case"script":if(((l=e.getAttribute("src"))!==(null==t.src?null:t.src)||e.getAttribute("type")!==(null==t.type?null:t.type)||e.getAttribute("crossorigin")!==(null==t.crossOrigin?null:t.crossOrigin))&&l&&e.hasAttribute("async")&&!e.hasAttribute("itemprop"))break;return e;default:return e}}else{if("input"!==n||"hidden"!==e.type)return e;var l=null==t.name?null:""+t.name;if("hidden"===t.type&&e.getAttribute("name")===l)return e}if(null===(e=sd(e.nextSibling)))break}return null}(r,n.type,n.pendingProps,rg))?(n.stateNode=r,rd=n,rp=sd(r.firstChild),rg=!1,l=!0):l=!1),l||rv(n)),en(n),l=n.type,a=n.pendingProps,o=null!==e?e.memoizedProps:null,r=a.children,st(l,a)?r=null:null!==o&&st(l,o)&&(n.flags|=32),null!==n.memoizedState&&(l=ll(e,n,li,null,null,t),sj._currentValue=l),aG(e,n),aW(e,n,r,t),n.child;case 6:return null===e&&rm&&((e=t=rp)&&(null!==(t=function(e,n,t){if(""===n)return null;for(;3!==e.nodeType;)if((1!==e.nodeType||"INPUT"!==e.nodeName||"hidden"!==e.type)&&!t||null===(e=sd(e.nextSibling)))return null;return e}(t,n.pendingProps,rg))?(n.stateNode=t,rd=n,rp=null,e=!0):e=!1),e||rv(n)),null;case 13:return a6(e,n,t);case 4:return J(n,n.stateNode.containerInfo),r=n.pendingProps,null===e?n.child=ab(n,null,r,t):aW(e,n,r,t),n.child;case 11:return aH(e,n,n.type,n.pendingProps,t);case 7:return aW(e,n,n.pendingProps,t),n.child;case 8:case 12:return aW(e,n,n.pendingProps.children,t),n.child;case 10:return r=n.pendingProps,ou(n,n.type,r.value),aW(e,n,r.children,t),n.child;case 9:return l=n.type._context,r=n.pendingProps.children,om(n),r=r(l=oh(l)),n.flags|=1,aW(e,n,r,t),n.child;case 14:return aq(e,n,n.type,n.pendingProps,t);case 15:return aK(e,n,n.type,n.pendingProps,t);case 19:return on(e,n,t);case 22:return aY(e,n,t);case 24:return om(n),r=oh(rR),null===e?(null===(l=rZ())&&(l=iN,a=rI(),l.pooledCache=a,a.refCount++,null!==a&&(l.pooledCacheLanes|=t),l=a),n.memoizedState={parent:r,cache:l},ob(n),ou(n,rR,l)):(0!=(e.lanes&t)&&(ok(e,n),oP(n,null,null,t),oz()),l=e.memoizedState,a=n.memoizedState,l.parent!==r?(l={parent:r,cache:r},n.memoizedState=l,0===n.lanes&&(n.memoizedState=n.updateQueue.baseState=l),ou(n,rR,r)):(ou(n,rR,r=a.cache),r!==l.cache&&of(n,[rR],t,!0))),aW(e,n,n.pendingProps.children,t),n.child;case 29:throw n.pendingProps}throw Error(s(156,n.tag))}var oa=H(null),oo=null,oi=null;function ou(e,n,t){K(oa,n._currentValue),n._currentValue=t}function os(e){e._currentValue=oa.current,q(oa)}function oc(e,n,t){for(;null!==e;){var r=e.alternate;if((e.childLanes&n)!==n?(e.childLanes|=n,null!==r&&(r.childLanes|=n)):null!==r&&(r.childLanes&n)!==n&&(r.childLanes|=n),e===t)break;e=e.return}}function of(e,n,t,r){var l=e.child;for(null!==l&&(l.return=e);null!==l;){var a=l.dependencies;if(null!==a){var o=l.child;a=a.firstContext;e:for(;null!==a;){var i=a;a=l;for(var u=0;u title"))),u8(a,r,t),a[eR]=e,eX(a),r=a;break e;case"link":var o=sF("link","href",l).get(r+(t.href||""));if(o){for(var i=0;i<\/script>",e=e.removeChild(e.firstChild);break;case"select":e="string"==typeof r.is?l.createElement("select",{is:r.is}):l.createElement("select"),r.multiple?e.multiple=!0:r.size&&(e.size=r.size);break;default:e="string"==typeof r.is?l.createElement(t,{is:r.is}):l.createElement(t)}}e[eR]=n,e[eI]=r;e:for(l=n.child;null!==l;){if(5===l.tag||6===l.tag)e.appendChild(l.stateNode);else if(4!==l.tag&&27!==l.tag&&null!==l.child){l.child.return=l,l=l.child;continue}if(l===n)break;for(;null===l.sibling;){if(null===l.return||l.return===n)break e;l=l.return}l.sibling.return=l.return,l=l.sibling}switch(n.stateNode=e,u8(e,t,r),t){case"button":case"input":case"select":case"textarea":e=!!r.autoFocus;break;case"img":e=!0;break;default:e=!1}e&&ib(n)}}return ix(n),n.flags&=-0x1000001,null;case 6:if(e&&null!=n.stateNode)e.memoizedProps!==r&&ib(n);else{if("string"!=typeof r&&null===n.stateNode)throw Error(s(166));if(e=G.current,rw(n)){if(e=n.stateNode,t=n.memoizedProps,r=null,null!==(l=rd))switch(l.tag){case 27:case 5:r=l.memoizedProps}e[eR]=n,(e=!!(e.nodeValue===t||null!==r&&!0===r.suppressHydrationWarning||u2(e.nodeValue,t)))||rv(n)}else(e=u7(e).createTextNode(r))[eR]=n,n.stateNode=e}return ix(n),null;case 13:if(r=n.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(l=rw(n),null!==r&&null!==r.dehydrated){if(null===e){if(!l)throw Error(s(318));if(!(l=null!==(l=n.memoizedState)?l.dehydrated:null))throw Error(s(317));l[eR]=n}else rS(),0==(128&n.flags)&&(n.memoizedState=null),n.flags|=4;ix(n),l=!1}else null!==rh&&(i5(rh),rh=null),l=!0;if(!l){if(256&n.flags)return az(n),n;return az(n),null}}if(az(n),0!=(128&n.flags))return n.lanes=t,n;if(t=null!==r,e=null!==e&&null!==e.memoizedState,t){r=n.child,l=null,null!==r.alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(l=r.alternate.memoizedState.cachePool.pool);var a=null;null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(a=r.memoizedState.cachePool.pool),a!==l&&(r.flags|=2048)}return t!==e&&t&&(n.child.flags|=8192),iw(n,n.updateQueue),ix(n),null;case 4:return ee(),null===e&&uH(n.stateNode.containerInfo),ix(n),null;case 10:return os(n.type),ix(n),null;case 19:if(q(aP),null===(l=n.memoizedState))return ix(n),null;if(r=0!=(128&n.flags),null===(a=l.rendering)){if(r)iS(l,!1);else{if(0!==iR||null!==e&&0!=(128&e.flags))for(e=n.child;null!==e;){if(null!==(a=aN(e))){for(n.flags|=128,iS(l,!1),e=a.updateQueue,n.updateQueue=e,iw(n,e),n.subtreeFlags=0,e=t,t=n.child;null!==t;)ip(t,e),t=t.sibling;return K(aP,1&aP.current|2),n.child}e=e.sibling}null!==l.tail&&eu()>iq&&(n.flags|=128,r=!0,iS(l,!1),n.lanes=4194304)}}else{if(!r){if(null!==(e=aN(a))){if(n.flags|=128,r=!0,e=e.updateQueue,n.updateQueue=e,iw(n,e),iS(l,!0),null===l.tail&&"hidden"===l.tailMode&&!a.alternate&&!rm)return ix(n),null}else 2*eu()-l.renderingStartTime>iq&&0x20000000!==t&&(n.flags|=128,r=!0,iS(l,!1),n.lanes=4194304)}l.isBackwards?(a.sibling=n.child,n.child=a):(null!==(e=l.last)?e.sibling=a:n.child=a,l.last=a)}if(null!==l.tail)return n=l.tail,l.rendering=n,l.tail=n.sibling,l.renderingStartTime=eu(),n.sibling=null,e=aP.current,K(aP,r?1&e|2:1&e),n;return ix(n),null;case 22:case 23:return az(n),rY(),r=null!==n.memoizedState,null!==e?null!==e.memoizedState!==r&&(n.flags|=8192):r&&(n.flags|=8192),r?0!=(0x20000000&t)&&0==(128&n.flags)&&(ix(n),6&n.subtreeFlags&&(n.flags|=8192)):ix(n),null!==(t=n.updateQueue)&&iw(n,t.retryQueue),t=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(t=e.memoizedState.cachePool.pool),r=null,null!==n.memoizedState&&null!==n.memoizedState.cachePool&&(r=n.memoizedState.cachePool.pool),r!==t&&(n.flags|=2048),null!==e&&q(rG),null;case 24:return t=null,null!==e&&(t=e.memoizedState.cache),n.memoizedState.cache!==t&&(n.flags|=2048),os(rR),ix(n),null;case 25:return null}throw Error(s(156,n.tag))}(n.alternate,n,iA);if(null!==t){iL=t;return}if(null!==(n=n.sibling)){iL=n;return}iL=n=e}while(null!==n);0===iR&&(iR=5)}function ud(e,n){do{var t=function(e,n){switch(rf(n),n.tag){case 1:return 65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 3:return os(rR),ee(),0!=(65536&(e=n.flags))&&0==(128&e)?(n.flags=-65537&e|128,n):null;case 26:case 27:case 5:return et(n),null;case 13:if(az(n),null!==(e=n.memoizedState)&&null!==e.dehydrated){if(null===n.alternate)throw Error(s(340));rS()}return 65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 19:return q(aP),null;case 4:return ee(),null;case 10:return os(n.type),null;case 22:case 23:return az(n),rY(),null!==e&&q(rG),65536&(e=n.flags)?(n.flags=-65537&e|128,n):null;case 24:return os(rR),null;default:return null}}(e.alternate,e);if(null!==t){t.flags&=32767,iL=t;return}if(null!==(t=e.return)&&(t.flags|=32768,t.subtreeFlags=0,t.deletions=null),!n&&null!==(e=e.sibling)){iL=e;return}iL=e=t}while(null!==e);iR=6,iL=null}function up(e,n,t,r,l,a,o,i,u,c,f){var d=F.T,p=B.p;try{B.p=2,F.T=null,function(e,n,t,r,l,a,o,i){do uh();while(null!==iG);if(0!=(6&iP))throw Error(s(327));var u,c=e.finishedWork;if(r=e.finishedLanes,null!==c){if(e.finishedWork=null,e.finishedLanes=0,c===e.current)throw Error(s(177));e.callbackNode=null,e.callbackPriority=0,e.cancelPendingCommit=null;var f=c.lanes|c.childLanes;if(function(e,n,t,r,l,a){var o=e.pendingLanes;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=t,e.entangledLanes&=t,e.errorRecoveryDisabledLanes&=t,e.shellSuspendCounter=0;var i=e.entanglements,u=e.expirationTimes,s=e.hiddenUpdates;for(t=o&~t;0r&&(l=r,r=a,a=l),l=tP(n,a);var o=tP(n,r);l&&o&&(1!==t.rangeCount||t.anchorNode!==l.node||t.anchorOffset!==l.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&((e=e.createRange()).setStart(l.node,l.offset),t.removeAllRanges(),a>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=n;t=t.parentNode;)1===t.nodeType&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;nt?32:t,F.T=null,null===iG)var a=!1;else{t=i0,i0=null;var o=iG,i=iZ;if(iG=null,iZ=0,0!=(6&iP))throw Error(s(331));var u=iP;if(iP|=4,io(o.current),o9(o,o.current,i,t),iP=u,uT(0,!1),ev&&"function"==typeof ev.onPostCommitFiberRoot)try{ev.onPostCommitFiberRoot(ey,o)}catch(e){}a=!0}return a}finally{B.p=l,F.T=r,um(e,n)}}return!1}function ug(e,n,t){n=t9(t,n),n=aV(e.stateNode,n,2),null!==(e=oS(e,n,2))&&(e_(e,2),uL(e))}function uy(e,n,t){if(3===e.tag)ug(e,e,t);else for(;null!==n;){if(3===n.tag){ug(n,e,t);break}if(1===n.tag){var r=n.stateNode;if("function"==typeof n.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===iY||!iY.has(r))){e=t9(t,e),null!==(r=oS(n,t=aj(2),2))&&(aB(t,r,n,e),e_(r,2),uL(r));break}}n=n.return}}function uv(e,n,t){var r=e.pingCache;if(null===r){r=e.pingCache=new iz;var l=new Set;r.set(n,l)}else void 0===(l=r.get(n))&&(l=new Set,r.set(n,l));l.has(t)||(iM=!0,l.add(t),e=ub.bind(null,e,n,t),n.then(e,e))}function ub(e,n,t){var r=e.pingCache;null!==r&&r.delete(n),e.pingedLanes|=e.suspendedLanes&t,e.warmLanes&=~t,iN===e&&(iT&t)===t&&(4===iR||3===iR&&(0x3c00000&iT)===iT&&300>eu()-iH?0==(2&iP)&&ut(e,0):iV|=t,iB===iT&&(iB=0)),uL(e)}function uk(e,n){0===n&&(n=eL()),null!==(e=t4(e,n))&&(e_(e,n),uL(e))}function uw(e){var n=e.memoizedState,t=0;null!==n&&(t=n.retryLane),uk(e,t)}function uS(e,n){var t=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(t=l.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(s(314))}null!==r&&r.delete(n),uk(e,t)}var ux=null,uE=null,uC=!1,uz=!1,uP=!1,uN=0;function uL(e){var n;e!==uE&&null===e.next&&(null===uE?ux=uE=e:uE=uE.next=e),uz=!0,uC||(uC=!0,n=u_,si(function(){0!=(6&iP)?el(ec,n):n()}))}function uT(e,n){if(!uP&&uz){uP=!0;do for(var t=!1,r=ux;null!==r;){if(!n){if(0!==e){var l=r.pendingLanes;if(0===l)var a=0;else{var o=r.suspendedLanes,i=r.pingedLanes;a=0xc000055&(a=(1<<31-ek(42|e)+1)-1&(l&~(o&~i)))?0xc000055&a|1:a?2|a:0}0!==a&&(t=!0,uO(r,a))}else a=iT,0==(3&(a=ez(r,r===iN?a:0)))||eP(r,a)||(t=!0,uO(r,a))}r=r.next}while(t);uP=!1}}function u_(){uz=uC=!1;var e,n=0;0!==uN&&(((e=window.event)&&"popstate"===e.type?e===sr||(sr=e,0):(sr=null,1))||(n=uN),uN=0);for(var t=eu(),r=null,l=ux;null!==l;){var a=l.next,o=uF(l,t);0===o?(l.next=null,null===r?ux=a:r.next=a,null===a&&(uE=r)):(r=l,(0!==n||0!=(3&o))&&(uz=!0)),l=a}uT(n,!1)}function uF(e,n){for(var t=e.suspendedLanes,r=e.pingedLanes,l=e.expirationTimes,a=-0x3c00001&e.pendingLanes;0 title"):null)}function sO(e){return"stylesheet"!==e.type||0!=(3&e.state.loading)}var sM=null;function sA(){}function sR(){if(this.count--,0===this.count){if(this.stylesheets)sU(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var sI=null;function sU(e,n){e.stylesheets=null,null!==e.unsuspend&&(e.count++,sI=new Map,n.forEach(sV,e),sI=null,sR.call(e))}function sV(e,n){if(!(4&n.state.loading)){var t=sI.get(e);if(t)var r=t.get(null);else{t=new Map,sI.set(e,t);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a{"use strict";function r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return r}})},497:()=>{"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},2818:(e,t,r)=>{"use strict";var n,o;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(o=r.g.process)?void 0:o.env)?r.g.process:r(7851)},9544:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return a}});let n=r(9377),o=r(6573);function a(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7297:(e,t)=>{"use strict";function r(e){var t,r;t=self.__next_s,r=()=>{e()},t&&t.length?t.reduce((e,t)=>{let[r,n]=t;return e.then(()=>new Promise((e,t)=>{let o=document.createElement("script");if(n)for(let e in n)"children"!==e&&o.setAttribute(e,n[e]);r?(o.src=r,o.onload=()=>e(),o.onerror=t):n&&(o.innerHTML=n.children,setTimeout(e)),document.head.appendChild(o)}))},Promise.resolve()).catch(e=>{console.error(e)}).then(()=>{r()}):r()}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"appBootstrap",{enumerable:!0,get:function(){return r}}),window.next={version:"15.1.7",appDir:!0},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8127:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getAppBuildId:function(){return o},setAppBuildId:function(){return n}});let r="";function n(e){r=e}function o(){return r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9603:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{callServer:function(){return l},useServerActionDispatcher:function(){return u}});let n=r(2115),o=r(4445),a=null;function u(e){a=(0,n.useCallback)(t=>{(0,n.startTransition)(()=>{e({...t,type:o.ACTION_SERVER_ACTION})})},[e])}async function l(e,t){let r=a;if(!r)throw Error("Invariant: missing action dispatcher.");return new Promise((n,o)=>{r({actionId:e,actionArgs:t,resolve:n,reject:o})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3355:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findSourceMapURL",{enumerable:!0,get:function(){return r}});let r=void 0;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},847:(e,t,r)=>{"use strict";let n,o;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hydrate",{enumerable:!0,get:function(){return N}});let a=r(306),u=r(9955),l=r(5155);r(497),r(8397),r(9003);let i=a._(r(2669)),s=u._(r(2115)),c=r(4979),f=r(1147),d=r(8221),p=r(6547),h=r(9603),y=r(3355),g=r(6833),b=a._(r(3423)),_=r(1386);r(1394);let v=r(8127),m=document,P=new TextEncoder,E=!1,O=!1,R=null;function S(e){if(0===e[0])n=[];else if(1===e[0]){if(!n)throw Error("Unexpected server data: missing bootstrap script.");o?o.enqueue(P.encode(e[1])):n.push(e[1])}else if(2===e[0])R=e[1];else if(3===e[0]){if(!n)throw Error("Unexpected server data: missing bootstrap script.");let r=atob(e[1]),a=new Uint8Array(r.length);for(var t=0;t{t.enqueue("string"==typeof e?P.encode(e):e)}),E&&!O)&&(null===t.desiredSize||t.desiredSize<0?t.error(Error("The connection to the page was unexpectedly closed, possibly due to the stop button being clicked, loss of Wi-Fi, or an unstable internet connection.")):t.close(),O=!0,n=void 0),o=t}}),M=(0,c.createFromReadableStream)(T,{callServer:h.callServer,findSourceMapURL:y.findSourceMapURL}),x=new Promise((e,t)=>{M.then(t=>{(0,v.setAppBuildId)(t.b),e((0,g.createMutableActionQueue)((0,_.createInitialRouterState)({initialFlightData:t.f,initialCanonicalUrlParts:t.c,initialParallelRoutes:new Map,location:window.location,couldBeIntercepted:t.i,postponed:t.s,prerendered:t.S})))},e=>t(e))});function A(){let e=(0,s.use)(M),t=(0,s.use)(x);return(0,l.jsx)(b.default,{actionQueue:t,globalErrorComponentAndStyles:e.G,assetPrefix:e.p})}let C=s.default.StrictMode;function k(e){let{children:t}=e;return t}let D={onRecoverableError:d.onRecoverableError,onCaughtError:p.onCaughtError,onUncaughtError:p.onUncaughtError};function N(){let e=(0,l.jsx)(C,{children:(0,l.jsx)(f.HeadManagerContext.Provider,{value:{appDir:!0},children:(0,l.jsx)(k,{children:(0,l.jsx)(A,{})})})}),t=window.__next_root_layout_missing_tags,r=!!(null==t?void 0:t.length);"__next_error__"===document.documentElement.id||r?i.default.createRoot(m,D).render(e):s.default.startTransition(()=>i.default.hydrateRoot(m,e,{...D,formState:R}))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7200:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(8132),(0,r(7297).appBootstrap)(()=>{let{hydrate:e}=r(847);r(3423),r(5244),e()}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8132:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(5851);let n=r(8284);{let e=r.u;r.u=function(){for(var t=arguments.length,r=Array(t),o=0;o{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"assignLocation",{enumerable:!0,get:function(){return o}});let n=r(9544);function o(e,t){if(e.startsWith(".")){let r=t.origin+t.pathname;return new URL((r.endsWith("/")?r:r+"/")+e)}return new URL((0,n.addBasePath)(e),t.href)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5881:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AppRouterAnnouncer",{enumerable:!0,get:function(){return u}});let n=r(2115),o=r(7650),a="next-route-announcer";function u(e){let{tree:t}=e,[r,u]=(0,n.useState)(null);(0,n.useEffect)(()=>(u(function(){var e;let t=document.getElementsByName(a)[0];if(null==t?void 0:null==(e=t.shadowRoot)?void 0:e.childNodes[0])return t.shadowRoot.childNodes[0];{let e=document.createElement(a);e.style.cssText="position:absolute";let t=document.createElement("div");return t.ariaLive="assertive",t.id="__next-route-announcer__",t.role="alert",t.style.cssText="position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal",e.attachShadow({mode:"open"}).appendChild(t),document.body.appendChild(e),t}}()),()=>{let e=document.getElementsByTagName(a)[0];(null==e?void 0:e.isConnected)&&document.body.removeChild(e)}),[]);let[l,i]=(0,n.useState)(""),s=(0,n.useRef)(void 0);return(0,n.useEffect)(()=>{let e="";if(document.title)e=document.title;else{let t=document.querySelector("h1");t&&(e=t.innerText||t.textContent||"")}void 0!==s.current&&s.current!==e&&i(e),s.current=e},[t]),r?(0,o.createPortal)(l,r):null}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2836:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_HEADER:function(){return n},FLIGHT_HEADERS:function(){return c},NEXT_DID_POSTPONE_HEADER:function(){return p},NEXT_HMR_REFRESH_HEADER:function(){return l},NEXT_IS_PRERENDER_HEADER:function(){return h},NEXT_ROUTER_PREFETCH_HEADER:function(){return a},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return u},NEXT_ROUTER_STALE_TIME_HEADER:function(){return d},NEXT_ROUTER_STATE_TREE_HEADER:function(){return o},NEXT_RSC_UNION_QUERY:function(){return f},NEXT_URL:function(){return i},RSC_CONTENT_TYPE_HEADER:function(){return s},RSC_HEADER:function(){return r}});let r="RSC",n="Next-Action",o="Next-Router-State-Tree",a="Next-Router-Prefetch",u="Next-Router-Segment-Prefetch",l="Next-HMR-Refresh",i="Next-Url",s="text/x-component",c=[r,o,a,l,u],f="_rsc",d="x-nextjs-stale-time",p="x-nextjs-postponed",h="x-nextjs-prerender";("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3423:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createEmptyCacheNode:function(){return M},createPrefetchURL:function(){return w},default:function(){return k}});let n=r(9955),o=r(5155),a=n._(r(2115)),u=r(1394),l=r(4445),i=r(1055),s=r(8703),c=r(6494),f=r(4835),d=r(4283),p=r(9544),h=r(5881),y=r(6501),g=r(6674),b=r(9321),_=r(1129),v=r(6003),m=r(845),P=r(9935),E=r(9603);r(9824);let O=r(9100),R=r(7563),S={};function j(e){return e.origin!==window.location.origin}function w(e){let t;if((0,d.isBot)(window.navigator.userAgent))return null;try{t=new URL((0,p.addBasePath)(e),window.location.href)}catch(t){throw Error("Cannot prefetch '"+e+"' because it cannot be converted to a URL.")}return j(t)?null:t}function T(e){let{appRouterState:t}=e;return(0,a.useInsertionEffect)(()=>{let{tree:e,pushRef:r,canonicalUrl:n}=t,o={...r.preserveCustomHistoryState?window.history.state:{},__NA:!0,__PRIVATE_NEXTJS_INTERNALS_TREE:e};r.pendingPush&&(0,i.createHrefFromUrl)(new URL(window.location.href))!==n?(r.pendingPush=!1,window.history.pushState(o,"",n)):window.history.replaceState(o,"",n)},[t]),null}function M(){return{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null}}function x(e){null==e&&(e={});let t=window.history.state,r=null==t?void 0:t.__NA;r&&(e.__NA=r);let n=null==t?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;return n&&(e.__PRIVATE_NEXTJS_INTERNALS_TREE=n),e}function A(e){let{headCacheNode:t}=e,r=null!==t?t.head:null,n=null!==t?t.prefetchHead:null,o=null!==n?n:r;return(0,a.useDeferredValue)(r,o)}function C(e){let t,{actionQueue:r,assetPrefix:n}=e,[i,f]=(0,c.useReducer)(r),{canonicalUrl:d}=(0,c.useUnwrapState)(i),{searchParams:P,pathname:M}=(0,a.useMemo)(()=>{let e=new URL(d,"undefined"==typeof window?"http://n":window.location.href);return{searchParams:e.searchParams,pathname:(0,v.hasBasePath)(e.pathname)?(0,_.removeBasePath)(e.pathname):e.pathname}},[d]),C=(0,a.useCallback)(e=>{let{previousTree:t,serverResponse:r}=e;(0,a.startTransition)(()=>{f({type:l.ACTION_SERVER_PATCH,previousTree:t,serverResponse:r})})},[f]),k=(0,a.useCallback)((e,t,r)=>{let n=new URL((0,p.addBasePath)(e),location.href);return f({type:l.ACTION_NAVIGATE,url:n,isExternalUrl:j(n),locationSearch:location.search,shouldScroll:null==r||r,navigateType:t,allowAliasing:!0})},[f]);(0,E.useServerActionDispatcher)(f);let D=(0,a.useMemo)(()=>({back:()=>window.history.back(),forward:()=>window.history.forward(),prefetch:(e,t)=>{let r=w(e);null!==r&&(0,a.startTransition)(()=>{var e;f({type:l.ACTION_PREFETCH,url:r,kind:null!=(e=null==t?void 0:t.kind)?e:l.PrefetchKind.FULL})})},replace:(e,t)=>{void 0===t&&(t={}),(0,a.startTransition)(()=>{var r;k(e,"replace",null==(r=t.scroll)||r)})},push:(e,t)=>{void 0===t&&(t={}),(0,a.startTransition)(()=>{var r;k(e,"push",null==(r=t.scroll)||r)})},refresh:()=>{(0,a.startTransition)(()=>{f({type:l.ACTION_REFRESH,origin:window.location.origin})})},hmrRefresh:()=>{throw Error("hmrRefresh can only be used in development mode. Please use refresh instead.")}}),[r,f,k]);(0,a.useEffect)(()=>{window.next&&(window.next.router=D)},[D]),(0,a.useEffect)(()=>{function e(e){var t;e.persisted&&(null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE)&&(S.pendingMpaPath=void 0,f({type:l.ACTION_RESTORE,url:new URL(window.location.href),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE}))}return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}},[f]),(0,a.useEffect)(()=>{function e(e){let t="reason"in e?e.reason:e.error;if((0,R.isRedirectError)(t)){e.preventDefault();let r=(0,O.getURLFromRedirectError)(t);(0,O.getRedirectTypeFromError)(t)===R.RedirectType.push?D.push(r,{}):D.replace(r,{})}}return window.addEventListener("error",e),window.addEventListener("unhandledrejection",e),()=>{window.removeEventListener("error",e),window.removeEventListener("unhandledrejection",e)}},[D]);let{pushRef:N}=(0,c.useUnwrapState)(i);if(N.mpaNavigation){if(S.pendingMpaPath!==d){let e=window.location;N.pendingPush?e.assign(d):e.replace(d),S.pendingMpaPath=d}(0,a.use)(b.unresolvedThenable)}(0,a.useEffect)(()=>{let e=window.history.pushState.bind(window.history),t=window.history.replaceState.bind(window.history),r=e=>{var t;let r=window.location.href,n=null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;(0,a.startTransition)(()=>{f({type:l.ACTION_RESTORE,url:new URL(null!=e?e:r,r),tree:n})})};window.history.pushState=function(t,n,o){return(null==t?void 0:t.__NA)||(null==t?void 0:t._N)||(t=x(t),o&&r(o)),e(t,n,o)},window.history.replaceState=function(e,n,o){return(null==e?void 0:e.__NA)||(null==e?void 0:e._N)||(e=x(e),o&&r(o)),t(e,n,o)};let n=e=>{if(e.state){if(!e.state.__NA){window.location.reload();return}(0,a.startTransition)(()=>{f({type:l.ACTION_RESTORE,url:new URL(window.location.href),tree:e.state.__PRIVATE_NEXTJS_INTERNALS_TREE})})}};return window.addEventListener("popstate",n),()=>{window.history.pushState=e,window.history.replaceState=t,window.removeEventListener("popstate",n)}},[f]);let{cache:I,tree:L,nextUrl:H,focusAndScrollRef:F}=(0,c.useUnwrapState)(i),$=(0,a.useMemo)(()=>(0,g.findHeadInCache)(I,L[1]),[I,L]),B=(0,a.useMemo)(()=>(0,m.getSelectedParams)(L),[L]),W=(0,a.useMemo)(()=>({childNodes:I.parallelRoutes,tree:L,url:d,loading:I.loading}),[I.parallelRoutes,L,d,I.loading]),G=(0,a.useMemo)(()=>({changeByServerResponse:C,tree:L,focusAndScrollRef:F,nextUrl:H}),[C,L,F,H]);if(null!==$){let[e,r]=$;t=(0,o.jsx)(A,{headCacheNode:e},r)}else t=null;let K=(0,o.jsxs)(y.RedirectBoundary,{children:[t,I.rsc,(0,o.jsx)(h.AppRouterAnnouncer,{tree:L})]});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(T,{appRouterState:(0,c.useUnwrapState)(i)}),(0,o.jsx)(U,{}),(0,o.jsx)(s.PathParamsContext.Provider,{value:B,children:(0,o.jsx)(s.PathnameContext.Provider,{value:M,children:(0,o.jsx)(s.SearchParamsContext.Provider,{value:P,children:(0,o.jsx)(u.GlobalLayoutRouterContext.Provider,{value:G,children:(0,o.jsx)(u.AppRouterContext.Provider,{value:D,children:(0,o.jsx)(u.LayoutRouterContext.Provider,{value:W,children:K})})})})})})]})}function k(e){let{actionQueue:t,globalErrorComponentAndStyles:[r,n],assetPrefix:a}=e;return(0,P.useNavFailureHandler)(),(0,o.jsx)(f.ErrorBoundary,{errorComponent:r,errorStyles:n,children:(0,o.jsx)(C,{actionQueue:t,assetPrefix:a})})}let D=new Set,N=new Set;function U(){let[,e]=a.default.useState(0),t=D.size;return(0,a.useEffect)(()=>{let r=()=>e(e=>e+1);return N.add(r),t!==D.size&&r(),()=>{N.delete(r)}},[t,e]),[...D].map((e,t)=>(0,o.jsx)("link",{rel:"stylesheet",href:""+e,precedence:"next"},t))}globalThis._N_E_STYLE_LOAD=function(e){let t=D.size;return D.add(e),D.size!==t&&N.forEach(e=>e()),Promise.resolve()},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8967:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"bailoutToClientRendering",{enumerable:!0,get:function(){return a}});let n=r(3719),o=r(5861);function a(e){let t=o.workAsyncStorage.getStore();if((null==t||!t.forceStatic)&&(null==t?void 0:t.isStaticGeneration))throw new n.BailoutToCSRError(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7033:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientPageRoot",{enumerable:!0,get:function(){return a}});let n=r(5155),o=r(4940);function a(e){let{Component:t,searchParams:a,params:u,promises:l}=e;if("undefined"==typeof window){let e,l;let{workAsyncStorage:i}=r(5861),s=i.getStore();if(!s)throw new o.InvariantError("Expected workStore to exist when handling searchParams in a client Page.");let{createSearchParamsFromClient:c}=r(2130);e=c(a,s);let{createParamsFromClient:f}=r(4383);return l=f(u,s),(0,n.jsx)(t,{params:l,searchParams:e})}{let{createRenderSearchParamsFromClient:e}=r(4124),o=e(a),{createRenderParamsFromClient:l}=r(5737),i=l(u);return(0,n.jsx)(t,{params:i,searchParams:o})}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4547:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientSegmentRoot",{enumerable:!0,get:function(){return a}});let n=r(5155),o=r(4940);function a(e){let{Component:t,slots:a,params:u,promise:l}=e;if("undefined"==typeof window){let e;let{workAsyncStorage:l}=r(5861),i=l.getStore();if(!i)throw new o.InvariantError("Expected workStore to exist when handling params in a client segment such as a Layout or Template.");let{createParamsFromClient:s}=r(4383);return e=s(u,i),(0,n.jsx)(t,{...a,params:e})}{let{createRenderParamsFromClient:e}=r(5737),o=e(u);return(0,n.jsx)(t,{...a,params:o})}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4835:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ErrorBoundary:function(){return h},ErrorBoundaryHandler:function(){return f},GlobalError:function(){return d},default:function(){return p}});let n=r(306),o=r(5155),a=n._(r(2115)),u=r(2380),l=r(179);r(9935);let i=r(5861),s={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}};function c(e){let{error:t}=e,r=i.workAsyncStorage.getStore();if((null==r?void 0:r.isRevalidate)||(null==r?void 0:r.isStaticGeneration))throw console.error(t),t;return null}class f extends a.default.Component{static getDerivedStateFromError(e){if((0,l.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){let{error:r}=t;return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(c,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,o.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}}function d(e){let{error:t}=e,r=null==t?void 0:t.digest;return(0,o.jsxs)("html",{id:"__next_error__",children:[(0,o.jsx)("head",{}),(0,o.jsxs)("body",{children:[(0,o.jsx)(c,{error:t}),(0,o.jsx)("div",{style:s.error,children:(0,o.jsxs)("div",{children:[(0,o.jsx)("h2",{style:s.text,children:"Application error: a "+(r?"server":"client")+"-side exception has occurred (see the "+(r?"server logs":"browser console")+" for more information)."}),r?(0,o.jsx)("p",{style:s.text,children:"Digest: "+r}):null]})})]})]})}let p=d;function h(e){let{errorComponent:t,errorStyles:r,errorScripts:n,children:a}=e,l=(0,u.useUntrackedPathname)();return t?(0,o.jsx)(f,{pathname:l,errorComponent:t,errorStyles:r,errorScripts:n,children:a}):(0,o.jsx)(o.Fragment,{children:a})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8901:(e,t,r)=>{"use strict";function n(){throw Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled.")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"forbidden",{enumerable:!0,get:function(){return n}}),r(2469).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9003:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(0,r(7712).handleGlobalErrors)(),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5194:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{originConsoleError:function(){return o},patchConsoleError:function(){return a}}),r(9762);let n=r(179);r(7712);let o=window.console.error;function a(){"undefined"!=typeof window&&(window.console.error=function(){let e;for(var t=arguments.length,r=Array(t),a=0;a{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),(0,r(5194).patchConsoleError)(),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},406:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DynamicServerError:function(){return n},isDynamicServerError:function(){return o}});let r="DYNAMIC_SERVER_USAGE";class n extends Error{constructor(e){super("Dynamic server usage: "+e),this.description=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2328:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTTPAccessFallbackBoundary",{enumerable:!0,get:function(){return c}});let n=r(9955),o=r(5155),a=n._(r(2115)),u=r(2380),l=r(2469);r(2363);let i=r(1394);class s extends a.default.Component{componentDidCatch(){}static getDerivedStateFromError(e){if((0,l.isHTTPAccessFallbackError)(e))return{triggeredStatus:(0,l.getAccessFallbackHTTPStatus)(e)};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.triggeredStatus?{triggeredStatus:void 0,previousPathname:e.pathname}:{triggeredStatus:t.triggeredStatus,previousPathname:e.pathname}}render(){let{notFound:e,forbidden:t,unauthorized:r,children:n}=this.props,{triggeredStatus:a}=this.state,u={[l.HTTPAccessErrorStatus.NOT_FOUND]:e,[l.HTTPAccessErrorStatus.FORBIDDEN]:t,[l.HTTPAccessErrorStatus.UNAUTHORIZED]:r};if(a){let i=a===l.HTTPAccessErrorStatus.NOT_FOUND&&e,s=a===l.HTTPAccessErrorStatus.FORBIDDEN&&t,c=a===l.HTTPAccessErrorStatus.UNAUTHORIZED&&r;return i||s||c?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"robots",content:"noindex"}),!1,u[a]]}):n}return n}constructor(e){super(e),this.state={triggeredStatus:void 0,previousPathname:e.pathname}}}function c(e){let{notFound:t,forbidden:r,unauthorized:n,children:l}=e,c=(0,u.useUntrackedPathname)(),f=(0,a.useContext)(i.MissingSlotContext);return t||r||n?(0,o.jsx)(s,{pathname:c,notFound:t,forbidden:r,unauthorized:n,missingSlots:f,children:l}):(0,o.jsx)(o.Fragment,{children:l})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2469:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTTPAccessErrorStatus:function(){return r},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return o},getAccessFallbackErrorTypeByStatus:function(){return l},getAccessFallbackHTTPStatus:function(){return u},isHTTPAccessFallbackError:function(){return a}});let r={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},n=new Set(Object.values(r)),o="NEXT_HTTP_ERROR_FALLBACK";function a(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===o&&n.has(Number(r))}function u(e){return Number(e.digest.split(";")[1])}function l(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5384:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getDefaultHydrationErrorMessage:function(){return i},getHydrationErrorStackInfo:function(){return f},isHydrationError:function(){return s},isReactHydrationErrorMessage:function(){return c}});let n=r(306)._(r(9762)),o=/hydration failed|while hydrating|content does not match|did not match|HTML didn't match/i,a="Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if a SSR-ed Client Component used",u=[a,"A tree hydrated but some attributes of the server rendered HTML didn't match the client properties. This won't be patched up. This can happen if a SSR-ed Client Component used:"],l="https://react.dev/link/hydration-mismatch",i=()=>a;function s(e){return(0,n.default)(e)&&o.test(e.message)}function c(e){return u.some(t=>e.startsWith(t))}function f(e){if(!c(e=e.replace(/^Error: /,"")))return{message:null};let t=e.indexOf("\n"),[r,n]=(e=e.slice(t+1).trim()).split(""+l),o=r.trim();if(!n||!(n.length>1))return{message:o,link:l,stack:n};{let e=[],t=[];return n.split("\n").forEach(r=>{""!==r.trim()&&(r.trim().startsWith("at ")?e.push(r):t.push(r))}),{message:o,link:l,diff:t.join("\n"),stack:e.join("\n")}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},179:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return a}});let n=r(2469),o=r(7563);function a(e){return(0,o.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5244:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return j}});let n=r(306),o=r(9955),a=r(5155),u=o._(r(2115)),l=n._(r(7650)),i=r(1394),s=r(4091),c=r(9321),f=r(4835),d=r(4682),p=r(8344),h=r(6501),y=r(2328),g=r(4183),b=r(5404),_=r(941),v=l.default.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,m=["bottom","height","left","right","top","width","x","y"];function P(e,t){let r=e.getBoundingClientRect();return r.top>=0&&r.top<=t}class E extends u.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:t}=this.props;if(e.apply){if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>t.every((t,r)=>(0,d.matchSegment)(t,e[r]))))return;let r=null,n=e.hashFragment;if(n&&(r=function(e){var t;return"top"===e?document.body:null!=(t=document.getElementById(e))?t:document.getElementsByName(e)[0]}(n)),!r&&(r="undefined"==typeof window?null:(0,v.findDOMNode)(this)),!(r instanceof Element))return;for(;!(r instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return m.every(e=>0===t[e])}(r);){if(null===r.nextElementSibling)return;r=r.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,p.handleSmoothScroll)(()=>{if(n){r.scrollIntoView();return}let e=document.documentElement,t=e.clientHeight;!P(r,t)&&(e.scrollTop=0,P(r,t)||r.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,r.focus()}}}}function O(e){let{segmentPath:t,children:r}=e,n=(0,u.useContext)(i.GlobalLayoutRouterContext);if(!n)throw Error("invariant global layout router not mounted");return(0,a.jsx)(E,{segmentPath:t,focusAndScrollRef:n.focusAndScrollRef,children:r})}function R(e){let{parallelRouterKey:t,url:r,childNodes:n,segmentPath:o,tree:l,cacheKey:f}=e,p=(0,u.useContext)(i.GlobalLayoutRouterContext);if(!p)throw Error("invariant global layout router not mounted");let{changeByServerResponse:h,tree:y}=p,g=n.get(f);if(void 0===g){let e={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null};g=e,n.set(f,e)}let b=null!==g.prefetchRsc?g.prefetchRsc:g.rsc,v=(0,u.useDeferredValue)(g.rsc,b),m="object"==typeof v&&null!==v&&"function"==typeof v.then?(0,u.use)(v):v;if(!m){let e=g.lazyData;if(null===e){let t=function e(t,r){if(t){let[n,o]=t,a=2===t.length;if((0,d.matchSegment)(r[0],n)&&r[1].hasOwnProperty(o)){if(a){let t=e(void 0,r[1][o]);return[r[0],{...r[1],[o]:[t[0],t[1],t[2],"refetch"]}]}return[r[0],{...r[1],[o]:e(t.slice(2),r[1][o])}]}}return r}(["",...o],y),n=(0,_.hasInterceptionRouteInCurrentTree)(y);g.lazyData=e=(0,s.fetchServerResponse)(new URL(r,location.origin),{flightRouterState:t,nextUrl:n?p.nextUrl:null}).then(e=>((0,u.startTransition)(()=>{h({previousTree:y,serverResponse:e})}),e))}(0,u.use)(c.unresolvedThenable)}return(0,a.jsx)(i.LayoutRouterContext.Provider,{value:{tree:l[1][t],childNodes:g.parallelRoutes,url:r,loading:g.loading},children:m})}function S(e){let t,{loading:r,children:n}=e;if(t="object"==typeof r&&null!==r&&"function"==typeof r.then?(0,u.use)(r):r){let e=t[0],r=t[1],o=t[2];return(0,a.jsx)(u.Suspense,{fallback:(0,a.jsxs)(a.Fragment,{children:[r,o,e]}),children:n})}return(0,a.jsx)(a.Fragment,{children:n})}function j(e){let{parallelRouterKey:t,segmentPath:r,error:n,errorStyles:o,errorScripts:l,templateStyles:s,templateScripts:c,template:d,notFound:p,forbidden:_,unauthorized:v}=e,m=(0,u.useContext)(i.LayoutRouterContext);if(!m)throw Error("invariant expected layout router to be mounted");let{childNodes:P,tree:E,url:j,loading:w}=m,T=P.get(t);T||(T=new Map,P.set(t,T));let M=E[1][t][0],x=(0,g.getSegmentValue)(M),A=[M];return(0,a.jsx)(a.Fragment,{children:A.map(e=>{let u=(0,g.getSegmentValue)(e),m=(0,b.createRouterCacheKey)(e);return(0,a.jsxs)(i.TemplateContext.Provider,{value:(0,a.jsx)(O,{segmentPath:r,children:(0,a.jsx)(f.ErrorBoundary,{errorComponent:n,errorStyles:o,errorScripts:l,children:(0,a.jsx)(S,{loading:w,children:(0,a.jsx)(y.HTTPAccessFallbackBoundary,{notFound:p,forbidden:_,unauthorized:v,children:(0,a.jsx)(h.RedirectBoundary,{children:(0,a.jsx)(R,{parallelRouterKey:t,url:j,tree:E,childNodes:T,segmentPath:r,cacheKey:m,isActive:x===u})})})})})}),children:[s,c,d]},(0,b.createRouterCacheKey)(e,!0))})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4682:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{canSegmentBeOverridden:function(){return a},matchSegment:function(){return o}});let n=r(6654),o=(e,t)=>"string"==typeof e?"string"==typeof t&&e===t:"string"!=typeof t&&e[0]===t[0]&&e[1]===t[1],a=(e,t)=>{var r;return!Array.isArray(e)&&!!Array.isArray(t)&&(null==(r=(0,n.getSegmentParam)(e))?void 0:r.param)===t[0]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9935:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleHardNavError:function(){return o},useNavFailureHandler:function(){return a}}),r(2115);let n=r(1055);function o(e){return!!e&&"undefined"!=typeof window&&!!window.next.__pendingUrl&&(0,n.createHrefFromUrl)(new URL(window.location.href))!==(0,n.createHrefFromUrl)(window.next.__pendingUrl)&&(console.error("Error occurred during navigation, falling back to hard navigation",e),window.location.href=window.next.__pendingUrl.toString(),!0)}function a(){}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2380:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useUntrackedPathname",{enumerable:!0,get:function(){return a}});let n=r(2115),o=r(8703);function a(){return!function(){if("undefined"==typeof window){let{workAsyncStorage:e}=r(5861),t=e.getStore();if(!t)return!1;let{fallbackRouteParams:n}=t;return!!n&&0!==n.size}return!1}()?(0,n.useContext)(o.PathnameContext):null}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6658:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return i.RedirectType},ServerInsertedHTMLContext:function(){return c.ServerInsertedHTMLContext},forbidden:function(){return i.forbidden},notFound:function(){return i.notFound},permanentRedirect:function(){return i.permanentRedirect},redirect:function(){return i.redirect},unauthorized:function(){return i.unauthorized},unstable_rethrow:function(){return i.unstable_rethrow},useParams:function(){return h},usePathname:function(){return d},useRouter:function(){return p},useSearchParams:function(){return f},useSelectedLayoutSegment:function(){return g},useSelectedLayoutSegments:function(){return y},useServerInsertedHTML:function(){return c.useServerInsertedHTML}});let n=r(2115),o=r(1394),a=r(8703),u=r(4183),l=r(6090),i=r(4557),s=r(6378),c=r(4125);function f(){let e=(0,n.useContext)(a.SearchParamsContext),t=(0,n.useMemo)(()=>e?new i.ReadonlyURLSearchParams(e):null,[e]);if("undefined"==typeof window){let{bailoutToClientRendering:e}=r(8967);e("useSearchParams()")}return t}function d(){return(0,s.useDynamicRouteParams)("usePathname()"),(0,n.useContext)(a.PathnameContext)}function p(){let e=(0,n.useContext)(o.AppRouterContext);if(null===e)throw Error("invariant expected app router to be mounted");return e}function h(){return(0,s.useDynamicRouteParams)("useParams()"),(0,n.useContext)(a.PathParamsContext)}function y(e){void 0===e&&(e="children"),(0,s.useDynamicRouteParams)("useSelectedLayoutSegments()");let t=(0,n.useContext)(o.LayoutRouterContext);return t?function e(t,r,n,o){let a;if(void 0===n&&(n=!0),void 0===o&&(o=[]),n)a=t[1][r];else{var i;let e=t[1];a=null!=(i=e.children)?i:Object.values(e)[0]}if(!a)return o;let s=a[0],c=(0,u.getSegmentValue)(s);return!c||c.startsWith(l.PAGE_SEGMENT_KEY)?o:(o.push(c),e(a,r,!1,o))}(t.tree,e):null}function g(e){void 0===e&&(e="children"),(0,s.useDynamicRouteParams)("useSelectedLayoutSegment()");let t=y(e);if(!t||0===t.length)return null;let r="children"===e?t[0]:t[t.length-1];return r===l.DEFAULT_SEGMENT_KEY?null:r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4557:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ReadonlyURLSearchParams:function(){return c},RedirectType:function(){return o.RedirectType},forbidden:function(){return u.forbidden},notFound:function(){return a.notFound},permanentRedirect:function(){return n.permanentRedirect},redirect:function(){return n.redirect},unauthorized:function(){return l.unauthorized},unstable_rethrow:function(){return i.unstable_rethrow}});let n=r(9100),o=r(7563),a=r(4336),u=r(8901),l=r(882),i=r(5173);class s extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class c extends URLSearchParams{append(){throw new s}delete(){throw new s}set(){throw new s}sort(){throw new s}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4336:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"notFound",{enumerable:!0,get:function(){return o}});let n=""+r(2469).HTTP_ERROR_FALLBACK_ERROR_CODE+";404";function o(){let e=Error(n);throw e.digest=n,e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7891:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PromiseQueue",{enumerable:!0,get:function(){return s}});let n=r(2141),o=r(3523);var a=o._("_maxConcurrency"),u=o._("_runningCount"),l=o._("_queue"),i=o._("_processNext");class s{enqueue(e){let t,r;let o=new Promise((e,n)=>{t=e,r=n}),a=async()=>{try{n._(this,u)[u]++;let r=await e();t(r)}catch(e){r(e)}finally{n._(this,u)[u]--,n._(this,i)[i]()}};return n._(this,l)[l].push({promiseFn:o,task:a}),n._(this,i)[i](),o}bump(e){let t=n._(this,l)[l].findIndex(t=>t.promiseFn===e);if(t>-1){let e=n._(this,l)[l].splice(t,1)[0];n._(this,l)[l].unshift(e),n._(this,i)[i](!0)}}constructor(e=5){Object.defineProperty(this,i,{value:c}),Object.defineProperty(this,a,{writable:!0,value:void 0}),Object.defineProperty(this,u,{writable:!0,value:void 0}),Object.defineProperty(this,l,{writable:!0,value:void 0}),n._(this,a)[a]=e,n._(this,u)[u]=0,n._(this,l)[l]=[]}}function c(e){if(void 0===e&&(e=!1),(n._(this,u)[u]0){var t;null==(t=n._(this,l)[l].shift())||t.task()}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8582:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"attachHydrationErrorState",{enumerable:!0,get:function(){return a}});let n=r(5384),o=r(3655);function a(e){if((0,n.isHydrationError)(e)&&!e.message.includes("https://nextjs.org/docs/messages/react-hydration-error")){let t=(0,o.getReactHydrationDiffSegments)(e.message),r={};t?r={...e.details,...o.hydrationErrorState,warning:o.hydrationErrorState.warning||[(0,n.getDefaultHydrationErrorMessage)()],notes:t[0],reactOutputComponentDiff:t[1]}:o.hydrationErrorState.warning&&(r={...e.details,...o.hydrationErrorState}),e.details=r}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3895:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createUnhandledError:function(){return o},getUnhandledErrorType:function(){return u},isUnhandledConsoleOrRejection:function(){return a}});let r=Symbol.for("next.console.error.digest"),n=Symbol.for("next.console.error.type");function o(e){let t="string"==typeof e?Error(e):e;return t[r]="NEXT_UNHANDLED_ERROR",t[n]="string"==typeof e?"string":"error",t}let a=e=>e&&"NEXT_UNHANDLED_ERROR"===e[r],u=e=>e[n];("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3970:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"enqueueConsecutiveDedupedError",{enumerable:!0,get:function(){return o}});let n=r(5384);function o(e,t){let r=(0,n.isHydrationError)(t),o=r?e[0]:e[e.length-1];o&&o.stack===t.stack||(r?e.unshift(t):e.push(t))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3655:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getHydrationWarningType:function(){return l},getReactHydrationDiffSegments:function(){return d},hydrationErrorState:function(){return o},storeHydrationErrorStateFromConsoleArgs:function(){return p}});let n=r(5384),o={},a=new Set(["Warning: In HTML, %s cannot be a child of <%s>.%s\nThis will cause a hydration error.%s","Warning: In HTML, %s cannot be a descendant of <%s>.\nThis will cause a hydration error.%s","Warning: In HTML, text nodes cannot be a child of <%s>.\nThis will cause a hydration error.","Warning: In HTML, whitespace text nodes cannot be a child of <%s>. Make sure you don't have any extra whitespace between tags on each line of your source code.\nThis will cause a hydration error.","Warning: Expected server HTML to contain a matching <%s> in <%s>.%s","Warning: Did not expect server HTML to contain a <%s> in <%s>.%s"]),u=new Set(['Warning: Expected server HTML to contain a matching text node for "%s" in <%s>.%s','Warning: Did not expect server HTML to contain the text node "%s" in <%s>.%s']),l=e=>{if("string"!=typeof e)return"text";let t=e.startsWith("Warning: ")?e:"Warning: "+e;return i(t)?"tag":c(t)?"text-in-tag":"text"},i=e=>a.has(e),s=e=>'Warning: Text content did not match. Server: "%s" Client: "%s"%s'===e,c=e=>u.has(e),f=e=>{if("string"!=typeof e)return!1;let t=e.startsWith("Warning: ")?e:"Warning: "+e;return i(t)||c(t)||s(t)},d=e=>{if(e){let{message:t,diff:r}=(0,n.getHydrationErrorStackInfo)(e);if(t)return[t,r]}};function p(){for(var e=arguments.length,t=Array(e),r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getReactStitchedError",{enumerable:!0,get:function(){return s}});let n=r(306),o=n._(r(2115)),a=n._(r(9762)),u="react-stack-bottom-frame",l=RegExp("(at "+u+" )|("+u+"\\@)"),i=o.default.captureOwnerStack?o.default.captureOwnerStack:()=>"";function s(e){if("function"!=typeof o.default.captureOwnerStack)return e;let t=(0,a.default)(e),r=t&&e.stack||"",n=t?e.message:"",u=r.split("\n"),s=u.findIndex(e=>l.test(e)),c=s>=0?u.slice(0,s).join("\n"):r,f=Error(n);return Object.assign(f,e),f.stack=c,function(e){let t=e.stack||"",r=i();r&&!1===t.endsWith(r)&&(t+=r,e.stack=t)}(f),f}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7712:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleClientError:function(){return _},handleGlobalErrors:function(){return E},useErrorHandler:function(){return v}});let n=r(306),o=r(2115),a=r(8582),u=r(179),l=r(3655),i=r(4300),s=n._(r(9762)),c=r(3895),f=r(3970),d=r(2100),p=globalThis.queueMicrotask||(e=>Promise.resolve().then(e)),h=[],y=[],g=[],b=[];function _(e,t,r){let n;if(void 0===r&&(r=!1),e&&(0,s.default)(e))n=r?(0,c.createUnhandledError)(e):e;else{let e=(0,i.formatConsoleArgs)(t);n=(0,c.createUnhandledError)(e)}for(let e of(n=(0,d.getReactStitchedError)(n),(0,l.storeHydrationErrorStateFromConsoleArgs)(...t),(0,a.attachHydrationErrorState)(n),(0,f.enqueueConsecutiveDedupedError)(h,n),y))p(()=>{e(n)})}function v(e,t){(0,o.useEffect)(()=>(h.forEach(e),g.forEach(t),y.push(e),b.push(t),()=>{y.splice(y.indexOf(e),1),b.splice(b.indexOf(t),1)}),[e,t])}function m(e){if((0,u.isNextRouterError)(e.error))return e.preventDefault(),!1;e.error&&_(e.error,[])}function P(e){let t=null==e?void 0:e.reason;if((0,u.isNextRouterError)(t)){e.preventDefault();return}let r=t;for(let e of(r&&!(0,s.default)(r)&&(r=(0,c.createUnhandledError)(r+"")),g.push(r),b))e(r)}function E(){if("undefined"!=typeof window){try{Error.stackTraceLimit=50}catch(e){}window.addEventListener("error",m),window.addEventListener("unhandledrejection",P)}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6501:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RedirectBoundary:function(){return f},RedirectErrorBoundary:function(){return c}});let n=r(9955),o=r(5155),a=n._(r(2115)),u=r(6658),l=r(9100),i=r(7563);function s(e){let{redirect:t,reset:r,redirectType:n}=e,o=(0,u.useRouter)();return(0,a.useEffect)(()=>{a.default.startTransition(()=>{n===i.RedirectType.push?o.push(t,{}):o.replace(t,{}),r()})},[t,n,r,o]),null}class c extends a.default.Component{static getDerivedStateFromError(e){if((0,i.isRedirectError)(e))return{redirect:(0,l.getURLFromRedirectError)(e),redirectType:(0,l.getRedirectTypeFromError)(e)};throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,o.jsx)(s,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}constructor(e){super(e),this.state={redirect:null,redirectType:null}}}function f(e){let{children:t}=e,r=(0,u.useRouter)();return(0,o.jsx)(c,{router:r,children:t})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7563:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{REDIRECT_ERROR_CODE:function(){return o},RedirectType:function(){return a},isRedirectError:function(){return u}});let n=r(7361),o="NEXT_REDIRECT";var a=function(e){return e.push="push",e.replace="replace",e}({});function u(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,a]=t,u=t.slice(2,-2).join(";"),l=Number(t.at(-2));return r===o&&("replace"===a||"push"===a)&&"string"==typeof u&&!isNaN(l)&&l in n.RedirectStatusCode}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7361:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return r}});var r=function(e){return e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9100:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getRedirectError:function(){return u},getRedirectStatusCodeFromError:function(){return f},getRedirectTypeFromError:function(){return c},getURLFromRedirectError:function(){return s},permanentRedirect:function(){return i},redirect:function(){return l}});let n=r(9126),o=r(7361),a=r(7563);function u(e,t,r){void 0===r&&(r=o.RedirectStatusCode.TemporaryRedirect);let n=Error(a.REDIRECT_ERROR_CODE);return n.digest=a.REDIRECT_ERROR_CODE+";"+t+";"+e+";"+r+";",n}function l(e,t){let r=n.actionAsyncStorage.getStore();throw u(e,t||((null==r?void 0:r.isAction)?a.RedirectType.push:a.RedirectType.replace),o.RedirectStatusCode.TemporaryRedirect)}function i(e,t){throw void 0===t&&(t=a.RedirectType.replace),u(e,t,o.RedirectStatusCode.PermanentRedirect)}function s(e){return(0,a.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function c(e){if(!(0,a.isRedirectError)(e))throw Error("Not a redirect error");return e.digest.split(";",2)[1]}function f(e){if(!(0,a.isRedirectError)(e))throw Error("Not a redirect error");return Number(e.digest.split(";").at(-2))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3866:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return l}});let n=r(9955),o=r(5155),a=n._(r(2115)),u=r(1394);function l(){let e=(0,a.useContext)(u.TemplateContext);return(0,o.jsx)(o.Fragment,{children:e})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2344:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{addSearchParamsToPageSegments:function(){return f},handleAliasedPrefetchEntry:function(){return c}});let n=r(6090),o=r(3423),a=r(1053),u=r(1055),l=r(5404),i=r(8645),s=r(7344);function c(e,t,r,c){let d,p=e.tree,h=e.cache,y=(0,u.createHrefFromUrl)(r);for(let e of t){if(!function e(t){if(!t)return!1;let r=t[2];if(t[3])return!0;for(let t in r)if(e(r[t]))return!0;return!1}(e.seedData))continue;let t=e.tree;t=f(t,Object.fromEntries(r.searchParams));let{seedData:u,isRootRender:s,pathToSegment:c}=e,g=["",...c];t=f(t,Object.fromEntries(r.searchParams));let b=(0,a.applyRouterStatePatchToTree)(g,p,t,y),_=(0,o.createEmptyCacheNode)();if(s&&u){let e=u[1],r=u[3];_.loading=r,_.rsc=e,function e(t,r,o,a){if(0!==Object.keys(o[1]).length)for(let u in o[1]){let i;let s=o[1][u],c=s[0],f=(0,l.createRouterCacheKey)(c),d=null!==a&&void 0!==a[2][u]?a[2][u]:null;if(null!==d){let e=d[1],t=d[3];i={lazyData:null,rsc:c.includes(n.PAGE_SEGMENT_KEY)?null:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:t}}else i={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null};let p=t.parallelRoutes.get(u);p?p.set(f,i):t.parallelRoutes.set(u,new Map([[f,i]])),e(i,r,s,d)}}(_,h,t,u)}else _.rsc=h.rsc,_.prefetchRsc=h.prefetchRsc,_.loading=h.loading,_.parallelRoutes=new Map(h.parallelRoutes),(0,i.fillCacheWithNewSubTreeDataButOnlyLoading)(_,h,e);b&&(p=b,h=_,d=!0)}return!!d&&(c.patchedTree=p,c.cache=h,c.canonicalUrl=y,c.hashFragment=r.hash,(0,s.handleMutable)(e,c))}function f(e,t){let[r,o,...a]=e;if(r.includes(n.PAGE_SEGMENT_KEY))return[(0,n.addSearchParamsIfPageSegment)(r,t),o,...a];let u={};for(let[e,r]of Object.entries(o))u[e]=f(r,t);return[r,u,...a]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},655:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyFlightData",{enumerable:!0,get:function(){return a}});let n=r(223),o=r(8645);function a(e,t,r,a){let{tree:u,seedData:l,head:i,isRootRender:s}=r;if(null===l)return!1;if(s){let r=l[1],o=l[3];t.loading=o,t.rsc=r,t.prefetchRsc=null,(0,n.fillLazyItemsTillLeafWithHead)(t,e,u,l,i,a)}else t.rsc=e.rsc,t.prefetchRsc=e.prefetchRsc,t.parallelRoutes=new Map(e.parallelRoutes),t.loading=e.loading,(0,o.fillCacheWithNewSubTreeData)(t,e,r,a);return!0}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1053:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyRouterStatePatchToTree",{enumerable:!0,get:function(){return function e(t,r,n,i){let s;let[c,f,d,p,h]=r;if(1===t.length){let e=l(r,n);return(0,u.addRefreshMarkerToActiveParallelSegments)(e,i),e}let[y,g]=t;if(!(0,a.matchSegment)(y,c))return null;if(2===t.length)s=l(f[g],n);else if(null===(s=e((0,o.getNextFlightSegmentPath)(t),f[g],n,i)))return null;let b=[t[0],{...f,[g]:s},d,p];return h&&(b[4]=!0),(0,u.addRefreshMarkerToActiveParallelSegments)(b,i),b}}});let n=r(6090),o=r(1648),a=r(4682),u=r(1387);function l(e,t){let[r,o]=e,[u,i]=t;if(u===n.DEFAULT_SEGMENT_KEY&&r!==n.DEFAULT_SEGMENT_KEY)return e;if((0,a.matchSegment)(r,u)){let t={};for(let e in o)void 0!==i[e]?t[e]=l(o[e],i[e]):t[e]=o[e];for(let e in i)t[e]||(t[e]=i[e]);let n=[r,t];return e[2]&&(n[2]=e[2]),e[3]&&(n[3]=e[3]),e[4]&&(n[4]=e[4]),n}return t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8227:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"clearCacheNodeDataForSegmentPath",{enumerable:!0,get:function(){return function e(t,r,a){let u=a.length<=2,[l,i]=a,s=(0,o.createRouterCacheKey)(i),c=r.parallelRoutes.get(l),f=t.parallelRoutes.get(l);f&&f!==c||(f=new Map(c),t.parallelRoutes.set(l,f));let d=null==c?void 0:c.get(s),p=f.get(s);if(u){p&&p.lazyData&&p!==d||f.set(s,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null});return}if(!p||!d){p||f.set(s,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null});return}return p===d&&(p={lazyData:p.lazyData,rsc:p.rsc,prefetchRsc:p.prefetchRsc,head:p.head,prefetchHead:p.prefetchHead,parallelRoutes:new Map(p.parallelRoutes),loading:p.loading},f.set(s,p)),e(p,d,(0,n.getNextFlightSegmentPath)(a))}}});let n=r(1648),o=r(5404);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},845:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{computeChangedPath:function(){return c},extractPathFromFlightRouterState:function(){return s},getSelectedParams:function(){return function e(t,r){for(let n of(void 0===r&&(r={}),Object.values(t[1]))){let t=n[0],a=Array.isArray(t),u=a?t[1]:t;!u||u.startsWith(o.PAGE_SEGMENT_KEY)||(a&&("c"===t[2]||"oc"===t[2])?r[t[0]]=t[1].split("/"):a&&(r[t[0]]=t[1]),r=e(n,r))}return r}}});let n=r(8456),o=r(6090),a=r(4682),u=e=>"/"===e[0]?e.slice(1):e,l=e=>"string"==typeof e?"children"===e?"":e:e[1];function i(e){return e.reduce((e,t)=>""===(t=u(t))||(0,o.isGroupSegment)(t)?e:e+"/"+t,"")||"/"}function s(e){var t;let r=Array.isArray(e[0])?e[0][1]:e[0];if(r===o.DEFAULT_SEGMENT_KEY||n.INTERCEPTION_ROUTE_MARKERS.some(e=>r.startsWith(e)))return;if(r.startsWith(o.PAGE_SEGMENT_KEY))return"";let a=[l(r)],u=null!=(t=e[1])?t:{},c=u.children?s(u.children):void 0;if(void 0!==c)a.push(c);else for(let[e,t]of Object.entries(u)){if("children"===e)continue;let r=s(t);void 0!==r&&a.push(r)}return i(a)}function c(e,t){let r=function e(t,r){let[o,u]=t,[i,c]=r,f=l(o),d=l(i);if(n.INTERCEPTION_ROUTE_MARKERS.some(e=>f.startsWith(e)||d.startsWith(e)))return"";if(!(0,a.matchSegment)(o,i)){var p;return null!=(p=s(r))?p:""}for(let t in u)if(c[t]){let r=e(u[t],c[t]);if(null!==r)return l(i)+"/"+r}return null}(e,t);return null==r||"/"===r?r:i(r.split("/"))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1055:(e,t)=>{"use strict";function r(e,t){return void 0===t&&(t=!0),e.pathname+e.search+(t?e.hash:"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createHrefFromUrl",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1386:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createInitialRouterState",{enumerable:!0,get:function(){return c}});let n=r(1055),o=r(223),a=r(845),u=r(1893),l=r(4445),i=r(1387),s=r(1648);function c(e){var t,r;let{initialFlightData:c,initialCanonicalUrlParts:f,initialParallelRoutes:d,location:p,couldBeIntercepted:h,postponed:y,prerendered:g}=e,b=f.join("/"),_=(0,s.getFlightDataPartsFromPath)(c[0]),{tree:v,seedData:m,head:P}=_,E=!p,O=null==m?void 0:m[1],R=null!=(t=null==m?void 0:m[3])?t:null,S={lazyData:null,rsc:O,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:E?new Map:d,loading:R},j=p?(0,n.createHrefFromUrl)(p):b;(0,i.addRefreshMarkerToActiveParallelSegments)(v,j);let w=new Map;(null===d||0===d.size)&&(0,o.fillLazyItemsTillLeafWithHead)(S,void 0,v,m,P);let T={tree:v,cache:S,prefetchCache:w,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:{apply:!1,onlyHashChange:!1,hashFragment:null,segmentPaths:[]},canonicalUrl:j,nextUrl:null!=(r=(0,a.extractPathFromFlightRouterState)(v)||(null==p?void 0:p.pathname))?r:null};if(p){let e=new URL(""+p.pathname+p.search,p.origin);(0,u.createSeededPrefetchCacheEntry)({url:e,data:{flightData:[_],canonicalUrl:void 0,couldBeIntercepted:!!h,prerendered:g,postponed:y,staleTime:-1},tree:T.tree,prefetchCache:T.prefetchCache,nextUrl:T.nextUrl,kind:g?l.PrefetchKind.FULL:l.PrefetchKind.AUTO})}return T}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5404:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRouterCacheKey",{enumerable:!0,get:function(){return o}});let n=r(6090);function o(e,t){return(void 0===t&&(t=!1),Array.isArray(e))?e[0]+"|"+e[1]+"|"+e[2]:t&&e.startsWith(n.PAGE_SEGMENT_KEY)?n.PAGE_SEGMENT_KEY:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4091:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createFetch:function(){return h},createFromNextReadableStream:function(){return y},fetchServerResponse:function(){return p},urlToUrlWithoutFlightMarker:function(){return f}});let n=r(2836),o=r(9603),a=r(3355),u=r(4445),l=r(1233),i=r(1648),s=r(8127),{createFromReadableStream:c}=r(4979);function f(e){let t=new URL(e,location.origin);if(t.searchParams.delete(n.NEXT_RSC_UNION_QUERY),t.pathname.endsWith(".txt")){let{pathname:e}=t,r=e.endsWith("/index.txt")?10:4;t.pathname=e.slice(0,-r)}return t}function d(e){return{flightData:f(e).toString(),canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1}}async function p(e,t){let{flightRouterState:r,nextUrl:o,prefetchKind:a}=t,l={[n.RSC_HEADER]:"1",[n.NEXT_ROUTER_STATE_TREE_HEADER]:encodeURIComponent(JSON.stringify(r))};a===u.PrefetchKind.AUTO&&(l[n.NEXT_ROUTER_PREFETCH_HEADER]="1"),o&&(l[n.NEXT_URL]=o);try{var c;let t=a?a===u.PrefetchKind.TEMPORARY?"high":"low":"auto",r=await h(e,l,t),o=f(r.url),p=r.redirected?o:void 0,g=r.headers.get("content-type")||"",b=!!(null==(c=r.headers.get("vary"))?void 0:c.includes(n.NEXT_URL)),_=!!r.headers.get(n.NEXT_DID_POSTPONE_HEADER),v=r.headers.get(n.NEXT_ROUTER_STALE_TIME_HEADER),m=null!==v?parseInt(v,10):-1,P=g.startsWith(n.RSC_CONTENT_TYPE_HEADER);if(P||(P=g.startsWith("text/plain")),!P||!r.ok||!r.body)return e.hash&&(o.hash=e.hash),d(o.toString());let E=_?function(e){let t=e.getReader();return new ReadableStream({async pull(e){for(;;){let{done:r,value:n}=await t.read();if(!r){e.enqueue(n);continue}return}}})}(r.body):r.body,O=await y(E);if((0,s.getAppBuildId)()!==O.b)return d(r.url);return{flightData:(0,i.normalizeFlightData)(O.f),canonicalUrl:p,couldBeIntercepted:b,prerendered:O.S,postponed:_,staleTime:m}}catch(t){return console.error("Failed to fetch RSC payload for "+e+". Falling back to browser navigation.",t),{flightData:e.toString(),canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1}}}function h(e,t,r){let o=new URL(e);o.pathname.endsWith("/")?o.pathname+="index.txt":o.pathname+=".txt";let a=(0,l.hexHash)([t[n.NEXT_ROUTER_PREFETCH_HEADER]||"0",t[n.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]||"0",t[n.NEXT_ROUTER_STATE_TREE_HEADER],t[n.NEXT_URL]].join(","));return o.searchParams.set(n.NEXT_RSC_UNION_QUERY,a),fetch(o,{credentials:"same-origin",headers:t,priority:r||void 0})}function y(e){return c(e,{callServer:o.callServer,findSourceMapURL:a.findSourceMapURL})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8645:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{fillCacheWithNewSubTreeData:function(){return i},fillCacheWithNewSubTreeDataButOnlyLoading:function(){return s}});let n=r(7663),o=r(223),a=r(5404),u=r(6090);function l(e,t,r,l,i){let{segmentPath:s,seedData:c,tree:f,head:d}=r,p=e,h=t;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillLazyItemsTillLeafWithHead",{enumerable:!0,get:function(){return function e(t,r,a,u,l,i){if(0===Object.keys(a[1]).length){t.head=l;return}for(let s in a[1]){let c;let f=a[1][s],d=f[0],p=(0,n.createRouterCacheKey)(d),h=null!==u&&void 0!==u[2][s]?u[2][s]:null;if(r){let n=r.parallelRoutes.get(s);if(n){let r;let a=(null==i?void 0:i.kind)==="auto"&&i.status===o.PrefetchCacheEntryStatus.reusable,u=new Map(n),c=u.get(p);r=null!==h?{lazyData:null,rsc:h[1],prefetchRsc:null,head:null,prefetchHead:null,loading:h[3],parallelRoutes:new Map(null==c?void 0:c.parallelRoutes)}:a&&c?{lazyData:c.lazyData,rsc:c.rsc,prefetchRsc:c.prefetchRsc,head:c.head,prefetchHead:c.prefetchHead,parallelRoutes:new Map(c.parallelRoutes),loading:c.loading}:{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map(null==c?void 0:c.parallelRoutes),loading:null},u.set(p,r),e(r,c,f,h||null,l,i),t.parallelRoutes.set(s,u);continue}}if(null!==h){let e=h[1],t=h[3];c={lazyData:null,rsc:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:t}}else c={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,loading:null};let y=t.parallelRoutes.get(s);y?y.set(p,c):t.parallelRoutes.set(s,new Map([[p,c]])),e(c,void 0,f,h,l,i)}}}});let n=r(5404),o=r(4445);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7344:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleMutable",{enumerable:!0,get:function(){return a}});let n=r(845);function o(e){return void 0!==e}function a(e,t){var r,a;let u=null==(r=t.shouldScroll)||r,l=e.nextUrl;if(o(t.patchedTree)){let r=(0,n.computeChangedPath)(e.tree,t.patchedTree);r?l=r:l||(l=e.canonicalUrl)}return{canonicalUrl:o(t.canonicalUrl)?t.canonicalUrl===e.canonicalUrl?e.canonicalUrl:t.canonicalUrl:e.canonicalUrl,pushRef:{pendingPush:o(t.pendingPush)?t.pendingPush:e.pushRef.pendingPush,mpaNavigation:o(t.mpaNavigation)?t.mpaNavigation:e.pushRef.mpaNavigation,preserveCustomHistoryState:o(t.preserveCustomHistoryState)?t.preserveCustomHistoryState:e.pushRef.preserveCustomHistoryState},focusAndScrollRef:{apply:!!u&&(!!o(null==t?void 0:t.scrollableSegments)||e.focusAndScrollRef.apply),onlyHashChange:t.onlyHashChange||!1,hashFragment:u?t.hashFragment&&""!==t.hashFragment?decodeURIComponent(t.hashFragment.slice(1)):e.focusAndScrollRef.hashFragment:null,segmentPaths:u?null!=(a=null==t?void 0:t.scrollableSegments)?a:e.focusAndScrollRef.segmentPaths:[]},cache:t.cache?t.cache:e.cache,prefetchCache:t.prefetchCache?t.prefetchCache:e.prefetchCache,tree:o(t.patchedTree)?t.patchedTree:e.tree,nextUrl:l}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9786:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSegmentMismatch",{enumerable:!0,get:function(){return o}});let n=r(2603);function o(e,t,r){return(0,n.handleExternalUrl)(e,{},e.canonicalUrl,!0)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5411:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheBelowFlightSegmentPath",{enumerable:!0,get:function(){return function e(t,r,a){let u=a.length<=2,[l,i]=a,s=(0,n.createRouterCacheKey)(i),c=r.parallelRoutes.get(l);if(!c)return;let f=t.parallelRoutes.get(l);if(f&&f!==c||(f=new Map(c),t.parallelRoutes.set(l,f)),u){f.delete(s);return}let d=c.get(s),p=f.get(s);p&&d&&(p===d&&(p={lazyData:p.lazyData,rsc:p.rsc,prefetchRsc:p.prefetchRsc,head:p.head,prefetchHead:p.prefetchHead,parallelRoutes:new Map(p.parallelRoutes)},f.set(s,p)),e(p,d,(0,o.getNextFlightSegmentPath)(a)))}}});let n=r(5404),o=r(1648);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7663:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheByRouterState",{enumerable:!0,get:function(){return o}});let n=r(5404);function o(e,t,r){for(let o in r[1]){let a=r[1][o][0],u=(0,n.createRouterCacheKey)(a),l=t.parallelRoutes.get(o);if(l){let t=new Map(l);t.delete(u),e.parallelRoutes.set(o,t)}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6449:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNavigatingToNewRootLayout",{enumerable:!0,get:function(){return function e(t,r){let n=t[0],o=r[0];if(Array.isArray(n)&&Array.isArray(o)){if(n[0]!==o[0]||n[2]!==o[2])return!0}else if(n!==o)return!0;if(t[4])return!r[4];if(r[4])return!0;let a=Object.values(t[1])[0],u=Object.values(r[1])[0];return!a||!u||e(a,u)}}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3223:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{abortTask:function(){return s},listenForDynamicRequest:function(){return i},updateCacheNodeOnNavigation:function(){return function e(t,r,l,i,s,c){let f=r[1],d=l[1],p=null!==i?i[2]:null,h=t.parallelRoutes,y=new Map(h),g={},b=null,_=!1;for(let t in d){let r;let l=d[t],i=f[t],v=h.get(t),m=null!==p?p[t]:null,P=l[0],E=(0,a.createRouterCacheKey)(P),O=void 0!==i?i[0]:void 0,R=void 0!==v?v.get(E):void 0;if(null!==(r=P===n.DEFAULT_SEGMENT_KEY?void 0!==i?{route:i,node:null,needsDynamicRequest:!1,children:null}:u(l,void 0!==m?m:null,s,c):void 0!==O&&(0,o.matchSegment)(P,O)&&void 0!==R&&void 0!==i?e(R,i,l,m,s,c):u(l,void 0!==m?m:null,s,c))){null===b&&(b=new Map),b.set(t,r);let e=r.node;if(null!==e){let r=new Map(v);r.set(E,e),y.set(t,r)}r.needsDynamicRequest&&(_=!0),g[t]=r.route}else g[t]=l}if(null===b)return null;let v={lazyData:null,rsc:t.rsc,prefetchRsc:t.prefetchRsc,head:t.head,prefetchHead:t.prefetchHead,loading:t.loading,parallelRoutes:y};return{route:function(e,t){let r=[e[0],t];return 2 in e&&(r[2]=e[2]),3 in e&&(r[3]=e[3]),4 in e&&(r[4]=e[4]),r}(l,g),node:v,needsDynamicRequest:_,children:b}}},updateCacheNodeOnPopstateRestoration:function(){return function e(t,r){let n=r[1],o=t.parallelRoutes,u=new Map(o);for(let t in n){let r=n[t],l=r[0],i=(0,a.createRouterCacheKey)(l),s=o.get(t);if(void 0!==s){let n=s.get(i);if(void 0!==n){let o=e(n,r),a=new Map(s);a.set(i,o),u.set(t,a)}}}let l=t.rsc,i=d(l)&&"pending"===l.status;return{lazyData:null,rsc:l,head:t.head,prefetchHead:i?t.prefetchHead:null,prefetchRsc:i?t.prefetchRsc:null,loading:t.loading,parallelRoutes:u}}}});let n=r(6090),o=r(4682),a=r(5404);function u(e,t,r,n){if(null===t)return l(e,null,r,n);let o=e[1],i=t[4],s=0===Object.keys(o).length;if(i||n&&s)return l(e,t,r,n);let c=t[2],f=new Map,d=new Map,p=!1;for(let e in o){let t=o[e],l=null!==c?c[e]:null,i=t[0],s=(0,a.createRouterCacheKey)(i),h=u(t,l,r,n);f.set(e,h),h.needsDynamicRequest&&(p=!0);let y=h.node;if(null!==y){let t=new Map;t.set(s,y),d.set(e,t)}}return{route:e,node:{lazyData:null,rsc:t[1],prefetchRsc:null,head:s?r:null,prefetchHead:null,loading:t[3],parallelRoutes:d},needsDynamicRequest:p,children:f}}function l(e,t,r,n){return{route:e,node:function e(t,r,n,o){let u=t[1],l=null!==r?r[2]:null,i=new Map;for(let t in u){let r=u[t],s=null!==l?l[t]:null,c=r[0],f=(0,a.createRouterCacheKey)(c),d=e(r,void 0===s?null:s,n,o),p=new Map;p.set(f,d),i.set(t,p)}let s=0===i.size,c=null!==r?r[1]:null,f=null!==r?r[3]:null;return{lazyData:null,parallelRoutes:i,prefetchRsc:void 0!==c?c:null,prefetchHead:s?n:null,loading:void 0!==f?f:null,rsc:p(),head:s?p():null}}(e,t,r,n),needsDynamicRequest:!0,children:null}}function i(e,t){t.then(t=>{let{flightData:r}=t;if("string"!=typeof r){for(let t of r){let{segmentPath:r,tree:n,seedData:u,head:l}=t;u&&function(e,t,r,n,u){let l=e;for(let e=0;e{s(e,t)})}function s(e,t){let r=e.node;if(null===r)return;let n=e.children;if(null===n)c(e.route,r,t);else for(let e of n.values())s(e,t);e.needsDynamicRequest=!1}function c(e,t,r){let n=e[1],o=t.parallelRoutes;for(let e in n){let t=n[e],u=o.get(e);if(void 0===u)continue;let l=t[0],i=(0,a.createRouterCacheKey)(l),s=u.get(i);void 0!==s&&c(t,s,r)}let u=t.rsc;d(u)&&(null===r?u.resolve(null):u.reject(r));let l=t.head;d(l)&&l.resolve(null)}let f=Symbol();function d(e){return e&&e.tag===f}function p(){let e,t;let r=new Promise((r,n)=>{e=r,t=n});return r.status="pending",r.resolve=t=>{"pending"===r.status&&(r.status="fulfilled",r.value=t,e(t))},r.reject=e=>{"pending"===r.status&&(r.status="rejected",r.reason=e,t(e))},r.tag=f,r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1893:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createSeededPrefetchCacheEntry:function(){return s},getOrCreatePrefetchCacheEntry:function(){return i},prunePrefetchCache:function(){return f}});let n=r(4091),o=r(4445),a=r(8455);function u(e,t,r){let n=e.pathname;return(t&&(n+=e.search),r)?""+r+"%"+n:n}function l(e,t,r){return u(e,t===o.PrefetchKind.FULL,r)}function i(e){let{url:t,nextUrl:r,tree:n,prefetchCache:a,kind:l,allowAliasing:i=!0}=e,s=function(e,t,r,n,a){for(let l of(void 0===t&&(t=o.PrefetchKind.TEMPORARY),[r,null])){let r=u(e,!0,l),i=u(e,!1,l),s=e.search?r:i,c=n.get(s);if(c&&a){if(c.url.pathname===e.pathname&&c.url.search!==e.search)return{...c,aliased:!0};return c}let f=n.get(i);if(a&&e.search&&t!==o.PrefetchKind.FULL&&f&&!f.key.includes("%"))return{...f,aliased:!0}}if(t!==o.PrefetchKind.FULL&&a){for(let t of n.values())if(t.url.pathname===e.pathname&&!t.key.includes("%"))return{...t,aliased:!0}}}(t,l,r,a,i);return s?(s.status=h(s),s.kind!==o.PrefetchKind.FULL&&l===o.PrefetchKind.FULL&&s.data.then(e=>{if(!(Array.isArray(e.flightData)&&e.flightData.some(e=>e.isRootRender&&null!==e.seedData)))return c({tree:n,url:t,nextUrl:r,prefetchCache:a,kind:null!=l?l:o.PrefetchKind.TEMPORARY})}),l&&s.kind===o.PrefetchKind.TEMPORARY&&(s.kind=l),s):c({tree:n,url:t,nextUrl:r,prefetchCache:a,kind:l||o.PrefetchKind.TEMPORARY})}function s(e){let{nextUrl:t,tree:r,prefetchCache:n,url:a,data:u,kind:i}=e,s=u.couldBeIntercepted?l(a,i,t):l(a,i),c={treeAtTimeOfPrefetch:r,data:Promise.resolve(u),kind:i,prefetchTime:Date.now(),lastUsedTime:Date.now(),staleTime:-1,key:s,status:o.PrefetchCacheEntryStatus.fresh,url:a};return n.set(s,c),c}function c(e){let{url:t,kind:r,tree:u,nextUrl:i,prefetchCache:s}=e,c=l(t,r),f=a.prefetchQueue.enqueue(()=>(0,n.fetchServerResponse)(t,{flightRouterState:u,nextUrl:i,prefetchKind:r}).then(e=>{let r;if(e.couldBeIntercepted&&(r=function(e){let{url:t,nextUrl:r,prefetchCache:n,existingCacheKey:o}=e,a=n.get(o);if(!a)return;let u=l(t,a.kind,r);return n.set(u,{...a,key:u}),n.delete(o),u}({url:t,existingCacheKey:c,nextUrl:i,prefetchCache:s})),e.prerendered){let t=s.get(null!=r?r:c);t&&(t.kind=o.PrefetchKind.FULL,-1!==e.staleTime&&(t.staleTime=e.staleTime))}return e})),d={treeAtTimeOfPrefetch:u,data:f,kind:r,prefetchTime:Date.now(),lastUsedTime:null,staleTime:-1,key:c,status:o.PrefetchCacheEntryStatus.fresh,url:t};return s.set(c,d),d}function f(e){for(let[t,r]of e)h(r)===o.PrefetchCacheEntryStatus.expired&&e.delete(t)}let d=1e3*Number("0"),p=1e3*Number("300");function h(e){let{kind:t,prefetchTime:r,lastUsedTime:n,staleTime:a}=e;return -1!==a?Date.now(){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"findHeadInCache",{enumerable:!0,get:function(){return o}});let n=r(5404);function o(e,t){return function e(t,r,o){if(0===Object.keys(r).length)return[t,o];for(let a in r){let[u,l]=r[a],i=t.parallelRoutes.get(a);if(!i)continue;let s=(0,n.createRouterCacheKey)(u),c=i.get(s);if(!c)continue;let f=e(c,l,o+"/"+s);if(f)return f}return null}(e,t,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4183:(e,t)=>{"use strict";function r(e){return Array.isArray(e)?e[1]:e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentValue",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},941:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasInterceptionRouteInCurrentTree",{enumerable:!0,get:function(){return function e(t){let[r,o]=t;if(Array.isArray(r)&&("di"===r[2]||"ci"===r[2])||"string"==typeof r&&(0,n.isInterceptionRouteAppPath)(r))return!0;if(o){for(let t in o)if(e(o[t]))return!0}return!1}}});let n=r(8456);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7359:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hmrRefreshReducer",{enumerable:!0,get:function(){return n}}),r(4091),r(1055),r(1053),r(6449),r(2603),r(7344),r(655),r(3423),r(9786),r(941);let n=function(e,t){return e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2603:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{handleExternalUrl:function(){return v},navigateReducer:function(){return function e(t,r){let{url:P,isExternalUrl:E,navigateType:O,shouldScroll:R,allowAliasing:S}=r,j={},{hash:w}=P,T=(0,o.createHrefFromUrl)(P),M="push"===O;if((0,g.prunePrefetchCache)(t.prefetchCache),j.preserveCustomHistoryState=!1,j.pendingPush=M,E)return v(t,j,P.toString(),M);if(document.getElementById("__next-page-redirect"))return v(t,j,T,M);let x=(0,g.getOrCreatePrefetchCacheEntry)({url:P,nextUrl:t.nextUrl,tree:t.tree,prefetchCache:t.prefetchCache,allowAliasing:S}),{treeAtTimeOfPrefetch:A,data:C}=x;return d.prefetchQueue.bump(C),C.then(d=>{let{flightData:g,canonicalUrl:E,postponed:O}=d,S=!1;if(x.lastUsedTime||(x.lastUsedTime=Date.now(),S=!0),"string"==typeof g)return v(t,j,g,M);let C=E?(0,o.createHrefFromUrl)(E):T;if(w&&t.canonicalUrl.split("#",1)[0]===C.split("#",1)[0])return j.onlyHashChange=!0,j.canonicalUrl=C,j.shouldScroll=R,j.hashFragment=w,j.scrollableSegments=[],(0,c.handleMutable)(t,j);if(x.aliased){let n=(0,_.handleAliasedPrefetchEntry)(t,g,P,j);return!1===n?e(t,{...r,allowAliasing:!1}):n}let k=t.tree,D=t.cache,N=[];for(let e of g){let{pathToSegment:r,seedData:o,head:c,isHeadPartial:d,isRootRender:g}=e,_=e.tree,E=["",...r],R=(0,u.applyRouterStatePatchToTree)(E,k,_,T);if(null===R&&(R=(0,u.applyRouterStatePatchToTree)(E,A,_,T)),null!==R){if((0,i.isNavigatingToNewRootLayout)(k,R))return v(t,j,T,M);if(o&&g&&O){let e=(0,y.updateCacheNodeOnNavigation)(D,k,_,o,c,d);if(null!==e){R=e.route;let r=e.node;if(null!==r&&(j.cache=r),e.needsDynamicRequest){let r=(0,n.fetchServerResponse)(P,{flightRouterState:k,nextUrl:t.nextUrl});(0,y.listenForDynamicRequest)(e,r)}}else R=_}else{let t=(0,p.createEmptyCacheNode)(),n=!1;x.status!==s.PrefetchCacheEntryStatus.stale||S?n=(0,f.applyFlightData)(D,t,e,x):(n=function(e,t,r,n){let o=!1;for(let a of(e.rsc=t.rsc,e.prefetchRsc=t.prefetchRsc,e.loading=t.loading,e.parallelRoutes=new Map(t.parallelRoutes),m(n).map(e=>[...r,...e])))(0,b.clearCacheNodeDataForSegmentPath)(e,t,a),o=!0;return o}(t,D,r,_),x.lastUsedTime=Date.now()),(0,l.shouldHardNavigate)(E,k)?(t.rsc=D.rsc,t.prefetchRsc=D.prefetchRsc,(0,a.invalidateCacheBelowFlightSegmentPath)(t,D,r),j.cache=t):n&&(j.cache=t,D=t)}for(let e of(k=R,m(_))){let t=[...r,...e];t[t.length-1]!==h.DEFAULT_SEGMENT_KEY&&N.push(t)}}}return j.patchedTree=k,j.canonicalUrl=C,j.scrollableSegments=N,j.hashFragment=w,j.shouldScroll=R,(0,c.handleMutable)(t,j)},()=>t)}}});let n=r(4091),o=r(1055),a=r(5411),u=r(1053),l=r(8500),i=r(6449),s=r(4445),c=r(7344),f=r(655),d=r(8455),p=r(3423),h=r(6090),y=r(3223),g=r(1893),b=r(8227),_=r(2344);function v(e,t,r,n){return t.mpaNavigation=!0,t.canonicalUrl=r,t.pendingPush=n,t.scrollableSegments=void 0,(0,c.handleMutable)(e,t)}function m(e){let t=[],[r,n]=e;if(0===Object.keys(n).length)return[[r]];for(let[e,o]of Object.entries(n))for(let n of m(o))""===r?t.push([e,...n]):t.push([r,e,...n]);return t}r(5245),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8455:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{prefetchQueue:function(){return a},prefetchReducer:function(){return u}});let n=r(7891),o=r(1893),a=new n.PromiseQueue(5),u=function(e,t){(0,o.prunePrefetchCache)(e.prefetchCache);let{url:r}=t;return(0,o.getOrCreatePrefetchCacheEntry)({url:r,nextUrl:e.nextUrl,prefetchCache:e.prefetchCache,kind:t.kind,tree:e.tree,allowAliasing:!0}),e};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5025:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"refreshReducer",{enumerable:!0,get:function(){return h}});let n=r(4091),o=r(1055),a=r(1053),u=r(6449),l=r(2603),i=r(7344),s=r(223),c=r(3423),f=r(9786),d=r(941),p=r(1387);function h(e,t){let{origin:r}=t,h={},y=e.canonicalUrl,g=e.tree;h.preserveCustomHistoryState=!1;let b=(0,c.createEmptyCacheNode)(),_=(0,d.hasInterceptionRouteInCurrentTree)(e.tree);return b.lazyData=(0,n.fetchServerResponse)(new URL(y,r),{flightRouterState:[g[0],g[1],g[2],"refetch"],nextUrl:_?e.nextUrl:null}),b.lazyData.then(async r=>{let{flightData:n,canonicalUrl:c}=r;if("string"==typeof n)return(0,l.handleExternalUrl)(e,h,n,e.pushRef.pendingPush);for(let r of(b.lazyData=null,n)){let{tree:n,seedData:i,head:d,isRootRender:v}=r;if(!v)return console.log("REFRESH FAILED"),e;let m=(0,a.applyRouterStatePatchToTree)([""],g,n,e.canonicalUrl);if(null===m)return(0,f.handleSegmentMismatch)(e,t,n);if((0,u.isNavigatingToNewRootLayout)(g,m))return(0,l.handleExternalUrl)(e,h,y,e.pushRef.pendingPush);let P=c?(0,o.createHrefFromUrl)(c):void 0;if(c&&(h.canonicalUrl=P),null!==i){let e=i[1],t=i[3];b.rsc=e,b.prefetchRsc=null,b.loading=t,(0,s.fillLazyItemsTillLeafWithHead)(b,void 0,n,i,d),h.prefetchCache=new Map}await (0,p.refreshInactiveParallelSegments)({state:e,updatedTree:m,updatedCache:b,includeNextUrl:_,canonicalUrl:h.canonicalUrl||e.canonicalUrl}),h.cache=b,h.patchedTree=m,g=m}return(0,i.handleMutable)(e,h)},()=>e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1752:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"restoreReducer",{enumerable:!0,get:function(){return a}});let n=r(1055),o=r(845);function a(e,t){var r;let{url:a,tree:u}=t,l=(0,n.createHrefFromUrl)(a),i=u||e.tree,s=e.cache;return{canonicalUrl:l,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:e.focusAndScrollRef,cache:s,prefetchCache:e.prefetchCache,tree:i,nextUrl:null!=(r=(0,o.extractPathFromFlightRouterState)(i))?r:a.pathname}}r(3223),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8514:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverActionReducer",{enumerable:!0,get:function(){return M}});let n=r(9603),o=r(3355),a=r(2836),u=r(4445),l=r(630),i=r(1055),s=r(2603),c=r(1053),f=r(6449),d=r(7344),p=r(223),h=r(3423),y=r(941),g=r(9786),b=r(1387),_=r(1648),v=r(9100),m=r(7563),P=r(1893),E=r(1129),O=r(6003),R=r(725),{createFromFetch:S,createTemporaryReferenceSet:j,encodeReply:w}=r(4979);async function T(e,t,r){let u,i,{actionId:s,actionArgs:c}=r,f=j(),d=(0,R.extractInfoFromServerReferenceId)(s),p="use-cache"===d.type?(0,R.omitUnusedArgs)(c,d):c,h=await w(p,{temporaryReferences:f}),y=await fetch("",{method:"POST",headers:{Accept:a.RSC_CONTENT_TYPE_HEADER,[a.ACTION_HEADER]:s,[a.NEXT_ROUTER_STATE_TREE_HEADER]:encodeURIComponent(JSON.stringify(e.tree)),...t?{[a.NEXT_URL]:t}:{}},body:h}),g=y.headers.get("x-action-redirect"),[b,v]=(null==g?void 0:g.split(";"))||[];switch(v){case"push":u=m.RedirectType.push;break;case"replace":u=m.RedirectType.replace;break;default:u=void 0}let P=!!y.headers.get(a.NEXT_IS_PRERENDER_HEADER);try{let e=JSON.parse(y.headers.get("x-action-revalidated")||"[[],0,0]");i={paths:e[0]||[],tag:!!e[1],cookie:e[2]}}catch(e){i={paths:[],tag:!1,cookie:!1}}let E=b?(0,l.assignLocation)(b,new URL(e.canonicalUrl,window.location.href)):void 0,O=y.headers.get("content-type");if(null==O?void 0:O.startsWith(a.RSC_CONTENT_TYPE_HEADER)){let e=await S(Promise.resolve(y),{callServer:n.callServer,findSourceMapURL:o.findSourceMapURL,temporaryReferences:f});return b?{actionFlightData:(0,_.normalizeFlightData)(e.f),redirectLocation:E,redirectType:u,revalidatedParts:i,isPrerender:P}:{actionResult:e.a,actionFlightData:(0,_.normalizeFlightData)(e.f),redirectLocation:E,redirectType:u,revalidatedParts:i,isPrerender:P}}if(y.status>=400)throw Error("text/plain"===O?await y.text():"An unexpected response was received from the server.");return{redirectLocation:E,redirectType:u,revalidatedParts:i,isPrerender:P}}function M(e,t){let{resolve:r,reject:n}=t,o={},a=e.tree;o.preserveCustomHistoryState=!1;let l=e.nextUrl&&(0,y.hasInterceptionRouteInCurrentTree)(e.tree)?e.nextUrl:null;return T(e,l,t).then(async y=>{let _,{actionResult:R,actionFlightData:S,redirectLocation:j,redirectType:w,isPrerender:T,revalidatedParts:M}=y;if(j&&(w===m.RedirectType.replace?(e.pushRef.pendingPush=!1,o.pendingPush=!1):(e.pushRef.pendingPush=!0,o.pendingPush=!0),_=(0,i.createHrefFromUrl)(j,!1),o.canonicalUrl=_),!S)return(r(R),j)?(0,s.handleExternalUrl)(e,o,j.href,e.pushRef.pendingPush):e;if("string"==typeof S)return r(R),(0,s.handleExternalUrl)(e,o,S,e.pushRef.pendingPush);let x=M.paths.length>0||M.tag||M.cookie;for(let n of S){let{tree:u,seedData:i,head:d,isRootRender:y}=n;if(!y)return console.log("SERVER ACTION APPLY FAILED"),r(R),e;let v=(0,c.applyRouterStatePatchToTree)([""],a,u,_||e.canonicalUrl);if(null===v)return r(R),(0,g.handleSegmentMismatch)(e,t,u);if((0,f.isNavigatingToNewRootLayout)(a,v))return r(R),(0,s.handleExternalUrl)(e,o,_||e.canonicalUrl,e.pushRef.pendingPush);if(null!==i){let t=i[1],r=(0,h.createEmptyCacheNode)();r.rsc=t,r.prefetchRsc=null,r.loading=i[3],(0,p.fillLazyItemsTillLeafWithHead)(r,void 0,u,i,d),o.cache=r,o.prefetchCache=new Map,x&&await (0,b.refreshInactiveParallelSegments)({state:e,updatedTree:v,updatedCache:r,includeNextUrl:!!l,canonicalUrl:o.canonicalUrl||e.canonicalUrl})}o.patchedTree=v,a=v}return j&&_?(x||((0,P.createSeededPrefetchCacheEntry)({url:j,data:{flightData:S,canonicalUrl:void 0,couldBeIntercepted:!1,prerendered:!1,postponed:!1,staleTime:-1},tree:e.tree,prefetchCache:e.prefetchCache,nextUrl:e.nextUrl,kind:T?u.PrefetchKind.FULL:u.PrefetchKind.AUTO}),o.prefetchCache=e.prefetchCache),n((0,v.getRedirectError)((0,O.hasBasePath)(_)?(0,E.removeBasePath)(_):_,w||m.RedirectType.push))):r(R),(0,d.handleMutable)(e,o)},t=>(n(t),e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6976:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverPatchReducer",{enumerable:!0,get:function(){return c}});let n=r(1055),o=r(1053),a=r(6449),u=r(2603),l=r(655),i=r(7344),s=r(3423);function c(e,t){let{serverResponse:{flightData:r,canonicalUrl:c}}=t,f={};if(f.preserveCustomHistoryState=!1,"string"==typeof r)return(0,u.handleExternalUrl)(e,f,r,e.pushRef.pendingPush);let d=e.tree,p=e.cache;for(let t of r){let{segmentPath:r,tree:i}=t,h=(0,o.applyRouterStatePatchToTree)(["",...r],d,i,e.canonicalUrl);if(null===h)return e;if((0,a.isNavigatingToNewRootLayout)(d,h))return(0,u.handleExternalUrl)(e,f,e.canonicalUrl,e.pushRef.pendingPush);let y=c?(0,n.createHrefFromUrl)(c):void 0;y&&(f.canonicalUrl=y);let g=(0,s.createEmptyCacheNode)();(0,l.applyFlightData)(p,g,t),f.patchedTree=h,f.cache=g,p=g,d=h}return(0,i.handleMutable)(e,f)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},725:(e,t)=>{"use strict";function r(e){let t=parseInt(e.slice(0,2),16),r=t>>1&63,n=Array(6);for(let e=0;e<6;e++){let t=r>>5-e&1;n[e]=1===t}return{type:1==(t>>7&1)?"use-cache":"server-action",usedArgs:n,hasRestArgs:1==(1&t)}}function n(e,t){let r=Array(e.length);for(let n=0;n=6&&t.hasRestArgs)&&(r[n]=e[n]);return r}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{extractInfoFromServerReferenceId:function(){return r},omitUnusedArgs:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1387:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{addRefreshMarkerToActiveParallelSegments:function(){return function e(t,r){let[n,o,,u]=t;for(let l in n.includes(a.PAGE_SEGMENT_KEY)&&"refresh"!==u&&(t[2]=r,t[3]="refresh"),o)e(o[l],r)}},refreshInactiveParallelSegments:function(){return u}});let n=r(655),o=r(4091),a=r(6090);async function u(e){let t=new Set;await l({...e,rootTree:e.updatedTree,fetchedSegments:t})}async function l(e){let{state:t,updatedTree:r,updatedCache:a,includeNextUrl:u,fetchedSegments:i,rootTree:s=r,canonicalUrl:c}=e,[,f,d,p]=r,h=[];if(d&&d!==c&&"refresh"===p&&!i.has(d)){i.add(d);let e=(0,o.fetchServerResponse)(new URL(d,location.origin),{flightRouterState:[s[0],s[1],s[2],"refetch"],nextUrl:u?t.nextUrl:null}).then(e=>{let{flightData:t}=e;if("string"!=typeof t)for(let e of t)(0,n.applyFlightData)(a,a,e)});h.push(e)}for(let e in f){let r=l({state:t,updatedTree:f[e],updatedCache:a,includeNextUrl:u,fetchedSegments:i,rootTree:s,canonicalUrl:c});h.push(r)}await Promise.all(h)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4445:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_HMR_REFRESH:function(){return l},ACTION_NAVIGATE:function(){return n},ACTION_PREFETCH:function(){return u},ACTION_REFRESH:function(){return r},ACTION_RESTORE:function(){return o},ACTION_SERVER_ACTION:function(){return i},ACTION_SERVER_PATCH:function(){return a},PrefetchCacheEntryStatus:function(){return c},PrefetchKind:function(){return s}});let r="refresh",n="navigate",o="restore",a="server-patch",u="prefetch",l="hmr-refresh",i="server-action";var s=function(e){return e.AUTO="auto",e.FULL="full",e.TEMPORARY="temporary",e}({}),c=function(e){return e.fresh="fresh",e.reusable="reusable",e.expired="expired",e.stale="stale",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1677:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reducer",{enumerable:!0,get:function(){return f}});let n=r(4445),o=r(2603),a=r(6976),u=r(1752),l=r(5025),i=r(8455),s=r(7359),c=r(8514),f="undefined"==typeof window?function(e,t){return e}:function(e,t){switch(t.type){case n.ACTION_NAVIGATE:return(0,o.navigateReducer)(e,t);case n.ACTION_SERVER_PATCH:return(0,a.serverPatchReducer)(e,t);case n.ACTION_RESTORE:return(0,u.restoreReducer)(e,t);case n.ACTION_REFRESH:return(0,l.refreshReducer)(e,t);case n.ACTION_HMR_REFRESH:return(0,s.hmrRefreshReducer)(e,t);case n.ACTION_PREFETCH:return(0,i.prefetchReducer)(e,t);case n.ACTION_SERVER_ACTION:return(0,c.serverActionReducer)(e,t);default:throw Error("Unknown action")}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8500:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"shouldHardNavigate",{enumerable:!0,get:function(){return function e(t,r){let[a,u]=r,[l,i]=t;return(0,o.matchSegment)(l,a)?!(t.length<=2)&&e((0,n.getNextFlightSegmentPath)(t),u[i]):!!Array.isArray(l)}}});let n=r(1648),o=r(4682);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2633:(e,t)=>{"use strict";function r(e,t){let r=new URL(e);return r.search="",{href:r.href,nextUrl:t}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createCacheKey",{enumerable:!0,get:function(){return r}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3099:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{EntryStatus:function(){return c},readExactRouteCacheEntry:function(){return y},readRouteCacheEntry:function(){return g},readSegmentCacheEntry:function(){return b},requestRouteCacheEntryFromCache:function(){return v},requestSegmentEntryFromCache:function(){return m},waitForSegmentCacheEntry:function(){return _}});let n=r(2836),o=r(4091),a=r(8592),u=r(8127),l=r(1055),i=r(7864),s=r(1096);var c=function(e){return e[e.Pending=0]="Pending",e[e.Rejected=1]="Rejected",e[e.Fulfilled=2]="Fulfilled",e}({});let f=(0,i.createTupleMap)(),d=(0,s.createLRU)(0xa00000,function(e){let t=e.keypath;null!==t&&(e.keypath=null,E(e),f.delete(t))}),p=new Map,h=(0,s.createLRU)(0x3200000,function(e){let t=e.key;null!==t&&(e.key=null,P(e),p.delete(t))});function y(e,t,r){let n=null===r?[t]:[t,r],o=f.get(n);if(null!==o){if(o.staleAt>e)return d.put(o),o;E(o),f.delete(n),d.delete(o)}return null}function g(e,t){let r=y(e,t.href,null);return null===r||r.couldBeIntercepted?y(e,t.href,t.nextUrl):r}function b(e,t){let r=p.get(t);if(void 0!==r){if(r.staleAt>e)return h.put(r),r;P(r),p.delete(t),h.delete(r)}return null}function _(e){let t=e.promise;return null===t&&(t=e.promise=function(){let e,t;let r=new Promise((r,n)=>{e=r,t=n});return{resolve:e,reject:t,promise:r}}()),t.promise}function v(e,t){let r=t.key,n=y(e,r.href,null);if(null!==n&&!n.couldBeIntercepted)return n;let o=y(e,r.href,r.nextUrl);if(null!==o)return o;let u={canonicalUrl:null,status:0,blockedTasks:null,tree:null,head:null,isHeadPartial:!0,staleAt:e+6e4,couldBeIntercepted:!0,keypath:null,next:null,prev:null,size:0};(0,a.spawnPrefetchSubtask)(S(u,t));let l=null===r.nextUrl?[r.href]:[r.href,r.nextUrl];return f.set(l,u),u.keypath=l,d.put(u),u}function m(e,t,r,n,o){let u=b(e,n);if(null!==u)return u;let l={status:0,rsc:null,loading:null,staleAt:r.staleAt,isPartial:!0,promise:null,key:null,next:null,prev:null,size:0};return(0,a.spawnPrefetchSubtask)(j(r,l,t.key,n,o)),p.set(n,l),l.key=n,h.put(l),l}function P(e){0===e.status&&null!==e.promise&&(e.promise.resolve(null),e.promise=null)}function E(e){let t=e.blockedTasks;if(null!==t){for(let e of t)(0,a.pingPrefetchTask)(e);e.blockedTasks=null}}function O(e,t){e.status=1,e.staleAt=t,E(e)}function R(e,t){e.status=1,e.staleAt=t,null!==e.promise&&(e.promise.resolve(null),e.promise=null)}async function S(e,t){let r=t.key,a=r.href,i=r.nextUrl;try{var s,c,p,h;let t=await w(a,"/_tree",i);if(!t||!t.ok||204===t.status||!t.body){O(e,Date.now()+1e4);return}let r=T(t.body,d,e),y=await (0,o.createFromNextReadableStream)(r);if(y.buildId!==(0,u.getAppBuildId)()){O(e,Date.now()+1e4);return}let g=t.redirected?(0,l.createHrefFromUrl)((0,o.urlToUrlWithoutFlightMarker)(t.url)):a,b=t.headers.get("vary"),_=null!==b&&b.includes(n.NEXT_URL);if(s=y.tree,c=y.head,p=y.isHeadPartial,h=Date.now()+y.staleTime,e.status=2,e.tree=s,e.head=c,e.isHeadPartial=p,e.staleAt=h,e.couldBeIntercepted=_,e.canonicalUrl=g,E(e),!_&&null!==i){let t=[a,i];if(f.get(t)===e){f.delete(t);let r=[a];f.set(r,e),e.keypath=r}}}catch(t){O(e,Date.now()+1e4)}}async function j(e,t,r,n,a){let l=r.href;try{var i,s,c,f;let d=await w(l,""===a?n:n+"."+a,r.nextUrl);if(!d||!d.ok||204===d.status||!d.body){R(t,Date.now()+1e4);return}let p=T(d.body,h,t),y=await (0,o.createFromNextReadableStream)(p);if(y.buildId!==(0,u.getAppBuildId)()){R(t,Date.now()+1e4);return}i=y.rsc,s=y.loading,c=e.staleAt,f=y.isPartial,t.status=2,t.rsc=i,t.loading=s,t.staleAt=c,t.isPartial=f,null!==t.promise&&(t.promise.resolve(t),t.promise=null)}catch(e){R(t,Date.now()+1e4)}}async function w(e,t,r){let u={[n.RSC_HEADER]:"1",[n.NEXT_ROUTER_PREFETCH_HEADER]:"1",[n.NEXT_ROUTER_SEGMENT_PREFETCH_HEADER]:t};null!==r&&(u[n.NEXT_URL]=r);let l=(0,o.createFetch)(new URL(e),u,"low");(0,a.trackPrefetchRequestBandwidth)(l);let i=await l,s=i.headers.get("content-type"),c=s&&s.startsWith(n.RSC_CONTENT_TYPE_HEADER);return i.ok&&c?i:null}function T(e,t,r){let n=0,o=e.getReader();return new ReadableStream({async pull(e){for(;;){let{done:a,value:u}=await o.read();if(!a){e.enqueue(u),n+=u.byteLength,t.updateSize(r,n);continue}return}}})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1096:(e,t)=>{"use strict";function r(e,t){let r=null,o=!1,a=0;function u(e){let t=e.next,n=e.prev;null!==t&&null!==n&&(a-=e.size,e.next=null,e.prev=null,r===e?r=t===r?null:t:(n.next=t,t.prev=n))}function l(){o||a<=e||(o=!0,n(i))}function i(){o=!1;let n=.9*e;for(;a>n&&null!==r;){let e=r.prev;u(e),t(e)}}return{put:function(e){if(r===e)return;let t=e.prev,n=e.next;if(null===n||null===t?(a+=e.size,l()):(t.next=n,n.prev=t),null===r)e.prev=e,e.next=e;else{let t=r.prev;e.prev=t,t.next=e,e.next=r,r.prev=e}r=e},delete:u,updateSize:function(e,t){if(null===e.next)return;let r=e.size;e.size=t,a=a-r+t,l()}}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createLRU",{enumerable:!0,get:function(){return r}});let n="function"==typeof requestIdleCallback?requestIdleCallback:e=>setTimeout(e,0);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5245:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{NavigationResultTag:function(){return i},navigate:function(){return c}});let n=r(4091),o=r(3223),a=r(1055),u=r(3099),l=r(2633);var i=function(e){return e[e.MPA=0]="MPA",e[e.Success=1]="Success",e[e.NoOp=2]="NoOp",e[e.Async=3]="Async",e}({});let s={tag:2,data:null};function c(e,t,r,a){let i=Date.now(),c=(0,l.createCacheKey)(e.href,a),p=(0,u.readRouteCacheEntry)(i,c);if(null!==p&&p.status===u.EntryStatus.Fulfilled){let l=function e(t,r){let n={},o={},a=r.slots;if(null!==a)for(let r in a){let u=e(t,a[r]);n[r]=u.flightRouterState,o[r]=u.seedData}let l=null,i=null,s=!0,c=(0,u.readSegmentCacheEntry)(t,r.path);if(null!==c)switch(c.status){case u.EntryStatus.Fulfilled:l=c.rsc,i=c.loading,s=c.isPartial;break;case u.EntryStatus.Pending:{let e=(0,u.waitForSegmentCacheEntry)(c);l=e.then(e=>null!==e?e.rsc:null),i=e.then(e=>null!==e?e.loading:null),s=!0}case u.EntryStatus.Rejected:}let f=r.extra,d=f[0];return{flightRouterState:[d,n,null,null,f[1]],seedData:[d,l,o,i,s]}}(i,p.tree),c=l.flightRouterState,d=l.seedData;return function(e,t,r,a,u,l,i,c,d){let p=(0,o.updateCacheNodeOnNavigation)(r,a,u,l,i,c);if(null!==p){if(p.needsDynamicRequest){let r=(0,n.fetchServerResponse)(e,{flightRouterState:a,nextUrl:t});(0,o.listenForDynamicRequest)(p,r)}return f(p,r,d)}return s}(e,a,t,r,c,d,p.head,p.isHeadPartial,p.canonicalUrl)}return{tag:3,data:d(e,a,t,r)}}function f(e,t,r){let n=e.node;return{tag:1,data:{flightRouterState:e.route,cacheNode:null!==n?n:t,canonicalUrl:r}}}async function d(e,t,r,u){let l=(0,n.fetchServerResponse)(e,{flightRouterState:u,nextUrl:t}),{flightData:i,canonicalUrl:c}=await l;if("string"==typeof i)return{tag:0,data:i};let d=function(e,t){let r=e;for(let{segmentPath:n,tree:o}of t){let t=r!==e;r=function e(t,r,n,o,a){if(a===n.length)return r;let u=n[a],l=t[1],i={};for(let t in l)if(t===u){let u=l[t];i[t]=e(u,r,n,o,a+2)}else i[t]=l[t];if(o)return t[1]=i,t;let s=[t[0],i];return 2 in t&&(s[2]=t[2]),3 in t&&(s[3]=t[3]),4 in t&&(s[4]=t[4]),s}(r,o,n,t,0)}return r}(u,i),p=(0,a.createHrefFromUrl)(c||e),h=(0,o.updateCacheNodeOnNavigation)(r,u,d,null,null,!0);return null!==h?(h.needsDynamicRequest&&(0,o.listenForDynamicRequest)(h,l),f(h,r,p)):s}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9824:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"prefetch",{enumerable:!0,get:function(){return u}});let n=r(3423),o=r(2633),a=r(8592);function u(e,t){let r=(0,n.createPrefetchURL)(e);if(null===r)return;let u=(0,o.createCacheKey)(r.href,t);(0,a.schedulePrefetchTask)(u)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8592:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{pingPrefetchTask:function(){return y},schedulePrefetchTask:function(){return s},spawnPrefetchSubtask:function(){return p},trackPrefetchRequestBandwidth:function(){return f}});let n=r(3099),o="function"==typeof queueMicrotask?queueMicrotask:e=>Promise.resolve().then(e).catch(e=>setTimeout(()=>{throw e})),a=[],u=0,l=0,i=!1;function s(e){_(a,{key:e,sortId:l++,isBlocked:!1,_heapIndex:-1}),c()}function c(){!i&&u<3&&(i=!0,o(g))}function f(e){u++,e.then(h,h)}let d=()=>{};function p(e){e.then(d,d)}function h(){u--,c()}function y(e){e.isBlocked&&(e.isBlocked=!1,_(a,e),c())}function g(){i=!1;let e=Date.now(),t=v(a);for(;null!==t&&u<3;){let r=(0,n.requestRouteCacheEntryFromCache)(e,t);switch(function(e,t,r){switch(r.status){case n.EntryStatus.Pending:{let e=r.blockedTasks;return null===e?r.blockedTasks=new Set([t]):e.add(t),1}case n.EntryStatus.Rejected:return 2;case n.EntryStatus.Fulfilled:{if(!(u<3))return 0;let o=r.tree;return(0,n.requestSegmentEntryFromCache)(e,t,r,o.path,""),function e(t,r,o,a){if(null!==a.slots)for(let l in a.slots){let i=a.slots[l];if(!(u<3))return 0;{let e=i.path,a=i.token;(0,n.requestSegmentEntryFromCache)(t,r,o,e,a)}if(0===e(t,r,o,i))return 0}return 2}(e,t,r,o)}default:return 2}}(e,t,r)){case 0:default:return;case 1:t.isBlocked=!0,m(a),t=v(a);continue;case 2:m(a),t=v(a);continue}}}function b(e,t){return t.sortId-e.sortId}function _(e,t){let r=e.length;e.push(t),t._heapIndex=r,function(e,t,r){let n=r;for(;n>0;){let r=n-1>>>1,o=e[r];if(!(b(o,t)>0))return;e[r]=t,t._heapIndex=r,e[n]=o,o._heapIndex=n,n=r}}(e,t,r)}function v(e){return 0===e.length?null:e[0]}function m(e){if(0===e.length)return null;let t=e[0];t._heapIndex=-1;let r=e.pop();return r!==t&&(e[0]=r,r._heapIndex=0,function(e,t,r){let n=0,o=e.length,a=o>>>1;for(;nb(a,t))ub(l,a)?(e[n]=l,l._heapIndex=n,e[u]=t,t._heapIndex=u,n=u):(e[n]=a,a._heapIndex=n,e[r]=t,t._heapIndex=r,n=r);else{if(!(ub(l,t)))return;e[n]=l,l._heapIndex=n,e[u]=t,t._heapIndex=u,n=u}}}(e,r,0)),t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7864:(e,t)=>{"use strict";function r(){let e={parent:null,key:null,hasValue:!1,value:null,map:null},t=null,r=null;function n(n){if(r===n)return t;let o=e;for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{StaticGenBailoutError:function(){return n},isStaticGenBailoutError:function(){return o}});let r="NEXT_STATIC_GEN_BAILOUT";class n extends Error{constructor(...e){super(...e),this.code=r}}function o(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},882:(e,t,r)=>{"use strict";function n(){throw Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled.")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unauthorized",{enumerable:!0,get:function(){return n}}),r(2469).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9321:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unresolvedThenable",{enumerable:!0,get:function(){return r}});let r={then:()=>{}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5173:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,u.isNextRouterError)(t)||(0,a.isBailoutToCSRError)(t)||(0,n.isDynamicUsageError)(t)||(0,o.isPostpone)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=r(7515),o=r(4819),a=r(3719),u=r(179);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6494:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{useReducer:function(){return u},useUnwrapState:function(){return a}});let n=r(9955)._(r(2115)),o=r(2707);function a(e){return(0,o.isThenable)(e)?(0,n.use)(e):e}function u(e){let[t,r]=n.default.useState(e.state);return[t,(0,n.useCallback)(t=>{e.dispatch(t,r)},[e])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1648:(e,t)=>{"use strict";function r(e){var t;let[r,n,o,a]=e.slice(-4),u=e.slice(0,-4);return{pathToSegment:u.slice(0,-1),segmentPath:u,segment:null!=(t=u[u.length-1])?t:"",tree:r,seedData:n,head:o,isHeadPartial:a,isRootRender:4===e.length}}function n(e){return e.slice(2)}function o(e){return"string"==typeof e?e:e.map(r)}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getFlightDataPartsFromPath:function(){return r},getNextFlightSegmentPath:function(){return n},normalizeFlightData:function(){return o}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6003:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let n=r(8912);function o(e){return(0,n.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4300:(e,t)=>{"use strict";function r(e,t){switch(typeof e){case"object":if(null===e)return"null";if(Array.isArray(e)){let n="[";if(t<1)for(let o=0;o0?"...":"";return n+"]"}{if(e instanceof Error)return e+"";let n=Object.keys(e),o="{";if(t<1)for(let a=0;a0?"...":"";return o+"}"}case"string":return JSON.stringify(e);default:return String(e)}}function n(e){let t,n;"string"==typeof e[0]?(t=e[0],n=1):(t="",n=0);let o="",a=!1;for(let u=0;u=e.length){o+=l;continue}let i=t[++u];switch(i){case"c":o=a?""+o+"]":"["+o,a=!a,n++;break;case"O":case"o":o+=r(e[n++],0);break;case"d":case"i":o+=parseInt(e[n++],10);break;case"f":o+=parseFloat(e[n++]);break;case"s":o+=String(e[n++]);break;default:o+="%"+i}}for(;n0?" ":"")+r(e[n],0);return o}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"formatConsoleArgs",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6573:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return a}});let n=r(1246),o=r(4046),a=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:r,hash:a}=(0,o.parsePath)(e);return/\.[^/]+\/?$/.test(t)?""+(0,n.removeTrailingSlash)(t)+r+a:t.endsWith("/")?""+t+r+a:t+"/"+r+a};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6547:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{onCaughtError:function(){return l},onUncaughtError:function(){return i}}),r(2100),r(7712);let n=r(179),o=r(3719),a=r(7489),u=r(5194),l=(e,t)=>{(0,o.isBailoutToCSRError)(e)||(0,n.isNextRouterError)(e)||(0,u.originConsoleError)(e)},i=(e,t)=>{(0,o.isBailoutToCSRError)(e)||(0,n.isNextRouterError)(e)||(0,a.reportGlobalError)(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7489:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reportGlobalError",{enumerable:!0,get:function(){return r}});let r="function"==typeof reportError?reportError:e=>{window.console.error(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8221:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"onRecoverableError",{enumerable:!0,get:function(){return i}});let n=r(306),o=r(3719),a=r(7489),u=r(2100),l=n._(r(9762)),i=(e,t)=>{let r=(0,l.default)(e)&&"cause"in e?e.cause:e,n=(0,u.getReactStitchedError)(r);(0,o.isBailoutToCSRError)(r)||(0,a.reportGlobalError)(n)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1129:(e,t,r)=>{"use strict";function n(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(6003),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7851:e=>{!function(){var t={229:function(e){var t,r,n,o=e.exports={};function a(){throw Error("setTimeout has not been defined")}function u(){throw Error("clearTimeout has not been defined")}function l(e){if(t===setTimeout)return setTimeout(e,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{r="function"==typeof clearTimeout?clearTimeout:u}catch(e){r=u}}();var i=[],s=!1,c=-1;function f(){s&&n&&(s=!1,n.length?i=n.concat(i):c=-1,i.length&&d())}function d(){if(!s){var e=l(f);s=!0;for(var t=i.length;t;){for(n=i,i=[];++c1)for(var r=1;r{"use strict";function r(e,t){var r=e.length;for(e.push(t);0>>1,o=e[n];if(0>>1;na(i,r))sa(c,i)?(e[n]=c,e[s]=r,n=s):(e[n]=i,e[l]=r,n=l);else if(sa(c,r))e[n]=c,e[s]=r,n=s;else break}}return t}function a(e,t){var r=e.sortIndex-t.sortIndex;return 0!==r?r:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var u,l=performance;t.unstable_now=function(){return l.now()}}else{var i=Date,s=i.now();t.unstable_now=function(){return i.now()-s}}var c=[],f=[],d=1,p=null,h=3,y=!1,g=!1,b=!1,_="function"==typeof setTimeout?setTimeout:null,v="function"==typeof clearTimeout?clearTimeout:null,m="undefined"!=typeof setImmediate?setImmediate:null;function P(e){for(var t=n(f);null!==t;){if(null===t.callback)o(f);else if(t.startTime<=e)o(f),t.sortIndex=t.expirationTime,r(c,t);else break;t=n(f)}}function E(e){if(b=!1,P(e),!g){if(null!==n(c))g=!0,A();else{var t=n(f);null!==t&&C(E,t.startTime-e)}}}var O=!1,R=-1,S=5,j=-1;function w(){return!(t.unstable_now()-je&&w());){var l=p.callback;if("function"==typeof l){p.callback=null,h=p.priorityLevel;var i=l(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof i){p.callback=i,P(e),r=!0;break t}p===n(c)&&o(c),P(e)}else o(c);p=n(c)}if(null!==p)r=!0;else{var s=n(f);null!==s&&C(E,s.startTime-e),r=!1}}break e}finally{p=null,h=a,y=!1}r=void 0}}finally{r?u():O=!1}}}if("function"==typeof m)u=function(){m(T)};else if("undefined"!=typeof MessageChannel){var M=new MessageChannel,x=M.port2;M.port1.onmessage=T,u=function(){x.postMessage(null)}}else u=function(){_(T,0)};function A(){O||(O=!0,u())}function C(e,r){R=_(function(){e(t.unstable_now())},r)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){g||y||(g=!0,A())},t.unstable_forceFrameRate=function(e){0>e||125u?(e.sortIndex=a,r(f,e),null===n(c)&&e===n(f)&&(b?(v(R),R=-1):b=!0,C(E,a-u))):(e.sortIndex=l,r(c,e),g||y||(g=!0,A())),e},t.unstable_shouldYield=w,t.unstable_wrapCallback=function(e){var t=h;return function(){var r=h;h=t;try{return e.apply(this,arguments)}finally{h=r}}}},1507:(e,t,r)=>{"use strict";e.exports=r(576)},7515:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicUsageError",{enumerable:!0,get:function(){return l}});let n=r(406),o=r(3719),a=r(179),u=r(6378),l=e=>(0,n.isDynamicServerError)(e)||(0,o.isBailoutToCSRError)(e)||(0,a.isNextRouterError)(e)||(0,u.isDynamicPostpone)(e)},9762:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return a}});let n=r(9844);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function a(e){return o(e)?e:Error((0,n.isPlainObject)(e)?function(e){let t=new WeakSet;return JSON.stringify(e,(e,r)=>{if("object"==typeof r&&null!==r){if(t.has(r))return"[Circular]";t.add(r)}return r})}(e):e+"")}},6213:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{MetadataBoundary:function(){return a},OutletBoundary:function(){return l},ViewportBoundary:function(){return u}});let n=r(740),o={[n.METADATA_BOUNDARY_NAME]:function(e){let{children:t}=e;return t},[n.VIEWPORT_BOUNDARY_NAME]:function(e){let{children:t}=e;return t},[n.OUTLET_BOUNDARY_NAME]:function(e){let{children:t}=e;return t}},a=o[n.METADATA_BOUNDARY_NAME.slice(0)],u=o[n.VIEWPORT_BOUNDARY_NAME.slice(0)],l=o[n.OUTLET_BOUNDARY_NAME.slice(0)]},740:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{METADATA_BOUNDARY_NAME:function(){return r},OUTLET_BOUNDARY_NAME:function(){return o},VIEWPORT_BOUNDARY_NAME:function(){return n}});let r="__next_metadata_boundary__",n="__next_viewport_boundary__",o="__next_outlet_boundary__"},2301:(e,t,r)=>{"use strict";var n=r(2818);Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{atLeastOneTask:function(){return u},scheduleImmediate:function(){return a},scheduleOnNextTick:function(){return o},waitAtLeastOneReactRenderTask:function(){return l}});let o=e=>{Promise.resolve().then(()=>{n.nextTick(e)})},a=e=>{setImmediate(e)};function u(){return new Promise(e=>a(e))}function l(){return new Promise(e=>setImmediate(e))}},9126:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"actionAsyncStorage",{enumerable:!0,get:function(){return n.actionAsyncStorageInstance}});let n=r(2075)},4117:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"afterTaskAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(3664).createAsyncLocalStorage)()},8140:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"afterTaskAsyncStorage",{enumerable:!0,get:function(){return n.afterTaskAsyncStorageInstance}});let n=r(4117)},3664:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{bindSnapshot:function(){return u},createAsyncLocalStorage:function(){return a},createSnapshot:function(){return l}});let r=Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available");class n{disable(){throw r}getStore(){}run(){throw r}exit(){throw r}enterWith(){throw r}static bind(e){return e}}let o="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function a(){return o?new o:new n}function u(e){return o?o.bind(e):n.bind(e)}function l(){return o?o.snapshot():function(e,...t){return e(...t)}}},6378:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{Postpone:function(){return O},abortAndThrowOnSynchronousRequestDataAccess:function(){return P},abortOnSynchronousPlatformIOAccess:function(){return v},accessedDynamicData:function(){return A},annotateDynamicAccess:function(){return U},consumeDynamicAccess:function(){return C},createDynamicTrackingState:function(){return f},createDynamicValidationState:function(){return d},createPostponedAbortSignal:function(){return N},formatDynamicAPIAccesses:function(){return k},getFirstDynamicReason:function(){return p},isDynamicPostpone:function(){return j},isPrerenderInterruptedError:function(){return x},markCurrentScopeAsDynamic:function(){return h},postponeWithTracking:function(){return R},throwIfDisallowedDynamic:function(){return W},throwToInterruptStaticGeneration:function(){return g},trackAllowedDynamicAccess:function(){return B},trackDynamicDataInDynamicRender:function(){return b},trackFallbackParamAccessed:function(){return y},trackSynchronousPlatformIOAccessInDev:function(){return m},trackSynchronousRequestDataAccessInDev:function(){return E},useDynamicRouteParams:function(){return I}});let n=function(e){return e&&e.__esModule?e:{default:e}}(r(2115)),o=r(406),a=r(6830),u=r(5938),l=r(5861),i=r(3649),s=r(740),c="function"==typeof n.default.unstable_postpone;function f(e){return{isDebugDynamicAccesses:e,dynamicAccesses:[],syncDynamicExpression:void 0,syncDynamicErrorWithStack:null}}function d(){return{hasSuspendedDynamic:!1,hasDynamicMetadata:!1,hasDynamicViewport:!1,hasSyncDynamicErrors:!1,dynamicErrors:[]}}function p(e){var t;return null==(t=e.dynamicAccesses[0])?void 0:t.expression}function h(e,t,r){if((!t||"cache"!==t.type&&"unstable-cache"!==t.type)&&!e.forceDynamic&&!e.forceStatic){if(e.dynamicShouldError)throw new a.StaticGenBailoutError(`Route ${e.route} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${r}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(t){if("prerender-ppr"===t.type)R(e.route,r,t.dynamicTracking);else if("prerender-legacy"===t.type){t.revalidate=0;let n=new o.DynamicServerError(`Route ${e.route} couldn't be rendered statically because it used ${r}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw e.dynamicUsageDescription=r,e.dynamicUsageStack=n.stack,n}}}}function y(e,t){let r=u.workUnitAsyncStorage.getStore();r&&"prerender-ppr"===r.type&&R(e.route,t,r.dynamicTracking)}function g(e,t,r){let n=new o.DynamicServerError(`Route ${t.route} couldn't be rendered statically because it used \`${e}\`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw r.revalidate=0,t.dynamicUsageDescription=e,t.dynamicUsageStack=n.stack,n}function b(e,t){t&&"cache"!==t.type&&"unstable-cache"!==t.type&&("prerender"===t.type||"prerender-legacy"===t.type)&&(t.revalidate=0)}function _(e,t,r){let n=M(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`);r.controller.abort(n);let o=r.dynamicTracking;o&&o.dynamicAccesses.push({stack:o.isDebugDynamicAccesses?Error().stack:void 0,expression:t})}function v(e,t,r,n){let o=n.dynamicTracking;return o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicExpression=t,o.syncDynamicErrorWithStack=r),_(e,t,n)}function m(e){e.prerenderPhase=!1}function P(e,t,r,n){let o=n.dynamicTracking;throw o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicExpression=t,o.syncDynamicErrorWithStack=r,!0===n.validating&&(o.syncDynamicLogged=!0)),_(e,t,n),M(`Route ${e} needs to bail out of prerendering at this point because it used ${t}.`)}let E=m;function O({reason:e,route:t}){let r=u.workUnitAsyncStorage.getStore();R(t,e,r&&"prerender-ppr"===r.type?r.dynamicTracking:null)}function R(e,t,r){D(),r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:t}),n.default.unstable_postpone(S(e,t))}function S(e,t){return`Route ${e} needs to bail out of prerendering at this point because it used ${t}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`}function j(e){return"object"==typeof e&&null!==e&&"string"==typeof e.message&&w(e.message)}function w(e){return e.includes("needs to bail out of prerendering at this point because it used")&&e.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===w(S("%%%","^^^")))throw Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js");let T="NEXT_PRERENDER_INTERRUPTED";function M(e){let t=Error(e);return t.digest=T,t}function x(e){return"object"==typeof e&&null!==e&&e.digest===T&&"name"in e&&"message"in e&&e instanceof Error}function A(e){return e.length>0}function C(e,t){return e.dynamicAccesses.push(...t.dynamicAccesses),e.dynamicAccesses}function k(e){return e.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(({expression:e,stack:t})=>(t=t.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" ()")||e.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${e}: -${t}`))}function D(){if(!c)throw Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js")}function N(e){D();let t=new AbortController;try{n.default.unstable_postpone(e)}catch(e){t.abort(e)}return t.signal}function U(e,t){let r=t.dynamicTracking;r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:e})}function I(e){if("undefined"==typeof window){let t=l.workAsyncStorage.getStore();if(t&&t.isStaticGeneration&&t.fallbackRouteParams&&t.fallbackRouteParams.size>0){let r=u.workUnitAsyncStorage.getStore();r&&("prerender"===r.type?n.default.use((0,i.makeHangingPromise)(r.renderSignal,e)):"prerender-ppr"===r.type?R(t.route,e,r.dynamicTracking):"prerender-legacy"===r.type&&g(e,t,r))}}}let L=/\n\s+at Suspense \(\)/,H=RegExp(`\\n\\s+at ${s.METADATA_BOUNDARY_NAME}[\\n\\s]`),F=RegExp(`\\n\\s+at ${s.VIEWPORT_BOUNDARY_NAME}[\\n\\s]`),$=RegExp(`\\n\\s+at ${s.OUTLET_BOUNDARY_NAME}[\\n\\s]`);function B(e,t,r,n,o){if(!$.test(t)){if(H.test(t)){r.hasDynamicMetadata=!0;return}if(F.test(t)){r.hasDynamicViewport=!0;return}if(L.test(t)){r.hasSuspendedDynamic=!0;return}if(n.syncDynamicErrorWithStack||o.syncDynamicErrorWithStack){r.hasSyncDynamicErrors=!0;return}else{let n=function(e,t){let r=Error(e);return r.stack="Error: "+e+t,r}(`Route "${e}": A component accessed data, headers, params, searchParams, or a short-lived cache without a Suspense boundary nor a "use cache" above it. We don't have the exact line number added to error messages yet but you can see which component in the stack below. See more info: https://nextjs.org/docs/messages/next-prerender-missing-suspense`,t);r.dynamicErrors.push(n);return}}}function W(e,t,r,n){let o,u,l;if(r.syncDynamicErrorWithStack?(o=r.syncDynamicErrorWithStack,u=r.syncDynamicExpression,l=!0===r.syncDynamicLogged):n.syncDynamicErrorWithStack?(o=n.syncDynamicErrorWithStack,u=n.syncDynamicExpression,l=!0===n.syncDynamicLogged):(o=null,u=void 0,l=!1),t.hasSyncDynamicErrors&&o)throw l||console.error(o),new a.StaticGenBailoutError;let i=t.dynamicErrors;if(i.length){for(let e=0;e{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentParam",{enumerable:!0,get:function(){return o}});let n=r(8456);function o(e){let t=n.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t));return(t&&(e=e.slice(t.length)),e.startsWith("[[...")&&e.endsWith("]]"))?{type:"optional-catchall",param:e.slice(5,-2)}:e.startsWith("[...")&&e.endsWith("]")?{type:t?"catchall-intercepted":"catchall",param:e.slice(4,-1)}:e.startsWith("[")&&e.endsWith("]")?{type:t?"dynamic-intercepted":"dynamic",param:e.slice(1,-1)}:null}},5861:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorage",{enumerable:!0,get:function(){return n.workAsyncStorageInstance}});let n=r(7828)},5938:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getExpectedRequestStore:function(){return o},getPrerenderResumeDataCache:function(){return a},getRenderResumeDataCache:function(){return u},workUnitAsyncStorage:function(){return n.workUnitAsyncStorageInstance}});let n=r(4931);function o(e){let t=n.workUnitAsyncStorageInstance.getStore();if(t){if("request"===t.type)return t;if("prerender"===t.type||"prerender-ppr"===t.type||"prerender-legacy"===t.type)throw Error(`\`${e}\` cannot be called inside a prerender. This is a bug in Next.js.`);if("cache"===t.type)throw Error(`\`${e}\` cannot be called inside "use cache". Call it outside and pass an argument instead. Read more: https://nextjs.org/docs/messages/next-request-in-use-cache`);if("unstable-cache"===t.type)throw Error(`\`${e}\` cannot be called inside unstable_cache. Call it outside and pass an argument instead. Read more: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`)}throw Error(`\`${e}\` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context`)}function a(e){return"prerender"===e.type||"prerender-ppr"===e.type?e.prerenderResumeDataCache:null}function u(e){return"prerender-legacy"!==e.type&&"cache"!==e.type&&"unstable-cache"!==e.type?"request"===e.type?e.renderResumeDataCache:e.prerenderResumeDataCache:null}},6431:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createDedupedByCallsiteServerErrorLoggerDev",{enumerable:!0,get:function(){return i}});let n=function(e,t){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=o(void 0);if(r&&r.has(e))return r.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=a?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(n,u,l):n[u]=e[u]}return n.default=e,r&&r.set(e,n),n}(r(2115));function o(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(o=function(e){return e?r:t})(e)}let a={current:null},u="function"==typeof n.cache?n.cache:e=>e,l=console.warn;function i(e){return function(...t){l(e(...t))}}u(e=>{try{l(a.current)}finally{a.current=null}})},3649:(e,t)=>{"use strict";function r(e,t){let r=new Promise((r,n)=>{e.addEventListener("abort",()=>{n(Error(`During prerendering, ${t} rejects when the prerender is complete. Typically these errors are handled by React but if you move ${t} to a different context by using \`setTimeout\`, \`after\`, or similar functions you may observe this error and you should handle it in that context.`))},{once:!0})});return r.catch(n),r}function n(){}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"makeHangingPromise",{enumerable:!0,get:function(){return r}})},8456:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return u},isInterceptionRouteAppPath:function(){return a}});let n=r(9259),o=["(..)(..)","(.)","(..)","(...)"];function a(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function u(e){let t,r,a;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,a]=e.split(r,2);break}if(!t||!r||!a)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":a="/"===t?`/${a}`:t+"/"+a;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);a=t.split("/").slice(0,-1).concat(a).join("/");break;case"(...)":a="/"+a;break;case"(..)(..)":let u=t.split("/");if(u.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);a=u.slice(0,-2).concat(a).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:a}}},4819:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isPostpone",{enumerable:!0,get:function(){return n}});let r=Symbol.for("react.postpone");function n(e){return"object"==typeof e&&null!==e&&e.$$typeof===r}},5737:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRenderParamsFromClient",{enumerable:!0,get:function(){return o}}),r(1042),r(4940);let n=r(1142);function o(e){return function(e){let t=a.get(e);if(t)return t;let r=Promise.resolve(e);return a.set(e,r),Object.keys(e).forEach(t=>{n.wellKnownProperties.has(t)||(r[t]=e[t])}),r}(e)}let a=new WeakMap},4383:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createParamsFromClient:function(){return s},createPrerenderParamsForClientSegment:function(){return p},createServerParamsForMetadata:function(){return c},createServerParamsForRoute:function(){return f},createServerParamsForServerSegment:function(){return d}}),r(1042);let n=r(6378),o=r(5938),a=r(4940),u=r(1142),l=r(3649),i=r(6431);function s(e,t){let r=o.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-ppr":case"prerender-legacy":return h(e,t,r)}return g(e)}r(2301);let c=d;function f(e,t){let r=o.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-ppr":case"prerender-legacy":return h(e,t,r)}return g(e)}function d(e,t){let r=o.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-ppr":case"prerender-legacy":return h(e,t,r)}return g(e)}function p(e,t){let r=o.workUnitAsyncStorage.getStore();if(r&&"prerender"===r.type){let n=t.fallbackRouteParams;if(n){for(let t in e)if(n.has(t))return(0,l.makeHangingPromise)(r.renderSignal,"`params`")}}return Promise.resolve(e)}function h(e,t,r){let o=t.fallbackRouteParams;if(o){let a=!1;for(let t in e)if(o.has(t)){a=!0;break}if(a)return"prerender"===r.type?function(e,t,r){let o=y.get(e);if(o)return o;let a=(0,l.makeHangingPromise)(r.renderSignal,"`params`");return y.set(e,a),Object.keys(e).forEach(e=>{u.wellKnownProperties.has(e)||Object.defineProperty(a,e,{get(){let o=(0,u.describeStringPropertyAccess)("params",e),a=b(t,o);(0,n.abortAndThrowOnSynchronousRequestDataAccess)(t,o,a,r)},set(t){Object.defineProperty(a,e,{value:t,writable:!0,enumerable:!0})},enumerable:!0,configurable:!0})}),a}(e,t.route,r):function(e,t,r,o){let a=y.get(e);if(a)return a;let l={...e},i=Promise.resolve(l);return y.set(e,i),Object.keys(e).forEach(a=>{u.wellKnownProperties.has(a)||(t.has(a)?(Object.defineProperty(l,a,{get(){let e=(0,u.describeStringPropertyAccess)("params",a);"prerender-ppr"===o.type?(0,n.postponeWithTracking)(r.route,e,o.dynamicTracking):(0,n.throwToInterruptStaticGeneration)(e,r,o)},enumerable:!0}),Object.defineProperty(i,a,{get(){let e=(0,u.describeStringPropertyAccess)("params",a);"prerender-ppr"===o.type?(0,n.postponeWithTracking)(r.route,e,o.dynamicTracking):(0,n.throwToInterruptStaticGeneration)(e,r,o)},set(e){Object.defineProperty(i,a,{value:e,writable:!0,enumerable:!0})},enumerable:!0,configurable:!0})):i[a]=e[a])}),i}(e,o,t,r)}return g(e)}let y=new WeakMap;function g(e){let t=y.get(e);if(t)return t;let r=Promise.resolve(e);return y.set(e,r),Object.keys(e).forEach(t=>{u.wellKnownProperties.has(t)||(r[t]=e[t])}),r}function b(e,t){let r=e?`Route "${e}" `:"This route ";return Error(`${r}used ${t}. \`params\` should be awaited before using its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`)}(0,i.createDedupedByCallsiteServerErrorLoggerDev)(b),(0,i.createDedupedByCallsiteServerErrorLoggerDev)(function(e,t,r){let n=e?`Route "${e}" `:"This route ";return Error(`${n}used ${t}. \`params\` should be awaited before using its properties. The following properties were not available through enumeration because they conflict with builtin property names: ${function(e){switch(e.length){case 0:throw new a.InvariantError("Expected describeListOfPropertyNames to be called with a non-empty list of strings.");case 1:return`\`${e[0]}\``;case 2:return`\`${e[0]}\` and \`${e[1]}\``;default:{let t="";for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRenderSearchParamsFromClient",{enumerable:!0,get:function(){return o}}),r(1042);let n=r(1142);function o(e){return function(e){let t=a.get(e);if(t)return t;let r=Promise.resolve(e);return a.set(e,r),Object.keys(e).forEach(t=>{n.wellKnownProperties.has(t)||(r[t]=e[t])}),r}(e)}let a=new WeakMap},2130:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createPrerenderSearchParamsForClientPage:function(){return p},createSearchParamsFromClient:function(){return c},createServerSearchParamsForMetadata:function(){return f},createServerSearchParamsForServerPage:function(){return d}});let n=r(1042),o=r(6378),a=r(5938),u=r(4940),l=r(3649),i=r(6431),s=r(1142);function c(e,t){let r=a.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-ppr":case"prerender-legacy":return h(t,r)}return y(e,t)}r(2301);let f=d;function d(e,t){let r=a.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-ppr":case"prerender-legacy":return h(t,r)}return y(e,t)}function p(e){if(e.forceStatic)return Promise.resolve({});let t=a.workUnitAsyncStorage.getStore();return t&&"prerender"===t.type?(0,l.makeHangingPromise)(t.renderSignal,"`searchParams`"):Promise.resolve({})}function h(e,t){return e.forceStatic?Promise.resolve({}):"prerender"===t.type?function(e,t){let r=g.get(t);if(r)return r;let a=(0,l.makeHangingPromise)(t.renderSignal,"`searchParams`"),u=new Proxy(a,{get(r,u,l){if(Object.hasOwn(a,u))return n.ReflectAdapter.get(r,u,l);switch(u){case"then":return(0,o.annotateDynamicAccess)("`await searchParams`, `searchParams.then`, or similar",t),n.ReflectAdapter.get(r,u,l);case"status":return(0,o.annotateDynamicAccess)("`use(searchParams)`, `searchParams.status`, or similar",t),n.ReflectAdapter.get(r,u,l);case"hasOwnProperty":case"isPrototypeOf":case"propertyIsEnumerable":case"toString":case"valueOf":case"toLocaleString":case"catch":case"finally":case"toJSON":case"$$typeof":case"__esModule":return n.ReflectAdapter.get(r,u,l);default:if("string"==typeof u){let r=(0,s.describeStringPropertyAccess)("searchParams",u),n=b(e,r);(0,o.abortAndThrowOnSynchronousRequestDataAccess)(e,r,n,t)}return n.ReflectAdapter.get(r,u,l)}},has(r,a){if("string"==typeof a){let r=(0,s.describeHasCheckingStringProperty)("searchParams",a),n=b(e,r);(0,o.abortAndThrowOnSynchronousRequestDataAccess)(e,r,n,t)}return n.ReflectAdapter.has(r,a)},ownKeys(){let r="`{...searchParams}`, `Object.keys(searchParams)`, or similar",n=b(e,r);(0,o.abortAndThrowOnSynchronousRequestDataAccess)(e,r,n,t)}});return g.set(t,u),u}(e.route,t):function(e,t){let r=g.get(e);if(r)return r;let a=Promise.resolve({}),u=new Proxy(a,{get(r,u,l){if(Object.hasOwn(a,u))return n.ReflectAdapter.get(r,u,l);switch(u){case"hasOwnProperty":case"isPrototypeOf":case"propertyIsEnumerable":case"toString":case"valueOf":case"toLocaleString":case"catch":case"finally":case"toJSON":case"$$typeof":case"__esModule":return n.ReflectAdapter.get(r,u,l);case"then":{let r="`await searchParams`, `searchParams.then`, or similar";e.dynamicShouldError?(0,s.throwWithStaticGenerationBailoutErrorWithDynamicError)(e.route,r):"prerender-ppr"===t.type?(0,o.postponeWithTracking)(e.route,r,t.dynamicTracking):(0,o.throwToInterruptStaticGeneration)(r,e,t);return}case"status":{let r="`use(searchParams)`, `searchParams.status`, or similar";e.dynamicShouldError?(0,s.throwWithStaticGenerationBailoutErrorWithDynamicError)(e.route,r):"prerender-ppr"===t.type?(0,o.postponeWithTracking)(e.route,r,t.dynamicTracking):(0,o.throwToInterruptStaticGeneration)(r,e,t);return}default:if("string"==typeof u){let r=(0,s.describeStringPropertyAccess)("searchParams",u);e.dynamicShouldError?(0,s.throwWithStaticGenerationBailoutErrorWithDynamicError)(e.route,r):"prerender-ppr"===t.type?(0,o.postponeWithTracking)(e.route,r,t.dynamicTracking):(0,o.throwToInterruptStaticGeneration)(r,e,t)}return n.ReflectAdapter.get(r,u,l)}},has(r,a){if("string"==typeof a){let r=(0,s.describeHasCheckingStringProperty)("searchParams",a);return e.dynamicShouldError?(0,s.throwWithStaticGenerationBailoutErrorWithDynamicError)(e.route,r):"prerender-ppr"===t.type?(0,o.postponeWithTracking)(e.route,r,t.dynamicTracking):(0,o.throwToInterruptStaticGeneration)(r,e,t),!1}return n.ReflectAdapter.has(r,a)},ownKeys(){let r="`{...searchParams}`, `Object.keys(searchParams)`, or similar";e.dynamicShouldError?(0,s.throwWithStaticGenerationBailoutErrorWithDynamicError)(e.route,r):"prerender-ppr"===t.type?(0,o.postponeWithTracking)(e.route,r,t.dynamicTracking):(0,o.throwToInterruptStaticGeneration)(r,e,t)}});return g.set(e,u),u}(e,t)}function y(e,t){return t.forceStatic?Promise.resolve({}):function(e,t){let r=g.get(e);if(r)return r;let n=Promise.resolve(e);return g.set(e,n),Object.keys(e).forEach(r=>{switch(r){case"hasOwnProperty":case"isPrototypeOf":case"propertyIsEnumerable":case"toString":case"valueOf":case"toLocaleString":case"then":case"catch":case"finally":case"status":case"toJSON":case"$$typeof":case"__esModule":break;default:Object.defineProperty(n,r,{get(){let n=a.workUnitAsyncStorage.getStore();return(0,o.trackDynamicDataInDynamicRender)(t,n),e[r]},set(e){Object.defineProperty(n,r,{value:e,writable:!0,enumerable:!0})},enumerable:!0,configurable:!0})}}),n}(e,t)}let g=new WeakMap;function b(e,t){let r=e?`Route "${e}" `:"This route ";return Error(`${r}used ${t}. \`searchParams\` should be awaited before using its properties. Learn more: https://nextjs.org/docs/messages/sync-dynamic-apis`)}(0,i.createDedupedByCallsiteServerErrorLoggerDev)(b),(0,i.createDedupedByCallsiteServerErrorLoggerDev)(function(e,t,r){let n=e?`Route "${e}" `:"This route ";return Error(`${n}used ${t}. \`searchParams\` should be awaited before using its properties. The following properties were not available through enumeration because they conflict with builtin or well-known property names: ${function(e){switch(e.length){case 0:throw new u.InvariantError("Expected describeListOfPropertyNames to be called with a non-empty list of strings.");case 1:return`\`${e[0]}\``;case 2:return`\`${e[0]}\` and \`${e[1]}\``;default:{let t="";for(let r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{describeHasCheckingStringProperty:function(){return l},describeStringPropertyAccess:function(){return u},isRequestAPICallableInsideAfter:function(){return c},throwWithStaticGenerationBailoutError:function(){return i},throwWithStaticGenerationBailoutErrorWithDynamicError:function(){return s},wellKnownProperties:function(){return f}});let n=r(6830),o=r(8140),a=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function u(e,t){return a.test(t)?`\`${e}.${t}\``:`\`${e}[${JSON.stringify(t)}]\``}function l(e,t){let r=JSON.stringify(t);return`\`Reflect.has(${e}, ${r})\`, \`${r} in ${e}\`, or similar`}function i(e,t){throw new n.StaticGenBailoutError(`Route ${e} couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`)}function s(e,t){throw new n.StaticGenBailoutError(`Route ${e} with \`dynamic = "error"\` couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`)}function c(){let e=o.afterTaskAsyncStorage.getStore();return(null==e?void 0:e.rootTaskSpawnPhase)==="action"}let f=new Set(["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toString","valueOf","toLocaleString","then","catch","finally","status","displayName","toJSON","$$typeof","__esModule"])},1042:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ReflectAdapter",{enumerable:!0,get:function(){return r}});class r{static get(e,t,r){let n=Reflect.get(e,t,r);return"function"==typeof n?n.bind(e):n}static set(e,t,r,n){return Reflect.set(e,t,r,n)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}},1394:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return u},LayoutRouterContext:function(){return a},MissingSlotContext:function(){return i},TemplateContext:function(){return l}});let n=r(306)._(r(2115)),o=n.default.createContext(null),a=n.default.createContext(null),u=n.default.createContext(null),l=n.default.createContext(null),i=n.default.createContext(new Set)},8284:(e,t)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return r}})},1233:(e,t)=>{"use strict";function r(e){let t=5381;for(let r=0;r>>0}function n(e){return r(e).toString(36).slice(0,5)}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{djb2Hash:function(){return r},hexHash:function(){return n}})},1147:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=r(306)._(r(2115)).default.createContext({})},8703:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathParamsContext:function(){return u},PathnameContext:function(){return a},SearchParamsContext:function(){return o}});let n=r(2115),o=(0,n.createContext)(null),a=(0,n.createContext)(null),u=(0,n.createContext)(null)},4940:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"InvariantError",{enumerable:!0,get:function(){return r}});class r extends Error{constructor(e,t){super("Invariant: "+(e.endsWith(".")?e:e+".")+" This is a bug in Next.js.",t),this.name="InvariantError"}}},9844:(e,t)=>{"use strict";function r(e){return Object.prototype.toString.call(e)}function n(e){if("[object Object]"!==r(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getObjectClassLabel:function(){return r},isPlainObject:function(){return n}})},2707:(e,t)=>{"use strict";function r(e){return null!==e&&"object"==typeof e&&"then"in e&&"function"==typeof e.then}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isThenable",{enumerable:!0,get:function(){return r}})},3719:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return n},isBailoutToCSRError:function(){return o}});let r="BAILOUT_TO_CLIENT_SIDE_RENDERING";class n extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}},9066:(e,t)=>{"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},6833:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createMutableActionQueue",{enumerable:!0,get:function(){return s}});let n=r(4445),o=r(1677),a=r(2115),u=r(2707);function l(e,t){null!==e.pending&&(e.pending=e.pending.next,null!==e.pending?i({actionQueue:e,action:e.pending,setState:t}):e.needsRefresh&&(e.needsRefresh=!1,e.dispatch({type:n.ACTION_REFRESH,origin:window.location.origin},t)))}async function i(e){let{actionQueue:t,action:r,setState:n}=e,o=t.state;t.pending=r;let a=r.payload,i=t.action(o,a);function s(e){r.discarded||(t.state=e,l(t,n),r.resolve(e))}(0,u.isThenable)(i)?i.then(s,e=>{l(t,n),r.reject(e)}):s(i)}function s(e){let t={state:e,dispatch:(e,r)=>(function(e,t,r){let o={resolve:r,reject:()=>{}};if(t.type!==n.ACTION_RESTORE){let e=new Promise((e,t)=>{o={resolve:e,reject:t}});(0,a.startTransition)(()=>{r(e)})}let u={payload:t,next:null,resolve:o.resolve,reject:o.reject};null===e.pending?(e.last=u,i({actionQueue:e,action:u,setState:r})):t.type===n.ACTION_NAVIGATE||t.type===n.ACTION_RESTORE?(e.pending.discarded=!0,e.last=u,e.pending.payload.type===n.ACTION_SERVER_ACTION&&(e.needsRefresh=!0),i({actionQueue:e,action:u,setState:r})):(null!==e.last&&(e.last.next=u),e.last=u)})(t,e,r),action:async(e,t)=>(0,o.reducer)(e,t),pending:null,last:null};return t}},9377:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=r(4046);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+t+r+o+a}},9259:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return a},normalizeRscURL:function(){return u}});let n=r(9066),o=r(6090);function a(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function u(e){return e.replace(/\.rsc($|\?)/,"$1")}},8344:(e,t)=>{"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},4283:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return n}});let r=/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i;function n(e){return r.test(e)}},4046:(e,t)=>{"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},8912:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=r(4046);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},1246:(e,t)=>{"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},6090:(e,t)=>{"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}function n(e){return e.startsWith("@")&&"@children"!==e}function o(e,t){if(e.includes(a)){let e=JSON.stringify(t);return"{}"!==e?a+"?"+e:a}return e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return u},PAGE_SEGMENT_KEY:function(){return a},addSearchParamsIfPageSegment:function(){return o},isGroupSegment:function(){return r},isParallelRouteSegment:function(){return n}});let a="__PAGE__",u="__DEFAULT__"},4125:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return a}});let n=r(9955)._(r(2115)),o=n.default.createContext(null);function a(e){let t=(0,n.useContext)(o);t&&t(e)}},2363:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},8730:(e,t,r)=>{"use strict";var n=r(2115);function o(e){var t="https://react.dev/errors/"+e;if(1{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=r(9248)},7650:(e,t,r)=>{"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=r(8730)},9062:(e,t,r)=>{"use strict";var n=r(7650),o={stream:!0},a=new Map;function u(e){var t=r(e);return"function"!=typeof t.then||"fulfilled"===t.status?null:(t.then(function(e){t.status="fulfilled",t.value=e},function(e){t.status="rejected",t.reason=e}),t)}function l(){}function i(e){for(var t=e[1],n=[],o=0;os||35===s||114===s||120===s?(c=s,s=3,l++):(c=0,s=3);continue;case 2:44===(y=u[l++])?s=4:f=f<<4|(96u.length&&(y=-1)}var g=u.byteOffset+l;if(-1{"use strict";e.exports=r(9062)},4979:(e,t,r)=>{"use strict";e.exports=r(7197)},6897:(e,t)=>{"use strict";var r=Symbol.for("react.transitional.element"),n=Symbol.for("react.fragment");function o(e,t,n){var o=null;if(void 0!==n&&(o=""+n),void 0!==t.key&&(o=""+t.key),"key"in t)for(var a in n={},t)"key"!==a&&(n[a]=t[a]);else n=t;return{$$typeof:r,type:e,key:o,ref:void 0!==(t=n.ref)?t:null,props:n}}t.Fragment=n,t.jsx=o,t.jsxs=o},1426:(e,t,r)=>{"use strict";var n=r(2818),o=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),u=Symbol.for("react.fragment"),l=Symbol.for("react.strict_mode"),i=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),h=Symbol.for("react.lazy"),y=Symbol.iterator,g={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},b=Object.assign,_={};function v(e,t,r){this.props=e,this.context=t,this.refs=_,this.updater=r||g}function m(){}function P(e,t,r){this.props=e,this.context=t,this.refs=_,this.updater=r||g}v.prototype.isReactComponent={},v.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},v.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},m.prototype=v.prototype;var E=P.prototype=new m;E.constructor=P,b(E,v.prototype),E.isPureReactComponent=!0;var O=Array.isArray,R={H:null,A:null,T:null,S:null},S=Object.prototype.hasOwnProperty;function j(e,t,r,n,a,u){return{$$typeof:o,type:e,key:t,ref:void 0!==(r=u.ref)?r:null,props:u}}function w(e){return"object"==typeof e&&null!==e&&e.$$typeof===o}var T=/\/+/g;function M(e,t){var r,n;return"object"==typeof e&&null!==e&&null!=e.key?(r=""+e.key,n={"=":"=0",":":"=2"},"$"+r.replace(/[=:]/g,function(e){return n[e]})):t.toString(36)}function x(){}function A(e,t,r){if(null==e)return e;var n=[],u=0;return!function e(t,r,n,u,l){var i,s,c,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case o:case a:d=!0;break;case h:return e((d=t._init)(t._payload),r,n,u,l)}}if(d)return l=l(t),d=""===u?"."+M(t,0):u,O(l)?(n="",null!=d&&(n=d.replace(T,"$&/")+"/"),e(l,r,n,"",function(e){return e})):null!=l&&(w(l)&&(i=l,s=n+(null==l.key||t&&t.key===l.key?"":(""+l.key).replace(T,"$&/")+"/")+d,l=j(i.type,s,void 0,void 0,void 0,i.props)),r.push(l)),1;d=0;var p=""===u?".":u+":";if(O(t))for(var g=0;g{"use strict";e.exports=r(1426)},5155:(e,t,r)=>{"use strict";e.exports=r(6897)},2075:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"actionAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(4054).createAsyncLocalStorage)()},4054:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{bindSnapshot:function(){return u},createAsyncLocalStorage:function(){return a},createSnapshot:function(){return l}});let r=Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available");class n{disable(){throw r}getStore(){}run(){throw r}exit(){throw r}enterWith(){throw r}static bind(e){return e}}let o="undefined"!=typeof globalThis&&globalThis.AsyncLocalStorage;function a(){return o?new o:new n}function u(e){return o?o.bind(e):n.bind(e)}function l(){return o?o.snapshot():function(e,...t){return e(...t)}}},7828:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(4054).createAsyncLocalStorage)()},4931:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"workUnitAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,r(4054).createAsyncLocalStorage)()},2141:(e,t,r)=>{"use strict";function n(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw TypeError("attempted to use private field on non-instance");return e}r.r(t),r.d(t,{_:()=>n})},3523:(e,t,r)=>{"use strict";r.r(t),r.d(t,{_:()=>o});var n=0;function o(e){return"__private_"+n+++"_"+e}},306:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:()=>n})},9955:(e,t,r)=>{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var l=a?Object.getOwnPropertyDescriptor(e,u):null;l&&(l.get||l.set)?Object.defineProperty(o,u,l):o[u]=e[u]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:()=>o})}}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/ae6eea6a-89606064f41da4dc.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/ae6eea6a-89606064f41da4dc.js deleted file mode 100644 index 8956a1ba..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/ae6eea6a-89606064f41da4dc.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[811],{9798:(e,t,i)=>{i.d(t,{D:()=>tE,P:()=>t7,R:()=>t6,W:()=>e6,Y:()=>e8,a2:()=>tu,a3:()=>th,a6:()=>tv,ab:()=>t_,ad:()=>tI,ae:()=>ty,g:()=>iv,p:()=>iX,s:()=>t5,z:()=>tT});var n=i(1972),r=i(6959),s=i(4075),a=i(6476),o=i(7086);function l(){return{"dependent-sdk-initialized-before-auth":"Another Firebase SDK was initialized and is trying to use Auth before Auth is initialized. Please be sure to call `initializeAuth` or `getAuth` before starting any other Firebase SDK."}}let c=new r.FA("auth","Firebase",l()),u=new s.Vy("@firebase/auth");function h(e,...t){u.logLevel<=s.$b.ERROR&&u.error(`Auth (${n.MF}): ${e}`,...t)}function d(e,...t){throw g(e,...t)}function p(e,...t){return g(e,...t)}function f(e,t,i){let n=Object.assign(Object.assign({},l()),{[t]:i});return new r.FA("auth","Firebase",n).create(t,{appName:e.name})}function m(e){return f(e,"operation-not-supported-in-this-environment","Operations that alter the current user are not supported in conjunction with FirebaseServerApp")}function g(e,...t){if("string"!=typeof e){let i=t[0],n=[...t.slice(1)];return n[0]&&(n[0].appName=e.name),e._errorFactory.create(i,...n)}return c.create(e,...t)}function v(e,t,...i){if(!e)throw g(t,...i)}function _(e){let t="INTERNAL ASSERTION FAILED: "+e;throw h(t),Error(t)}function I(){var e;return"undefined"!=typeof self&&(null===(e=self.location)||void 0===e?void 0:e.href)||""}function y(){return"http:"===w()||"https:"===w()}function w(){var e;return"undefined"!=typeof self&&(null===(e=self.location)||void 0===e?void 0:e.protocol)||null}class T{constructor(e,t){var i;this.shortDelay=e,this.longDelay=t,i="Short delay should be less than long delay!",t>e||_(i),this.isMobile=(0,r.jZ)()||(0,r.lV)()}get(){return!("undefined"!=typeof navigator&&navigator&&"onLine"in navigator&&"boolean"==typeof navigator.onLine&&(y()||(0,r.sr)()||"connection"in navigator))||navigator.onLine?this.isMobile?this.longDelay:this.shortDelay:Math.min(5e3,this.shortDelay)}}function E(e,t){var i,n;i=e.emulator,n="Emulator should always be set here",i||_(n);let{url:r}=e.emulator;return t?`${r}${t.startsWith("/")?t.slice(1):t}`:r}class k{static initialize(e,t,i){this.fetchImpl=e,t&&(this.headersImpl=t),i&&(this.responseImpl=i)}static fetch(){return this.fetchImpl?this.fetchImpl:"undefined"!=typeof self&&"fetch"in self?self.fetch:"undefined"!=typeof globalThis&&globalThis.fetch?globalThis.fetch:"undefined"!=typeof fetch?fetch:void _("Could not find fetch implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static headers(){return this.headersImpl?this.headersImpl:"undefined"!=typeof self&&"Headers"in self?self.Headers:"undefined"!=typeof globalThis&&globalThis.Headers?globalThis.Headers:"undefined"!=typeof Headers?Headers:void _("Could not find Headers implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}static response(){return this.responseImpl?this.responseImpl:"undefined"!=typeof self&&"Response"in self?self.Response:"undefined"!=typeof globalThis&&globalThis.Response?globalThis.Response:"undefined"!=typeof Response?Response:void _("Could not find Response implementation, make sure you call FetchProvider.initialize() with an appropriate polyfill")}}let S={CREDENTIAL_MISMATCH:"custom-token-mismatch",MISSING_CUSTOM_TOKEN:"internal-error",INVALID_IDENTIFIER:"invalid-email",MISSING_CONTINUE_URI:"internal-error",INVALID_PASSWORD:"wrong-password",MISSING_PASSWORD:"missing-password",INVALID_LOGIN_CREDENTIALS:"invalid-credential",EMAIL_EXISTS:"email-already-in-use",PASSWORD_LOGIN_DISABLED:"operation-not-allowed",INVALID_IDP_RESPONSE:"invalid-credential",INVALID_PENDING_TOKEN:"invalid-credential",FEDERATED_USER_ID_ALREADY_LINKED:"credential-already-in-use",MISSING_REQ_TYPE:"internal-error",EMAIL_NOT_FOUND:"user-not-found",RESET_PASSWORD_EXCEED_LIMIT:"too-many-requests",EXPIRED_OOB_CODE:"expired-action-code",INVALID_OOB_CODE:"invalid-action-code",MISSING_OOB_CODE:"internal-error",CREDENTIAL_TOO_OLD_LOGIN_AGAIN:"requires-recent-login",INVALID_ID_TOKEN:"invalid-user-token",TOKEN_EXPIRED:"user-token-expired",USER_NOT_FOUND:"user-token-expired",TOO_MANY_ATTEMPTS_TRY_LATER:"too-many-requests",PASSWORD_DOES_NOT_MEET_REQUIREMENTS:"password-does-not-meet-requirements",INVALID_CODE:"invalid-verification-code",INVALID_SESSION_INFO:"invalid-verification-id",INVALID_TEMPORARY_PROOF:"invalid-credential",MISSING_SESSION_INFO:"missing-verification-id",SESSION_EXPIRED:"code-expired",MISSING_ANDROID_PACKAGE_NAME:"missing-android-pkg-name",UNAUTHORIZED_DOMAIN:"unauthorized-continue-uri",INVALID_OAUTH_CLIENT_ID:"invalid-oauth-client-id",ADMIN_ONLY_OPERATION:"admin-restricted-operation",INVALID_MFA_PENDING_CREDENTIAL:"invalid-multi-factor-session",MFA_ENROLLMENT_NOT_FOUND:"multi-factor-info-not-found",MISSING_MFA_ENROLLMENT_ID:"missing-multi-factor-info",MISSING_MFA_PENDING_CREDENTIAL:"missing-multi-factor-session",SECOND_FACTOR_EXISTS:"second-factor-already-in-use",SECOND_FACTOR_LIMIT_EXCEEDED:"maximum-second-factor-count-exceeded",BLOCKING_FUNCTION_ERROR_RESPONSE:"internal-error",RECAPTCHA_NOT_ENABLED:"recaptcha-not-enabled",MISSING_RECAPTCHA_TOKEN:"missing-recaptcha-token",INVALID_RECAPTCHA_TOKEN:"invalid-recaptcha-token",INVALID_RECAPTCHA_ACTION:"invalid-recaptcha-action",MISSING_CLIENT_TYPE:"missing-client-type",MISSING_RECAPTCHA_VERSION:"missing-recaptcha-version",INVALID_RECAPTCHA_VERSION:"invalid-recaptcha-version",INVALID_REQ_TYPE:"invalid-req-type"},P=["/v1/accounts:signInWithCustomToken","/v1/accounts:signInWithEmailLink","/v1/accounts:signInWithIdp","/v1/accounts:signInWithPassword","/v1/accounts:signInWithPhoneNumber","/v1/token"],R=new T(3e4,6e4);function C(e,t){return e.tenantId&&!t.tenantId?Object.assign(Object.assign({},t),{tenantId:e.tenantId}):t}async function b(e,t,i,n,s={}){return O(e,s,async()=>{let s={},a={};n&&("GET"===t?a=n:s={body:JSON.stringify(n)});let o=(0,r.Am)(Object.assign({key:e.config.apiKey},a)).slice(1),l=await e._getAdditionalHeaders();l["Content-Type"]="application/json",e.languageCode&&(l["X-Firebase-Locale"]=e.languageCode);let c=Object.assign({method:t,headers:l},s);return(0,r.c1)()||(c.referrerPolicy="no-referrer"),e.emulatorConfig&&(0,r.zJ)(e.emulatorConfig.host)&&(c.credentials="include"),k.fetch()(await N(e,e.config.apiHost,i,o),c)})}async function O(e,t,i){e._canInitEmulator=!1;let n=Object.assign(Object.assign({},S),t);try{let t=new L(e),r=await Promise.race([i(),t.promise]);t.clearNetworkTimeout();let s=await r.json();if("needConfirmation"in s)throw D(e,"account-exists-with-different-credential",s);if(r.ok&&!("errorMessage"in s))return s;{let[t,i]=(r.ok?s.errorMessage:s.error.message).split(" : ");if("FEDERATED_USER_ID_ALREADY_LINKED"===t)throw D(e,"credential-already-in-use",s);if("EMAIL_EXISTS"===t)throw D(e,"email-already-in-use",s);if("USER_DISABLED"===t)throw D(e,"user-disabled",s);let a=n[t]||t.toLowerCase().replace(/[_\s]+/g,"-");if(i)throw f(e,a,i);d(e,a)}}catch(t){if(t instanceof r.g)throw t;d(e,"network-request-failed",{message:String(t)})}}async function A(e,t,i,n,r={}){let s=await b(e,t,i,n,r);return"mfaPendingCredential"in s&&d(e,"multi-factor-auth-required",{_serverResponse:s}),s}async function N(e,t,i,n){let r=`${t}${i}?${n}`,s=e.config.emulator?E(e.config,r):`${e.config.apiScheme}://${r}`;return P.includes(i)&&(await e._persistenceManagerAvailable,"COOKIE"===e._getPersistenceType())?e._getPersistence()._getFinalTarget(s).toString():s}class L{clearNetworkTimeout(){clearTimeout(this.timer)}constructor(e){this.auth=e,this.timer=null,this.promise=new Promise((e,t)=>{this.timer=setTimeout(()=>t(p(this.auth,"network-request-failed")),R.get())})}}function D(e,t,i){let n={appName:e.name};i.email&&(n.email=i.email),i.phoneNumber&&(n.phoneNumber=i.phoneNumber);let r=p(e,t,n);return r.customData._tokenResponse=i,r}function M(e){return void 0!==e&&void 0!==e.getResponse}function U(e){return void 0!==e&&void 0!==e.enterprise}class x{constructor(e){if(this.siteKey="",this.recaptchaEnforcementState=[],void 0===e.recaptchaKey)throw Error("recaptchaKey undefined");this.siteKey=e.recaptchaKey.split("/")[3],this.recaptchaEnforcementState=e.recaptchaEnforcementState}getProviderEnforcementState(e){if(!this.recaptchaEnforcementState||0===this.recaptchaEnforcementState.length)return null;for(let t of this.recaptchaEnforcementState)if(t.provider&&t.provider===e)return function(e){switch(e){case"ENFORCE":return"ENFORCE";case"AUDIT":return"AUDIT";case"OFF":return"OFF";default:return"ENFORCEMENT_STATE_UNSPECIFIED"}}(t.enforcementState);return null}isProviderEnabled(e){return"ENFORCE"===this.getProviderEnforcementState(e)||"AUDIT"===this.getProviderEnforcementState(e)}isAnyProviderEnabled(){return this.isProviderEnabled("EMAIL_PASSWORD_PROVIDER")||this.isProviderEnabled("PHONE_PROVIDER")}}async function F(e){return(await b(e,"GET","/v1/recaptchaParams")).recaptchaSiteKey||""}async function V(e,t){return b(e,"GET","/v2/recaptchaConfig",C(e,t))}async function j(e,t){return b(e,"POST","/v1/accounts:delete",t)}async function H(e,t){return b(e,"POST","/v1/accounts:lookup",t)}function W(e){if(e)try{let t=new Date(Number(e));if(!isNaN(t.getTime()))return t.toUTCString()}catch(e){}}async function z(e,t=!1){let i=(0,r.Ku)(e),n=await i.getIdToken(t),s=$(n);v(s&&s.exp&&s.auth_time&&s.iat,i.auth,"internal-error");let a="object"==typeof s.firebase?s.firebase:void 0,o=null==a?void 0:a.sign_in_provider;return{claims:s,token:n,authTime:W(K(s.auth_time)),issuedAtTime:W(K(s.iat)),expirationTime:W(K(s.exp)),signInProvider:o||null,signInSecondFactor:(null==a?void 0:a.sign_in_second_factor)||null}}function K(e){return 1e3*Number(e)}function $(e){let[t,i,n]=e.split(".");if(void 0===t||void 0===i||void 0===n)return h("JWT malformed, contained fewer than 3 sections"),null;try{let e=(0,r.u)(i);if(!e)return h("Failed to decode base64 JWT payload"),null;return JSON.parse(e)}catch(e){return h("Caught error parsing JWT payload as JSON",null==e?void 0:e.toString()),null}}function q(e){let t=$(e);return v(t,"internal-error"),v(void 0!==t.exp,"internal-error"),v(void 0!==t.iat,"internal-error"),Number(t.exp)-Number(t.iat)}async function G(e,t,i=!1){if(i)return t;try{return await t}catch(t){throw t instanceof r.g&&function({code:e}){return"auth/user-disabled"===e||"auth/user-token-expired"===e}(t)&&e.auth.currentUser===e&&await e.auth.signOut(),t}}class B{constructor(e){this.user=e,this.isRunning=!1,this.timerId=null,this.errorBackoff=3e4}_start(){this.isRunning||(this.isRunning=!0,this.schedule())}_stop(){this.isRunning&&(this.isRunning=!1,null!==this.timerId&&clearTimeout(this.timerId))}getInterval(e){var t;if(!e)return this.errorBackoff=3e4,Math.max(0,(null!==(t=this.user.stsTokenManager.expirationTime)&&void 0!==t?t:0)-Date.now()-3e5);{let e=this.errorBackoff;return this.errorBackoff=Math.min(2*this.errorBackoff,96e4),e}}schedule(e=!1){if(!this.isRunning)return;let t=this.getInterval(e);this.timerId=setTimeout(async()=>{await this.iteration()},t)}async iteration(){try{await this.user.getIdToken(!0)}catch(e){(null==e?void 0:e.code)==="auth/network-request-failed"&&this.schedule(!0);return}this.schedule()}}class J{constructor(e,t){this.createdAt=e,this.lastLoginAt=t,this._initializeTime()}_initializeTime(){this.lastSignInTime=W(this.lastLoginAt),this.creationTime=W(this.createdAt)}_copy(e){this.createdAt=e.createdAt,this.lastLoginAt=e.lastLoginAt,this._initializeTime()}toJSON(){return{createdAt:this.createdAt,lastLoginAt:this.lastLoginAt}}}async function Z(e){var t;let i=e.auth,n=await e.getIdToken(),r=await G(e,H(i,{idToken:n}));v(null==r?void 0:r.users.length,i,"internal-error");let s=r.users[0];e._notifyReloadListener(s);let a=(null===(t=s.providerUserInfo)||void 0===t?void 0:t.length)?Q(s.providerUserInfo):[],o=[...e.providerData.filter(e=>!a.some(t=>t.providerId===e.providerId)),...a],l=e.isAnonymous,c=!(e.email&&s.passwordHash)&&!(null==o?void 0:o.length);Object.assign(e,{uid:s.localId,displayName:s.displayName||null,photoURL:s.photoUrl||null,email:s.email||null,emailVerified:s.emailVerified||!1,phoneNumber:s.phoneNumber||null,tenantId:s.tenantId||null,providerData:o,metadata:new J(s.createdAt,s.lastLoginAt),isAnonymous:!!l&&c})}async function Y(e){let t=(0,r.Ku)(e);await Z(t),await t.auth._persistUserIfCurrent(t),t.auth._notifyListenersIfCurrent(t)}function Q(e){return e.map(e=>{var{providerId:t}=e,i=(0,a.Tt)(e,["providerId"]);return{providerId:t,uid:i.rawId||"",displayName:i.displayName||null,email:i.email||null,phoneNumber:i.phoneNumber||null,photoURL:i.photoUrl||null}})}async function X(e,t){let i=await O(e,{},async()=>{let i=(0,r.Am)({grant_type:"refresh_token",refresh_token:t}).slice(1),{tokenApiHost:n,apiKey:s}=e.config,a=await N(e,n,"/v1/token",`key=${s}`),o=await e._getAdditionalHeaders();o["Content-Type"]="application/x-www-form-urlencoded";let l={method:"POST",headers:o,body:i};return e.emulatorConfig&&(0,r.zJ)(e.emulatorConfig.host)&&(l.credentials="include"),k.fetch()(a,l)});return{accessToken:i.access_token,expiresIn:i.expires_in,refreshToken:i.refresh_token}}async function ee(e,t){return b(e,"POST","/v2/accounts:revokeToken",C(e,t))}class et{constructor(){this.refreshToken=null,this.accessToken=null,this.expirationTime=null}get isExpired(){return!this.expirationTime||Date.now()>this.expirationTime-3e4}updateFromServerResponse(e){v(e.idToken,"internal-error"),v(void 0!==e.idToken,"internal-error"),v(void 0!==e.refreshToken,"internal-error");let t="expiresIn"in e&&void 0!==e.expiresIn?Number(e.expiresIn):q(e.idToken);this.updateTokensAndExpiration(e.idToken,e.refreshToken,t)}updateFromIdToken(e){v(0!==e.length,"internal-error");let t=q(e);this.updateTokensAndExpiration(e,null,t)}async getToken(e,t=!1){return t||!this.accessToken||this.isExpired?(v(this.refreshToken,e,"user-token-expired"),this.refreshToken)?(await this.refresh(e,this.refreshToken),this.accessToken):null:this.accessToken}clearRefreshToken(){this.refreshToken=null}async refresh(e,t){let{accessToken:i,refreshToken:n,expiresIn:r}=await X(e,t);this.updateTokensAndExpiration(i,n,Number(r))}updateTokensAndExpiration(e,t,i){this.refreshToken=t||null,this.accessToken=e||null,this.expirationTime=Date.now()+1e3*i}static fromJSON(e,t){let{refreshToken:i,accessToken:n,expirationTime:r}=t,s=new et;return i&&(v("string"==typeof i,"internal-error",{appName:e}),s.refreshToken=i),n&&(v("string"==typeof n,"internal-error",{appName:e}),s.accessToken=n),r&&(v("number"==typeof r,"internal-error",{appName:e}),s.expirationTime=r),s}toJSON(){return{refreshToken:this.refreshToken,accessToken:this.accessToken,expirationTime:this.expirationTime}}_assign(e){this.accessToken=e.accessToken,this.refreshToken=e.refreshToken,this.expirationTime=e.expirationTime}_clone(){return Object.assign(new et,this.toJSON())}_performRefresh(){return _("not implemented")}}function ei(e,t){v("string"==typeof e||void 0===e,"internal-error",{appName:t})}class en{constructor(e){var{uid:t,auth:i,stsTokenManager:n}=e,r=(0,a.Tt)(e,["uid","auth","stsTokenManager"]);this.providerId="firebase",this.proactiveRefresh=new B(this),this.reloadUserInfo=null,this.reloadListener=null,this.uid=t,this.auth=i,this.stsTokenManager=n,this.accessToken=n.accessToken,this.displayName=r.displayName||null,this.email=r.email||null,this.emailVerified=r.emailVerified||!1,this.phoneNumber=r.phoneNumber||null,this.photoURL=r.photoURL||null,this.isAnonymous=r.isAnonymous||!1,this.tenantId=r.tenantId||null,this.providerData=r.providerData?[...r.providerData]:[],this.metadata=new J(r.createdAt||void 0,r.lastLoginAt||void 0)}async getIdToken(e){let t=await G(this,this.stsTokenManager.getToken(this.auth,e));return v(t,this.auth,"internal-error"),this.accessToken!==t&&(this.accessToken=t,await this.auth._persistUserIfCurrent(this),this.auth._notifyListenersIfCurrent(this)),t}getIdTokenResult(e){return z(this,e)}reload(){return Y(this)}_assign(e){this!==e&&(v(this.uid===e.uid,this.auth,"internal-error"),this.displayName=e.displayName,this.photoURL=e.photoURL,this.email=e.email,this.emailVerified=e.emailVerified,this.phoneNumber=e.phoneNumber,this.isAnonymous=e.isAnonymous,this.tenantId=e.tenantId,this.providerData=e.providerData.map(e=>Object.assign({},e)),this.metadata._copy(e.metadata),this.stsTokenManager._assign(e.stsTokenManager))}_clone(e){let t=new en(Object.assign(Object.assign({},this),{auth:e,stsTokenManager:this.stsTokenManager._clone()}));return t.metadata._copy(this.metadata),t}_onReload(e){v(!this.reloadListener,this.auth,"internal-error"),this.reloadListener=e,this.reloadUserInfo&&(this._notifyReloadListener(this.reloadUserInfo),this.reloadUserInfo=null)}_notifyReloadListener(e){this.reloadListener?this.reloadListener(e):this.reloadUserInfo=e}_startProactiveRefresh(){this.proactiveRefresh._start()}_stopProactiveRefresh(){this.proactiveRefresh._stop()}async _updateTokensIfNecessary(e,t=!1){let i=!1;e.idToken&&e.idToken!==this.stsTokenManager.accessToken&&(this.stsTokenManager.updateFromServerResponse(e),i=!0),t&&await Z(this),await this.auth._persistUserIfCurrent(this),i&&this.auth._notifyListenersIfCurrent(this)}async delete(){if((0,n.xZ)(this.auth.app))return Promise.reject(m(this.auth));let e=await this.getIdToken();return await G(this,j(this.auth,{idToken:e})),this.stsTokenManager.clearRefreshToken(),this.auth.signOut()}toJSON(){return Object.assign(Object.assign({uid:this.uid,email:this.email||void 0,emailVerified:this.emailVerified,displayName:this.displayName||void 0,isAnonymous:this.isAnonymous,photoURL:this.photoURL||void 0,phoneNumber:this.phoneNumber||void 0,tenantId:this.tenantId||void 0,providerData:this.providerData.map(e=>Object.assign({},e)),stsTokenManager:this.stsTokenManager.toJSON(),_redirectEventId:this._redirectEventId},this.metadata.toJSON()),{apiKey:this.auth.config.apiKey,appName:this.auth.name})}get refreshToken(){return this.stsTokenManager.refreshToken||""}static _fromJSON(e,t){var i,n,r,s,a,o,l,c;let u=null!==(i=t.displayName)&&void 0!==i?i:void 0,h=null!==(n=t.email)&&void 0!==n?n:void 0,d=null!==(r=t.phoneNumber)&&void 0!==r?r:void 0,p=null!==(s=t.photoURL)&&void 0!==s?s:void 0,f=null!==(a=t.tenantId)&&void 0!==a?a:void 0,m=null!==(o=t._redirectEventId)&&void 0!==o?o:void 0,g=null!==(l=t.createdAt)&&void 0!==l?l:void 0,_=null!==(c=t.lastLoginAt)&&void 0!==c?c:void 0,{uid:I,emailVerified:y,isAnonymous:w,providerData:T,stsTokenManager:E}=t;v(I&&E,e,"internal-error");let k=et.fromJSON(this.name,E);v("string"==typeof I,e,"internal-error"),ei(u,e.name),ei(h,e.name),v("boolean"==typeof y,e,"internal-error"),v("boolean"==typeof w,e,"internal-error"),ei(d,e.name),ei(p,e.name),ei(f,e.name),ei(m,e.name),ei(g,e.name),ei(_,e.name);let S=new en({uid:I,auth:e,email:h,emailVerified:y,displayName:u,isAnonymous:w,photoURL:p,phoneNumber:d,tenantId:f,stsTokenManager:k,createdAt:g,lastLoginAt:_});return T&&Array.isArray(T)&&(S.providerData=T.map(e=>Object.assign({},e))),m&&(S._redirectEventId=m),S}static async _fromIdTokenResponse(e,t,i=!1){let n=new et;n.updateFromServerResponse(t);let r=new en({uid:t.localId,auth:e,stsTokenManager:n,isAnonymous:i});return await Z(r),r}static async _fromGetAccountInfoResponse(e,t,i){let n=t.users[0];v(void 0!==n.localId,"internal-error");let r=void 0!==n.providerUserInfo?Q(n.providerUserInfo):[],s=!(n.email&&n.passwordHash)&&!(null==r?void 0:r.length),a=new et;a.updateFromIdToken(i);let o=new en({uid:n.localId,auth:e,stsTokenManager:a,isAnonymous:s});return Object.assign(o,{uid:n.localId,displayName:n.displayName||null,photoURL:n.photoUrl||null,email:n.email||null,emailVerified:n.emailVerified||!1,phoneNumber:n.phoneNumber||null,tenantId:n.tenantId||null,providerData:r,metadata:new J(n.createdAt,n.lastLoginAt),isAnonymous:!(n.email&&n.passwordHash)&&!(null==r?void 0:r.length)}),o}}let er=new Map;function es(e){var t,i;t="Expected a class definition",e instanceof Function||_(t);let n=er.get(e);return n?(i="Instance stored in cache mismatched with class",n instanceof e||_(i)):(n=new e,er.set(e,n)),n}class ea{constructor(){this.type="NONE",this.storage={}}async _isAvailable(){return!0}async _set(e,t){this.storage[e]=t}async _get(e){let t=this.storage[e];return void 0===t?null:t}async _remove(e){delete this.storage[e]}_addListener(e,t){}_removeListener(e,t){}}function eo(e,t,i){return`firebase:${e}:${t}:${i}`}ea.type="NONE";class el{constructor(e,t,i){this.persistence=e,this.auth=t,this.userKey=i;let{config:n,name:r}=this.auth;this.fullUserKey=eo(this.userKey,n.apiKey,r),this.fullPersistenceKey=eo("persistence",n.apiKey,r),this.boundEventHandler=t._onStorageEvent.bind(t),this.persistence._addListener(this.fullUserKey,this.boundEventHandler)}setCurrentUser(e){return this.persistence._set(this.fullUserKey,e.toJSON())}async getCurrentUser(){let e=await this.persistence._get(this.fullUserKey);if(!e)return null;if("string"==typeof e){let t=await H(this.auth,{idToken:e}).catch(()=>void 0);return t?en._fromGetAccountInfoResponse(this.auth,t,e):null}return en._fromJSON(this.auth,e)}removeCurrentUser(){return this.persistence._remove(this.fullUserKey)}savePersistenceForRedirect(){return this.persistence._set(this.fullPersistenceKey,this.persistence.type)}async setPersistence(e){if(this.persistence===e)return;let t=await this.getCurrentUser();if(await this.removeCurrentUser(),this.persistence=e,t)return this.setCurrentUser(t)}delete(){this.persistence._removeListener(this.fullUserKey,this.boundEventHandler)}static async create(e,t,i="authUser"){if(!t.length)return new el(es(ea),e,i);let n=(await Promise.all(t.map(async e=>{if(await e._isAvailable())return e}))).filter(e=>e),r=n[0]||es(ea),s=eo(i,e.config.apiKey,e.name),a=null;for(let i of t)try{let t=await i._get(s);if(t){let n;if("string"==typeof t){let i=await H(e,{idToken:t}).catch(()=>void 0);if(!i)break;n=await en._fromGetAccountInfoResponse(e,i,t)}else n=en._fromJSON(e,t);i!==r&&(a=n),r=i;break}}catch(e){}let o=n.filter(e=>e._shouldAllowMigration);return r._shouldAllowMigration&&o.length&&(r=o[0],a&&await r._set(s,a.toJSON()),await Promise.all(t.map(async e=>{if(e!==r)try{await e._remove(s)}catch(e){}}))),new el(r,e,i)}}function ec(e){let t=e.toLowerCase();if(t.includes("opera/")||t.includes("opr/")||t.includes("opios/"))return"Opera";if(ep(t))return"IEMobile";if(t.includes("msie")||t.includes("trident/"))return"IE";{if(t.includes("edge/"))return"Edge";if(eu(t))return"Firefox";if(t.includes("silk/"))return"Silk";if(em(t))return"Blackberry";if(eg(t))return"Webos";if(eh(t))return"Safari";if((t.includes("chrome/")||ed(t))&&!t.includes("edge/"))return"Chrome";if(ef(t))return"Android";let i=e.match(/([a-zA-Z\d\.]+)\/[a-zA-Z\d\.]*$/);if((null==i?void 0:i.length)===2)return i[1]}return"Other"}function eu(e=(0,r.ZQ)()){return/firefox\//i.test(e)}function eh(e=(0,r.ZQ)()){let t=e.toLowerCase();return t.includes("safari/")&&!t.includes("chrome/")&&!t.includes("crios/")&&!t.includes("android")}function ed(e=(0,r.ZQ)()){return/crios\//i.test(e)}function ep(e=(0,r.ZQ)()){return/iemobile/i.test(e)}function ef(e=(0,r.ZQ)()){return/android/i.test(e)}function em(e=(0,r.ZQ)()){return/blackberry/i.test(e)}function eg(e=(0,r.ZQ)()){return/webos/i.test(e)}function ev(e=(0,r.ZQ)()){return/iphone|ipad|ipod/i.test(e)||/macintosh/i.test(e)&&/mobile/i.test(e)}function e_(e=(0,r.ZQ)()){return ev(e)||ef(e)||eg(e)||em(e)||/windows phone/i.test(e)||ep(e)}function eI(e,t=[]){let i;switch(e){case"Browser":i=ec((0,r.ZQ)());break;case"Worker":i=`${ec((0,r.ZQ)())}-${e}`;break;default:i=e}let s=t.length?t.join(","):"FirebaseCore-web";return`${i}/JsCore/${n.MF}/${s}`}class ey{constructor(e){this.auth=e,this.queue=[]}pushCallback(e,t){let i=t=>new Promise((i,n)=>{try{let n=e(t);i(n)}catch(e){n(e)}});i.onAbort=t,this.queue.push(i);let n=this.queue.length-1;return()=>{this.queue[n]=()=>Promise.resolve()}}async runMiddleware(e){if(this.auth.currentUser===e)return;let t=[];try{for(let i of this.queue)await i(e),i.onAbort&&t.push(i.onAbort)}catch(e){for(let e of(t.reverse(),t))try{e()}catch(e){}throw this.auth._errorFactory.create("login-blocked",{originalMessage:null==e?void 0:e.message})}}}async function ew(e,t={}){return b(e,"GET","/v2/passwordPolicy",C(e,t))}class eT{constructor(e){var t,i,n,r;let s=e.customStrengthOptions;this.customStrengthOptions={},this.customStrengthOptions.minPasswordLength=null!==(t=s.minPasswordLength)&&void 0!==t?t:6,s.maxPasswordLength&&(this.customStrengthOptions.maxPasswordLength=s.maxPasswordLength),void 0!==s.containsLowercaseCharacter&&(this.customStrengthOptions.containsLowercaseLetter=s.containsLowercaseCharacter),void 0!==s.containsUppercaseCharacter&&(this.customStrengthOptions.containsUppercaseLetter=s.containsUppercaseCharacter),void 0!==s.containsNumericCharacter&&(this.customStrengthOptions.containsNumericCharacter=s.containsNumericCharacter),void 0!==s.containsNonAlphanumericCharacter&&(this.customStrengthOptions.containsNonAlphanumericCharacter=s.containsNonAlphanumericCharacter),this.enforcementState=e.enforcementState,"ENFORCEMENT_STATE_UNSPECIFIED"===this.enforcementState&&(this.enforcementState="OFF"),this.allowedNonAlphanumericCharacters=null!==(n=null===(i=e.allowedNonAlphanumericCharacters)||void 0===i?void 0:i.join(""))&&void 0!==n?n:"",this.forceUpgradeOnSignin=null!==(r=e.forceUpgradeOnSignin)&&void 0!==r&&r,this.schemaVersion=e.schemaVersion}validatePassword(e){var t,i,n,r,s,a;let o={isValid:!0,passwordPolicy:this};return this.validatePasswordLengthOptions(e,o),this.validatePasswordCharacterOptions(e,o),o.isValid&&(o.isValid=null===(t=o.meetsMinPasswordLength)||void 0===t||t),o.isValid&&(o.isValid=null===(i=o.meetsMaxPasswordLength)||void 0===i||i),o.isValid&&(o.isValid=null===(n=o.containsLowercaseLetter)||void 0===n||n),o.isValid&&(o.isValid=null===(r=o.containsUppercaseLetter)||void 0===r||r),o.isValid&&(o.isValid=null===(s=o.containsNumericCharacter)||void 0===s||s),o.isValid&&(o.isValid=null===(a=o.containsNonAlphanumericCharacter)||void 0===a||a),o}validatePasswordLengthOptions(e,t){let i=this.customStrengthOptions.minPasswordLength,n=this.customStrengthOptions.maxPasswordLength;i&&(t.meetsMinPasswordLength=e.length>=i),n&&(t.meetsMaxPasswordLength=e.length<=n)}validatePasswordCharacterOptions(e,t){let i;this.updatePasswordCharacterOptionsStatuses(t,!1,!1,!1,!1);for(let n=0;n="a"&&i<="z",i>="A"&&i<="Z",i>="0"&&i<="9",this.allowedNonAlphanumericCharacters.includes(i))}updatePasswordCharacterOptionsStatuses(e,t,i,n,r){this.customStrengthOptions.containsLowercaseLetter&&(e.containsLowercaseLetter||(e.containsLowercaseLetter=t)),this.customStrengthOptions.containsUppercaseLetter&&(e.containsUppercaseLetter||(e.containsUppercaseLetter=i)),this.customStrengthOptions.containsNumericCharacter&&(e.containsNumericCharacter||(e.containsNumericCharacter=n)),this.customStrengthOptions.containsNonAlphanumericCharacter&&(e.containsNonAlphanumericCharacter||(e.containsNonAlphanumericCharacter=r))}}class eE{constructor(e,t,i,n){this.app=e,this.heartbeatServiceProvider=t,this.appCheckServiceProvider=i,this.config=n,this.currentUser=null,this.emulatorConfig=null,this.operations=Promise.resolve(),this.authStateSubscription=new eS(this),this.idTokenSubscription=new eS(this),this.beforeStateQueue=new ey(this),this.redirectUser=null,this.isProactiveRefreshEnabled=!1,this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION=1,this._canInitEmulator=!0,this._isInitialized=!1,this._deleted=!1,this._initializationPromise=null,this._popupRedirectResolver=null,this._errorFactory=c,this._agentRecaptchaConfig=null,this._tenantRecaptchaConfigs={},this._projectPasswordPolicy=null,this._tenantPasswordPolicies={},this._resolvePersistenceManagerAvailable=void 0,this.lastNotifiedUid=void 0,this.languageCode=null,this.tenantId=null,this.settings={appVerificationDisabledForTesting:!1},this.frameworks=[],this.name=e.name,this.clientVersion=n.sdkClientVersion,this._persistenceManagerAvailable=new Promise(e=>this._resolvePersistenceManagerAvailable=e)}_initializeWithPersistence(e,t){return t&&(this._popupRedirectResolver=es(t)),this._initializationPromise=this.queue(async()=>{var i,n,r;if(!this._deleted&&(this.persistenceManager=await el.create(this,e),null===(i=this._resolvePersistenceManagerAvailable)||void 0===i||i.call(this),!this._deleted)){if(null===(n=this._popupRedirectResolver)||void 0===n?void 0:n._shouldInitProactively)try{await this._popupRedirectResolver._initialize(this)}catch(e){}await this.initializeCurrentUser(t),this.lastNotifiedUid=(null===(r=this.currentUser)||void 0===r?void 0:r.uid)||null,this._deleted||(this._isInitialized=!0)}}),this._initializationPromise}async _onStorageEvent(){if(this._deleted)return;let e=await this.assertedPersistence.getCurrentUser();if(this.currentUser||e){if(this.currentUser&&e&&this.currentUser.uid===e.uid){this._currentUser._assign(e),await this.currentUser.getIdToken();return}await this._updateCurrentUser(e,!0)}}async initializeCurrentUserFromIdToken(e){try{let t=await H(this,{idToken:e}),i=await en._fromGetAccountInfoResponse(this,t,e);await this.directlySetCurrentUser(i)}catch(e){console.warn("FirebaseServerApp could not login user with provided authIdToken: ",e),await this.directlySetCurrentUser(null)}}async initializeCurrentUser(e){var t;if((0,n.xZ)(this.app)){let e=this.app.settings.authIdToken;return e?new Promise(t=>{setTimeout(()=>this.initializeCurrentUserFromIdToken(e).then(t,t))}):this.directlySetCurrentUser(null)}let i=await this.assertedPersistence.getCurrentUser(),r=i,s=!1;if(e&&this.config.authDomain){await this.getOrInitRedirectPersistenceManager();let i=null===(t=this.redirectUser)||void 0===t?void 0:t._redirectEventId,n=null==r?void 0:r._redirectEventId,a=await this.tryRedirectSignIn(e);(!i||i===n)&&(null==a?void 0:a.user)&&(r=a.user,s=!0)}if(!r)return this.directlySetCurrentUser(null);if(!r._redirectEventId){if(s)try{await this.beforeStateQueue.runMiddleware(r)}catch(e){r=i,this._popupRedirectResolver._overrideRedirectResult(this,()=>Promise.reject(e))}return r?this.reloadAndSetCurrentUserOrClear(r):this.directlySetCurrentUser(null)}return(v(this._popupRedirectResolver,this,"argument-error"),await this.getOrInitRedirectPersistenceManager(),this.redirectUser&&this.redirectUser._redirectEventId===r._redirectEventId)?this.directlySetCurrentUser(r):this.reloadAndSetCurrentUserOrClear(r)}async tryRedirectSignIn(e){let t=null;try{t=await this._popupRedirectResolver._completeRedirectFn(this,e,!0)}catch(e){await this._setRedirectUser(null)}return t}async reloadAndSetCurrentUserOrClear(e){try{await Z(e)}catch(e){if((null==e?void 0:e.code)!=="auth/network-request-failed")return this.directlySetCurrentUser(null)}return this.directlySetCurrentUser(e)}useDeviceLanguage(){this.languageCode=function(){if("undefined"==typeof navigator)return null;let e=navigator;return e.languages&&e.languages[0]||e.language||null}()}async _delete(){this._deleted=!0}async updateCurrentUser(e){if((0,n.xZ)(this.app))return Promise.reject(m(this));let t=e?(0,r.Ku)(e):null;return t&&v(t.auth.config.apiKey===this.config.apiKey,this,"invalid-user-token"),this._updateCurrentUser(t&&t._clone(this))}async _updateCurrentUser(e,t=!1){if(!this._deleted)return e&&v(this.tenantId===e.tenantId,this,"tenant-id-mismatch"),t||await this.beforeStateQueue.runMiddleware(e),this.queue(async()=>{await this.directlySetCurrentUser(e),this.notifyAuthListeners()})}async signOut(){return(0,n.xZ)(this.app)?Promise.reject(m(this)):(await this.beforeStateQueue.runMiddleware(null),(this.redirectPersistenceManager||this._popupRedirectResolver)&&await this._setRedirectUser(null),this._updateCurrentUser(null,!0))}setPersistence(e){return(0,n.xZ)(this.app)?Promise.reject(m(this)):this.queue(async()=>{await this.assertedPersistence.setPersistence(es(e))})}_getRecaptchaConfig(){return null==this.tenantId?this._agentRecaptchaConfig:this._tenantRecaptchaConfigs[this.tenantId]}async validatePassword(e){this._getPasswordPolicyInternal()||await this._updatePasswordPolicy();let t=this._getPasswordPolicyInternal();return t.schemaVersion!==this.EXPECTED_PASSWORD_POLICY_SCHEMA_VERSION?Promise.reject(this._errorFactory.create("unsupported-password-policy-schema-version",{})):t.validatePassword(e)}_getPasswordPolicyInternal(){return null===this.tenantId?this._projectPasswordPolicy:this._tenantPasswordPolicies[this.tenantId]}async _updatePasswordPolicy(){let e=new eT(await ew(this));null===this.tenantId?this._projectPasswordPolicy=e:this._tenantPasswordPolicies[this.tenantId]=e}_getPersistenceType(){return this.assertedPersistence.persistence.type}_getPersistence(){return this.assertedPersistence.persistence}_updateErrorMap(e){this._errorFactory=new r.FA("auth","Firebase",e())}onAuthStateChanged(e,t,i){return this.registerStateListener(this.authStateSubscription,e,t,i)}beforeAuthStateChanged(e,t){return this.beforeStateQueue.pushCallback(e,t)}onIdTokenChanged(e,t,i){return this.registerStateListener(this.idTokenSubscription,e,t,i)}authStateReady(){return new Promise((e,t)=>{if(this.currentUser)e();else{let i=this.onAuthStateChanged(()=>{i(),e()},t)}})}async revokeAccessToken(e){if(this.currentUser){let t={providerId:"apple.com",tokenType:"ACCESS_TOKEN",token:e,idToken:await this.currentUser.getIdToken()};null!=this.tenantId&&(t.tenantId=this.tenantId),await ee(this,t)}}toJSON(){var e;return{apiKey:this.config.apiKey,authDomain:this.config.authDomain,appName:this.name,currentUser:null===(e=this._currentUser)||void 0===e?void 0:e.toJSON()}}async _setRedirectUser(e,t){let i=await this.getOrInitRedirectPersistenceManager(t);return null===e?i.removeCurrentUser():i.setCurrentUser(e)}async getOrInitRedirectPersistenceManager(e){if(!this.redirectPersistenceManager){let t=e&&es(e)||this._popupRedirectResolver;v(t,this,"argument-error"),this.redirectPersistenceManager=await el.create(this,[es(t._redirectPersistence)],"redirectUser"),this.redirectUser=await this.redirectPersistenceManager.getCurrentUser()}return this.redirectPersistenceManager}async _redirectUserForId(e){var t,i;return(this._isInitialized&&await this.queue(async()=>{}),(null===(t=this._currentUser)||void 0===t?void 0:t._redirectEventId)===e)?this._currentUser:(null===(i=this.redirectUser)||void 0===i?void 0:i._redirectEventId)===e?this.redirectUser:null}async _persistUserIfCurrent(e){if(e===this.currentUser)return this.queue(async()=>this.directlySetCurrentUser(e))}_notifyListenersIfCurrent(e){e===this.currentUser&&this.notifyAuthListeners()}_key(){return`${this.config.authDomain}:${this.config.apiKey}:${this.name}`}_startProactiveRefresh(){this.isProactiveRefreshEnabled=!0,this.currentUser&&this._currentUser._startProactiveRefresh()}_stopProactiveRefresh(){this.isProactiveRefreshEnabled=!1,this.currentUser&&this._currentUser._stopProactiveRefresh()}get _currentUser(){return this.currentUser}notifyAuthListeners(){var e,t;if(!this._isInitialized)return;this.idTokenSubscription.next(this.currentUser);let i=null!==(t=null===(e=this.currentUser)||void 0===e?void 0:e.uid)&&void 0!==t?t:null;this.lastNotifiedUid!==i&&(this.lastNotifiedUid=i,this.authStateSubscription.next(this.currentUser))}registerStateListener(e,t,i,n){if(this._deleted)return()=>{};let r="function"==typeof t?t:t.next.bind(t),s=!1,a=this._isInitialized?Promise.resolve():this._initializationPromise;if(v(a,this,"internal-error"),a.then(()=>{s||r(this.currentUser)}),"function"==typeof t){let r=e.addObserver(t,i,n);return()=>{s=!0,r()}}{let i=e.addObserver(t);return()=>{s=!0,i()}}}async directlySetCurrentUser(e){this.currentUser&&this.currentUser!==e&&this._currentUser._stopProactiveRefresh(),e&&this.isProactiveRefreshEnabled&&e._startProactiveRefresh(),this.currentUser=e,e?await this.assertedPersistence.setCurrentUser(e):await this.assertedPersistence.removeCurrentUser()}queue(e){return this.operations=this.operations.then(e,e),this.operations}get assertedPersistence(){return v(this.persistenceManager,this,"internal-error"),this.persistenceManager}_logFramework(e){!e||this.frameworks.includes(e)||(this.frameworks.push(e),this.frameworks.sort(),this.clientVersion=eI(this.config.clientPlatform,this._getFrameworks()))}_getFrameworks(){return this.frameworks}async _getAdditionalHeaders(){var e;let t={"X-Client-Version":this.clientVersion};this.app.options.appId&&(t["X-Firebase-gmpid"]=this.app.options.appId);let i=await (null===(e=this.heartbeatServiceProvider.getImmediate({optional:!0}))||void 0===e?void 0:e.getHeartbeatsHeader());i&&(t["X-Firebase-Client"]=i);let n=await this._getAppCheckToken();return n&&(t["X-Firebase-AppCheck"]=n),t}async _getAppCheckToken(){var e;if((0,n.xZ)(this.app)&&this.app.settings.appCheckToken)return this.app.settings.appCheckToken;let t=await (null===(e=this.appCheckServiceProvider.getImmediate({optional:!0}))||void 0===e?void 0:e.getToken());return(null==t?void 0:t.error)&&function(e,...t){u.logLevel<=s.$b.WARN&&u.warn(`Auth (${n.MF}): ${e}`,...t)}(`Error while retrieving App Check token: ${t.error}`),null==t?void 0:t.token}}function ek(e){return(0,r.Ku)(e)}class eS{constructor(e){this.auth=e,this.observer=null,this.addObserver=(0,r.tD)(e=>this.observer=e)}get next(){return v(this.observer,this.auth,"internal-error"),this.observer.next.bind(this.observer)}}let eP={async loadJS(){throw Error("Unable to load external scripts")},recaptchaV2Script:"",recaptchaEnterpriseScript:"",gapiScript:""};function eR(e){return eP.loadJS(e)}function eC(e){return`__${e}${Math.floor(1e6*Math.random())}`}class eb{constructor(e){this.auth=e,this.counter=1e12,this._widgets=new Map}render(e,t){let i=this.counter;return this._widgets.set(i,new eN(e,this.auth.name,t||{})),this.counter++,i}reset(e){var t;let i=e||1e12;null===(t=this._widgets.get(i))||void 0===t||t.delete(),this._widgets.delete(i)}getResponse(e){var t;return(null===(t=this._widgets.get(e||1e12))||void 0===t?void 0:t.getResponse())||""}async execute(e){var t;return null===(t=this._widgets.get(e||1e12))||void 0===t||t.execute(),""}}class eO{constructor(){this.enterprise=new eA}ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class eA{ready(e){e()}execute(e,t){return Promise.resolve("token")}render(e,t){return""}}class eN{constructor(e,t,i){this.params=i,this.timerId=null,this.deleted=!1,this.responseToken=null,this.clickHandler=()=>{this.execute()};let n="string"==typeof e?document.getElementById(e):e;v(n,"argument-error",{appName:t}),this.container=n,this.isVisible="invisible"!==this.params.size,this.isVisible?this.execute():this.container.addEventListener("click",this.clickHandler)}getResponse(){return this.checkIfDeleted(),this.responseToken}delete(){this.checkIfDeleted(),this.deleted=!0,this.timerId&&(clearTimeout(this.timerId),this.timerId=null),this.container.removeEventListener("click",this.clickHandler)}execute(){this.checkIfDeleted(),this.timerId||(this.timerId=window.setTimeout(()=>{this.responseToken=function(e){let t=[],i="1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";for(let e=0;e<50;e++)t.push(i.charAt(Math.floor(Math.random()*i.length)));return t.join("")}(0);let{callback:e,"expired-callback":t}=this.params;if(e)try{e(this.responseToken)}catch(e){}this.timerId=window.setTimeout(()=>{if(this.timerId=null,this.responseToken=null,t)try{t()}catch(e){}this.isVisible&&this.execute()},6e4)},500))}checkIfDeleted(){if(this.deleted)throw Error("reCAPTCHA mock was already deleted!")}}let eL="NO_RECAPTCHA";class eD{constructor(e){this.type="recaptcha-enterprise",this.auth=ek(e)}async verify(e="verify",t=!1){async function i(e){if(!t){if(null==e.tenantId&&null!=e._agentRecaptchaConfig)return e._agentRecaptchaConfig.siteKey;if(null!=e.tenantId&&void 0!==e._tenantRecaptchaConfigs[e.tenantId])return e._tenantRecaptchaConfigs[e.tenantId].siteKey}return new Promise(async(t,i)=>{V(e,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}).then(n=>{if(void 0===n.recaptchaKey)i(Error("recaptcha Enterprise site key undefined"));else{let i=new x(n);return null==e.tenantId?e._agentRecaptchaConfig=i:e._tenantRecaptchaConfigs[e.tenantId]=i,t(i.siteKey)}}).catch(e=>{i(e)})})}function n(t,i,n){let r=window.grecaptcha;U(r)?r.enterprise.ready(()=>{r.enterprise.execute(t,{action:e}).then(e=>{i(e)}).catch(()=>{i(eL)})}):n(Error("No reCAPTCHA enterprise script loaded."))}return this.auth.settings.appVerificationDisabledForTesting?new eO().execute("siteKey",{action:"verify"}):new Promise((e,r)=>{i(this.auth).then(i=>{if(!t&&U(window.grecaptcha))n(i,e,r);else{if("undefined"==typeof window){r(Error("RecaptchaVerifier is only supported in browser"));return}let t=eP.recaptchaEnterpriseScript;0!==t.length&&(t+=i),eR(t).then(()=>{n(i,e,r)}).catch(e=>{r(e)})}}).catch(e=>{r(e)})})}}async function eM(e,t,i,n=!1,r=!1){let s;let a=new eD(e);if(r)s=eL;else try{s=await a.verify(i)}catch(e){s=await a.verify(i,!0)}let o=Object.assign({},t);if("mfaSmsEnrollment"===i||"mfaSmsSignIn"===i){if("phoneEnrollmentInfo"in o){let e=o.phoneEnrollmentInfo.phoneNumber,t=o.phoneEnrollmentInfo.recaptchaToken;Object.assign(o,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:t,captchaResponse:s,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}else if("phoneSignInInfo"in o){let e=o.phoneSignInInfo.recaptchaToken;Object.assign(o,{phoneSignInInfo:{recaptchaToken:e,captchaResponse:s,clientType:"CLIENT_TYPE_WEB",recaptchaVersion:"RECAPTCHA_ENTERPRISE"}})}return o}return n?Object.assign(o,{captchaResp:s}):Object.assign(o,{captchaResponse:s}),Object.assign(o,{clientType:"CLIENT_TYPE_WEB"}),Object.assign(o,{recaptchaVersion:"RECAPTCHA_ENTERPRISE"}),o}async function eU(e,t,i,n,r){var s,a;if("EMAIL_PASSWORD_PROVIDER"===r){if(null===(s=e._getRecaptchaConfig())||void 0===s||!s.isProviderEnabled("EMAIL_PASSWORD_PROVIDER"))return n(e,t).catch(async r=>{if("auth/missing-recaptcha-token"!==r.code)return Promise.reject(r);{console.log(`${i} is protected by reCAPTCHA Enterprise for this project. Automatically triggering the reCAPTCHA flow and restarting the flow.`);let r=await eM(e,t,i,"getOobCode"===i);return n(e,r)}});{let r=await eM(e,t,i,"getOobCode"===i);return n(e,r)}}if("PHONE_PROVIDER"!==r)return Promise.reject(r+" provider is not supported.");if(null===(a=e._getRecaptchaConfig())||void 0===a?void 0:a.isProviderEnabled("PHONE_PROVIDER")){let r=await eM(e,t,i);return n(e,r).catch(async r=>{var s;if((null===(s=e._getRecaptchaConfig())||void 0===s?void 0:s.getProviderEnforcementState("PHONE_PROVIDER"))==="AUDIT"&&("auth/missing-recaptcha-token"===r.code||"auth/invalid-app-credential"===r.code)){console.log(`Failed to verify with reCAPTCHA Enterprise. Automatically triggering the reCAPTCHA v2 flow to complete the ${i} flow.`);let r=await eM(e,t,i,!1,!0);return n(e,r)}return Promise.reject(r)})}{let r=await eM(e,t,i,!1,!0);return n(e,r)}}async function ex(e){let t=ek(e),i=new x(await V(t,{clientType:"CLIENT_TYPE_WEB",version:"RECAPTCHA_ENTERPRISE"}));null==t.tenantId?t._agentRecaptchaConfig=i:t._tenantRecaptchaConfigs[t.tenantId]=i,i.isAnyProviderEnabled()&&new eD(t).verify()}function eF(e){let t=e.indexOf(":");return t<0?"":e.substr(0,t+1)}function eV(e){if(!e)return null;let t=Number(e);return isNaN(t)?null:t}class ej{constructor(e,t){this.providerId=e,this.signInMethod=t}toJSON(){return _("not implemented")}_getIdTokenResponse(e){return _("not implemented")}_linkToIdToken(e,t){return _("not implemented")}_getReauthenticationResolver(e){return _("not implemented")}}async function eH(e,t){return b(e,"POST","/v1/accounts:signUp",t)}async function eW(e,t){return A(e,"POST","/v1/accounts:signInWithPassword",C(e,t))}async function ez(e,t){return b(e,"POST","/v1/accounts:sendOobCode",C(e,t))}async function eK(e,t){return ez(e,t)}async function e$(e,t){return ez(e,t)}async function eq(e,t){return A(e,"POST","/v1/accounts:signInWithEmailLink",C(e,t))}async function eG(e,t){return A(e,"POST","/v1/accounts:signInWithEmailLink",C(e,t))}class eB extends ej{constructor(e,t,i,n=null){super("password",i),this._email=e,this._password=t,this._tenantId=n}static _fromEmailAndPassword(e,t){return new eB(e,t,"password")}static _fromEmailAndCode(e,t,i=null){return new eB(e,t,"emailLink",i)}toJSON(){return{email:this._email,password:this._password,signInMethod:this.signInMethod,tenantId:this._tenantId}}static fromJSON(e){let t="string"==typeof e?JSON.parse(e):e;if((null==t?void 0:t.email)&&(null==t?void 0:t.password)){if("password"===t.signInMethod)return this._fromEmailAndPassword(t.email,t.password);if("emailLink"===t.signInMethod)return this._fromEmailAndCode(t.email,t.password,t.tenantId)}return null}async _getIdTokenResponse(e){switch(this.signInMethod){case"password":return eU(e,{returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"},"signInWithPassword",eW,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return eq(e,{email:this._email,oobCode:this._password});default:d(e,"internal-error")}}async _linkToIdToken(e,t){switch(this.signInMethod){case"password":return eU(e,{idToken:t,returnSecureToken:!0,email:this._email,password:this._password,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",eH,"EMAIL_PASSWORD_PROVIDER");case"emailLink":return eG(e,{idToken:t,email:this._email,oobCode:this._password});default:d(e,"internal-error")}}_getReauthenticationResolver(e){return this._getIdTokenResponse(e)}}async function eJ(e,t){return A(e,"POST","/v1/accounts:signInWithIdp",C(e,t))}class eZ extends ej{constructor(){super(...arguments),this.pendingToken=null}static _fromParams(e){let t=new eZ(e.providerId,e.signInMethod);return e.idToken||e.accessToken?(e.idToken&&(t.idToken=e.idToken),e.accessToken&&(t.accessToken=e.accessToken),e.nonce&&!e.pendingToken&&(t.nonce=e.nonce),e.pendingToken&&(t.pendingToken=e.pendingToken)):e.oauthToken&&e.oauthTokenSecret?(t.accessToken=e.oauthToken,t.secret=e.oauthTokenSecret):d("argument-error"),t}toJSON(){return{idToken:this.idToken,accessToken:this.accessToken,secret:this.secret,nonce:this.nonce,pendingToken:this.pendingToken,providerId:this.providerId,signInMethod:this.signInMethod}}static fromJSON(e){let t="string"==typeof e?JSON.parse(e):e,{providerId:i,signInMethod:n}=t,r=(0,a.Tt)(t,["providerId","signInMethod"]);if(!i||!n)return null;let s=new eZ(i,n);return s.idToken=r.idToken||void 0,s.accessToken=r.accessToken||void 0,s.secret=r.secret,s.nonce=r.nonce,s.pendingToken=r.pendingToken||null,s}_getIdTokenResponse(e){return eJ(e,this.buildRequest())}_linkToIdToken(e,t){let i=this.buildRequest();return i.idToken=t,eJ(e,i)}_getReauthenticationResolver(e){let t=this.buildRequest();return t.autoCreate=!1,eJ(e,t)}buildRequest(){let e={requestUri:"http://localhost",returnSecureToken:!0};if(this.pendingToken)e.pendingToken=this.pendingToken;else{let t={};this.idToken&&(t.id_token=this.idToken),this.accessToken&&(t.access_token=this.accessToken),this.secret&&(t.oauth_token_secret=this.secret),t.providerId=this.providerId,this.nonce&&!this.pendingToken&&(t.nonce=this.nonce),e.postBody=(0,r.Am)(t)}return e}}async function eY(e,t){return b(e,"POST","/v1/accounts:sendVerificationCode",C(e,t))}async function eQ(e,t){return A(e,"POST","/v1/accounts:signInWithPhoneNumber",C(e,t))}async function eX(e,t){let i=await A(e,"POST","/v1/accounts:signInWithPhoneNumber",C(e,t));if(i.temporaryProof)throw D(e,"account-exists-with-different-credential",i);return i}let e0={USER_NOT_FOUND:"user-not-found"};async function e1(e,t){return A(e,"POST","/v1/accounts:signInWithPhoneNumber",C(e,Object.assign(Object.assign({},t),{operation:"REAUTH"})),e0)}class e2 extends ej{constructor(e){super("phone","phone"),this.params=e}static _fromVerification(e,t){return new e2({verificationId:e,verificationCode:t})}static _fromTokenResponse(e,t){return new e2({phoneNumber:e,temporaryProof:t})}_getIdTokenResponse(e){return eQ(e,this._makeVerificationRequest())}_linkToIdToken(e,t){return eX(e,Object.assign({idToken:t},this._makeVerificationRequest()))}_getReauthenticationResolver(e){return e1(e,this._makeVerificationRequest())}_makeVerificationRequest(){let{temporaryProof:e,phoneNumber:t,verificationId:i,verificationCode:n}=this.params;return e&&t?{temporaryProof:e,phoneNumber:t}:{sessionInfo:i,code:n}}toJSON(){let e={providerId:this.providerId};return this.params.phoneNumber&&(e.phoneNumber=this.params.phoneNumber),this.params.temporaryProof&&(e.temporaryProof=this.params.temporaryProof),this.params.verificationCode&&(e.verificationCode=this.params.verificationCode),this.params.verificationId&&(e.verificationId=this.params.verificationId),e}static fromJSON(e){"string"==typeof e&&(e=JSON.parse(e));let{verificationId:t,verificationCode:i,phoneNumber:n,temporaryProof:r}=e;return i||t||n||r?new e2({verificationId:t,verificationCode:i,phoneNumber:n,temporaryProof:r}):null}}class e3{constructor(e){var t,i,n,s,a,o;let l=(0,r.I9)((0,r.hp)(e)),c=null!==(t=l.apiKey)&&void 0!==t?t:null,u=null!==(i=l.oobCode)&&void 0!==i?i:null,h=function(e){switch(e){case"recoverEmail":return"RECOVER_EMAIL";case"resetPassword":return"PASSWORD_RESET";case"signIn":return"EMAIL_SIGNIN";case"verifyEmail":return"VERIFY_EMAIL";case"verifyAndChangeEmail":return"VERIFY_AND_CHANGE_EMAIL";case"revertSecondFactorAddition":return"REVERT_SECOND_FACTOR_ADDITION";default:return null}}(null!==(n=l.mode)&&void 0!==n?n:null);v(c&&u&&h,"argument-error"),this.apiKey=c,this.operation=h,this.code=u,this.continueUrl=null!==(s=l.continueUrl)&&void 0!==s?s:null,this.languageCode=null!==(a=l.lang)&&void 0!==a?a:null,this.tenantId=null!==(o=l.tenantId)&&void 0!==o?o:null}static parseLink(e){let t=function(e){let t=(0,r.I9)((0,r.hp)(e)).link,i=t?(0,r.I9)((0,r.hp)(t)).deep_link_id:null,n=(0,r.I9)((0,r.hp)(e)).deep_link_id;return(n?(0,r.I9)((0,r.hp)(n)).link:null)||n||i||t||e}(e);try{return new e3(t)}catch(e){return null}}}class e6{constructor(){this.providerId=e6.PROVIDER_ID}static credential(e,t){return eB._fromEmailAndPassword(e,t)}static credentialWithLink(e,t){let i=e3.parseLink(t);return v(i,"argument-error"),eB._fromEmailAndCode(e,i.code,i.tenantId)}}e6.PROVIDER_ID="password",e6.EMAIL_PASSWORD_SIGN_IN_METHOD="password",e6.EMAIL_LINK_SIGN_IN_METHOD="emailLink";class e4{constructor(e){this.providerId=e,this.defaultLanguageCode=null,this.customParameters={}}setDefaultLanguage(e){this.defaultLanguageCode=e}setCustomParameters(e){return this.customParameters=e,this}getCustomParameters(){return this.customParameters}}class e5 extends e4{constructor(){super(...arguments),this.scopes=[]}addScope(e){return this.scopes.includes(e)||this.scopes.push(e),this}getScopes(){return[...this.scopes]}}class e9 extends e5{constructor(){super("facebook.com")}static credential(e){return eZ._fromParams({providerId:e9.PROVIDER_ID,signInMethod:e9.FACEBOOK_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return e9.credentialFromTaggedObject(e)}static credentialFromError(e){return e9.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return e9.credential(e.oauthAccessToken)}catch(e){return null}}}e9.FACEBOOK_SIGN_IN_METHOD="facebook.com",e9.PROVIDER_ID="facebook.com";class e8 extends e5{constructor(){super("google.com"),this.addScope("profile")}static credential(e,t){return eZ._fromParams({providerId:e8.PROVIDER_ID,signInMethod:e8.GOOGLE_SIGN_IN_METHOD,idToken:e,accessToken:t})}static credentialFromResult(e){return e8.credentialFromTaggedObject(e)}static credentialFromError(e){return e8.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{oauthIdToken:t,oauthAccessToken:i}=e;if(!t&&!i)return null;try{return e8.credential(t,i)}catch(e){return null}}}e8.GOOGLE_SIGN_IN_METHOD="google.com",e8.PROVIDER_ID="google.com";class e7 extends e5{constructor(){super("github.com")}static credential(e){return eZ._fromParams({providerId:e7.PROVIDER_ID,signInMethod:e7.GITHUB_SIGN_IN_METHOD,accessToken:e})}static credentialFromResult(e){return e7.credentialFromTaggedObject(e)}static credentialFromError(e){return e7.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e||!("oauthAccessToken"in e)||!e.oauthAccessToken)return null;try{return e7.credential(e.oauthAccessToken)}catch(e){return null}}}e7.GITHUB_SIGN_IN_METHOD="github.com",e7.PROVIDER_ID="github.com";class te extends e5{constructor(){super("twitter.com")}static credential(e,t){return eZ._fromParams({providerId:te.PROVIDER_ID,signInMethod:te.TWITTER_SIGN_IN_METHOD,oauthToken:e,oauthTokenSecret:t})}static credentialFromResult(e){return te.credentialFromTaggedObject(e)}static credentialFromError(e){return te.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{oauthAccessToken:t,oauthTokenSecret:i}=e;if(!t||!i)return null;try{return te.credential(t,i)}catch(e){return null}}}async function tt(e,t){return A(e,"POST","/v1/accounts:signUp",C(e,t))}te.TWITTER_SIGN_IN_METHOD="twitter.com",te.PROVIDER_ID="twitter.com";class ti{constructor(e){this.user=e.user,this.providerId=e.providerId,this._tokenResponse=e._tokenResponse,this.operationType=e.operationType}static async _fromIdTokenResponse(e,t,i,n=!1){return new ti({user:await en._fromIdTokenResponse(e,i,n),providerId:tn(i),_tokenResponse:i,operationType:t})}static async _forOperation(e,t,i){return await e._updateTokensIfNecessary(i,!0),new ti({user:e,providerId:tn(i),_tokenResponse:i,operationType:t})}}function tn(e){return e.providerId?e.providerId:"phoneNumber"in e?"phone":null}class tr extends r.g{constructor(e,t,i,n){var r;super(t.code,t.message),this.operationType=i,this.user=n,Object.setPrototypeOf(this,tr.prototype),this.customData={appName:e.name,tenantId:null!==(r=e.tenantId)&&void 0!==r?r:void 0,_serverResponse:t.customData._serverResponse,operationType:i}}static _fromErrorAndOperation(e,t,i,n){return new tr(e,t,i,n)}}function ts(e,t,i,n){return("reauthenticate"===t?i._getReauthenticationResolver(e):i._getIdTokenResponse(e)).catch(i=>{if("auth/multi-factor-auth-required"===i.code)throw tr._fromErrorAndOperation(e,i,t,n);throw i})}async function ta(e,t,i=!1){let n=await G(e,t._linkToIdToken(e.auth,await e.getIdToken()),i);return ti._forOperation(e,"link",n)}async function to(e,t,i){await Z(t),v(new Set(t.providerData.map(({providerId:e})=>e).filter(e=>!!e)).has(i)===e,t.auth,!1===e?"provider-already-linked":"no-such-provider")}async function tl(e,t,i=!1){let{auth:r}=e;if((0,n.xZ)(r.app))return Promise.reject(m(r));let s="reauthenticate";try{let n=await G(e,ts(r,s,t,e),i);v(n.idToken,r,"internal-error");let a=$(n.idToken);v(a,r,"internal-error");let{sub:o}=a;return v(e.uid===o,r,"user-mismatch"),ti._forOperation(e,s,n)}catch(e){throw(null==e?void 0:e.code)==="auth/user-not-found"&&d(r,"user-mismatch"),e}}async function tc(e,t,i=!1){if((0,n.xZ)(e.app))return Promise.reject(m(e));let r="signIn",s=await ts(e,r,t),a=await ti._fromIdTokenResponse(e,r,s);return i||await e._updateCurrentUser(a.user),a}async function tu(e,t){return tc(ek(e),t)}async function th(e,t){let i=(0,r.Ku)(e);return await to(!1,i,t.providerId),ta(i,t)}class td{constructor(e,t){this.factorId=e,this.uid=t.mfaEnrollmentId,this.enrollmentTime=new Date(t.enrolledAt).toUTCString(),this.displayName=t.displayName}static _fromServerResponse(e,t){return"phoneInfo"in t?tp._fromServerResponse(e,t):"totpInfo"in t?tf._fromServerResponse(e,t):d(e,"internal-error")}}class tp extends td{constructor(e){super("phone",e),this.phoneNumber=e.phoneInfo}static _fromServerResponse(e,t){return new tp(t)}}class tf extends td{constructor(e){super("totp",e)}static _fromServerResponse(e,t){return new tf(t)}}function tm(e,t,i){var n;v((null===(n=i.url)||void 0===n?void 0:n.length)>0,e,"invalid-continue-uri"),v(void 0===i.dynamicLinkDomain||i.dynamicLinkDomain.length>0,e,"invalid-dynamic-link-domain"),v(void 0===i.linkDomain||i.linkDomain.length>0,e,"invalid-hosting-link-domain"),t.continueUrl=i.url,t.dynamicLinkDomain=i.dynamicLinkDomain,t.linkDomain=i.linkDomain,t.canHandleCodeInApp=i.handleCodeInApp,i.iOS&&(v(i.iOS.bundleId.length>0,e,"missing-ios-bundle-id"),t.iOSBundleId=i.iOS.bundleId),i.android&&(v(i.android.packageName.length>0,e,"missing-android-pkg-name"),t.androidInstallApp=i.android.installApp,t.androidMinimumVersionCode=i.android.minimumVersion,t.androidPackageName=i.android.packageName)}async function tg(e){let t=ek(e);t._getPasswordPolicyInternal()&&await t._updatePasswordPolicy()}async function tv(e,t,i){let n=ek(e),r={requestType:"PASSWORD_RESET",email:t,clientType:"CLIENT_TYPE_WEB"};i&&tm(n,r,i),await eU(n,r,"getOobCode",eK,"EMAIL_PASSWORD_PROVIDER")}async function t_(e,t,i){if((0,n.xZ)(e.app))return Promise.reject(m(e));let r=ek(e),s=eU(r,{returnSecureToken:!0,email:t,password:i,clientType:"CLIENT_TYPE_WEB"},"signUpPassword",tt,"EMAIL_PASSWORD_PROVIDER"),a=await s.catch(t=>{throw"auth/password-does-not-meet-requirements"===t.code&&tg(e),t}),o=await ti._fromIdTokenResponse(r,"signIn",a);return await r._updateCurrentUser(o.user),o}async function tI(e,t,i){let n=ek(e),r={requestType:"EMAIL_SIGNIN",email:t,clientType:"CLIENT_TYPE_WEB"};v(i.handleCodeInApp,n,"argument-error"),i&&tm(n,r,i),await eU(n,r,"getOobCode",e$,"EMAIL_PASSWORD_PROVIDER")}function ty(e,t){let i=e3.parseLink(t);return(null==i?void 0:i.operation)==="EMAIL_SIGNIN"}class tw{constructor(e,t,i={}){this.isNewUser=e,this.providerId=t,this.profile=i}}function tT(e,t,i,n){return(0,r.Ku)(e).onAuthStateChanged(t,i,n)}function tE(e){return(0,r.Ku)(e).signOut()}class tk{constructor(e,t,i){this.type=e,this.credential=t,this.user=i}static _fromIdtoken(e,t){return new tk("enroll",e,t)}static _fromMfaPendingCredential(e){return new tk("signin",e)}toJSON(){return{multiFactorSession:{["enroll"===this.type?"idToken":"pendingCredential"]:this.credential}}}static fromJSON(e){var t,i;if(null==e?void 0:e.multiFactorSession){if(null===(t=e.multiFactorSession)||void 0===t?void 0:t.pendingCredential)return tk._fromMfaPendingCredential(e.multiFactorSession.pendingCredential);if(null===(i=e.multiFactorSession)||void 0===i?void 0:i.idToken)return tk._fromIdtoken(e.multiFactorSession.idToken)}return null}}class tS{constructor(e,t,i){this.session=e,this.hints=t,this.signInResolver=i}static _fromError(e,t){let i=ek(e),n=t.customData._serverResponse,r=(n.mfaInfo||[]).map(e=>td._fromServerResponse(i,e));v(n.mfaPendingCredential,i,"internal-error");let s=tk._fromMfaPendingCredential(n.mfaPendingCredential);return new tS(s,r,async e=>{let r=await e._process(i,s);delete n.mfaInfo,delete n.mfaPendingCredential;let a=Object.assign(Object.assign({},n),{idToken:r.idToken,refreshToken:r.refreshToken});switch(t.operationType){case"signIn":let o=await ti._fromIdTokenResponse(i,t.operationType,a);return await i._updateCurrentUser(o.user),o;case"reauthenticate":return v(t.user,i,"internal-error"),ti._forOperation(t.user,t.operationType,a);default:d(i,"internal-error")}})}async resolveSignIn(e){return this.signInResolver(e)}}function tP(e,t){return b(e,"POST","/v2/accounts/mfaEnrollment:start",C(e,t))}class tR{constructor(e){this.user=e,this.enrolledFactors=[],e._onReload(t=>{t.mfaInfo&&(this.enrolledFactors=t.mfaInfo.map(t=>td._fromServerResponse(e.auth,t)))})}static _fromUser(e){return new tR(e)}async getSession(){return tk._fromIdtoken(await this.user.getIdToken(),this.user)}async enroll(e,t){let i=await this.getSession(),n=await G(this.user,e._process(this.user.auth,i,t));return await this.user._updateTokensIfNecessary(n),this.user.reload()}async unenroll(e){let t="string"==typeof e?e:e.uid,i=await this.user.getIdToken();try{var n,r;let e=await G(this.user,(n=this.user.auth,r={idToken:i,mfaEnrollmentId:t},b(n,"POST","/v2/accounts/mfaEnrollment:withdraw",C(n,r))));this.enrolledFactors=this.enrolledFactors.filter(({uid:e})=>e!==t),await this.user._updateTokensIfNecessary(e),await this.user.reload()}catch(e){throw e}}}new WeakMap;let tC="__sak";class tb{constructor(e,t){this.storageRetriever=e,this.type=t}_isAvailable(){try{if(!this.storage)return Promise.resolve(!1);return this.storage.setItem(tC,"1"),this.storage.removeItem(tC),Promise.resolve(!0)}catch(e){return Promise.resolve(!1)}}_set(e,t){return this.storage.setItem(e,JSON.stringify(t)),Promise.resolve()}_get(e){let t=this.storage.getItem(e);return Promise.resolve(t?JSON.parse(t):null)}_remove(e){return this.storage.removeItem(e),Promise.resolve()}get storage(){return this.storageRetriever()}}class tO extends tb{constructor(){super(()=>window.localStorage,"LOCAL"),this.boundEventHandler=(e,t)=>this.onStorageEvent(e,t),this.listeners={},this.localCache={},this.pollTimer=null,this.fallbackToPolling=e_(),this._shouldAllowMigration=!0}forAllChangedKeys(e){for(let t of Object.keys(this.listeners)){let i=this.storage.getItem(t),n=this.localCache[t];i!==n&&e(t,n,i)}}onStorageEvent(e,t=!1){if(!e.key){this.forAllChangedKeys((e,t,i)=>{this.notifyListeners(e,i)});return}let i=e.key;t?this.detachListener():this.stopPolling();let n=()=>{let e=this.storage.getItem(i);(t||this.localCache[i]!==e)&&this.notifyListeners(i,e)},s=this.storage.getItem(i);(0,r.lT)()&&10===document.documentMode&&s!==e.newValue&&e.newValue!==e.oldValue?setTimeout(n,10):n()}notifyListeners(e,t){this.localCache[e]=t;let i=this.listeners[e];if(i)for(let e of Array.from(i))e(t?JSON.parse(t):t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(()=>{this.forAllChangedKeys((e,t,i)=>{this.onStorageEvent(new StorageEvent("storage",{key:e,oldValue:t,newValue:i}),!0)})},1e3)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}attachListener(){window.addEventListener("storage",this.boundEventHandler)}detachListener(){window.removeEventListener("storage",this.boundEventHandler)}_addListener(e,t){0===Object.keys(this.listeners).length&&(this.fallbackToPolling?this.startPolling():this.attachListener()),this.listeners[e]||(this.listeners[e]=new Set,this.localCache[e]=this.storage.getItem(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&(this.detachListener(),this.stopPolling())}async _set(e,t){await super._set(e,t),this.localCache[e]=JSON.stringify(t)}async _get(e){let t=await super._get(e);return this.localCache[e]=JSON.stringify(t),t}async _remove(e){await super._remove(e),delete this.localCache[e]}}function tA(e){var t,i;let n=e.replace(/[\\^$.*+?()[\]{}|]/g,"\\$&"),r=RegExp(`${n}=([^;]+)`);return null!==(i=null===(t=document.cookie.match(r))||void 0===t?void 0:t[1])&&void 0!==i?i:null}function tN(e){let t="http:"===window.location.protocol;return`${t?"__dev_":"__HOST-"}FIREBASE_${e.split(":")[3]}`}tO.type="LOCAL";class tL{constructor(){this.type="COOKIE",this.listenerUnsubscribes=new Map}_getFinalTarget(e){let t=new URL(`${window.location.origin}/__cookies__`);return t.searchParams.set("finalTarget",e),t}async _isAvailable(){var e;return!!("boolean"!=typeof isSecureContext||isSecureContext)&&"undefined"!=typeof navigator&&"undefined"!=typeof document&&(null===(e=navigator.cookieEnabled)||void 0===e||e)}async _set(e,t){}async _get(e){if(!this._isAvailable())return null;let t=tN(e);if(window.cookieStore){let e=await window.cookieStore.get(t);return null==e?void 0:e.value}return tA(t)}async _remove(e){if(!this._isAvailable()||!await this._get(e))return;let t=tN(e);document.cookie=`${t}=;Max-Age=34560000;Partitioned;Secure;SameSite=Strict;Path=/;Priority=High`,await fetch("/__cookies__",{method:"DELETE"}).catch(()=>void 0)}_addListener(e,t){if(!this._isAvailable())return;let i=tN(e);if(window.cookieStore){let e=e=>{let n=e.changed.find(e=>e.name===i);n&&t(n.value),e.deleted.find(e=>e.name===i)&&t(null)};return this.listenerUnsubscribes.set(t,()=>window.cookieStore.removeEventListener("change",e)),window.cookieStore.addEventListener("change",e)}let n=tA(i),r=setInterval(()=>{let e=tA(i);e!==n&&(t(e),n=e)},1e3);this.listenerUnsubscribes.set(t,()=>clearInterval(r))}_removeListener(e,t){let i=this.listenerUnsubscribes.get(t);i&&(i(),this.listenerUnsubscribes.delete(t))}}tL.type="COOKIE";class tD extends tb{constructor(){super(()=>window.sessionStorage,"SESSION")}_addListener(e,t){}_removeListener(e,t){}}tD.type="SESSION";class tM{constructor(e){this.eventTarget=e,this.handlersMap={},this.boundEventHandler=this.handleEvent.bind(this)}static _getInstance(e){let t=this.receivers.find(t=>t.isListeningto(e));if(t)return t;let i=new tM(e);return this.receivers.push(i),i}isListeningto(e){return this.eventTarget===e}async handleEvent(e){let{eventId:t,eventType:i,data:n}=e.data,r=this.handlersMap[i];if(!(null==r?void 0:r.size))return;e.ports[0].postMessage({status:"ack",eventId:t,eventType:i});let s=Array.from(r).map(async t=>t(e.origin,n)),a=await Promise.all(s.map(async e=>{try{let t=await e;return{fulfilled:!0,value:t}}catch(e){return{fulfilled:!1,reason:e}}}));e.ports[0].postMessage({status:"done",eventId:t,eventType:i,response:a})}_subscribe(e,t){0===Object.keys(this.handlersMap).length&&this.eventTarget.addEventListener("message",this.boundEventHandler),this.handlersMap[e]||(this.handlersMap[e]=new Set),this.handlersMap[e].add(t)}_unsubscribe(e,t){this.handlersMap[e]&&t&&this.handlersMap[e].delete(t),t&&0!==this.handlersMap[e].size||delete this.handlersMap[e],0===Object.keys(this.handlersMap).length&&this.eventTarget.removeEventListener("message",this.boundEventHandler)}}function tU(e="",t=10){let i="";for(let e=0;e{let l=tU("",20);s.port1.start();let c=setTimeout(()=>{o(Error("unsupported_event"))},i);r={messageChannel:s,onMessage(e){if(e.data.eventId===l)switch(e.data.status){case"ack":clearTimeout(c),n=setTimeout(()=>{o(Error("timeout"))},3e3);break;case"done":clearTimeout(n),a(e.data.response);break;default:clearTimeout(c),clearTimeout(n),o(Error("invalid_response"))}}},this.handlers.add(r),s.port1.addEventListener("message",r.onMessage),this.target.postMessage({eventType:e,eventId:l,data:t},[s.port2])}).finally(()=>{r&&this.removeMessageHandler(r)})}}function tF(){return window}function tV(){return void 0!==tF().WorkerGlobalScope&&"function"==typeof tF().importScripts}async function tj(){if(!(null==navigator?void 0:navigator.serviceWorker))return null;try{return(await navigator.serviceWorker.ready).active}catch(e){return null}}let tH="firebaseLocalStorageDb",tW="firebaseLocalStorage",tz="fbase_key";class tK{constructor(e){this.request=e}toPromise(){return new Promise((e,t)=>{this.request.addEventListener("success",()=>{e(this.request.result)}),this.request.addEventListener("error",()=>{t(this.request.error)})})}}function t$(e,t){return e.transaction([tW],t?"readwrite":"readonly").objectStore(tW)}function tq(){let e=indexedDB.open(tH,1);return new Promise((t,i)=>{e.addEventListener("error",()=>{i(e.error)}),e.addEventListener("upgradeneeded",()=>{let t=e.result;try{t.createObjectStore(tW,{keyPath:tz})}catch(e){i(e)}}),e.addEventListener("success",async()=>{let i=e.result;i.objectStoreNames.contains(tW)?t(i):(i.close(),await new tK(indexedDB.deleteDatabase(tH)).toPromise(),t(await tq()))})})}async function tG(e,t,i){return new tK(t$(e,!0).put({[tz]:t,value:i})).toPromise()}async function tB(e,t){let i=t$(e,!1).get(t),n=await new tK(i).toPromise();return void 0===n?null:n.value}function tJ(e,t){return new tK(t$(e,!0).delete(t)).toPromise()}class tZ{constructor(){this.type="LOCAL",this._shouldAllowMigration=!0,this.listeners={},this.localCache={},this.pollTimer=null,this.pendingWrites=0,this.receiver=null,this.sender=null,this.serviceWorkerReceiverAvailable=!1,this.activeServiceWorker=null,this._workerInitializationPromise=this.initializeServiceWorkerMessaging().then(()=>{},()=>{})}async _openDb(){return this.db||(this.db=await tq()),this.db}async _withRetries(e){let t=0;for(;;)try{let t=await this._openDb();return await e(t)}catch(e){if(t++>3)throw e;this.db&&(this.db.close(),this.db=void 0)}}async initializeServiceWorkerMessaging(){return tV()?this.initializeReceiver():this.initializeSender()}async initializeReceiver(){this.receiver=tM._getInstance(tV()?self:null),this.receiver._subscribe("keyChanged",async(e,t)=>({keyProcessed:(await this._poll()).includes(t.key)})),this.receiver._subscribe("ping",async(e,t)=>["keyChanged"])}async initializeSender(){var e,t;if(this.activeServiceWorker=await tj(),!this.activeServiceWorker)return;this.sender=new tx(this.activeServiceWorker);let i=await this.sender._send("ping",{},800);i&&(null===(e=i[0])||void 0===e?void 0:e.fulfilled)&&(null===(t=i[0])||void 0===t?void 0:t.value.includes("keyChanged"))&&(this.serviceWorkerReceiverAvailable=!0)}async notifyServiceWorker(e){var t;if(this.sender&&this.activeServiceWorker&&((null===(t=null==navigator?void 0:navigator.serviceWorker)||void 0===t?void 0:t.controller)||null)===this.activeServiceWorker)try{await this.sender._send("keyChanged",{key:e},this.serviceWorkerReceiverAvailable?800:50)}catch(e){}}async _isAvailable(){try{if(!indexedDB)return!1;let e=await tq();return await tG(e,tC,"1"),await tJ(e,tC),!0}catch(e){}return!1}async _withPendingWrite(e){this.pendingWrites++;try{await e()}finally{this.pendingWrites--}}async _set(e,t){return this._withPendingWrite(async()=>(await this._withRetries(i=>tG(i,e,t)),this.localCache[e]=t,this.notifyServiceWorker(e)))}async _get(e){let t=await this._withRetries(t=>tB(t,e));return this.localCache[e]=t,t}async _remove(e){return this._withPendingWrite(async()=>(await this._withRetries(t=>tJ(t,e)),delete this.localCache[e],this.notifyServiceWorker(e)))}async _poll(){let e=await this._withRetries(e=>new tK(t$(e,!1).getAll()).toPromise());if(!e||0!==this.pendingWrites)return[];let t=[],i=new Set;if(0!==e.length)for(let{fbase_key:n,value:r}of e)i.add(n),JSON.stringify(this.localCache[n])!==JSON.stringify(r)&&(this.notifyListeners(n,r),t.push(n));for(let e of Object.keys(this.localCache))this.localCache[e]&&!i.has(e)&&(this.notifyListeners(e,null),t.push(e));return t}notifyListeners(e,t){this.localCache[e]=t;let i=this.listeners[e];if(i)for(let e of Array.from(i))e(t)}startPolling(){this.stopPolling(),this.pollTimer=setInterval(async()=>this._poll(),800)}stopPolling(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)}_addListener(e,t){0===Object.keys(this.listeners).length&&this.startPolling(),this.listeners[e]||(this.listeners[e]=new Set,this._get(e)),this.listeners[e].add(t)}_removeListener(e,t){this.listeners[e]&&(this.listeners[e].delete(t),0===this.listeners[e].size&&delete this.listeners[e]),0===Object.keys(this.listeners).length&&this.stopPolling()}}function tY(e,t){return b(e,"POST","/v2/accounts/mfaSignIn:start",C(e,t))}tZ.type="LOCAL";let tQ=eC("rcb"),tX=new T(3e4,6e4);class t0{constructor(){var e;this.hostLanguage="",this.counter=0,this.librarySeparatelyLoaded=!!(null===(e=tF().grecaptcha)||void 0===e?void 0:e.render)}load(e,t=""){return(v(t.length<=6&&/^\s*[a-zA-Z0-9\-]*\s*$/.test(t),e,"argument-error"),this.shouldResolveImmediately(t)&&M(tF().grecaptcha))?Promise.resolve(tF().grecaptcha):new Promise((i,n)=>{let s=tF().setTimeout(()=>{n(p(e,"network-request-failed"))},tX.get());tF()[tQ]=()=>{tF().clearTimeout(s),delete tF()[tQ];let r=tF().grecaptcha;if(!r||!M(r)){n(p(e,"internal-error"));return}let a=r.render;r.render=(e,t)=>{let i=a(e,t);return this.counter++,i},this.hostLanguage=t,i(r)},eR(`${eP.recaptchaV2Script}?${(0,r.Am)({onload:tQ,render:"explicit",hl:t})}`).catch(()=>{clearTimeout(s),n(p(e,"internal-error"))})})}clearedOneInstance(){this.counter--}shouldResolveImmediately(e){var t;return!!(null===(t=tF().grecaptcha)||void 0===t?void 0:t.render)&&(e===this.hostLanguage||this.counter>0||this.librarySeparatelyLoaded)}}class t1{async load(e){return new eb(e)}clearedOneInstance(){}}let t2="recaptcha",t3={theme:"light",type:"image"};class t6{constructor(e,t,i=Object.assign({},t3)){this.parameters=i,this.type=t2,this.destroyed=!1,this.widgetId=null,this.tokenChangeListeners=new Set,this.renderPromise=null,this.recaptcha=null,this.auth=ek(e),this.isInvisible="invisible"===this.parameters.size,v("undefined"!=typeof document,this.auth,"operation-not-supported-in-this-environment");let n="string"==typeof t?document.getElementById(t):t;v(n,this.auth,"argument-error"),this.container=n,this.parameters.callback=this.makeTokenCallback(this.parameters.callback),this._recaptchaLoader=this.auth.settings.appVerificationDisabledForTesting?new t1:new t0,this.validateStartingState()}async verify(){this.assertNotDestroyed();let e=await this.render(),t=this.getAssertedRecaptcha();return t.getResponse(e)||new Promise(i=>{let n=e=>{e&&(this.tokenChangeListeners.delete(n),i(e))};this.tokenChangeListeners.add(n),this.isInvisible&&t.execute(e)})}render(){try{this.assertNotDestroyed()}catch(e){return Promise.reject(e)}return this.renderPromise||(this.renderPromise=this.makeRenderPromise().catch(e=>{throw this.renderPromise=null,e})),this.renderPromise}_reset(){this.assertNotDestroyed(),null!==this.widgetId&&this.getAssertedRecaptcha().reset(this.widgetId)}clear(){this.assertNotDestroyed(),this.destroyed=!0,this._recaptchaLoader.clearedOneInstance(),this.isInvisible||this.container.childNodes.forEach(e=>{this.container.removeChild(e)})}validateStartingState(){v(!this.parameters.sitekey,this.auth,"argument-error"),v(this.isInvisible||!this.container.hasChildNodes(),this.auth,"argument-error"),v("undefined"!=typeof document,this.auth,"operation-not-supported-in-this-environment")}makeTokenCallback(e){return t=>{if(this.tokenChangeListeners.forEach(e=>e(t)),"function"==typeof e)e(t);else if("string"==typeof e){let i=tF()[e];"function"==typeof i&&i(t)}}}assertNotDestroyed(){v(!this.destroyed,this.auth,"internal-error")}async makeRenderPromise(){if(await this.init(),!this.widgetId){let e=this.container;if(!this.isInvisible){let t=document.createElement("div");e.appendChild(t),e=t}this.widgetId=this.getAssertedRecaptcha().render(e,this.parameters)}return this.widgetId}async init(){let e;v(y()&&!tV(),this.auth,"internal-error"),await (e=null,new Promise(t=>{if("complete"===document.readyState){t();return}e=()=>t(),window.addEventListener("load",e)}).catch(t=>{throw e&&window.removeEventListener("load",e),t})),this.recaptcha=await this._recaptchaLoader.load(this.auth,this.auth.languageCode||void 0);let t=await F(this.auth);v(t,this.auth,"internal-error"),this.parameters.sitekey=t}getAssertedRecaptcha(){return v(this.recaptcha,this.auth,"internal-error"),this.recaptcha}}class t4{constructor(e,t){this.verificationId=e,this.onConfirmation=t}confirm(e){let t=e2._fromVerification(this.verificationId,e);return this.onConfirmation(t)}}async function t5(e,t,i){if((0,n.xZ)(e.app))return Promise.reject(m(e));let s=ek(e);return new t4(await t9(s,t,(0,r.Ku)(i)),e=>tu(s,e))}async function t9(e,t,i){var n;if(!e._getRecaptchaConfig())try{await ex(e)}catch(e){console.log("Failed to initialize reCAPTCHA Enterprise config. Triggering the reCAPTCHA v2 verification.")}try{let r;if(r="string"==typeof t?{phoneNumber:t}:t,"session"in r){let t=r.session;if("phoneNumber"in r){v("enroll"===t.type,e,"internal-error");let n={idToken:t.credential,phoneEnrollmentInfo:{phoneNumber:r.phoneNumber,clientType:"CLIENT_TYPE_WEB"}},s=async(e,t)=>{if(t.phoneEnrollmentInfo.captchaResponse===eL){v((null==i?void 0:i.type)===t2,e,"argument-error");let n=await t8(e,t,i);return tP(e,n)}return tP(e,t)},a=eU(e,n,"mfaSmsEnrollment",s,"PHONE_PROVIDER");return(await a.catch(e=>Promise.reject(e))).phoneSessionInfo.sessionInfo}{v("signin"===t.type,e,"internal-error");let s=(null===(n=r.multiFactorHint)||void 0===n?void 0:n.uid)||r.multiFactorUid;v(s,e,"missing-multi-factor-info");let a={mfaPendingCredential:t.credential,mfaEnrollmentId:s,phoneSignInInfo:{clientType:"CLIENT_TYPE_WEB"}},o=async(e,t)=>{if(t.phoneSignInInfo.captchaResponse===eL){v((null==i?void 0:i.type)===t2,e,"argument-error");let n=await t8(e,t,i);return tY(e,n)}return tY(e,t)},l=eU(e,a,"mfaSmsSignIn",o,"PHONE_PROVIDER");return(await l.catch(e=>Promise.reject(e))).phoneResponseInfo.sessionInfo}}{let t={phoneNumber:r.phoneNumber,clientType:"CLIENT_TYPE_WEB"},n=async(e,t)=>{if(t.captchaResponse===eL){v((null==i?void 0:i.type)===t2,e,"argument-error");let n=await t8(e,t,i);return eY(e,n)}return eY(e,t)},s=eU(e,t,"sendVerificationCode",n,"PHONE_PROVIDER");return(await s.catch(e=>Promise.reject(e))).sessionInfo}}finally{null==i||i._reset()}}async function t8(e,t,i){v(i.type===t2,e,"argument-error");let n=await i.verify();v("string"==typeof n,e,"argument-error");let r=Object.assign({},t);if("phoneEnrollmentInfo"in r){let e=r.phoneEnrollmentInfo.phoneNumber,t=r.phoneEnrollmentInfo.captchaResponse,i=r.phoneEnrollmentInfo.clientType,s=r.phoneEnrollmentInfo.recaptchaVersion;return Object.assign(r,{phoneEnrollmentInfo:{phoneNumber:e,recaptchaToken:n,captchaResponse:t,clientType:i,recaptchaVersion:s}}),r}if(!("phoneSignInInfo"in r))return Object.assign(r,{recaptchaToken:n}),r;{let e=r.phoneSignInInfo.captchaResponse,t=r.phoneSignInInfo.clientType,i=r.phoneSignInInfo.recaptchaVersion;return Object.assign(r,{phoneSignInInfo:{recaptchaToken:n,captchaResponse:e,clientType:t,recaptchaVersion:i}}),r}}class t7{constructor(e){this.providerId=t7.PROVIDER_ID,this.auth=ek(e)}verifyPhoneNumber(e,t){return t9(this.auth,e,(0,r.Ku)(t))}static credential(e,t){return e2._fromVerification(e,t)}static credentialFromResult(e){return t7.credentialFromTaggedObject(e)}static credentialFromError(e){return t7.credentialFromTaggedObject(e.customData||{})}static credentialFromTaggedObject({_tokenResponse:e}){if(!e)return null;let{phoneNumber:t,temporaryProof:i}=e;return t&&i?e2._fromTokenResponse(t,i):null}}function ie(e,t){return t?es(t):(v(e._popupRedirectResolver,e,"argument-error"),e._popupRedirectResolver)}t7.PROVIDER_ID="phone",t7.PHONE_SIGN_IN_METHOD="phone";class it extends ej{constructor(e){super("custom","custom"),this.params=e}_getIdTokenResponse(e){return eJ(e,this._buildIdpRequest())}_linkToIdToken(e,t){return eJ(e,this._buildIdpRequest(t))}_getReauthenticationResolver(e){return eJ(e,this._buildIdpRequest())}_buildIdpRequest(e){let t={requestUri:this.params.requestUri,sessionId:this.params.sessionId,postBody:this.params.postBody,tenantId:this.params.tenantId,pendingToken:this.params.pendingToken,returnSecureToken:!0,returnIdpCredential:!0};return e&&(t.idToken=e),t}}function ii(e){return tc(e.auth,new it(e),e.bypassAuthState)}function ir(e){let{auth:t,user:i}=e;return v(i,t,"internal-error"),tl(i,new it(e),e.bypassAuthState)}async function is(e){let{auth:t,user:i}=e;return v(i,t,"internal-error"),ta(i,new it(e),e.bypassAuthState)}class ia{constructor(e,t,i,n,r=!1){this.auth=e,this.resolver=i,this.user=n,this.bypassAuthState=r,this.pendingPromise=null,this.eventManager=null,this.filter=Array.isArray(t)?t:[t]}execute(){return new Promise(async(e,t)=>{this.pendingPromise={resolve:e,reject:t};try{this.eventManager=await this.resolver._initialize(this.auth),await this.onExecution(),this.eventManager.registerConsumer(this)}catch(e){this.reject(e)}})}async onAuthEvent(e){let{urlResponse:t,sessionId:i,postBody:n,tenantId:r,error:s,type:a}=e;if(s){this.reject(s);return}let o={auth:this.auth,requestUri:t,sessionId:i,tenantId:r||void 0,postBody:n||void 0,user:this.user,bypassAuthState:this.bypassAuthState};try{this.resolve(await this.getIdpTask(a)(o))}catch(e){this.reject(e)}}onError(e){this.reject(e)}getIdpTask(e){switch(e){case"signInViaPopup":case"signInViaRedirect":return ii;case"linkViaPopup":case"linkViaRedirect":return is;case"reauthViaPopup":case"reauthViaRedirect":return ir;default:d(this.auth,"internal-error")}}resolve(e){var t,i;t=this.pendingPromise,i="Pending promise was never set",t||_(i),this.pendingPromise.resolve(e),this.unregisterAndCleanUp()}reject(e){var t,i;t=this.pendingPromise,i="Pending promise was never set",t||_(i),this.pendingPromise.reject(e),this.unregisterAndCleanUp()}unregisterAndCleanUp(){this.eventManager&&this.eventManager.unregisterConsumer(this),this.pendingPromise=null,this.cleanUp()}}let io=new T(2e3,1e4);class il extends ia{constructor(e,t,i,n,r){super(e,t,n,r),this.provider=i,this.authWindow=null,this.pollId=null,il.currentPopupAction&&il.currentPopupAction.cancel(),il.currentPopupAction=this}async executeNotNull(){let e=await this.execute();return v(e,this.auth,"internal-error"),e}async onExecution(){var e,t;e=1===this.filter.length,t="Popup operations only handle one event",e||_(t);let i=tU();this.authWindow=await this.resolver._openPopup(this.auth,this.provider,this.filter[0],i),this.authWindow.associatedEvent=i,this.resolver._originValidation(this.auth).catch(e=>{this.reject(e)}),this.resolver._isIframeWebStorageSupported(this.auth,e=>{e||this.reject(p(this.auth,"web-storage-unsupported"))}),this.pollUserCancellation()}get eventId(){var e;return(null===(e=this.authWindow)||void 0===e?void 0:e.associatedEvent)||null}cancel(){this.reject(p(this.auth,"cancelled-popup-request"))}cleanUp(){this.authWindow&&this.authWindow.close(),this.pollId&&window.clearTimeout(this.pollId),this.authWindow=null,this.pollId=null,il.currentPopupAction=null}pollUserCancellation(){let e=()=>{var t,i;if(null===(i=null===(t=this.authWindow)||void 0===t?void 0:t.window)||void 0===i?void 0:i.closed){this.pollId=window.setTimeout(()=>{this.pollId=null,this.reject(p(this.auth,"popup-closed-by-user"))},8e3);return}this.pollId=window.setTimeout(e,io.get())};e()}}il.currentPopupAction=null;let ic=new Map;class iu extends ia{constructor(e,t,i=!1){super(e,["signInViaRedirect","linkViaRedirect","reauthViaRedirect","unknown"],t,void 0,i),this.eventId=null}async execute(){let e=ic.get(this.auth._key());if(!e){try{let t=await ih(this.resolver,this.auth)?await super.execute():null;e=()=>Promise.resolve(t)}catch(t){e=()=>Promise.reject(t)}ic.set(this.auth._key(),e)}return this.bypassAuthState||ic.set(this.auth._key(),()=>Promise.resolve(null)),e()}async onAuthEvent(e){if("signInViaRedirect"===e.type)return super.onAuthEvent(e);if("unknown"===e.type){this.resolve(null);return}if(e.eventId){let t=await this.auth._redirectUserForId(e.eventId);if(t)return this.user=t,super.onAuthEvent(e);this.resolve(null)}}async onExecution(){}cleanUp(){}}async function ih(e,t){let i=ig(t),n=im(e);if(!await n._isAvailable())return!1;let r=await n._get(i)==="true";return await n._remove(i),r}async function id(e,t){return im(e)._set(ig(t),"true")}function ip(e,t){ic.set(e._key(),t)}function im(e){return es(e._redirectPersistence)}function ig(e){return eo("pendingRedirect",e.config.apiKey,e.name)}function iv(e,t,i){return i_(e,t,i)}async function i_(e,t,i){if((0,n.xZ)(e.app))return Promise.reject(m(e));let r=ek(e);(function(e,t,i){if(!(t instanceof i))throw i.name!==t.constructor.name&&d(e,"argument-error"),f(e,"argument-error",`Type of ${t.constructor.name} does not match expected instance.Did you pass a reference from a different Auth SDK?`)})(e,t,e4),await r._initializationPromise;let s=ie(r,i);return await id(s,r),s._openRedirect(r,t,"signInViaRedirect")}async function iI(e,t,i=!1){if((0,n.xZ)(e.app))return Promise.reject(m(e));let r=ek(e),s=ie(r,t),a=new iu(r,s,i),o=await a.execute();return o&&!i&&(delete o.user._redirectEventId,await r._persistUserIfCurrent(o.user),await r._setRedirectUser(null,t)),o}class iy{constructor(e){this.auth=e,this.cachedEventUids=new Set,this.consumers=new Set,this.queuedRedirectEvent=null,this.hasHandledPotentialRedirect=!1,this.lastProcessedEventTime=Date.now()}registerConsumer(e){this.consumers.add(e),this.queuedRedirectEvent&&this.isEventForConsumer(this.queuedRedirectEvent,e)&&(this.sendToConsumer(this.queuedRedirectEvent,e),this.saveEventToCache(this.queuedRedirectEvent),this.queuedRedirectEvent=null)}unregisterConsumer(e){this.consumers.delete(e)}onEvent(e){if(this.hasEventBeenHandled(e))return!1;let t=!1;return this.consumers.forEach(i=>{this.isEventForConsumer(e,i)&&(t=!0,this.sendToConsumer(e,i),this.saveEventToCache(e))}),this.hasHandledPotentialRedirect||!function(e){switch(e.type){case"signInViaRedirect":case"linkViaRedirect":case"reauthViaRedirect":return!0;case"unknown":return iT(e);default:return!1}}(e)||(this.hasHandledPotentialRedirect=!0,t||(this.queuedRedirectEvent=e,t=!0)),t}sendToConsumer(e,t){var i;if(e.error&&!iT(e)){let n=(null===(i=e.error.code)||void 0===i?void 0:i.split("auth/")[1])||"internal-error";t.onError(p(this.auth,n))}else t.onAuthEvent(e)}isEventForConsumer(e,t){let i=null===t.eventId||!!e.eventId&&e.eventId===t.eventId;return t.filter.includes(e.type)&&i}hasEventBeenHandled(e){return Date.now()-this.lastProcessedEventTime>=6e5&&this.cachedEventUids.clear(),this.cachedEventUids.has(iw(e))}saveEventToCache(e){this.cachedEventUids.add(iw(e)),this.lastProcessedEventTime=Date.now()}}function iw(e){return[e.type,e.eventId,e.sessionId,e.tenantId].filter(e=>e).join("-")}function iT({type:e,error:t}){return"unknown"===e&&(null==t?void 0:t.code)==="auth/no-auth-event"}async function iE(e,t={}){return b(e,"GET","/v1/projects",t)}let ik=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,iS=/^https?/;async function iP(e){if(e.config.emulator)return;let{authorizedDomains:t}=await iE(e);for(let e of t)try{if(function(e){let t=I(),{protocol:i,hostname:n}=new URL(t);if(e.startsWith("chrome-extension://")){let r=new URL(e);return""===r.hostname&&""===n?"chrome-extension:"===i&&e.replace("chrome-extension://","")===t.replace("chrome-extension://",""):"chrome-extension:"===i&&r.hostname===n}if(!iS.test(i))return!1;if(ik.test(e))return n===e;let r=e.replace(/\./g,"\\.");return RegExp("^(.+\\."+r+"|"+r+")$","i").test(n)}(e))return}catch(e){}d(e,"unauthorized-domain")}let iR=new T(3e4,6e4);function iC(){let e=tF().___jsl;if(null==e?void 0:e.H){for(let t of Object.keys(e.H))if(e.H[t].r=e.H[t].r||[],e.H[t].L=e.H[t].L||[],e.H[t].r=[...e.H[t].L],e.CP)for(let t=0;t{var n,r,s;function a(){iC(),gapi.load("gapi.iframes",{callback:()=>{t(gapi.iframes.getContext())},ontimeout:()=>{iC(),i(p(e,"network-request-failed"))},timeout:iR.get()})}if(null===(r=null===(n=tF().gapi)||void 0===n?void 0:n.iframes)||void 0===r?void 0:r.Iframe)t(gapi.iframes.getContext());else if(null===(s=tF().gapi)||void 0===s?void 0:s.load)a();else{let t=eC("iframefcb");return tF()[t]=()=>{gapi.load?a():i(p(e,"network-request-failed"))},eR(`${eP.gapiScript}?onload=${t}`).catch(e=>i(e))}}).catch(e=>{throw ib=null,e})),i=tF().gapi;return v(i,e,"internal-error"),t.open({where:document.body,url:function(e){let t=e.config;v(t.authDomain,e,"auth-domain-config-required");let i=t.emulator?E(t,"emulator/auth/iframe"):`https://${e.config.authDomain}/__/auth/iframe`,s={apiKey:t.apiKey,appName:e.name,v:n.MF},a=iN.get(e.config.apiHost);a&&(s.eid=a);let o=e._getFrameworks();return o.length&&(s.fw=o.join(",")),`${i}?${(0,r.Am)(s).slice(1)}`}(e),messageHandlersFilter:i.iframes.CROSS_ORIGIN_IFRAMES_FILTER,attributes:iA,dontclear:!0},t=>new Promise(async(i,n)=>{await t.restyle({setHideOnLeave:!1});let r=p(e,"network-request-failed"),s=tF().setTimeout(()=>{n(r)},iO.get());function a(){tF().clearTimeout(s),i(t)}t.ping(a).then(a,()=>{n(r)})}))}let iD={location:"yes",resizable:"yes",statusbar:"yes",toolbar:"no"};class iM{constructor(e){this.window=e,this.associatedEvent=null}close(){if(this.window)try{this.window.close()}catch(e){}}}let iU=encodeURIComponent("fac");async function ix(e,t,i,s,a,o){v(e.config.authDomain,e,"auth-domain-config-required"),v(e.config.apiKey,e,"invalid-api-key");let l={apiKey:e.config.apiKey,appName:e.name,authType:i,redirectUrl:s,v:n.MF,eventId:a};if(t instanceof e4)for(let[i,n]of(t.setDefaultLanguage(e.languageCode),l.providerId=t.providerId||"",(0,r.Im)(t.getCustomParameters())||(l.customParameters=JSON.stringify(t.getCustomParameters())),Object.entries(o||{})))l[i]=n;if(t instanceof e5){let e=t.getScopes().filter(e=>""!==e);e.length>0&&(l.scopes=e.join(","))}for(let t of(e.tenantId&&(l.tid=e.tenantId),Object.keys(l)))void 0===l[t]&&delete l[t];let c=await e._getAppCheckToken(),u=c?`#${iU}=${encodeURIComponent(c)}`:"";return`${function({config:e}){return e.emulator?E(e,"emulator/auth/handler"):`https://${e.authDomain}/__/auth/handler`}(e)}?${(0,r.Am)(l).slice(1)}${u}`}let iF="webStorageSupport";class iV{constructor(){this.eventManagers={},this.iframes={},this.originValidationPromises={},this._redirectPersistence=tD,this._completeRedirectFn=iI,this._overrideRedirectResult=ip}async _openPopup(e,t,i,n){var s,a,o;a=null===(s=this.eventManagers[e._key()])||void 0===s?void 0:s.manager,o="_initialize() not called before _openPopup()",a||_(o);let l=await ix(e,t,i,I(),n);return function(e,t,i,n=500,s=600){let a=Math.max((window.screen.availHeight-s)/2,0).toString(),o=Math.max((window.screen.availWidth-n)/2,0).toString(),l="",c=Object.assign(Object.assign({},iD),{width:n.toString(),height:s.toString(),top:a,left:o}),u=(0,r.ZQ)().toLowerCase();i&&(l=ed(u)?"_blank":i),eu(u)&&(t=t||"http://localhost",c.scrollbars="yes");let h=Object.entries(c).reduce((e,[t,i])=>`${e}${t}=${i},`,"");if(function(e=(0,r.ZQ)()){var t;return ev(e)&&!!(null===(t=window.navigator)||void 0===t?void 0:t.standalone)}(u)&&"_self"!==l)return function(e,t){let i=document.createElement("a");i.href=e,i.target=t;let n=document.createEvent("MouseEvent");n.initMouseEvent("click",!0,!0,window,1,0,0,0,0,!1,!1,!1,!1,1,null),i.dispatchEvent(n)}(t||"",l),new iM(null);let d=window.open(t||"",l,h);v(d,e,"popup-blocked");try{d.focus()}catch(e){}return new iM(d)}(e,l,tU())}async _openRedirect(e,t,i,n){var r;return await this._originValidation(e),r=await ix(e,t,i,I(),n),tF().location.href=r,new Promise(()=>{})}_initialize(e){let t=e._key();if(this.eventManagers[t]){var i;let{manager:e,promise:n}=this.eventManagers[t];return e?Promise.resolve(e):(i="If manager is not set, promise should be",n||_(i),n)}let n=this.initAndGetManager(e);return this.eventManagers[t]={promise:n},n.catch(()=>{delete this.eventManagers[t]}),n}async initAndGetManager(e){let t=await iL(e),i=new iy(e);return t.register("authEvent",t=>(v(null==t?void 0:t.authEvent,e,"invalid-auth-event"),{status:i.onEvent(t.authEvent)?"ACK":"ERROR"}),gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER),this.eventManagers[e._key()]={manager:i},this.iframes[e._key()]=t,i}_isIframeWebStorageSupported(e,t){this.iframes[e._key()].send(iF,{type:iF},i=>{var n;let r=null===(n=null==i?void 0:i[0])||void 0===n?void 0:n[iF];void 0!==r&&t(!!r),d(e,"internal-error")},gapi.iframes.CROSS_ORIGIN_IFRAMES_FILTER)}_originValidation(e){let t=e._key();return this.originValidationPromises[t]||(this.originValidationPromises[t]=iP(e)),this.originValidationPromises[t]}get _shouldInitProactively(){return e_()||eh()||ev()}}class ij{constructor(e){this.factorId=e}_process(e,t,i){switch(t.type){case"enroll":return this._finalizeEnroll(e,t.credential,i);case"signin":return this._finalizeSignIn(e,t.credential);default:return _("unexpected MultiFactorSessionType")}}}class iH extends ij{constructor(e){super("phone"),this.credential=e}static _fromCredential(e){return new iH(e)}_finalizeEnroll(e,t,i){return b(e,"POST","/v2/accounts/mfaEnrollment:finalize",C(e,{idToken:t,displayName:i,phoneVerificationInfo:this.credential._makeVerificationRequest()}))}_finalizeSignIn(e,t){return b(e,"POST","/v2/accounts/mfaSignIn:finalize",C(e,{mfaPendingCredential:t,phoneVerificationInfo:this.credential._makeVerificationRequest()}))}}class iW{constructor(){}static assertion(e){return iH._fromCredential(e)}}iW.FACTOR_ID="phone";class iz{static assertionForEnrollment(e,t){return iK._fromSecret(e,t)}static assertionForSignIn(e,t){return iK._fromEnrollmentId(e,t)}static async generateSecret(e){var t,i;v(void 0!==(null===(t=e.user)||void 0===t?void 0:t.auth),"internal-error");let n=await b(i=e.user.auth,"POST","/v2/accounts/mfaEnrollment:start",C(i,{idToken:e.credential,totpEnrollmentInfo:{}}));return i$._fromStartTotpMfaEnrollmentResponse(n,e.user.auth)}}iz.FACTOR_ID="totp";class iK extends ij{constructor(e,t,i){super("totp"),this.otp=e,this.enrollmentId=t,this.secret=i}static _fromSecret(e,t){return new iK(t,void 0,e)}static _fromEnrollmentId(e,t){return new iK(t,e)}async _finalizeEnroll(e,t,i){return v(void 0!==this.secret,e,"argument-error"),b(e,"POST","/v2/accounts/mfaEnrollment:finalize",C(e,{idToken:t,displayName:i,totpVerificationInfo:this.secret._makeTotpVerificationInfo(this.otp)}))}async _finalizeSignIn(e,t){v(void 0!==this.enrollmentId&&void 0!==this.otp,e,"argument-error");let i={verificationCode:this.otp};return b(e,"POST","/v2/accounts/mfaSignIn:finalize",C(e,{mfaPendingCredential:t,mfaEnrollmentId:this.enrollmentId,totpVerificationInfo:i}))}}class i${constructor(e,t,i,n,r,s,a){this.sessionInfo=s,this.auth=a,this.secretKey=e,this.hashingAlgorithm=t,this.codeLength=i,this.codeIntervalSeconds=n,this.enrollmentCompletionDeadline=r}static _fromStartTotpMfaEnrollmentResponse(e,t){return new i$(e.totpSessionInfo.sharedSecretKey,e.totpSessionInfo.hashingAlgorithm,e.totpSessionInfo.verificationCodeLength,e.totpSessionInfo.periodSec,new Date(e.totpSessionInfo.finalizeEnrollmentTime).toUTCString(),e.totpSessionInfo.sessionInfo,t)}_makeTotpVerificationInfo(e){return{sessionInfo:this.sessionInfo,verificationCode:e}}generateQrCodeUrl(e,t){var i;let n=!1;return(iq(e)||iq(t))&&(n=!0),n&&(iq(e)&&(e=(null===(i=this.auth.currentUser)||void 0===i?void 0:i.email)||"unknownuser"),iq(t)&&(t=this.auth.name)),`otpauth://totp/${t}:${e}?secret=${this.secretKey}&issuer=${t}&algorithm=${this.hashingAlgorithm}&digits=${this.codeLength}`}}function iq(e){return void 0===e||(null==e?void 0:e.length)===0}var iG="@firebase/auth",iB="1.10.8";class iJ{constructor(e){this.auth=e,this.internalListeners=new Map}getUid(){var e;return this.assertAuthConfigured(),(null===(e=this.auth.currentUser)||void 0===e?void 0:e.uid)||null}async getToken(e){return(this.assertAuthConfigured(),await this.auth._initializationPromise,this.auth.currentUser)?{accessToken:await this.auth.currentUser.getIdToken(e)}:null}addAuthTokenListener(e){if(this.assertAuthConfigured(),this.internalListeners.has(e))return;let t=this.auth.onIdTokenChanged(t=>{e((null==t?void 0:t.stsTokenManager.accessToken)||null)});this.internalListeners.set(e,t),this.updateProactiveRefresh()}removeAuthTokenListener(e){this.assertAuthConfigured();let t=this.internalListeners.get(e);t&&(this.internalListeners.delete(e),t(),this.updateProactiveRefresh())}assertAuthConfigured(){v(this.auth._initializationPromise,"dependent-sdk-initialized-before-auth")}updateProactiveRefresh(){this.internalListeners.size>0?this.auth._startProactiveRefresh():this.auth._stopProactiveRefresh()}}let iZ=(0,r.XA)("authIdTokenMaxAge")||300,iY=null,iQ=e=>async t=>{let i=t&&await t.getIdTokenResult(),n=i&&(new Date().getTime()-Date.parse(i.issuedAtTime))/1e3;if(n&&n>iZ)return;let r=null==i?void 0:i.token;iY!==r&&(iY=r,await fetch(e,{method:r?"POST":"DELETE",headers:r?{Authorization:`Bearer ${r}`}:{}}))};function iX(e=(0,n.Sx)()){let t=(0,n.j6)(e,"auth");if(t.isInitialized())return t.getImmediate();let i=function(e,t){let i=(0,n.j6)(e,"auth");if(i.isInitialized()){let e=i.getImmediate(),n=i.getOptions();if((0,r.bD)(n,null!=t?t:{}))return e;d(e,"already-initialized")}return i.initialize({options:t})}(e,{popupRedirectResolver:iV,persistence:[tZ,tO,tD]}),s=(0,r.XA)("authTokenSyncURL");if(s&&"boolean"==typeof isSecureContext&&isSecureContext){let e=new URL(s,location.origin);if(location.origin===e.origin){var a,o;let t=iQ(e.toString());a=()=>t(i.currentUser),(0,r.Ku)(i).beforeAuthStateChanged(t,a),o=e=>t(e),(0,r.Ku)(i).onIdTokenChanged(o,void 0,void 0)}}let l=(0,r.Tj)("auth");return l&&function(e,t,i){let n=ek(e);v(/^https?:\/\//.test(t),n,"invalid-emulator-scheme");let s=eF(t),{host:a,port:o}=function(e){let t=eF(e),i=/(\/\/)?([^?#/]+)/.exec(e.substr(t.length));if(!i)return{host:"",port:null};let n=i[2].split("@").pop()||"",r=/^(\[[^\]]+\])(:|$)/.exec(n);if(r){let e=r[1];return{host:e,port:eV(n.substr(e.length+1))}}{let[e,t]=n.split(":");return{host:e,port:eV(t)}}}(t),l=null===o?"":`:${o}`,c={url:`${s}//${a}${l}/`},u=Object.freeze({host:a,port:o,protocol:s.replace(":",""),options:Object.freeze({disableWarnings:!1})});if(!n._canInitEmulator){v(n.config.emulator&&n.emulatorConfig,n,"emulator-config-failed"),v((0,r.bD)(c,n.config.emulator)&&(0,r.bD)(u,n.emulatorConfig),n,"emulator-config-failed");return}n.config.emulator=c,n.emulatorConfig=u,n.settings.appVerificationDisabledForTesting=!0,(0,r.zJ)(a)?((0,r.gE)(`${s}//${a}${l}`),(0,r.P1)("Auth",!0)):function(){function e(){let e=document.createElement("p"),t=e.style;e.innerText="Running in emulator mode. Do not use with production credentials.",t.position="fixed",t.width="100%",t.backgroundColor="#ffffff",t.border=".1em solid #000000",t.color="#b50000",t.bottom="0px",t.left="0px",t.margin="0px",t.zIndex="10000",t.textAlign="center",e.classList.add("firebase-emulator-warning"),document.body.appendChild(e)}"undefined"!=typeof console&&"function"==typeof console.info&&console.info("WARNING: You are using the Auth Emulator, which is intended for local testing only. Do not use with production credentials."),"undefined"!=typeof window&&"undefined"!=typeof document&&("loading"===document.readyState?window.addEventListener("DOMContentLoaded",e):e())}()}(i,`http://${l}`),i}eP={loadJS:e=>new Promise((t,i)=>{let n=document.createElement("script");n.setAttribute("src",e),n.onload=t,n.onerror=e=>{let t=p("internal-error");t.customData=e,i(t)},n.type="text/javascript",n.charset="UTF-8",(function(){var e,t;return null!==(t=null===(e=document.getElementsByTagName("head"))||void 0===e?void 0:e[0])&&void 0!==t?t:document})().appendChild(n)}),gapiScript:"https://apis.google.com/js/api.js",recaptchaV2Script:"https://www.google.com/recaptcha/api.js",recaptchaEnterpriseScript:"https://www.google.com/recaptcha/enterprise.js?render="},function(e){(0,n.om)(new o.uA("auth",(t,{options:i})=>{let n=t.getProvider("app").getImmediate(),r=t.getProvider("heartbeat"),s=t.getProvider("app-check-internal"),{apiKey:a,authDomain:o}=n.options;v(a&&!a.includes(":"),"invalid-api-key",{appName:n.name});let l=new eE(n,r,s,{apiKey:a,authDomain:o,clientPlatform:e,apiHost:"identitytoolkit.googleapis.com",tokenApiHost:"securetoken.googleapis.com",apiScheme:"https",sdkClientVersion:eI(e)});return function(e,t){let i=(null==t?void 0:t.persistence)||[],n=(Array.isArray(i)?i:[i]).map(es);(null==t?void 0:t.errorMap)&&e._updateErrorMap(t.errorMap),e._initializeWithPersistence(n,null==t?void 0:t.popupRedirectResolver)}(l,i),l},"PUBLIC").setInstantiationMode("EXPLICIT").setInstanceCreatedCallback((e,t,i)=>{e.getProvider("auth-internal").initialize()})),(0,n.om)(new o.uA("auth-internal",e=>new iJ(ek(e.getProvider("auth").getImmediate())),"PRIVATE").setInstantiationMode("EXPLICIT")),(0,n.KO)(iG,iB,function(e){switch(e){case"Node":return"node";case"ReactNative":return"rn";case"Worker":return"webworker";case"Cordova":return"cordova";case"WebExtension":return"web-extension";default:return}}(e)),(0,n.KO)(iG,iB,"esm2017")}("Browser")}}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/_not-found/page-09d475ed6534a562.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/_not-found/page-09d475ed6534a562.js deleted file mode 100644 index 898e8b0c..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/_not-found/page-09d475ed6534a562.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[492],{3868:(e,t,r)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_not-found/page",function(){return r(5623)}])},3384:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HTTPAccessErrorFallback",{enumerable:!0,get:function(){return o}}),r(306);let l=r(5155);r(2115);let n={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{display:"inline-block"},h1:{display:"inline-block",margin:"0 20px 0 0",padding:"0 23px 0 0",fontSize:24,fontWeight:500,verticalAlign:"top",lineHeight:"49px"},h2:{fontSize:14,fontWeight:400,lineHeight:"49px",margin:0}};function o(e){let{status:t,message:r}=e;return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("title",{children:t+": "+r}),(0,l.jsx)("div",{style:n.error,children:(0,l.jsxs)("div",{children:[(0,l.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}"}}),(0,l.jsx)("h1",{className:"next-error-h1",style:n.h1,children:t}),(0,l.jsx)("div",{style:n.desc,children:(0,l.jsx)("h2",{style:n.h2,children:r})})]})})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5623:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let l=r(5155),n=r(3384);function o(){return(0,l.jsx)(n.HTTPAccessErrorFallback,{status:404,message:"This page could not be found."})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)}},e=>{var t=t=>e(e.s=t);e.O(0,[441,517,358],()=>t(3868)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/forgot-password/page-6e3d7f138d1e62ba.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/forgot-password/page-6e3d7f138d1e62ba.js deleted file mode 100644 index f49e12ac..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/forgot-password/page-6e3d7f138d1e62ba.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[162],{6567:(e,u,s)=>{Promise.resolve().then(s.bind(s,3342))},3342:(e,u,s)=>{"use strict";s.d(u,{default:()=>o});var n=s(5155),r=s(4198),t=s(6046);function o(){let e=(0,t.useRouter)();return(0,n.jsx)(r.bq,{onBackToSignInClick:()=>e.push("/sign-in")})}},6046:(e,u,s)=>{"use strict";var n=s(6658);s.o(n,"useRouter")&&s.d(u,{useRouter:function(){return n.useRouter}})}},e=>{var u=u=>e(e.s=u);e.O(0,[811,499,198,441,517,358],()=>u(6567)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/layout-6aab929aad1d393d.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/layout-6aab929aad1d393d.js deleted file mode 100644 index 085591e0..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/layout-6aab929aad1d393d.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[177],{1559:(e,s,r)=>{Promise.resolve().then(r.bind(r,5003)),Promise.resolve().then(r.bind(r,5447)),Promise.resolve().then(r.t.bind(r,5688,23)),Promise.resolve().then(r.t.bind(r,7051,23)),Promise.resolve().then(r.t.bind(r,9324,23))},5003:(e,s,r)=>{"use strict";r.d(s,{Header:()=>u});var i=r(5155),t=r(4565),a=r(8173),n=r.n(a),l=r(6046),o=r(521),c=r(6745);function u(e){let s=(0,l.useRouter)(),r=(0,c.J)(e.currentUser||null);async function a(){await (0,t.CI)(o.j),s.push("/sign-in")}return(0,i.jsx)("header",{className:"border-b border-gray-200",children:(0,i.jsxs)("div",{className:"max-w-6xl mx-auto h-12 flex items-center",children:[(0,i.jsx)("div",{className:"font-bold",children:(0,i.jsx)(n(),{href:"/",children:"FirebaseUI"})}),(0,i.jsx)("div",{className:"flex-grow flex items-center justify-end",children:(0,i.jsx)("ul",{className:"text-sm flex items-center gap-6 *:hover:opacity-75",children:r?(0,i.jsx)("li",{children:(0,i.jsx)("button",{onClick:a,children:"Sign Out"})}):(0,i.jsx)("li",{children:(0,i.jsx)(n(),{href:"/sign-in",children:"Sign In"})})})})]})})}},521:(e,s,r)=>{"use strict";r.d(s,{j:()=>o,ui:()=>c});var i=r(4496),t=r(3468),a=r(9904),n=r(4565);let l=0===(0,a.Dk)().length?(0,a.Wp)({apiKey:"AIzaSyA7xdkFMs7iUC6XWFYjjSxf_XbVV4F1mX4",authDomain:"fir-ui-2025.firebaseapp.com",projectId:"fir-ui-2025",storageBucket:"fir-ui-2025.firebasestorage.app",messagingSenderId:"616577669988",appId:"1:616577669988:web:7e67401f952fa9288df871"}):(0,a.Dk)()[0],o=(0,n.xI)(l),c=(0,i.bN)({app:l,behaviors:[],translations:[(0,t.ao)(t.x3.locale,{labels:{signIn:"Sign In"},prompts:{signInToAccount:"Sign in to your account"},errors:{invalidEmail:"Please enter a valid email address"}})]})},6745:(e,s,r)=>{"use strict";r.d(s,{J:()=>n});var i=r(2115),t=r(4565),a=r(521);function n(e){let[s,r]=(0,i.useState)(null!=e?e:null);return(0,i.useEffect)(()=>{let e=(0,t.hg)(a.j,r);return()=>e()},[]),s}},5447:(e,s,r)=>{"use strict";r.d(s,{FirebaseUIProvider:()=>n});var i=r(5155),t=r(521),a=r(4198);function n(e){let{children:s}=e;return(0,i.jsx)(a.sG,{ui:t.ui,policies:{termsOfServiceUrl:"https://www.google.com",privacyPolicyUrl:"https://www.google.com"},children:s})}},6046:(e,s,r)=>{"use strict";var i=r(6658);r.o(i,"useRouter")&&r.d(s,{useRouter:function(){return i.useRouter}})},9324:()=>{},5688:e=>{e.exports={style:{fontFamily:"'Geist', 'Geist Fallback'",fontStyle:"normal"},className:"__className_188709",variable:"__variable_188709"}},7051:e=>{e.exports={style:{fontFamily:"'Geist Mono', 'Geist Mono Fallback'",fontStyle:"normal"},className:"__className_9a8899",variable:"__variable_9a8899"}}},e=>{var s=s=>e(e.s=s);e.O(0,[261,811,499,198,460,441,517,358],()=>s(1559)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/page-8d787214c58f587b.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/page-8d787214c58f587b.js deleted file mode 100644 index 3826b5b1..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/page-8d787214c58f587b.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[974],{3953:(e,s,n)=>{Promise.resolve().then(n.bind(n,8152))},8152:(e,s,n)=>{"use strict";n.r(s),n.d(s,{default:()=>c});var r=n(5155),i=n(6745),l=n(8173),h=n.n(l);function c(){let e=(0,i.J)();return(0,r.jsxs)("div",{className:"p-8 ",children:[(0,r.jsx)("h1",{className:"text-3xl font-bold mb-6",children:"Firebase UI Demo"}),(0,r.jsx)("div",{className:"mb-6",children:e&&(0,r.jsxs)("div",{children:["Welcome: ",e.email||e.phoneNumber]})}),(0,r.jsxs)("div",{children:[(0,r.jsx)("h2",{className:"text-2xl font-bold mb-4",children:"Auth Screens"}),(0,r.jsxs)("ul",{className:"grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 gap-4",children:[(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/sign-in-auth-screen",className:"text-blue-500 hover:underline",children:"Sign In Auth Screen"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/sign-in-auth-screen-w-handlers",className:"text-blue-500 hover:underline",children:"Sign In Auth Screen with Handlers"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/sign-in-auth-screen-w-oauth",className:"text-blue-500 hover:underline",children:"Sign In Auth Screen with OAuth"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/email-link-auth-screen",className:"text-blue-500 hover:underline",children:"Email Link Auth Screen"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/email-link-auth-screen-w-oauth",className:"text-blue-500 hover:underline",children:"Email Link Auth Screen with OAuth"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/phone-auth-screen",className:"text-blue-500 hover:underline",children:"Phone Auth Screen"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/phone-auth-screen-w-oauth",className:"text-blue-500 hover:underline",children:"Phone Auth Screen with OAuth"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/sign-up-auth-screen",className:"text-blue-500 hover:underline",children:"Sign Up Auth Screen"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/sign-up-auth-screen-w-oauth",className:"text-blue-500 hover:underline",children:"Sign Up Auth Screen with OAuth"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/oauth-screen",className:"text-blue-500 hover:underline",children:"OAuth Screen"})}),(0,r.jsx)("li",{children:(0,r.jsx)(h(),{href:"/screens/password-reset-screen",className:"text-blue-500 hover:underline",children:"Password Reset Screen"})})]})]})]})}},521:(e,s,n)=>{"use strict";n.d(s,{j:()=>t,ui:()=>a});var r=n(4496),i=n(3468),l=n(9904),h=n(4565);let c=0===(0,l.Dk)().length?(0,l.Wp)({apiKey:"AIzaSyA7xdkFMs7iUC6XWFYjjSxf_XbVV4F1mX4",authDomain:"fir-ui-2025.firebaseapp.com",projectId:"fir-ui-2025",storageBucket:"fir-ui-2025.firebasestorage.app",messagingSenderId:"616577669988",appId:"1:616577669988:web:7e67401f952fa9288df871"}):(0,l.Dk)()[0],t=(0,h.xI)(c),a=(0,r.bN)({app:c,behaviors:[],translations:[(0,i.ao)(i.x3.locale,{labels:{signIn:"Sign In"},prompts:{signInToAccount:"Sign in to your account"},errors:{invalidEmail:"Please enter a valid email address"}})]})},6745:(e,s,n)=>{"use strict";n.d(s,{J:()=>h});var r=n(2115),i=n(4565),l=n(521);function h(e){let[s,n]=(0,r.useState)(null!=e?e:null);return(0,r.useEffect)(()=>{let e=(0,i.hg)(l.j,n);return()=>e()},[]),s}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,460,441,517,358],()=>s(3953)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/register/page-b51a8bfb00044279.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/register/page-b51a8bfb00044279.js deleted file mode 100644 index 6eb97952..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/register/page-b51a8bfb00044279.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[454],{8277:(e,s,r)=>{Promise.resolve().then(r.bind(r,3997))},3997:(e,s,r)=>{"use strict";r.d(s,{default:()=>o});var t=r(5155),a=r(6745),i=r(4198),n=r(6046),u=r(2115);function o(){let e=(0,n.useRouter)(),s=(0,a.J)();return(0,u.useEffect)(()=>{s&&e.push("/")},[s,e]),(0,t.jsx)(i.RB,{onBackToSignInClick:()=>e.push("/sign-in"),children:(0,t.jsx)(i._e,{})})}},521:(e,s,r)=>{"use strict";r.d(s,{j:()=>o,ui:()=>l});var t=r(4496),a=r(3468),i=r(9904),n=r(4565);let u=0===(0,i.Dk)().length?(0,i.Wp)({apiKey:"AIzaSyA7xdkFMs7iUC6XWFYjjSxf_XbVV4F1mX4",authDomain:"fir-ui-2025.firebaseapp.com",projectId:"fir-ui-2025",storageBucket:"fir-ui-2025.firebasestorage.app",messagingSenderId:"616577669988",appId:"1:616577669988:web:7e67401f952fa9288df871"}):(0,i.Dk)()[0],o=(0,n.xI)(u),l=(0,t.bN)({app:u,behaviors:[],translations:[(0,a.ao)(a.x3.locale,{labels:{signIn:"Sign In"},prompts:{signInToAccount:"Sign in to your account"},errors:{invalidEmail:"Please enter a valid email address"}})]})},6745:(e,s,r)=>{"use strict";r.d(s,{J:()=>n});var t=r(2115),a=r(4565),i=r(521);function n(e){let[s,r]=(0,t.useState)(null!=e?e:null);return(0,t.useEffect)(()=>{let e=(0,a.hg)(i.j,r);return()=>e()},[]),s}},6046:(e,s,r)=>{"use strict";var t=r(6658);r.o(t,"useRouter")&&r.d(s,{useRouter:function(){return t.useRouter}})},9904:(e,s,r)=>{"use strict";r.d(s,{Dk:()=>t.Dk,Wp:()=>t.Wp});var t=r(1972);(0,t.KO)("firebase","11.10.0","app")}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(8277)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen-w-oauth/page-ffa6fcbeb7299aa7.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen-w-oauth/page-ffa6fcbeb7299aa7.js deleted file mode 100644 index 8b2c8571..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen-w-oauth/page-ffa6fcbeb7299aa7.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[224],{5793:(e,s,r)=>{Promise.resolve().then(r.bind(r,4058))},4058:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>_});var n=r(5155),u=r(4198);function _(){return(0,n.jsx)(u.NY,{children:(0,n.jsx)(u._e,{})})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(5793)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen/page-cbbdc9acd56de275.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen/page-cbbdc9acd56de275.js deleted file mode 100644 index 9de976cb..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/email-link-auth-screen/page-cbbdc9acd56de275.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[490],{1227:(e,s,r)=>{Promise.resolve().then(r.bind(r,172))},172:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>t});var n=r(5155),u=r(4198);function t(){return(0,n.jsx)(u.NY,{})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(1227)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/oauth-screen/page-662bb862120ebe1d.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/oauth-screen/page-662bb862120ebe1d.js deleted file mode 100644 index 5f387825..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/oauth-screen/page-662bb862120ebe1d.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[367],{128:(e,s,r)=>{Promise.resolve().then(r.bind(r,7093))},7093:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>_});var n=r(5155),u=r(4198);function _(){return(0,n.jsx)(u.WG,{children:(0,n.jsx)(u._e,{})})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(128)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/password-reset-screen/page-7346f1f8c8959f83.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/password-reset-screen/page-7346f1f8c8959f83.js deleted file mode 100644 index 8403165f..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/password-reset-screen/page-7346f1f8c8959f83.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[409],{8368:(e,n,s)=>{Promise.resolve().then(s.bind(s,375))},375:(e,n,s)=>{"use strict";s.r(n),s.d(n,{default:()=>a});var r=s(5155),u=s(4198);function a(){return(0,r.jsx)(u.bq,{onBackToSignInClick:()=>{}})}}},e=>{var n=n=>e(e.s=n);e.O(0,[811,499,198,441,517,358],()=>n(8368)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen-w-oauth/page-96baddefbdcffb57.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen-w-oauth/page-96baddefbdcffb57.js deleted file mode 100644 index ec7aa313..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen-w-oauth/page-96baddefbdcffb57.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[665],{9608:(e,s,r)=>{Promise.resolve().then(r.bind(r,8911))},8911:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>_});var n=r(5155),u=r(4198);function _(){return(0,n.jsx)(u.jT,{children:(0,n.jsx)(u._e,{})})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(9608)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen/page-5ba757203936288e.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen/page-5ba757203936288e.js deleted file mode 100644 index 66b8c760..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/phone-auth-screen/page-5ba757203936288e.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[231],{3870:(e,s,r)=>{Promise.resolve().then(r.bind(r,9925))},9925:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>a});var n=r(5155),u=r(4198);function a(){return(0,n.jsx)(u.jT,{resendDelay:2})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(3870)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-handlers/page-077fb2f09d5d3268.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-handlers/page-077fb2f09d5d3268.js deleted file mode 100644 index 4e4ae49f..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-handlers/page-077fb2f09d5d3268.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[290],{1415:(e,s,r)=>{Promise.resolve().then(r.bind(r,7932))},7932:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>t});var n=r(5155),o=r(4198);function t(){return(0,n.jsx)(o.hY,{onForgotPasswordClick:()=>{},onRegisterClick:()=>{}})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(1415)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-oauth/page-018d6282ee014b52.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-oauth/page-018d6282ee014b52.js deleted file mode 100644 index 89b2134c..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen-w-oauth/page-018d6282ee014b52.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[30],{6613:(e,s,r)=>{Promise.resolve().then(r.bind(r,1624))},1624:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>o});var u=r(5155),t=r(4198),n=r(6046);function o(){let e=(0,n.useRouter)();return(0,u.jsx)(t.hY,{onForgotPasswordClick:()=>e.push("/password-reset-screen"),onRegisterClick:()=>e.push("/sign-up-auth-screen"),children:(0,u.jsx)(t._e,{})})}},6046:(e,s,r)=>{"use strict";var u=r(6658);r.o(u,"useRouter")&&r.d(s,{useRouter:function(){return u.useRouter}})}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(6613)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen/page-58105dede38ce5c7.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen/page-58105dede38ce5c7.js deleted file mode 100644 index 4b7fe454..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-in-auth-screen/page-58105dede38ce5c7.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[936],{1439:(e,s,r)=>{Promise.resolve().then(r.bind(r,8498))},8498:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>t});var n=r(5155),u=r(4198);function t(){return(0,n.jsx)(u.hY,{})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(1439)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen-w-oauth/page-7dd5c04e4ab03479.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen-w-oauth/page-7dd5c04e4ab03479.js deleted file mode 100644 index 5b603c73..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen-w-oauth/page-7dd5c04e4ab03479.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[104],{1299:(e,s,r)=>{Promise.resolve().then(r.bind(r,194))},194:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>_});var n=r(5155),u=r(4198);function _(){return(0,n.jsx)(u.RB,{children:(0,n.jsx)(u._e,{})})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(1299)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen/page-ea1e24f2258e0ae5.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen/page-ea1e24f2258e0ae5.js deleted file mode 100644 index ae89048b..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/screens/sign-up-auth-screen/page-ea1e24f2258e0ae5.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[338],{9685:(e,s,r)=>{Promise.resolve().then(r.bind(r,4612))},4612:(e,s,r)=>{"use strict";r.r(s),r.d(s,{default:()=>t});var n=r(5155),u=r(4198);function t(){return(0,n.jsx)(u.RB,{})}}},e=>{var s=s=>e(e.s=s);e.O(0,[811,499,198,441,517,358],()=>s(9685)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/email/page-c77da0e5d7c5f5f5.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/email/page-c77da0e5d7c5f5f5.js deleted file mode 100644 index 2de84a0f..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/email/page-c77da0e5d7c5f5f5.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[717],{3665:(e,r,s)=>{Promise.resolve().then(s.bind(s,8914))},8914:(e,r,s)=>{"use strict";s.d(r,{default:()=>o});var t=s(5155),a=s(6745),u=s(4198),i=s(6046),n=s(2115);function o(){let e=(0,i.useRouter)(),r=(0,a.J)();return(0,n.useEffect)(()=>{r&&e.push("/")},[r,e]),(0,t.jsx)(u.NY,{})}},521:(e,r,s)=>{"use strict";s.d(r,{j:()=>o,ui:()=>l});var t=s(4496),a=s(3468),u=s(9904),i=s(4565);let n=0===(0,u.Dk)().length?(0,u.Wp)({apiKey:"AIzaSyA7xdkFMs7iUC6XWFYjjSxf_XbVV4F1mX4",authDomain:"fir-ui-2025.firebaseapp.com",projectId:"fir-ui-2025",storageBucket:"fir-ui-2025.firebasestorage.app",messagingSenderId:"616577669988",appId:"1:616577669988:web:7e67401f952fa9288df871"}):(0,u.Dk)()[0],o=(0,i.xI)(n),l=(0,t.bN)({app:n,behaviors:[],translations:[(0,a.ao)(a.x3.locale,{labels:{signIn:"Sign In"},prompts:{signInToAccount:"Sign in to your account"},errors:{invalidEmail:"Please enter a valid email address"}})]})},6745:(e,r,s)=>{"use strict";s.d(r,{J:()=>i});var t=s(2115),a=s(4565),u=s(521);function i(e){let[r,s]=(0,t.useState)(null!=e?e:null);return(0,t.useEffect)(()=>{let e=(0,a.hg)(u.j,s);return()=>e()},[]),r}},6046:(e,r,s)=>{"use strict";var t=s(6658);s.o(t,"useRouter")&&s.d(r,{useRouter:function(){return t.useRouter}})},9904:(e,r,s)=>{"use strict";s.d(r,{Dk:()=>t.Dk,Wp:()=>t.Wp});var t=s(1972);(0,t.KO)("firebase","11.10.0","app")}},e=>{var r=r=>e(e.s=r);e.O(0,[811,499,198,441,517,358],()=>r(3665)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/page-00912d0f7b1415fc.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/page-00912d0f7b1415fc.js deleted file mode 100644 index 0521f85c..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/page-00912d0f7b1415fc.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[502],{7435:(e,i,s)=>{Promise.resolve().then(s.bind(s,5237))},5237:(e,i,s)=>{"use strict";s.d(i,{default:()=>c});var r=s(5155),n=s(6745),t=s(4198),a=s(8173),u=s.n(a),o=s(6046),l=s(2115);function c(){let e=(0,o.useRouter)(),i=(0,n.J)();return(0,l.useEffect)(()=>{i&&e.push("/")},[i,e]),(0,r.jsxs)(t.hY,{onForgotPasswordClick:()=>e.push("/forgot-password"),onRegisterClick:()=>e.push("/register"),children:[(0,r.jsx)(t._e,{}),(0,r.jsx)("div",{children:(0,r.jsx)(u(),{href:"/sign-in/phone",children:"Sign in with phone number"})}),(0,r.jsx)("div",{children:(0,r.jsx)(u(),{href:"/sign-in/email",children:"Sign in with email link"})})]})}},521:(e,i,s)=>{"use strict";s.d(i,{j:()=>o,ui:()=>l});var r=s(4496),n=s(3468),t=s(9904),a=s(4565);let u=0===(0,t.Dk)().length?(0,t.Wp)({apiKey:"AIzaSyA7xdkFMs7iUC6XWFYjjSxf_XbVV4F1mX4",authDomain:"fir-ui-2025.firebaseapp.com",projectId:"fir-ui-2025",storageBucket:"fir-ui-2025.firebasestorage.app",messagingSenderId:"616577669988",appId:"1:616577669988:web:7e67401f952fa9288df871"}):(0,t.Dk)()[0],o=(0,a.xI)(u),l=(0,r.bN)({app:u,behaviors:[],translations:[(0,n.ao)(n.x3.locale,{labels:{signIn:"Sign In"},prompts:{signInToAccount:"Sign in to your account"},errors:{invalidEmail:"Please enter a valid email address"}})]})},6745:(e,i,s)=>{"use strict";s.d(i,{J:()=>a});var r=s(2115),n=s(4565),t=s(521);function a(e){let[i,s]=(0,r.useState)(null!=e?e:null);return(0,r.useEffect)(()=>{let e=(0,n.hg)(t.j,s);return()=>e()},[]),i}},6046:(e,i,s)=>{"use strict";var r=s(6658);s.o(r,"useRouter")&&s.d(i,{useRouter:function(){return r.useRouter}})}},e=>{var i=i=>e(e.s=i);e.O(0,[811,499,198,460,441,517,358],()=>i(7435)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/phone/page-98c7321b7c0579e7.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/phone/page-98c7321b7c0579e7.js deleted file mode 100644 index 737b5a70..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/app/sign-in/phone/page-98c7321b7c0579e7.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5],{9418:(e,r,s)=>{Promise.resolve().then(s.bind(s,890))},890:(e,r,s)=>{"use strict";s.d(r,{default:()=>o});var t=s(5155),a=s(6745),u=s(4198),i=s(6046),n=s(2115);function o(){let e=(0,i.useRouter)(),r=(0,a.J)();return(0,n.useEffect)(()=>{r&&e.push("/")},[r,e]),(0,t.jsx)(u.jT,{})}},521:(e,r,s)=>{"use strict";s.d(r,{j:()=>o,ui:()=>l});var t=s(4496),a=s(3468),u=s(9904),i=s(4565);let n=0===(0,u.Dk)().length?(0,u.Wp)({apiKey:"AIzaSyA7xdkFMs7iUC6XWFYjjSxf_XbVV4F1mX4",authDomain:"fir-ui-2025.firebaseapp.com",projectId:"fir-ui-2025",storageBucket:"fir-ui-2025.firebasestorage.app",messagingSenderId:"616577669988",appId:"1:616577669988:web:7e67401f952fa9288df871"}):(0,u.Dk)()[0],o=(0,i.xI)(n),l=(0,t.bN)({app:n,behaviors:[],translations:[(0,a.ao)(a.x3.locale,{labels:{signIn:"Sign In"},prompts:{signInToAccount:"Sign in to your account"},errors:{invalidEmail:"Please enter a valid email address"}})]})},6745:(e,r,s)=>{"use strict";s.d(r,{J:()=>i});var t=s(2115),a=s(4565),u=s(521);function i(e){let[r,s]=(0,t.useState)(null!=e?e:null);return(0,t.useEffect)(()=>{let e=(0,a.hg)(u.j,s);return()=>e()},[]),r}},6046:(e,r,s)=>{"use strict";var t=s(6658);s.o(t,"useRouter")&&s.d(r,{useRouter:function(){return t.useRouter}})},9904:(e,r,s)=>{"use strict";s.d(r,{Dk:()=>t.Dk,Wp:()=>t.Wp});var t=s(1972);(0,t.KO)("firebase","11.10.0","app")}},e=>{var r=r=>e(e.s=r);e.O(0,[811,499,198,441,517,358],()=>r(9418)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/framework-f6c30afefa8caa28.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/framework-f6c30afefa8caa28.js deleted file mode 100644 index c6e47f75..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/framework-f6c30afefa8caa28.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[593],{1247:(e,t,n)=>{var r,l=n(7836),a=n(9982),o=n(6540),i=n(961);function u(e){var t="https://react.dev/errors/"+e;if(1I||(e.current=M[I],M[I]=null,I--)}function H(e,t){M[++I]=e.current,e.current=t}var $=U(null),V=U(null),B=U(null),Q=U(null);function W(e,t){switch(H(B,t),H(V,e),H($,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?sb(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)e=sk(t=sb(t),e);else switch(e){case"svg":e=1;break;case"math":e=2;break;default:e=0}}j($),H($,e)}function q(){j($),j(V),j(B)}function K(e){null!==e.memoizedState&&H(Q,e);var t=$.current,n=sk(t,e.type);t!==n&&(H(V,e),H($,n))}function Y(e){V.current===e&&(j($),j(V)),Q.current===e&&(j(Q),cn._currentValue=A)}function G(e){if(void 0===tI)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);tI=t&&t[1]||"",tU=-1)":-1l||u[r]!==s[l]){var c="\n"+u[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=r&&0<=l);break}}}finally{X=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?G(n):""}function J(e){try{var t="",n=null;do t+=function(e,t){switch(e.tag){case 26:case 27:case 5:return G(e.type);case 16:return G("Lazy");case 13:return e.child!==t&&null!==t?G("Suspense Fallback"):G("Suspense");case 19:return G("SuspenseList");case 0:case 15:return Z(e.type,!1);case 11:return Z(e.type.render,!1);case 1:return Z(e.type,!0);case 31:return G("Activity");default:return""}}(e,n),n=e,e=e.return;while(e);return t}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}var ee=Object.prototype.hasOwnProperty,et=a.unstable_scheduleCallback,en=a.unstable_cancelCallback,er=a.unstable_shouldYield,el=a.unstable_requestPaint,ea=a.unstable_now,eo=a.unstable_getCurrentPriorityLevel,ei=a.unstable_ImmediatePriority,eu=a.unstable_UserBlockingPriority,es=a.unstable_NormalPriority,ec=a.unstable_LowPriority,ef=a.unstable_IdlePriority,ed=a.log,ep=a.unstable_setDisableYieldValue,em=null,eh=null;function eg(e){if("function"==typeof ed&&ep(e),eh&&"function"==typeof eh.setStrictMode)try{eh.setStrictMode(em,e)}catch(e){}}var ey=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(ev(e)/eb|0)|0},ev=Math.log,eb=Math.LN2,ek=256,ew=262144,eS=4194304;function eE(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return 261888&e;case 262144:case 524288:case 1048576:case 2097152:return 3932160&e;case 4194304:case 8388608:case 0x1000000:case 0x2000000:return 0x3c00000&e;case 0x4000000:return 0x4000000;case 0x8000000:return 0x8000000;case 0x10000000:return 0x10000000;case 0x20000000:return 0x20000000;case 0x40000000:return 0;default:return e}}function ex(e,t,n){var r=e.pendingLanes;if(0===r)return 0;var l=0,a=e.suspendedLanes,o=e.pingedLanes;e=e.warmLanes;var i=0x7ffffff&r;return 0!==i?0!=(r=i&~a)?l=eE(r):0!=(o&=i)?l=eE(o):n||0!=(n=i&~e)&&(l=eE(n)):0!=(i=r&~a)?l=eE(i):0!==o?l=eE(o):n||0!=(n=r&~e)&&(l=eE(n)),0===l?0:0!==t&&t!==l&&0==(t&a)&&((a=l&-l)>=(n=t&-t)||32===a&&0!=(4194048&n))?t:l}function eC(e,t){return 0==(e.pendingLanes&~(e.suspendedLanes&~e.pingedLanes)&t)}function e_(){var e=eS;return 0==(0x3c00000&(eS<<=1))&&(eS=4194304),e}function ez(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function eP(e,t){e.pendingLanes|=t,0x10000000!==t&&(e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0)}function eN(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-ey(t);e.entangledLanes|=t,e.entanglements[r]=0x40000000|e.entanglements[r]|261930&n}function eT(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-ey(n),l=1<=nr),no=!1;function ni(e,t){switch(e){case"keyup":return -1!==nt.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function nu(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var ns=!1,nc={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function nf(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!nc[e.type]:"textarea"===t}function nd(e,t,n,r){tw?tS?tS.push(r):tS=[r]:tw=r,0<(t=sa(t,"onChange")).length&&(n=new tB("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var np=null,nm=null;function nh(e){u5(e,0)}function ng(e){if(te(eK(e)))return e}function ny(e,t){if("change"===e)return t}var nv=!1;if(tz){if(tz){var nb="oninput"in document;if(!nb){var nk=document.createElement("div");nk.setAttribute("oninput","return;"),nb="function"==typeof nk.oninput}r=nb}else r=!1;nv=r&&(!document.documentMode||9=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=nN(r)}}function nL(e){e=null!=e&&null!=e.ownerDocument&&null!=e.ownerDocument.defaultView?e.ownerDocument.defaultView:window;for(var t=tt(e.document);t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(n)e=t.contentWindow;else break;t=tt(e.document)}return t}function nO(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var nD=tz&&"documentMode"in document&&11>=document.documentMode,nF=null,nR=null,nA=null,nM=!1;function nI(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;nM||null==nF||nF!==tt(r)||(r="selectionStart"in(r=nF)&&nO(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},nA&&nP(nA,r)||(nA=r,0<(r=sa(nR,"onSelect")).length&&(t=new tB("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=nF)))}function nU(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var nj={animationend:nU("Animation","AnimationEnd"),animationiteration:nU("Animation","AnimationIteration"),animationstart:nU("Animation","AnimationStart"),transitionrun:nU("Transition","TransitionRun"),transitionstart:nU("Transition","TransitionStart"),transitioncancel:nU("Transition","TransitionCancel"),transitionend:nU("Transition","TransitionEnd")},nH={},n$={};function nV(e){if(nH[e])return nH[e];if(!nj[e])return e;var t,n=nj[e];for(t in n)if(n.hasOwnProperty(t)&&t in n$)return nH[e]=n[t];return e}tz&&(n$=document.createElement("div").style,"AnimationEvent"in window||(delete nj.animationend.animation,delete nj.animationiteration.animation,delete nj.animationstart.animation),"TransitionEvent"in window||delete nj.transitionend.transition);var nB=nV("animationend"),nQ=nV("animationiteration"),nW=nV("animationstart"),nq=nV("transitionrun"),nK=nV("transitionstart"),nY=nV("transitioncancel"),nG=nV("transitionend"),nX=new Map,nZ="abort auxClick beforeToggle cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll toggle touchMove waiting wheel".split(" ");function nJ(e,t){nX.set(e,t),eJ(t,[e])}nZ.push("scrollEnd");var n0="function"==typeof reportError?reportError:function(e){if("object"==typeof window&&"function"==typeof window.ErrorEvent){var t=new window.ErrorEvent("error",{bubbles:!0,cancelable:!0,message:"object"==typeof e&&null!==e&&"string"==typeof e.message?String(e.message):String(e),error:e});if(!window.dispatchEvent(t))return}else if("object"==typeof l&&"function"==typeof l.emit){l.emit("uncaughtException",e);return}console.error(e)},n1=[],n2=0,n3=0;function n4(){for(var e=n2,t=n3=n2=0;t>=o,l-=o,rk=1<<32-ey(t)+l|n<h?(g=f,f=null):g=f.sibling;var y=p(l,f,i[h],u);if(null===y){null===f&&(f=g);break}e&&f&&null===y.alternate&&t(l,f),o=a(y,o,h),null===c?s=y:c.sibling=y,c=y,f=g}if(h===i.length)return n(l,f),rN&&rS(l,h),s;if(null===f){for(;hg?(y=h,h=null):y=h.sibling;var b=p(l,h,v.value,s);if(null===b){null===h&&(h=y);break}e&&h&&null===b.alternate&&t(l,h),o=a(b,o,g),null===f?c=b:f.sibling=b,f=b,h=y}if(v.done)return n(l,h),rN&&rS(l,g),c;if(null===h){for(;!v.done;g++,v=i.next())null!==(v=d(l,v.value,s))&&(o=a(v,o,g),null===f?c=v:f.sibling=v,f=v);return rN&&rS(l,g),c}for(h=r(h);!v.done;g++,v=i.next())null!==(v=m(h,l,g,v.value,s))&&(e&&null!==v.alternate&&h.delete(null===v.key?g:v.key),o=a(v,o,g),null===f?c=v:f.sibling=v,f=v);return e&&h.forEach(function(e){return t(l,e)}),rN&&rS(l,g),c}(s,c,f=b.call(f),h)}if("function"==typeof f.then)return i(s,c,ly(f),h);if(f.$$typeof===S)return i(s,c,rX(s,f),h);lb(s,f)}return"string"==typeof f&&""!==f||"number"==typeof f||"bigint"==typeof f?(f=""+f,null!==c&&6===c.tag?(n(s,c.sibling),(h=l(c,f)).return=s):(n(s,c),(h=ru(f,s.mode,h)).return=s),o(s=h)):n(s,c)}(i,s,c,f);return lh=null,h}catch(e){if(e===la||e===li)throw e;var b=rn(29,e,null,i.mode);return b.lanes=f,b.return=i,b}finally{}}}var lw=lk(!0),lS=lk(!1),lE=!1;function lx(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function lC(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,callbacks:null})}function l_(e){return{lane:e,tag:0,payload:null,callback:null,next:null}}function lz(e,t,n){var r=e.updateQueue;if(null===r)return null;if(r=r.shared,0!=(2&iI)){var l=r.pending;return null===l?t.next=t:(t.next=l.next,l.next=t),r.pending=t,t=n7(e),n9(e,null,n),t}return n8(e,r,t,n),n7(e)}function lP(e,t,n){if(null!==(t=t.updateQueue)&&(t=t.shared,0!=(4194048&n))){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,eT(e,n)}}function lN(e,t){var n=e.updateQueue,r=e.alternate;if(null!==r&&n===(r=r.updateQueue)){var l=null,a=null;if(null!==(n=n.firstBaseUpdate)){do{var o={lane:n.lane,tag:n.tag,payload:n.payload,callback:null,next:null};null===a?l=a=o:a=a.next=o,n=n.next}while(null!==n);null===a?l=a=t:a=a.next=t}else l=a=t;n={baseState:r.baseState,firstBaseUpdate:l,lastBaseUpdate:a,shared:r.shared,callbacks:r.callbacks},e.updateQueue=n;return}null===(e=n.lastBaseUpdate)?n.firstBaseUpdate=t:e.next=t,n.lastBaseUpdate=t}var lT=!1;function lL(){if(lT){var e=r9;if(null!==e)throw e}}function lO(e,t,n,r){lT=!1;var l=e.updateQueue;lE=!1;var a=l.firstBaseUpdate,o=l.lastBaseUpdate,i=l.shared.pending;if(null!==i){l.shared.pending=null;var u=i,s=u.next;u.next=null,null===o?a=s:o.next=s,o=u;var c=e.alternate;null!==c&&(i=(c=c.updateQueue).lastBaseUpdate)!==o&&(null===i?c.firstBaseUpdate=s:i.next=s,c.lastBaseUpdate=u)}if(null!==a){var f=l.baseState;for(o=0,c=s=u=null,i=a;;){var d=-0x20000001&i.lane,p=d!==i.lane;if(p?(iH&d)===d:(r&d)===d){0!==d&&d===r5&&(lT=!0),null!==c&&(c=c.next={lane:0,tag:i.tag,payload:i.payload,callback:null,next:null});e:{var h=e,g=i;switch(d=t,g.tag){case 1:if("function"==typeof(h=g.payload)){f=h.call(n,f,d);break e}f=h;break e;case 3:h.flags=-65537&h.flags|128;case 0:if(null==(d="function"==typeof(h=g.payload)?h.call(n,f,d):h))break e;f=m({},f,d);break e;case 2:lE=!0}}null!==(d=i.callback)&&(e.flags|=64,p&&(e.flags|=8192),null===(p=l.callbacks)?l.callbacks=[d]:p.push(d))}else p={lane:d,tag:i.tag,payload:i.payload,callback:i.callback,next:null},null===c?(s=c=p,u=f):c=c.next=p,o|=d;if(null===(i=i.next)){if(null===(i=l.shared.pending))break;i=(p=i).next,p.next=null,l.lastBaseUpdate=p,l.shared.pending=null}}null===c&&(u=f),l.baseState=u,l.firstBaseUpdate=s,l.lastBaseUpdate=c,null===a&&(l.shared.lanes=0),iY|=o,e.lanes=o,e.memoizedState=f}}function lD(e,t){if("function"!=typeof e)throw Error(u(191,e));e.call(t)}function lF(e,t){var n=e.callbacks;if(null!==n)for(e.callbacks=null,e=0;ea?a:8;var o=F.T,i={};F.T=i,a7(e,!1,t,n);try{var u=l(),s=F.S;if(null!==s&&s(i,u),null!==u&&"object"==typeof u&&"function"==typeof u.then){var c,f,d=(c=[],f={status:"pending",value:null,reason:null,then:function(e){c.push(e)}},u.then(function(){f.status="fulfilled",f.value=r;for(var e=0;e title"))),sm(a,r,n),a[eM]=e,eG(a),r=a;break e;case"link":var o=s4("link","href",l).get(r+(n.href||""));if(o){for(var i=0;ii)break;var c=u.transferSize,f=u.initiatorType;c&&sh(f)&&(o+=c*((u=u.responseEnd)s5?50:800)+h);return m.unsuspend=e,function(){m.unsuspend=null,clearTimeout(t),clearTimeout(n)}}:null)){ut=a,e.cancelPendingCommit=g(uz.bind(null,e,t,a,n,r,l,o,i,u,c,f,null,d,p)),ud(e,a,o,!s);return}}uz(e,t,a,n,r,l,o,i,u)}function ud(e,t,n,r){t&=~iX,t&=~iG,e.suspendedLanes|=t,e.pingedLanes&=~t,r&&(e.warmLanes|=t),r=e.expirationTimes;for(var l=t;0<\/script>",a=a.removeChild(a.firstChild);break;case"select":a="string"==typeof r.is?o.createElement("select",{is:r.is}):o.createElement("select"),r.multiple?a.multiple=!0:r.size&&(a.size=r.size);break;default:a="string"==typeof r.is?o.createElement(l,{is:r.is}):o.createElement(l)}}a[eM]=t,a[eI]=r;e:for(o=t.child;null!==o;){if(5===o.tag||6===o.tag)a.appendChild(o.stateNode);else if(4!==o.tag&&27!==o.tag&&null!==o.child){o.child.return=o,o=o.child;continue}if(o===t)break;for(;null===o.sibling;){if(null===o.return||o.return===t)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}switch(t.stateNode=a,sm(a,l,r),l){case"button":case"input":case"select":case"textarea":r=!!r.autoFocus;break;case"img":r=!0;break;default:r=!1}r&&oY(t)}}return o0(t),oG(t,t.type,null===e?null:e.memoizedProps,t.pendingProps,n),null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&oY(t);else{if("string"!=typeof r&&null===t.stateNode)throw Error(u(166));if(e=B.current,rA(t)){if(e=t.stateNode,n=t.memoizedProps,r=null,null!==(l=rz))switch(l.tag){case 27:case 5:r=l.memoizedProps}e[eM]=t,(e=!!(e.nodeValue===n||null!==r&&!0===r.suppressHydrationWarning||sf(e.nodeValue,n)))||rD(t,!0)}else(e=sv(e).createTextNode(r))[eM]=t,t.stateNode=e}return o0(t),null;case 31:if(n=t.memoizedState,null===e||null!==e.memoizedState){if(r=rA(t),null!==n){if(null===e){if(!r)throw Error(u(318));if(!(e=null!==(e=t.memoizedState)?e.dehydrated:null))throw Error(u(557));e[eM]=t}else rM(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;o0(t),e=!1}else n=rI(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=n),e=!0;if(!e){if(256&t.flags)return lW(t),t;return lW(t),null}if(0!=(128&t.flags))throw Error(u(558))}return o0(t),null;case 13:if(r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(l=rA(t),null!==r&&null!==r.dehydrated){if(null===e){if(!l)throw Error(u(318));if(!(l=null!==(l=t.memoizedState)?l.dehydrated:null))throw Error(u(317));l[eM]=t}else rM(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;o0(t),l=!1}else l=rI(),null!==e&&null!==e.memoizedState&&(e.memoizedState.hydrationErrors=l),l=!0;if(!l){if(256&t.flags)return lW(t),t;return lW(t),null}}if(lW(t),0!=(128&t.flags))return t.lanes=n,t;return n=null!==r,e=null!==e&&null!==e.memoizedState,n&&(r=t.child,l=null,null!==r.alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(l=r.alternate.memoizedState.cachePool.pool),a=null,null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(a=r.memoizedState.cachePool.pool),a!==l&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),oZ(t,t.updateQueue),o0(t),null;case 4:return q(),null===e&&st(t.stateNode.containerInfo),o0(t),null;case 10:return rB(t.type),o0(t),null;case 19:if(j(lq),null===(r=t.memoizedState))return o0(t),null;if(l=0!=(128&t.flags),null===(a=r.rendering)){if(l)oJ(r,!1);else{if(0!==iK||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(a=lK(e))){for(t.flags|=128,oJ(r,!1),e=a.updateQueue,t.updateQueue=e,oZ(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)ra(n,e),n=n.sibling;return H(lq,1&lq.current|2),rN&&rS(t,r.treeForkCount),t.child}e=e.sibling}null!==r.tail&&ea()>i8&&(t.flags|=128,l=!0,oJ(r,!1),t.lanes=4194304)}}else{if(!l){if(null!==(e=lK(a))){if(t.flags|=128,l=!0,e=e.updateQueue,t.updateQueue=e,oZ(t,e),oJ(r,!0),null===r.tail&&"hidden"===r.tailMode&&!a.alternate&&!rN)return o0(t),null}else 2*ea()-r.renderingStartTime>i8&&0x20000000!==n&&(t.flags|=128,l=!0,oJ(r,!1),t.lanes=4194304)}r.isBackwards?(a.sibling=t.child,t.child=a):(null!==(e=r.last)?e.sibling=a:t.child=a,r.last=a)}if(null!==r.tail)return e=r.tail,r.rendering=e,r.tail=e.sibling,r.renderingStartTime=ea(),e.sibling=null,n=lq.current,H(lq,l?1&n|2:1&n),rN&&rS(t,r.treeForkCount),e;return o0(t),null;case 22:case 23:return lW(t),lU(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r?0!=(0x20000000&n)&&0==(128&t.flags)&&(o0(t),6&t.subtreeFlags&&(t.flags|=8192)):o0(t),null!==(n=t.updateQueue)&&oZ(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&j(lt),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),rB(r2),o0(t),null;case 25:case 30:return null}throw Error(u(156,t.tag))}(t.alternate,t,iq);if(null!==n){ij=n;return}if(null!==(t=t.sibling)){ij=t;return}ij=t=e}while(null!==t);0===iK&&(iK=5)}function u_(e,t){do{var n=function(e,t){switch(rC(t),t.tag){case 1:return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 3:return rB(r2),q(),0!=(65536&(e=t.flags))&&0==(128&e)?(t.flags=-65537&e|128,t):null;case 26:case 27:case 5:return Y(t),null;case 31:if(null!==t.memoizedState){if(lW(t),null===t.alternate)throw Error(u(340));rM()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 13:if(lW(t),null!==(e=t.memoizedState)&&null!==e.dehydrated){if(null===t.alternate)throw Error(u(340));rM()}return 65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 19:return j(lq),null;case 4:return q(),null;case 10:return rB(t.type),null;case 22:case 23:return lW(t),lU(),null!==e&&j(lt),65536&(e=t.flags)?(t.flags=-65537&e|128,t):null;case 24:return rB(r2),null;default:return null}}(e.alternate,e);if(null!==n){n.flags&=32767,ij=n;return}if(null!==(n=e.return)&&(n.flags|=32768,n.subtreeFlags=0,n.deletions=null),!t&&null!==(e=e.sibling)){ij=e;return}ij=e=n}while(null!==e);iK=6,ij=null}function uz(e,t,n,r,l,a,o,i,s){e.cancelPendingCommit=null;do uO();while(0!==i9);if(0!=(6&iI))throw Error(u(327));if(null!==t){if(t===e.current)throw Error(u(177));if(!function(e,t,n,r,l,a){var o=e.pendingLanes;e.pendingLanes=n,e.suspendedLanes=0,e.pingedLanes=0,e.warmLanes=0,e.expiredLanes&=n,e.entangledLanes&=n,e.errorRecoveryDisabledLanes&=n,e.shellSuspendCounter=0;var i=e.entanglements,u=e.expirationTimes,s=e.hiddenUpdates;for(n=o&~n;0g&&(o=g,g=h,h=o);var y=nT(i,h),v=nT(i,g);if(y&&v&&(1!==p.rangeCount||p.anchorNode!==y.node||p.anchorOffset!==y.offset||p.focusNode!==v.node||p.focusOffset!==v.offset)){var b=f.createRange();b.setStart(y.node,y.offset),p.removeAllRanges(),h>g?(p.addRange(b),p.extend(v.node,v.offset)):(b.setEnd(v.node,v.offset),p.addRange(b))}}}}for(f=[],p=i;p=p.parentNode;)1===p.nodeType&&f.push({element:p,left:p.scrollLeft,top:p.scrollTop});for("function"==typeof i.focus&&i.focus(),i=0;in?32:n,F.T=null,n=ur,ur=null;var a=i7,o=ut;if(i9=0,ue=i7=null,ut=0,0!=(6&iI))throw Error(u(331));var i=iI;if(iI|=4,iF(a.current),iz(a,a.current,o,n),iI=i,uK(0,!1),eh&&"function"==typeof eh.onPostCommitFiberRoot)try{eh.onPostCommitFiberRoot(em,a)}catch(e){}return!0}finally{R.p=l,F.T=r,uL(e,t)}}function uF(e,t,n){t=rd(n,t),t=oy(e.stateNode,t,2),null!==(e=lz(e,t,2))&&(eP(e,2),uq(e))}function uR(e,t,n){if(3===e.tag)uF(e,e,n);else for(;null!==t;){if(3===t.tag){uF(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===i5||!i5.has(r))){e=rd(n,e),null!==(r=lz(t,n=ov(2),2))&&(ob(n,r,t,e),eP(r,2),uq(r));break}}t=t.return}}function uA(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new iM;var l=new Set;r.set(t,l)}else void 0===(l=r.get(t))&&(l=new Set,r.set(t,l));l.has(n)||(iW=!0,l.add(n),e=uM.bind(null,e,t,n),t.then(e,e))}function uM(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,e.warmLanes&=~n,iU===e&&(iH&n)===n&&(4===iK||3===iK&&(0x3c00000&iH)===iH&&300>ea()-i3?0==(2&iI)&&uh(e,0):iX|=n,iJ===iH&&(iJ=0)),uq(e)}function uI(e,t){0===t&&(t=e_()),null!==(e=n5(e,t))&&(eP(e,t),uq(e))}function uU(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),uI(e,n)}function uj(e,t){var n=0;switch(e.tag){case 31:case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(n=l.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(u(314))}null!==r&&r.delete(t),uI(e,n)}var uH=null,u$=null,uV=!1,uB=!1,uQ=!1,uW=0;function uq(e){e!==u$&&null===e.next&&(null===u$?uH=u$=e:u$=u$.next=e),uB=!0,uV||(uV=!0,s_(function(){0!=(6&iI)?et(ei,uY):uG()}))}function uK(e,t){if(!uQ&&uB){uQ=!0;do for(var n=!1,r=uH;null!==r;){if(!t){if(0!==e){var l=r.pendingLanes;if(0===l)var a=0;else{var o=r.suspendedLanes,i=r.pingedLanes;a=0xc000095&(a=(1<<31-ey(42|e)+1)-1&(l&~(o&~i)))?0xc000095&a|1:a?2|a:0}0!==a&&(n=!0,uJ(r,a))}else a=iH,0==(3&(a=ex(r,r===iU?a:0,null!==r.cancelPendingCommit||-1!==r.timeoutHandle)))||eC(r,a)||(n=!0,uJ(r,a))}r=r.next}while(n);uQ=!1}}function uY(){uG()}function uG(){uB=uV=!1;var e,t=0;0===uW||((e=window.event)&&"popstate"===e.type?e===sS||(sS=e,0):(sS=null,1))||(t=uW);for(var n=ea(),r=null,l=uH;null!==l;){var a=l.next,o=uX(l,n);0===o?(l.next=null,null===r?uH=a:r.next=a,null===a&&(u$=r)):(r=l,(0!==t||0!=(3&o))&&(uB=!0)),l=a}0!==i9&&5!==i9||uK(t,!1),0!==uW&&(uW=0)}function uX(e,t){for(var n=e.suspendedLanes,r=e.pingedLanes,l=e.expirationTimes,a=-0x3c00001&e.pendingLanes;0 title"):null)}function s6(e){return"stylesheet"!==e.type||0!=(3&e.state.loading)}var s5=0;function s9(){if(this.count--,0===this.count&&(0===this.imgCount||!this.waitingForImages)){if(this.stylesheets)ce(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var s7=null;function ce(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,s7=new Map,t.forEach(ct,e),s7=null,s9.call(e))}function ct(e,t){if(!(4&t.state.loading)){var n=s7.get(e);if(n)var r=n.get(null);else{n=new Map,s7.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a{var r=n(6540);function l(e){var t="https://react.dev/errors/"+e;if(1{!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(1247)},961:(e,t,n)=>{!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(6221)},9698:(e,t)=>{var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function l(e,t,r){var l=null;if(void 0!==r&&(l=""+r),void 0!==t.key&&(l=""+t.key),"key"in t)for(var a in r={},t)"key"!==a&&(r[a]=t[a]);else r=t;return{$$typeof:n,type:e,key:l,ref:void 0!==(t=r.ref)?t:null,props:r}}t.Fragment=r,t.jsx=l,t.jsxs=l},9869:(e,t,n)=>{var r=n(7836),l=Symbol.for("react.transitional.element"),a=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),i=Symbol.for("react.strict_mode"),u=Symbol.for("react.profiler"),s=Symbol.for("react.consumer"),c=Symbol.for("react.context"),f=Symbol.for("react.forward_ref"),d=Symbol.for("react.suspense"),p=Symbol.for("react.memo"),m=Symbol.for("react.lazy"),h=Symbol.for("react.activity"),g=Symbol.iterator,y={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},v=Object.assign,b={};function k(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||y}function w(){}function S(e,t,n){this.props=e,this.context=t,this.refs=b,this.updater=n||y}k.prototype.isReactComponent={},k.prototype.setState=function(e,t){if("object"!=typeof e&&"function"!=typeof e&&null!=e)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")},k.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")},w.prototype=k.prototype;var E=S.prototype=new w;E.constructor=S,v(E,k.prototype),E.isPureReactComponent=!0;var x=Array.isArray;function C(){}var _={H:null,A:null,T:null,S:null},z=Object.prototype.hasOwnProperty;function P(e,t,n){var r=n.ref;return{$$typeof:l,type:e,key:t,ref:void 0!==r?r:null,props:n}}function N(e){return"object"==typeof e&&null!==e&&e.$$typeof===l}var T=/\/+/g;function L(e,t){var n,r;return"object"==typeof e&&null!==e&&null!=e.key?(n=""+e.key,r={"=":"=0",":":"=2"},"$"+n.replace(/[=:]/g,function(e){return r[e]})):t.toString(36)}function O(e,t,n){if(null==e)return e;var r=[],o=0;return!function e(t,n,r,o,i){var u,s,c,f=typeof t;("undefined"===f||"boolean"===f)&&(t=null);var d=!1;if(null===t)d=!0;else switch(f){case"bigint":case"string":case"number":d=!0;break;case"object":switch(t.$$typeof){case l:case a:d=!0;break;case m:return e((d=t._init)(t._payload),n,r,o,i)}}if(d)return i=i(t),d=""===o?"."+L(t,0):o,x(i)?(r="",null!=d&&(r=d.replace(T,"$&/")+"/"),e(i,n,r,"",function(e){return e})):null!=i&&(N(i)&&(u=i,s=r+(null==i.key||t&&t.key===i.key?"":(""+i.key).replace(T,"$&/")+"/")+d,i=P(u.type,s,u.props)),n.push(i)),1;d=0;var p=""===o?".":o+":";if(x(t))for(var h=0;h{e.exports=n(9869)},4848:(e,t,n)=>{e.exports=n(9698)},4477:(e,t)=>{function n(e,t){var n=e.length;for(e.push(t);0>>1,l=e[r];if(0>>1;ra(u,n))sa(c,u)?(e[r]=c,e[s]=n,r=s):(e[r]=u,e[i]=n,r=i);else if(sa(c,n))e[r]=c,e[s]=n,r=s;else break}}return t}function a(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var o,i=performance;t.unstable_now=function(){return i.now()}}else{var u=Date,s=u.now();t.unstable_now=function(){return u.now()-s}}var c=[],f=[],d=1,p=null,m=3,h=!1,g=!1,y=!1,v=!1,b="function"==typeof setTimeout?setTimeout:null,k="function"==typeof clearTimeout?clearTimeout:null,w="undefined"!=typeof setImmediate?setImmediate:null;function S(e){for(var t=r(f);null!==t;){if(null===t.callback)l(f);else if(t.startTime<=e)l(f),t.sortIndex=t.expirationTime,n(c,t);else break;t=r(f)}}function E(e){if(y=!1,S(e),!g){if(null!==r(c))g=!0,x||(x=!0,o());else{var t=r(f);null!==t&&O(E,t.startTime-e)}}}var x=!1,C=-1,_=5,z=-1;function P(){return!!v||!(t.unstable_now()-z<_)}function N(){if(v=!1,x){var e=t.unstable_now();z=e;var n=!0;try{e:{g=!1,y&&(y=!1,k(C),C=-1),h=!0;var a=m;try{t:{for(S(e),p=r(c);null!==p&&!(p.expirationTime>e&&P());){var i=p.callback;if("function"==typeof i){p.callback=null,m=p.priorityLevel;var u=i(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof u){p.callback=u,S(e),n=!0;break t}p===r(c)&&l(c),S(e)}else l(c);p=r(c)}if(null!==p)n=!0;else{var s=r(f);null!==s&&O(E,s.startTime-e),n=!1}}break e}finally{p=null,m=a,h=!1}n=void 0}}finally{n?o():x=!1}}}if("function"==typeof w)o=function(){w(N)};else if("undefined"!=typeof MessageChannel){var T=new MessageChannel,L=T.port2;T.port1.onmessage=N,o=function(){L.postMessage(null)}}else o=function(){b(N,0)};function O(e,n){C=b(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_forceFrameRate=function(e){0>e||125i?(e.sortIndex=a,n(f,e),null===r(c)&&e===r(f)&&(y?(k(C),C=-1):y=!0,O(E,a-i))):(e.sortIndex=u,n(c,e),g||h||(g=!0,x||(x=!0,o()))),e},t.unstable_shouldYield=P,t.unstable_wrapCallback=function(e){var t=m;return function(){var n=m;m=t;try{return e.apply(this,arguments)}finally{m=n}}}},9982:(e,t,n)=>{e.exports=n(4477)}}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-7c5d8e9217f561df.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-7c5d8e9217f561df.js deleted file mode 100644 index be84ff9c..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-7c5d8e9217f561df.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[792],{8925:(e,t)=>{"use strict";function r(){return""}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getDeploymentIdQueryOrEmptyString",{enumerable:!0,get:function(){return r}})},4599:()=>{"trimStart"in String.prototype||(String.prototype.trimStart=String.prototype.trimLeft),"trimEnd"in String.prototype||(String.prototype.trimEnd=String.prototype.trimRight),"description"in Symbol.prototype||Object.defineProperty(Symbol.prototype,"description",{configurable:!0,get:function(){var e=/\((.*)\)/.exec(this.toString());return e?e[1]:void 0}}),Array.prototype.flat||(Array.prototype.flat=function(e,t){return t=this.concat.apply([],this),e>1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(r){return t.resolve(e()).then(function(){return r})},function(r){return t.resolve(e()).then(function(){throw r})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)}),"canParse"in URL||(URL.canParse=function(e,t){try{return new URL(e,t),!0}catch(e){return!1}})},7836:(e,t,r)=>{"use strict";var n,o;e.exports=(null==(n=r.g.process)?void 0:n.env)&&"object"==typeof(null==(o=r.g.process)?void 0:o.env)?r.g.process:r(5307)},5371:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return a}});let n=r(4782),o=r(6094);function a(e,t){return(0,o.normalizePathTrailingSlash)((0,n.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3912:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return n}}),r(6094);let n=function(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{HTTPAccessErrorStatus:function(){return r},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return o},getAccessFallbackErrorTypeByStatus:function(){return s},getAccessFallbackHTTPStatus:function(){return i},isHTTPAccessFallbackError:function(){return a}});let r={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},n=new Set(Object.values(r)),o="NEXT_HTTP_ERROR_FALLBACK";function a(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===o&&n.has(Number(r))}function i(e){return Number(e.digest.split(";")[1])}function s(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7092:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return a}});let n=r(2746),o=r(6700);function a(e){return(0,o.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3290:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSocketUrl",{enumerable:!0,get:function(){return o}});let n=r(8487);function o(e){let t=(0,n.normalizedAssetPrefix)(e),r=function(e){let t=window.location.protocol;try{t=new URL(e).protocol}catch(e){}return"http:"===t?"ws:":"wss:"}(e||"");if(URL.canParse(t))return t.replace(/^http/,"ws");let{hostname:o,port:a}=window.location;return r+"//"+o+(a?":"+a:"")+t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5711:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getReactStitchedError",{enumerable:!0,get:function(){return l}});let n=r(7677),o=n._(r(6540)),a=n._(r(3382)),i="react-stack-bottom-frame",s=RegExp("(at "+i+" )|("+i+"\\@)"),u=o.default.captureOwnerStack?o.default.captureOwnerStack:()=>"";function l(e){if("function"!=typeof o.default.captureOwnerStack)return e;let t=(0,a.default)(e),r=t&&e.stack||"",n=t?e.message:"",i=r.split("\n"),l=i.findIndex(e=>s.test(e)),c=l>=0?i.slice(0,l).join("\n"):r,d=Error(n);return Object.assign(d,e),d.stack=c,function(e){let t=e.stack||"",r=u();r&&!1===t.endsWith(r)&&(t+=r,e.stack=t)}(d),d}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2924:(e,t,r)=>{"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{addMessageListener:function(){return s},connectHMR:function(){return f},sendMessage:function(){return u}});let o=r(365),a=r(3290),i=[];function s(e){i.push(e)}function u(e){if(n&&n.readyState===n.OPEN)return n.send(e)}let l=0,c=!1,d=null;function f(e){!function t(){let r;function s(){if(n.onerror=null,n.onclose=null,n.close(),++l>25){c=!0,window.location.reload();return}clearTimeout(r),r=setTimeout(t,l>5?5e3:1e3)}n&&n.close();let u=(0,a.getSocketUrl)(e.assetPrefix);(n=new window.WebSocket(""+u+e.path)).onopen=function(){l=0,window.console.log("[HMR] connected")},n.onerror=s,n.onclose=s,n.onmessage=function(e){if(c)return;let t=JSON.parse(e.data);if("action"in t&&t.action===o.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED){if(null!==d&&d!==t.data.sessionId){window.location.reload(),c=!0;return}d=t.data.sessionId}for(let e of i)e(t)}}()}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6700:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{REDIRECT_ERROR_CODE:function(){return o},RedirectType:function(){return a},isRedirectError:function(){return i}});let n=r(4618),o="NEXT_REDIRECT";var a=function(e){return e.push="push",e.replace="replace",e}({});function i(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,a]=t,i=t.slice(2,-2).join(";"),s=Number(t.at(-2));return r===o&&("replace"===a||"push"===a)&&"string"==typeof i&&!isNaN(s)&&s in n.RedirectStatusCode}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4618:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return r}});var r=function(e){return e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e}({});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6023:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"detectDomainLocale",{enumerable:!0,get:function(){return r}});let r=function(){for(var e=arguments.length,t=Array(e),r=0;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let n=r(9211);function o(e){return(0,n.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4264:(e,t,r)=>{"use strict";let n;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return i},isEqualNode:function(){return a}});let o=r(9592);function a(e,t){if(e instanceof HTMLElement&&t instanceof HTMLElement){let r=t.getAttribute("nonce");if(r&&!e.getAttribute("nonce")){let n=t.cloneNode(!0);return n.setAttribute("nonce",""),n.nonce=r,r===e.nonce&&e.isEqualNode(n)}}return e.isEqualNode(t)}function i(){return{mountedInstances:new Set,updateHead:e=>{let t={};e.forEach(e=>{if("link"===e.type&&e.props["data-optimized-fonts"]){if(document.querySelector('style[data-href="'+e.props["data-href"]+'"]'))return;e.props.href=e.props["data-href"],e.props["data-href"]=void 0}let r=t[e.type]||[];r.push(e),t[e.type]=r});let r=t.title?t.title[0]:null,o="";if(r){let{children:e}=r.props;o="string"==typeof e?e:Array.isArray(e)?e.join(""):""}o!==document.title&&(document.title=o),["meta","base","link","style","script"].forEach(e=>{n(e,t[e]||[])})}}}n=(e,t)=>{let r=document.querySelector("head");if(!r)return;let n=new Set(r.querySelectorAll(""+e+"[data-next-head]"));if("meta"===e){let e=r.querySelector("meta[charset]");null!==e&&n.add(e)}let i=[];for(let e=0;e{"use strict";let n,o,a,i,s,u,l,c,d,f,p,h;Object.defineProperty(t,"__esModule",{value:!0});let _=r(544);Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{emitter:function(){return q},hydrate:function(){return ec},initialize:function(){return Y},router:function(){return n},version:function(){return G}});let m=r(7677),g=r(4848);r(4599);let y=m._(r(6540)),P=m._(r(5338)),b=r(7592),E=m._(r(8840)),v=r(4671),S=r(4203),R=r(4220),O=r(2319),j=r(2438),T=r(4881),A=r(3097),w=m._(r(4264)),I=m._(r(6363)),C=r(1497),M=r(4009),x=r(3382),N=r(2454),L=r(2922),D=r(9568),U=r(3489),k=r(1138),F=r(4168),B=r(5294),H=m._(r(2862)),W=m._(r(6353));r(7092);let G="15.1.7",q=(0,E.default)(),X=e=>[].slice.call(e),V=!1;class z extends y.default.Component{componentDidCatch(e,t){this.props.fn(e,t)}componentDidMount(){this.scrollToHash(),n.isSsr&&(o.isFallback||o.nextExport&&((0,R.isDynamicRoute)(n.pathname)||location.search||V)||o.props&&o.props.__N_SSG&&(location.search||V))&&n.replace(n.pathname+"?"+String((0,O.assign)((0,O.urlQueryToSearchParams)(n.query),new URLSearchParams(location.search))),a,{_h:1,shallow:!o.isFallback&&!V}).catch(e=>{if(!e.cancelled)throw e})}componentDidUpdate(){this.scrollToHash()}scrollToHash(){let{hash:e}=location;if(!(e=e&&e.substring(1)))return;let t=document.getElementById(e);t&&setTimeout(()=>t.scrollIntoView(),0)}render(){return this.props.children}}async function Y(e){void 0===e&&(e={}),H.default.onSpanEnd(W.default),o=JSON.parse(document.getElementById("__NEXT_DATA__").textContent),window.__NEXT_DATA__=o,h=o.defaultLocale;let t=o.assetPrefix||"";if(self.__next_set_public_path__(""+t+"/_next/"),(0,j.setConfig)({serverRuntimeConfig:{},publicRuntimeConfig:o.runtimeConfig||{}}),a=(0,T.getURL)(),(0,D.hasBasePath)(a)&&(a=(0,L.removeBasePath)(a)),o.scriptLoader){let{initScriptLoader:e}=r(4811);e(o.scriptLoader)}i=new I.default(o.buildId,t);let l=e=>{let[t,r]=e;return i.routeLoader.onEntrypoint(t,r)};return window.__NEXT_P&&window.__NEXT_P.map(e=>setTimeout(()=>l(e),0)),window.__NEXT_P=[],window.__NEXT_P.push=l,(u=(0,w.default)()).getIsSsr=()=>n.isSsr,s=document.getElementById("__next"),{assetPrefix:t}}function K(e,t){return(0,g.jsx)(e,{...t})}function $(e){var t;let{children:r}=e,o=y.default.useMemo(()=>(0,k.adaptForAppRouterInstance)(n),[]);return(0,g.jsx)(z,{fn:e=>J({App:d,err:e}).catch(e=>console.error("Error rendering page: ",e)),children:(0,g.jsx)(U.AppRouterContext.Provider,{value:o,children:(0,g.jsx)(F.SearchParamsContext.Provider,{value:(0,k.adaptForSearchParams)(n),children:(0,g.jsx)(k.PathnameContextProviderAdapter,{router:n,isAutoExport:null!=(t=self.__NEXT_DATA__.autoExport)&&t,children:(0,g.jsx)(F.PathParamsContext.Provider,{value:(0,k.adaptForPathParams)(n),children:(0,g.jsx)(v.RouterContext.Provider,{value:(0,M.makePublicRouterInstance)(n),children:(0,g.jsx)(b.HeadManagerContext.Provider,{value:u,children:(0,g.jsx)(N.ImageConfigContext.Provider,{value:{deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image/",loader:"default",dangerouslyAllowSVG:!1,unoptimized:!0},children:r})})})})})})})})}let Q=e=>t=>{let r={...t,Component:p,err:o.err,router:n};return(0,g.jsx)($,{children:K(e,r)})};function J(e){let{App:t,err:s}=e;return console.error(s),console.error("A client-side exception has occurred, see here for more info: https://nextjs.org/docs/messages/client-side-exception-occurred"),i.loadPage("/_error").then(n=>{let{page:o,styleSheets:a}=n;return(null==l?void 0:l.Component)===o?Promise.resolve().then(()=>_._(r(6218))).then(n=>Promise.resolve().then(()=>_._(r(5203))).then(r=>(t=r.default,e.App=t,n))).then(e=>({ErrorComponent:e.default,styleSheets:[]})):{ErrorComponent:o,styleSheets:a}}).then(r=>{var i;let{ErrorComponent:u,styleSheets:l}=r,c=Q(t),d={Component:u,AppTree:c,router:n,ctx:{err:s,pathname:o.page,query:o.query,asPath:a,AppTree:c}};return Promise.resolve((null==(i=e.props)?void 0:i.err)?e.props:(0,T.loadGetInitialProps)(t,d)).then(t=>eu({...e,err:s,Component:u,styleSheets:l,props:t}))})}function Z(e){let{callback:t}=e;return y.default.useLayoutEffect(()=>t(),[t]),null}let ee={navigationStart:"navigationStart",beforeRender:"beforeRender",afterRender:"afterRender",afterHydrate:"afterHydrate",routeChange:"routeChange"},et={hydration:"Next.js-hydration",beforeHydration:"Next.js-before-hydration",routeChangeToRender:"Next.js-route-change-to-render",render:"Next.js-render"},er=null,en=!0;function eo(){[ee.beforeRender,ee.afterHydrate,ee.afterRender,ee.routeChange].forEach(e=>performance.clearMarks(e))}function ea(){T.ST&&(performance.mark(ee.afterHydrate),performance.getEntriesByName(ee.beforeRender,"mark").length&&(performance.measure(et.beforeHydration,ee.navigationStart,ee.beforeRender),performance.measure(et.hydration,ee.beforeRender,ee.afterHydrate)),f&&performance.getEntriesByName(et.hydration).forEach(f),eo())}function ei(){if(!T.ST)return;performance.mark(ee.afterRender);let e=performance.getEntriesByName(ee.routeChange,"mark");e.length&&(performance.getEntriesByName(ee.beforeRender,"mark").length&&(performance.measure(et.routeChangeToRender,e[0].name,ee.beforeRender),performance.measure(et.render,ee.beforeRender,ee.afterRender),f&&(performance.getEntriesByName(et.render).forEach(f),performance.getEntriesByName(et.routeChangeToRender).forEach(f))),eo(),[et.routeChangeToRender,et.render].forEach(e=>performance.clearMeasures(e)))}function es(e){let{callbacks:t,children:r}=e;return y.default.useLayoutEffect(()=>t.forEach(e=>e()),[t]),r}function eu(e){let t,{App:r,Component:o,props:a,err:i}=e,u="initial"in e?void 0:e.styleSheets;o=o||l.Component;let d={...a=a||l.props,Component:o,err:i,router:n};l=d;let f=!1,p=new Promise((e,r)=>{c&&c(),t=()=>{c=null,e()},c=()=>{f=!0,c=null;let e=Error("Cancel rendering route");e.cancelled=!0,r(e)}});function h(){t()}!function(){if(!u)return;let e=new Set(X(document.querySelectorAll("style[data-n-href]")).map(e=>e.getAttribute("data-n-href"))),t=document.querySelector("noscript[data-n-css]"),r=null==t?void 0:t.getAttribute("data-n-css");u.forEach(t=>{let{href:n,text:o}=t;if(!e.has(n)){let e=document.createElement("style");e.setAttribute("data-n-href",n),e.setAttribute("media","x"),r&&e.setAttribute("nonce",r),document.head.appendChild(e),e.appendChild(document.createTextNode(o))}})}();let _=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(Z,{callback:function(){if(u&&!f){let e=new Set(u.map(e=>e.href)),t=X(document.querySelectorAll("style[data-n-href]")),r=t.map(e=>e.getAttribute("data-n-href"));for(let n=0;n{let{href:t}=e,r=document.querySelector('style[data-n-href="'+t+'"]');r&&(n.parentNode.insertBefore(r,n.nextSibling),n=r)}),X(document.querySelectorAll("link[data-n-p]")).forEach(e=>{e.parentNode.removeChild(e)})}if(e.scroll){let{x:t,y:r}=e.scroll;(0,S.handleSmoothScroll)(()=>{window.scrollTo(t,r)})}}}),(0,g.jsxs)($,{children:[K(r,d),(0,g.jsx)(A.Portal,{type:"next-route-announcer",children:(0,g.jsx)(C.RouteAnnouncer,{})})]})]});return!function(e,t){T.ST&&performance.mark(ee.beforeRender);let r=t(en?ea:ei);er?(0,y.default.startTransition)(()=>{er.render(r)}):(er=P.default.hydrateRoot(e,r,{onRecoverableError:B.onRecoverableError}),en=!1)}(s,e=>(0,g.jsx)(es,{callbacks:[e,h],children:_})),p}async function el(e){if(e.err&&(void 0===e.Component||!e.isHydratePass)){await J(e);return}try{await eu(e)}catch(r){let t=(0,x.getProperError)(r);if(t.cancelled)throw t;await J({...e,err:t})}}async function ec(e){let t=o.err;try{let e=await i.routeLoader.whenEntrypoint("/_app");if("error"in e)throw e.error;let{component:t,exports:r}=e;d=t,r&&r.reportWebVitals&&(f=e=>{let t,{id:n,name:o,startTime:a,value:i,duration:s,entryType:u,entries:l,attribution:c}=e,d=Date.now()+"-"+(Math.floor(Math.random()*(9e12-1))+1e12);l&&l.length&&(t=l[0].startTime);let f={id:n||d,name:o,startTime:a||t,value:null==i?s:i,label:"mark"===u||"measure"===u?"custom":"web-vital"};c&&(f.attribution=c),r.reportWebVitals(f)});let n=await i.routeLoader.whenEntrypoint(o.page);if("error"in n)throw n.error;p=n.component}catch(e){t=(0,x.getProperError)(e)}window.__NEXT_PRELOADREADY&&await window.__NEXT_PRELOADREADY(o.dynamicIds),n=(0,M.createRouter)(o.page,o.query,a,{initialProps:o.props,pageLoader:i,App:d,Component:p,wrapApp:Q,err:t,isFallback:!!o.isFallback,subscription:(e,t,r)=>el(Object.assign({},e,{App:t,scroll:r})),locale:o.locale,locales:o.locales,defaultLocale:h,domainLocales:o.domainLocales,isPreview:o.isPreview}),V=await n._initialMatchesMiddlewarePromise;let r={App:d,initial:!0,Component:p,props:o.props,err:t,isHydratePass:!0};(null==e?void 0:e.beforeRender)&&await e.beforeRender(),el(r)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7693:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(3185);let n=r(9402);window.next={version:n.version,get router(){return n.router},emitter:n.emitter},(0,n.initialize)({}).then(()=>(0,n.hydrate)()).catch(console.error),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6094:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return a}});let n=r(6053),o=r(281),a=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:r,hash:a}=(0,o.parsePath)(e);return/\.[^/]+\/?$/.test(t)?""+(0,n.removeTrailingSlash)(t)+r+a:t.endsWith("/")?""+t+r+a:t+"/"+r+a};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6363:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return f}});let n=r(7677),o=r(5371),a=r(1198),i=n._(r(5060)),s=r(3912),u=r(4220),l=r(1242),c=r(6053),d=r(3931);r(5661);class f{getPageList(){return(0,d.getClientBuildManifest)().then(e=>e.sortedPages)}getMiddleware(){return window.__MIDDLEWARE_MATCHERS=[],window.__MIDDLEWARE_MATCHERS}getDataHref(e){let{asPath:t,href:r,locale:n}=e,{pathname:d,query:f,search:p}=(0,l.parseRelativeUrl)(r),{pathname:h}=(0,l.parseRelativeUrl)(t),_=(0,c.removeTrailingSlash)(d);if("/"!==_[0])throw Error('Route name should start with a "/", got "'+_+'"');return(e=>{let t=(0,i.default)((0,c.removeTrailingSlash)((0,s.addLocale)(e,n)),".json");return(0,o.addBasePath)("/_next/data/"+this.buildId+t+p,!0)})(e.skipInterpolation?h:(0,u.isDynamicRoute)(_)?(0,a.interpolateAs)(d,h,f).result:_)}_isSsg(e){return this.promisedSsgManifest.then(t=>t.has(e))}loadPage(e){return this.routeLoader.loadRoute(e).then(e=>{if("component"in e)return{page:e.component,mod:e.exports,styleSheets:e.styles.map(e=>({href:e.href,text:e.content}))};throw e.error})}prefetch(e){return this.routeLoader.prefetch(e)}constructor(e,t){this.routeLoader=(0,d.createRouteLoader)(t),this.buildId=e,this.assetPrefix=t,this.promisedSsgManifest=new Promise(e=>{window.__SSG_MANIFEST?e(window.__SSG_MANIFEST):window.__SSG_MANIFEST_CB=()=>{e(window.__SSG_MANIFEST)}})}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3097:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"Portal",{enumerable:!0,get:function(){return a}});let n=r(6540),o=r(961),a=e=>{let{children:t,type:r}=e,[a,i]=(0,n.useState)(null);return(0,n.useEffect)(()=>{let e=document.createElement(r);return document.body.appendChild(e),i(e),()=>{document.body.removeChild(e)}},[r]),a?(0,o.createPortal)(t,a):null};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8142:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reportGlobalError",{enumerable:!0,get:function(){return r}});let r="function"==typeof reportError?reportError:e=>{window.console.error(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5294:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"onRecoverableError",{enumerable:!0,get:function(){return u}});let n=r(7677),o=r(8216),a=r(8142),i=r(5711),s=n._(r(3382)),u=(e,t)=>{let r=(0,s.default)(e)&&"cause"in e?e.cause:e,n=(0,i.getReactStitchedError)(r);(0,o.isBailoutToCSRError)(r)||(0,a.reportGlobalError)(n)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2922:(e,t,r)=>{"use strict";function n(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return n}}),r(9568),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8695:(e,t,r)=>{"use strict";function n(e,t){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeLocale",{enumerable:!0,get:function(){return n}}),r(281),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9820:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{cancelIdleCallback:function(){return n},requestIdleCallback:function(){return r}});let r="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},n="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6846:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return d}});let n=r(2319),o=r(5543),a=r(8445),i=r(4881),s=r(6094),u=r(7262),l=r(574),c=r(1198);function d(e,t,r){let d;let f="string"==typeof t?t:(0,o.formatWithValidation)(t),p=f.match(/^[a-zA-Z]{1,}:\/\//),h=p?f.slice(p[0].length):f;if((h.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+f+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,i.normalizeRepeatedSlashes)(h);f=(p?p[0]:"")+t}if(!(0,u.isLocalURL)(f))return r?[f]:f;try{d=new URL(f.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){d=new URL("/","http://n")}try{let e=new URL(f,d);e.pathname=(0,s.normalizePathTrailingSlash)(e.pathname);let t="";if((0,l.isDynamicRoute)(e.pathname)&&e.searchParams&&r){let r=(0,n.searchParamsToUrlQuery)(e.searchParams),{result:i,params:s}=(0,c.interpolateAs)(e.pathname,e.pathname,r);i&&(t=(0,o.formatWithValidation)({pathname:i,hash:e.hash,query:(0,a.omit)(r,s)}))}let i=e.origin===d.origin?e.href.slice(e.origin.length):e.href;return r?[i,t||i]:i}catch(e){return r?[f]:f}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1497:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{RouteAnnouncer:function(){return u},default:function(){return l}});let n=r(7677),o=r(4848),a=n._(r(6540)),i=r(4009),s={border:0,clip:"rect(0 0 0 0)",height:"1px",margin:"-1px",overflow:"hidden",padding:0,position:"absolute",top:0,width:"1px",whiteSpace:"nowrap",wordWrap:"normal"},u=()=>{let{asPath:e}=(0,i.useRouter)(),[t,r]=a.default.useState(""),n=a.default.useRef(e);return a.default.useEffect(()=>{if(n.current!==e){if(n.current=e,document.title)r(document.title);else{var t;let n=document.querySelector("h1");r((null!=(t=null==n?void 0:n.innerText)?t:null==n?void 0:n.textContent)||e)}}},[e]),(0,o.jsx)("p",{"aria-live":"assertive",id:"__next-route-announcer__",role:"alert",style:s,children:t})},l=u;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3931:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createRouteLoader:function(){return m},getClientBuildManifest:function(){return h},isAssetError:function(){return c},markAssetError:function(){return l}}),r(7677),r(5060);let n=r(3465),o=r(9820),a=r(8925),i=r(503);function s(e,t,r){let n,o=t.get(e);if(o)return"future"in o?o.future:Promise.resolve(o);let a=new Promise(e=>{n=e});return t.set(e,{resolve:n,future:a}),r?r().then(e=>(n(e),e)).catch(r=>{throw t.delete(e),r}):a}let u=Symbol("ASSET_LOAD_ERROR");function l(e){return Object.defineProperty(e,u,{})}function c(e){return e&&u in e}let d=function(e){try{return e=document.createElement("link"),!!window.MSInputMethodContext&&!!document.documentMode||e.relList.supports("prefetch")}catch(e){return!1}}(),f=()=>(0,a.getDeploymentIdQueryOrEmptyString)();function p(e,t,r){return new Promise((n,a)=>{let i=!1;e.then(e=>{i=!0,n(e)}).catch(a),(0,o.requestIdleCallback)(()=>setTimeout(()=>{i||a(r)},t))})}function h(){return self.__BUILD_MANIFEST?Promise.resolve(self.__BUILD_MANIFEST):p(new Promise(e=>{let t=self.__BUILD_MANIFEST_CB;self.__BUILD_MANIFEST_CB=()=>{e(self.__BUILD_MANIFEST),t&&t()}}),3800,l(Error("Failed to load client build manifest")))}function _(e,t){return h().then(r=>{if(!(t in r))throw l(Error("Failed to lookup route: "+t));let o=r[t].map(t=>e+"/_next/"+(0,i.encodeURIPath)(t));return{scripts:o.filter(e=>e.endsWith(".js")).map(e=>(0,n.__unsafeCreateTrustedScriptURL)(e)+f()),css:o.filter(e=>e.endsWith(".css")).map(e=>e+f())}})}function m(e){let t=new Map,r=new Map,n=new Map,a=new Map;function i(e){{var t;let n=r.get(e.toString());return n||(document.querySelector('script[src^="'+e+'"]')?Promise.resolve():(r.set(e.toString(),n=new Promise((r,n)=>{(t=document.createElement("script")).onload=r,t.onerror=()=>n(l(Error("Failed to load script: "+e))),t.crossOrigin=void 0,t.src=e,document.body.appendChild(t)})),n))}}function u(e){let t=n.get(e);return t||n.set(e,t=fetch(e,{credentials:"same-origin"}).then(t=>{if(!t.ok)throw Error("Failed to load stylesheet: "+e);return t.text().then(t=>({href:e,content:t}))}).catch(e=>{throw l(e)})),t}return{whenEntrypoint:e=>s(e,t),onEntrypoint(e,r){(r?Promise.resolve().then(()=>r()).then(e=>({component:e&&e.default||e,exports:e}),e=>({error:e})):Promise.resolve(void 0)).then(r=>{let n=t.get(e);n&&"resolve"in n?r&&(t.set(e,r),n.resolve(r)):(r?t.set(e,r):t.delete(e),a.delete(e))})},loadRoute(r,n){return s(r,a,()=>{let o;return p(_(e,r).then(e=>{let{scripts:n,css:o}=e;return Promise.all([t.has(r)?[]:Promise.all(n.map(i)),Promise.all(o.map(u))])}).then(e=>this.whenEntrypoint(r).then(t=>({entrypoint:t,styles:e[1]}))),3800,l(Error("Route did not complete loading: "+r))).then(e=>{let{entrypoint:t,styles:r}=e,n=Object.assign({styles:r},t);return"error"in t?t:n}).catch(e=>{if(n)throw e;return{error:e}}).finally(()=>null==o?void 0:o())})},prefetch(t){let r;return(r=navigator.connection)&&(r.saveData||/2g/.test(r.effectiveType))?Promise.resolve():_(e,t).then(e=>Promise.all(d?e.scripts.map(e=>{var t,r,n;return t=e.toString(),r="script",new Promise((e,o)=>{if(document.querySelector('\n link[rel="prefetch"][href^="'+t+'"],\n link[rel="preload"][href^="'+t+'"],\n script[src^="'+t+'"]'))return e();n=document.createElement("link"),r&&(n.as=r),n.rel="prefetch",n.crossOrigin=void 0,n.onload=e,n.onerror=()=>o(l(Error("Failed to prefetch: "+t))),n.href=t,document.head.appendChild(n)})}):[])).then(()=>{(0,o.requestIdleCallback)(()=>this.loadRoute(t,!0).catch(()=>{}))}).catch(()=>{})}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4009:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{Router:function(){return a.default},createRouter:function(){return _},default:function(){return p},makePublicRouterInstance:function(){return m},useRouter:function(){return h},withRouter:function(){return u.default}});let n=r(7677),o=n._(r(6540)),a=n._(r(8151)),i=r(4671),s=n._(r(3382)),u=n._(r(4e3)),l={router:null,readyCallbacks:[],ready(e){if(this.router)return e();this.readyCallbacks.push(e)}},c=["pathname","route","query","asPath","components","isFallback","basePath","locale","locales","defaultLocale","isReady","isPreview","isLocaleDomain","domainLocales"],d=["push","replace","reload","back","prefetch","beforePopState"];function f(){if(!l.router)throw Error('No router instance found.\nYou should only use "next/router" on the client side of your app.\n');return l.router}Object.defineProperty(l,"events",{get:()=>a.default.events}),c.forEach(e=>{Object.defineProperty(l,e,{get:()=>f()[e]})}),d.forEach(e=>{l[e]=function(){for(var t=arguments.length,r=Array(t),n=0;n{l.ready(()=>{a.default.events.on(e,function(){for(var t=arguments.length,r=Array(t),n=0;ne()),l.readyCallbacks=[],l.router}function m(e){let t={};for(let r of c){if("object"==typeof e[r]){t[r]=Object.assign(Array.isArray(e[r])?[]:{},e[r]);continue}t[r]=e[r]}return t.events=a.default.events,d.forEach(r=>{t[r]=function(){for(var t=arguments.length,n=Array(t),o=0;o{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return y},handleClientScriptLoad:function(){return _},initScriptLoader:function(){return m}});let n=r(7677),o=r(544),a=r(4848),i=n._(r(961)),s=o._(r(6540)),u=r(7592),l=r(9592),c=r(9820),d=new Map,f=new Set,p=e=>{if(i.default.preinit){e.forEach(e=>{i.default.preinit(e,{as:"style"})});return}{let t=document.head;e.forEach(e=>{let r=document.createElement("link");r.type="text/css",r.rel="stylesheet",r.href=e,t.appendChild(r)})}},h=e=>{let{src:t,id:r,onLoad:n=()=>{},onReady:o=null,dangerouslySetInnerHTML:a,children:i="",strategy:s="afterInteractive",onError:u,stylesheets:c}=e,h=r||t;if(h&&f.has(h))return;if(d.has(t)){f.add(h),d.get(t).then(n,u);return}let _=()=>{o&&o(),f.add(h)},m=document.createElement("script"),g=new Promise((e,t)=>{m.addEventListener("load",function(t){e(),n&&n.call(this,t),_()}),m.addEventListener("error",function(e){t(e)})}).catch(function(e){u&&u(e)});a?(m.innerHTML=a.__html||"",_()):i?(m.textContent="string"==typeof i?i:Array.isArray(i)?i.join(""):"",_()):t&&(m.src=t,d.set(t,g)),(0,l.setAttributesFromProps)(m,e),"worker"===s&&m.setAttribute("type","text/partytown"),m.setAttribute("data-nscript",s),c&&p(c),document.body.appendChild(m)};function _(e){let{strategy:t="afterInteractive"}=e;"lazyOnload"===t?window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>h(e))}):h(e)}function m(e){e.forEach(_),[...document.querySelectorAll('[data-nscript="beforeInteractive"]'),...document.querySelectorAll('[data-nscript="beforePageRender"]')].forEach(e=>{let t=e.id||e.getAttribute("src");f.add(t)})}function g(e){let{id:t,src:r="",onLoad:n=()=>{},onReady:o=null,strategy:l="afterInteractive",onError:d,stylesheets:p,..._}=e,{updateScripts:m,scripts:g,getIsSsr:y,appDir:P,nonce:b}=(0,s.useContext)(u.HeadManagerContext),E=(0,s.useRef)(!1);(0,s.useEffect)(()=>{let e=t||r;E.current||(o&&e&&f.has(e)&&o(),E.current=!0)},[o,t,r]);let v=(0,s.useRef)(!1);if((0,s.useEffect)(()=>{!v.current&&("afterInteractive"===l?h(e):"lazyOnload"===l&&("complete"===document.readyState?(0,c.requestIdleCallback)(()=>h(e)):window.addEventListener("load",()=>{(0,c.requestIdleCallback)(()=>h(e))})),v.current=!0)},[e,l]),("beforeInteractive"===l||"worker"===l)&&(m?(g[l]=(g[l]||[]).concat([{id:t,src:r,onLoad:n,onReady:o,onError:d,..._}]),m(g)):y&&y()?f.add(t||r):y&&!y()&&h(e)),P){if(p&&p.forEach(e=>{i.default.preinit(e,{as:"style"})}),"beforeInteractive"===l)return r?(i.default.preload(r,_.integrity?{as:"script",integrity:_.integrity,nonce:b,crossOrigin:_.crossOrigin}:{as:"script",nonce:b,crossOrigin:_.crossOrigin}),(0,a.jsx)("script",{nonce:b,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([r,{..._,id:t}])+")"}})):(_.dangerouslySetInnerHTML&&(_.children=_.dangerouslySetInnerHTML.__html,delete _.dangerouslySetInnerHTML),(0,a.jsx)("script",{nonce:b,dangerouslySetInnerHTML:{__html:"(self.__next_s=self.__next_s||[]).push("+JSON.stringify([0,{..._,id:t}])+")"}}));"afterInteractive"===l&&r&&i.default.preload(r,_.integrity?{as:"script",integrity:_.integrity,nonce:b,crossOrigin:_.crossOrigin}:{as:"script",nonce:b,crossOrigin:_.crossOrigin})}return null}Object.defineProperty(g,"__nextScript",{value:!0});let y=g;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9592:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"setAttributesFromProps",{enumerable:!0,get:function(){return a}});let r={acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv",noModule:"noModule"},n=["onLoad","onReady","dangerouslySetInnerHTML","children","onError","strategy","stylesheets"];function o(e){return["async","defer","noModule"].includes(e)}function a(e,t){for(let[a,i]of Object.entries(t)){if(!t.hasOwnProperty(a)||n.includes(a)||void 0===i)continue;let s=r[a]||a.toLowerCase();"SCRIPT"===e.tagName&&o(s)?e[s]=!!i:e.setAttribute(s,String(i)),(!1===i||"SCRIPT"===e.tagName&&o(s)&&(!i||"false"===i))&&(e.setAttribute(s,""),e.removeAttribute(s))}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6353:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let n=r(2924);function o(e){if("ended"!==e.state.state)throw Error("Expected span to be ended");(0,n.sendMessage)(JSON.stringify({event:"span-end",startTime:e.startTime,endTime:e.state.endTime,spanName:e.name,attributes:e.attributes}))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2862:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(7677)._(r(8840));class o{end(e){if("ended"===this.state.state)throw Error("Span has already ended");this.state={state:"ended",endTime:null!=e?e:Date.now()},this.onSpanEnd(this)}constructor(e,t,r){var n,o;this.name=e,this.attributes=null!=(n=t.attributes)?n:{},this.startTime=null!=(o=t.startTime)?o:Date.now(),this.onSpanEnd=r,this.state={state:"inprogress"}}}class a{startSpan(e,t){return new o(e,t,this.handleSpanEnd)}onSpanEnd(e){return this._emitter.on("spanend",e),()=>{this._emitter.off("spanend",e)}}constructor(){this._emitter=(0,n.default)(),this.handleSpanEnd=e=>{this._emitter.emit("spanend",e)}}}let i=new a;("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3465:(e,t)=>{"use strict";let r;function n(e){var t;return(null==(t=function(){if(void 0===r){var e;r=(null==(e=window.trustedTypes)?void 0:e.createPolicy("nextjs",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e}))||null}return r}())?void 0:t.createScriptURL(e))||e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"__unsafeCreateTrustedScriptURL",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3185:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),r(8925),self.__next_set_public_path__=e=>{r.p=e},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4e3:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}}),r(7677);let n=r(4848);r(6540);let o=r(4009);function a(e){function t(t){return(0,n.jsx)(e,{router:(0,o.useRouter)(),...t})}return t.getInitialProps=e.getInitialProps,t.origGetInitialProps=e.origGetInitialProps,t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5203:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return u}});let n=r(7677),o=r(4848),a=n._(r(6540)),i=r(4881);async function s(e){let{Component:t,ctx:r}=e;return{pageProps:await (0,i.loadGetInitialProps)(t,r)}}class u extends a.default.Component{render(){let{Component:e,pageProps:t}=this.props;return(0,o.jsx)(e,{...t})}}u.origGetInitialProps=s,u.getInitialProps=s,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6218:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return c}});let n=r(7677),o=r(4848),a=n._(r(6540)),i=n._(r(3248)),s={400:"Bad Request",404:"This page could not be found",405:"Method Not Allowed",500:"Internal Server Error"};function u(e){let{res:t,err:r}=e;return{statusCode:t&&t.statusCode?t.statusCode:r?r.statusCode:404}}let l={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},desc:{lineHeight:"48px"},h1:{display:"inline-block",margin:"0 20px 0 0",paddingRight:23,fontSize:24,fontWeight:500,verticalAlign:"top"},h2:{fontSize:14,fontWeight:400,lineHeight:"28px"},wrap:{display:"inline-block"}};class c extends a.default.Component{render(){let{statusCode:e,withDarkMode:t=!0}=this.props,r=this.props.title||s[e]||"An unexpected error has occurred";return(0,o.jsxs)("div",{style:l.error,children:[(0,o.jsx)(i.default,{children:(0,o.jsx)("title",{children:e?e+": "+r:"Application error: a client-side exception has occurred"})}),(0,o.jsxs)("div",{style:l.desc,children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}"+(t?"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}":"")}}),e?(0,o.jsx)("h1",{className:"next-error-h1",style:l.h1,children:e}):null,(0,o.jsx)("div",{style:l.wrap,children:(0,o.jsxs)("h2",{style:l.h2,children:[this.props.title||e?r:(0,o.jsx)(o.Fragment,{children:"Application error: a client-side exception has occurred (see the browser console for more information)"}),"."]})})]})]})}}c.displayName="ErrorPage",c.getInitialProps=u,c.origGetInitialProps=u,("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1432:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"AmpStateContext",{enumerable:!0,get:function(){return n}});let n=r(7677)._(r(6540)).default.createContext({})},2452:(e,t)=>{"use strict";function r(e){let{ampFirst:t=!1,hybrid:r=!1,hasQuery:n=!1}=void 0===e?{}:e;return t||r&&n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isInAmpMode",{enumerable:!0,get:function(){return r}})},3489:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return i},LayoutRouterContext:function(){return a},MissingSlotContext:function(){return u},TemplateContext:function(){return s}});let n=r(7677)._(r(6540)),o=n.default.createContext(null),a=n.default.createContext(null),i=n.default.createContext(null),s=n.default.createContext(null),u=n.default.createContext(new Set)},9038:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"BloomFilter",{enumerable:!0,get:function(){return r}});class r{static from(e,t){void 0===t&&(t=1e-4);let n=new r(e.length,t);for(let t of e)n.add(t);return n}export(){return{numItems:this.numItems,errorRate:this.errorRate,numBits:this.numBits,numHashes:this.numHashes,bitArray:this.bitArray}}import(e){this.numItems=e.numItems,this.errorRate=e.errorRate,this.numBits=e.numBits,this.numHashes=e.numHashes,this.bitArray=e.bitArray}add(e){this.getHashValues(e).forEach(e=>{this.bitArray[e]=1})}contains(e){return this.getHashValues(e).every(e=>this.bitArray[e])}getHashValues(e){let t=[];for(let r=1;r<=this.numHashes;r++){let n=function(e){let t=0;for(let r=0;r>>13,t=Math.imul(t,0x5bd1e995);return t>>>0}(""+e+r)%this.numBits;t.push(n)}return t}constructor(e,t=1e-4){this.numItems=e,this.errorRate=t,this.numBits=Math.ceil(-(e*Math.log(t))/(Math.log(2)*Math.log(2))),this.numHashes=Math.ceil(this.numBits/e*Math.log(2)),this.bitArray=Array(this.numBits).fill(0)}}},5661:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{APP_BUILD_MANIFEST:function(){return P},APP_CLIENT_INTERNALS:function(){return Q},APP_PATHS_MANIFEST:function(){return m},APP_PATH_ROUTES_MANIFEST:function(){return g},BARREL_OPTIMIZATION_PREFIX:function(){return W},BLOCKED_PAGES:function(){return U},BUILD_ID_FILE:function(){return D},BUILD_MANIFEST:function(){return y},CLIENT_PUBLIC_FILES_PATH:function(){return k},CLIENT_REFERENCE_MANIFEST:function(){return G},CLIENT_STATIC_FILES_PATH:function(){return F},CLIENT_STATIC_FILES_RUNTIME_AMP:function(){return Z},CLIENT_STATIC_FILES_RUNTIME_MAIN:function(){return K},CLIENT_STATIC_FILES_RUNTIME_MAIN_APP:function(){return $},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS:function(){return et},CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL:function(){return er},CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH:function(){return J},CLIENT_STATIC_FILES_RUNTIME_WEBPACK:function(){return ee},COMPILER_INDEXES:function(){return a},COMPILER_NAMES:function(){return o},CONFIG_FILES:function(){return L},DEFAULT_RUNTIME_WEBPACK:function(){return en},DEFAULT_SANS_SERIF_FONT:function(){return eu},DEFAULT_SERIF_FONT:function(){return es},DEV_CLIENT_MIDDLEWARE_MANIFEST:function(){return M},DEV_CLIENT_PAGES_MANIFEST:function(){return w},DYNAMIC_CSS_MANIFEST:function(){return Y},EDGE_RUNTIME_WEBPACK:function(){return eo},EDGE_UNSUPPORTED_NODE_APIS:function(){return ep},EXPORT_DETAIL:function(){return R},EXPORT_MARKER:function(){return S},FUNCTIONS_CONFIG_MANIFEST:function(){return b},IMAGES_MANIFEST:function(){return T},INTERCEPTION_ROUTE_REWRITE_MANIFEST:function(){return z},MIDDLEWARE_BUILD_MANIFEST:function(){return X},MIDDLEWARE_MANIFEST:function(){return I},MIDDLEWARE_REACT_LOADABLE_MANIFEST:function(){return V},MODERN_BROWSERSLIST_TARGET:function(){return n.default},NEXT_BUILTIN_DOCUMENT:function(){return H},NEXT_FONT_MANIFEST:function(){return v},PAGES_MANIFEST:function(){return h},PHASE_DEVELOPMENT_SERVER:function(){return d},PHASE_EXPORT:function(){return u},PHASE_INFO:function(){return p},PHASE_PRODUCTION_BUILD:function(){return l},PHASE_PRODUCTION_SERVER:function(){return c},PHASE_TEST:function(){return f},PRERENDER_MANIFEST:function(){return O},REACT_LOADABLE_MANIFEST:function(){return x},ROUTES_MANIFEST:function(){return j},RSC_MODULE_TYPES:function(){return ef},SERVER_DIRECTORY:function(){return N},SERVER_FILES_MANIFEST:function(){return A},SERVER_PROPS_ID:function(){return ei},SERVER_REFERENCE_MANIFEST:function(){return q},STATIC_PROPS_ID:function(){return ea},STATIC_STATUS_PAGES:function(){return el},STRING_LITERAL_DROP_BUNDLE:function(){return B},SUBRESOURCE_INTEGRITY_MANIFEST:function(){return E},SYSTEM_ENTRYPOINTS:function(){return eh},TRACE_OUTPUT_VERSION:function(){return ec},TURBOPACK_CLIENT_MIDDLEWARE_MANIFEST:function(){return C},TURBO_TRACE_DEFAULT_MEMORY_LIMIT:function(){return ed},UNDERSCORE_NOT_FOUND_ROUTE:function(){return i},UNDERSCORE_NOT_FOUND_ROUTE_ENTRY:function(){return s},WEBPACK_STATS:function(){return _}});let n=r(7677)._(r(5929)),o={client:"client",server:"server",edgeServer:"edge-server"},a={[o.client]:0,[o.server]:1,[o.edgeServer]:2},i="/_not-found",s=""+i+"/page",u="phase-export",l="phase-production-build",c="phase-production-server",d="phase-development-server",f="phase-test",p="phase-info",h="pages-manifest.json",_="webpack-stats.json",m="app-paths-manifest.json",g="app-path-routes-manifest.json",y="build-manifest.json",P="app-build-manifest.json",b="functions-config-manifest.json",E="subresource-integrity-manifest",v="next-font-manifest",S="export-marker.json",R="export-detail.json",O="prerender-manifest.json",j="routes-manifest.json",T="images-manifest.json",A="required-server-files.json",w="_devPagesManifest.json",I="middleware-manifest.json",C="_clientMiddlewareManifest.json",M="_devMiddlewareManifest.json",x="react-loadable-manifest.json",N="server",L=["next.config.js","next.config.mjs","next.config.ts"],D="BUILD_ID",U=["/_document","/_app","/_error"],k="public",F="static",B="__NEXT_DROP_CLIENT_FILE__",H="__NEXT_BUILTIN_DOCUMENT__",W="__barrel_optimize__",G="client-reference-manifest",q="server-reference-manifest",X="middleware-build-manifest",V="middleware-react-loadable-manifest",z="interception-route-rewrite-manifest",Y="dynamic-css-manifest",K="main",$=""+K+"-app",Q="app-pages-internals",J="react-refresh",Z="amp",ee="webpack",et="polyfills",er=Symbol(et),en="webpack-runtime",eo="edge-runtime-webpack",ea="__N_SSG",ei="__N_SSP",es={name:"Times New Roman",xAvgCharWidth:821,azAvgWidth:854.3953488372093,unitsPerEm:2048},eu={name:"Arial",xAvgCharWidth:904,azAvgWidth:934.5116279069767,unitsPerEm:2048},el=["/500"],ec=1,ed=6e3,ef={client:"client",server:"server"},ep=["clearImmediate","setImmediate","BroadcastChannel","ByteLengthQueuingStrategy","CompressionStream","CountQueuingStrategy","DecompressionStream","DomException","MessageChannel","MessageEvent","MessagePort","ReadableByteStreamController","ReadableStreamBYOBRequest","ReadableStreamDefaultController","TransformStreamDefaultController","WritableStreamDefaultController"],eh=new Set([K,J,Z,$]);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},503:(e,t)=>{"use strict";function r(e){return e.split("/").map(e=>encodeURIComponent(e)).join("/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"encodeURIPath",{enumerable:!0,get:function(){return r}})},2147:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});let r=/[|\\{}()[\]^$+*?.-]/,n=/[|\\{}()[\]^$+*?.-]/g;function o(e){return r.test(e)?e.replace(n,"\\$&"):e}},7592:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return n}});let n=r(7677)._(r(6540)).default.createContext({})},3248:(e,t,r)=>{"use strict";var n=r(7836);Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return m},defaultHead:function(){return f}});let o=r(7677),a=r(544),i=r(4848),s=a._(r(6540)),u=o._(r(2495)),l=r(1432),c=r(7592),d=r(2452);function f(e){void 0===e&&(e=!1);let t=[(0,i.jsx)("meta",{charSet:"utf-8"},"charset")];return e||t.push((0,i.jsx)("meta",{name:"viewport",content:"width=device-width"},"viewport")),t}function p(e,t){return"string"==typeof t||"number"==typeof t?e:t.type===s.default.Fragment?e.concat(s.default.Children.toArray(t.props.children).reduce((e,t)=>"string"==typeof t||"number"==typeof t?e:e.concat(t),[])):e.concat(t)}r(4636);let h=["name","httpEquiv","charSet","itemProp"];function _(e,t){let{inAmpMode:r}=t;return e.reduce(p,[]).reverse().concat(f(r).reverse()).filter(function(){let e=new Set,t=new Set,r=new Set,n={};return o=>{let a=!0,i=!1;if(o.key&&"number"!=typeof o.key&&o.key.indexOf("$")>0){i=!0;let t=o.key.slice(o.key.indexOf("$")+1);e.has(t)?a=!1:e.add(t)}switch(o.type){case"title":case"base":t.has(o.type)?a=!1:t.add(o.type);break;case"meta":for(let e=0,t=h.length;e{let o=e.key||t;if(n.env.__NEXT_OPTIMIZE_FONTS&&!r&&"link"===e.type&&e.props.href&&["https://fonts.googleapis.com/css","https://use.typekit.net/"].some(t=>e.props.href.startsWith(t))){let t={...e.props||{}};return t["data-href"]=t.href,t.href=void 0,t["data-optimized-fonts"]=!0,s.default.cloneElement(e,t)}return s.default.cloneElement(e,{key:o})})}let m=function(e){let{children:t}=e,r=(0,s.useContext)(l.AmpStateContext),n=(0,s.useContext)(c.HeadManagerContext);return(0,i.jsx)(u.default,{reduceComponentsToState:_,headManager:n,inAmpMode:(0,d.isInAmpMode)(r),children:t})};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4168:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathParamsContext:function(){return i},PathnameContext:function(){return a},SearchParamsContext:function(){return o}});let n=r(6540),o=(0,n.createContext)(null),a=(0,n.createContext)(null),i=(0,n.createContext)(null)},541:(e,t)=>{"use strict";function r(e,t){let r;let n=e.split("/");return(t||[]).some(t=>!!n[1]&&n[1].toLowerCase()===t.toLowerCase()&&(r=t,n.splice(1,1),e=n.join("/")||"/",!0)),{pathname:e,detectedLocale:r}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizeLocalePath",{enumerable:!0,get:function(){return r}})},2454:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ImageConfigContext",{enumerable:!0,get:function(){return a}});let n=r(7677)._(r(6540)),o=r(3436),a=n.default.createContext(o.imageConfigDefault)},3436:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{VALID_LOADERS:function(){return r},imageConfigDefault:function(){return n}});let r=["default","imgix","cloudinary","akamai","custom"],n={deviceSizes:[640,750,828,1080,1200,1920,2048,3840],imageSizes:[16,32,48,64,96,128,256,384],path:"/_next/image",loader:"default",loaderFile:"",domains:[],disableStaticImages:!1,minimumCacheTTL:60,formats:["image/webp"],dangerouslyAllowSVG:!1,contentSecurityPolicy:"script-src 'none'; frame-src 'none'; sandbox;",contentDispositionType:"attachment",localPatterns:void 0,remotePatterns:[],qualities:void 0,unoptimized:!1}},1775:(e,t)=>{"use strict";function r(e){return Object.prototype.toString.call(e)}function n(e){if("[object Object]"!==r(e))return!1;let t=Object.getPrototypeOf(e);return null===t||t.hasOwnProperty("isPrototypeOf")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getObjectClassLabel:function(){return r},isPlainObject:function(){return n}})},8216:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{BailoutToCSRError:function(){return n},isBailoutToCSRError:function(){return o}});let r="BAILOUT_TO_CLIENT_SIDE_RENDERING";class n extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=r}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===r}},8840:(e,t)=>{"use strict";function r(){let e=Object.create(null);return{on(t,r){(e[t]||(e[t]=[])).push(r)},off(t,r){e[t]&&e[t].splice(e[t].indexOf(r)>>>0,1)},emit(t){for(var r=arguments.length,n=Array(r>1?r-1:0),o=1;o{e(...n)})}}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},5929:e=>{"use strict";e.exports=["chrome 64","edge 79","firefox 67","opera 51","safari 12"]},8487:(e,t)=>{"use strict";function r(e){let t=(null==e?void 0:e.replace(/^\/+|\/+$/g,""))||!1;if(!t)return"";if(URL.canParse(t)){let e=new URL(t).toString();return e.endsWith("/")?e.slice(0,-1):e}return"/"+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizedAssetPrefix",{enumerable:!0,get:function(){return r}})},9220:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"denormalizePagePath",{enumerable:!0,get:function(){return a}});let n=r(574),o=r(2760);function a(e){let t=(0,o.normalizePathSep)(e);return t.startsWith("/index/")&&!(0,n.isDynamicRoute)(t)?t.slice(6):"/index"!==t?t:"/"}},1173:(e,t)=>{"use strict";function r(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return r}})},2760:(e,t)=>{"use strict";function r(e){return e.replace(/\\/g,"/")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathSep",{enumerable:!0,get:function(){return r}})},4671:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return n}});let n=r(7677)._(r(6540)).default.createContext(null)},1138:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{PathnameContextProviderAdapter:function(){return p},adaptForAppRouterInstance:function(){return c},adaptForPathParams:function(){return f},adaptForSearchParams:function(){return d}});let n=r(544),o=r(4848),a=n._(r(6540)),i=r(4168),s=r(574),u=r(7554),l=r(1037);function c(e){return{back(){e.back()},forward(){e.forward()},refresh(){e.reload()},hmrRefresh(){},push(t,r){let{scroll:n}=void 0===r?{}:r;e.push(t,void 0,{scroll:n})},replace(t,r){let{scroll:n}=void 0===r?{}:r;e.replace(t,void 0,{scroll:n})},prefetch(t){e.prefetch(t)}}}function d(e){return e.isReady&&e.query?(0,u.asPathToSearchParams)(e.asPath):new URLSearchParams}function f(e){if(!e.isReady||!e.query)return null;let t={};for(let r of Object.keys((0,l.getRouteRegex)(e.pathname).groups))t[r]=e.query[r];return t}function p(e){let{children:t,router:r,...n}=e,u=(0,a.useRef)(n.isAutoExport),l=(0,a.useMemo)(()=>{let e;let t=u.current;if(t&&(u.current=!1),(0,s.isDynamicRoute)(r.pathname)&&(r.isFallback||t&&!r.isReady))return null;try{e=new URL(r.asPath,"http://f")}catch(e){return"/"}return e.pathname},[r.asPath,r.isFallback,r.isReady,r.pathname]);return(0,o.jsx)(i.PathnameContext.Provider,{value:l,children:t})}},8151:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{createKey:function(){return q},default:function(){return z},matchesMiddleware:function(){return D}});let n=r(7677),o=r(544),a=r(6053),i=r(3931),s=r(4811),u=o._(r(3382)),l=r(9220),c=r(541),d=n._(r(8840)),f=r(4881),p=r(4220),h=r(1242);r(1226);let _=r(144),m=r(1037),g=r(5543);r(6023);let y=r(281),P=r(3912),b=r(8695),E=r(2922),v=r(5371),S=r(9568),R=r(6846),O=r(2976),j=r(4556),T=r(9015),A=r(3888),w=r(7262),I=r(9432),C=r(8445),M=r(1198),x=r(4203),N=r(6192);function L(){return Object.assign(Error("Route Cancelled"),{cancelled:!0})}async function D(e){let t=await Promise.resolve(e.router.pageLoader.getMiddleware());if(!t)return!1;let{pathname:r}=(0,y.parsePath)(e.asPath),n=(0,S.hasBasePath)(r)?(0,E.removeBasePath)(r):r,o=(0,v.addBasePath)((0,P.addLocale)(n,e.locale));return t.some(e=>new RegExp(e.regexp).test(o))}function U(e){let t=(0,f.getLocationOrigin)();return e.startsWith(t)?e.substring(t.length):e}function k(e,t,r){let[n,o]=(0,R.resolveHref)(e,t,!0),a=(0,f.getLocationOrigin)(),i=n.startsWith(a),s=o&&o.startsWith(a);n=U(n),o=o?U(o):o;let u=i?n:(0,v.addBasePath)(n),l=r?U((0,R.resolveHref)(e,r)):o||n;return{url:u,as:s?l:(0,v.addBasePath)(l)}}function F(e,t){let r=(0,a.removeTrailingSlash)((0,l.denormalizePagePath)(e));return"/404"===r||"/_error"===r?e:(t.includes(r)||t.some(t=>{if((0,p.isDynamicRoute)(t)&&(0,m.getRouteRegex)(t).re.test(r))return e=t,!0}),(0,a.removeTrailingSlash)(e))}async function B(e){if(!await D(e)||!e.fetchData)return null;let t=await e.fetchData(),r=await function(e,t,r){let n={basePath:r.router.basePath,i18n:{locales:r.router.locales},trailingSlash:!0},o=t.headers.get("x-nextjs-rewrite"),s=o||t.headers.get("x-nextjs-matched-path"),u=t.headers.get(N.MATCHED_PATH_HEADER);if(!u||s||u.includes("__next_data_catchall")||u.includes("/_error")||u.includes("/404")||(s=u),s){if(s.startsWith("/")){let t=(0,h.parseRelativeUrl)(s),u=(0,j.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),l=(0,a.removeTrailingSlash)(u.pathname);return Promise.all([r.router.pageLoader.getPageList(),(0,i.getClientBuildManifest)()]).then(a=>{let[i,{__rewrites:s}]=a,d=(0,P.addLocale)(u.pathname,u.locale);if((0,p.isDynamicRoute)(d)||!o&&i.includes((0,c.normalizeLocalePath)((0,E.removeBasePath)(d),r.router.locales).pathname)){let r=(0,j.getNextPathnameInfo)((0,h.parseRelativeUrl)(e).pathname,{nextConfig:n,parseData:!0});d=(0,v.addBasePath)(r.pathname),t.pathname=d}if(!i.includes(l)){let e=F(l,i);e!==l&&(l=e)}let f=i.includes(l)?l:F((0,c.normalizeLocalePath)((0,E.removeBasePath)(t.pathname),r.router.locales).pathname,i);if((0,p.isDynamicRoute)(f)){let e=(0,_.getRouteMatcher)((0,m.getRouteRegex)(f))(d);Object.assign(t.query,e||{})}return{type:"rewrite",parsedAs:t,resolvedHref:f}})}let t=(0,y.parsePath)(e);return Promise.resolve({type:"redirect-external",destination:""+(0,T.formatNextPathnameInfo)({...(0,j.getNextPathnameInfo)(t.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""})+t.query+t.hash})}let l=t.headers.get("x-nextjs-redirect");if(l){if(l.startsWith("/")){let e=(0,y.parsePath)(l),t=(0,T.formatNextPathnameInfo)({...(0,j.getNextPathnameInfo)(e.pathname,{nextConfig:n,parseData:!0}),defaultLocale:r.router.defaultLocale,buildId:""});return Promise.resolve({type:"redirect-internal",newAs:""+t+e.query+e.hash,newUrl:""+t+e.query+e.hash})}return Promise.resolve({type:"redirect-external",destination:l})}return Promise.resolve({type:"next"})}(t.dataHref,t.response,e);return{dataHref:t.dataHref,json:t.json,response:t.response,text:t.text,cacheKey:t.cacheKey,effect:r}}let H=Symbol("SSG_DATA_NOT_FOUND");function W(e){try{return JSON.parse(e)}catch(e){return null}}function G(e){let{dataHref:t,inflightCache:r,isPrefetch:n,hasMiddleware:o,isServerRender:a,parseJSON:s,persistCache:u,isBackground:l,unstable_skipClientCache:c}=e,{href:d}=new URL(t,window.location.href),f=e=>{var l;return(function e(t,r,n){return fetch(t,{credentials:"same-origin",method:n.method||"GET",headers:Object.assign({},n.headers,{"x-nextjs-data":"1"})}).then(o=>!o.ok&&r>1&&o.status>=500?e(t,r-1,n):o)})(t,a?3:1,{headers:Object.assign({},n?{purpose:"prefetch"}:{},n&&o?{"x-middleware-prefetch":"1"}:{}),method:null!=(l=null==e?void 0:e.method)?l:"GET"}).then(r=>r.ok&&(null==e?void 0:e.method)==="HEAD"?{dataHref:t,response:r,text:"",json:{},cacheKey:d}:r.text().then(e=>{if(!r.ok){if(o&&[301,302,307,308].includes(r.status))return{dataHref:t,response:r,text:e,json:{},cacheKey:d};if(404===r.status){var n;if(null==(n=W(e))?void 0:n.notFound)return{dataHref:t,json:{notFound:H},response:r,text:e,cacheKey:d}}let s=Error("Failed to load static props");throw a||(0,i.markAssetError)(s),s}return{dataHref:t,json:s?W(e):null,response:r,text:e,cacheKey:d}})).then(e=>(u&&"no-cache"!==e.response.headers.get("x-middleware-cache")||delete r[d],e)).catch(e=>{throw c||delete r[d],("Failed to fetch"===e.message||"NetworkError when attempting to fetch resource."===e.message||"Load failed"===e.message)&&(0,i.markAssetError)(e),e})};return c&&u?f({}).then(e=>("no-cache"!==e.response.headers.get("x-middleware-cache")&&(r[d]=Promise.resolve(e)),e)):void 0!==r[d]?r[d]:r[d]=f(l?{method:"HEAD"}:{})}function q(){return Math.random().toString(36).slice(2,10)}function X(e){let{url:t,router:r}=e;if(t===(0,v.addBasePath)((0,P.addLocale)(r.asPath,r.locale)))throw Error("Invariant: attempted to hard navigate to the same URL "+t+" "+location.href);window.location.href=t}let V=e=>{let{route:t,router:r}=e,n=!1,o=r.clc=()=>{n=!0};return()=>{if(n){let e=Error('Abort fetching component for route: "'+t+'"');throw e.cancelled=!0,e}o===r.clc&&(r.clc=null)}};class z{reload(){window.location.reload()}back(){window.history.back()}forward(){window.history.forward()}push(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=k(this,e,t),this.change("pushState",e,t,r)}replace(e,t,r){return void 0===r&&(r={}),{url:e,as:t}=k(this,e,t),this.change("replaceState",e,t,r)}async _bfl(e,t,n,o){{if(!this._bfl_s&&!this._bfl_d){let t,a;let{BloomFilter:s}=r(9038);try{({__routerFilterStatic:t,__routerFilterDynamic:a}=await (0,i.getClientBuildManifest)())}catch(t){if(console.error(t),o)return!0;return X({url:(0,v.addBasePath)((0,P.addLocale)(e,n||this.locale,this.defaultLocale)),router:this}),new Promise(()=>{})}(null==t?void 0:t.numHashes)&&(this._bfl_s=new s(t.numItems,t.errorRate),this._bfl_s.import(t)),(null==a?void 0:a.numHashes)&&(this._bfl_d=new s(a.numItems,a.errorRate),this._bfl_d.import(a))}let c=!1,d=!1;for(let{as:r,allowMatchCurrent:i}of[{as:e},{as:t}])if(r){let t=(0,a.removeTrailingSlash)(new URL(r,"http://n").pathname),f=(0,v.addBasePath)((0,P.addLocale)(t,n||this.locale));if(i||t!==(0,a.removeTrailingSlash)(new URL(this.asPath,"http://n").pathname)){var s,u,l;for(let e of(c=c||!!(null==(s=this._bfl_s)?void 0:s.contains(t))||!!(null==(u=this._bfl_s)?void 0:u.contains(f)),[t,f])){let t=e.split("/");for(let e=0;!d&&e{})}}}}return!1}async change(e,t,r,n,o){var l,c,d,R,O,j,T,I,x;let N,U;if(!(0,w.isLocalURL)(t))return X({url:t,router:this}),!1;let B=1===n._h;B||n.shallow||await this._bfl(r,void 0,n.locale);let W=B||n._shouldResolveHref||(0,y.parsePath)(t).pathname===(0,y.parsePath)(r).pathname,G={...this.state},q=!0!==this.isReady;this.isReady=!0;let V=this.isSsr;if(B||(this.isSsr=!1),B&&this.clc)return!1;let Y=G.locale;f.ST&&performance.mark("routeChange");let{shallow:K=!1,scroll:$=!0}=n,Q={shallow:K};this._inFlightRoute&&this.clc&&(V||z.events.emit("routeChangeError",L(),this._inFlightRoute,Q),this.clc(),this.clc=null),r=(0,v.addBasePath)((0,P.addLocale)((0,S.hasBasePath)(r)?(0,E.removeBasePath)(r):r,n.locale,this.defaultLocale));let J=(0,b.removeLocale)((0,S.hasBasePath)(r)?(0,E.removeBasePath)(r):r,G.locale);this._inFlightRoute=r;let Z=Y!==G.locale;if(!B&&this.onlyAHashChange(J)&&!Z){G.asPath=J,z.events.emit("hashChangeStart",r,Q),this.changeState(e,t,r,{...n,scroll:!1}),$&&this.scrollToHash(J);try{await this.set(G,this.components[G.route],null)}catch(e){throw(0,u.default)(e)&&e.cancelled&&z.events.emit("routeChangeError",e,J,Q),e}return z.events.emit("hashChangeComplete",r,Q),!0}let ee=(0,h.parseRelativeUrl)(t),{pathname:et,query:er}=ee;try{[N,{__rewrites:U}]=await Promise.all([this.pageLoader.getPageList(),(0,i.getClientBuildManifest)(),this.pageLoader.getMiddleware()])}catch(e){return X({url:r,router:this}),!1}this.urlIsNew(J)||Z||(e="replaceState");let en=r;et=et?(0,a.removeTrailingSlash)((0,E.removeBasePath)(et)):et;let eo=(0,a.removeTrailingSlash)(et),ea=r.startsWith("/")&&(0,h.parseRelativeUrl)(r).pathname;if(null==(l=this.components[et])?void 0:l.__appRouter)return X({url:r,router:this}),new Promise(()=>{});let ei=!!(ea&&eo!==ea&&(!(0,p.isDynamicRoute)(eo)||!(0,_.getRouteMatcher)((0,m.getRouteRegex)(eo))(ea))),es=!n.shallow&&await D({asPath:r,locale:G.locale,router:this});if(B&&es&&(W=!1),W&&"/_error"!==et&&(n._shouldResolveHref=!0,ee.pathname=F(et,N),ee.pathname===et||(et=ee.pathname,ee.pathname=(0,v.addBasePath)(et),es||(t=(0,g.formatWithValidation)(ee)))),!(0,w.isLocalURL)(r))return X({url:r,router:this}),!1;en=(0,b.removeLocale)((0,E.removeBasePath)(en),G.locale),eo=(0,a.removeTrailingSlash)(et);let eu=!1;if((0,p.isDynamicRoute)(eo)){let e=(0,h.parseRelativeUrl)(en),n=e.pathname,o=(0,m.getRouteRegex)(eo);eu=(0,_.getRouteMatcher)(o)(n);let a=eo===n,i=a?(0,M.interpolateAs)(eo,n,er):{};if(eu&&(!a||i.result))a?r=(0,g.formatWithValidation)(Object.assign({},e,{pathname:i.result,query:(0,C.omit)(er,i.params)})):Object.assign(er,eu);else{let e=Object.keys(o.groups).filter(e=>!er[e]&&!o.groups[e].optional);if(e.length>0&&!es)throw Error((a?"The provided `href` ("+t+") value is missing query values ("+e.join(", ")+") to be interpolated properly. ":"The provided `as` value ("+n+") is incompatible with the `href` value ("+eo+"). ")+"Read more: https://nextjs.org/docs/messages/"+(a?"href-interpolation-failed":"incompatible-href-as"))}}B||z.events.emit("routeChangeStart",r,Q);let el="/404"===this.pathname||"/_error"===this.pathname;try{let a=await this.getRouteInfo({route:eo,pathname:et,query:er,as:r,resolvedAs:en,routeProps:Q,locale:G.locale,isPreview:G.isPreview,hasMiddleware:es,unstable_skipClientCache:n.unstable_skipClientCache,isQueryUpdating:B&&!this.isFallback,isMiddlewareRewrite:ei});if(B||n.shallow||await this._bfl(r,"resolvedAs"in a?a.resolvedAs:void 0,G.locale),"route"in a&&es){eo=et=a.route||eo,Q.shallow||(er=Object.assign({},a.query||{},er));let e=(0,S.hasBasePath)(ee.pathname)?(0,E.removeBasePath)(ee.pathname):ee.pathname;if(eu&&et!==e&&Object.keys(eu).forEach(e=>{eu&&er[e]===eu[e]&&delete er[e]}),(0,p.isDynamicRoute)(et)){let e=!Q.shallow&&a.resolvedAs?a.resolvedAs:(0,v.addBasePath)((0,P.addLocale)(new URL(r,location.href).pathname,G.locale),!0);(0,S.hasBasePath)(e)&&(e=(0,E.removeBasePath)(e));let t=(0,m.getRouteRegex)(et),n=(0,_.getRouteMatcher)(t)(new URL(e,location.href).pathname);n&&Object.assign(er,n)}}if("type"in a){if("redirect-internal"===a.type)return this.change(e,a.newUrl,a.newAs,n);return X({url:a.destination,router:this}),new Promise(()=>{})}let i=a.Component;if(i&&i.unstable_scriptLoader&&[].concat(i.unstable_scriptLoader()).forEach(e=>{(0,s.handleClientScriptLoad)(e.props)}),(a.__N_SSG||a.__N_SSP)&&a.props){if(a.props.pageProps&&a.props.pageProps.__N_REDIRECT){n.locale=!1;let t=a.props.pageProps.__N_REDIRECT;if(t.startsWith("/")&&!1!==a.props.pageProps.__N_REDIRECT_BASE_PATH){let r=(0,h.parseRelativeUrl)(t);r.pathname=F(r.pathname,N);let{url:o,as:a}=k(this,t,t);return this.change(e,o,a,n)}return X({url:t,router:this}),new Promise(()=>{})}if(G.isPreview=!!a.props.__N_PREVIEW,a.props.notFound===H){let e;try{await this.fetchComponent("/404"),e="/404"}catch(t){e="/_error"}if(a=await this.getRouteInfo({route:e,pathname:e,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:G.locale,isPreview:G.isPreview,isNotFound:!0}),"type"in a)throw Error("Unexpected middleware effect on /404")}}B&&"/_error"===this.pathname&&(null==(d=self.__NEXT_DATA__.props)?void 0:null==(c=d.pageProps)?void 0:c.statusCode)===500&&(null==(R=a.props)?void 0:R.pageProps)&&(a.props.pageProps.statusCode=500);let l=n.shallow&&G.route===(null!=(O=a.route)?O:eo),f=null!=(j=n.scroll)?j:!B&&!l,g=null!=o?o:f?{x:0,y:0}:null,y={...G,route:eo,pathname:et,query:er,asPath:J,isFallback:!1};if(B&&el){if(a=await this.getRouteInfo({route:this.pathname,pathname:this.pathname,query:er,as:r,resolvedAs:en,routeProps:{shallow:!1},locale:G.locale,isPreview:G.isPreview,isQueryUpdating:B&&!this.isFallback}),"type"in a)throw Error("Unexpected middleware effect on "+this.pathname);"/_error"===this.pathname&&(null==(I=self.__NEXT_DATA__.props)?void 0:null==(T=I.pageProps)?void 0:T.statusCode)===500&&(null==(x=a.props)?void 0:x.pageProps)&&(a.props.pageProps.statusCode=500);try{await this.set(y,a,g)}catch(e){throw(0,u.default)(e)&&e.cancelled&&z.events.emit("routeChangeError",e,J,Q),e}return!0}if(z.events.emit("beforeHistoryChange",r,Q),this.changeState(e,t,r,n),!(B&&!g&&!q&&!Z&&(0,A.compareRouterStates)(y,this.state))){try{await this.set(y,a,g)}catch(e){if(e.cancelled)a.error=a.error||e;else throw e}if(a.error)throw B||z.events.emit("routeChangeError",a.error,J,Q),a.error;B||z.events.emit("routeChangeComplete",r,Q),f&&/#.+$/.test(r)&&this.scrollToHash(r)}return!0}catch(e){if((0,u.default)(e)&&e.cancelled)return!1;throw e}}changeState(e,t,r,n){void 0===n&&(n={}),("pushState"!==e||(0,f.getURL)()!==r)&&(this._shallow=n.shallow,window.history[e]({url:t,as:r,options:n,__N:!0,key:this._key="pushState"!==e?this._key:q()},"",r))}async handleRouteInfoError(e,t,r,n,o,a){if(e.cancelled)throw e;if((0,i.isAssetError)(e)||a)throw z.events.emit("routeChangeError",e,n,o),X({url:n,router:this}),L();console.error(e);try{let n;let{page:o,styleSheets:a}=await this.fetchComponent("/_error"),i={props:n,Component:o,styleSheets:a,err:e,error:e};if(!i.props)try{i.props=await this.getInitialProps(o,{err:e,pathname:t,query:r})}catch(e){console.error("Error in error page `getInitialProps`: ",e),i.props={}}return i}catch(e){return this.handleRouteInfoError((0,u.default)(e)?e:Error(e+""),t,r,n,o,!0)}}async getRouteInfo(e){let{route:t,pathname:r,query:n,as:o,resolvedAs:i,routeProps:s,locale:l,hasMiddleware:d,isPreview:f,unstable_skipClientCache:p,isQueryUpdating:h,isMiddlewareRewrite:_,isNotFound:m}=e,y=t;try{var P,b,v,S;let e=this.components[y];if(s.shallow&&e&&this.route===y)return e;let t=V({route:y,router:this});d&&(e=void 0);let u=!e||"initial"in e?void 0:e,R={dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:r,query:n}),skipInterpolation:!0,asPath:m?"/404":i,locale:l}),hasMiddleware:!0,isServerRender:this.isSsr,parseJSON:!0,inflightCache:h?this.sbc:this.sdc,persistCache:!f,isPrefetch:!1,unstable_skipClientCache:p,isBackground:h},j=h&&!_?null:await B({fetchData:()=>G(R),asPath:m?"/404":i,locale:l,router:this}).catch(e=>{if(h)return null;throw e});if(j&&("/_error"===r||"/404"===r)&&(j.effect=void 0),h&&(j?j.json=self.__NEXT_DATA__.props:j={json:self.__NEXT_DATA__.props}),t(),(null==j?void 0:null==(P=j.effect)?void 0:P.type)==="redirect-internal"||(null==j?void 0:null==(b=j.effect)?void 0:b.type)==="redirect-external")return j.effect;if((null==j?void 0:null==(v=j.effect)?void 0:v.type)==="rewrite"){let t=(0,a.removeTrailingSlash)(j.effect.resolvedHref),o=await this.pageLoader.getPageList();if((!h||o.includes(t))&&(y=t,r=j.effect.resolvedHref,n={...n,...j.effect.parsedAs.query},i=(0,E.removeBasePath)((0,c.normalizeLocalePath)(j.effect.parsedAs.pathname,this.locales).pathname),e=this.components[y],s.shallow&&e&&this.route===y&&!d))return{...e,route:y}}if((0,O.isAPIRoute)(y))return X({url:o,router:this}),new Promise(()=>{});let T=u||await this.fetchComponent(y).then(e=>({Component:e.page,styleSheets:e.styleSheets,__N_SSG:e.mod.__N_SSG,__N_SSP:e.mod.__N_SSP})),A=null==j?void 0:null==(S=j.response)?void 0:S.headers.get("x-middleware-skip"),w=T.__N_SSG||T.__N_SSP;A&&(null==j?void 0:j.dataHref)&&delete this.sdc[j.dataHref];let{props:I,cacheKey:C}=await this._getData(async()=>{if(w){if((null==j?void 0:j.json)&&!A)return{cacheKey:j.cacheKey,props:j.json};let e=(null==j?void 0:j.dataHref)?j.dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:r,query:n}),asPath:i,locale:l}),t=await G({dataHref:e,isServerRender:this.isSsr,parseJSON:!0,inflightCache:A?{}:this.sdc,persistCache:!f,isPrefetch:!1,unstable_skipClientCache:p});return{cacheKey:t.cacheKey,props:t.json||{}}}return{headers:{},props:await this.getInitialProps(T.Component,{pathname:r,query:n,asPath:o,locale:l,locales:this.locales,defaultLocale:this.defaultLocale})}});return T.__N_SSP&&R.dataHref&&C&&delete this.sdc[C],this.isPreview||!T.__N_SSG||h||G(Object.assign({},R,{isBackground:!0,persistCache:!1,inflightCache:this.sbc})).catch(()=>{}),I.pageProps=Object.assign({},I.pageProps),T.props=I,T.route=y,T.query=n,T.resolvedAs=i,this.components[y]=T,T}catch(e){return this.handleRouteInfoError((0,u.getProperError)(e),r,n,o,s)}}set(e,t,r){return this.state=e,this.sub(t,this.components["/_app"].Component,r)}beforePopState(e){this._bps=e}onlyAHashChange(e){if(!this.asPath)return!1;let[t,r]=this.asPath.split("#",2),[n,o]=e.split("#",2);return!!o&&t===n&&r===o||t===n&&r!==o}scrollToHash(e){let[,t=""]=e.split("#",2);(0,x.handleSmoothScroll)(()=>{if(""===t||"top"===t){window.scrollTo(0,0);return}let e=decodeURIComponent(t),r=document.getElementById(e);if(r){r.scrollIntoView();return}let n=document.getElementsByName(e)[0];n&&n.scrollIntoView()},{onlyHashChange:this.onlyAHashChange(e)})}urlIsNew(e){return this.asPath!==e}async prefetch(e,t,r){if(void 0===t&&(t=e),void 0===r&&(r={}),(0,I.isBot)(window.navigator.userAgent))return;let n=(0,h.parseRelativeUrl)(e),o=n.pathname,{pathname:i,query:s}=n,u=i,l=await this.pageLoader.getPageList(),c=t,d=void 0!==r.locale?r.locale||void 0:this.locale,f=await D({asPath:t,locale:d,router:this});n.pathname=F(n.pathname,l),(0,p.isDynamicRoute)(n.pathname)&&(i=n.pathname,n.pathname=i,Object.assign(s,(0,_.getRouteMatcher)((0,m.getRouteRegex)(n.pathname))((0,y.parsePath)(t).pathname)||{}),f||(e=(0,g.formatWithValidation)(n)));let P=await B({fetchData:()=>G({dataHref:this.pageLoader.getDataHref({href:(0,g.formatWithValidation)({pathname:u,query:s}),skipInterpolation:!0,asPath:c,locale:d}),hasMiddleware:!0,isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0}),asPath:t,locale:d,router:this});if((null==P?void 0:P.effect.type)==="rewrite"&&(n.pathname=P.effect.resolvedHref,i=P.effect.resolvedHref,s={...s,...P.effect.parsedAs.query},c=P.effect.parsedAs.pathname,e=(0,g.formatWithValidation)(n)),(null==P?void 0:P.effect.type)==="redirect-external")return;let b=(0,a.removeTrailingSlash)(i);await this._bfl(t,c,r.locale,!0)&&(this.components[o]={__appRouter:!0}),await Promise.all([this.pageLoader._isSsg(b).then(t=>!!t&&G({dataHref:(null==P?void 0:P.json)?null==P?void 0:P.dataHref:this.pageLoader.getDataHref({href:e,asPath:c,locale:d}),isServerRender:!1,parseJSON:!0,inflightCache:this.sdc,persistCache:!this.isPreview,isPrefetch:!0,unstable_skipClientCache:r.unstable_skipClientCache||r.priority&&!0}).then(()=>!1).catch(()=>!1)),this.pageLoader[r.priority?"loadPage":"prefetch"](b)])}async fetchComponent(e){let t=V({route:e,router:this});try{let r=await this.pageLoader.loadPage(e);return t(),r}catch(e){throw t(),e}}_getData(e){let t=!1,r=()=>{t=!0};return this.clc=r,e().then(e=>{if(r===this.clc&&(this.clc=null),t){let e=Error("Loading initial props cancelled");throw e.cancelled=!0,e}return e})}getInitialProps(e,t){let{Component:r}=this.components["/_app"],n=this._wrapApp(r);return t.AppTree=n,(0,f.loadGetInitialProps)(r,{AppTree:n,Component:e,router:this,ctx:t})}get route(){return this.state.route}get pathname(){return this.state.pathname}get query(){return this.state.query}get asPath(){return this.state.asPath}get locale(){return this.state.locale}get isFallback(){return this.state.isFallback}get isPreview(){return this.state.isPreview}constructor(e,t,r,{initialProps:n,pageLoader:o,App:i,wrapApp:s,Component:u,err:l,subscription:c,isFallback:d,locale:_,locales:m,defaultLocale:y,domainLocales:P,isPreview:b}){this.sdc={},this.sbc={},this.isFirstPopStateEvent=!0,this._key=q(),this.onPopState=e=>{let t;let{isFirstPopStateEvent:r}=this;this.isFirstPopStateEvent=!1;let n=e.state;if(!n){let{pathname:e,query:t}=this;this.changeState("replaceState",(0,g.formatWithValidation)({pathname:(0,v.addBasePath)(e),query:t}),(0,f.getURL)());return}if(n.__NA){window.location.reload();return}if(!n.__N||r&&this.locale===n.options.locale&&n.as===this.asPath)return;let{url:o,as:a,options:i,key:s}=n;this._key=s;let{pathname:u}=(0,h.parseRelativeUrl)(o);(!this.isSsr||a!==(0,v.addBasePath)(this.asPath)||u!==(0,v.addBasePath)(this.pathname))&&(!this._bps||this._bps(n))&&this.change("replaceState",o,a,Object.assign({},i,{shallow:i.shallow&&this._shallow,locale:i.locale||this.defaultLocale,_h:0}),t)};let E=(0,a.removeTrailingSlash)(e);this.components={},"/_error"!==e&&(this.components[E]={Component:u,initial:!0,props:n,err:l,__N_SSG:n&&n.__N_SSG,__N_SSP:n&&n.__N_SSP}),this.components["/_app"]={Component:i,styleSheets:[]},this.events=z.events,this.pageLoader=o;let S=(0,p.isDynamicRoute)(e)&&self.__NEXT_DATA__.autoExport;if(this.basePath="",this.sub=c,this.clc=null,this._wrapApp=s,this.isSsr=!0,this.isLocaleDomain=!1,this.isReady=!!(self.__NEXT_DATA__.gssp||self.__NEXT_DATA__.gip||self.__NEXT_DATA__.isExperimentalCompile||self.__NEXT_DATA__.appGip&&!self.__NEXT_DATA__.gsp||!S&&!self.location.search),this.state={route:E,pathname:e,query:t,asPath:S?e:r,isPreview:!!b,locale:void 0,isFallback:d},this._initialMatchesMiddlewarePromise=Promise.resolve(!1),!r.startsWith("//")){let n={locale:_},o=(0,f.getURL)();this._initialMatchesMiddlewarePromise=D({router:this,locale:_,asPath:o}).then(a=>(n._shouldResolveHref=r!==e,this.changeState("replaceState",a?o:(0,g.formatWithValidation)({pathname:(0,v.addBasePath)(e),query:t}),o,n),a))}window.addEventListener("popstate",this.onPopState)}}z.events=(0,d.default)()},4980:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return a}});let n=r(4782),o=r(9211);function a(e,t,r,a){if(!t||t===r)return e;let i=e.toLowerCase();return!a&&((0,o.pathHasPrefix)(i,"/api")||(0,o.pathHasPrefix)(i,"/"+t.toLowerCase()))?e:(0,n.addPathPrefix)(e,"/"+t)}},4782:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let n=r(281);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+t+r+o+a}},5375:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathSuffix",{enumerable:!0,get:function(){return o}});let n=r(281);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:r,query:o,hash:a}=(0,n.parsePath)(e);return""+r+t+o+a}},3756:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{normalizeAppPath:function(){return a},normalizeRscURL:function(){return i}});let n=r(1173),o=r(609);function a(e){return(0,n.ensureLeadingSlash)(e.split("/").reduce((e,t,r,n)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&r===n.length-1?e:e+"/"+t,""))}function i(e){return e.replace(/\.rsc($|\?)/,"$1")}},7554:(e,t)=>{"use strict";function r(e){return new URL(e,"http://n").searchParams}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"asPathToSearchParams",{enumerable:!0,get:function(){return r}})},3888:(e,t)=>{"use strict";function r(e,t){let r=Object.keys(e);if(r.length!==Object.keys(t).length)return!1;for(let n=r.length;n--;){let o=r[n];if("query"===o){let r=Object.keys(e.query);if(r.length!==Object.keys(t.query).length)return!1;for(let n=r.length;n--;){let o=r[n];if(!t.query.hasOwnProperty(o)||e.query[o]!==t.query[o])return!1}}else if(!t.hasOwnProperty(o)||e[o]!==t[o])return!1}return!0}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"compareRouterStates",{enumerable:!0,get:function(){return r}})},9015:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"formatNextPathnameInfo",{enumerable:!0,get:function(){return s}});let n=r(6053),o=r(4782),a=r(5375),i=r(4980);function s(e){let t=(0,i.addLocale)(e.pathname,e.locale,e.buildId?void 0:e.defaultLocale,e.ignorePrefix);return(e.buildId||!e.trailingSlash)&&(t=(0,n.removeTrailingSlash)(t)),e.buildId&&(t=(0,a.addPathSuffix)((0,o.addPathPrefix)(t,"/_next/data/"+e.buildId),"/"===e.pathname?"index.json":".json")),t=(0,o.addPathPrefix)(t,e.basePath),!e.buildId&&e.trailingSlash?t.endsWith("/")?t:(0,a.addPathSuffix)(t,"/"):(0,n.removeTrailingSlash)(t)}},5543:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{formatUrl:function(){return a},formatWithValidation:function(){return s},urlObjectKeys:function(){return i}});let n=r(544)._(r(2319)),o=/https?|ftp|gopher|file/;function a(e){let{auth:t,hostname:r}=e,a=e.protocol||"",i=e.pathname||"",s=e.hash||"",u=e.query||"",l=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?l=t+e.host:r&&(l=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(l+=":"+e.port)),u&&"object"==typeof u&&(u=String(n.urlQueryToSearchParams(u)));let c=e.search||u&&"?"+u||"";return a&&!a.endsWith(":")&&(a+=":"),e.slashes||(!a||o.test(a))&&!1!==l?(l="//"+(l||""),i&&"/"!==i[0]&&(i="/"+i)):l||(l=""),s&&"#"!==s[0]&&(s="#"+s),c&&"?"!==c[0]&&(c="?"+c),""+a+l+(i=i.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+s}let i=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function s(e){return a(e)}},5060:(e,t)=>{"use strict";function r(e,t){return void 0===t&&(t=""),("/"===e?"/index":/^\/index(\/|$)/.test(e)?"/index"+e:e)+t}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return r}})},4556:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getNextPathnameInfo",{enumerable:!0,get:function(){return i}});let n=r(541),o=r(4111),a=r(9211);function i(e,t){var r,i;let{basePath:s,i18n:u,trailingSlash:l}=null!=(r=t.nextConfig)?r:{},c={pathname:e,trailingSlash:"/"!==e?e.endsWith("/"):l};s&&(0,a.pathHasPrefix)(c.pathname,s)&&(c.pathname=(0,o.removePathPrefix)(c.pathname,s),c.basePath=s);let d=c.pathname;if(c.pathname.startsWith("/_next/data/")&&c.pathname.endsWith(".json")){let e=c.pathname.replace(/^\/_next\/data\//,"").replace(/\.json$/,"").split("/"),r=e[0];c.buildId=r,d="index"!==e[1]?"/"+e.slice(1).join("/"):"/",!0===t.parseData&&(c.pathname=d)}if(u){let e=t.i18nProvider?t.i18nProvider.analyze(c.pathname):(0,n.normalizeLocalePath)(c.pathname,u.locales);c.locale=e.detectedLocale,c.pathname=null!=(i=e.pathname)?i:c.pathname,!e.detectedLocale&&c.buildId&&(e=t.i18nProvider?t.i18nProvider.analyze(d):(0,n.normalizeLocalePath)(d,u.locales)).detectedLocale&&(c.locale=e.detectedLocale)}return c}},4203:(e,t)=>{"use strict";function r(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let r=document.documentElement,n=r.style.scrollBehavior;r.style.scrollBehavior="auto",t.dontForceLayout||r.getClientRects(),e(),r.style.scrollBehavior=n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return r}})},574:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRouteObjects:function(){return n.getSortedRouteObjects},getSortedRoutes:function(){return n.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});let n=r(8e3),o=r(4220)},1198:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return a}});let n=r(144),o=r(1037);function a(e,t,r){let a="",i=(0,o.getRouteRegex)(e),s=i.groups,u=(t!==e?(0,n.getRouteMatcher)(i)(t):"")||r;a=e;let l=Object.keys(s);return l.every(e=>{let t=u[e]||"",{repeat:r,optional:n}=s[e],o="["+(r?"...":"")+e+"]";return n&&(o=(t?"":"/")+"["+o+"]"),r&&!Array.isArray(t)&&(t=[t]),(n||e in u)&&(a=a.replace(o,r?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(a=""),{params:l,result:a}}},9432:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return n}});let r=/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i;function n(e){return r.test(e)}},4220:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return a}});let n=r(1900),o=/\/\[[^/]+?\](?=\/|$)/;function a(e){return(0,n.isInterceptionRouteAppPath)(e)&&(e=(0,n.extractInterceptionRouteInformation)(e).interceptedRoute),o.test(e)}},7262:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=r(4881),o=r(9568);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},8445:(e,t)=>{"use strict";function r(e,t){let r={};return Object.keys(e).forEach(n=>{t.includes(n)||(r[n]=e[n])}),r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return r}})},281:(e,t)=>{"use strict";function r(e){let t=e.indexOf("#"),r=e.indexOf("?"),n=r>-1&&(t<0||r-1?{pathname:e.substring(0,n?r:t),query:n?e.substring(r,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return r}})},1242:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parseRelativeUrl",{enumerable:!0,get:function(){return a}});let n=r(4881),o=r(2319);function a(e,t,r){void 0===r&&(r=!0);let a=new URL((0,n.getLocationOrigin)()),i=t?new URL(t,a):e.startsWith(".")?new URL(window.location.href):a,{pathname:s,searchParams:u,search:l,hash:c,href:d,origin:f}=new URL(e,i);if(f!==a.origin)throw Error("invariant: invalid relative URL, router received "+e);return{pathname:s,query:r?(0,o.searchParamsToUrlQuery)(u):void 0,search:l,hash:c,href:d.slice(f.length)}}},9211:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let n=r(281);function o(e,t){if("string"!=typeof e)return!1;let{pathname:r}=(0,n.parsePath)(e);return r===t||r.startsWith(t+"/")}},2319:(e,t)=>{"use strict";function r(e){let t={};return e.forEach((e,r)=>{void 0===t[r]?t[r]=e:Array.isArray(t[r])?t[r].push(e):t[r]=[t[r],e]}),t}function n(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[r,o]=e;Array.isArray(o)?o.forEach(e=>t.append(r,n(e))):t.set(r,n(o))}),t}function a(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,r)=>e.append(r,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{assign:function(){return a},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return o}})},4111:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removePathPrefix",{enumerable:!0,get:function(){return o}});let n=r(9211);function o(e,t){if(!(0,n.pathHasPrefix)(e,t))return e;let r=e.slice(t.length);return r.startsWith("/")?r:"/"+r}},6053:(e,t)=>{"use strict";function r(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return r}})},144:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let n=r(4881);function o(e){let{re:t,groups:r}=e;return e=>{let o=t.exec(e);if(!o)return!1;let a=e=>{try{return decodeURIComponent(e)}catch(e){throw new n.DecodeError("failed to decode param")}},i={};return Object.keys(r).forEach(e=>{let t=r[e],n=o[t.pos];void 0!==n&&(i[e]=~n.indexOf("/")?n.split("/").map(e=>a(e)):t.repeat?[a(n)]:a(n))}),i}}},1037:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getNamedMiddlewareRegex:function(){return _},getNamedRouteRegex:function(){return h},getRouteRegex:function(){return d},parseParameter:function(){return u}});let n=r(6192),o=r(1900),a=r(2147),i=r(6053),s=/\[((?:\[.*\])|.+)\]/;function u(e){let t=e.match(s);return t?l(t[1]):l(e)}function l(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let r=e.startsWith("...");return r&&(e=e.slice(3)),{key:e,repeat:r,optional:t}}function c(e){let t=(0,i.removeTrailingSlash)(e).slice(1).split("/"),r={},n=1;return{parameterizedRoute:t.map(e=>{let t=o.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),i=e.match(s);if(t&&i){let{key:e,optional:o,repeat:s}=l(i[1]);return r[e]={pos:n++,repeat:s,optional:o},"/"+(0,a.escapeStringRegexp)(t)+"([^/]+?)"}if(!i)return"/"+(0,a.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:o}=l(i[1]);return r[e]={pos:n++,repeat:t,optional:o},t?o?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:r}}function d(e){let{parameterizedRoute:t,groups:r}=c(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:r}}function f(e){let{interceptionMarker:t,getSafeRouteKey:r,segment:n,routeKeys:o,keyPrefix:i}=e,{key:s,optional:u,repeat:c}=l(n),d=s.replace(/\W/g,"");i&&(d=""+i+d);let f=!1;(0===d.length||d.length>30)&&(f=!0),isNaN(parseInt(d.slice(0,1)))||(f=!0),f&&(d=r()),i?o[d]=""+i+s:o[d]=s;let p=t?(0,a.escapeStringRegexp)(t):"";return c?u?"(?:/"+p+"(?<"+d+">.+?))?":"/"+p+"(?<"+d+">.+?)":"/"+p+"(?<"+d+">[^/]+?)"}function p(e,t){let r;let s=(0,i.removeTrailingSlash)(e).slice(1).split("/"),u=(r=0,()=>{let e="",t=++r;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),l={};return{namedParameterizedRoute:s.map(e=>{let r=o.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(r&&i){let[r]=e.split(i[0]);return f({getSafeRouteKey:u,interceptionMarker:r,segment:i[1],routeKeys:l,keyPrefix:t?n.NEXT_INTERCEPTION_MARKER_PREFIX:void 0})}return i?f({getSafeRouteKey:u,segment:i[1],routeKeys:l,keyPrefix:t?n.NEXT_QUERY_PARAM_PREFIX:void 0}):"/"+(0,a.escapeStringRegexp)(e)}).join(""),routeKeys:l}}function h(e,t){let r=p(e,t);return{...d(e),namedRegex:"^"+r.namedParameterizedRoute+"(?:/)?$",routeKeys:r.routeKeys}}function _(e,t){let{parameterizedRoute:r}=c(e),{catchAll:n=!0}=t;if("/"===r)return{namedRegex:"^/"+(n?".*":"")+"$"};let{namedParameterizedRoute:o}=p(e,!1);return{namedRegex:"^"+o+(n?"(?:(/.*)?)":"")+"$"}}},8e3:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{getSortedRouteObjects:function(){return o},getSortedRoutes:function(){return n}});class r{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let r=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&r.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');r.unshift(t)}return null!==this.restSlugName&&r.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&r.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),r}_insert(e,t,n){if(0===e.length){this.placeholder=!1;return}if(n)throw Error("Catch-all must be the last part of the URL.");let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let r=o.slice(1,-1),i=!1;if(r.startsWith("[")&&r.endsWith("]")&&(r=r.slice(1,-1),i=!0),r.startsWith("…"))throw Error("Detected a three-dot character ('…') at ('"+r+"'). Did you mean ('...')?");if(r.startsWith("...")&&(r=r.substring(3),n=!0),r.startsWith("[")||r.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+r+"').");if(r.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+r+"').");function a(e,r){if(null!==e&&e!==r)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+r+"').");t.forEach(e=>{if(e===r)throw Error('You cannot have the same slug name "'+r+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+r+'" differ only by non-word symbols within a single dynamic path')}),t.push(r)}if(n){if(i){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');a(this.optionalRestSlugName,r),this.optionalRestSlugName=r,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');a(this.restSlugName,r),this.restSlugName=r,o="[...]"}}else{if(i)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');a(this.slugName,r),this.slugName=r,o="[]"}}this.children.has(o)||this.children.set(o,new r),this.children.get(o)._insert(e.slice(1),t,n)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function n(e){let t=new r;return e.forEach(e=>t.insert(e)),t.smoosh()}function o(e,t){let r={},o=[];for(let n=0;ne[r[t]])}},2438:(e,t)=>{"use strict";let r;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return n},setConfig:function(){return o}});let n=()=>r;function o(e){r=e}},609:(e,t)=>{"use strict";function r(e){return"("===e[0]&&e.endsWith(")")}function n(e){return e.startsWith("@")&&"@children"!==e}function o(e,t){if(e.includes(a)){let e=JSON.stringify(t);return"{}"!==e?a+"?"+e:a}return e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DEFAULT_SEGMENT_KEY:function(){return i},PAGE_SEGMENT_KEY:function(){return a},addSearchParamsIfPageSegment:function(){return o},isGroupSegment:function(){return r},isParallelRouteSegment:function(){return n}});let a="__PAGE__",i="__DEFAULT__"},2495:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return i}});let n=r(6540),o=n.useLayoutEffect,a=n.useEffect;function i(e){let{headManager:t,reduceComponentsToState:r}=e;function i(){if(t&&t.mountedInstances){let o=n.Children.toArray(Array.from(t.mountedInstances).filter(Boolean));t.updateHead(r(o,e))}}return o(()=>{var r;return null==t||null==(r=t.mountedInstances)||r.add(e.children),()=>{var r;null==t||null==(r=t.mountedInstances)||r.delete(e.children)}}),o(()=>(t&&(t._pendingUpdate=i),()=>{t&&(t._pendingUpdate=i)})),a(()=>(t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null),()=>{t&&t._pendingUpdate&&(t._pendingUpdate(),t._pendingUpdate=null)})),null}},4881:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{DecodeError:function(){return h},MiddlewareNotFoundError:function(){return y},MissingStaticPage:function(){return g},NormalizeError:function(){return _},PageNotFoundError:function(){return m},SP:function(){return f},ST:function(){return p},WEB_VITALS:function(){return r},execOnce:function(){return n},getDisplayName:function(){return u},getLocationOrigin:function(){return i},getURL:function(){return s},isAbsoluteUrl:function(){return a},isResSent:function(){return l},loadGetInitialProps:function(){return d},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return P}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function n(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),a=0;ao.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function s(){let{href:e}=window.location,t=i();return e.substring(t.length)}function u(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function l(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function d(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await d(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&l(r))return n;if(!n)throw Error('"'+u(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.');return n}let f="undefined"!=typeof performance,p=f&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class h extends Error{}class _ extends Error{}class m extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class y extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function P(e){return JSON.stringify({message:e.message,stack:e.stack})}},4636:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},5307:e=>{!function(){var t={229:function(e){var t,r,n,o=e.exports={};function a(){throw Error("setTimeout has not been defined")}function i(){throw Error("clearTimeout has not been defined")}function s(e){if(t===setTimeout)return setTimeout(e,0);if((t===a||!t)&&setTimeout)return t=setTimeout,setTimeout(e,0);try{return t(e,0)}catch(r){try{return t.call(null,e,0)}catch(r){return t.call(this,e,0)}}}!function(){try{t="function"==typeof setTimeout?setTimeout:a}catch(e){t=a}try{r="function"==typeof clearTimeout?clearTimeout:i}catch(e){r=i}}();var u=[],l=!1,c=-1;function d(){l&&n&&(l=!1,n.length?u=n.concat(u):c=-1,u.length&&f())}function f(){if(!l){var e=s(d);l=!0;for(var t=u.length;t;){for(n=u,u=[];++c1)for(var r=1;r{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{ACTION_SUFFIX:function(){return d},APP_DIR_ALIAS:function(){return M},CACHE_ONE_YEAR:function(){return R},DOT_NEXT_ALIAS:function(){return I},ESLINT_DEFAULT_DIRS:function(){return Q},GSP_NO_RETURNED_VALUE:function(){return X},GSSP_COMPONENT_MEMBER_ERROR:function(){return Y},GSSP_NO_RETURNED_VALUE:function(){return V},INFINITE_CACHE:function(){return O},INSTRUMENTATION_HOOK_FILENAME:function(){return A},MATCHED_PATH_HEADER:function(){return o},MIDDLEWARE_FILENAME:function(){return j},MIDDLEWARE_LOCATION_REGEXP:function(){return T},NEXT_BODY_SUFFIX:function(){return h},NEXT_CACHE_IMPLICIT_TAG_ID:function(){return S},NEXT_CACHE_REVALIDATED_TAGS_HEADER:function(){return g},NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER:function(){return y},NEXT_CACHE_SOFT_TAGS_HEADER:function(){return m},NEXT_CACHE_SOFT_TAG_MAX_LENGTH:function(){return v},NEXT_CACHE_TAGS_HEADER:function(){return _},NEXT_CACHE_TAG_MAX_ITEMS:function(){return b},NEXT_CACHE_TAG_MAX_LENGTH:function(){return E},NEXT_DATA_SUFFIX:function(){return f},NEXT_INTERCEPTION_MARKER_PREFIX:function(){return n},NEXT_META_SUFFIX:function(){return p},NEXT_QUERY_PARAM_PREFIX:function(){return r},NEXT_RESUME_HEADER:function(){return P},NON_STANDARD_NODE_ENV:function(){return K},PAGES_DIR_ALIAS:function(){return w},PRERENDER_REVALIDATE_HEADER:function(){return a},PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER:function(){return i},PUBLIC_DIR_MIDDLEWARE_CONFLICT:function(){return F},ROOT_DIR_ALIAS:function(){return C},RSC_ACTION_CLIENT_WRAPPER_ALIAS:function(){return k},RSC_ACTION_ENCRYPTION_ALIAS:function(){return U},RSC_ACTION_PROXY_ALIAS:function(){return L},RSC_ACTION_VALIDATE_ALIAS:function(){return N},RSC_CACHE_WRAPPER_ALIAS:function(){return D},RSC_MOD_REF_PROXY_ALIAS:function(){return x},RSC_PREFETCH_SUFFIX:function(){return s},RSC_SEGMENTS_DIR_SUFFIX:function(){return u},RSC_SEGMENT_SUFFIX:function(){return l},RSC_SUFFIX:function(){return c},SERVER_PROPS_EXPORT_ERROR:function(){return q},SERVER_PROPS_GET_INIT_PROPS_CONFLICT:function(){return H},SERVER_PROPS_SSG_CONFLICT:function(){return W},SERVER_RUNTIME:function(){return J},SSG_FALLBACK_EXPORT_ERROR:function(){return $},SSG_GET_INITIAL_PROPS_CONFLICT:function(){return B},STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR:function(){return G},UNSTABLE_REVALIDATE_RENAME_ERROR:function(){return z},WEBPACK_LAYERS:function(){return ee},WEBPACK_RESOURCE_QUERIES:function(){return et}});let r="nxtP",n="nxtI",o="x-matched-path",a="x-prerender-revalidate",i="x-prerender-revalidate-if-generated",s=".prefetch.rsc",u=".segments",l=".segment.rsc",c=".rsc",d=".action",f=".json",p=".meta",h=".body",_="x-next-cache-tags",m="x-next-cache-soft-tags",g="x-next-revalidated-tags",y="x-next-revalidate-tag-token",P="next-resume",b=128,E=256,v=1024,S="_N_T_",R=31536e3,O=0xfffffffe,j="middleware",T=`(?:src/)?${j}`,A="instrumentation",w="private-next-pages",I="private-dot-next",C="private-next-root-dir",M="private-next-app-dir",x="private-next-rsc-mod-ref-proxy",N="private-next-rsc-action-validate",L="private-next-rsc-server-reference",D="private-next-rsc-cache-wrapper",U="private-next-rsc-action-encryption",k="private-next-rsc-action-client-wrapper",F="You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict",B="You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps",H="You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.",W="You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps",G="can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props",q="pages with `getServerSideProps` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export",X="Your `getStaticProps` function did not return an object. Did you forget to add a `return`?",V="Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?",z="The `unstable_revalidate` property is available for general use.\nPlease use `revalidate` instead.",Y="can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member",K='You are using a non-standard "NODE_ENV" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env',$="Pages with `fallback` enabled in `getStaticPaths` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export",Q=["app","pages","components","lib","src"],J={edge:"edge",experimentalEdge:"experimental-edge",nodejs:"nodejs"},Z={shared:"shared",reactServerComponents:"rsc",serverSideRendering:"ssr",actionBrowser:"action-browser",api:"api",middleware:"middleware",instrument:"instrument",edgeAsset:"edge-asset",appPagesBrowser:"app-pages-browser"},ee={...Z,GROUP:{builtinReact:[Z.reactServerComponents,Z.actionBrowser],serverOnly:[Z.reactServerComponents,Z.actionBrowser,Z.instrument,Z.middleware],neutralTarget:[Z.api],clientOnly:[Z.serverSideRendering,Z.appPagesBrowser],bundled:[Z.reactServerComponents,Z.actionBrowser,Z.serverSideRendering,Z.appPagesBrowser,Z.shared,Z.instrument],appPages:[Z.reactServerComponents,Z.serverSideRendering,Z.appPagesBrowser,Z.actionBrowser]}},et={edgeSSREntry:"__next_edge_ssr_entry__",metadata:"__next_metadata__",metadataRoute:"__next_metadata_route__",metadataImageMeta:"__next_metadata_image_meta__"}},2976:(e,t)=>{"use strict";function r(e){return"/api"===e||!!(null==e?void 0:e.startsWith("/api/"))}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isAPIRoute",{enumerable:!0,get:function(){return r}})},3382:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},getProperError:function(){return a}});let n=r(1775);function o(e){return"object"==typeof e&&null!==e&&"name"in e&&"message"in e}function a(e){return o(e)?e:Error((0,n.isPlainObject)(e)?function(e){let t=new WeakSet;return JSON.stringify(e,(e,r)=>{if("object"==typeof r&&null!==r){if(t.has(r))return"[Circular]";t.add(r)}return r})}(e):e+"")}},365:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HMR_ACTIONS_SENT_TO_BROWSER",{enumerable:!0,get:function(){return r}});var r=function(e){return e.ADDED_PAGE="addedPage",e.REMOVED_PAGE="removedPage",e.RELOAD_PAGE="reloadPage",e.SERVER_COMPONENT_CHANGES="serverComponentChanges",e.MIDDLEWARE_CHANGES="middlewareChanges",e.CLIENT_CHANGES="clientChanges",e.SERVER_ONLY_CHANGES="serverOnlyChanges",e.SYNC="sync",e.BUILT="built",e.BUILDING="building",e.DEV_PAGES_MANIFEST_UPDATE="devPagesManifestUpdate",e.TURBOPACK_MESSAGE="turbopack-message",e.SERVER_ERROR="serverError",e.TURBOPACK_CONNECTED="turbopack-connected",e.APP_ISR_MANIFEST="appIsrManifest",e}({})},1900:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return i},isInterceptionRouteAppPath:function(){return a}});let n=r(3756),o=["(..)(..)","(.)","(..)","(...)"];function a(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function i(e){let t,r,a;for(let n of e.split("/"))if(r=o.find(e=>n.startsWith(e))){[t,a]=e.split(r,2);break}if(!t||!r||!a)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,n.normalizeAppPath)(t),r){case"(.)":a="/"===t?`/${a}`:t+"/"+a;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);a=t.split("/").slice(0,-1).concat(a).join("/");break;case"(...)":a="/"+a;break;case"(..)(..)":let i=t.split("/");if(i.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);a=i.slice(0,-2).concat(a).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:a}}},1226:()=>{},7677:(e,t,r)=>{"use strict";function n(e){return e&&e.__esModule?e:{default:e}}r.r(t),r.d(t,{_:()=>n})},544:(e,t,r)=>{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}function o(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var s=a?Object.getOwnPropertyDescriptor(e,i):null;s&&(s.get||s.set)?Object.defineProperty(o,i,s):o[i]=e[i]}return o.default=e,r&&r.set(e,o),o}r.r(t),r.d(t,{_:()=>o})}},e=>{var t=t=>e(e.s=t);e.O(0,[593],()=>t(7693)),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-app-e2be70030271765f.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-app-e2be70030271765f.js deleted file mode 100644 index f7a662a0..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/main-app-e2be70030271765f.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[358],{1067:(e,s,n)=>{Promise.resolve().then(n.t.bind(n,7033,23)),Promise.resolve().then(n.t.bind(n,4547,23)),Promise.resolve().then(n.t.bind(n,4835,23)),Promise.resolve().then(n.t.bind(n,2328,23)),Promise.resolve().then(n.t.bind(n,5244,23)),Promise.resolve().then(n.t.bind(n,3866,23)),Promise.resolve().then(n.t.bind(n,6213,23))}},e=>{var s=s=>e(e.s=s);e.O(0,[441,517],()=>(s(7200),s(1067))),_N_E=e.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_app-d23763e3e6c904ff.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_app-d23763e3e6c904ff.js deleted file mode 100644 index 38a4ef44..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_app-d23763e3e6c904ff.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[636],{1788:(_,n,p)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_app",function(){return p(5203)}])}},_=>{var n=n=>_(_.s=n);_.O(0,[593,792],()=>(n(1788),n(4009))),_N_E=_.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_error-9b7125ad1a1e68fa.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_error-9b7125ad1a1e68fa.js deleted file mode 100644 index 5a2976c2..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/pages/_error-9b7125ad1a1e68fa.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[731],{6194:(_,n,e)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/_error",function(){return e(6218)}])}},_=>{var n=n=>_(_.s=n);_.O(0,[636,593,792],()=>n(6194)),_N_E=_.O()}]); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/polyfills-42372ed130431b0a.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/polyfills-42372ed130431b0a.js deleted file mode 100644 index ab422b94..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/chunks/polyfills-42372ed130431b0a.js +++ /dev/null @@ -1 +0,0 @@ -!function(){var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function e(t){var e={exports:{}};return t(e,e.exports),e.exports}var r,n,o=function(t){return t&&t.Math===Math&&t},i=o("object"==typeof globalThis&&globalThis)||o("object"==typeof window&&window)||o("object"==typeof self&&self)||o("object"==typeof t&&t)||o("object"==typeof t&&t)||function(){return this}()||Function("return this")(),a=function(t){try{return!!t()}catch(t){return!0}},u=!a(function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]}),s=!a(function(){var t=function(){}.bind();return"function"!=typeof t||t.hasOwnProperty("prototype")}),c=Function.prototype.call,f=s?c.bind(c):function(){return c.apply(c,arguments)},l={}.propertyIsEnumerable,h=Object.getOwnPropertyDescriptor,p=h&&!l.call({1:2},1)?function(t){var e=h(this,t);return!!e&&e.enumerable}:l,v={f:p},d=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}},g=Function.prototype,y=g.call,m=s&&g.bind.bind(y,y),b=s?m:function(t){return function(){return y.apply(t,arguments)}},w=b({}.toString),S=b("".slice),E=function(t){return S(w(t),8,-1)},O=Object,x=b("".split),R=a(function(){return!O("z").propertyIsEnumerable(0)})?function(t){return"String"===E(t)?x(t,""):O(t)}:O,P=function(t){return null==t},A=TypeError,j=function(t){if(P(t))throw new A("Can't call method on "+t);return t},k=function(t){return R(j(t))},I="object"==typeof document&&document.all,T=void 0===I&&void 0!==I?function(t){return"function"==typeof t||t===I}:function(t){return"function"==typeof t},M=function(t){return"object"==typeof t?null!==t:T(t)},L=function(t,e){return arguments.length<2?T(r=i[t])?r:void 0:i[t]&&i[t][e];var r},U=b({}.isPrototypeOf),N=i.navigator,C=N&&N.userAgent,_=C?String(C):"",F=i.process,B=i.Deno,D=F&&F.versions||B&&B.version,z=D&&D.v8;z&&(n=(r=z.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!n&&_&&(!(r=_.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=_.match(/Chrome\/(\d+)/))&&(n=+r[1]);var W=n,q=i.String,H=!!Object.getOwnPropertySymbols&&!a(function(){var t=Symbol("symbol detection");return!q(t)||!(Object(t)instanceof Symbol)||!Symbol.sham&&W&&W<41}),$=H&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,K=Object,G=$?function(t){return"symbol"==typeof t}:function(t){var e=L("Symbol");return T(e)&&U(e.prototype,K(t))},V=String,Y=function(t){try{return V(t)}catch(t){return"Object"}},X=TypeError,J=function(t){if(T(t))return t;throw new X(Y(t)+" is not a function")},Q=function(t,e){var r=t[e];return P(r)?void 0:J(r)},Z=TypeError,tt=Object.defineProperty,et=function(t,e){try{tt(i,t,{value:e,configurable:!0,writable:!0})}catch(r){i[t]=e}return e},rt=e(function(t){var e="__core-js_shared__",r=t.exports=i[e]||et(e,{});(r.versions||(r.versions=[])).push({version:"3.38.1",mode:"global",copyright:"© 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.1/LICENSE",source:"https://github.com/zloirock/core-js"})}),nt=function(t,e){return rt[t]||(rt[t]=e||{})},ot=Object,it=function(t){return ot(j(t))},at=b({}.hasOwnProperty),ut=Object.hasOwn||function(t,e){return at(it(t),e)},st=0,ct=Math.random(),ft=b(1..toString),lt=function(t){return"Symbol("+(void 0===t?"":t)+")_"+ft(++st+ct,36)},ht=i.Symbol,pt=nt("wks"),vt=$?ht.for||ht:ht&&ht.withoutSetter||lt,dt=function(t){return ut(pt,t)||(pt[t]=H&&ut(ht,t)?ht[t]:vt("Symbol."+t)),pt[t]},gt=TypeError,yt=dt("toPrimitive"),mt=function(t,e){if(!M(t)||G(t))return t;var r,n=Q(t,yt);if(n){if(void 0===e&&(e="default"),r=f(n,t,e),!M(r)||G(r))return r;throw new gt("Can't convert object to primitive value")}return void 0===e&&(e="number"),function(t,e){var r,n;if("string"===e&&T(r=t.toString)&&!M(n=f(r,t)))return n;if(T(r=t.valueOf)&&!M(n=f(r,t)))return n;if("string"!==e&&T(r=t.toString)&&!M(n=f(r,t)))return n;throw new Z("Can't convert object to primitive value")}(t,e)},bt=function(t){var e=mt(t,"string");return G(e)?e:e+""},wt=i.document,St=M(wt)&&M(wt.createElement),Et=function(t){return St?wt.createElement(t):{}},Ot=!u&&!a(function(){return 7!==Object.defineProperty(Et("div"),"a",{get:function(){return 7}}).a}),xt=Object.getOwnPropertyDescriptor,Rt={f:u?xt:function(t,e){if(t=k(t),e=bt(e),Ot)try{return xt(t,e)}catch(t){}if(ut(t,e))return d(!f(v.f,t,e),t[e])}},Pt=u&&a(function(){return 42!==Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype}),At=String,jt=TypeError,kt=function(t){if(M(t))return t;throw new jt(At(t)+" is not an object")},It=TypeError,Tt=Object.defineProperty,Mt=Object.getOwnPropertyDescriptor,Lt="enumerable",Ut="configurable",Nt="writable",Ct={f:u?Pt?function(t,e,r){if(kt(t),e=bt(e),kt(r),"function"==typeof t&&"prototype"===e&&"value"in r&&Nt in r&&!r[Nt]){var n=Mt(t,e);n&&n[Nt]&&(t[e]=r.value,r={configurable:Ut in r?r[Ut]:n[Ut],enumerable:Lt in r?r[Lt]:n[Lt],writable:!1})}return Tt(t,e,r)}:Tt:function(t,e,r){if(kt(t),e=bt(e),kt(r),Ot)try{return Tt(t,e,r)}catch(t){}if("get"in r||"set"in r)throw new It("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},_t=u?function(t,e,r){return Ct.f(t,e,d(1,r))}:function(t,e,r){return t[e]=r,t},Ft=Function.prototype,Bt=u&&Object.getOwnPropertyDescriptor,Dt=ut(Ft,"name"),zt={EXISTS:Dt,PROPER:Dt&&"something"===function(){}.name,CONFIGURABLE:Dt&&(!u||u&&Bt(Ft,"name").configurable)},Wt=b(Function.toString);T(rt.inspectSource)||(rt.inspectSource=function(t){return Wt(t)});var qt,Ht,$t,Kt=rt.inspectSource,Gt=i.WeakMap,Vt=T(Gt)&&/native code/.test(String(Gt)),Yt=nt("keys"),Xt=function(t){return Yt[t]||(Yt[t]=lt(t))},Jt={},Qt="Object already initialized",Zt=i.TypeError;if(Vt||rt.state){var te=rt.state||(rt.state=new(0,i.WeakMap));te.get=te.get,te.has=te.has,te.set=te.set,qt=function(t,e){if(te.has(t))throw new Zt(Qt);return e.facade=t,te.set(t,e),e},Ht=function(t){return te.get(t)||{}},$t=function(t){return te.has(t)}}else{var ee=Xt("state");Jt[ee]=!0,qt=function(t,e){if(ut(t,ee))throw new Zt(Qt);return e.facade=t,_t(t,ee,e),e},Ht=function(t){return ut(t,ee)?t[ee]:{}},$t=function(t){return ut(t,ee)}}var re,ne={set:qt,get:Ht,has:$t,enforce:function(t){return $t(t)?Ht(t):qt(t,{})},getterFor:function(t){return function(e){var r;if(!M(e)||(r=Ht(e)).type!==t)throw new Zt("Incompatible receiver, "+t+" required");return r}}},oe=e(function(t){var e=zt.CONFIGURABLE,r=ne.enforce,n=ne.get,o=String,i=Object.defineProperty,s=b("".slice),c=b("".replace),f=b([].join),l=u&&!a(function(){return 8!==i(function(){},"length",{value:8}).length}),h=String(String).split("String"),p=t.exports=function(t,n,a){"Symbol("===s(o(n),0,7)&&(n="["+c(o(n),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),a&&a.getter&&(n="get "+n),a&&a.setter&&(n="set "+n),(!ut(t,"name")||e&&t.name!==n)&&(u?i(t,"name",{value:n,configurable:!0}):t.name=n),l&&a&&ut(a,"arity")&&t.length!==a.arity&&i(t,"length",{value:a.arity});try{a&&ut(a,"constructor")&&a.constructor?u&&i(t,"prototype",{writable:!1}):t.prototype&&(t.prototype=void 0)}catch(t){}var p=r(t);return ut(p,"source")||(p.source=f(h,"string"==typeof n?n:"")),t};Function.prototype.toString=p(function(){return T(this)&&n(this).source||Kt(this)},"toString")}),ie=function(t,e,r,n){n||(n={});var o=n.enumerable,i=void 0!==n.name?n.name:e;if(T(r)&&oe(r,i,n),n.global)o?t[e]=r:et(e,r);else{try{n.unsafe?t[e]&&(o=!0):delete t[e]}catch(t){}o?t[e]=r:Ct.f(t,e,{value:r,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return t},ae=Math.ceil,ue=Math.floor,se=Math.trunc||function(t){var e=+t;return(e>0?ue:ae)(e)},ce=function(t){var e=+t;return e!=e||0===e?0:se(e)},fe=Math.max,le=Math.min,he=function(t,e){var r=ce(t);return r<0?fe(r+e,0):le(r,e)},pe=Math.min,ve=function(t){var e=ce(t);return e>0?pe(e,9007199254740991):0},de=function(t){return ve(t.length)},ge=function(t){return function(e,r,n){var o=k(e),i=de(o);if(0===i)return!t&&-1;var a,u=he(n,i);if(t&&r!=r){for(;i>u;)if((a=o[u++])!=a)return!0}else for(;i>u;u++)if((t||u in o)&&o[u]===r)return t||u||0;return!t&&-1}},ye={includes:ge(!0),indexOf:ge(!1)},me=ye.indexOf,be=b([].push),we=function(t,e){var r,n=k(t),o=0,i=[];for(r in n)!ut(Jt,r)&&ut(n,r)&&be(i,r);for(;e.length>o;)ut(n,r=e[o++])&&(~me(i,r)||be(i,r));return i},Se=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ee=Se.concat("length","prototype"),Oe={f:Object.getOwnPropertyNames||function(t){return we(t,Ee)}},xe={f:Object.getOwnPropertySymbols},Re=b([].concat),Pe=L("Reflect","ownKeys")||function(t){var e=Oe.f(kt(t)),r=xe.f;return r?Re(e,r(t)):e},Ae=function(t,e,r){for(var n=Pe(e),o=Ct.f,i=Rt.f,a=0;aa;)Ct.f(t,r=o[a++],n[r]);return t},Be={f:Fe},De=L("document","documentElement"),ze="prototype",We="script",qe=Xt("IE_PROTO"),He=function(){},$e=function(t){return"<"+We+">"+t+""},Ke=function(t){t.write($e("")),t.close();var e=t.parentWindow.Object;return t=null,e},Ge=function(){try{re=new ActiveXObject("htmlfile")}catch(t){}var t,e,r;Ge="undefined"!=typeof document?document.domain&&re?Ke(re):(e=Et("iframe"),r="java"+We+":",e.style.display="none",De.appendChild(e),e.src=String(r),(t=e.contentWindow.document).open(),t.write($e("document.F=Object")),t.close(),t.F):Ke(re);for(var n=Se.length;n--;)delete Ge[ze][Se[n]];return Ge()};Jt[qe]=!0;var Ve=Object.create||function(t,e){var r;return null!==t?(He[ze]=kt(t),r=new He,He[ze]=null,r[qe]=t):r=Ge(),void 0===e?r:Be.f(r,e)},Ye=Ct.f,Xe=dt("unscopables"),Je=Array.prototype;void 0===Je[Xe]&&Ye(Je,Xe,{configurable:!0,value:Ve(null)});var Qe=function(t){Je[Xe][t]=!0};Ce({target:"Array",proto:!0},{at:function(t){var e=it(this),r=de(e),n=ce(t),o=n>=0?n:r+n;return o<0||o>=r?void 0:e[o]}}),Qe("at");var Ze=function(t,e){return b(i[t].prototype[e])},tr=(Ze("Array","at"),TypeError),er=function(t,e){if(!delete t[e])throw new tr("Cannot delete property "+Y(e)+" of "+Y(t))},rr=Math.min,nr=[].copyWithin||function(t,e){var r=it(this),n=de(r),o=he(t,n),i=he(e,n),a=arguments.length>2?arguments[2]:void 0,u=rr((void 0===a?n:he(a,n))-i,n-o),s=1;for(i0;)i in r?r[o]=r[i]:er(r,o),o+=s,i+=s;return r};Ce({target:"Array",proto:!0},{copyWithin:nr}),Qe("copyWithin"),Ze("Array","copyWithin"),Ce({target:"Array",proto:!0},{fill:function(t){for(var e=it(this),r=de(e),n=arguments.length,o=he(n>1?arguments[1]:void 0,r),i=n>2?arguments[2]:void 0,a=void 0===i?r:he(i,r);a>o;)e[o++]=t;return e}}),Qe("fill"),Ze("Array","fill");var or=function(t){if("Function"===E(t))return b(t)},ir=or(or.bind),ar=function(t,e){return J(t),void 0===e?t:s?ir(t,e):function(){return t.apply(e,arguments)}},ur=Array.isArray||function(t){return"Array"===E(t)},sr={};sr[dt("toStringTag")]="z";var cr="[object z]"===String(sr),fr=dt("toStringTag"),lr=Object,hr="Arguments"===E(function(){return arguments}()),pr=cr?E:function(t){var e,r,n;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=function(t,e){try{return t[e]}catch(t){}}(e=lr(t),fr))?r:hr?E(e):"Object"===(n=E(e))&&T(e.callee)?"Arguments":n},vr=function(){},dr=L("Reflect","construct"),gr=/^\s*(?:class|function)\b/,yr=b(gr.exec),mr=!gr.test(vr),br=function(t){if(!T(t))return!1;try{return dr(vr,[],t),!0}catch(t){return!1}},wr=function(t){if(!T(t))return!1;switch(pr(t)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return mr||!!yr(gr,Kt(t))}catch(t){return!0}};wr.sham=!0;var Sr=!dr||a(function(){var t;return br(br.call)||!br(Object)||!br(function(){t=!0})||t})?wr:br,Er=dt("species"),Or=Array,xr=function(t,e){return new(function(t){var e;return ur(t)&&(Sr(e=t.constructor)&&(e===Or||ur(e.prototype))||M(e)&&null===(e=e[Er]))&&(e=void 0),void 0===e?Or:e}(t))(0===e?0:e)},Rr=b([].push),Pr=function(t){var e=1===t,r=2===t,n=3===t,o=4===t,i=6===t,a=7===t,u=5===t||i;return function(s,c,f,l){for(var h,p,v=it(s),d=R(v),g=de(d),y=ar(c,f),m=0,b=l||xr,w=e?b(s,g):r||a?b(s,0):void 0;g>m;m++)if((u||m in d)&&(p=y(h=d[m],m,v),t))if(e)w[m]=p;else if(p)switch(t){case 3:return!0;case 5:return h;case 6:return m;case 2:Rr(w,h)}else switch(t){case 4:return!1;case 7:Rr(w,h)}return i?-1:n||o?o:w}},Ar={forEach:Pr(0),map:Pr(1),filter:Pr(2),some:Pr(3),every:Pr(4),find:Pr(5),findIndex:Pr(6),filterReject:Pr(7)},jr=Ar.find,kr="find",Ir=!0;kr in[]&&Array(1)[kr](function(){Ir=!1}),Ce({target:"Array",proto:!0,forced:Ir},{find:function(t){return jr(this,t,arguments.length>1?arguments[1]:void 0)}}),Qe(kr),Ze("Array","find");var Tr=Ar.findIndex,Mr="findIndex",Lr=!0;Mr in[]&&Array(1)[Mr](function(){Lr=!1}),Ce({target:"Array",proto:!0,forced:Lr},{findIndex:function(t){return Tr(this,t,arguments.length>1?arguments[1]:void 0)}}),Qe(Mr),Ze("Array","findIndex");var Ur=TypeError,Nr=function(t){if(t>9007199254740991)throw Ur("Maximum allowed index exceeded");return t},Cr=function(t,e,r,n,o,i,a,u){for(var s,c,f=o,l=0,h=!!a&&ar(a,u);l0&&ur(s)?(c=de(s),f=Cr(t,e,s,c,f,i-1)-1):(Nr(f+1),t[f]=s),f++),l++;return f},_r=Cr;Ce({target:"Array",proto:!0},{flatMap:function(t){var e,r=it(this),n=de(r);return J(t),(e=xr(r,0)).length=_r(e,r,r,n,0,1,t,arguments.length>1?arguments[1]:void 0),e}}),Qe("flatMap"),Ze("Array","flatMap"),Ce({target:"Array",proto:!0},{flat:function(){var t=arguments.length?arguments[0]:void 0,e=it(this),r=de(e),n=xr(e,0);return n.length=_r(n,e,e,r,0,void 0===t?1:ce(t)),n}}),Qe("flat"),Ze("Array","flat");var Fr,Br,Dr,zr=String,Wr=function(t){if("Symbol"===pr(t))throw new TypeError("Cannot convert a Symbol value to a string");return zr(t)},qr=b("".charAt),Hr=b("".charCodeAt),$r=b("".slice),Kr=function(t){return function(e,r){var n,o,i=Wr(j(e)),a=ce(r),u=i.length;return a<0||a>=u?t?"":void 0:(n=Hr(i,a))<55296||n>56319||a+1===u||(o=Hr(i,a+1))<56320||o>57343?t?qr(i,a):n:t?$r(i,a,a+2):o-56320+(n-55296<<10)+65536}},Gr={codeAt:Kr(!1),charAt:Kr(!0)},Vr=!a(function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}),Yr=Xt("IE_PROTO"),Xr=Object,Jr=Xr.prototype,Qr=Vr?Xr.getPrototypeOf:function(t){var e=it(t);if(ut(e,Yr))return e[Yr];var r=e.constructor;return T(r)&&e instanceof r?r.prototype:e instanceof Xr?Jr:null},Zr=dt("iterator"),tn=!1;[].keys&&("next"in(Dr=[].keys())?(Br=Qr(Qr(Dr)))!==Object.prototype&&(Fr=Br):tn=!0);var en=!M(Fr)||a(function(){var t={};return Fr[Zr].call(t)!==t});en&&(Fr={}),T(Fr[Zr])||ie(Fr,Zr,function(){return this});var rn={IteratorPrototype:Fr,BUGGY_SAFARI_ITERATORS:tn},nn=Ct.f,on=dt("toStringTag"),an=function(t,e,r){t&&!r&&(t=t.prototype),t&&!ut(t,on)&&nn(t,on,{configurable:!0,value:e})},un={},sn=rn.IteratorPrototype,cn=function(){return this},fn=function(t,e,r,n){var o=e+" Iterator";return t.prototype=Ve(sn,{next:d(+!n,r)}),an(t,o,!1),un[o]=cn,t},ln=function(t,e,r){try{return b(J(Object.getOwnPropertyDescriptor(t,e)[r]))}catch(t){}},hn=String,pn=TypeError,vn=function(t){if(function(t){return M(t)||null===t}(t))return t;throw new pn("Can't set "+hn(t)+" as a prototype")},dn=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{(t=ln(Object.prototype,"__proto__","set"))(r,[]),e=r instanceof Array}catch(t){}return function(r,n){return j(r),vn(n),M(r)?(e?t(r,n):r.__proto__=n,r):r}}():void 0),gn=zt.PROPER,yn=zt.CONFIGURABLE,mn=rn.IteratorPrototype,bn=rn.BUGGY_SAFARI_ITERATORS,wn=dt("iterator"),Sn="keys",En="values",On="entries",xn=function(){return this},Rn=function(t,e,r,n,o,i,a){fn(r,e,n);var u,s,c,l=function(t){if(t===o&&g)return g;if(!bn&&t&&t in v)return v[t];switch(t){case Sn:case En:case On:return function(){return new r(this,t)}}return function(){return new r(this)}},h=e+" Iterator",p=!1,v=t.prototype,d=v[wn]||v["@@iterator"]||o&&v[o],g=!bn&&d||l(o),y="Array"===e&&v.entries||d;if(y&&(u=Qr(y.call(new t)))!==Object.prototype&&u.next&&(Qr(u)!==mn&&(dn?dn(u,mn):T(u[wn])||ie(u,wn,xn)),an(u,h,!0)),gn&&o===En&&d&&d.name!==En&&(yn?_t(v,"name",En):(p=!0,g=function(){return f(d,this)})),o)if(s={values:l(En),keys:i?g:l(Sn),entries:l(On)},a)for(c in s)(bn||p||!(c in v))&&ie(v,c,s[c]);else Ce({target:e,proto:!0,forced:bn||p},s);return v[wn]!==g&&ie(v,wn,g,{name:o}),un[e]=g,s},Pn=function(t,e){return{value:t,done:e}},An=Gr.charAt,jn="String Iterator",kn=ne.set,In=ne.getterFor(jn);Rn(String,"String",function(t){kn(this,{type:jn,string:Wr(t),index:0})},function(){var t,e=In(this),r=e.string,n=e.index;return n>=r.length?Pn(void 0,!0):(t=An(r,n),e.index+=t.length,Pn(t,!1))});var Tn=function(t,e,r){var n,o;kt(t);try{if(!(n=Q(t,"return"))){if("throw"===e)throw r;return r}n=f(n,t)}catch(t){o=!0,n=t}if("throw"===e)throw r;if(o)throw n;return kt(n),r},Mn=function(t,e,r,n){try{return n?e(kt(r)[0],r[1]):e(r)}catch(e){Tn(t,"throw",e)}},Ln=dt("iterator"),Un=Array.prototype,Nn=function(t){return void 0!==t&&(un.Array===t||Un[Ln]===t)},Cn=function(t,e,r){u?Ct.f(t,e,d(0,r)):t[e]=r},_n=dt("iterator"),Fn=function(t){if(!P(t))return Q(t,_n)||Q(t,"@@iterator")||un[pr(t)]},Bn=TypeError,Dn=function(t,e){var r=arguments.length<2?Fn(t):e;if(J(r))return kt(f(r,t));throw new Bn(Y(t)+" is not iterable")},zn=Array,Wn=function(t){var e=it(t),r=Sr(this),n=arguments.length,o=n>1?arguments[1]:void 0,i=void 0!==o;i&&(o=ar(o,n>2?arguments[2]:void 0));var a,u,s,c,l,h,p=Fn(e),v=0;if(!p||this===zn&&Nn(p))for(a=de(e),u=r?new this(a):zn(a);a>v;v++)h=i?o(e[v],v):e[v],Cn(u,v,h);else for(u=r?new this:[],l=(c=Dn(e,p)).next;!(s=f(l,c)).done;v++)h=i?Mn(c,o,[s.value,v],!0):s.value,Cn(u,v,h);return u.length=v,u},qn=dt("iterator"),Hn=!1;try{var $n=0,Kn={next:function(){return{done:!!$n++}},return:function(){Hn=!0}};Kn[qn]=function(){return this},Array.from(Kn,function(){throw 2})}catch(t){}var Gn=function(t,e){try{if(!e&&!Hn)return!1}catch(t){return!1}var r=!1;try{var n={};n[qn]=function(){return{next:function(){return{done:r=!0}}}},t(n)}catch(t){}return r},Vn=!Gn(function(t){Array.from(t)});Ce({target:"Array",stat:!0,forced:Vn},{from:Wn});var Yn=i,Xn=ye.includes,Jn=a(function(){return!Array(1).includes()});Ce({target:"Array",proto:!0,forced:Jn},{includes:function(t){return Xn(this,t,arguments.length>1?arguments[1]:void 0)}}),Qe("includes"),Ze("Array","includes");var Qn=Ct.f,Zn="Array Iterator",to=ne.set,eo=ne.getterFor(Zn),ro=Rn(Array,"Array",function(t,e){to(this,{type:Zn,target:k(t),index:0,kind:e})},function(){var t=eo(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,Pn(void 0,!0);switch(t.kind){case"keys":return Pn(r,!1);case"values":return Pn(e[r],!1)}return Pn([r,e[r]],!1)},"values"),no=un.Arguments=un.Array;if(Qe("keys"),Qe("values"),Qe("entries"),u&&"values"!==no.name)try{Qn(no,"name",{value:"values"})}catch(t){}cr||ie(Object.prototype,"toString",cr?{}.toString:function(){return"[object "+pr(this)+"]"},{unsafe:!0}),Ze("Array","values");var oo=Array,io=a(function(){function t(){}return!(oo.of.call(t)instanceof t)});Ce({target:"Array",stat:!0,forced:io},{of:function(){for(var t=0,e=arguments.length,r=new(Sr(this)?this:oo)(e);e>t;)Cn(r,t,arguments[t++]);return r.length=e,r}});var ao=dt("hasInstance"),uo=Function.prototype;ao in uo||Ct.f(uo,ao,{value:oe(function(t){if(!T(this)||!M(t))return!1;var e=this.prototype;return M(e)?U(e,t):t instanceof this},ao)}),dt("hasInstance");var so=function(t,e,r){return r.get&&oe(r.get,e,{getter:!0}),r.set&&oe(r.set,e,{setter:!0}),Ct.f(t,e,r)},co=zt.EXISTS,fo=Function.prototype,lo=b(fo.toString),ho=/function\b(?:\s|\/\*[\S\s]*?\*\/|\/\/[^\n\r]*[\n\r]+)*([^\s(/]*)/,po=b(ho.exec);u&&!co&&so(fo,"name",{configurable:!0,get:function(){try{return po(ho,lo(this))[1]}catch(t){return""}}});var vo=b([].slice),go=Oe.f,yo="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],mo={f:function(t){return yo&&"Window"===E(t)?function(t){try{return go(t)}catch(t){return vo(yo)}}(t):go(k(t))}},bo=a(function(){if("function"==typeof ArrayBuffer){var t=new ArrayBuffer(8);Object.isExtensible(t)&&Object.defineProperty(t,"a",{value:8})}}),wo=Object.isExtensible,So=a(function(){wo(1)})||bo?function(t){return!!M(t)&&(!bo||"ArrayBuffer"!==E(t))&&(!wo||wo(t))}:wo,Eo=!a(function(){return Object.isExtensible(Object.preventExtensions({}))}),Oo=e(function(t){var e=Ct.f,r=!1,n=lt("meta"),o=0,i=function(t){e(t,n,{value:{objectID:"O"+o++,weakData:{}}})},a=t.exports={enable:function(){a.enable=function(){},r=!0;var t=Oe.f,e=b([].splice),o={};o[n]=1,t(o).length&&(Oe.f=function(r){for(var o=t(r),i=0,a=o.length;ii;i++)if((u=y(t[i]))&&U(Po,u))return u;return new Ro(!1)}n=Dn(t,o)}for(s=h?t.next:n.next;!(c=f(s,n)).done;){try{u=y(c.value)}catch(t){Tn(n,"throw",t)}if("object"==typeof u&&u&&U(Po,u))return u}return new Ro(!1)},jo=TypeError,ko=function(t,e){if(U(e,t))return t;throw new jo("Incorrect invocation")},Io=function(t,e,r){var n,o;return dn&&T(n=e.constructor)&&n!==r&&M(o=n.prototype)&&o!==r.prototype&&dn(t,o),t},To=function(t,e,r){var n=-1!==t.indexOf("Map"),o=-1!==t.indexOf("Weak"),u=n?"set":"add",s=i[t],c=s&&s.prototype,f=s,l={},h=function(t){var e=b(c[t]);ie(c,t,"add"===t?function(t){return e(this,0===t?0:t),this}:"delete"===t?function(t){return!(o&&!M(t))&&e(this,0===t?0:t)}:"get"===t?function(t){return o&&!M(t)?void 0:e(this,0===t?0:t)}:"has"===t?function(t){return!(o&&!M(t))&&e(this,0===t?0:t)}:function(t,r){return e(this,0===t?0:t,r),this})};if(Ue(t,!T(s)||!(o||c.forEach&&!a(function(){(new s).entries().next()}))))f=r.getConstructor(e,t,n,u),Oo.enable();else if(Ue(t,!0)){var p=new f,v=p[u](o?{}:-0,1)!==p,d=a(function(){p.has(1)}),g=Gn(function(t){new s(t)}),y=!o&&a(function(){for(var t=new s,e=5;e--;)t[u](e,e);return!t.has(-0)});g||((f=e(function(t,e){ko(t,c);var r=Io(new s,t,f);return P(e)||Ao(e,r[u],{that:r,AS_ENTRIES:n}),r})).prototype=c,c.constructor=f),(d||y)&&(h("delete"),h("has"),n&&h("get")),(y||v)&&h(u),o&&c.clear&&delete c.clear}return l[t]=f,Ce({global:!0,constructor:!0,forced:f!==s},l),an(f,t),o||r.setStrong(f,t,n),f},Mo=function(t,e,r){for(var n in e)ie(t,n,e[n],r);return t},Lo=dt("species"),Uo=function(t){var e=L(t);u&&e&&!e[Lo]&&so(e,Lo,{configurable:!0,get:function(){return this}})},No=Oo.fastKey,Co=ne.set,_o=ne.getterFor,Fo={getConstructor:function(t,e,r,n){var o=t(function(t,o){ko(t,i),Co(t,{type:e,index:Ve(null),first:null,last:null,size:0}),u||(t.size=0),P(o)||Ao(o,t[n],{that:t,AS_ENTRIES:r})}),i=o.prototype,a=_o(e),s=function(t,e,r){var n,o,i=a(t),s=c(t,e);return s?s.value=r:(i.last=s={index:o=No(e,!0),key:e,value:r,previous:n=i.last,next:null,removed:!1},i.first||(i.first=s),n&&(n.next=s),u?i.size++:t.size++,"F"!==o&&(i.index[o]=s)),t},c=function(t,e){var r,n=a(t),o=No(e);if("F"!==o)return n.index[o];for(r=n.first;r;r=r.next)if(r.key===e)return r};return Mo(i,{clear:function(){for(var t=a(this),e=t.first;e;)e.removed=!0,e.previous&&(e.previous=e.previous.next=null),e=e.next;t.first=t.last=null,t.index=Ve(null),u?t.size=0:this.size=0},delete:function(t){var e=this,r=a(e),n=c(e,t);if(n){var o=n.next,i=n.previous;delete r.index[n.index],n.removed=!0,i&&(i.next=o),o&&(o.previous=i),r.first===n&&(r.first=o),r.last===n&&(r.last=i),u?r.size--:e.size--}return!!n},forEach:function(t){for(var e,r=a(this),n=ar(t,arguments.length>1?arguments[1]:void 0);e=e?e.next:r.first;)for(n(e.value,e.key,this);e&&e.removed;)e=e.previous},has:function(t){return!!c(this,t)}}),Mo(i,r?{get:function(t){var e=c(this,t);return e&&e.value},set:function(t,e){return s(this,0===t?0:t,e)}}:{add:function(t){return s(this,t=0===t?0:t,t)}}),u&&so(i,"size",{configurable:!0,get:function(){return a(this).size}}),o},setStrong:function(t,e,r){var n=e+" Iterator",o=_o(e),i=_o(n);Rn(t,e,function(t,e){Co(this,{type:n,target:t,state:o(t),kind:e,last:null})},function(){for(var t=i(this),e=t.kind,r=t.last;r&&r.removed;)r=r.previous;return t.target&&(t.last=r=r?r.next:t.state.first)?Pn("keys"===e?r.key:"values"===e?r.value:[r.key,r.value],!1):(t.target=null,Pn(void 0,!0))},r?"entries":"values",!r,!0),Uo(e)}};To("Map",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},Fo);var Bo=Map.prototype,Do={Map:Map,set:b(Bo.set),get:b(Bo.get),has:b(Bo.has),remove:b(Bo.delete),proto:Bo},zo=Do.Map,Wo=Do.has,qo=Do.get,Ho=Do.set,$o=b([].push),Ko=a(function(){return 1!==zo.groupBy("ab",function(t){return t}).get("a").length});Ce({target:"Map",stat:!0,forced:Ko},{groupBy:function(t,e){j(t),J(e);var r=new zo,n=0;return Ao(t,function(t){var o=e(t,n++);Wo(r,o)?$o(qo(r,o),t):Ho(r,o,[t])}),r}});var Go={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},Vo=Et("span").classList,Yo=Vo&&Vo.constructor&&Vo.constructor.prototype,Xo=Yo===Object.prototype?void 0:Yo,Jo=dt("iterator"),Qo=ro.values,Zo=function(t,e){if(t){if(t[Jo]!==Qo)try{_t(t,Jo,Qo)}catch(e){t[Jo]=Qo}if(an(t,e,!0),Go[e])for(var r in ro)if(t[r]!==ro[r])try{_t(t,r,ro[r])}catch(e){t[r]=ro[r]}}};for(var ti in Go)Zo(i[ti]&&i[ti].prototype,ti);Zo(Xo,"DOMTokenList");var ei=function(t,e,r){return function(n){var o=it(n),i=arguments.length,a=i>1?arguments[1]:void 0,u=void 0!==a,s=u?ar(a,i>2?arguments[2]:void 0):void 0,c=new t,f=0;return Ao(o,function(t){var n=u?s(t,f++):t;r?e(c,kt(n)[0],n[1]):e(c,n)}),c}};Ce({target:"Map",stat:!0,forced:!0},{from:ei(Do.Map,Do.set,!0)});var ri=function(t,e,r){return function(){for(var n=new t,o=arguments.length,i=0;i1?arguments[1]:void 0);return!1!==di(e,function(t,n){if(!r(t,n,e))return!1},!0)}});var gi=Do.Map,yi=Do.set;Ce({target:"Map",proto:!0,real:!0,forced:!0},{filter:function(t){var e=oi(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new gi;return di(e,function(t,o){r(t,o,e)&&yi(n,o,t)}),n}}),Ce({target:"Map",proto:!0,real:!0,forced:!0},{find:function(t){var e=oi(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=di(e,function(t,n){if(r(t,n,e))return{value:t}},!0);return n&&n.value}}),Ce({target:"Map",proto:!0,real:!0,forced:!0},{findKey:function(t){var e=oi(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=di(e,function(t,n){if(r(t,n,e))return{key:n}},!0);return n&&n.key}}),Ce({target:"Map",proto:!0,real:!0,forced:!0},{includes:function(t){return!0===di(oi(this),function(e){if((r=e)===(n=t)||r!=r&&n!=n)return!0;var r,n},!0)}});var mi=Do.Map;Ce({target:"Map",stat:!0,forced:!0},{keyBy:function(t,e){var r=new(T(this)?this:mi);J(e);var n=J(r.set);return Ao(t,function(t){f(n,r,e(t),t)}),r}}),Ce({target:"Map",proto:!0,real:!0,forced:!0},{keyOf:function(t){var e=di(oi(this),function(e,r){if(e===t)return{key:r}},!0);return e&&e.key}});var bi=Do.Map,wi=Do.set;Ce({target:"Map",proto:!0,real:!0,forced:!0},{mapKeys:function(t){var e=oi(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new bi;return di(e,function(t,o){wi(n,r(t,o,e),t)}),n}});var Si=Do.Map,Ei=Do.set;Ce({target:"Map",proto:!0,real:!0,forced:!0},{mapValues:function(t){var e=oi(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new Si;return di(e,function(t,o){Ei(n,o,r(t,o,e))}),n}});var Oi=Do.set;Ce({target:"Map",proto:!0,real:!0,arity:1,forced:!0},{merge:function(t){for(var e=oi(this),r=arguments.length,n=0;n1?arguments[1]:void 0);return!0===di(e,function(t,n){if(r(t,n,e))return!0},!0)}});var Ri=TypeError,Pi=Do.get,Ai=Do.has,ji=Do.set;Ce({target:"Map",proto:!0,real:!0,forced:!0},{update:function(t,e){var r=oi(this),n=arguments.length;J(e);var o=Ai(r,t);if(!o&&n<3)throw new Ri("Updating absent value");var i=o?Pi(r,t):J(n>2?arguments[2]:void 0)(t,r);return ji(r,t,e(i,t,r)),r}});var ki=TypeError,Ii=function(t,e){var r,n=kt(this),o=J(n.get),i=J(n.has),a=J(n.set),u=arguments.length>2?arguments[2]:void 0;if(!T(e)&&!T(u))throw new ki("At least one callback required");return f(i,n,t)?(r=f(o,n,t),T(e)&&(r=e(r),f(a,n,t,r))):T(u)&&(r=u(),f(a,n,t,r)),r};Ce({target:"Map",proto:!0,real:!0,forced:!0},{upsert:Ii}),Ce({target:"Map",proto:!0,real:!0,name:"upsert",forced:!0},{updateOrInsert:Ii});var Ti=b(1..valueOf),Mi="\t\n\v\f\r                 \u2028\u2029\ufeff",Li=b("".replace),Ui=RegExp("^["+Mi+"]+"),Ni=RegExp("(^|[^"+Mi+"])["+Mi+"]+$"),Ci=function(t){return function(e){var r=Wr(j(e));return 1&t&&(r=Li(r,Ui,"")),2&t&&(r=Li(r,Ni,"$1")),r}},_i={start:Ci(1),end:Ci(2),trim:Ci(3)},Fi=Oe.f,Bi=Rt.f,Di=Ct.f,zi=_i.trim,Wi="Number",qi=i[Wi],Hi=qi.prototype,$i=i.TypeError,Ki=b("".slice),Gi=b("".charCodeAt),Vi=Ue(Wi,!qi(" 0o1")||!qi("0b1")||qi("+0x1")),Yi=function(t){var e,r=arguments.length<1?0:qi(function(t){var e=mt(t,"number");return"bigint"==typeof e?e:function(t){var e,r,n,o,i,a,u,s,c=mt(t,"number");if(G(c))throw new $i("Cannot convert a Symbol value to a number");if("string"==typeof c&&c.length>2)if(c=zi(c),43===(e=Gi(c,0))||45===e){if(88===(r=Gi(c,2))||120===r)return NaN}else if(48===e){switch(Gi(c,1)){case 66:case 98:n=2,o=49;break;case 79:case 111:n=8,o=55;break;default:return+c}for(a=(i=Ki(c,2)).length,u=0;uo)return NaN;return parseInt(i,n)}return+c}(e)}(t));return U(Hi,e=this)&&a(function(){Ti(e)})?Io(Object(r),this,Yi):r};Yi.prototype=Hi,Vi&&(Hi.constructor=Yi),Ce({global:!0,constructor:!0,wrap:!0,forced:Vi},{Number:Yi}),Vi&&function(t,e){for(var r,n=u?Fi(e):"MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,EPSILON,MAX_SAFE_INTEGER,MIN_SAFE_INTEGER,isFinite,isInteger,isNaN,isSafeInteger,parseFloat,parseInt,fromString,range".split(","),o=0;n.length>o;o++)ut(e,r=n[o])&&!ut(t,r)&&Di(t,r,Bi(e,r))}(Yn[Wi],qi),Ce({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{EPSILON:Math.pow(2,-52)});var Xi=i.isFinite;Ce({target:"Number",stat:!0},{isFinite:Number.isFinite||function(t){return"number"==typeof t&&Xi(t)}});var Ji=Math.floor,Qi=Number.isInteger||function(t){return!M(t)&&isFinite(t)&&Ji(t)===t};Ce({target:"Number",stat:!0},{isInteger:Qi}),Ce({target:"Number",stat:!0},{isNaN:function(t){return t!=t}});var Zi=Math.abs;Ce({target:"Number",stat:!0},{isSafeInteger:function(t){return Qi(t)&&Zi(t)<=9007199254740991}}),Ce({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MAX_SAFE_INTEGER:9007199254740991}),Ce({target:"Number",stat:!0,nonConfigurable:!0,nonWritable:!0},{MIN_SAFE_INTEGER:-9007199254740991});var ta=_i.trim,ea=b("".charAt),ra=i.parseFloat,na=i.Symbol,oa=na&&na.iterator,ia=1/ra(Mi+"-0")!=-Infinity||oa&&!a(function(){ra(Object(oa))})?function(t){var e=ta(Wr(t)),r=ra(e);return 0===r&&"-"===ea(e,0)?-0:r}:ra;Ce({target:"Number",stat:!0,forced:Number.parseFloat!==ia},{parseFloat:ia});var aa=_i.trim,ua=i.parseInt,sa=i.Symbol,ca=sa&&sa.iterator,fa=/^[+-]?0x/i,la=b(fa.exec),ha=8!==ua(Mi+"08")||22!==ua(Mi+"0x16")||ca&&!a(function(){ua(Object(ca))})?function(t,e){var r=aa(Wr(t));return ua(r,e>>>0||(la(fa,r)?16:10))}:ua;Ce({target:"Number",stat:!0,forced:Number.parseInt!==ha},{parseInt:ha});var pa=b(v.f),va=b([].push),da=u&&a(function(){var t=Object.create(null);return t[2]=2,!pa(t,2)}),ga=function(t){return function(e){for(var r,n=k(e),o=_e(n),i=da&&null===Qr(n),a=o.length,s=0,c=[];a>s;)r=o[s++],u&&!(i?r in n:pa(n,r))||va(c,t?[r,n[r]]:n[r]);return c}},ya={entries:ga(!0),values:ga(!1)},ma=ya.entries;Ce({target:"Object",stat:!0},{entries:function(t){return ma(t)}}),Ce({target:"Object",stat:!0,sham:!u},{getOwnPropertyDescriptors:function(t){for(var e,r,n=k(t),o=Rt.f,i=Pe(n),a={},u=0;i.length>u;)void 0!==(r=o(n,e=i[u++]))&&Cn(a,e,r);return a}});var ba=a(function(){_e(1)});Ce({target:"Object",stat:!0,forced:ba},{keys:function(t){return _e(it(t))}});var wa=Object.is||function(t,e){return t===e?0!==t||1/t==1/e:t!=t&&e!=e};Ce({target:"Object",stat:!0},{is:wa});var Sa=ya.values;Ce({target:"Object",stat:!0},{values:function(t){return Sa(t)}}),Ce({target:"Object",stat:!0},{hasOwn:ut});var Ea=Function.prototype,Oa=Ea.apply,xa=Ea.call,Ra="object"==typeof Reflect&&Reflect.apply||(s?xa.bind(Oa):function(){return xa.apply(Oa,arguments)}),Pa=!a(function(){Reflect.apply(function(){})});Ce({target:"Reflect",stat:!0,forced:Pa},{apply:function(t,e,r){return Ra(J(t),e,kt(r))}});var Aa=Function,ja=b([].concat),ka=b([].join),Ia={},Ta=s?Aa.bind:function(t){var e=J(this),r=e.prototype,n=vo(arguments,1),o=function(){var r=ja(n,vo(arguments));return this instanceof o?function(t,e,r){if(!ut(Ia,e)){for(var n=[],o=0;ob)","g");return"b"!==t.exec("b").groups.a||"bc"!=="b".replace(t,"$c")}),gs=Oe.f,ys=ne.enforce,ms=dt("match"),bs=i.RegExp,ws=bs.prototype,Ss=i.SyntaxError,Es=b(ws.exec),Os=b("".charAt),xs=b("".replace),Rs=b("".indexOf),Ps=b("".slice),As=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,js=/a/g,ks=/a/g,Is=new bs(js)!==js,Ts=cs.MISSED_STICKY,Ms=cs.UNSUPPORTED_Y,Ls=u&&(!Is||Ts||ps||ds||a(function(){return ks[ms]=!1,bs(js)!==js||bs(ks)===ks||"/a/i"!==String(bs(js,"i"))}));if(Ue("RegExp",Ls)){for(var Us=function(t,e){var r,n,o,i,a,u,s=U(ws,this),c=es(t),f=void 0===e,l=[],h=t;if(!s&&c&&f&&t.constructor===Us)return t;if((c||U(ws,t))&&(t=t.source,f&&(e=os(h))),t=void 0===t?"":Wr(t),e=void 0===e?"":Wr(e),h=t,ps&&"dotAll"in js&&(n=!!e&&Rs(e,"s")>-1)&&(e=xs(e,/s/g,"")),r=e,Ts&&"sticky"in js&&(o=!!e&&Rs(e,"y")>-1)&&Ms&&(e=xs(e,/y/g,"")),ds&&(i=function(t){for(var e,r=t.length,n=0,o="",i=[],a=Ve(null),u=!1,s=!1,c=0,f="";n<=r;n++){if("\\"===(e=Os(t,n)))e+=Os(t,++n);else if("]"===e)u=!1;else if(!u)switch(!0){case"["===e:u=!0;break;case"("===e:if(o+=e,"?:"===Ps(t,n+1,n+3))continue;Es(As,Ps(t,n+1))&&(n+=2,s=!0),c++;continue;case">"===e&&s:if(""===f||ut(a,f))throw new Ss("Invalid capture group name");a[f]=!0,i[i.length]=[f,c],s=!1,f="";continue}s?f+=e:o+=e}return[o,i]}(t),t=i[0],l=i[1]),a=Io(bs(t,e),s?this:ws,Us),(n||o||l.length)&&(u=ys(a),n&&(u.dotAll=!0,u.raw=Us(function(t){for(var e,r=t.length,n=0,o="",i=!1;n<=r;n++)"\\"!==(e=Os(t,n))?i||"."!==e?("["===e?i=!0:"]"===e&&(i=!1),o+=e):o+="[\\s\\S]":o+=e+Os(t,++n);return o}(t),r)),o&&(u.sticky=!0),l.length&&(u.groups=l)),t!==h)try{_t(a,"source",""===h?"(?:)":h)}catch(t){}return a},Ns=gs(bs),Cs=0;Ns.length>Cs;)ls(Us,bs,Ns[Cs++]);ws.constructor=Us,Us.prototype=ws,ie(i,"RegExp",Us,{constructor:!0})}Uo("RegExp");var _s=zt.PROPER,Fs="toString",Bs=RegExp.prototype,Ds=Bs[Fs];(a(function(){return"/a/b"!==Ds.call({source:"a",flags:"b"})})||_s&&Ds.name!==Fs)&&ie(Bs,Fs,function(){var t=kt(this);return"/"+Wr(t.source)+"/"+Wr(os(t))},{unsafe:!0});var zs=ne.get,Ws=RegExp.prototype,qs=TypeError;u&&ps&&so(Ws,"dotAll",{configurable:!0,get:function(){if(this!==Ws){if("RegExp"===E(this))return!!zs(this).dotAll;throw new qs("Incompatible receiver, RegExp required")}}});var Hs=ne.get,$s=nt("native-string-replace",String.prototype.replace),Ks=RegExp.prototype.exec,Gs=Ks,Vs=b("".charAt),Ys=b("".indexOf),Xs=b("".replace),Js=b("".slice),Qs=function(){var t=/a/,e=/b*/g;return f(Ks,t,"a"),f(Ks,e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),Zs=cs.BROKEN_CARET,tc=void 0!==/()??/.exec("")[1];(Qs||tc||Zs||ps||ds)&&(Gs=function(t){var e,r,n,o,i,a,u,s=this,c=Hs(s),l=Wr(t),h=c.raw;if(h)return h.lastIndex=s.lastIndex,e=f(Gs,h,l),s.lastIndex=h.lastIndex,e;var p=c.groups,v=Zs&&s.sticky,d=f(rs,s),g=s.source,y=0,m=l;if(v&&(d=Xs(d,"y",""),-1===Ys(d,"g")&&(d+="g"),m=Js(l,s.lastIndex),s.lastIndex>0&&(!s.multiline||s.multiline&&"\n"!==Vs(l,s.lastIndex-1))&&(g="(?: "+g+")",m=" "+m,y++),r=new RegExp("^(?:"+g+")",d)),tc&&(r=new RegExp("^"+g+"$(?!\\s)",d)),Qs&&(n=s.lastIndex),o=f(Ks,v?r:s,m),v?o?(o.input=Js(o.input,y),o[0]=Js(o[0],y),o.index=s.lastIndex,s.lastIndex+=o[0].length):s.lastIndex=0:Qs&&o&&(s.lastIndex=s.global?o.index+o[0].length:n),tc&&o&&o.length>1&&f($s,o[0],r,function(){for(i=1;i]*>)/g,Oc=/\$([$&'`]|\d{1,2})/g,xc=function(t,e,r,n,o,i){var a=r+t.length,u=n.length,s=Oc;return void 0!==o&&(o=it(o),s=Ec),wc(i,s,function(i,s){var c;switch(bc(s,0)){case"$":return"$";case"&":return t;case"`":return Sc(e,0,r);case"'":return Sc(e,a);case"<":c=o[Sc(s,1,-1)];break;default:var f=+s;if(0===f)return i;if(f>u){var l=mc(f/10);return 0===l?i:l<=u?void 0===n[l-1]?bc(s,1):n[l-1]+bc(s,1):i}c=n[f-1]}return void 0===c?"":c})},Rc=dt("replace"),Pc=Math.max,Ac=Math.min,jc=b([].concat),kc=b([].push),Ic=b("".indexOf),Tc=b("".slice),Mc="$0"==="a".replace(/./,"$0"),Lc=!!/./[Rc]&&""===/./[Rc]("a","$0"),Uc=!a(function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")});pc("replace",function(t,e,r){var n=Lc?"$":"$0";return[function(t,r){var n=j(this),o=P(t)?void 0:Q(t,Rc);return o?f(o,t,n,r):f(e,Wr(n),t,r)},function(t,o){var i=kt(this),a=Wr(t);if("string"==typeof o&&-1===Ic(o,n)&&-1===Ic(o,"$<")){var u=r(e,i,a,o);if(u.done)return u.value}var s=T(o);s||(o=Wr(o));var c,f=i.global;f&&(c=i.unicode,i.lastIndex=0);for(var l,h=[];null!==(l=yc(i,a))&&(kc(h,l),f);)""===Wr(l[0])&&(i.lastIndex=dc(a,ve(i.lastIndex),c));for(var p,v="",d=0,g=0;g=d&&(v+=Tc(a,d,b)+y,d=b+m.length)}return v+Tc(a,d)}]},!Uc||!Mc||Lc),pc("search",function(t,e,r){return[function(e){var r=j(this),n=P(e)?void 0:Q(e,t);return n?f(n,e,r):new RegExp(e)[t](Wr(r))},function(t){var n=kt(this),o=Wr(t),i=r(e,n,o);if(i.done)return i.value;var a=n.lastIndex;wa(a,0)||(n.lastIndex=0);var u=yc(n,o);return wa(n.lastIndex,a)||(n.lastIndex=a),null===u?-1:u.index}]});var Nc=dt("species"),Cc=function(t,e){var r,n=kt(t).constructor;return void 0===n||P(r=kt(n)[Nc])?e:La(r)},_c=cs.UNSUPPORTED_Y,Fc=Math.min,Bc=b([].push),Dc=b("".slice),zc=!a(function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}),Wc="c"==="abbc".split(/(b)*/)[1]||4!=="test".split(/(?:)/,-1).length||2!=="ab".split(/(?:ab)*/).length||4!==".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length;pc("split",function(t,e,r){var n="0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:f(e,this,t,r)}:e;return[function(e,r){var o=j(this),i=P(e)?void 0:Q(e,t);return i?f(i,e,o,r):f(n,Wr(o),e,r)},function(t,o){var i=kt(this),a=Wr(t);if(!Wc){var u=r(n,i,a,o,n!==e);if(u.done)return u.value}var s=Cc(i,RegExp),c=i.unicode,f=new s(_c?"^(?:"+i.source+")":i,(i.ignoreCase?"i":"")+(i.multiline?"m":"")+(i.unicode?"u":"")+(_c?"g":"y")),l=void 0===o?4294967295:o>>>0;if(0===l)return[];if(0===a.length)return null===yc(f,a)?[a]:[];for(var h=0,p=0,v=[];p0;(n>>>=1)&&(e+=e))1&n&&(r+=e);return r},Kc=b($c),Gc=b("".slice),Vc=Math.ceil,Yc=function(t){return function(e,r,n){var o,i,a=Wr(j(e)),u=ve(r),s=a.length,c=void 0===n?" ":Wr(n);return u<=s||""===c?a:((i=Kc(c,Vc((o=u-s)/c.length))).length>o&&(i=Gc(i,0,o)),t?a+i:i+a)}},Xc={start:Yc(!1),end:Yc(!0)},Jc=Xc.start,Qc=Array,Zc=RegExp.escape,tf=b("".charAt),ef=b("".charCodeAt),rf=b(1.1.toString),nf=b([].join),of=/^[0-9a-z]/i,af=/^[$()*+./?[\\\]^{|}]/,uf=RegExp("^[!\"#%&',\\-:;<=>@`~"+Mi+"]"),sf=b(of.exec),cf={"\t":"t","\n":"n","\v":"v","\f":"f","\r":"r"},ff=function(t){var e=rf(ef(t,0),16);return e.length<3?"\\x"+Jc(e,2,"0"):"\\u"+Jc(e,4,"0")},lf=!Zc||"\\x61b"!==Zc("ab");Ce({target:"RegExp",stat:!0,forced:lf},{escape:function(t){!function(t){if("string"==typeof t)return t;throw new qc("Argument is not a string")}(t);for(var e=t.length,r=Qc(e),n=0;n=56320||n+1>=e||56320!=(64512&ef(t,n+1))?r[n]=ff(o):(r[n]=o,r[++n]=tf(t,n))}}return nf(r,"")}}),To("Set",function(t){return function(){return t(this,arguments.length?arguments[0]:void 0)}},Fo);var hf=Set.prototype,pf={Set:Set,add:b(hf.add),has:b(hf.has),remove:b(hf.delete),proto:hf},vf=pf.has,df=function(t){return vf(t),t},gf=pf.Set,yf=pf.proto,mf=b(yf.forEach),bf=b(yf.keys),wf=bf(new gf).next,Sf=function(t,e,r){return r?ci({iterator:bf(t),next:wf},e):mf(t,e)},Ef=pf.Set,Of=pf.add,xf=function(t){var e=new Ef;return Sf(t,function(t){Of(e,t)}),e},Rf=ln(pf.proto,"size","get")||function(t){return t.size},Pf="Invalid size",Af=RangeError,jf=TypeError,kf=Math.max,If=function(t,e){this.set=t,this.size=kf(e,0),this.has=J(t.has),this.keys=J(t.keys)};If.prototype={getIterator:function(){return{iterator:t=kt(f(this.keys,this.set)),next:t.next,done:!1};var t},includes:function(t){return f(this.has,this.set,t)}};var Tf=function(t){kt(t);var e=+t.size;if(e!=e)throw new jf(Pf);var r=ce(e);if(r<0)throw new Af(Pf);return new If(t,r)},Mf=pf.has,Lf=pf.remove,Uf=function(t){var e=df(this),r=Tf(t),n=xf(e);return Rf(e)<=r.size?Sf(e,function(t){r.includes(t)&&Lf(n,t)}):ci(r.getIterator(),function(t){Mf(e,t)&&Lf(n,t)}),n},Nf=function(t){return{size:t,has:function(){return!1},keys:function(){return{next:function(){return{done:!0}}}}}},Cf=function(t){var e=L("Set");try{(new e)[t](Nf(0));try{return(new e)[t](Nf(-1)),!1}catch(t){return!0}}catch(t){return!1}};Ce({target:"Set",proto:!0,real:!0,forced:!Cf("difference")},{difference:Uf});var _f=pf.Set,Ff=pf.add,Bf=pf.has,Df=function(t){var e=df(this),r=Tf(t),n=new _f;return Rf(e)>r.size?ci(r.getIterator(),function(t){Bf(e,t)&&Ff(n,t)}):Sf(e,function(t){r.includes(t)&&Ff(n,t)}),n},zf=!Cf("intersection")||a(function(){return"3,2"!==String(Array.from(new Set([1,2,3]).intersection(new Set([3,2]))))});Ce({target:"Set",proto:!0,real:!0,forced:zf},{intersection:Df});var Wf=pf.has,qf=function(t){var e=df(this),r=Tf(t);if(Rf(e)<=r.size)return!1!==Sf(e,function(t){if(r.includes(t))return!1},!0);var n=r.getIterator();return!1!==ci(n,function(t){if(Wf(e,t))return Tn(n,"normal",!1)})};Ce({target:"Set",proto:!0,real:!0,forced:!Cf("isDisjointFrom")},{isDisjointFrom:qf});var Hf=function(t){var e=df(this),r=Tf(t);return!(Rf(e)>r.size)&&!1!==Sf(e,function(t){if(!r.includes(t))return!1},!0)};Ce({target:"Set",proto:!0,real:!0,forced:!Cf("isSubsetOf")},{isSubsetOf:Hf});var $f=pf.has,Kf=function(t){var e=df(this),r=Tf(t);if(Rf(e)1?arguments[1]:void 0);return!1!==Sf(e,function(t){if(!r(t,t,e))return!1},!0)}});var el=dt("iterator"),rl=Object,nl=L("Set"),ol=function(t){return function(t){return M(t)&&"number"==typeof t.size&&T(t.has)&&T(t.keys)}(t)?t:function(t){if(P(t))return!1;var e=rl(t);return void 0!==e[el]||"@@iterator"in e||ut(un,pr(e))}(t)?new nl(t):t};Ce({target:"Set",proto:!0,real:!0,forced:!0},{difference:function(t){return f(Uf,this,ol(t))}});var il=pf.Set,al=pf.add;Ce({target:"Set",proto:!0,real:!0,forced:!0},{filter:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new il;return Sf(e,function(t){r(t,t,e)&&al(n,t)}),n}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{find:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=Sf(e,function(t){if(r(t,t,e))return{value:t}},!0);return n&&n.value}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{intersection:function(t){return f(Df,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{isDisjointFrom:function(t){return f(qf,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{isSubsetOf:function(t){return f(Hf,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{isSupersetOf:function(t){return f(Kf,this,ol(t))}});var ul=b([].join),sl=b([].push);Ce({target:"Set",proto:!0,real:!0,forced:!0},{join:function(t){var e=df(this),r=void 0===t?",":Wr(t),n=[];return Sf(e,function(t){sl(n,t)}),ul(n,r)}});var cl=pf.Set,fl=pf.add;Ce({target:"Set",proto:!0,real:!0,forced:!0},{map:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0),n=new cl;return Sf(e,function(t){fl(n,r(t,t,e))}),n}});var ll=TypeError;Ce({target:"Set",proto:!0,real:!0,forced:!0},{reduce:function(t){var e=df(this),r=arguments.length<2,n=r?void 0:arguments[1];if(J(t),Sf(e,function(o){r?(r=!1,n=o):n=t(n,o,o,e)}),r)throw new ll("Reduce of empty set with no initial value");return n}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{some:function(t){var e=df(this),r=ar(t,arguments.length>1?arguments[1]:void 0);return!0===Sf(e,function(t){if(r(t,t,e))return!0},!0)}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{symmetricDifference:function(t){return f(Xf,this,ol(t))}}),Ce({target:"Set",proto:!0,real:!0,forced:!0},{union:function(t){return f(Qf,this,ol(t))}});var hl=dt("species"),pl=dt("isConcatSpreadable"),vl=W>=51||!a(function(){var t=[];return t[pl]=!1,t.concat()[0]!==t}),dl=function(t){if(!M(t))return!1;var e=t[pl];return void 0!==e?!!e:ur(t)},gl=!(vl&&(W>=51||!a(function(){var t=[];return(t.constructor={})[hl]=function(){return{foo:1}},1!==t.concat(Boolean).foo})));Ce({target:"Array",proto:!0,arity:1,forced:gl},{concat:function(t){var e,r,n,o,i,a=it(this),u=xr(a,0),s=0;for(e=-1,n=arguments.length;e1?arguments[1]:void 0,n=e.length,o=void 0===r?n:ip(ve(r),n),i=Wr(t);return op(e,o-i.length,o)===i}}),Ze("String","endsWith");var sp=RangeError,cp=String.fromCharCode,fp=String.fromCodePoint,lp=b([].join);Ce({target:"String",stat:!0,arity:1,forced:!!fp&&1!==fp.length},{fromCodePoint:function(t){for(var e,r=[],n=arguments.length,o=0;n>o;){if(e=+arguments[o++],he(e,1114111)!==e)throw new sp(e+" is not a valid code point");r[o]=e<65536?cp(e):cp(55296+((e-=65536)>>10),e%1024+56320)}return lp(r,"")}});var hp=b("".indexOf);Ce({target:"String",proto:!0,forced:!rp("includes")},{includes:function(t){return!!~hp(Wr(j(this)),Wr(tp(t)),arguments.length>1?arguments[1]:void 0)}}),Ze("String","includes"),b(un.String);var pp=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(_),vp=Xc.start;Ce({target:"String",proto:!0,forced:pp},{padStart:function(t){return vp(this,t,arguments.length>1?arguments[1]:void 0)}}),Ze("String","padStart");var dp=Xc.end;Ce({target:"String",proto:!0,forced:pp},{padEnd:function(t){return dp(this,t,arguments.length>1?arguments[1]:void 0)}}),Ze("String","padEnd");var gp=b([].push),yp=b([].join);Ce({target:"String",stat:!0},{raw:function(t){var e=k(it(t).raw),r=de(e);if(!r)return"";for(var n=arguments.length,o=[],i=0;;){if(gp(o,Wr(e[i++])),i===r)return yp(o,"");i1?arguments[1]:void 0,e.length)),n=Wr(t);return bp(e,r,r+n.length)===n}}),Ze("String","startsWith");var Op=zt.PROPER,xp=function(t){return a(function(){return!!Mi[t]()||"​…᠎"!=="​…᠎"[t]()||Op&&Mi[t].name!==t})},Rp=_i.start,Pp=xp("trimStart")?function(){return Rp(this)}:"".trimStart;Ce({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==Pp},{trimLeft:Pp}),Ce({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==Pp},{trimStart:Pp}),Ze("String","trimLeft");var Ap=_i.end,jp=xp("trimEnd")?function(){return Ap(this)}:"".trimEnd;Ce({target:"String",proto:!0,name:"trimEnd",forced:"".trimRight!==jp},{trimRight:jp}),Ce({target:"String",proto:!0,name:"trimEnd",forced:"".trimEnd!==jp},{trimEnd:jp}),Ze("String","trimRight");var kp=Object.getOwnPropertyDescriptor,Ip=function(t){if(!u)return i[t];var e=kp(i,t);return e&&e.value},Tp=dt("iterator"),Mp=!a(function(){var t=new URL("b?a=1&b=2&c=3","https://a"),e=t.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),n="";return t.pathname="c%20d",e.forEach(function(t,r){e.delete("b"),n+=r+t}),r.delete("a",2),r.delete("b",void 0),!e.size&&!u||!e.sort||"https://a/c%20d?a=1&c=3"!==t.href||"3"!==e.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!e[Tp]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==n||"x"!==new URL("https://x",void 0).host}),Lp=TypeError,Up=function(t,e){if(t0;)t[o]=t[--o];o!==i++&&(t[o]=n)}else for(var a=Np(r/2),u=Cp(vo(t,0,a),e),s=Cp(vo(t,a),e),c=u.length,f=s.length,l=0,h=0;l0&&0!=(t&r);r>>=1)e++;return e},pv=function(t){var e=null;switch(t.length){case 1:e=t[0];break;case 2:e=(31&t[0])<<6|63&t[1];break;case 3:e=(15&t[0])<<12|(63&t[1])<<6|63&t[2];break;case 4:e=(7&t[0])<<18|(63&t[1])<<12|(63&t[2])<<6|63&t[3]}return e>1114111?null:e},vv=function(t){for(var e=(t=nv(t,cv," ")).length,r="",n=0;ne){r+="%",n++;continue}var i=lv(t,n+1);if(i!=i){r+=o,n++;continue}n+=2;var a=hv(i);if(0===a)o=Jp(i);else{if(1===a||a>4){r+="�",n++;continue}for(var u=[i],s=1;se||"%"!==tv(t,n));){var c=lv(t,n+1);if(c!=c){n+=3;break}if(c>191||c<128)break;rv(u,c),n+=2,s++}if(u.length!==a){r+="�";continue}var f=pv(u);null===f?r+="�":o=Qp(f)}}r+=o,n++}return r},dv=/[!'()~]|%20/g,gv={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},yv=function(t){return gv[t]},mv=function(t){return nv(Xp(t),dv,yv)},bv=fn(function(t,e){zp(this,{type:Dp,target:Wp(t).entries,index:0,kind:e})},Bp,function(){var t=qp(this),e=t.target,r=t.index++;if(!e||r>=e.length)return t.target=null,Pn(void 0,!0);var n=e[r];switch(t.kind){case"keys":return Pn(n.key,!1);case"values":return Pn(n.value,!1)}return Pn([n.key,n.value],!1)},!0),wv=function(t){this.entries=[],this.url=null,void 0!==t&&(M(t)?this.parseObject(t):this.parseQuery("string"==typeof t?"?"===tv(t,0)?uv(t,1):t:Wr(t)))};wv.prototype={type:Bp,bindURL:function(t){this.url=t,this.update()},parseObject:function(t){var e,r,n,o,i,a,u,s=this.entries,c=Fn(t);if(c)for(r=(e=Dn(t,c)).next;!(n=f(r,e)).done;){if(o=Dn(kt(n.value)),(a=f(i=o.next,o)).done||(u=f(i,o)).done||!f(i,o).done)throw new Yp("Expected sequence with length 2");rv(s,{key:Wr(a.value),value:Wr(u.value)})}else for(var l in t)ut(t,l)&&rv(s,{key:l,value:Wr(t[l])})},parseQuery:function(t){if(t)for(var e,r,n=this.entries,o=av(t,"&"),i=0;i0?arguments[0]:void 0));u||(this.size=t.entries.length)},Ev=Sv.prototype;if(Mo(Ev,{append:function(t,e){var r=Wp(this);Up(arguments.length,2),rv(r.entries,{key:Wr(t),value:Wr(e)}),u||this.length++,r.updateURL()},delete:function(t){for(var e=Wp(this),r=Up(arguments.length,1),n=e.entries,o=Wr(t),i=r<2?void 0:arguments[1],a=void 0===i?i:Wr(i),s=0;se.key?1:-1}),t.updateURL()},forEach:function(t){for(var e,r=Wp(this).entries,n=ar(t,arguments.length>1?arguments[1]:void 0),o=0;o1?Rv(arguments[1]):{})}}),T($p)){var Pv=function(t){return ko(this,Gp),new $p(t,arguments.length>1?Rv(arguments[1]):{})};Gp.constructor=Pv,Pv.prototype=Gp,Ce({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Pv})}}var Av={URLSearchParams:Sv,getState:Wp},jv=URLSearchParams,kv=jv.prototype,Iv=b(kv.append),Tv=b(kv.delete),Mv=b(kv.forEach),Lv=b([].push),Uv=new jv("a=1&a=2&b=3");Uv.delete("a",1),Uv.delete("b",void 0),Uv+""!="a=2"&&ie(kv,"delete",function(t){var e=arguments.length,r=e<2?void 0:arguments[1];if(e&&void 0===r)return Tv(this,t);var n=[];Mv(this,function(t,e){Lv(n,{key:e,value:t})}),Up(e,1);for(var o,i=Wr(t),a=Wr(r),u=0,s=0,c=!1,f=n.length;uo;)for(var s,c=R(arguments[o++]),l=i?$v(_e(c),i(c)):_e(c),h=l.length,p=0;h>p;)s=l[p++],u&&!f(a,c,s)||(r[s]=c[s]);return r}:qv,Gv=2147483647,Vv=/[^\0-\u007E]/,Yv=/[.\u3002\uFF0E\uFF61]/g,Xv="Overflow: input needs wider integers to process",Jv=RangeError,Qv=b(Yv.exec),Zv=Math.floor,td=String.fromCharCode,ed=b("".charCodeAt),rd=b([].join),nd=b([].push),od=b("".replace),id=b("".split),ad=b("".toLowerCase),ud=function(t){return t+22+75*(t<26)},sd=function(t,e,r){var n=0;for(t=r?Zv(t/700):t>>1,t+=Zv(t/e);t>455;)t=Zv(t/35),n+=36;return Zv(n+36*t/(t+38))},cd=function(t){var e=[];t=function(t){for(var e=[],r=0,n=t.length;r=55296&&o<=56319&&r=i&&nZv((Gv-a)/l))throw new Jv(Xv);for(a+=(f-i)*l,i=f,r=0;rGv)throw new Jv(Xv);if(n===i){for(var h=a,p=36;;){var v=p<=u?1:p>=u+26?26:p-u;if(h?@[\\\]^|]/,qd=/[\0\t\n\r #/:<>?@[\\\]^|]/,Hd=/^[\u0000-\u0020]+/,$d=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,Kd=/[\t\n\r]/g,Gd=function(t){var e,r,n,o;if("number"==typeof t){for(e=[],r=0;r<4;r++)Td(e,t%256),t=md(t/256);return Ed(e,".")}if("object"==typeof t){for(e="",n=function(t){for(var e=null,r=1,n=null,o=0,i=0;i<8;i++)0!==t[i]?(o>r&&(e=n,r=o),n=null,o=0):(null===n&&(n=i),++o);return o>r?n:e}(t),r=0;r<8;r++)o&&0===t[r]||(o&&(o=!1),n===r?(e+=r?":":"::",o=!0):(e+=Od(t[r],16),r<7&&(e+=":")));return"["+e+"]"}return t},Vd={},Yd=Kv({},Vd,{" ":1,'"':1,"<":1,">":1,"`":1}),Xd=Kv({},Yd,{"#":1,"?":1,"{":1,"}":1}),Jd=Kv({},Xd,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),Qd=function(t,e){var r=fd(t,0);return r>32&&r<127&&!ut(e,t)?t:encodeURIComponent(t)},Zd={ftp:21,file:null,http:80,https:443,ws:80,wss:443},tg=function(t,e){var r;return 2===t.length&&Sd(Nd,wd(t,0))&&(":"===(r=wd(t,1))||!e&&"|"===r)},eg=function(t){var e;return t.length>1&&tg(kd(t,0,2))&&(2===t.length||"/"===(e=wd(t,2))||"\\"===e||"?"===e||"#"===e)},rg=function(t){return"."===t||"%2e"===Id(t)},ng={},og={},ig={},ag={},ug={},sg={},cg={},fg={},lg={},hg={},pg={},vg={},dg={},gg={},yg={},mg={},bg={},wg={},Sg={},Eg={},Og={},xg=function(t,e,r){var n,o,i,a=Wr(t);if(e){if(o=this.parse(a))throw new gd(o);this.searchParams=null}else{if(void 0!==r&&(n=new xg(r,!0)),o=this.parse(a,null,n))throw new gd(o);(i=vd(new pd)).bindURL(this),this.searchParams=i}};xg.prototype={type:"URL",parse:function(t,e,r){var n,o,i,a,u,s=this,c=e||ng,f=0,l="",h=!1,p=!1,v=!1;for(t=Wr(t),e||(s.scheme="",s.username="",s.password="",s.host=null,s.port=null,s.path=[],s.query=null,s.fragment=null,s.cannotBeABaseURL=!1,t=Pd(t,Hd,""),t=Pd(t,$d,"$1")),t=Pd(t,Kd,""),n=Wn(t);f<=n.length;){switch(o=n[f],c){case ng:if(!o||!Sd(Nd,o)){if(e)return Md;c=ig;continue}l+=Id(o),c=og;break;case og:if(o&&(Sd(Cd,o)||"+"===o||"-"===o||"."===o))l+=Id(o);else{if(":"!==o){if(e)return Md;l="",c=ig,f=0;continue}if(e&&(s.isSpecial()!==ut(Zd,l)||"file"===l&&(s.includesCredentials()||null!==s.port)||"file"===s.scheme&&!s.host))return;if(s.scheme=l,e)return void(s.isSpecial()&&Zd[s.scheme]===s.port&&(s.port=null));l="","file"===s.scheme?c=gg:s.isSpecial()&&r&&r.scheme===s.scheme?c=ag:s.isSpecial()?c=fg:"/"===n[f+1]?(c=ug,f++):(s.cannotBeABaseURL=!0,Rd(s.path,""),c=Sg)}break;case ig:if(!r||r.cannotBeABaseURL&&"#"!==o)return Md;if(r.cannotBeABaseURL&&"#"===o){s.scheme=r.scheme,s.path=vo(r.path),s.query=r.query,s.fragment="",s.cannotBeABaseURL=!0,c=Og;break}c="file"===r.scheme?gg:sg;continue;case ag:if("/"!==o||"/"!==n[f+1]){c=sg;continue}c=lg,f++;break;case ug:if("/"===o){c=hg;break}c=wg;continue;case sg:if(s.scheme=r.scheme,o===Wv)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.query=r.query;else if("/"===o||"\\"===o&&s.isSpecial())c=cg;else if("?"===o)s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.query="",c=Eg;else{if("#"!==o){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.path.length--,c=wg;continue}s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,s.path=vo(r.path),s.query=r.query,s.fragment="",c=Og}break;case cg:if(!s.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){s.username=r.username,s.password=r.password,s.host=r.host,s.port=r.port,c=wg;continue}c=hg}else c=lg;break;case fg:if(c=lg,"/"!==o||"/"!==wd(l,f+1))continue;f++;break;case lg:if("/"!==o&&"\\"!==o){c=hg;continue}break;case hg:if("@"===o){h&&(l="%40"+l),h=!0,i=Wn(l);for(var d=0;d65535)return Ud;s.port=s.isSpecial()&&m===Zd[s.scheme]?null:m,l=""}if(e)return;c=bg;continue}return Ud}l+=o;break;case gg:if(s.scheme="file","/"===o||"\\"===o)c=yg;else{if(!r||"file"!==r.scheme){c=wg;continue}switch(o){case Wv:s.host=r.host,s.path=vo(r.path),s.query=r.query;break;case"?":s.host=r.host,s.path=vo(r.path),s.query="",c=Eg;break;case"#":s.host=r.host,s.path=vo(r.path),s.query=r.query,s.fragment="",c=Og;break;default:eg(Ed(vo(n,f),""))||(s.host=r.host,s.path=vo(r.path),s.shortenPath()),c=wg;continue}}break;case yg:if("/"===o||"\\"===o){c=mg;break}r&&"file"===r.scheme&&!eg(Ed(vo(n,f),""))&&(tg(r.path[0],!0)?Rd(s.path,r.path[0]):s.host=r.host),c=wg;continue;case mg:if(o===Wv||"/"===o||"\\"===o||"?"===o||"#"===o){if(!e&&tg(l))c=wg;else if(""===l){if(s.host="",e)return;c=bg}else{if(a=s.parseHost(l))return a;if("localhost"===s.host&&(s.host=""),e)return;l="",c=bg}continue}l+=o;break;case bg:if(s.isSpecial()){if(c=wg,"/"!==o&&"\\"!==o)continue}else if(e||"?"!==o)if(e||"#"!==o){if(o!==Wv&&(c=wg,"/"!==o))continue}else s.fragment="",c=Og;else s.query="",c=Eg;break;case wg:if(o===Wv||"/"===o||"\\"===o&&s.isSpecial()||!e&&("?"===o||"#"===o)){if(".."===(u=Id(u=l))||"%2e."===u||".%2e"===u||"%2e%2e"===u?(s.shortenPath(),"/"===o||"\\"===o&&s.isSpecial()||Rd(s.path,"")):rg(l)?"/"===o||"\\"===o&&s.isSpecial()||Rd(s.path,""):("file"===s.scheme&&!s.path.length&&tg(l)&&(s.host&&(s.host=""),l=wd(l,0)+":"),Rd(s.path,l)),l="","file"===s.scheme&&(o===Wv||"?"===o||"#"===o))for(;s.path.length>1&&""===s.path[0];)Ad(s.path);"?"===o?(s.query="",c=Eg):"#"===o&&(s.fragment="",c=Og)}else l+=Qd(o,Xd);break;case Sg:"?"===o?(s.query="",c=Eg):"#"===o?(s.fragment="",c=Og):o!==Wv&&(s.path[0]+=Qd(o,Vd));break;case Eg:e||"#"!==o?o!==Wv&&("'"===o&&s.isSpecial()?s.query+="%27":s.query+="#"===o?"%23":Qd(o,Vd)):(s.fragment="",c=Og);break;case Og:o!==Wv&&(s.fragment+=Qd(o,Yd))}f++}},parseHost:function(t){var e,r,n;if("["===wd(t,0)){if("]"!==wd(t,t.length-1))return Ld;if(e=function(t){var e,r,n,o,i,a,u,s=[0,0,0,0,0,0,0,0],c=0,f=null,l=0,h=function(){return wd(t,l)};if(":"===h()){if(":"!==wd(t,1))return;l+=2,f=++c}for(;h();){if(8===c)return;if(":"!==h()){for(e=r=0;r<4&&Sd(zd,h());)e=16*e+yd(h(),16),l++,r++;if("."===h()){if(0===r)return;if(l-=r,c>6)return;for(n=0;h();){if(o=null,n>0){if(!("."===h()&&n<4))return;l++}if(!Sd(_d,h()))return;for(;Sd(_d,h());){if(i=yd(h(),10),null===o)o=i;else{if(0===o)return;o=10*o+i}if(o>255)return;l++}s[c]=256*s[c]+o,2!=++n&&4!==n||c++}if(4!==n)return;break}if(":"===h()){if(l++,!h())return}else if(h())return;s[c++]=e}else{if(null!==f)return;l++,f=++c}}if(null!==f)for(a=c-f,c=7;0!==c&&a>0;)u=s[c],s[c--]=s[f+a-1],s[f+--a]=u;else if(8!==c)return;return s}(kd(t,1,-1)),!e)return Ld;this.host=e}else if(this.isSpecial()){if(t=function(t){var e,r,n=[],o=id(od(ad(t),Yv,"."),".");for(e=0;e4)return t;for(r=[],n=0;n1&&"0"===wd(o,0)&&(i=Sd(Fd,o)?16:8,o=kd(o,8===i?1:2)),""===o)a=0;else{if(!Sd(10===i?Dd:8===i?Bd:zd,o))return t;a=yd(o,i)}Rd(r,a)}for(n=0;n=bd(256,5-e))return null}else if(a>255)return null;for(u=xd(r),n=0;n1?arguments[1]:void 0,n=ld(e,new xg(t,!1,r));u||(e.href=n.serialize(),e.origin=n.getOrigin(),e.protocol=n.getProtocol(),e.username=n.getUsername(),e.password=n.getPassword(),e.host=n.getHost(),e.hostname=n.getHostname(),e.port=n.getPort(),e.pathname=n.getPathname(),e.search=n.getSearch(),e.searchParams=n.getSearchParams(),e.hash=n.getHash())},Pg=Rg.prototype,Ag=function(t,e){return{get:function(){return hd(this)[t]()},set:e&&function(t){return hd(this)[e](t)},configurable:!0,enumerable:!0}};if(u&&(so(Pg,"href",Ag("serialize","setHref")),so(Pg,"origin",Ag("getOrigin")),so(Pg,"protocol",Ag("getProtocol","setProtocol")),so(Pg,"username",Ag("getUsername","setUsername")),so(Pg,"password",Ag("getPassword","setPassword")),so(Pg,"host",Ag("getHost","setHost")),so(Pg,"hostname",Ag("getHostname","setHostname")),so(Pg,"port",Ag("getPort","setPort")),so(Pg,"pathname",Ag("getPathname","setPathname")),so(Pg,"search",Ag("getSearch","setSearch")),so(Pg,"searchParams",Ag("getSearchParams")),so(Pg,"hash",Ag("getHash","setHash"))),ie(Pg,"toJSON",function(){return hd(this).serialize()},{enumerable:!0}),ie(Pg,"toString",function(){return hd(this).serialize()},{enumerable:!0}),dd){var jg=dd.createObjectURL,kg=dd.revokeObjectURL;jg&&ie(Rg,"createObjectURL",ar(jg,dd)),kg&&ie(Rg,"revokeObjectURL",ar(kg,dd))}an(Rg,"URL"),Ce({global:!0,constructor:!0,forced:!Mp,sham:!u},{URL:Rg});var Ig=L("URL"),Tg=Mp&&a(function(){Ig.canParse()}),Mg=a(function(){return 1!==Ig.canParse.length});Ce({target:"URL",stat:!0,forced:!Tg||Mg},{canParse:function(t){var e=Up(arguments.length,1),r=Wr(t),n=e<2||void 0===arguments[1]?void 0:Wr(arguments[1]);try{return!!new Ig(r,n)}catch(t){return!1}}});var Lg=L("URL");Ce({target:"URL",stat:!0,forced:!Mp},{parse:function(t){var e=Up(arguments.length,1),r=Wr(t),n=e<2||void 0===arguments[1]?void 0:Wr(arguments[1]);try{return new Lg(r,n)}catch(t){return null}}}),Ce({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return f(URL.prototype.toString,this)}});var Ug=WeakMap.prototype,Ng={WeakMap:WeakMap,set:b(Ug.set),get:b(Ug.get),has:b(Ug.has),remove:b(Ug.delete)},Cg=Ng.has,_g=function(t){return Cg(t),t},Fg=Ng.get,Bg=Ng.has,Dg=Ng.set;Ce({target:"WeakMap",proto:!0,real:!0,forced:!0},{emplace:function(t,e){var r,n,o=_g(this);return Bg(o,t)?(r=Fg(o,t),"update"in e&&(r=e.update(r,t,o),Dg(o,t,r)),r):(n=e.insert(t,o),Dg(o,t,n),n)}}),Ce({target:"WeakMap",stat:!0,forced:!0},{from:ei(Ng.WeakMap,Ng.set,!0)}),Ce({target:"WeakMap",stat:!0,forced:!0},{of:ri(Ng.WeakMap,Ng.set,!0)});var zg=Ng.remove;Ce({target:"WeakMap",proto:!0,real:!0,forced:!0},{deleteAll:function(){for(var t,e=_g(this),r=!0,n=0,o=arguments.length;n2&&(n=r,M(o=arguments[2])&&"cause"in o&&_t(n,"cause",o.cause));var s=[];return Ao(t,ny,{that:s}),_t(r,"errors",s),r};dn?dn(oy,ry):Ae(oy,ry,{name:!0});var iy=oy.prototype=Ve(ry.prototype,{constructor:d(1,oy),message:d(1,""),name:d(1,"AggregateError")});Ce({global:!0,constructor:!0,arity:2},{AggregateError:oy});var ay,uy,sy,cy,fy=function(t){return _.slice(0,t.length)===t},ly=fy("Bun/")?"BUN":fy("Cloudflare-Workers")?"CLOUDFLARE":fy("Deno/")?"DENO":fy("Node.js/")?"NODE":i.Bun&&"string"==typeof Bun.version?"BUN":i.Deno&&"object"==typeof Deno.version?"DENO":"process"===E(i.process)?"NODE":i.window&&i.document?"BROWSER":"REST",hy="NODE"===ly,py=/(?:ipad|iphone|ipod).*applewebkit/i.test(_),vy=i.setImmediate,dy=i.clearImmediate,gy=i.process,yy=i.Dispatch,my=i.Function,by=i.MessageChannel,wy=i.String,Sy=0,Ey={},Oy="onreadystatechange";a(function(){ay=i.location});var xy=function(t){if(ut(Ey,t)){var e=Ey[t];delete Ey[t],e()}},Ry=function(t){return function(){xy(t)}},Py=function(t){xy(t.data)},Ay=function(t){i.postMessage(wy(t),ay.protocol+"//"+ay.host)};vy&&dy||(vy=function(t){Up(arguments.length,1);var e=T(t)?t:my(t),r=vo(arguments,1);return Ey[++Sy]=function(){Ra(e,void 0,r)},uy(Sy),Sy},dy=function(t){delete Ey[t]},hy?uy=function(t){gy.nextTick(Ry(t))}:yy&&yy.now?uy=function(t){yy.now(Ry(t))}:by&&!py?(cy=(sy=new by).port2,sy.port1.onmessage=Py,uy=ar(cy.postMessage,cy)):i.addEventListener&&T(i.postMessage)&&!i.importScripts&&ay&&"file:"!==ay.protocol&&!a(Ay)?(uy=Ay,i.addEventListener("message",Py,!1)):uy=Oy in Et("script")?function(t){De.appendChild(Et("script"))[Oy]=function(){De.removeChild(this),xy(t)}}:function(t){setTimeout(Ry(t),0)});var jy={set:vy,clear:dy},ky=function(){this.head=null,this.tail=null};ky.prototype={add:function(t){var e={item:t,next:null},r=this.tail;r?r.next=e:this.head=e,this.tail=e},get:function(){var t=this.head;if(t)return null===(this.head=t.next)&&(this.tail=null),t.item}};var Iy,Ty,My,Ly,Uy,Ny=ky,Cy=/ipad|iphone|ipod/i.test(_)&&"undefined"!=typeof Pebble,_y=/web0s(?!.*chrome)/i.test(_),Fy=jy.set,By=i.MutationObserver||i.WebKitMutationObserver,Dy=i.document,zy=i.process,Wy=i.Promise,qy=Ip("queueMicrotask");if(!qy){var Hy=new Ny,$y=function(){var t,e;for(hy&&(t=zy.domain)&&t.exit();e=Hy.get();)try{e()}catch(t){throw Hy.head&&Iy(),t}t&&t.enter()};py||hy||_y||!By||!Dy?!Cy&&Wy&&Wy.resolve?((Ly=Wy.resolve(void 0)).constructor=Wy,Uy=ar(Ly.then,Ly),Iy=function(){Uy($y)}):hy?Iy=function(){zy.nextTick($y)}:(Fy=ar(Fy,i),Iy=function(){Fy($y)}):(Ty=!0,My=Dy.createTextNode(""),new By($y).observe(My,{characterData:!0}),Iy=function(){My.data=Ty=!Ty}),qy=function(t){Hy.head||Iy(),Hy.add(t)}}var Ky,Gy,Vy,Yy=qy,Xy=function(t){try{return{error:!1,value:t()}}catch(t){return{error:!0,value:t}}},Jy=i.Promise,Qy=dt("species"),Zy=!1,tm=T(i.PromiseRejectionEvent),em=Ue("Promise",function(){var t=Kt(Jy),e=t!==String(Jy);if(!e&&66===W)return!0;if(!W||W<51||!/native code/.test(t)){var r=new Jy(function(t){t(1)}),n=function(t){t(function(){},function(){})};if((r.constructor={})[Qy]=n,!(Zy=r.then(function(){})instanceof n))return!0}return!(e||"BROWSER"!==ly&&"DENO"!==ly||tm)}),rm={CONSTRUCTOR:em,REJECTION_EVENT:tm,SUBCLASSING:Zy},nm=TypeError,om=function(t){var e,r;this.promise=new t(function(t,n){if(void 0!==e||void 0!==r)throw new nm("Bad Promise constructor");e=t,r=n}),this.resolve=J(e),this.reject=J(r)},im={f:function(t){return new om(t)}},am=jy.set,um="Promise",sm=rm.CONSTRUCTOR,cm=rm.REJECTION_EVENT,fm=rm.SUBCLASSING,lm=ne.getterFor(um),hm=ne.set,pm=Jy&&Jy.prototype,vm=Jy,dm=pm,gm=i.TypeError,ym=i.document,mm=i.process,bm=im.f,wm=bm,Sm=!!(ym&&ym.createEvent&&i.dispatchEvent),Em="unhandledrejection",Om=function(t){var e;return!(!M(t)||!T(e=t.then))&&e},xm=function(t,e){var r,n,o,i=e.value,a=1===e.state,u=a?t.ok:t.fail,s=t.resolve,c=t.reject,l=t.domain;try{u?(a||(2===e.rejection&&km(e),e.rejection=1),!0===u?r=i:(l&&l.enter(),r=u(i),l&&(l.exit(),o=!0)),r===t.promise?c(new gm("Promise-chain cycle")):(n=Om(r))?f(n,r,s,c):s(r)):c(i)}catch(t){l&&!o&&l.exit(),c(t)}},Rm=function(t,e){t.notified||(t.notified=!0,Yy(function(){for(var r,n=t.reactions;r=n.get();)xm(r,t);t.notified=!1,e&&!t.rejection&&Am(t)}))},Pm=function(t,e,r){var n,o;Sm?((n=ym.createEvent("Event")).promise=e,n.reason=r,n.initEvent(t,!1,!0),i.dispatchEvent(n)):n={promise:e,reason:r},!cm&&(o=i["on"+t])?o(n):t===Em&&function(t,e){try{1===arguments.length?console.error(t):console.error(t,e)}catch(t){}}("Unhandled promise rejection",r)},Am=function(t){f(am,i,function(){var e,r=t.facade,n=t.value;if(jm(t)&&(e=Xy(function(){hy?mm.emit("unhandledRejection",n,r):Pm(Em,r,n)}),t.rejection=hy||jm(t)?2:1,e.error))throw e.value})},jm=function(t){return 1!==t.rejection&&!t.parent},km=function(t){f(am,i,function(){var e=t.facade;hy?mm.emit("rejectionHandled",e):Pm("rejectionhandled",e,t.value)})},Im=function(t,e,r){return function(n){t(e,n,r)}},Tm=function(t,e,r){t.done||(t.done=!0,r&&(t=r),t.value=e,t.state=2,Rm(t,!0))},Mm=function(t,e,r){if(!t.done){t.done=!0,r&&(t=r);try{if(t.facade===e)throw new gm("Promise can't be resolved itself");var n=Om(e);n?Yy(function(){var r={done:!1};try{f(n,e,Im(Mm,r,t),Im(Tm,r,t))}catch(e){Tm(r,e,t)}}):(t.value=e,t.state=1,Rm(t,!1))}catch(e){Tm({done:!1},e,t)}}};if(sm&&(vm=function(t){ko(this,dm),J(t),f(Ky,this);var e=lm(this);try{t(Im(Mm,e),Im(Tm,e))}catch(t){Tm(e,t)}},(Ky=function(t){hm(this,{type:um,done:!1,notified:!1,parent:!1,reactions:new Ny,rejection:!1,state:0,value:null})}).prototype=ie(dm=vm.prototype,"then",function(t,e){var r=lm(this),n=bm(Cc(this,vm));return r.parent=!0,n.ok=!T(t)||t,n.fail=T(e)&&e,n.domain=hy?mm.domain:void 0,0===r.state?r.reactions.add(n):Yy(function(){xm(n,r)}),n.promise}),Gy=function(){var t=new Ky,e=lm(t);this.promise=t,this.resolve=Im(Mm,e),this.reject=Im(Tm,e)},im.f=bm=function(t){return t===vm||void 0===t?new Gy(t):wm(t)},T(Jy)&&pm!==Object.prototype)){Vy=pm.then,fm||ie(pm,"then",function(t,e){var r=this;return new vm(function(t,e){f(Vy,r,t,e)}).then(t,e)},{unsafe:!0});try{delete pm.constructor}catch(t){}dn&&dn(pm,dm)}Ce({global:!0,constructor:!0,wrap:!0,forced:sm},{Promise:vm}),an(vm,um,!1),Uo(um);var Lm=rm.CONSTRUCTOR||!Gn(function(t){Jy.all(t).then(void 0,function(){})});Ce({target:"Promise",stat:!0,forced:Lm},{all:function(t){var e=this,r=im.f(e),n=r.resolve,o=r.reject,i=Xy(function(){var r=J(e.resolve),i=[],a=0,u=1;Ao(t,function(t){var s=a++,c=!1;u++,f(r,e,t).then(function(t){c||(c=!0,i[s]=t,--u||n(i))},o)}),--u||n(i)});return i.error&&o(i.value),r.promise}});var Um=Jy&&Jy.prototype;if(Ce({target:"Promise",proto:!0,forced:rm.CONSTRUCTOR,real:!0},{catch:function(t){return this.then(void 0,t)}}),T(Jy)){var Nm=L("Promise").prototype.catch;Um.catch!==Nm&&ie(Um,"catch",Nm,{unsafe:!0})}Ce({target:"Promise",stat:!0,forced:Lm},{race:function(t){var e=this,r=im.f(e),n=r.reject,o=Xy(function(){var o=J(e.resolve);Ao(t,function(t){f(o,e,t).then(r.resolve,n)})});return o.error&&n(o.value),r.promise}}),Ce({target:"Promise",stat:!0,forced:rm.CONSTRUCTOR},{reject:function(t){var e=im.f(this);return(0,e.reject)(t),e.promise}});var Cm=function(t,e){if(kt(t),M(e)&&e.constructor===t)return e;var r=im.f(t);return(0,r.resolve)(e),r.promise};Ce({target:"Promise",stat:!0,forced:rm.CONSTRUCTOR},{resolve:function(t){return Cm(this,t)}}),Ce({target:"Promise",stat:!0,forced:Lm},{allSettled:function(t){var e=this,r=im.f(e),n=r.resolve,o=r.reject,i=Xy(function(){var r=J(e.resolve),o=[],i=0,a=1;Ao(t,function(t){var u=i++,s=!1;a++,f(r,e,t).then(function(t){s||(s=!0,o[u]={status:"fulfilled",value:t},--a||n(o))},function(t){s||(s=!0,o[u]={status:"rejected",reason:t},--a||n(o))})}),--a||n(o)});return i.error&&o(i.value),r.promise}});var _m="No one promise resolved";Ce({target:"Promise",stat:!0,forced:Lm},{any:function(t){var e=this,r=L("AggregateError"),n=im.f(e),o=n.resolve,i=n.reject,a=Xy(function(){var n=J(e.resolve),a=[],u=0,s=1,c=!1;Ao(t,function(t){var l=u++,h=!1;s++,f(n,e,t).then(function(t){h||c||(c=!0,o(t))},function(t){h||c||(h=!0,a[l]=t,--s||i(new r(a,_m)))})}),--s||i(new r(a,_m))});return a.error&&i(a.value),n.promise}}),Ce({target:"Promise",stat:!0},{withResolvers:function(){var t=im.f(this);return{promise:t.promise,resolve:t.resolve,reject:t.reject}}});var Fm=Jy&&Jy.prototype,Bm=!!Jy&&a(function(){Fm.finally.call({then:function(){}},function(){})});if(Ce({target:"Promise",proto:!0,real:!0,forced:Bm},{finally:function(t){var e=Cc(this,L("Promise")),r=T(t);return this.then(r?function(r){return Cm(e,t()).then(function(){return r})}:t,r?function(r){return Cm(e,t()).then(function(){throw r})}:t)}}),T(Jy)){var Dm=L("Promise").prototype.finally;Fm.finally!==Dm&&ie(Fm,"finally",Dm,{unsafe:!0})}var zm=i.Promise,Wm=!1,qm=!zm||!zm.try||Xy(function(){zm.try(function(t){Wm=8===t},8)}).error||!Wm;Ce({target:"Promise",stat:!0,forced:qm},{try:function(t){var e=arguments.length>1?vo(arguments,1):[],r=im.f(this),n=Xy(function(){return Ra(J(t),void 0,e)});return(n.error?r.reject:r.resolve)(n.value),r.promise}}),Ze("Promise","finally");var Hm="URLSearchParams"in self,$m="Symbol"in self&&"iterator"in Symbol,Km="FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(t){return!1}}(),Gm="FormData"in self,Vm="ArrayBuffer"in self;if(Vm)var Ym=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],Xm=ArrayBuffer.isView||function(t){return t&&Ym.indexOf(Object.prototype.toString.call(t))>-1};function Jm(t){if("string"!=typeof t&&(t=String(t)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(t))throw new TypeError("Invalid character in header field name");return t.toLowerCase()}function Qm(t){return"string"!=typeof t&&(t=String(t)),t}function Zm(t){var e={next:function(){var e=t.shift();return{done:void 0===e,value:e}}};return $m&&(e[Symbol.iterator]=function(){return e}),e}function tb(t){this.map={},t instanceof tb?t.forEach(function(t,e){this.append(e,t)},this):Array.isArray(t)?t.forEach(function(t){this.append(t[0],t[1])},this):t&&Object.getOwnPropertyNames(t).forEach(function(e){this.append(e,t[e])},this)}function eb(t){if(t.bodyUsed)return Promise.reject(new TypeError("Already read"));t.bodyUsed=!0}function rb(t){return new Promise(function(e,r){t.onload=function(){e(t.result)},t.onerror=function(){r(t.error)}})}function nb(t){var e=new FileReader,r=rb(e);return e.readAsArrayBuffer(t),r}function ob(t){if(t.slice)return t.slice(0);var e=new Uint8Array(t.byteLength);return e.set(new Uint8Array(t)),e.buffer}function ib(){return this.bodyUsed=!1,this._initBody=function(t){var e;this._bodyInit=t,t?"string"==typeof t?this._bodyText=t:Km&&Blob.prototype.isPrototypeOf(t)?this._bodyBlob=t:Gm&&FormData.prototype.isPrototypeOf(t)?this._bodyFormData=t:Hm&&URLSearchParams.prototype.isPrototypeOf(t)?this._bodyText=t.toString():Vm&&Km&&(e=t)&&DataView.prototype.isPrototypeOf(e)?(this._bodyArrayBuffer=ob(t.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):Vm&&(ArrayBuffer.prototype.isPrototypeOf(t)||Xm(t))?this._bodyArrayBuffer=ob(t):this._bodyText=t=Object.prototype.toString.call(t):this._bodyText="",this.headers.get("content-type")||("string"==typeof t?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):Hm&&URLSearchParams.prototype.isPrototypeOf(t)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},Km&&(this.blob=function(){var t=eb(this);if(t)return t;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?eb(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(nb)}),this.text=function(){var t=eb(this);if(t)return t;if(this._bodyBlob)return function(t){var e=new FileReader,r=rb(e);return e.readAsText(t),r}(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(function(t){for(var e=new Uint8Array(t),r=new Array(e.length),n=0;n-1?e:t}(e.method||this.method||"GET"),this.mode=e.mode||this.mode||null,this.signal=e.signal||this.signal,this.referrer=null,("GET"===this.method||"HEAD"===this.method)&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function sb(t){var e=new FormData;return t.trim().split("&").forEach(function(t){if(t){var r=t.split("="),n=r.shift().replace(/\+/g," "),o=r.join("=").replace(/\+/g," ");e.append(decodeURIComponent(n),decodeURIComponent(o))}}),e}function cb(t,e){e||(e={}),this.type="default",this.status=void 0===e.status?200:e.status,this.ok=this.status>=200&&this.status<300,this.statusText="statusText"in e?e.statusText:"OK",this.headers=new tb(e.headers),this.url=e.url||"",this._initBody(t)}ub.prototype.clone=function(){return new ub(this,{body:this._bodyInit})},ib.call(ub.prototype),ib.call(cb.prototype),cb.prototype.clone=function(){return new cb(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new tb(this.headers),url:this.url})},cb.error=function(){var t=new cb(null,{status:0,statusText:""});return t.type="error",t};var fb=[301,302,303,307,308];cb.redirect=function(t,e){if(-1===fb.indexOf(e))throw new RangeError("Invalid status code");return new cb(null,{status:e,headers:{location:t}})};var lb=self.DOMException;try{new lb}catch(t){(lb=function(t,e){this.message=t,this.name=e;var r=Error(t);this.stack=r.stack}).prototype=Object.create(Error.prototype),lb.prototype.constructor=lb}function hb(t,e){return new Promise(function(r,n){var o=new ub(t,e);if(o.signal&&o.signal.aborted)return n(new lb("Aborted","AbortError"));var i=new XMLHttpRequest;function a(){i.abort()}i.onload=function(){var t,e,n={status:i.status,statusText:i.statusText,headers:(t=i.getAllResponseHeaders()||"",e=new tb,t.replace(/\r?\n[\t ]+/g," ").split(/\r?\n/).forEach(function(t){var r=t.split(":"),n=r.shift().trim();if(n){var o=r.join(":").trim();e.append(n,o)}}),e)};n.url="responseURL"in i?i.responseURL:n.headers.get("X-Request-URL"),r(new cb("response"in i?i.response:i.responseText,n))},i.onerror=function(){n(new TypeError("Network request failed"))},i.ontimeout=function(){n(new TypeError("Network request failed"))},i.onabort=function(){n(new lb("Aborted","AbortError"))},i.open(o.method,o.url,!0),"include"===o.credentials?i.withCredentials=!0:"omit"===o.credentials&&(i.withCredentials=!1),"responseType"in i&&Km&&(i.responseType="blob"),o.headers.forEach(function(t,e){i.setRequestHeader(e,t)}),o.signal&&(o.signal.addEventListener("abort",a),i.onreadystatechange=function(){4===i.readyState&&o.signal.removeEventListener("abort",a)}),i.send(void 0===o._bodyInit?null:o._bodyInit)})}hb.polyfill=!0,self.fetch||(self.fetch=hb,self.Headers=tb,self.Request=ub,self.Response=cb);var pb=Object.getOwnPropertySymbols,vb=Object.prototype.hasOwnProperty,db=Object.prototype.propertyIsEnumerable,gb=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},r=0;r<10;r++)e["_"+String.fromCharCode(r)]=r;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach(function(t){n[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var r,n,o=function(t){if(null==t)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(t)}(t),i=1;i{"use strict";var e={},t={};function r(o){var n=t[o];if(void 0!==n)return n.exports;var a=t[o]={exports:{}},i=!0;try{e[o](a,a.exports,r),i=!1}finally{i&&delete t[o]}return a.exports}r.m=e,(()=>{var e=[];r.O=(t,o,n,a)=>{if(o){a=a||0;for(var i=e.length;i>0&&e[i-1][2]>a;i--)e[i]=e[i-1];e[i]=[o,n,a];return}for(var u=1/0,i=0;i=a)&&Object.keys(r.O).every(e=>r.O[e](o[c]))?o.splice(c--,1):(l=!1,a{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;r.t=function(o,n){if(1&n&&(o=this(o)),8&n||"object"==typeof o&&o&&(4&n&&o.__esModule||16&n&&"function"==typeof o.then))return o;var a=Object.create(null);r.r(a);var i={};e=e||[null,t({}),t([]),t(t)];for(var u=2&n&&o;"object"==typeof u&&!~e.indexOf(u);u=t(u))Object.getOwnPropertyNames(u).forEach(e=>i[e]=()=>o[e]);return i.default=()=>o,r.d(a,i),a}})(),r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((t,o)=>(r.f[o](e,t),t),[])),r.u=e=>{},r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{var e={},t="_N_E:";r.l=(o,n,a,i)=>{if(e[o]){e[o].push(n);return}if(void 0!==a)for(var u,l,c=document.getElementsByTagName("script"),d=0;d{u.onerror=u.onload=null,clearTimeout(p);var n=e[o];if(delete e[o],u.parentNode&&u.parentNode.removeChild(u),n&&n.forEach(e=>e(r)),t)return t(r)},p=setTimeout(s.bind(null,void 0,{type:"timeout",target:u}),12e4);u.onerror=s.bind(null,u.onerror),u.onload=s.bind(null,u.onload),l&&document.head.appendChild(u)}})(),r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:e=>e},"undefined"!=typeof trustedTypes&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("nextjs#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="/_next/",(()=>{var e={68:0,261:0};r.f.j=(t,o)=>{var n=r.o(e,t)?e[t]:void 0;if(0!==n){if(n)o.push(n[2]);else if(/^(261|68)$/.test(t))e[t]=0;else{var a=new Promise((r,o)=>n=e[t]=[r,o]);o.push(n[2]=a);var i=r.p+r.u(t),u=Error();r.l(i,o=>{if(r.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var a=o&&("load"===o.type?"missing":o.type),i=o&&o.target&&o.target.src;u.message="Loading chunk "+t+" failed.\n("+a+": "+i+")",u.name="ChunkLoadError",u.type=a,u.request=i,n[1](u)}},"chunk-"+t,t)}}},r.O.j=t=>0===e[t];var t=(t,o)=>{var n,a,[i,u,l]=o,c=0;if(i.some(t=>0!==e[t])){for(n in u)r.o(u,n)&&(r.m[n]=u[n]);if(l)var d=l(r)}for(t&&t(o);c:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.fui-card{border-radius:var(--radius-card);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-background);padding:calc(var(--spacing)*10)}:where(.fui-card__header>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}.fui-card__header{text-align:center}.fui-card__title{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-text)}.fui-card__subtitle{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-muted)}:where(.fui-form>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.fui-form fieldset,.fui-form fieldset>label{gap:calc(var(--spacing)*2);color:var(--color-text);flex-direction:column;display:flex}.fui-form fieldset>label>span{gap:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);display:inline-flex}.fui-form .fui-form__action{padding-inline:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}@media (hover:hover){.fui-form .fui-form__action:hover{text-decoration-line:underline}}.fui-form fieldset>label>input{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}.fui-form fieldset>label>input:focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}.fui-form fieldset>label>input[aria-invalid=true]{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}.fui-form .fui-form__error{color:var(--color-error)}.fui-form .fui-form__error,.fui-success{text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.fui-button{justify-content:center;align-items:center;gap:calc(var(--spacing)*3);border-radius:var(--radius);background-color:var(--color-primary);width:100%;padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-primary-surface);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media (hover:hover){.fui-button:hover{cursor:pointer;background-color:var(--color-primary-hover)}}.fui-button:disabled{cursor:not-allowed;opacity:.5}.fui-button--secondary{border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);color:var(--color-text);background-color:#0000}@media (hover:hover){.fui-button--secondary:hover{border-color:var(--color-primary);background-color:var(--color-background)}}.fui-provider__button>svg{height:calc(var(--spacing)*5);width:calc(var(--spacing)*5)}.fui-divider{align-items:center;gap:calc(var(--spacing)*3);display:flex}.fui-divider__line{background-color:var(--color-border);flex:1;height:1px}.fui-divider__text{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}.fui-phone-input{align-items:center;gap:calc(var(--spacing)*2);display:flex}.fui-phone-input__number-input{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000;flex:1}.fui-phone-input__number-input:focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}.fui-phone-input__number-input[aria-invalid=true]{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}.fui-country-selector{width:80px;display:inline-block;position:relative}.fui-country-selector__wrapper{border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);background-color:#0000;align-items:center;display:flex;position:relative;overflow:hidden}.fui-country-selector__flag{pointer-events:none;left:calc(var(--spacing)*2);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));position:absolute}.fui-country-selector select{cursor:pointer;appearance:none;width:100%;padding-block:calc(var(--spacing)*2);padding-right:calc(var(--spacing)*2);padding-left:calc(var(--spacing)*8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#0000;--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}.fui-country-selector select:focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}.fui-country-selector__dial-code{pointer-events:none;top:50%;left:calc(var(--spacing)*8);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text);position:absolute}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-top-4{top:calc(var(--spacing)*-4)}.-top-20{top:calc(var(--spacing)*-20)}.top-0{top:calc(var(--spacing)*0)}.top-4{top:calc(var(--spacing)*4)}.top-12{top:calc(var(--spacing)*12)}.-right-8{right:calc(var(--spacing)*-8)}.-right-20{right:calc(var(--spacing)*-20)}.right-4{right:calc(var(--spacing)*4)}.-bottom-8{bottom:calc(var(--spacing)*-8)}.-bottom-20{bottom:calc(var(--spacing)*-20)}.bottom-12{bottom:calc(var(--spacing)*12)}.-left-4{left:calc(var(--spacing)*-4)}.-left-20{left:calc(var(--spacing)*-20)}.left-1\/2{left:50%}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mt-auto{margin-top:auto}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-8{margin-bottom:calc(var(--spacing)*8)}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-8{height:calc(var(--spacing)*8)}.h-12{height:calc(var(--spacing)*12)}.h-24{height:calc(var(--spacing)*24)}.h-32{height:calc(var(--spacing)*32)}.h-72{height:calc(var(--spacing)*72)}.h-px{height:1px}.\!min-h-0{min-height:calc(var(--spacing)*0)!important}.min-h-screen{min-height:100vh}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-8{width:calc(var(--spacing)*8)}.w-24{width:calc(var(--spacing)*24)}.w-32{width:calc(var(--spacing)*32)}.w-72{width:calc(var(--spacing)*72)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.flex-1{flex:1}.shrink{flex-shrink:1}.flex-grow,.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x)var(--tw-scale-y)var(--tw-scale-z)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,)var(--tw-pan-y,)var(--tw-pinch-zoom,)}.resize{resize:both}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-16{gap:calc(var(--spacing)*16)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px*var(--tw-divide-x-reverse));border-inline-end-width:calc(1px*calc(1 - var(--tw-divide-x-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px*var(--tw-divide-y-reverse));border-bottom-width:calc(1px*calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}.truncate{text-overflow:ellipsis;white-space:nowrap}.overflow-hidden,.truncate{overflow:hidden}.rounded{border-radius:var(--radius)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-s{border-end-start-radius:var(--radius)}.rounded-s,.rounded-ss{border-start-start-radius:var(--radius)}.rounded-e{border-end-end-radius:var(--radius)}.rounded-e,.rounded-se{border-start-end-radius:var(--radius)}.rounded-ee{border-end-end-radius:var(--radius)}.rounded-es{border-end-start-radius:var(--radius)}.rounded-t{border-top-right-radius:var(--radius)}.rounded-l,.rounded-t{border-top-left-radius:var(--radius)}.rounded-l{border-bottom-left-radius:var(--radius)}.rounded-tl{border-top-left-radius:var(--radius)}.rounded-r{border-bottom-right-radius:var(--radius)}.rounded-r,.rounded-tr{border-top-right-radius:var(--radius)}.rounded-b{border-bottom-left-radius:var(--radius)}.rounded-b,.rounded-br{border-bottom-right-radius:var(--radius)}.rounded-bl{border-bottom-left-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-gray-200{border-color:var(--color-gray-200)}.border-white\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.border-white\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.\!bg-transparent{background-color:#0000!important}.bg-\[var\(--fui-background\)\]{background-color:var(--fui-background)}.bg-\[var\(--fui-primary\)\]{background-color:var(--fui-primary)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab,red,red)){.bg-black\/40{background-color:color-mix(in oklab,var(--color-black)40%,transparent)}}.bg-gray-200{background-color:var(--color-gray-200)}.bg-white{background-color:var(--color-white)}.bg-white\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.bg-white\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-white\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\/80{background-color:color-mix(in oklab,var(--color-white)80%,transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[\#1a1a1a\]{--tw-gradient-from:#1a1a1a;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.to-\[\#2d2d2d\]{--tw-gradient-to:#2d2d2d;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.\!p-0{padding:calc(var(--spacing)*0)!important}.p-1{padding:calc(var(--spacing)*1)}.p-4{padding:calc(var(--spacing)*4)}.p-8{padding:calc(var(--spacing)*8)}.p-12{padding:calc(var(--spacing)*12)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-2{padding-block:calc(var(--spacing)*2)}.py-3{padding-block:calc(var(--spacing)*3)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-16{padding-block:calc(var(--spacing)*16)}.pt-4{padding-top:calc(var(--spacing)*4)}.pt-8{padding-top:calc(var(--spacing)*8)}.text-center{text-align:center}.text-start{text-align:start}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-wrap{text-wrap:wrap}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.text-\[var\(--fui-primary\)\]{color:var(--fui-primary)}.text-blue-500{color:var(--color-blue-500)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-text-muted{color:var(--color-text-muted)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions}.diagonal-fractions,.lining-nums{font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums}.oldstyle-nums,.ordinal{font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal}.proportional-nums{--tw-numeric-spacing:proportional-nums}.proportional-nums,.slashed-zero{font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero}.stacked-fractions{--tw-numeric-fraction:stacked-fractions}.stacked-fractions,.tabular-nums{font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-5{opacity:.05}.opacity-20{opacity:.2}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a)}.shadow,.shadow-2xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a)}.inset-ring,.shadow-xl{box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-ring-color,currentcolor)}.blur{--tw-blur:blur(8px)}.blur,.blur-3xl{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-3xl{--tw-blur:blur(var(--blur-3xl))}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a))drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a)drop-shadow(0 1px 1px #0000000f)}.drop-shadow,.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px)}.backdrop-blur,.backdrop-blur-lg{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-lg{--tw-backdrop-blur:blur(var(--blur-lg))}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm))}.backdrop-blur-sm,.backdrop-blur-xl{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl))}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%)}.backdrop-grayscale,.backdrop-invert{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%)}.backdrop-filter,.backdrop-sepia{-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}@media (hover:hover){.hover\:bg-\[var\(--fui-primary-hover\)\]:hover{background-color:var(--fui-primary-hover)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-white\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\:text-\[var\(--fui-primary\)\]:hover{color:var(--fui-primary)}.hover\:text-gray-600:hover{color:var(--color-gray-600)}.hover\:text-white:hover{color:var(--color-white)}.hover\:underline:hover{text-decoration-line:underline}:is(.\*\:hover\:opacity-75>*):hover{opacity:.75}}@media (min-width:40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"";inherits:false;initial-value:0}@property --tw-gradient-via-position{syntax:"";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"";inherits:false;initial-value:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@keyframes pulse{50%{opacity:.5}} \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_buildManifest.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_buildManifest.js deleted file mode 100644 index 3afeefbb..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_buildManifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__BUILD_MANIFEST=function(e,r,t){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},__routerFilterStatic:{numItems:19,errorRate:1e-4,numBits:365,numHashes:14,bitArray:[0,1,1,0,0,1,e,r,e,e,e,e,r,e,r,r,e,e,e,r,e,r,r,r,r,r,e,e,r,e,e,r,e,r,e,r,e,e,e,e,e,e,e,r,r,e,r,e,r,e,r,r,r,e,r,e,r,r,r,e,r,e,e,r,e,e,e,e,r,e,e,e,r,e,r,r,e,e,r,r,e,e,e,e,r,r,r,r,r,e,e,r,r,r,e,e,r,r,e,e,r,r,r,e,e,r,r,e,r,r,e,r,r,r,r,e,e,r,e,r,r,r,r,e,e,r,r,e,e,r,e,e,r,e,e,e,e,e,e,e,e,r,e,e,r,e,e,r,e,e,e,r,r,r,e,r,r,e,e,r,r,r,e,e,e,e,r,r,r,r,r,r,e,r,r,r,r,r,r,r,r,e,r,r,e,e,r,e,r,r,e,e,e,e,r,r,r,e,r,r,r,r,e,r,r,r,e,e,e,e,r,e,e,e,e,e,r,e,e,r,e,r,r,e,r,r,r,r,e,e,e,e,e,e,e,r,r,e,e,e,r,e,r,e,e,e,e,e,e,e,r,e,r,e,e,e,r,e,r,e,e,e,r,e,r,r,e,r,e,r,e,r,e,r,e,r,r,e,e,e,e,e,e,e,e,r,r,e,e,r,e,e,e,e,r,e,e,e,r,r,e,e,e,r,r,e,r,e,r,r,r,e,e,r,e,r,r,r,r,r,r,e,r,e,e,e,e,e,r,r,e,e,r,r,e,r,e,r,e,r,r,e,r,r,r,r,r,e,r,r,e,e,e,e,e,r,e,r,e,e,e,e,e,e,r]},__routerFilterDynamic:{numItems:r,errorRate:1e-4,numBits:r,numHashes:null,bitArray:[]},"/_error":["static/chunks/pages/_error-9b7125ad1a1e68fa.js"],sortedPages:["/_app","/_error"]}}(1,0,0),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB(); \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_ssgManifest.js b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_ssgManifest.js deleted file mode 100644 index 5b3ff592..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/g6qTQml7eoxYK-3XdIjKy/_ssgManifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__SSG_MANIFEST=new Set([]);self.__SSG_MANIFEST_CB&&self.__SSG_MANIFEST_CB() \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/4cf2300e9c8272f7-s.p.woff2 b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/4cf2300e9c8272f7-s.p.woff2 deleted file mode 100644 index aba2e8b521a38d3870ea04c7d9e9d550f76c2120..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28388 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%0A7vhEs=h?#~3bhFsuxJky=$<@hKyy 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 diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/9610d9e46709d722-s.woff2 b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/_next/static/media/9610d9e46709d722-s.woff2 deleted file mode 100644 index 46efdbdbc828839112404c8285ab7e516a6cec45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12608 zcmV-GF~81tPew8T0RR9105L!S6951J09=Fs05H%10RR9100000000000000000000 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 diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/favicon.ico b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/favicon.ico deleted file mode 100644 index 718d6fea4835ec2d246af9800eddb7ffb276240c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25931 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 LrJugUA?W`A8`#=m diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/file.svg b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/file.svg deleted file mode 100644 index 004145cd..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/file.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/forgot-password.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/forgot-password.html deleted file mode 100644 index db3eff82..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/forgot-password.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Reset Password

Enter your email address to reset your password

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/globe.svg b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/globe.svg deleted file mode 100644 index 567f17b0..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/globe.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/index.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/index.html deleted file mode 100644 index 0f5db76a..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/index.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/next.svg b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/next.svg deleted file mode 100644 index 5174b28c..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/next.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/register.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/register.html deleted file mode 100644 index 622643b7..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/register.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Register

Enter your details to create a new account

By continuing, you agree to our Terms of Service and Privacy Policy.
or
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen-w-oauth.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen-w-oauth.html deleted file mode 100644 index 50946009..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen-w-oauth.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
or
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen.html deleted file mode 100644 index 46718e5e..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/email-link-auth-screen.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/oauth-screen.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/oauth-screen.html deleted file mode 100644 index 7143d86e..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/oauth-screen.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/password-reset-screen.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/password-reset-screen.html deleted file mode 100644 index ed6b7582..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/password-reset-screen.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Reset Password

Enter your email address to reset your password

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen-w-oauth.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen-w-oauth.html deleted file mode 100644 index 78dd5591..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen-w-oauth.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
or
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen.html deleted file mode 100644 index be113736..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/phone-auth-screen.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-handlers.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-handlers.html deleted file mode 100644 index 0ae4eaf2..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-handlers.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-oauth.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-oauth.html deleted file mode 100644 index e6a42816..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen-w-oauth.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
or
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen.html deleted file mode 100644 index 8318ea7f..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-in-auth-screen.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen-w-oauth.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen-w-oauth.html deleted file mode 100644 index 7c7dc162..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen-w-oauth.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Register

Enter your details to create a new account

By continuing, you agree to our Terms of Service and Privacy Policy.
or
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen.html deleted file mode 100644 index 1722c1f0..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/screens/sign-up-auth-screen.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Register

Enter your details to create a new account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in.html deleted file mode 100644 index 9b93ea4b..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
or
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/email.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/email.html deleted file mode 100644 index 1c912240..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/email.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/phone.html b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/phone.html deleted file mode 100644 index 6c39389a..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/sign-in/phone.html +++ /dev/null @@ -1 +0,0 @@ -Create Next App

Sign In

Sign in to your account

By continuing, you agree to our Terms of Service and Privacy Policy.
\ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/vercel.svg b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/vercel.svg deleted file mode 100644 index 77053960..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/vercel.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/window.svg b/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/window.svg deleted file mode 100644 index b2b2a44f..00000000 --- a/examples/nextjs/.firebase/fir-ui-2025-nextjs/hosting/window.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/examples/nextjs/.firebase/hosting.LmZpcmViYXNlL2Zpci11aS0yMDI1LW5leHRqcy9ob3N0aW5n.cache b/examples/nextjs/.firebase/hosting.LmZpcmViYXNlL2Zpci11aS0yMDI1LW5leHRqcy9ob3N0aW5n.cache deleted file mode 100644 index 16d94f63..00000000 --- a/examples/nextjs/.firebase/hosting.LmZpcmViYXNlL2Zpci11aS0yMDI1LW5leHRqcy9ob3N0aW5n.cache +++ /dev/null @@ -1,65 +0,0 @@ -window.svg,1761318593758,bf07bc7ddc1ae03e7936a9347de10e85cf9a0e51f99bd8293b2a8eeca6463b49 -globe.svg,1761318593762,914fe1f576f68698d9e329ea8ec6c542d8d5f150af08f1a360d188fed7597c23 -index.html,1761318593812,5fb58e46ba7351ceb497ed3df20d49d61387f2cf060e6ef0fdcb70111024367e -file.svg,1761318593763,cb6477bad43c44ba222b8cddfa7e4fe646b19ec7449646e8c2a426354faa630e -next.svg,1761318593760,7b16665552cb47db34db342505d6d340caaf5813ca2cba1df3536ed67ea33f64 -sign-in.html,1761318593813,a0fe6010571b1136584d7b9c9aea0c7a34463bd0fde5dbf48eb54474cd0e9b25 -vercel.svg,1761318593759,ffb3d6634c37da9451d60557ed0e6e513e2889672e0bf202d2558062062a048a -sign-in/email.html,1761318593813,81b53a97da6bb19cd3a0b219f6692c537185329e0f6b5011d7505e4e93f68732 -register.html,1761318593813,269bf64d536f2ea4c1ee3776a9a71d412646095b8e125e8452acfabbc9881b38 -404.html,1761318593813,36d711eacbaf4c1f66cfc8f11f07301c0384e5f97c60b106e22d5d0714c7927d -screens/sign-in-auth-screen.html,1761318593813,c89aadb249c9bad8f574d86d4c5a7aa66329533ca16fa96784e492ed66cbb120 -forgot-password.html,1761318593813,13d294afac73e17f40c8445a1047faf35cbb97ba8794e674038cf7a41db01597 -screens/sign-up-auth-screen.html,1761318593813,9b0414da867526d20738b35f3c47762f91d5ff92b3b382516616fa05f217cb3a -sign-in/phone.html,1761318593812,ab86780f05f8dd725a17fa88bf663dd992f6e9fb5693fb34fbf2fcbadacec4f2 -screens/sign-up-auth-screen-w-oauth.html,1761318593813,d648d1da551697c33bafb7bfa26c5c3e2eb96b8af987753458e5fd831f5e57df -screens/password-reset-screen.html,1761318593812,4036868f5bf5cc9487a876053782465603eb484e0a6743621faebd1c0040955d -screens/sign-in-auth-screen-w-handlers.html,1761318593812,2282c4ed253c8187e1c4ca75b9080eb26393c859fbb667223f37f9e56f299905 -screens/email-link-auth-screen.html,1761318593813,d50c85fe0800351bfbf467acfd442d8f130af0da5faf0b76b8daae1425046287 -screens/sign-in-auth-screen-w-oauth.html,1761318593812,7e3004d1e07bcff2cf8956e24e2550709ff0b3a7942a147c4e5c78aaa6c42fd6 -screens/email-link-auth-screen-w-oauth.html,1761318593813,209c29acd04ea4b99499e32da7a93cabe741e74adb1408b6dc8a43238740c2c5 -screens/phone-auth-screen.html,1761318593812,02e7417d256b809b6f8109dbb3b2d31b36f266fa0685ffdb48e79c91e0ffa771 -_next/static/media/ba015fad6dcf6784-s.woff2,1761318593765,2b719e95831c9d92a31ebbe512bbd87cc76501765edb9b6ca4734cc5a2becb94 -_next/static/media/9610d9e46709d722-s.woff2,1761318593765,7cdf2599fa32a0a3edc7d4126b5c8f5233d62799ddb46552ca6890389ba7d9c1 -screens/oauth-screen.html,1761318593813,b61bb2177e9857ebb350e5df7a631375ecc5971f4a1fc7e1fed945ba836ccdc3 -_next/static/media/747892c23ea88013-s.woff2,1761318593767,396955195c54144bce504511dd89d0c74a3f6b453d73823073be1a2cbe00e6de -_next/static/g6qTQml7eoxYK-3XdIjKy/_ssgManifest.js,1761318593769,02dbc1aeab6ef0a6ff2ff9a1643158cf9bb38929945eaa343a3627dee9ba6778 -screens/phone-auth-screen-w-oauth.html,1761318593813,0691df9ed1830b97a8daa678c792bae70a4fd6ab687826eaa758b247f04c49ef -favicon.ico,1761318593813,8b9c4dce3353938d2027ab21f0489807587db05d65ef390a6947d32312e501a0 -_next/static/media/8d697b304b401681-s.woff2,1761318593766,cccaf7bf72117d313a9afc3a475289a19b9fcd0f735c9b2e4ded6cba08a517a0 -_next/static/g6qTQml7eoxYK-3XdIjKy/_buildManifest.js,1761318593771,f7ee826b9251b000aadf4de1b93c111f158eddc98b3bf24941419a48dec49d6d -_next/static/chunks/main-app-e2be70030271765f.js,1761318593775,f01b5994734ccb4896a7bdce0e48b5a753c185b843b253d8ef6686c6b3a2c257 -_next/static/chunks/webpack-db3214c5c58110e1.js,1761318593773,ccaccdb43e685bc2990bb8b12b6e371d06ba92313bae7e9001c31a2517786578 -_next/static/css/2ceba05e598db6c3.css,1761318593772,b0958cc228c6049562522ceeb651b3c4b05a15821756d3fce823c178e358ac11 -_next/static/chunks/460-27f0fb3882b99f1c.js,1761318593807,1379460369eec35f971c77e0c45f8139bac59674dcc550d8d754f7e81cf49e4b -_next/static/chunks/app/page-8d787214c58f587b.js,1761318593802,466e1f70d8167e57e335bab5dd097cde5db7740849058b716ccc0734a1d89121 -_next/static/chunks/pages/_app-d23763e3e6c904ff.js,1761318593775,4673b99cd1734528a763d5cc006bb562852efe906f88a2893d82e3dcc68fb214 -_next/static/chunks/pages/_error-9b7125ad1a1e68fa.js,1761318593774,be68c9d730770cd4557942ef3e011c9375c829baee55415ee98e3b47fdbc40a6 -_next/static/chunks/app/sign-in/page-00912d0f7b1415fc.js,1761318593781,764714f2554cb18d6719431c083ce7f6ec649ee7b0b40e31b06eaa5558d1e8b7 -_next/static/chunks/app/layout-6aab929aad1d393d.js,1761318593802,510e4c6f2b3f916a223749974fc5699a384ff9ef787711d7cd7504e4a888a46a -_next/static/chunks/app/sign-in/phone/page-98c7321b7c0579e7.js,1761318593779,639a499ced1f22aa29ecf752779ed7a20de0cb326d609fa3de8e6821fe1d9904 -_next/static/media/4cf2300e9c8272f7-s.p.woff2,1761318593768,82dff880ea601ee2dece400d0c801b12b59961a81188904c99759a00f698950c -_next/static/media/93f479601ee12b01-s.p.woff2,1761318593766,a259f1cc268ca344efc6262b4995c1c232308fca60ea61efec48fcb2d49b4f03 -_next/static/chunks/499-b5a9acf51f160200.js,1761318593806,aadfc8d358d8ce9aebaa07f0cac2bc9778f6f383efbb0b6e8c5b427ba554cbed -_next/static/chunks/198-fc2f857890282fd9.js,1761318593809,c83e85ffe4840087677db9f0b7cc3ee89b94abe196d2e3bdf038d3733c8bcfea -_next/static/chunks/main-7c5d8e9217f561df.js,1761318593776,b9a31830c87a096f9fa6e4a5498963e76dd152da8c0a9207643198723d920543 -_next/static/chunks/polyfills-42372ed130431b0a.js,1761318593773,67dee1c02c6a6700d63b5c1898cf2df618101a68a395db469192763d24925a23 -_next/static/chunks/app/sign-in/email/page-c77da0e5d7c5f5f5.js,1761318593783,a0b7721b386a6a32751ef3ca7e91c99db4620e657a7ff4ee145246a3318984f2 -_next/static/chunks/app/screens/sign-up-auth-screen-w-oauth/page-7dd5c04e4ab03479.js,1761318593787,e90328b2e8541feb41adec144e5e5e5fddfd54b5ecfb12434a1ab3ba33ebc631 -_next/static/chunks/app/screens/sign-up-auth-screen/page-ea1e24f2258e0ae5.js,1761318593789,9118a5560bb35576f72268cc843fb766cbd1ae446794c571d8d0f90cd1d8e332 -_next/static/chunks/ae6eea6a-89606064f41da4dc.js,1761318593804,3fdb9233b2cb09ab59509d822699be37858da017d05011d09d601da52e14b39e -_next/static/chunks/app/screens/sign-in-auth-screen-w-oauth/page-018d6282ee014b52.js,1761318593792,7e3c8210fb3ce5dca0e4f5da0a2e560cb316147e29986b2a874549d204321061 -_next/static/chunks/app/screens/sign-in-auth-screen/page-58105dede38ce5c7.js,1761318593794,e752882bfe683f10e5f173ef9be80d3512fc8782feac0250fee63c37b5e27c0d -_next/static/chunks/app/screens/sign-in-auth-screen-w-handlers/page-077fb2f09d5d3268.js,1761318593793,a4b4715fab858d366b2d1d5b7fdf7520e1dd46246f7e81fe6fce3e23e20050a2 -_next/static/chunks/app/screens/phone-auth-screen/page-5ba757203936288e.js,1761318593795,e277da250a48f0ec0d5d07fa20b94e5ac80430744063503aa9690d0f7c9870fd -_next/static/chunks/app/screens/password-reset-screen/page-7346f1f8c8959f83.js,1761318593797,18b7b28295decd5f5e59eae12ea8dbe56d637521ce1bcbaf387b5f5464ca64eb -_next/static/chunks/app/screens/phone-auth-screen-w-oauth/page-96baddefbdcffb57.js,1761318593795,014f9621afd0f6aa597358663d76ee734753552ee67b5b180be46b165a6b7a99 -_next/static/chunks/app/screens/oauth-screen/page-662bb862120ebe1d.js,1761318593799,263ec382a0859a4143614994da792b58a3ba116b2b51f59bfe51ee42976d0afc -_next/static/chunks/app/screens/email-link-auth-screen-w-oauth/page-ffa6fcbeb7299aa7.js,1761318593800,fdbb6af8cb460651e63ad190f720854ec9b95d26f0c5419e420c4cb3f0004bc7 -_next/static/chunks/app/screens/email-link-auth-screen/page-cbbdc9acd56de275.js,1761318593800,b5b39d61588e5f3b49bc74b493e1bbdc0cdb0eefcf9a97b819013de38dbd178b -_next/static/chunks/app/forgot-password/page-6e3d7f138d1e62ba.js,1761318593803,51d1918e604d6fa350ff3dfe65248ec6f39f1e5069d812418b2cde01caf46bcc -_next/static/chunks/app/register/page-b51a8bfb00044279.js,1761318593801,c1c35ed022658c4840b5a6aadf296f6cfca7d1de12e8fe89acf9049cae54e64b -_next/static/chunks/app/_not-found/page-09d475ed6534a562.js,1761318593803,b2711664c673344a78a0cd6973429e2e6097cc38de8ec4d136082e7aefe36ddd -_next/static/chunks/framework-f6c30afefa8caa28.js,1761318593776,b3ac31d724e5bfb9e90d6d40c00de57767eaa65442e2fe1d32a72df0a73a9ca5 -_next/static/chunks/517-97f7a157326437f9.js,1761318593804,dc87072962205562d94692741542b75ab8b149a50f3e855b343f9c821bfdb6ea -_next/static/chunks/4bd1b696-a4582f7608b1c3f8.js,1761318593805,a87934c2aaa0d801b926359054ebb21927650c9ef3ae9a941e9343b6361fa032 diff --git a/examples/nextjs/.firebaserc b/examples/nextjs/.firebaserc deleted file mode 100644 index 855f8283..00000000 --- a/examples/nextjs/.firebaserc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "projects": { - "default": "fir-ui-2025" - } -} diff --git a/examples/react/.firebase/hosting.ZGlzdA.cache b/examples/react/.firebase/hosting.ZGlzdA.cache deleted file mode 100644 index c5b73edf..00000000 --- a/examples/react/.firebase/hosting.ZGlzdA.cache +++ /dev/null @@ -1,4 +0,0 @@ -index.html,1761233163975,50b9fa61852330c3fd92741394fb156ccc223c0fb96c22a3c42417e564fc3cb5 -assets/index-DvKoPU72.css,1761233163975,0466bfa08fc4ff41c7aacba260e3578646d226f0be4fbc1c8773e0483413255c -vite.svg,1761233163825,12b282beddfe94d624e7f1155761299a42ce1e3eac8053ebe3f38bd1fa04816c -assets/index-BqJ57rEM.js,1761233163975,f165dfdc8224f4c3b4a1f87452d8ca6a5236acfd27905d2e733c662c456cd2f8 diff --git a/examples/react/.firebaserc b/examples/react/.firebaserc deleted file mode 100644 index 855f8283..00000000 --- a/examples/react/.firebaserc +++ /dev/null @@ -1,5 +0,0 @@ -{ - "projects": { - "default": "fir-ui-2025" - } -} From 2ed31b34a6bd4134eb67a0090681df9bd5b63aee Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 11:17:39 +0000 Subject: [PATCH 07/56] chore(examples): add .firebaserc files for Firebase project configuration --- examples/angular/.firebaserc | 5 +++++ examples/nextjs/.firebaserc | 5 +++++ examples/react/.firebaserc | 5 +++++ 3 files changed, 15 insertions(+) create mode 100644 examples/angular/.firebaserc create mode 100644 examples/nextjs/.firebaserc create mode 100644 examples/react/.firebaserc diff --git a/examples/angular/.firebaserc b/examples/angular/.firebaserc new file mode 100644 index 00000000..855f8283 --- /dev/null +++ b/examples/angular/.firebaserc @@ -0,0 +1,5 @@ +{ + "projects": { + "default": "fir-ui-2025" + } +} diff --git a/examples/nextjs/.firebaserc b/examples/nextjs/.firebaserc new file mode 100644 index 00000000..855f8283 --- /dev/null +++ b/examples/nextjs/.firebaserc @@ -0,0 +1,5 @@ +{ + "projects": { + "default": "fir-ui-2025" + } +} diff --git a/examples/react/.firebaserc b/examples/react/.firebaserc new file mode 100644 index 00000000..855f8283 --- /dev/null +++ b/examples/react/.firebaserc @@ -0,0 +1,5 @@ +{ + "projects": { + "default": "fir-ui-2025" + } +} From 9747370a687f58a082107649094589a1b40d9792 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 11:33:59 +0000 Subject: [PATCH 08/56] chore(*): re-added config comments placeholder --- examples/nextjs/lib/firebase/config.ts | 4 +++- examples/react/src/firebase/config.ts | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/examples/nextjs/lib/firebase/config.ts b/examples/nextjs/lib/firebase/config.ts index ef4305c0..2d95ca07 100644 --- a/examples/nextjs/lib/firebase/config.ts +++ b/examples/nextjs/lib/firebase/config.ts @@ -14,4 +14,6 @@ * limitations under the License. */ -export const firebaseConfig = {}; +export const firebaseConfig = { + // your Firebase config here +}; diff --git a/examples/react/src/firebase/config.ts b/examples/react/src/firebase/config.ts index ef4305c0..2d95ca07 100644 --- a/examples/react/src/firebase/config.ts +++ b/examples/react/src/firebase/config.ts @@ -14,4 +14,6 @@ * limitations under the License. */ -export const firebaseConfig = {}; +export const firebaseConfig = { + // your Firebase config here +}; From 361ab2ad320c0066ca91e25035017e2aa6d02242 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 12:07:01 +0000 Subject: [PATCH 09/56] chore(*): additional conflict resolutions --- examples/nextjs/package.json | 5 +++++ packages/core/package.json | 20 ++++++++++---------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json index bd7589df..2c03eed5 100644 --- a/examples/nextjs/package.json +++ b/examples/nextjs/package.json @@ -24,8 +24,13 @@ "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", + "eslint": "^9.22.0", + "eslint-config-next": "^15.1.7", + "@typescript-eslint/eslint-plugin": "^8.43.0", + "@typescript-eslint/parser": "^8.43.0", "postcss": "^8.5.2", "postcss-load-config": "^6.0.1", + "prettier": "^3.1.1", "tailwindcss": "^4.0.6", "typescript": "^5" } diff --git a/packages/core/package.json b/packages/core/package.json index 1bd1a4ad..34ec487e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -42,7 +42,7 @@ "author": "TODO", "license": "MIT", "peerDependencies": { - "firebase": "^11" + "firebase": "catalog:peerDependencies" }, "dependencies": { "@invertase/firebaseui-translations": "workspace:*", @@ -50,14 +50,14 @@ "zod": "^3.24.1" }, "devDependencies": { - "@types/jsdom": "^21.1.7", - "firebase": "^11.0.0", - "jsdom": "^26.0.0", - "prettier": "^3.1.1", - "rimraf": "^6.0.1", - "tsup": "^8.0.1", - "typescript": "^5.7.3", - "vite": "^6.2.0", - "vitest": "^3.0.7" + "@types/google-one-tap": "^1.2.6", + "@types/jsdom": "catalog:", + "firebase": "catalog:", + "jsdom": "catalog:", + "rimraf": "catalog:", + "tsup": "catalog:", + "typescript": "catalog:", + "vite": "catalog:", + "vitest": "catalog:" } } From de0bf7d00adbb2a50535dcd5262b7c1e75c85e5a Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 12:10:30 +0000 Subject: [PATCH 10/56] chore(nextjs): restore ESLint and Prettier dependencies and scripts --- examples/nextjs/package.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json index 2c03eed5..53a725c1 100644 --- a/examples/nextjs/package.json +++ b/examples/nextjs/package.json @@ -6,7 +6,10 @@ "dev": "next dev --turbopack", "build": "next build", "start": "next start", - "lint": "next lint" + "lint": "next lint", + "lint:fix": "next lint --fix", + "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,css,md}\"", + "format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,css,md}\"" }, "dependencies": { "@invertase/firebaseui-react": "^0.0.1", From 14bb526bfea5ac441a07efe81696ae167e89b9f7 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 12:13:15 +0000 Subject: [PATCH 11/56] chore(*): restored test scripts from main package json --- package.json | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index b37a24ac..e43eb625 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,7 @@ { "name": "@firebaseui/root", "private": true, + "type": "module", "scripts": { "emulators": "firebase emulators:start --only auth", "build": "pnpm run build:translations && pnpm run build:core && pnpm run build:react", @@ -8,6 +9,20 @@ "build:translations": "pnpm --filter=@invertase/firebaseui-translations run build", "build:react": "pnpm --filter=@invertase/firebaseui-react run build", "build:angular": "pnpm --filter=@invertase/firebaseui-angular run build", + "lint:check": "eslint", + "lint:fix": "eslint --fix", + "format:check": "prettier --check **/{src,tests}/**/*.{ts,tsx}", + "format:write": "prettier --write **/{src,tests}/**/*.{ts,tsx}", + "test": "pnpm run test:core && pnpm run test:translations && pnpm run test:styles && pnpm run test:react && pnpm run test:angular", + "test:core": "pnpm --filter=@invertase/firebaseui-core run test", + "test:react": "pnpm --filter=@invertase/firebaseui-react run test", + "test:angular": "pnpm --filter=@invertase/firebaseui-angular run test", + "test:translations": "pnpm --filter=@invertase/firebaseui-translations run test", + "test:styles": "pnpm --filter=@invertase/firebaseui-styles run test", + "test:watch": "pnpm run test:core:watch & pnpm run test:react:watch & pnpm run test:angular:watch", + "test:core:watch": "pnpm --filter=@invertase/firebaseui-core run test:unit:watch", + "test:react:watch": "pnpm --filter=@invertase/firebaseui-react run test:unit:watch", + "test:angular:watch": "pnpm --filter=@invertase/firebaseui-angular run test:watch", "publish:tags:core": "pnpm --filter=@invertase/firebaseui-core run publish:tags", "publish:tags:translations": "pnpm --filter=@invertase/firebaseui-translations run publish:tags", "publish:tags:react": "pnpm --filter=@invertase/firebaseui-react run publish:tags", @@ -26,6 +41,16 @@ "typescript": "^5.7.3", "vite": "^6.0.11", "vite-plugin-dts": "^4.2.3", - "vite-tsconfig-paths": "^5.0.1" + "vite-tsconfig-paths": "^5.0.1", + "@eslint/css": "^0.11.1", + "@eslint/js": "^9.35.0", + "angular-eslint": "^20.3.0", + "eslint": "catalog:", + "eslint-plugin-prettier": "^5.5.4", + "eslint-plugin-react": "^7.37.5", + "eslint-plugin-react-hooks": "^5.2.0", + "globals": "^16.4.0", + "prettier": "^3.1.1", + "typescript-eslint": "^8.45.0" } } From ac69e246980d044c2f30dcad2fb32d7a92db95bb Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 12:16:36 +0000 Subject: [PATCH 12/56] chore(core): updasted package json config --- packages/core/package.json | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index 34ec487e..3d1e5a13 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -11,10 +11,12 @@ "types": "./dist/index.d.ts", "import": "./dist/index.js", "require": "./dist/index.cjs" - } + }, + "./brands/*": "./brands/*" }, "files": [ - "dist" + "dist", + "brands" ], "scripts": { "prepare": "pnpm run build", @@ -22,13 +24,15 @@ "build": "tsup", "build:local": "pnpm run build && pnpm pack", "dev": "tsup --watch", - "lint": "tsc --noEmit", + "lint": "eslint . --ext .ts", + "lint:fix": "eslint . --ext .ts --fix", "format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"", + "format:check": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"", "clean": "rimraf dist", - "test:unit": "vitest run tests/unit", - "test:unit:watch": "vitest tests/unit", - "test:integration": "vitest run tests/integration", - "test:integration:watch": "vitest tests/integration", + "test:unit": "vitest run src", + "test:unit:watch": "vitest tests", + "test:integration": "vitest run tests", + "test:integration:watch": "vitest integration", "test": "vitest run", "publish:tags": "sh -c 'TAG=\"${npm_package_name}@${npm_package_version}\"; git tag --list \"$TAG\" | grep . || git tag \"$TAG\"; git push origin \"$TAG\"'", "release": "pnpm run build && pnpm pack --pack-destination --pack-destination ../../releases/" @@ -46,7 +50,9 @@ }, "dependencies": { "@invertase/firebaseui-translations": "workspace:*", - "nanostores": "^0.11.3", + "libphonenumber-js": "^1.12.23", + "nanostores": "catalog:", + "qrcode-generator": "^2.0.4", "zod": "^3.24.1" }, "devDependencies": { From f4586a148a01bddcaedf2191313bad7bdb8b6a24 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 12:19:43 +0000 Subject: [PATCH 13/56] chore(react): updated depenencies --- examples/react/package.json | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/examples/react/package.json b/examples/react/package.json index 4ded79aa..e7e51fce 100644 --- a/examples/react/package.json +++ b/examples/react/package.json @@ -22,14 +22,15 @@ "devDependencies": { "@tailwindcss/vite": "^4.1.4", "@eslint/js": "^9.22.0", - "@types/react": "^19.0.10", - "@types/react-dom": "^19.0.4", - "@vitejs/plugin-react": "^4.3.4", + "@types/react": "catalog:", + "@types/react-dom": "catalog:", + "@vitejs/plugin-react": "catalog:", "eslint": "^9.22.0", "eslint-plugin-react-hooks": "^5.2.0", "eslint-plugin-react-refresh": "^0.4.19", "globals": "^16.0.0", - "vite": "^6.3.1", - "tailwindcss": "^4.1.4" + "prettier": "^3.1.1", + "vite": "catalog:", + "tailwindcss": "catalog:" } } From a6c1bcea48b8c532d30902c2f58ad7c25b16efe5 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 12:22:15 +0000 Subject: [PATCH 14/56] chore(*): further depenencies updates --- examples/react/package.json | 4 ++-- packages/core/package.json | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/react/package.json b/examples/react/package.json index e7e51fce..804206f9 100644 --- a/examples/react/package.json +++ b/examples/react/package.json @@ -15,8 +15,8 @@ "@invertase/firebaseui-styles": "^0.0.1", "@invertase/firebaseui-translations": "^0.0.1", "firebase": "^11.6.0", - "react": "^19.0.0", - "react-dom": "^19.0.0", + "react": "catalog:", + "react-dom": "catalog:", "react-router": "^7.5.1" }, "devDependencies": { diff --git a/packages/core/package.json b/packages/core/package.json index 3d1e5a13..16373eb2 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -53,7 +53,7 @@ "libphonenumber-js": "^1.12.23", "nanostores": "catalog:", "qrcode-generator": "^2.0.4", - "zod": "^3.24.1" + "zod": "catalog:" }, "devDependencies": { "@types/google-one-tap": "^1.2.6", From 807872ac601d9d83c9a0be582fa336c2bb11e3de Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 12:35:00 +0000 Subject: [PATCH 15/56] chore(*): add Firebase deploy scripts for example apps --- package.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/package.json b/package.json index e43eb625..5172bc02 100644 --- a/package.json +++ b/package.json @@ -9,6 +9,10 @@ "build:translations": "pnpm --filter=@invertase/firebaseui-translations run build", "build:react": "pnpm --filter=@invertase/firebaseui-react run build", "build:angular": "pnpm --filter=@invertase/firebaseui-angular run build", + "deploy:angular": "cd examples/angular && pnpm run build && firebase deploy --only hosting:fir-ui-2025-angular", + "deploy:nextjs": "cd examples/nextjs && pnpm run build && firebase deploy --only hosting:fir-ui-2025-nextjs", + "deploy:react": "cd examples/react && pnpm run build && firebase deploy --only hosting:fir-ui-2025-react", + "deploy:all": "pnpm run deploy:angular && pnpm run deploy:nextjs && pnpm run deploy:react", "lint:check": "eslint", "lint:fix": "eslint --fix", "format:check": "prettier --check **/{src,tests}/**/*.{ts,tsx}", From 5484c27af8c31b2fc23b137244d5acc52b326713 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 13:18:09 +0000 Subject: [PATCH 16/56] chore(react): add Firebase hosting site name to firebase.json --- examples/react/firebase.json | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/react/firebase.json b/examples/react/firebase.json index 6564edd5..8bc7667d 100644 --- a/examples/react/firebase.json +++ b/examples/react/firebase.json @@ -1,5 +1,6 @@ { "hosting": { + "site": "fir-ui-2025-react", "public": "dist", "ignore": ["firebase.json", "**/.*", "**/node_modules/**"], "rewrites": [ From 9d6593f76657fda977c48c6b391865f8f9d2c3c4 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 13:39:55 +0000 Subject: [PATCH 17/56] chore(*): add npm publish scripts for all packages --- package.json | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 5172bc02..0af8ce46 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,15 @@ "release:react": "pnpm --filter=@invertase/firebaseui-react run release", "release:angular": "pnpm --filter=@invertase/firebaseui-angular run release", "release:styles": "pnpm --filter=@invertase/firebaseui-styles run release", - "release:all": "pnpm i && pnpm run release:core && pnpm run release:translations && pnpm run release:react && pnpm run release:styles && pnpm run release:angular" + "release:all": "pnpm i && pnpm run release:core && pnpm run release:translations && pnpm run release:react && pnpm run release:styles && pnpm run release:angular", + "build:all": "pnpm run build:translations && pnpm run build:core && pnpm run build:styles && pnpm run build:react && pnpm run build:angular", + "build:styles": "pnpm --filter=@invertase/firebaseui-styles run build", + "publish:npm:translations": "cd packages/translations && npm publish --access public", + "publish:npm:core": "cd packages/core && npm publish --access public", + "publish:npm:styles": "cd packages/styles && npm publish --access public", + "publish:npm:react": "cd packages/react && npm publish --access public", + "publish:npm:angular": "cd packages/angular && npm publish --access public", + "publish:all:npm": "pnpm run build:all && pnpm run publish:npm:translations && pnpm run publish:npm:core && pnpm run publish:npm:styles && pnpm run publish:npm:react && pnpm run publish:npm:angular" }, "devDependencies": { "rimraf": "^6.0.1", From eb81bb890031047323b3bb63cf78c269f07b2b8b Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 13:48:22 +0000 Subject: [PATCH 18/56] chore(*): update package names to @invertase namespace --- packages/angular/package.json | 2 +- packages/react/package.json | 2 +- packages/styles/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/angular/package.json b/packages/angular/package.json index 423715eb..912f6989 100644 --- a/packages/angular/package.json +++ b/packages/angular/package.json @@ -1,5 +1,5 @@ { - "name": "@firebase-ui/angular", + "name": "@invertase/firebaseui-angular", "version": "0.0.1", "files": [ "dist" diff --git a/packages/react/package.json b/packages/react/package.json index baae3baf..da290462 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,5 +1,5 @@ { - "name": "@firebase-ui/react", + "name": "@invertase/firebaseui-react", "version": "0.0.1", "type": "module", "main": "./dist/index.cjs", diff --git a/packages/styles/package.json b/packages/styles/package.json index 22ce3757..a2c7f0da 100644 --- a/packages/styles/package.json +++ b/packages/styles/package.json @@ -1,5 +1,5 @@ { - "name": "@firebase-ui/styles", + "name": "@invertase/firebaseui-styles", "version": "0.0.1", "type": "module", "main": "./dist/index.cjs", From de68bb267b8763e4e2b51cd5da09e5300ad34b69 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 13:48:59 +0000 Subject: [PATCH 19/56] chore(react): update import to use @invertase/firebaseui-react --- examples/react/src/main.tsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/examples/react/src/main.tsx b/examples/react/src/main.tsx index 16705a86..f6546b1e 100644 --- a/examples/react/src/main.tsx +++ b/examples/react/src/main.tsx @@ -14,10 +14,10 @@ * limitations under the License. */ -import { BrowserRouter, Routes, Route } from "react-router"; +import { BrowserRouter, Route, Routes } from "react-router"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; import ReactDOM from "react-dom/client"; -import { FirebaseUIProvider } from "@firebase-ui/react"; import { ui } from "./firebase/firebase"; @@ -38,8 +38,10 @@ import PhoneAuthScreenPage from "./screens/phone-auth-screen"; import PhoneAuthScreenWithOAuthPage from "./screens/phone-auth-screen-w-oauth"; /** Sign up */ -import SignUpAuthScreenPage from "./screens/sign-up-auth-screen"; -import SignUpAuthScreenWithOAuthPage from "./screens/sign-up-auth-screen"; +import { + default as SignUpAuthScreenPage, + default as SignUpAuthScreenWithOAuthPage, +} from "./screens/sign-up-auth-screen"; /** oAuth */ import OAuthScreenPage from "./screens/oauth-screen"; From 84e124dbf992057b3ae80a8eca5a89376f37f75a Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 13:49:29 +0000 Subject: [PATCH 20/56] chore(react): update all imports to use @invertase/firebaseui packages --- examples/react/src/firebase/firebase.ts | 2 +- examples/react/src/screens/forgot-password-screen.tsx | 2 +- examples/react/src/screens/oauth-screen.tsx | 2 +- examples/react/src/screens/sign-in-auth-screen-w-oauth.tsx | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/react/src/firebase/firebase.ts b/examples/react/src/firebase/firebase.ts index aeed4e44..362c468c 100644 --- a/examples/react/src/firebase/firebase.ts +++ b/examples/react/src/firebase/firebase.ts @@ -19,7 +19,7 @@ import { initializeApp, getApps } from "firebase/app"; import { firebaseConfig } from "./config"; import { connectAuthEmulator, getAuth } from "firebase/auth"; -import { autoAnonymousLogin, initializeUI, oneTapSignIn, countryCodes } from "@firebase-ui/core"; +import { autoAnonymousLogin, initializeUI, oneTapSignIn, countryCodes } from "@invertase/firebaseui-core"; export const firebaseApp = getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0]; diff --git a/examples/react/src/screens/forgot-password-screen.tsx b/examples/react/src/screens/forgot-password-screen.tsx index 28c7483e..287f2ec1 100644 --- a/examples/react/src/screens/forgot-password-screen.tsx +++ b/examples/react/src/screens/forgot-password-screen.tsx @@ -16,7 +16,7 @@ "use client"; -import { ForgotPasswordAuthScreen } from "@firebase-ui/react"; +import { ForgotPasswordAuthScreen } from "@invertase/firebaseui-react"; export default function ForgotPasswordPage() { return {}} />; diff --git a/examples/react/src/screens/oauth-screen.tsx b/examples/react/src/screens/oauth-screen.tsx index dc57aeb6..2ab2aa80 100644 --- a/examples/react/src/screens/oauth-screen.tsx +++ b/examples/react/src/screens/oauth-screen.tsx @@ -24,7 +24,7 @@ import { MicrosoftSignInButton, OAuthScreen, TwitterSignInButton, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; export default function OAuthScreenPage() { return ( diff --git a/examples/react/src/screens/sign-in-auth-screen-w-oauth.tsx b/examples/react/src/screens/sign-in-auth-screen-w-oauth.tsx index 42e5c213..5dfa4535 100644 --- a/examples/react/src/screens/sign-in-auth-screen-w-oauth.tsx +++ b/examples/react/src/screens/sign-in-auth-screen-w-oauth.tsx @@ -24,7 +24,7 @@ import { GitHubSignInButton, MicrosoftSignInButton, TwitterSignInButton, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { useNavigate } from "react-router"; export default function SignInAuthScreenWithOAuthPage() { From f8084c3cfcea3e4585dd44764377ef4fda8b865c Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 13:50:16 +0000 Subject: [PATCH 21/56] chore(examples): update all imports to use @invertase/firebaseui packages --- examples/angular/src/app/app.config.ts | 4 ++-- .../app/auth/email-link-oauth/email-link-oauth.component.ts | 2 +- .../angular/src/app/auth/email-link/email-link.component.ts | 2 +- .../src/app/auth/forgot-password/forgot-password.component.ts | 2 +- examples/angular/src/app/auth/oauth/oauth.component.ts | 2 +- .../angular/src/app/auth/phone-oauth/phone-oauth.component.ts | 2 +- examples/angular/src/app/auth/phone/phone-screen.component.ts | 2 +- examples/angular/src/app/auth/register/register.component.ts | 2 +- .../src/app/auth/sign-in-oauth/sign-in-oauth.component.ts | 2 +- examples/angular/src/app/auth/sign-in/sign-in.component.ts | 2 +- .../src/app/auth/sign-up-oauth/sign-up-oauth.component.ts | 2 +- examples/angular/src/app/auth/sign-up/sign-up.component.ts | 2 +- .../email-link-auth-screen.component.ts | 2 +- .../src/app/screens/oauth-screen/oauth-screen.component.ts | 2 +- .../screens/phone-auth-screen/phone-auth-screen.component.ts | 2 +- .../sign-in-auth-screen/sign-in-auth-screen.component.ts | 2 +- .../sign-up-auth-screen/sign-up-auth-screen.component.ts | 2 +- examples/nextjs/lib/examples/2/page.tsx | 2 +- examples/nextjs/lib/firebase/clientApp.ts | 2 +- 19 files changed, 20 insertions(+), 20 deletions(-) diff --git a/examples/angular/src/app/app.config.ts b/examples/angular/src/app/app.config.ts index 49a5f307..689e78ee 100644 --- a/examples/angular/src/app/app.config.ts +++ b/examples/angular/src/app/app.config.ts @@ -22,8 +22,8 @@ import { provideClientHydration, withEventReplay } from "@angular/platform-brows import { provideFirebaseApp, initializeApp } from "@angular/fire/app"; import { provideAuth, getAuth, connectAuthEmulator } from "@angular/fire/auth"; -import { provideFirebaseUI, provideFirebaseUIPolicies } from "@firebase-ui/angular"; -import { initializeUI } from "@firebase-ui/core"; +import { provideFirebaseUI, provideFirebaseUIPolicies } from "@invertase/firebaseui-angular"; +import { initializeUI } from "@invertase/firebaseui-core"; const firebaseConfig = { apiKey: "AIzaSyCvMftIUCD9lUQ3BzIrimfSfBbCUQYZf-I", diff --git a/examples/angular/src/app/auth/email-link-oauth/email-link-oauth.component.ts b/examples/angular/src/app/auth/email-link-oauth/email-link-oauth.component.ts index 21b708cb..8e0459e9 100644 --- a/examples/angular/src/app/auth/email-link-oauth/email-link-oauth.component.ts +++ b/examples/angular/src/app/auth/email-link-oauth/email-link-oauth.component.ts @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core"; import { CommonModule } from "@angular/common"; import { Router, RouterModule } from "@angular/router"; import { Auth, type User, authState } from "@angular/fire/auth"; -import { EmailLinkAuthScreenComponent, GoogleSignInButtonComponent } from "@firebase-ui/angular"; +import { EmailLinkAuthScreenComponent, GoogleSignInButtonComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-email-link-oauth", diff --git a/examples/angular/src/app/auth/email-link/email-link.component.ts b/examples/angular/src/app/auth/email-link/email-link.component.ts index 5a613ac3..25b458c7 100644 --- a/examples/angular/src/app/auth/email-link/email-link.component.ts +++ b/examples/angular/src/app/auth/email-link/email-link.component.ts @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core"; import { CommonModule } from "@angular/common"; import { Router, RouterModule } from "@angular/router"; import { Auth, type User, authState } from "@angular/fire/auth"; -import { EmailLinkAuthScreenComponent } from "@firebase-ui/angular"; +import { EmailLinkAuthScreenComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-email-link", diff --git a/examples/angular/src/app/auth/forgot-password/forgot-password.component.ts b/examples/angular/src/app/auth/forgot-password/forgot-password.component.ts index 9b82a521..96cbb297 100644 --- a/examples/angular/src/app/auth/forgot-password/forgot-password.component.ts +++ b/examples/angular/src/app/auth/forgot-password/forgot-password.component.ts @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core"; import { CommonModule } from "@angular/common"; import { Router, RouterModule } from "@angular/router"; import { Auth, type User, authState } from "@angular/fire/auth"; -import { ForgotPasswordAuthScreenComponent } from "@firebase-ui/angular"; +import { ForgotPasswordAuthScreenComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-forgot-password", diff --git a/examples/angular/src/app/auth/oauth/oauth.component.ts b/examples/angular/src/app/auth/oauth/oauth.component.ts index 66bf0a9d..cb70269e 100644 --- a/examples/angular/src/app/auth/oauth/oauth.component.ts +++ b/examples/angular/src/app/auth/oauth/oauth.component.ts @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core"; import { CommonModule } from "@angular/common"; import { Router, RouterModule } from "@angular/router"; import { Auth, type User, authState } from "@angular/fire/auth"; -import { OAuthScreenComponent, GoogleSignInButtonComponent } from "@firebase-ui/angular"; +import { OAuthScreenComponent, GoogleSignInButtonComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-oauth", diff --git a/examples/angular/src/app/auth/phone-oauth/phone-oauth.component.ts b/examples/angular/src/app/auth/phone-oauth/phone-oauth.component.ts index 054e2c90..fd6fb821 100644 --- a/examples/angular/src/app/auth/phone-oauth/phone-oauth.component.ts +++ b/examples/angular/src/app/auth/phone-oauth/phone-oauth.component.ts @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core"; import { CommonModule } from "@angular/common"; import { Router, RouterModule } from "@angular/router"; import { Auth, type User, authState } from "@angular/fire/auth"; -import { PhoneAuthScreenComponent, GoogleSignInButtonComponent } from "@firebase-ui/angular"; +import { PhoneAuthScreenComponent, GoogleSignInButtonComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-phone-oauth", diff --git a/examples/angular/src/app/auth/phone/phone-screen.component.ts b/examples/angular/src/app/auth/phone/phone-screen.component.ts index 6f3a7571..fbe2f3f4 100644 --- a/examples/angular/src/app/auth/phone/phone-screen.component.ts +++ b/examples/angular/src/app/auth/phone/phone-screen.component.ts @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core"; import { CommonModule } from "@angular/common"; import { Router, RouterModule } from "@angular/router"; import { Auth, type User, authState } from "@angular/fire/auth"; -import { PhoneAuthScreenComponent } from "@firebase-ui/angular"; +import { PhoneAuthScreenComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-phone", diff --git a/examples/angular/src/app/auth/register/register.component.ts b/examples/angular/src/app/auth/register/register.component.ts index 688f6b90..947fd059 100644 --- a/examples/angular/src/app/auth/register/register.component.ts +++ b/examples/angular/src/app/auth/register/register.component.ts @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core"; import { CommonModule } from "@angular/common"; import { Router, RouterModule } from "@angular/router"; import { Auth, type User, authState } from "@angular/fire/auth"; -import { SignUpAuthScreenComponent } from "@firebase-ui/angular"; +import { SignUpAuthScreenComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-register", diff --git a/examples/angular/src/app/auth/sign-in-oauth/sign-in-oauth.component.ts b/examples/angular/src/app/auth/sign-in-oauth/sign-in-oauth.component.ts index bc39e1b2..2347ca24 100644 --- a/examples/angular/src/app/auth/sign-in-oauth/sign-in-oauth.component.ts +++ b/examples/angular/src/app/auth/sign-in-oauth/sign-in-oauth.component.ts @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core"; import { CommonModule } from "@angular/common"; import { Router, RouterModule } from "@angular/router"; import { Auth, type User, authState } from "@angular/fire/auth"; -import { SignInAuthScreenComponent, GoogleSignInButtonComponent } from "@firebase-ui/angular"; +import { SignInAuthScreenComponent, GoogleSignInButtonComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-sign-in-oauth", diff --git a/examples/angular/src/app/auth/sign-in/sign-in.component.ts b/examples/angular/src/app/auth/sign-in/sign-in.component.ts index 7dfdaa35..cb3c7af5 100644 --- a/examples/angular/src/app/auth/sign-in/sign-in.component.ts +++ b/examples/angular/src/app/auth/sign-in/sign-in.component.ts @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core"; import { CommonModule } from "@angular/common"; import { Router, RouterModule } from "@angular/router"; import { Auth, type User, authState } from "@angular/fire/auth"; -import { SignInAuthScreenComponent, GoogleSignInButtonComponent } from "@firebase-ui/angular"; +import { SignInAuthScreenComponent, GoogleSignInButtonComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-sign-in", diff --git a/examples/angular/src/app/auth/sign-up-oauth/sign-up-oauth.component.ts b/examples/angular/src/app/auth/sign-up-oauth/sign-up-oauth.component.ts index de85e47e..1ab32d40 100644 --- a/examples/angular/src/app/auth/sign-up-oauth/sign-up-oauth.component.ts +++ b/examples/angular/src/app/auth/sign-up-oauth/sign-up-oauth.component.ts @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core"; import { CommonModule } from "@angular/common"; import { Router, RouterModule } from "@angular/router"; import { Auth, type User, authState } from "@angular/fire/auth"; -import { SignUpAuthScreenComponent, GoogleSignInButtonComponent } from "@firebase-ui/angular"; +import { SignUpAuthScreenComponent, GoogleSignInButtonComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-sign-up-oauth", diff --git a/examples/angular/src/app/auth/sign-up/sign-up.component.ts b/examples/angular/src/app/auth/sign-up/sign-up.component.ts index b7cb0703..e309166c 100644 --- a/examples/angular/src/app/auth/sign-up/sign-up.component.ts +++ b/examples/angular/src/app/auth/sign-up/sign-up.component.ts @@ -18,7 +18,7 @@ import { Component, type OnInit, inject } from "@angular/core"; import { CommonModule } from "@angular/common"; import { Router, RouterModule } from "@angular/router"; import { Auth, type User, authState } from "@angular/fire/auth"; -import { SignUpAuthScreenComponent } from "@firebase-ui/angular"; +import { SignUpAuthScreenComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-sign-up", diff --git a/examples/angular/src/app/screens/email-link-auth-screen/email-link-auth-screen.component.ts b/examples/angular/src/app/screens/email-link-auth-screen/email-link-auth-screen.component.ts index 41e53007..6489ce99 100644 --- a/examples/angular/src/app/screens/email-link-auth-screen/email-link-auth-screen.component.ts +++ b/examples/angular/src/app/screens/email-link-auth-screen/email-link-auth-screen.component.ts @@ -16,7 +16,7 @@ import { Component } from "@angular/core"; import { CommonModule } from "@angular/common"; -import { EmailLinkAuthScreenComponent } from "@firebase-ui/angular"; +import { EmailLinkAuthScreenComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-email-link-auth-screen", diff --git a/examples/angular/src/app/screens/oauth-screen/oauth-screen.component.ts b/examples/angular/src/app/screens/oauth-screen/oauth-screen.component.ts index 9e04f94e..a952ec62 100644 --- a/examples/angular/src/app/screens/oauth-screen/oauth-screen.component.ts +++ b/examples/angular/src/app/screens/oauth-screen/oauth-screen.component.ts @@ -16,7 +16,7 @@ import { Component } from "@angular/core"; import { CommonModule } from "@angular/common"; -import { OAuthScreenComponent } from "@firebase-ui/angular"; +import { OAuthScreenComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-oauth-screen", diff --git a/examples/angular/src/app/screens/phone-auth-screen/phone-auth-screen.component.ts b/examples/angular/src/app/screens/phone-auth-screen/phone-auth-screen.component.ts index 953e105e..2dd4fab2 100644 --- a/examples/angular/src/app/screens/phone-auth-screen/phone-auth-screen.component.ts +++ b/examples/angular/src/app/screens/phone-auth-screen/phone-auth-screen.component.ts @@ -16,7 +16,7 @@ import { Component } from "@angular/core"; import { CommonModule } from "@angular/common"; -import { PhoneAuthScreenComponent } from "@firebase-ui/angular"; +import { PhoneAuthScreenComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-phone-auth-screen", diff --git a/examples/angular/src/app/screens/sign-in-auth-screen/sign-in-auth-screen.component.ts b/examples/angular/src/app/screens/sign-in-auth-screen/sign-in-auth-screen.component.ts index beefadb8..8b1e7d45 100644 --- a/examples/angular/src/app/screens/sign-in-auth-screen/sign-in-auth-screen.component.ts +++ b/examples/angular/src/app/screens/sign-in-auth-screen/sign-in-auth-screen.component.ts @@ -16,7 +16,7 @@ import { Component } from "@angular/core"; import { CommonModule } from "@angular/common"; -import { SignInAuthScreenComponent } from "@firebase-ui/angular"; +import { SignInAuthScreenComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-sign-in-auth-screen", diff --git a/examples/angular/src/app/screens/sign-up-auth-screen/sign-up-auth-screen.component.ts b/examples/angular/src/app/screens/sign-up-auth-screen/sign-up-auth-screen.component.ts index 95bfe94c..4f9b4349 100644 --- a/examples/angular/src/app/screens/sign-up-auth-screen/sign-up-auth-screen.component.ts +++ b/examples/angular/src/app/screens/sign-up-auth-screen/sign-up-auth-screen.component.ts @@ -16,7 +16,7 @@ import { Component } from "@angular/core"; import { CommonModule } from "@angular/common"; -import { SignUpAuthScreenComponent } from "@firebase-ui/angular"; +import { SignUpAuthScreenComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-sign-up-auth-screen", diff --git a/examples/nextjs/lib/examples/2/page.tsx b/examples/nextjs/lib/examples/2/page.tsx index 071452f1..f308e09b 100644 --- a/examples/nextjs/lib/examples/2/page.tsx +++ b/examples/nextjs/lib/examples/2/page.tsx @@ -17,7 +17,7 @@ "use client"; import { useState } from "react"; -import { EmailPasswordForm, RegisterForm, Card, CardHeader, CardTitle, CardSubtitle } from "@firebase-ui/react"; +import { EmailPasswordForm, RegisterForm, Card, CardHeader, CardTitle, CardSubtitle } from "@invertase/firebaseui-react"; export default function Example2() { const [showRegister, setShowRegister] = useState(false); diff --git a/examples/nextjs/lib/firebase/clientApp.ts b/examples/nextjs/lib/firebase/clientApp.ts index 7153840f..0b2c9b85 100644 --- a/examples/nextjs/lib/firebase/clientApp.ts +++ b/examples/nextjs/lib/firebase/clientApp.ts @@ -19,7 +19,7 @@ import { initializeApp, getApps } from "firebase/app"; import { firebaseConfig } from "./config"; import { connectAuthEmulator, getAuth } from "firebase/auth"; -import { autoAnonymousLogin, initializeUI } from "@firebase-ui/core"; +import { autoAnonymousLogin, initializeUI } from "@invertase/firebaseui-core"; export const firebaseApp = getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0]; From 153aa5e52653e7c21249bf4f050893036bd10b63 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 15:28:17 +0000 Subject: [PATCH 22/56] chore(*): Updated depenencies to temporary Invertase placeholders --- examples/react/src/index.css | 4 +- packages/angular/jest.config.ts | 2 +- packages/angular/ng-package.json | 4 +- packages/angular/package.json | 4 +- .../email-link-auth-form.component.spec.ts | 2 +- .../email-link-auth-form.component.ts | 2 +- .../email-link-form.component.ts | 2 +- .../email-password-form.component.ts | 2 +- ...orgot-password-auth-form.component.spec.ts | 2 +- .../forgot-password-auth-form.component.ts | 2 +- .../forgot-password-form.component.ts | 2 +- .../phone-auth-form.component.spec.ts | 2 +- .../phone-auth-form.component.ts | 2 +- .../forms/phone-form/phone-form.component.ts | 2 +- .../register-form/register-form.component.ts | 2 +- .../sign-in-auth-form.component.spec.ts | 2 +- .../sign-in-auth-form.component.ts | 2 +- .../sign-up-auth-form.component.spec.ts | 2 +- .../sign-up-auth-form.component.ts | 2 +- .../auth/oauth/oauth-button.component.spec.ts | 2 +- .../lib/auth/oauth/oauth-button.component.ts | 2 +- .../lib/components/button/button.component.ts | 2 +- .../country-selector.component.ts | 2 +- packages/angular/src/lib/provider.ts | 2 +- .../angular/src/lib/tests/test-helpers.ts | 4 +- packages/angular/src/public-api.ts | 2 +- packages/angular/tsconfig.json | 6 +- packages/angular/tsconfig.spec.json | 4 +- packages/core/src/config.test.ts | 2 +- packages/core/src/config.ts | 2 +- packages/core/src/errors.test.ts | 2 +- packages/core/src/errors.ts | 2 +- packages/core/src/schemas.test.ts | 2 +- packages/core/src/translations.test.ts | 4 +- packages/core/src/translations.ts | 2 +- packages/core/tests/utils.ts | 2 +- packages/core/tsconfig.json | 2 +- packages/core/vite.config.ts | 4 +- packages/core/vitest.config.ts | 2 +- packages/react/package.json | 6 +- .../auth/forms/email-link-auth-form.test.tsx | 8 +- .../src/auth/forms/email-link-auth-form.tsx | 2 +- .../forms/forgot-password-auth-form.test.tsx | 8 +- .../auth/forms/forgot-password-auth-form.tsx | 2 +- .../src/auth/forms/phone-auth-form.test.tsx | 8 +- .../react/src/auth/forms/phone-auth-form.tsx | 2 +- .../src/auth/forms/sign-in-auth-form.test.tsx | 8 +- .../src/auth/forms/sign-in-auth-form.tsx | 2 +- .../src/auth/forms/sign-up-auth-form.test.tsx | 8 +- .../src/auth/forms/sign-up-auth-form.tsx | 2 +- .../auth/oauth/apple-sign-in-button.test.tsx | 2 +- .../src/auth/oauth/apple-sign-in-button.tsx | 2 +- .../oauth/facebook-sign-in-button.test.tsx | 2 +- .../auth/oauth/facebook-sign-in-button.tsx | 2 +- .../auth/oauth/github-sign-in-button.test.tsx | 2 +- .../src/auth/oauth/github-sign-in-button.tsx | 2 +- .../auth/oauth/google-sign-in-button.test.tsx | 2 +- .../src/auth/oauth/google-sign-in-button.tsx | 2 +- .../oauth/microsoft-sign-in-button.test.tsx | 2 +- .../auth/oauth/microsoft-sign-in-button.tsx | 2 +- .../src/auth/oauth/oauth-button.test.tsx | 14 +- .../react/src/auth/oauth/oauth-button.tsx | 2 +- .../oauth/twitter-sign-in-button.test.tsx | 2 +- .../src/auth/oauth/twitter-sign-in-button.tsx | 2 +- .../screens/email-link-auth-screen.test.tsx | 2 +- .../forgot-password-auth-screen.test.tsx | 2 +- .../src/auth/screens/oauth-screen.test.tsx | 2 +- .../auth/screens/phone-auth-screen.test.tsx | 2 +- .../auth/screens/sign-in-auth-screen.test.tsx | 2 +- .../auth/screens/sign-up-auth-screen.test.tsx | 2 +- .../src/auth/screens/sign-up-auth-screen.tsx | 2 +- packages/react/src/components/button.tsx | 2 +- .../src/components/country-selector.test.tsx | 2 +- .../react/src/components/country-selector.tsx | 2 +- packages/react/src/components/policies.tsx | 2 +- packages/react/src/context.tsx | 2 +- packages/react/src/hooks.test.tsx | 2 +- packages/react/src/hooks.ts | 2 +- packages/react/src/index.ts | 2 +- .../email-link-auth.integration.test.tsx | 2 +- .../email-password-auth.integration.test.tsx | 2 +- .../forgot-password.integration.test.tsx | 2 +- .../react/tests/register.integration.test.tsx | 2 +- packages/react/tests/utils.tsx | 4 +- packages/react/tsconfig.json | 6 +- packages/react/vitest.config.ts | 2 +- packages/styles/vitest.config.ts | 2 +- packages/translations/vitest.config.ts | 2 +- pnpm-lock.yaml | 519 +++++++++++++----- 89 files changed, 501 insertions(+), 264 deletions(-) diff --git a/examples/react/src/index.css b/examples/react/src/index.css index f265e7fc..337396a3 100644 --- a/examples/react/src/index.css +++ b/examples/react/src/index.css @@ -15,7 +15,7 @@ */ @import "tailwindcss"; -@import "@firebase-ui/styles/tailwind"; +@import "@invertase/firebaseui-styles/tailwind"; /* @import "@firebase-ui/styles/src/themes/dark.css"; */ -/* @import "@firebase-ui/styles/src/themes/brutalist.css"; */ \ No newline at end of file +/* @import "@firebase-ui/styles/src/themes/brutalist.css"; */ diff --git a/packages/angular/jest.config.ts b/packages/angular/jest.config.ts index 421d672a..b983dcc9 100644 --- a/packages/angular/jest.config.ts +++ b/packages/angular/jest.config.ts @@ -7,7 +7,7 @@ const config: Config = { coveragePathIgnorePatterns: ["/node_modules/", "/dist/"], testEnvironment: "jsdom", moduleNameMapper: { - "^@firebase-ui/core$": "/src/lib/tests/test-helpers.ts", + "^@invertase/firebaseui-core$": "/src/lib/tests/test-helpers.ts", "^@angular/fire/auth$": "/src/lib/tests/test-helpers.ts", "^../provider$": "/src/lib/tests/test-helpers.ts", "^../../provider$": "/src/lib/tests/test-helpers.ts", diff --git a/packages/angular/ng-package.json b/packages/angular/ng-package.json index bf6ad713..01c23e4a 100644 --- a/packages/angular/ng-package.json +++ b/packages/angular/ng-package.json @@ -5,8 +5,8 @@ "entryFile": "src/public-api.ts" }, "allowedNonPeerDependencies": [ - "@firebase-ui/core", - "@firebase-ui/styles", + "@invertase/firebaseui-core", + "@invertase/firebaseui-styles", "@tanstack/angular-form", "firebase", "nanostores", diff --git a/packages/angular/package.json b/packages/angular/package.json index 912f6989..86062267 100644 --- a/packages/angular/package.json +++ b/packages/angular/package.json @@ -26,8 +26,8 @@ "@angular/fire": "catalog:peerDependencies" }, "dependencies": { - "@firebase-ui/core": "workspace:*", - "@firebase-ui/styles": "workspace:*", + "@invertase/firebaseui-core": "workspace:*", + "@invertase/firebaseui-styles": "workspace:*", "@tanstack/angular-form": "^1.23.1", "nanostores": "catalog:", "tslib": "^2.8.1" diff --git a/packages/angular/src/lib/auth/forms/email-link-auth-form/email-link-auth-form.component.spec.ts b/packages/angular/src/lib/auth/forms/email-link-auth-form/email-link-auth-form.component.spec.ts index 7d41b559..dc0e473c 100644 --- a/packages/angular/src/lib/auth/forms/email-link-auth-form/email-link-auth-form.component.spec.ts +++ b/packages/angular/src/lib/auth/forms/email-link-auth-form/email-link-auth-form.component.spec.ts @@ -32,7 +32,7 @@ describe("", () => { let mockFirebaseUIError: any; beforeEach(() => { - const { sendSignInLinkToEmail, completeEmailLinkSignIn, FirebaseUIError } = require("@firebase-ui/core"); + const { sendSignInLinkToEmail, completeEmailLinkSignIn, FirebaseUIError } = require("@invertase/firebaseui-core"); mockSendSignInLinkToEmail = sendSignInLinkToEmail; mockCompleteEmailLinkSignIn = completeEmailLinkSignIn; mockFirebaseUIError = FirebaseUIError; diff --git a/packages/angular/src/lib/auth/forms/email-link-auth-form/email-link-auth-form.component.ts b/packages/angular/src/lib/auth/forms/email-link-auth-form/email-link-auth-form.component.ts index b891cfbb..8bbc465f 100644 --- a/packages/angular/src/lib/auth/forms/email-link-auth-form/email-link-auth-form.component.ts +++ b/packages/angular/src/lib/auth/forms/email-link-auth-form/email-link-auth-form.component.ts @@ -18,7 +18,7 @@ import { Component, effect, output, signal } from "@angular/core"; import { CommonModule } from "@angular/common"; import { injectForm, injectStore, TanStackAppField, TanStackField } from "@tanstack/angular-form"; import { UserCredential } from "@angular/fire/auth"; -import { FirebaseUIError, completeEmailLinkSignIn, sendSignInLinkToEmail } from "@firebase-ui/core"; +import { FirebaseUIError, completeEmailLinkSignIn, sendSignInLinkToEmail } from "@invertase/firebaseui-core"; import { FormInputComponent, diff --git a/packages/angular/src/lib/auth/forms/email-link-form/email-link-form.component.ts b/packages/angular/src/lib/auth/forms/email-link-form/email-link-form.component.ts index b4bc7f05..306f4d5c 100644 --- a/packages/angular/src/lib/auth/forms/email-link-form/email-link-form.component.ts +++ b/packages/angular/src/lib/auth/forms/email-link-form/email-link-form.component.ts @@ -26,7 +26,7 @@ import { completeEmailLinkSignIn, sendSignInLinkToEmail, FirebaseUI, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { firstValueFrom } from "rxjs"; @Component({ diff --git a/packages/angular/src/lib/auth/forms/email-password-form/email-password-form.component.ts b/packages/angular/src/lib/auth/forms/email-password-form/email-password-form.component.ts index aa97b6fc..2631a209 100644 --- a/packages/angular/src/lib/auth/forms/email-password-form/email-password-form.component.ts +++ b/packages/angular/src/lib/auth/forms/email-password-form/email-password-form.component.ts @@ -26,7 +26,7 @@ import { FirebaseUI, FirebaseUIError, signInWithEmailAndPassword, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { firstValueFrom } from "rxjs"; import { Router } from "@angular/router"; diff --git a/packages/angular/src/lib/auth/forms/forgot-password-auth-form/forgot-password-auth-form.component.spec.ts b/packages/angular/src/lib/auth/forms/forgot-password-auth-form/forgot-password-auth-form.component.spec.ts index b15fb1cf..fb60adaf 100644 --- a/packages/angular/src/lib/auth/forms/forgot-password-auth-form/forgot-password-auth-form.component.spec.ts +++ b/packages/angular/src/lib/auth/forms/forgot-password-auth-form/forgot-password-auth-form.component.spec.ts @@ -31,7 +31,7 @@ describe("", () => { let mockFirebaseUIError: any; beforeEach(() => { - const { sendPasswordResetEmail, FirebaseUIError } = require("@firebase-ui/core"); + const { sendPasswordResetEmail, FirebaseUIError } = require("@invertase/firebaseui-core"); mockSendPasswordResetEmail = sendPasswordResetEmail; mockFirebaseUIError = FirebaseUIError; }); diff --git a/packages/angular/src/lib/auth/forms/forgot-password-auth-form/forgot-password-auth-form.component.ts b/packages/angular/src/lib/auth/forms/forgot-password-auth-form/forgot-password-auth-form.component.ts index 6fa7f3ce..a85c367e 100644 --- a/packages/angular/src/lib/auth/forms/forgot-password-auth-form/forgot-password-auth-form.component.ts +++ b/packages/angular/src/lib/auth/forms/forgot-password-auth-form/forgot-password-auth-form.component.ts @@ -17,7 +17,7 @@ import { Component, effect, output, signal } from "@angular/core"; import { CommonModule } from "@angular/common"; import { injectForm, injectStore, TanStackAppField, TanStackField } from "@tanstack/angular-form"; -import { FirebaseUIError, sendPasswordResetEmail } from "@firebase-ui/core"; +import { FirebaseUIError, sendPasswordResetEmail } from "@invertase/firebaseui-core"; import { FormInputComponent, diff --git a/packages/angular/src/lib/auth/forms/forgot-password-form/forgot-password-form.component.ts b/packages/angular/src/lib/auth/forms/forgot-password-form/forgot-password-form.component.ts index 2f5fec9f..e4e47afb 100644 --- a/packages/angular/src/lib/auth/forms/forgot-password-form/forgot-password-form.component.ts +++ b/packages/angular/src/lib/auth/forms/forgot-password-form/forgot-password-form.component.ts @@ -21,7 +21,7 @@ import { FirebaseUI } from "../../../provider"; import { Auth } from "@angular/fire/auth"; import { ButtonComponent } from "../../../components/button/button.component"; import { TermsAndPrivacyComponent } from "../../../components/terms-and-privacy/terms-and-privacy.component"; -import { createForgotPasswordFormSchema, FirebaseUI, FirebaseUIError, sendPasswordResetEmail } from "@firebase-ui/core"; +import { createForgotPasswordFormSchema, FirebaseUI, FirebaseUIError, sendPasswordResetEmail } from "@invertase/firebaseui-core"; import { firstValueFrom } from "rxjs"; import { Router } from "@angular/router"; diff --git a/packages/angular/src/lib/auth/forms/phone-auth-form/phone-auth-form.component.spec.ts b/packages/angular/src/lib/auth/forms/phone-auth-form/phone-auth-form.component.spec.ts index 0561849e..1eaf4598 100644 --- a/packages/angular/src/lib/auth/forms/phone-auth-form/phone-auth-form.component.spec.ts +++ b/packages/angular/src/lib/auth/forms/phone-auth-form/phone-auth-form.component.spec.ts @@ -37,7 +37,7 @@ describe("", () => { let mockFirebaseUIError: any; beforeEach(() => { - const { verifyPhoneNumber, confirmPhoneNumber, formatPhoneNumber, FirebaseUIError } = require("@firebase-ui/core"); + const { verifyPhoneNumber, confirmPhoneNumber, formatPhoneNumber, FirebaseUIError } = require("@invertase/firebaseui-core"); mockVerifyPhoneNumber = verifyPhoneNumber; mockConfirmPhoneNumber = confirmPhoneNumber; mockFormatPhoneNumber = formatPhoneNumber; diff --git a/packages/angular/src/lib/auth/forms/phone-auth-form/phone-auth-form.component.ts b/packages/angular/src/lib/auth/forms/phone-auth-form/phone-auth-form.component.ts index d4d87752..3e9e7bab 100644 --- a/packages/angular/src/lib/auth/forms/phone-auth-form/phone-auth-form.component.ts +++ b/packages/angular/src/lib/auth/forms/phone-auth-form/phone-auth-form.component.ts @@ -38,7 +38,7 @@ import { confirmPhoneNumber, verifyPhoneNumber, CountryCode, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; @Component({ selector: "fui-phone-number-form", diff --git a/packages/angular/src/lib/auth/forms/phone-form/phone-form.component.ts b/packages/angular/src/lib/auth/forms/phone-form/phone-form.component.ts index 218512e0..868b2301 100644 --- a/packages/angular/src/lib/auth/forms/phone-form/phone-form.component.ts +++ b/packages/angular/src/lib/auth/forms/phone-form/phone-form.component.ts @@ -32,7 +32,7 @@ import { confirmPhoneNumber, signInWithPhoneNumber, FirebaseUI, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { interval, Subscription, firstValueFrom } from "rxjs"; import { Router } from "@angular/router"; import { takeWhile } from "rxjs/operators"; diff --git a/packages/angular/src/lib/auth/forms/register-form/register-form.component.ts b/packages/angular/src/lib/auth/forms/register-form/register-form.component.ts index 1458e61a..be2c89cc 100644 --- a/packages/angular/src/lib/auth/forms/register-form/register-form.component.ts +++ b/packages/angular/src/lib/auth/forms/register-form/register-form.component.ts @@ -25,7 +25,7 @@ import { FirebaseUIError, createUserWithEmailAndPassword, FirebaseUI, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { Auth } from "@angular/fire/auth"; import { TermsAndPrivacyComponent } from "../../../components/terms-and-privacy/terms-and-privacy.component"; import { firstValueFrom } from "rxjs"; diff --git a/packages/angular/src/lib/auth/forms/sign-in-auth-form/sign-in-auth-form.component.spec.ts b/packages/angular/src/lib/auth/forms/sign-in-auth-form/sign-in-auth-form.component.spec.ts index 4a01945c..3f696411 100644 --- a/packages/angular/src/lib/auth/forms/sign-in-auth-form/sign-in-auth-form.component.spec.ts +++ b/packages/angular/src/lib/auth/forms/sign-in-auth-form/sign-in-auth-form.component.spec.ts @@ -32,7 +32,7 @@ describe("", () => { let mockFirebaseUIError: any; beforeEach(() => { - const { signInWithEmailAndPassword, FirebaseUIError } = require("@firebase-ui/core"); + const { signInWithEmailAndPassword, FirebaseUIError } = require("@invertase/firebaseui-core"); mockSignInWithEmailAndPassword = signInWithEmailAndPassword; mockFirebaseUIError = FirebaseUIError; }); diff --git a/packages/angular/src/lib/auth/forms/sign-in-auth-form/sign-in-auth-form.component.ts b/packages/angular/src/lib/auth/forms/sign-in-auth-form/sign-in-auth-form.component.ts index 9372d0a1..479e7681 100644 --- a/packages/angular/src/lib/auth/forms/sign-in-auth-form/sign-in-auth-form.component.ts +++ b/packages/angular/src/lib/auth/forms/sign-in-auth-form/sign-in-auth-form.component.ts @@ -18,7 +18,7 @@ import { Component, output, effect } from "@angular/core"; import { CommonModule } from "@angular/common"; import { UserCredential } from "@angular/fire/auth"; import { injectForm, TanStackField, TanStackAppField, injectStore } from "@tanstack/angular-form"; -import { FirebaseUIError, signInWithEmailAndPassword } from "@firebase-ui/core"; +import { FirebaseUIError, signInWithEmailAndPassword } from "@invertase/firebaseui-core"; import { injectSignInAuthFormSchema, injectTranslation, injectUI } from "../../../provider"; import { PoliciesComponent } from "../../../components/policies/policies.component"; diff --git a/packages/angular/src/lib/auth/forms/sign-up-auth-form/sign-up-auth-form.component.spec.ts b/packages/angular/src/lib/auth/forms/sign-up-auth-form/sign-up-auth-form.component.spec.ts index b6c41964..2a01ac86 100644 --- a/packages/angular/src/lib/auth/forms/sign-up-auth-form/sign-up-auth-form.component.spec.ts +++ b/packages/angular/src/lib/auth/forms/sign-up-auth-form/sign-up-auth-form.component.spec.ts @@ -33,7 +33,7 @@ describe("", () => { let mockFirebaseUIError: any; beforeEach(() => { - const { createUserWithEmailAndPassword, hasBehavior, FirebaseUIError } = require("@firebase-ui/core"); + const { createUserWithEmailAndPassword, hasBehavior, FirebaseUIError } = require("@invertase/firebaseui-core"); mockCreateUserWithEmailAndPassword = createUserWithEmailAndPassword; mockHasBehavior = hasBehavior; mockFirebaseUIError = FirebaseUIError; diff --git a/packages/angular/src/lib/auth/forms/sign-up-auth-form/sign-up-auth-form.component.ts b/packages/angular/src/lib/auth/forms/sign-up-auth-form/sign-up-auth-form.component.ts index 8ea4f2e3..6766d6ef 100644 --- a/packages/angular/src/lib/auth/forms/sign-up-auth-form/sign-up-auth-form.component.ts +++ b/packages/angular/src/lib/auth/forms/sign-up-auth-form/sign-up-auth-form.component.ts @@ -17,7 +17,7 @@ import { Component, output, effect, computed } from "@angular/core"; import { CommonModule } from "@angular/common"; import { injectForm, injectStore, TanStackAppField, TanStackField } from "@tanstack/angular-form"; -import { FirebaseUIError, createUserWithEmailAndPassword, hasBehavior } from "@firebase-ui/core"; +import { FirebaseUIError, createUserWithEmailAndPassword, hasBehavior } from "@invertase/firebaseui-core"; import { UserCredential } from "@angular/fire/auth"; import { PoliciesComponent } from "../../../components/policies/policies.component"; diff --git a/packages/angular/src/lib/auth/oauth/oauth-button.component.spec.ts b/packages/angular/src/lib/auth/oauth/oauth-button.component.spec.ts index 87e97017..1edac1a3 100644 --- a/packages/angular/src/lib/auth/oauth/oauth-button.component.spec.ts +++ b/packages/angular/src/lib/auth/oauth/oauth-button.component.spec.ts @@ -45,7 +45,7 @@ describe("", () => { let mockFirebaseUIError: any; beforeEach(() => { - const { signInWithProvider, FirebaseUIError } = require("@firebase-ui/core"); + const { signInWithProvider, FirebaseUIError } = require("@invertase/firebaseui-core"); mockSignInWithProvider = signInWithProvider; mockFirebaseUIError = FirebaseUIError; diff --git a/packages/angular/src/lib/auth/oauth/oauth-button.component.ts b/packages/angular/src/lib/auth/oauth/oauth-button.component.ts index 0c3f4be1..78706baf 100644 --- a/packages/angular/src/lib/auth/oauth/oauth-button.component.ts +++ b/packages/angular/src/lib/auth/oauth/oauth-button.component.ts @@ -19,7 +19,7 @@ import { CommonModule } from "@angular/common"; import { ButtonComponent } from "../../components/button/button.component"; import { injectTranslation, injectUI } from "../../provider"; import { AuthProvider } from "@angular/fire/auth"; -import { FirebaseUIError, signInWithProvider } from "@firebase-ui/core"; +import { FirebaseUIError, signInWithProvider } from "@invertase/firebaseui-core"; @Component({ selector: "fui-oauth-button", diff --git a/packages/angular/src/lib/components/button/button.component.ts b/packages/angular/src/lib/components/button/button.component.ts index 136f61a1..dd73008c 100644 --- a/packages/angular/src/lib/components/button/button.component.ts +++ b/packages/angular/src/lib/components/button/button.component.ts @@ -15,7 +15,7 @@ */ import { Component, HostBinding, input } from "@angular/core"; -import { buttonVariant, type ButtonVariant } from "@firebase-ui/styles"; +import { buttonVariant, type ButtonVariant } from "@invertase/firebaseui-styles"; @Component({ selector: "button[fui-button]", diff --git a/packages/angular/src/lib/components/country-selector/country-selector.component.ts b/packages/angular/src/lib/components/country-selector/country-selector.component.ts index 1553e71b..70e88cdc 100644 --- a/packages/angular/src/lib/components/country-selector/country-selector.component.ts +++ b/packages/angular/src/lib/components/country-selector/country-selector.component.ts @@ -16,7 +16,7 @@ import { Component, computed, model } from "@angular/core"; import { CommonModule } from "@angular/common"; -import { type CountryCode } from "@firebase-ui/core"; +import { type CountryCode } from "@invertase/firebaseui-core"; import { FormsModule } from "@angular/forms"; import { injectCountries, injectDefaultCountry } from "../../provider"; diff --git a/packages/angular/src/lib/provider.ts b/packages/angular/src/lib/provider.ts index 337c8d32..24589369 100644 --- a/packages/angular/src/lib/provider.ts +++ b/packages/angular/src/lib/provider.ts @@ -38,7 +38,7 @@ import { getTranslation, getBehavior, type CountryData, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; const FIREBASE_UI_STORE = new InjectionToken("firebaseui.store"); const FIREBASE_UI_POLICIES = new InjectionToken("firebaseui.policies"); diff --git a/packages/angular/src/lib/tests/test-helpers.ts b/packages/angular/src/lib/tests/test-helpers.ts index c588764c..1e9f9073 100644 --- a/packages/angular/src/lib/tests/test-helpers.ts +++ b/packages/angular/src/lib/tests/test-helpers.ts @@ -1,4 +1,4 @@ -// Mock implementations for @firebase-ui/core to avoid ESM issues in tests +// Mock implementations for @invertase/firebaseui-core to avoid ESM issues in tests export const sendPasswordResetEmail = jest.fn(); export const sendSignInLinkToEmail = jest.fn(); export const completeEmailLinkSignIn = jest.fn(); @@ -108,7 +108,7 @@ export const injectPolicies = jest.fn().mockReturnValue({ privacyPolicyUrl: "https://example.com/privacy", }); -// TODO(ehesp): Unfortunately, we cannot use the real schemas here because of the ESM-only dependency on nanostores in @firebase-ui/core - this is a little +// TODO(ehesp): Unfortunately, we cannot use the real schemas here because of the ESM-only dependency on nanostores in @invertase/firebaseui-core - this is a little // risky as schema updates and tests need aligning, but this is a workaround for now. export const createForgotPasswordAuthFormSchema = jest.fn(() => { diff --git a/packages/angular/src/public-api.ts b/packages/angular/src/public-api.ts index 891a2755..bdb8e79f 100644 --- a/packages/angular/src/public-api.ts +++ b/packages/angular/src/public-api.ts @@ -15,7 +15,7 @@ */ import { isDevMode } from "@angular/core"; -import { registerFramework } from "@firebase-ui/core"; +import { registerFramework } from "@invertase/firebaseui-core"; export { EmailLinkAuthFormComponent } from "./lib/auth/forms/email-link-auth-form/email-link-auth-form.component"; export { ForgotPasswordAuthFormComponent } from "./lib/auth/forms/forgot-password-auth-form/forgot-password-auth-form.component"; diff --git a/packages/angular/tsconfig.json b/packages/angular/tsconfig.json index 56d5e8a1..62d27df3 100644 --- a/packages/angular/tsconfig.json +++ b/packages/angular/tsconfig.json @@ -8,9 +8,9 @@ "paths": { "~/*": ["./src/*"], "~/tests/*": ["./tests/*"], - "@firebase-ui/core": ["../core/src/index.ts"], - "@firebase-ui/translations": ["../translations/src/index.ts"], - "@firebase-ui/styles": ["../styles/src/index.ts"] + "@invertase/firebaseui-core": ["../core/src/index.ts"], + "@invertase/firebaseui-translations": ["../translations/src/index.ts"], + "@invertase/firebaseui-styles": ["../styles/src/index.ts"] } }, "include": ["src", "tests", "jest.config.ts", "setup-test.ts"] diff --git a/packages/angular/tsconfig.spec.json b/packages/angular/tsconfig.spec.json index 2d41c266..1dadd203 100644 --- a/packages/angular/tsconfig.spec.json +++ b/packages/angular/tsconfig.spec.json @@ -6,8 +6,8 @@ "types": ["vitest/globals", "node"], "paths": { "~/tests/*": ["./tests/*"], - "@firebase-ui/core": ["../core/src/index.ts"], - "@firebase-ui/styles": ["../styles/src/index.ts"] + "@invertase/firebaseui-core": ["../core/src/index.ts"], + "@invertase/firebaseui-styles": ["../styles/src/index.ts"] } }, "files": ["setup-test.ts"], diff --git a/packages/core/src/config.test.ts b/packages/core/src/config.test.ts index 8d117978..00db234c 100644 --- a/packages/core/src/config.test.ts +++ b/packages/core/src/config.test.ts @@ -2,7 +2,7 @@ import { FirebaseApp } from "firebase/app"; import { Auth, MultiFactorResolver } from "firebase/auth"; import { describe, it, expect, vi, beforeEach } from "vitest"; import { initializeUI } from "./config"; -import { enUs, registerLocale } from "@firebase-ui/translations"; +import { enUs, registerLocale } from "@invertase/firebaseui-translations"; import { autoUpgradeAnonymousUsers, autoAnonymousLogin } from "./behaviors"; // Mock Firebase Auth diff --git a/packages/core/src/config.ts b/packages/core/src/config.ts index 1249449b..2272a9d4 100644 --- a/packages/core/src/config.ts +++ b/packages/core/src/config.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { enUs, type RegisteredLocale } from "@firebase-ui/translations"; +import { enUs, type RegisteredLocale } from "@invertase/firebaseui-translations"; import type { FirebaseApp } from "firebase/app"; import { type Auth, getAuth, getRedirectResult, type MultiFactorResolver } from "firebase/auth"; import { deepMap, type DeepMapStore, map } from "nanostores"; diff --git a/packages/core/src/errors.test.ts b/packages/core/src/errors.test.ts index 95da383b..a4226ea2 100644 --- a/packages/core/src/errors.test.ts +++ b/packages/core/src/errors.test.ts @@ -3,7 +3,7 @@ import { FirebaseError } from "firebase/app"; import { Auth, AuthCredential, MultiFactorResolver } from "firebase/auth"; import { FirebaseUIError, handleFirebaseError } from "./errors"; import { createMockUI } from "~/tests/utils"; -import { ERROR_CODE_MAP } from "@firebase-ui/translations"; +import { ERROR_CODE_MAP } from "@invertase/firebaseui-translations"; vi.mock("./translations", () => ({ getTranslation: vi.fn(), diff --git a/packages/core/src/errors.ts b/packages/core/src/errors.ts index da9f1e52..782f2191 100644 --- a/packages/core/src/errors.ts +++ b/packages/core/src/errors.ts @@ -14,7 +14,7 @@ * limitations under the License. */ -import { ERROR_CODE_MAP, type ErrorCode } from "@firebase-ui/translations"; +import { ERROR_CODE_MAP, type ErrorCode } from "@invertase/firebaseui-translations"; import { FirebaseError } from "firebase/app"; import { type AuthCredential, getMultiFactorResolver, type MultiFactorError } from "firebase/auth"; import { type FirebaseUI } from "./config"; diff --git a/packages/core/src/schemas.test.ts b/packages/core/src/schemas.test.ts index ecda98f1..b82dbed7 100644 --- a/packages/core/src/schemas.test.ts +++ b/packages/core/src/schemas.test.ts @@ -8,7 +8,7 @@ import { createSignInAuthFormSchema, createSignUpAuthFormSchema, } from "./schemas"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { RecaptchaVerifier } from "firebase/auth"; describe("createSignInAuthFormSchema", () => { diff --git a/packages/core/src/translations.test.ts b/packages/core/src/translations.test.ts index 77527b1e..a3fcb51f 100644 --- a/packages/core/src/translations.test.ts +++ b/packages/core/src/translations.test.ts @@ -1,12 +1,12 @@ import { describe, expect, it, vi } from "vitest"; // Mock the translations module first -vi.mock("@firebase-ui/translations", async (original) => ({ +vi.mock("@invertase/firebaseui-translations", async (original) => ({ ...(await original()), getTranslation: vi.fn(), })); -import { getTranslation as _getTranslation, registerLocale } from "@firebase-ui/translations"; +import { getTranslation as _getTranslation, registerLocale } from "@invertase/firebaseui-translations"; import { getTranslation } from "./translations"; import { createMockUI } from "~/tests/utils"; diff --git a/packages/core/src/translations.ts b/packages/core/src/translations.ts index ffdcea7e..a87bd36a 100644 --- a/packages/core/src/translations.ts +++ b/packages/core/src/translations.ts @@ -18,7 +18,7 @@ import { getTranslation as _getTranslation, type TranslationCategory, type TranslationKey, -} from "@firebase-ui/translations"; +} from "@invertase/firebaseui-translations"; import { type FirebaseUI } from "./config"; export function getTranslation(ui: FirebaseUI, category: T, key: TranslationKey) { diff --git a/packages/core/tests/utils.ts b/packages/core/tests/utils.ts index f6d23445..6da16516 100644 --- a/packages/core/tests/utils.ts +++ b/packages/core/tests/utils.ts @@ -2,7 +2,7 @@ import { vi } from "vitest"; import type { FirebaseApp } from "firebase/app"; import type { Auth } from "firebase/auth"; -import { enUs } from "@firebase-ui/translations"; +import { enUs } from "@invertase/firebaseui-translations"; import { FirebaseUI } from "../src/config"; export function createMockUI(overrides?: Partial): FirebaseUI { diff --git a/packages/core/tsconfig.json b/packages/core/tsconfig.json index 1aad27cc..8932418f 100644 --- a/packages/core/tsconfig.json +++ b/packages/core/tsconfig.json @@ -6,7 +6,7 @@ "paths": { "~/*": ["./src/*"], "~/tests/*": ["./tests/*"], - "@firebase-ui/translations": ["../translations/src/index.ts"] + "@invertase/firebaseui-translations": ["../translations/src/index.ts"] } }, "include": ["src", "vitest.config.ts", "tsup.config.ts"] diff --git a/packages/core/vite.config.ts b/packages/core/vite.config.ts index 26574b53..473a773b 100644 --- a/packages/core/vite.config.ts +++ b/packages/core/vite.config.ts @@ -6,8 +6,8 @@ import { fileURLToPath } from "node:url"; export default defineConfig({ resolve: { alias: { - "@firebase-ui/styles": path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../styles/src"), - "@firebase-ui/translations": path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../translations/src"), + "@invertase/firebaseui-styles": path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../styles/src"), + "@invertase/firebaseui-translations": path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../translations/src"), "~/tests": path.resolve(path.dirname(fileURLToPath(import.meta.url)), "./tests"), "~": path.resolve(path.dirname(fileURLToPath(import.meta.url)), "./src"), }, diff --git a/packages/core/vitest.config.ts b/packages/core/vitest.config.ts index 13c59b51..b1c380a5 100644 --- a/packages/core/vitest.config.ts +++ b/packages/core/vitest.config.ts @@ -19,7 +19,7 @@ import viteConfig from "./vite.config"; export default mergeConfig(viteConfig, { test: { - name: "@firebase-ui/core", + name: "@invertase/firebaseui-core", environment: "jsdom", exclude: ["node_modules/**/*", "dist/**/*"], }, diff --git a/packages/react/package.json b/packages/react/package.json index da290462..63f650e9 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -40,8 +40,8 @@ "react-dom": "catalog:peerDependencies" }, "dependencies": { - "@firebase-ui/core": "workspace:*", - "@firebase-ui/styles": "workspace:*", + "@invertase/firebaseui-core": "workspace:*", + "@invertase/firebaseui-styles": "workspace:*", "@nanostores/react": "^1.0.0", "@radix-ui/react-slot": "^1.2.3", "@tanstack/react-form": "1.20.0", @@ -50,7 +50,7 @@ "zod": "catalog:" }, "devDependencies": { - "@firebase-ui/translations": "workspace:*", + "@invertase/firebaseui-translations": "workspace:*", "@testing-library/jest-dom": "catalog:", "@testing-library/react": "catalog:", "@types/jsdom": "catalog:", diff --git a/packages/react/src/auth/forms/email-link-auth-form.test.tsx b/packages/react/src/auth/forms/email-link-auth-form.test.tsx index 528f1f6b..cee34e65 100644 --- a/packages/react/src/auth/forms/email-link-auth-form.test.tsx +++ b/packages/react/src/auth/forms/email-link-auth-form.test.tsx @@ -23,14 +23,14 @@ import { useEmailLinkAuthFormCompleteSignIn, } from "./email-link-auth-form"; import { act } from "react"; -import { sendSignInLinkToEmail, completeEmailLinkSignIn } from "@firebase-ui/core"; +import { sendSignInLinkToEmail, completeEmailLinkSignIn } from "@invertase/firebaseui-core"; import { createFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { FirebaseUIProvider } from "~/context"; import type { UserCredential } from "firebase/auth"; -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, sendSignInLinkToEmail: vi.fn(), diff --git a/packages/react/src/auth/forms/email-link-auth-form.tsx b/packages/react/src/auth/forms/email-link-auth-form.tsx index 95e145aa..2f2dad5c 100644 --- a/packages/react/src/auth/forms/email-link-auth-form.tsx +++ b/packages/react/src/auth/forms/email-link-auth-form.tsx @@ -16,7 +16,7 @@ "use client"; -import { FirebaseUIError, completeEmailLinkSignIn, getTranslation, sendSignInLinkToEmail } from "@firebase-ui/core"; +import { FirebaseUIError, completeEmailLinkSignIn, getTranslation, sendSignInLinkToEmail } from "@invertase/firebaseui-core"; import type { UserCredential } from "firebase/auth"; import { useEmailLinkAuthFormSchema, useUI } from "~/hooks"; import { form } from "~/components/form"; diff --git a/packages/react/src/auth/forms/forgot-password-auth-form.test.tsx b/packages/react/src/auth/forms/forgot-password-auth-form.test.tsx index e8182d71..2948f7a7 100644 --- a/packages/react/src/auth/forms/forgot-password-auth-form.test.tsx +++ b/packages/react/src/auth/forms/forgot-password-auth-form.test.tsx @@ -22,13 +22,13 @@ import { useForgotPasswordAuthFormAction, } from "./forgot-password-auth-form"; import { act } from "react"; -import { sendPasswordResetEmail } from "@firebase-ui/core"; +import { sendPasswordResetEmail } from "@invertase/firebaseui-core"; import { createFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { FirebaseUIProvider } from "~/context"; -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, sendPasswordResetEmail: vi.fn(), diff --git a/packages/react/src/auth/forms/forgot-password-auth-form.tsx b/packages/react/src/auth/forms/forgot-password-auth-form.tsx index 67e30623..5c214f4d 100644 --- a/packages/react/src/auth/forms/forgot-password-auth-form.tsx +++ b/packages/react/src/auth/forms/forgot-password-auth-form.tsx @@ -16,7 +16,7 @@ "use client"; -import { FirebaseUIError, getTranslation, sendPasswordResetEmail } from "@firebase-ui/core"; +import { FirebaseUIError, getTranslation, sendPasswordResetEmail } from "@invertase/firebaseui-core"; import { useForgotPasswordAuthFormSchema, useUI } from "~/hooks"; import { form } from "~/components/form"; import { Policies } from "~/components/policies"; diff --git a/packages/react/src/auth/forms/phone-auth-form.test.tsx b/packages/react/src/auth/forms/phone-auth-form.test.tsx index 61152e7b..6aff6f8e 100644 --- a/packages/react/src/auth/forms/phone-auth-form.test.tsx +++ b/packages/react/src/auth/forms/phone-auth-form.test.tsx @@ -36,8 +36,8 @@ vi.mock("firebase/auth", () => ({ ConfirmationResult: vi.fn(), })); -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, verifyPhoneNumber: vi.fn(), @@ -69,9 +69,9 @@ vi.mock("~/hooks", async (importOriginal) => { }; }); -import { verifyPhoneNumber, confirmPhoneNumber } from "@firebase-ui/core"; +import { verifyPhoneNumber, confirmPhoneNumber } from "@invertase/firebaseui-core"; import { createFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { FirebaseUIProvider } from "~/context"; vi.mock("~/components/country-selector", () => ({ diff --git a/packages/react/src/auth/forms/phone-auth-form.tsx b/packages/react/src/auth/forms/phone-auth-form.tsx index a7610388..853caa3f 100644 --- a/packages/react/src/auth/forms/phone-auth-form.tsx +++ b/packages/react/src/auth/forms/phone-auth-form.tsx @@ -22,7 +22,7 @@ import { getTranslation, verifyPhoneNumber, confirmPhoneNumber, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { type RecaptchaVerifier, type UserCredential } from "firebase/auth"; import { useCallback, useRef, useState } from "react"; import { usePhoneAuthNumberFormSchema, usePhoneAuthVerifyFormSchema, useRecaptchaVerifier, useUI } from "~/hooks"; diff --git a/packages/react/src/auth/forms/sign-in-auth-form.test.tsx b/packages/react/src/auth/forms/sign-in-auth-form.test.tsx index aef6bf80..03488151 100644 --- a/packages/react/src/auth/forms/sign-in-auth-form.test.tsx +++ b/packages/react/src/auth/forms/sign-in-auth-form.test.tsx @@ -18,14 +18,14 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, renderHook, cleanup } from "@testing-library/react"; import { SignInAuthForm, useSignInAuthForm, useSignInAuthFormAction } from "./sign-in-auth-form"; import { act } from "react"; -import { signInWithEmailAndPassword } from "@firebase-ui/core"; +import { signInWithEmailAndPassword } from "@invertase/firebaseui-core"; import { createFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import type { UserCredential } from "firebase/auth"; import { FirebaseUIProvider } from "~/context"; -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, signInWithEmailAndPassword: vi.fn(), diff --git a/packages/react/src/auth/forms/sign-in-auth-form.tsx b/packages/react/src/auth/forms/sign-in-auth-form.tsx index b592e88f..fdae38f8 100644 --- a/packages/react/src/auth/forms/sign-in-auth-form.tsx +++ b/packages/react/src/auth/forms/sign-in-auth-form.tsx @@ -16,7 +16,7 @@ "use client"; -import { FirebaseUIError, getTranslation, signInWithEmailAndPassword } from "@firebase-ui/core"; +import { FirebaseUIError, getTranslation, signInWithEmailAndPassword } from "@invertase/firebaseui-core"; import type { UserCredential } from "firebase/auth"; import { useSignInAuthFormSchema, useUI } from "~/hooks"; import { form } from "~/components/form"; diff --git a/packages/react/src/auth/forms/sign-up-auth-form.test.tsx b/packages/react/src/auth/forms/sign-up-auth-form.test.tsx index 849023e0..89074006 100644 --- a/packages/react/src/auth/forms/sign-up-auth-form.test.tsx +++ b/packages/react/src/auth/forms/sign-up-auth-form.test.tsx @@ -18,14 +18,14 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, renderHook, cleanup } from "@testing-library/react"; import { SignUpAuthForm, useSignUpAuthForm, useSignUpAuthFormAction, useRequireDisplayName } from "./sign-up-auth-form"; import { act } from "react"; -import { createUserWithEmailAndPassword } from "@firebase-ui/core"; +import { createUserWithEmailAndPassword } from "@invertase/firebaseui-core"; import { createFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import type { UserCredential } from "firebase/auth"; import { FirebaseUIProvider } from "~/context"; -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, createUserWithEmailAndPassword: vi.fn(), diff --git a/packages/react/src/auth/forms/sign-up-auth-form.tsx b/packages/react/src/auth/forms/sign-up-auth-form.tsx index b9095da1..96d429f2 100644 --- a/packages/react/src/auth/forms/sign-up-auth-form.tsx +++ b/packages/react/src/auth/forms/sign-up-auth-form.tsx @@ -16,7 +16,7 @@ "use client"; -import { FirebaseUIError, getTranslation, createUserWithEmailAndPassword, hasBehavior } from "@firebase-ui/core"; +import { FirebaseUIError, getTranslation, createUserWithEmailAndPassword, hasBehavior } from "@invertase/firebaseui-core"; import type { UserCredential } from "firebase/auth"; import { useSignUpAuthFormSchema, useUI } from "~/hooks"; import { form } from "~/components/form"; diff --git a/packages/react/src/auth/oauth/apple-sign-in-button.test.tsx b/packages/react/src/auth/oauth/apple-sign-in-button.test.tsx index 8119cf82..f117b3ad 100644 --- a/packages/react/src/auth/oauth/apple-sign-in-button.test.tsx +++ b/packages/react/src/auth/oauth/apple-sign-in-button.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { AppleLogo, AppleSignInButton } from "./apple-sign-in-button"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { OAuthProvider } from "firebase/auth"; vi.mock("firebase/auth", () => ({ diff --git a/packages/react/src/auth/oauth/apple-sign-in-button.tsx b/packages/react/src/auth/oauth/apple-sign-in-button.tsx index 1320b04c..4df4731e 100644 --- a/packages/react/src/auth/oauth/apple-sign-in-button.tsx +++ b/packages/react/src/auth/oauth/apple-sign-in-button.tsx @@ -16,7 +16,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { OAuthProvider } from "firebase/auth"; import { useUI } from "~/hooks"; import { OAuthButton } from "./oauth-button"; diff --git a/packages/react/src/auth/oauth/facebook-sign-in-button.test.tsx b/packages/react/src/auth/oauth/facebook-sign-in-button.test.tsx index d3c94fbe..7129950f 100644 --- a/packages/react/src/auth/oauth/facebook-sign-in-button.test.tsx +++ b/packages/react/src/auth/oauth/facebook-sign-in-button.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { FacebookLogo, FacebookSignInButton } from "./facebook-sign-in-button"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; vi.mock("firebase/auth", () => ({ FacebookAuthProvider: class FacebookAuthProvider { diff --git a/packages/react/src/auth/oauth/facebook-sign-in-button.tsx b/packages/react/src/auth/oauth/facebook-sign-in-button.tsx index 3065e33e..456647fb 100644 --- a/packages/react/src/auth/oauth/facebook-sign-in-button.tsx +++ b/packages/react/src/auth/oauth/facebook-sign-in-button.tsx @@ -16,7 +16,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { FacebookAuthProvider } from "firebase/auth"; import { useUI } from "~/hooks"; import { OAuthButton } from "./oauth-button"; diff --git a/packages/react/src/auth/oauth/github-sign-in-button.test.tsx b/packages/react/src/auth/oauth/github-sign-in-button.test.tsx index 11352246..ddbc3c29 100644 --- a/packages/react/src/auth/oauth/github-sign-in-button.test.tsx +++ b/packages/react/src/auth/oauth/github-sign-in-button.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { GitHubLogo, GitHubSignInButton } from "./github-sign-in-button"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; vi.mock("firebase/auth", () => ({ GithubAuthProvider: class GithubAuthProvider { diff --git a/packages/react/src/auth/oauth/github-sign-in-button.tsx b/packages/react/src/auth/oauth/github-sign-in-button.tsx index 0603f1d0..7fbf3198 100644 --- a/packages/react/src/auth/oauth/github-sign-in-button.tsx +++ b/packages/react/src/auth/oauth/github-sign-in-button.tsx @@ -16,7 +16,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { GithubAuthProvider } from "firebase/auth"; import { useUI } from "~/hooks"; import { OAuthButton } from "./oauth-button"; diff --git a/packages/react/src/auth/oauth/google-sign-in-button.test.tsx b/packages/react/src/auth/oauth/google-sign-in-button.test.tsx index 12adcf70..40bb7903 100644 --- a/packages/react/src/auth/oauth/google-sign-in-button.test.tsx +++ b/packages/react/src/auth/oauth/google-sign-in-button.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { GoogleLogo, GoogleSignInButton } from "./google-sign-in-button"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; vi.mock("firebase/auth", () => ({ GoogleAuthProvider: class GoogleAuthProvider { diff --git a/packages/react/src/auth/oauth/google-sign-in-button.tsx b/packages/react/src/auth/oauth/google-sign-in-button.tsx index 45c03f21..cbaca2bc 100644 --- a/packages/react/src/auth/oauth/google-sign-in-button.tsx +++ b/packages/react/src/auth/oauth/google-sign-in-button.tsx @@ -16,7 +16,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { GoogleAuthProvider } from "firebase/auth"; import { useUI } from "~/hooks"; import { OAuthButton } from "./oauth-button"; diff --git a/packages/react/src/auth/oauth/microsoft-sign-in-button.test.tsx b/packages/react/src/auth/oauth/microsoft-sign-in-button.test.tsx index 78239903..28c1e117 100644 --- a/packages/react/src/auth/oauth/microsoft-sign-in-button.test.tsx +++ b/packages/react/src/auth/oauth/microsoft-sign-in-button.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { MicrosoftLogo, MicrosoftSignInButton } from "./microsoft-sign-in-button"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { OAuthProvider } from "firebase/auth"; vi.mock("firebase/auth", () => ({ diff --git a/packages/react/src/auth/oauth/microsoft-sign-in-button.tsx b/packages/react/src/auth/oauth/microsoft-sign-in-button.tsx index 7bae44d7..f706d4a2 100644 --- a/packages/react/src/auth/oauth/microsoft-sign-in-button.tsx +++ b/packages/react/src/auth/oauth/microsoft-sign-in-button.tsx @@ -16,7 +16,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { OAuthProvider } from "firebase/auth"; import { useUI } from "~/hooks"; import { OAuthButton } from "./oauth-button"; diff --git a/packages/react/src/auth/oauth/oauth-button.test.tsx b/packages/react/src/auth/oauth/oauth-button.test.tsx index da0b7458..fef13fe7 100644 --- a/packages/react/src/auth/oauth/oauth-button.test.tsx +++ b/packages/react/src/auth/oauth/oauth-button.test.tsx @@ -17,14 +17,14 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, fireEvent, cleanup, renderHook, act } from "@testing-library/react"; import { OAuthButton, useSignInWithProvider } from "./oauth-button"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { enUs, registerLocale } from "@firebase-ui/translations"; +import { enUs, registerLocale } from "@invertase/firebaseui-translations"; import type { AuthProvider, UserCredential } from "firebase/auth"; import { ComponentProps } from "react"; -import { signInWithProvider } from "@firebase-ui/core"; +import { signInWithProvider } from "@invertase/firebaseui-core"; import { FirebaseError } from "firebase/app"; -vi.mock("@firebase-ui/core", async (importOriginal) => { +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { const mod = await importOriginal(); return { ...(mod as object), @@ -125,7 +125,7 @@ describe("", () => { }); it("displays FirebaseUIError message when FirebaseUIError occurs", async () => { - const { FirebaseUIError } = await import("@firebase-ui/core"); + const { FirebaseUIError } = await import("@invertase/firebaseui-core"); const mockSignInWithProvider = vi.mocked(signInWithProvider); const ui = createMockUI(); const mockError = new FirebaseUIError( @@ -190,7 +190,7 @@ describe("", () => { }); it("clears error when button is clicked again", async () => { - const { FirebaseUIError } = await import("@firebase-ui/core"); + const { FirebaseUIError } = await import("@invertase/firebaseui-core"); const mockSignInWithProvider = vi.mocked(signInWithProvider); const ui = createMockUI(); @@ -263,7 +263,7 @@ describe("useSignInWithProvider", () => { }); it("sets error state when FirebaseUIError occurs", async () => { - const { FirebaseUIError } = await import("@firebase-ui/core"); + const { FirebaseUIError } = await import("@invertase/firebaseui-core"); const mockSignInWithProvider = vi.mocked(signInWithProvider); const ui = createMockUI(); const mockError = new FirebaseUIError( @@ -319,7 +319,7 @@ describe("useSignInWithProvider", () => { }); it("clears error when callback is called again", async () => { - const { FirebaseUIError } = await import("@firebase-ui/core"); + const { FirebaseUIError } = await import("@invertase/firebaseui-core"); const mockSignInWithProvider = vi.mocked(signInWithProvider); const ui = createMockUI(); diff --git a/packages/react/src/auth/oauth/oauth-button.tsx b/packages/react/src/auth/oauth/oauth-button.tsx index caa83c6d..cba3e53a 100644 --- a/packages/react/src/auth/oauth/oauth-button.tsx +++ b/packages/react/src/auth/oauth/oauth-button.tsx @@ -16,7 +16,7 @@ "use client"; -import { FirebaseUIError, getTranslation, signInWithProvider } from "@firebase-ui/core"; +import { FirebaseUIError, getTranslation, signInWithProvider } from "@invertase/firebaseui-core"; import type { AuthProvider } from "firebase/auth"; import type { PropsWithChildren } from "react"; import { useCallback, useState } from "react"; diff --git a/packages/react/src/auth/oauth/twitter-sign-in-button.test.tsx b/packages/react/src/auth/oauth/twitter-sign-in-button.test.tsx index 648d11ef..1c505d25 100644 --- a/packages/react/src/auth/oauth/twitter-sign-in-button.test.tsx +++ b/packages/react/src/auth/oauth/twitter-sign-in-button.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { TwitterLogo, TwitterSignInButton } from "./twitter-sign-in-button"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; vi.mock("firebase/auth", () => ({ TwitterAuthProvider: class TwitterAuthProvider { diff --git a/packages/react/src/auth/oauth/twitter-sign-in-button.tsx b/packages/react/src/auth/oauth/twitter-sign-in-button.tsx index e040785e..39627e3d 100644 --- a/packages/react/src/auth/oauth/twitter-sign-in-button.tsx +++ b/packages/react/src/auth/oauth/twitter-sign-in-button.tsx @@ -16,7 +16,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { TwitterAuthProvider } from "firebase/auth"; import { useUI } from "~/hooks"; import { OAuthButton } from "./oauth-button"; diff --git a/packages/react/src/auth/screens/email-link-auth-screen.test.tsx b/packages/react/src/auth/screens/email-link-auth-screen.test.tsx index da8cabf2..2182b0d3 100644 --- a/packages/react/src/auth/screens/email-link-auth-screen.test.tsx +++ b/packages/react/src/auth/screens/email-link-auth-screen.test.tsx @@ -18,7 +18,7 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { EmailLinkAuthScreen } from "~/auth/screens/email-link-auth-screen"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; vi.mock("~/auth/forms/email-link-auth-form", () => ({ EmailLinkAuthForm: () =>
Email Link Form
, diff --git a/packages/react/src/auth/screens/forgot-password-auth-screen.test.tsx b/packages/react/src/auth/screens/forgot-password-auth-screen.test.tsx index 53b77daf..8e126eb9 100644 --- a/packages/react/src/auth/screens/forgot-password-auth-screen.test.tsx +++ b/packages/react/src/auth/screens/forgot-password-auth-screen.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup } from "@testing-library/react"; import { ForgotPasswordAuthScreen } from "~/auth/screens/forgot-password-auth-screen"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; vi.mock("~/auth/forms/forgot-password-auth-form", () => ({ ForgotPasswordAuthForm: ({ onBackToSignInClick }: { onBackToSignInClick?: () => void }) => ( diff --git a/packages/react/src/auth/screens/oauth-screen.test.tsx b/packages/react/src/auth/screens/oauth-screen.test.tsx index 29d7dbed..b3698269 100644 --- a/packages/react/src/auth/screens/oauth-screen.test.tsx +++ b/packages/react/src/auth/screens/oauth-screen.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { OAuthScreen } from "~/auth/screens/oauth-screen"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; vi.mock("~/components/policies", async (originalModule) => { const module = await originalModule(); diff --git a/packages/react/src/auth/screens/phone-auth-screen.test.tsx b/packages/react/src/auth/screens/phone-auth-screen.test.tsx index dd8dc9b3..16a7747c 100644 --- a/packages/react/src/auth/screens/phone-auth-screen.test.tsx +++ b/packages/react/src/auth/screens/phone-auth-screen.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { PhoneAuthScreen } from "~/auth/screens/phone-auth-screen"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; vi.mock("~/auth/forms/phone-auth-form", () => ({ PhoneAuthForm: ({ resendDelay }: { resendDelay?: number }) => ( diff --git a/packages/react/src/auth/screens/sign-in-auth-screen.test.tsx b/packages/react/src/auth/screens/sign-in-auth-screen.test.tsx index 0c2b5ad6..79abbcbd 100644 --- a/packages/react/src/auth/screens/sign-in-auth-screen.test.tsx +++ b/packages/react/src/auth/screens/sign-in-auth-screen.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, fireEvent, cleanup } from "@testing-library/react"; import { SignInAuthScreen } from "~/auth/screens/sign-in-auth-screen"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; vi.mock("~/auth/forms/sign-in-auth-form", () => ({ SignInAuthForm: ({ diff --git a/packages/react/src/auth/screens/sign-up-auth-screen.test.tsx b/packages/react/src/auth/screens/sign-up-auth-screen.test.tsx index 7060c582..6194d419 100644 --- a/packages/react/src/auth/screens/sign-up-auth-screen.test.tsx +++ b/packages/react/src/auth/screens/sign-up-auth-screen.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, fireEvent, cleanup } from "@testing-library/react"; import { SignUpAuthScreen } from "~/auth/screens/sign-up-auth-screen"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; vi.mock("~/auth/forms/sign-up-auth-form", () => ({ SignUpAuthForm: ({ onBackToSignInClick }: { onBackToSignInClick?: () => void }) => ( diff --git a/packages/react/src/auth/screens/sign-up-auth-screen.tsx b/packages/react/src/auth/screens/sign-up-auth-screen.tsx index b1804a02..7f79406b 100644 --- a/packages/react/src/auth/screens/sign-up-auth-screen.tsx +++ b/packages/react/src/auth/screens/sign-up-auth-screen.tsx @@ -19,7 +19,7 @@ import { Divider } from "~/components/divider"; import { useUI } from "~/hooks"; import { Card, CardContent, CardHeader, CardSubtitle, CardTitle } from "../../components/card"; import { SignUpAuthForm, type SignUpAuthFormProps } from "../forms/sign-up-auth-form"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; export type SignUpAuthScreenProps = PropsWithChildren; diff --git a/packages/react/src/components/button.tsx b/packages/react/src/components/button.tsx index 7b21626d..b7445c57 100644 --- a/packages/react/src/components/button.tsx +++ b/packages/react/src/components/button.tsx @@ -16,7 +16,7 @@ import { type ComponentProps } from "react"; import { Slot } from "@radix-ui/react-slot"; -import { buttonVariant, type ButtonVariant } from "@firebase-ui/styles"; +import { buttonVariant, type ButtonVariant } from "@invertase/firebaseui-styles"; import { cn } from "~/utils/cn"; export type ButtonProps = ComponentProps<"button"> & { diff --git a/packages/react/src/components/country-selector.test.tsx b/packages/react/src/components/country-selector.test.tsx index d1b1fc17..089af7fc 100644 --- a/packages/react/src/components/country-selector.test.tsx +++ b/packages/react/src/components/country-selector.test.tsx @@ -16,7 +16,7 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup, renderHook, waitFor } from "@testing-library/react"; -import { countryData, countryCodes } from "@firebase-ui/core"; +import { countryData, countryCodes } from "@invertase/firebaseui-core"; import { CountrySelector, CountrySelectorRef, useCountries, useDefaultCountry } from "./country-selector"; import { createMockUI, createFirebaseUIProvider } from "~/tests/utils"; import { RefObject } from "react"; diff --git a/packages/react/src/components/country-selector.tsx b/packages/react/src/components/country-selector.tsx index 4a3628fb..c6c8a85c 100644 --- a/packages/react/src/components/country-selector.tsx +++ b/packages/react/src/components/country-selector.tsx @@ -16,7 +16,7 @@ "use client"; -import { type CountryCode, type CountryData, getBehavior } from "@firebase-ui/core"; +import { type CountryCode, type CountryData, getBehavior } from "@invertase/firebaseui-core"; import { type ComponentProps, forwardRef, useImperativeHandle, useState, useCallback } from "react"; import { useUI } from "~/hooks"; import { cn } from "~/utils/cn"; diff --git a/packages/react/src/components/policies.tsx b/packages/react/src/components/policies.tsx index 77da953e..7ee14654 100644 --- a/packages/react/src/components/policies.tsx +++ b/packages/react/src/components/policies.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { cloneElement, createContext, useContext } from "react"; import { useUI } from "~/hooks"; diff --git a/packages/react/src/context.tsx b/packages/react/src/context.tsx index 010eb7b4..07194a03 100644 --- a/packages/react/src/context.tsx +++ b/packages/react/src/context.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { type FirebaseUIStore, type FirebaseUI } from "@firebase-ui/core"; +import { type FirebaseUIStore, type FirebaseUI } from "@invertase/firebaseui-core"; import { useStore } from "@nanostores/react"; import { type PolicyProps, PolicyProvider } from "~/components/policies"; import { createContext } from "react"; diff --git a/packages/react/src/hooks.test.tsx b/packages/react/src/hooks.test.tsx index 985764e1..a64b7e01 100644 --- a/packages/react/src/hooks.test.tsx +++ b/packages/react/src/hooks.test.tsx @@ -26,7 +26,7 @@ import { usePhoneAuthVerifyFormSchema, } from "./hooks"; import { createFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale, enUs } from "@firebase-ui/translations"; +import { registerLocale, enUs } from "@invertase/firebaseui-translations"; beforeEach(() => { vi.clearAllMocks(); diff --git a/packages/react/src/hooks.ts b/packages/react/src/hooks.ts index d888c59b..912c1807 100644 --- a/packages/react/src/hooks.ts +++ b/packages/react/src/hooks.ts @@ -24,7 +24,7 @@ import { createSignUpAuthFormSchema, getBehavior, hasBehavior, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { FirebaseUIContext } from "./context"; /** diff --git a/packages/react/src/index.ts b/packages/react/src/index.ts index a1839239..e8e345a4 100644 --- a/packages/react/src/index.ts +++ b/packages/react/src/index.ts @@ -15,7 +15,7 @@ * limitations under the License. */ -import { registerFramework } from "@firebase-ui/core"; +import { registerFramework } from "@invertase/firebaseui-core"; import pkgJson from "../package.json"; export * from "./auth"; diff --git a/packages/react/tests/email-link-auth.integration.test.tsx b/packages/react/tests/email-link-auth.integration.test.tsx index 6e33824e..bf6862c1 100644 --- a/packages/react/tests/email-link-auth.integration.test.tsx +++ b/packages/react/tests/email-link-auth.integration.test.tsx @@ -19,7 +19,7 @@ import { describe, it, expect, afterAll } from "vitest"; // import { EmailLinkAuthForm } from "../src"; // import { initializeApp } from "firebase/app"; // import { getAuth, connectAuthEmulator, deleteUser } from "firebase/auth"; -// import { initializeUI } from "@firebase-ui/core"; +// import { initializeUI } from "@invertase/firebaseui-core"; // import { FirebaseUIProvider } from "~/context"; // // Prepare the test environment diff --git a/packages/react/tests/email-password-auth.integration.test.tsx b/packages/react/tests/email-password-auth.integration.test.tsx index 747d225d..bc5fbe1d 100644 --- a/packages/react/tests/email-password-auth.integration.test.tsx +++ b/packages/react/tests/email-password-auth.integration.test.tsx @@ -26,7 +26,7 @@ import { describe } from "vitest"; // deleteUser, // } from "firebase/auth"; // import { FirebaseUIProvider } from "~/context"; -// import { initializeUI } from "@firebase-ui/core"; +// import { initializeUI } from "@invertase/firebaseui-core"; // // Prepare the test environment // const firebaseConfig = { diff --git a/packages/react/tests/forgot-password.integration.test.tsx b/packages/react/tests/forgot-password.integration.test.tsx index 1de2e655..bcb060ff 100644 --- a/packages/react/tests/forgot-password.integration.test.tsx +++ b/packages/react/tests/forgot-password.integration.test.tsx @@ -26,7 +26,7 @@ import { describe } from "vitest"; // createUserWithEmailAndPassword, // signInWithEmailAndPassword, // } from "firebase/auth"; -// import { initializeUI } from "@firebase-ui/core"; +// import { initializeUI } from "@invertase/firebaseui-core"; // import { FirebaseUIProvider } from "~/context"; // // Prepare the test environment diff --git a/packages/react/tests/register.integration.test.tsx b/packages/react/tests/register.integration.test.tsx index a091252a..4a8a92c6 100644 --- a/packages/react/tests/register.integration.test.tsx +++ b/packages/react/tests/register.integration.test.tsx @@ -19,7 +19,7 @@ import { describe } from "vitest"; // import { SignUpAuthForm } from "../src"; // import { initializeApp } from "firebase/app"; // import { getAuth, connectAuthEmulator, deleteUser, signOut, signInWithEmailAndPassword } from "firebase/auth"; -// import { initializeUI } from "@firebase-ui/core"; +// import { initializeUI } from "@invertase/firebaseui-core"; // import { FirebaseUIProvider } from "~/context"; // // Prepare the test environment diff --git a/packages/react/tests/utils.tsx b/packages/react/tests/utils.tsx index 3386aa75..9e39d1ce 100644 --- a/packages/react/tests/utils.tsx +++ b/packages/react/tests/utils.tsx @@ -1,7 +1,7 @@ import type { FirebaseApp } from "firebase/app"; import type { Auth } from "firebase/auth"; -import { enUs } from "@firebase-ui/translations"; -import { Behavior, FirebaseUI, FirebaseUIOptions, initializeUI } from "@firebase-ui/core"; +import { enUs } from "@invertase/firebaseui-translations"; +import { Behavior, FirebaseUI, FirebaseUIOptions, initializeUI } from "@invertase/firebaseui-core"; import { FirebaseUIProvider } from "../src/context"; export function createMockUI(overrides?: Partial): FirebaseUI { diff --git a/packages/react/tsconfig.json b/packages/react/tsconfig.json index 9c22dfe5..770a3c69 100644 --- a/packages/react/tsconfig.json +++ b/packages/react/tsconfig.json @@ -6,9 +6,9 @@ "paths": { "~/*": ["./src/*"], "~/tests/*": ["./tests/*"], - "@firebase-ui/core": ["../core/src/index.ts"], - "@firebase-ui/translations": ["../translations/src/index.ts"], - "@firebase-ui/styles": ["../styles/src/index.ts"] + "@invertase/firebaseui-core": ["../core/src/index.ts"], + "@invertase/firebaseui-translations": ["../translations/src/index.ts"], + "@invertase/firebaseui-styles": ["../styles/src/index.ts"] } }, "include": ["src", "vite.config.ts", "setup-test.ts"] diff --git a/packages/react/vitest.config.ts b/packages/react/vitest.config.ts index 69f42c55..ff386db0 100644 --- a/packages/react/vitest.config.ts +++ b/packages/react/vitest.config.ts @@ -19,7 +19,7 @@ import viteConfig from "./vite.config"; export default mergeConfig(viteConfig, { test: { - name: "@firebase-ui/react", + name: "@invertase/firebaseui-react", // Use the same environment as the package environment: "jsdom", // Include TypeScript files diff --git a/packages/styles/vitest.config.ts b/packages/styles/vitest.config.ts index 99fa62f8..50fd2244 100644 --- a/packages/styles/vitest.config.ts +++ b/packages/styles/vitest.config.ts @@ -18,7 +18,7 @@ import { defineConfig } from "vitest/config"; export default defineConfig({ test: { - name: "@firebase-ui/styles", + name: "@invertase/firebaseui-styles", environment: "jsdom", include: ["src/**/*.{test,spec}.{js,ts}"], exclude: ["node_modules/**/*", "dist/**/*"], diff --git a/packages/translations/vitest.config.ts b/packages/translations/vitest.config.ts index a2ec77be..43a017fa 100644 --- a/packages/translations/vitest.config.ts +++ b/packages/translations/vitest.config.ts @@ -18,7 +18,7 @@ import { defineConfig } from "vitest/config"; export default defineConfig({ test: { - name: "@firebase-ui/translations", + name: "@invertase/firebaseui-translations", include: ["src/**/*.{test,spec}.{js,ts}"], exclude: ["node_modules/**/*", "dist/**/*"], }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fe4081bc..0d604a0f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -137,9 +137,24 @@ importers: prettier: specifier: ^3.1.1 version: 3.6.2 + rimraf: + specifier: ^6.0.1 + version: 6.0.1 + typescript: + specifier: ^5.7.3 + version: 5.9.2 typescript-eslint: specifier: ^8.45.0 version: 8.45.0(eslint@9.35.0(jiti@2.6.1))(typescript@5.9.2) + vite: + specifier: ^6.0.11 + version: 6.4.1(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6) + vite-plugin-dts: + specifier: ^4.2.3 + version: 4.5.4(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(vite@6.4.1(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6)) + vite-tsconfig-paths: + specifier: ^5.0.1 + version: 5.1.4(typescript@5.9.2)(vite@6.4.1(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6)) examples/angular: dependencies: @@ -157,35 +172,35 @@ importers: version: 20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1) '@angular/fire': specifier: ^20.0.1 - version: 20.0.1(c5e1eab461710a9d658b03f984199f2e) + version: 20.0.1(4a96a039b009911f86ef7a0ebd7f5d89) '@angular/forms': specifier: ^20.2.2 - version: 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) + version: 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@angular/platform-browser': specifier: ^20.2.2 version: 20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)) '@angular/platform-browser-dynamic': specifier: ^20.2.2 - version: 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))) + version: 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))) '@angular/platform-server': specifier: ^20.2.2 - version: 20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) + version: 20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@angular/router': specifier: ^20.2.2 - version: 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) + version: 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@angular/ssr': specifier: ^20.2.2 - version: 20.3.3(e1b6fb7a76cc44225a2a22a5286f9942) - '@firebase-ui/angular': + version: 20.3.3(29f6c088f2c72629bcb82378a45b895e) + '@invertase/firebaseui-angular': specifier: workspace:* version: link:../../packages/angular - '@firebase-ui/core': + '@invertase/firebaseui-core': specifier: workspace:* version: link:../../packages/core - '@firebase-ui/styles': + '@invertase/firebaseui-styles': specifier: workspace:* version: link:../../packages/styles - '@firebase-ui/translations': + '@invertase/firebaseui-translations': specifier: workspace:* version: link:../../packages/translations '@tailwindcss/postcss': @@ -268,24 +283,24 @@ importers: specifier: ^3.1.1 version: 3.6.2 typescript: - specifier: ~5.9.2 + specifier: ^5.9.2 version: 5.9.2 vitest: specifier: ^3.2.0 - version: 3.2.4(@types/node@20.19.13)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@25.0.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6) + version: 3.2.4(@types/node@20.19.13)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@25.0.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6) examples/nextjs: dependencies: - '@firebase-ui/core': + '@invertase/firebaseui-core': specifier: workspace:* version: link:../../packages/core - '@firebase-ui/react': + '@invertase/firebaseui-react': specifier: workspace:* version: link:../../packages/react - '@firebase-ui/styles': + '@invertase/firebaseui-styles': specifier: workspace:* version: link:../../packages/styles - '@firebase-ui/translations': + '@invertase/firebaseui-translations': specifier: workspace:* version: link:../../packages/translations firebase: @@ -346,16 +361,16 @@ importers: examples/react: dependencies: - '@firebase-ui/core': + '@invertase/firebaseui-core': specifier: workspace:* version: link:../../packages/core - '@firebase-ui/react': + '@invertase/firebaseui-react': specifier: workspace:* version: link:../../packages/react - '@firebase-ui/styles': + '@invertase/firebaseui-styles': specifier: workspace:* version: link:../../packages/styles - '@firebase-ui/translations': + '@invertase/firebaseui-translations': specifier: workspace:* version: link:../../packages/translations firebase: @@ -410,10 +425,10 @@ importers: packages/angular: dependencies: - '@firebase-ui/core': + '@invertase/firebaseui-core': specifier: workspace:* version: link:../core - '@firebase-ui/styles': + '@invertase/firebaseui-styles': specifier: workspace:* version: link:../styles '@tanstack/angular-form': @@ -446,19 +461,19 @@ importers: version: 20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1) '@angular/fire': specifier: 'catalog:' - version: 20.0.1(c5e1eab461710a9d658b03f984199f2e) + version: 20.0.1(4a96a039b009911f86ef7a0ebd7f5d89) '@angular/forms': specifier: 'catalog:' - version: 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) + version: 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@angular/platform-browser': specifier: 'catalog:' version: 20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)) '@angular/platform-browser-dynamic': specifier: 'catalog:' - version: 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))) + version: 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))) '@angular/router': specifier: 'catalog:' - version: 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) + version: 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@testing-library/angular': specifier: ^18.1.0 version: 18.1.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/router@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2))(@testing-library/dom@10.4.1) @@ -513,7 +528,7 @@ importers: packages/core: dependencies: - '@firebase-ui/translations': + '@invertase/firebaseui-translations': specifier: workspace:* version: link:../translations libphonenumber-js: @@ -559,10 +574,10 @@ importers: packages/react: dependencies: - '@firebase-ui/core': + '@invertase/firebaseui-core': specifier: workspace:* version: link:../core - '@firebase-ui/styles': + '@invertase/firebaseui-styles': specifier: workspace:* version: link:../styles '@nanostores/react': @@ -584,7 +599,7 @@ importers: specifier: 'catalog:' version: 4.1.11 devDependencies: - '@firebase-ui/translations': + '@invertase/firebaseui-translations': specifier: workspace:* version: link:../translations '@testing-library/jest-dom': @@ -4071,6 +4086,35 @@ packages: '@vitest/utils@3.2.4': resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==} + '@volar/language-core@2.4.23': + resolution: {integrity: sha512-hEEd5ET/oSmBC6pi1j6NaNYRWoAiDhINbT8rmwtINugR39loROSlufGdYMF9TaKGfz+ViGs1Idi3mAhnuPcoGQ==} + + '@volar/source-map@2.4.23': + resolution: {integrity: sha512-Z1Uc8IB57Lm6k7q6KIDu/p+JWtf3xsXJqAX/5r18hYOTpJyBn0KXUR8oTJ4WFYOcDzWC9n3IflGgHowx6U6z9Q==} + + '@volar/typescript@2.4.23': + resolution: {integrity: sha512-lAB5zJghWxVPqfcStmAP1ZqQacMpe90UrP5RJ3arDyrhy4aCUQqmxPPLB2PWDKugvylmO41ljK7vZ+t6INMTag==} + + '@vue/compiler-core@3.5.22': + resolution: {integrity: sha512-jQ0pFPmZwTEiRNSb+i9Ow/I/cHv2tXYqsnHKKyCQ08irI2kdF5qmYedmF8si8mA7zepUFmJ2hqzS8CQmNOWOkQ==} + + '@vue/compiler-dom@3.5.22': + resolution: {integrity: sha512-W8RknzUM1BLkypvdz10OVsGxnMAuSIZs9Wdx1vzA3mL5fNMN15rhrSCLiTm6blWeACwUwizzPVqGJgOGBEN/hA==} + + '@vue/compiler-vue2@2.7.16': + resolution: {integrity: sha512-qYC3Psj9S/mfu9uVi5WvNZIzq+xnXMhOwbTFKKDD7b1lhpnn71jXSFdTQ+WsIEk0ONCd7VV2IMm7ONl6tbQ86A==} + + '@vue/language-core@2.2.0': + resolution: {integrity: sha512-O1ZZFaaBGkKbsRfnVH1ifOK1/1BUkyK+3SQsfnh6PmMmD4qJcTU8godCeA96jjDRTL6zgnK7YzCHfaUlH2r0Mw==} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@vue/shared@3.5.22': + resolution: {integrity: sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==} + '@webassemblyjs/ast@1.14.1': resolution: {integrity: sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==} @@ -4210,6 +4254,9 @@ packages: resolution: {integrity: sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg==} engines: {node: '>= 14.0.0'} + alien-signals@0.4.14: + resolution: {integrity: sha512-itUAVzhczTmP2U5yX67xVpsbbOiquusbWVyA9N+sy6+r6YVbFkahXvNCeEPWEOMhwDYwbVbGHFkVL03N9I5g+Q==} + angular-eslint@20.3.0: resolution: {integrity: sha512-MvmeFuPmJHRmfL1A9IMtZJEYaU6sF++saJgpsU7aOD6YDZCGJ0J6HxlJ/q7YRbWYuI1q+gF/qALxdnuwHYadSg==} peerDependencies: @@ -4642,6 +4689,9 @@ packages: common-path-prefix@3.0.0: resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + compare-versions@6.1.1: + resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} + compressible@2.0.18: resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} engines: {node: '>= 0.6'} @@ -4656,6 +4706,9 @@ packages: confbox@0.1.8: resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==} + confbox@0.2.2: + resolution: {integrity: sha512-1NB+BKqhtNipMsov4xI/NnhCKp9XG9NamYp5PVm9klAT0fsrNPjaFICsCFhNhwZJKNh7zB/3q8qXz0E9oaMNtQ==} + connect-history-api-fallback@2.0.0: resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} engines: {node: '>=0.8'} @@ -4817,6 +4870,9 @@ packages: resolution: {integrity: sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==} engines: {node: '>=4.0'} + de-indent@1.0.2: + resolution: {integrity: sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==} + debug@2.6.9: resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: @@ -5337,6 +5393,9 @@ packages: resolution: {integrity: sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==} engines: {node: '>= 18'} + exsolve@1.0.7: + resolution: {integrity: sha512-VO5fQUzZtI6C+vx4w/4BWJpg3s/5l+6pRQEHzFRM8WFi4XffSP1Z+4qi7GbjWbvRQEbdIco5mIMq+zX4rPuLrw==} + extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -5585,6 +5644,9 @@ packages: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} engines: {node: '>= 0.4'} + globrex@0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + gopd@1.2.0: resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==} engines: {node: '>= 0.4'} @@ -5630,6 +5692,10 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + hosted-git-info@8.1.0: resolution: {integrity: sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==} engines: {node: ^18.17.0 || >=20.5.0} @@ -6306,6 +6372,9 @@ packages: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} + kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + language-subtag-registry@0.3.23: resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} @@ -6453,6 +6522,10 @@ packages: resolution: {integrity: sha512-FMJTLMXfCLMLfJxcX9PFqX5qD88Z5MRGaZCVzfuqeZSPsyiBzs+pahDQjbIWz2QIzPZz0NX9Zy4FX3lmK6YHIg==} engines: {node: '>= 12.13.0'} + local-pkg@1.1.2: + resolution: {integrity: sha512-arhlxbFRmoQHl33a0Zkle/YWlmNwoyt6QNZEIJcqNbdrsix5Lvc4HyyI3EnwxTYlZYc32EbYrQ8SzEZ7dqgg9A==} + engines: {node: '>=14'} + locate-path@5.0.0: resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} engines: {node: '>=8'} @@ -6729,6 +6802,9 @@ packages: msgpackr@1.11.5: resolution: {integrity: sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==} + muggle-string@0.4.1: + resolution: {integrity: sha512-VNTrAak/KhO2i8dqqnqnAHOa3cYBwXEZe9h+D5h/1ZqFSTEFHdM65lR7RoIqq3tBBYavsOXV84NoHXZ0AkPyqQ==} + multicast-dns@7.2.5: resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} hasBin: true @@ -7039,6 +7115,9 @@ packages: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} + path-browserify@1.0.1: + resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -7117,6 +7196,9 @@ packages: pkg-types@1.3.1: resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==} + pkg-types@2.3.0: + resolution: {integrity: sha512-SIqCzDRg0s9npO5XQ3tNZioRY1uK06lA41ynBC1YmFTmnY6FjUjVt6s4LoADmwoig1qqD0oK8h1p/8mlMx8Oig==} + possible-typed-array-names@1.1.0: resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} engines: {node: '>= 0.4'} @@ -7265,6 +7347,9 @@ packages: resolution: {integrity: sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==} engines: {node: '>=0.6'} + quansync@0.2.11: + resolution: {integrity: sha512-AifT7QEbW9Nri4tAwR5M/uzpBuqfZf+zwaEM/QkzEjj7NBuFD2rBuy0K3dE+8wltbezDV7JMA0WfnCPYRSYbXA==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -8134,6 +8219,16 @@ packages: '@swc/wasm': optional: true + tsconfck@3.1.6: + resolution: {integrity: sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==} + engines: {node: ^18 || >=20} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} @@ -8337,11 +8432,68 @@ packages: engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true + vite-plugin-dts@4.5.4: + resolution: {integrity: sha512-d4sOM8M/8z7vRXHHq/ebbblfaxENjogAAekcfcDCCwAyvGqnPrc7f4NZbvItS+g4WTgerW0xDwSz5qz11JT3vg==} + peerDependencies: + typescript: '*' + vite: '*' + peerDependenciesMeta: + vite: + optional: true + vite-plugin-svgr@4.5.0: resolution: {integrity: sha512-W+uoSpmVkSmNOGPSsDCWVW/DDAyv+9fap9AZXBvWiQqrboJ08j2vh0tFxTD/LjwqwAd3yYSVJgm54S/1GhbdnA==} peerDependencies: vite: '>=2.6.0' + vite-tsconfig-paths@5.1.4: + resolution: {integrity: sha512-cYj0LRuLV2c2sMqhqhGpaO3LretdtMn/BVX4cPLanIZuwwrkVl+lK84E/miEXkCHWXuq65rhNN4rXsBcOB3S4w==} + peerDependencies: + vite: '*' + peerDependenciesMeta: + vite: + optional: true + + vite@6.4.1: + resolution: {integrity: sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==} + engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 + jiti: '>=1.21.0' + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + jiti: + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + vite@7.1.2: resolution: {integrity: sha512-J0SQBPlQiEXAF7tajiH+rUooJPo0l8KQgyg4/aMunNtrOa7bwuZJsJbDWzeljqQpgftxuq5yNJxQ91O9ts29UQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -8454,6 +8606,9 @@ packages: resolution: {integrity: sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==} engines: {node: '>=0.10.0'} + vscode-uri@3.1.0: + resolution: {integrity: sha512-/BpdSx+yCQGnCvecbyXdxHDkuk55/G3xwnC0GqY4gmQ3j+A+g8kzzgB4Nk/SINjqn6+waqw3EgbVF2QKExkRxQ==} + w3c-xmlserializer@5.0.0: resolution: {integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==} engines: {node: '>=18'} @@ -8830,7 +8985,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2003.0(chokidar@4.0.3) - '@angular-devkit/build-webpack': 0.2003.0(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2))(webpack@5.101.2(esbuild@0.25.9)) + '@angular-devkit/build-webpack': 0.2003.0(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)))(webpack@5.101.2(esbuild@0.25.9)) '@angular-devkit/core': 20.3.0(chokidar@4.0.3) '@angular/build': 20.3.0(7cea7b9ecf0fc15a9ab81baa4e9c91b4) '@angular/compiler-cli': 20.3.0(@angular/compiler@20.3.0)(typescript@5.9.2) @@ -8880,15 +9035,15 @@ snapshots: tslib: 2.8.1 typescript: 5.9.2 webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-middleware: 7.4.2(webpack@5.101.2) - webpack-dev-server: 5.2.2(webpack@5.101.2) + webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) + webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) webpack-merge: 6.0.1 webpack-subresource-integrity: 5.1.0(webpack@5.101.2(esbuild@0.25.9)) optionalDependencies: '@angular/core': 20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1) '@angular/platform-browser': 20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)) - '@angular/platform-server': 20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) - '@angular/ssr': 20.3.3(e1b6fb7a76cc44225a2a22a5286f9942) + '@angular/platform-server': 20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) + '@angular/ssr': 20.3.3(29f6c088f2c72629bcb82378a45b895e) esbuild: 0.25.9 karma: 6.4.4 ng-packagr: 20.3.0(@angular/compiler-cli@20.3.0(@angular/compiler@20.3.0)(typescript@5.9.2))(tailwindcss@4.1.13)(tslib@2.8.1)(typescript@5.9.2) @@ -8920,7 +9075,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2003.0(chokidar@4.0.3) - '@angular-devkit/build-webpack': 0.2003.0(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2))(webpack@5.101.2(esbuild@0.25.9)) + '@angular-devkit/build-webpack': 0.2003.0(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)))(webpack@5.101.2(esbuild@0.25.9)) '@angular-devkit/core': 20.3.0(chokidar@4.0.3) '@angular/build': 20.3.0(15eb6c1b4e71b5880299046ca8a32ff6) '@angular/compiler-cli': 20.3.0(@angular/compiler@20.3.0)(typescript@5.9.2) @@ -8970,15 +9125,15 @@ snapshots: tslib: 2.8.1 typescript: 5.9.2 webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-middleware: 7.4.2(webpack@5.101.2) - webpack-dev-server: 5.2.2(webpack@5.101.2) + webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) + webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) webpack-merge: 6.0.1 webpack-subresource-integrity: 5.1.0(webpack@5.101.2(esbuild@0.25.9)) optionalDependencies: '@angular/core': 20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1) '@angular/platform-browser': 20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)) - '@angular/platform-server': 20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) - '@angular/ssr': 20.3.3(e1b6fb7a76cc44225a2a22a5286f9942) + '@angular/platform-server': 20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) + '@angular/ssr': 20.3.3(29f6c088f2c72629bcb82378a45b895e) esbuild: 0.25.9 jest: 30.2.0(@types/node@24.3.1)(ts-node@10.9.2(@types/node@24.3.1)(typescript@5.9.2)) jest-environment-jsdom: 30.2.0 @@ -9008,12 +9163,12 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2003.0(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2))(webpack@5.101.2(esbuild@0.25.9))': + '@angular-devkit/build-webpack@0.2003.0(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)))(webpack@5.101.2(esbuild@0.25.9))': dependencies: '@angular-devkit/architect': 0.2003.0(chokidar@4.0.3) rxjs: 7.8.2 webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-server: 5.2.2(webpack@5.101.2) + webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) transitivePeerDependencies: - chokidar @@ -9141,15 +9296,15 @@ snapshots: optionalDependencies: '@angular/core': 20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1) '@angular/platform-browser': 20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)) - '@angular/platform-server': 20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) - '@angular/ssr': 20.3.3(e1b6fb7a76cc44225a2a22a5286f9942) + '@angular/platform-server': 20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) + '@angular/ssr': 20.3.3(29f6c088f2c72629bcb82378a45b895e) karma: 6.4.4 less: 4.4.0 lmdb: 3.4.2 ng-packagr: 20.3.0(@angular/compiler-cli@20.3.0(@angular/compiler@20.3.0)(typescript@5.9.2))(tailwindcss@4.1.14)(tslib@2.8.1)(typescript@5.9.2) postcss: 8.5.6 tailwindcss: 4.1.14 - vitest: 3.2.4(@types/node@24.3.1)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@25.0.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6) + vitest: 3.2.4(@types/node@24.3.1)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@25.0.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6) transitivePeerDependencies: - '@types/node' - chokidar @@ -9198,15 +9353,15 @@ snapshots: optionalDependencies: '@angular/core': 20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1) '@angular/platform-browser': 20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)) - '@angular/platform-server': 20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) - '@angular/ssr': 20.3.3(e1b6fb7a76cc44225a2a22a5286f9942) + '@angular/platform-server': 20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) + '@angular/ssr': 20.3.3(29f6c088f2c72629bcb82378a45b895e) karma: 6.4.4 less: 4.4.0 lmdb: 3.4.2 ng-packagr: 20.3.0(@angular/compiler-cli@20.3.0(@angular/compiler@20.3.0)(typescript@5.9.2))(tailwindcss@4.1.13)(tslib@2.8.1)(typescript@5.9.2) postcss: 8.5.6 tailwindcss: 4.1.13 - vitest: 3.2.4(@types/node@20.19.13)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@25.0.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6) + vitest: 3.2.4(@types/node@20.19.13)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@25.0.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6) transitivePeerDependencies: - '@types/node' - chokidar @@ -9304,25 +9459,25 @@ snapshots: '@angular/compiler': 20.3.0 zone.js: 0.15.1 - '@angular/fire@20.0.1(c5e1eab461710a9d658b03f984199f2e)': + '@angular/fire@20.0.1(4a96a039b009911f86ef7a0ebd7f5d89)': dependencies: '@angular-devkit/schematics': 20.3.0(chokidar@4.0.3) '@angular/common': 20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2) '@angular/core': 20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1) '@angular/platform-browser': 20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)) - '@angular/platform-browser-dynamic': 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))) + '@angular/platform-browser-dynamic': 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))) '@schematics/angular': 20.3.0(chokidar@4.0.3) firebase: 11.10.0 rxfire: 6.1.0(firebase@11.10.0)(rxjs@7.8.2) rxjs: 7.8.2 tslib: 2.8.1 optionalDependencies: - '@angular/platform-server': 20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) + '@angular/platform-server': 20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) transitivePeerDependencies: - '@react-native-async-storage/async-storage' - chokidar - '@angular/forms@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)': + '@angular/forms@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)': dependencies: '@angular/common': 20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2) '@angular/core': 20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1) @@ -9330,7 +9485,7 @@ snapshots: rxjs: 7.8.2 tslib: 2.8.1 - '@angular/platform-browser-dynamic@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))': + '@angular/platform-browser-dynamic@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))': dependencies: '@angular/common': 20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2) '@angular/compiler': 20.3.0 @@ -9346,7 +9501,7 @@ snapshots: optionalDependencies: '@angular/animations': 20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)) - '@angular/platform-server@20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)': + '@angular/platform-server@20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)': dependencies: '@angular/common': 20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2) '@angular/compiler': 20.3.0 @@ -9356,7 +9511,7 @@ snapshots: tslib: 2.8.1 xhr2: 0.2.1 - '@angular/router@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)': + '@angular/router@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2)': dependencies: '@angular/common': 20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2) '@angular/core': 20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1) @@ -9364,14 +9519,14 @@ snapshots: rxjs: 7.8.2 tslib: 2.8.1 - '@angular/ssr@20.3.3(e1b6fb7a76cc44225a2a22a5286f9942)': + '@angular/ssr@20.3.3(29f6c088f2c72629bcb82378a45b895e)': dependencies: '@angular/common': 20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2) '@angular/core': 20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1) - '@angular/router': 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) + '@angular/router': 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) tslib: 2.8.1 optionalDependencies: - '@angular/platform-server': 20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) + '@angular/platform-server': 20.3.2(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@asamuzakjp/css-color@3.2.0': dependencies: @@ -11371,7 +11526,6 @@ snapshots: '@rushstack/node-core-library': 5.14.0(@types/node@24.3.1) transitivePeerDependencies: - '@types/node' - optional: true '@microsoft/api-extractor@7.52.12(@types/node@24.3.1)': dependencies: @@ -11390,7 +11544,6 @@ snapshots: typescript: 5.8.2 transitivePeerDependencies: - '@types/node' - optional: true '@microsoft/tsdoc-config@0.17.1': dependencies: @@ -11398,10 +11551,8 @@ snapshots: ajv: 8.12.0 jju: 1.4.0 resolve: 1.22.10 - optional: true - '@microsoft/tsdoc@0.15.1': - optional: true + '@microsoft/tsdoc@0.15.1': {} '@modelcontextprotocol/sdk@1.17.3': dependencies: @@ -11893,13 +12044,11 @@ snapshots: semver: 7.5.4 optionalDependencies: '@types/node': 24.3.1 - optional: true '@rushstack/rig-package@0.5.3': dependencies: resolve: 1.22.10 strip-json-comments: 3.1.1 - optional: true '@rushstack/terminal@0.16.0(@types/node@24.3.1)': dependencies: @@ -11907,7 +12056,6 @@ snapshots: supports-color: 8.1.1 optionalDependencies: '@types/node': 24.3.1 - optional: true '@rushstack/ts-command-line@5.0.3(@types/node@24.3.1)': dependencies: @@ -11917,7 +12065,6 @@ snapshots: string-argv: 0.3.2 transitivePeerDependencies: - '@types/node' - optional: true '@schematics/angular@20.3.0(chokidar@4.0.3)': dependencies: @@ -12264,7 +12411,7 @@ snapshots: '@angular/common': 20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2) '@angular/core': 20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1) '@angular/platform-browser': 20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)) - '@angular/router': 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) + '@angular/router': 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(rxjs@7.8.2) '@testing-library/dom': 10.4.1 tslib: 2.8.1 @@ -12327,8 +12474,7 @@ snapshots: tslib: 2.8.1 optional: true - '@types/argparse@1.0.38': - optional: true + '@types/argparse@1.0.38': {} '@types/aria-query@5.0.4': {} @@ -12784,7 +12930,7 @@ snapshots: std-env: 3.9.0 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/node@20.19.13)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@25.0.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6) + vitest: 3.2.4(@types/node@20.19.13)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@25.0.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6) transitivePeerDependencies: - supports-color @@ -12796,21 +12942,13 @@ snapshots: chai: 5.3.3 tinyrainbow: 2.0.0 - '@vitest/mocker@3.2.4(vite@7.1.5(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6))': - dependencies: - '@vitest/spy': 3.2.4 - estree-walker: 3.0.3 - magic-string: 0.30.19 - optionalDependencies: - vite: 7.1.5(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6) - - '@vitest/mocker@3.2.4(vite@7.1.5(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6))': + '@vitest/mocker@3.2.4(vite@7.1.5(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.19 optionalDependencies: - vite: 7.1.5(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6) + vite: 7.1.5(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6) '@vitest/mocker@3.2.4(vite@7.1.5(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6))': dependencies: @@ -12849,7 +12987,7 @@ snapshots: sirv: 3.0.2 tinyglobby: 0.2.15 tinyrainbow: 2.0.0 - vitest: 3.2.4(@types/node@24.3.1)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@25.0.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6) + vitest: 3.2.4(@types/node@20.19.13)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@25.0.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6) '@vitest/utils@3.2.4': dependencies: @@ -12857,6 +12995,51 @@ snapshots: loupe: 3.2.1 tinyrainbow: 2.0.0 + '@volar/language-core@2.4.23': + dependencies: + '@volar/source-map': 2.4.23 + + '@volar/source-map@2.4.23': {} + + '@volar/typescript@2.4.23': + dependencies: + '@volar/language-core': 2.4.23 + path-browserify: 1.0.1 + vscode-uri: 3.1.0 + + '@vue/compiler-core@3.5.22': + dependencies: + '@babel/parser': 7.28.4 + '@vue/shared': 3.5.22 + entities: 4.5.0 + estree-walker: 2.0.2 + source-map-js: 1.2.1 + + '@vue/compiler-dom@3.5.22': + dependencies: + '@vue/compiler-core': 3.5.22 + '@vue/shared': 3.5.22 + + '@vue/compiler-vue2@2.7.16': + dependencies: + de-indent: 1.0.2 + he: 1.2.0 + + '@vue/language-core@2.2.0(typescript@5.9.2)': + dependencies: + '@volar/language-core': 2.4.23 + '@vue/compiler-dom': 3.5.22 + '@vue/compiler-vue2': 2.7.16 + '@vue/shared': 3.5.22 + alien-signals: 0.4.14 + minimatch: 9.0.5 + muggle-string: 0.4.1 + path-browserify: 1.0.1 + optionalDependencies: + typescript: 5.9.2 + + '@vue/shared@3.5.22': {} + '@webassemblyjs/ast@1.14.1': dependencies: '@webassemblyjs/helper-numbers': 1.13.2 @@ -12975,7 +13158,6 @@ snapshots: ajv-draft-04@1.0.0(ajv@8.13.0): optionalDependencies: ajv: 8.13.0 - optional: true ajv-formats@2.1.1(ajv@8.17.1): optionalDependencies: @@ -12984,7 +13166,6 @@ snapshots: ajv-formats@3.0.1(ajv@8.13.0): optionalDependencies: ajv: 8.13.0 - optional: true ajv-formats@3.0.1(ajv@8.17.1): optionalDependencies: @@ -13008,7 +13189,6 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 - optional: true ajv@8.13.0: dependencies: @@ -13016,7 +13196,6 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 - optional: true ajv@8.17.1: dependencies: @@ -13042,6 +13221,8 @@ snapshots: '@algolia/requester-fetch': 5.35.0 '@algolia/requester-node-http': 5.35.0 + alien-signals@0.4.14: {} + angular-eslint@20.3.0(chokidar@4.0.3)(eslint@9.35.0(jiti@2.6.1))(typescript-eslint@8.45.0(eslint@9.35.0(jiti@2.6.1))(typescript@5.9.2))(typescript@5.9.2): dependencies: '@angular-devkit/core': 20.3.0(chokidar@4.0.3) @@ -13562,6 +13743,8 @@ snapshots: common-path-prefix@3.0.0: {} + compare-versions@6.1.1: {} + compressible@2.0.18: dependencies: mime-db: 1.54.0 @@ -13582,6 +13765,8 @@ snapshots: confbox@0.1.8: {} + confbox@0.2.2: {} + connect-history-api-fallback@2.0.0: {} connect@3.7.0: @@ -13741,6 +13926,8 @@ snapshots: date-format@4.0.14: optional: true + de-indent@1.0.2: {} + debug@2.6.9: dependencies: ms: 2.0.0 @@ -14430,6 +14617,8 @@ snapshots: transitivePeerDependencies: - supports-color + exsolve@1.0.7: {} + extend@3.0.2: optional: true @@ -14620,7 +14809,6 @@ snapshots: graceful-fs: 4.2.11 jsonfile: 6.2.0 universalify: 2.0.1 - optional: true fs-extra@8.1.0: dependencies: @@ -14743,6 +14931,8 @@ snapshots: define-properties: 1.2.1 gopd: 1.2.0 + globrex@0.1.2: {} + gopd@1.2.0: {} graceful-fs@4.2.11: {} @@ -14782,6 +14972,8 @@ snapshots: dependencies: function-bind: 1.1.2 + he@1.2.0: {} + hosted-git-info@8.1.0: dependencies: lru-cache: 10.4.3 @@ -14916,8 +15108,7 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 - import-lazy@4.0.0: - optional: true + import-lazy@4.0.0: {} import-local@3.2.0: dependencies: @@ -15394,7 +15585,7 @@ snapshots: '@angular/compiler-cli': 20.3.0(@angular/compiler@20.3.0)(typescript@5.9.2) '@angular/core': 20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1) '@angular/platform-browser': 20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)) - '@angular/platform-browser-dynamic': 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/animations@20.3.2(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))) + '@angular/platform-browser-dynamic': 20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/compiler@20.3.0)(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/platform-browser@20.3.0(@angular/common@20.3.0(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.0(@angular/compiler@20.3.0)(rxjs@7.8.2)(zone.js@0.15.1))) '@jest/environment-jsdom-abstract': 30.2.0(jsdom@25.0.1) bs-logger: 0.2.6 esbuild-wasm: 0.25.9 @@ -15575,8 +15766,7 @@ snapshots: jiti@2.6.1: {} - jju@1.4.0: - optional: true + jju@1.4.0: {} joycon@3.1.1: {} @@ -15682,7 +15872,6 @@ snapshots: universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 - optional: true jsonparse@1.3.1: {} @@ -15736,6 +15925,8 @@ snapshots: kind-of@6.0.3: {} + kolorist@1.8.0: {} + language-subtag-registry@0.3.23: {} language-tags@1.0.9: @@ -15883,6 +16074,12 @@ snapshots: loader-utils@3.3.1: {} + local-pkg@1.1.2: + dependencies: + mlly: 1.8.0 + pkg-types: 2.3.0 + quansync: 0.2.11 + locate-path@5.0.0: dependencies: p-locate: 4.1.0 @@ -15901,8 +16098,7 @@ snapshots: lodash.sortby@4.7.0: {} - lodash@4.17.21: - optional: true + lodash@4.17.21: {} log-symbols@6.0.0: dependencies: @@ -15951,7 +16147,6 @@ snapshots: lru-cache@6.0.0: dependencies: yallist: 4.0.0 - optional: true lz-string@1.5.0: {} @@ -16162,6 +16357,8 @@ snapshots: msgpackr-extract: 3.0.3 optional: true + muggle-string@0.4.1: {} + multicast-dns@7.2.5: dependencies: dns-packet: 5.6.1 @@ -16575,6 +16772,8 @@ snapshots: parseurl@1.3.3: {} + path-browserify@1.0.1: {} + path-exists@4.0.0: {} path-is-absolute@1.0.1: {} @@ -16634,6 +16833,12 @@ snapshots: mlly: 1.8.0 pathe: 2.0.3 + pkg-types@2.3.0: + dependencies: + confbox: 0.2.2 + exsolve: 1.0.7 + pathe: 2.0.3 + possible-typed-array-names@1.1.0: {} postcss-load-config@6.0.1(jiti@2.6.1)(postcss@8.5.6)(tsx@4.20.6): @@ -16775,6 +16980,8 @@ snapshots: dependencies: side-channel: 1.1.0 + quansync@0.2.11: {} + queue-microtask@1.2.3: {} randombytes@2.1.0: @@ -17123,7 +17330,6 @@ snapshots: semver@7.5.4: dependencies: lru-cache: 6.0.0 - optional: true semver@7.7.2: {} @@ -17494,8 +17700,7 @@ snapshots: streamsearch@1.1.0: {} - string-argv@0.3.2: - optional: true + string-argv@0.3.2: {} string-length@4.0.2: dependencies: @@ -17815,6 +18020,10 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + tsconfck@3.1.6(typescript@5.9.2): + optionalDependencies: + typescript: 5.9.2 + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -17935,8 +18144,7 @@ snapshots: transitivePeerDependencies: - supports-color - typescript@5.8.2: - optional: true + typescript@5.8.2: {} typescript@5.9.2: {} @@ -17981,8 +18189,7 @@ snapshots: universalify@0.1.2: optional: true - universalify@2.0.1: - optional: true + universalify@2.0.1: {} unpipe@1.0.0: {} @@ -18047,13 +18254,13 @@ snapshots: vary@1.1.2: {} - vite-node@3.2.4(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6): + vite-node@3.2.4(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.1.5(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6) + vite: 6.4.1(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6) transitivePeerDependencies: - '@types/node' - jiti @@ -18068,13 +18275,13 @@ snapshots: - tsx - yaml - vite-node@3.2.4(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6): + vite-node@3.2.4(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.1.5(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6) + vite: 6.4.1(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6) transitivePeerDependencies: - '@types/node' - jiti @@ -18089,26 +18296,24 @@ snapshots: - tsx - yaml - vite-node@3.2.4(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6): + vite-plugin-dts@4.5.4(@types/node@24.3.1)(rollup@4.50.1)(typescript@5.9.2)(vite@6.4.1(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6)): dependencies: - cac: 6.7.14 + '@microsoft/api-extractor': 7.52.12(@types/node@24.3.1) + '@rollup/pluginutils': 5.3.0(rollup@4.50.1) + '@volar/typescript': 2.4.23 + '@vue/language-core': 2.2.0(typescript@5.9.2) + compare-versions: 6.1.1 debug: 4.4.1 - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 7.1.5(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6) + kolorist: 1.8.0 + local-pkg: 1.1.2 + magic-string: 0.30.19 + typescript: 5.9.2 + optionalDependencies: + vite: 6.4.1(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6) transitivePeerDependencies: - '@types/node' - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss + - rollup - supports-color - - terser - - tsx - - yaml vite-plugin-svgr@4.5.0(rollup@4.50.1)(typescript@5.9.2)(vite@7.1.5(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6)): dependencies: @@ -18121,7 +18326,18 @@ snapshots: - supports-color - typescript - vite@7.1.2(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6): + vite-tsconfig-paths@5.1.4(typescript@5.9.2)(vite@6.4.1(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6)): + dependencies: + debug: 4.4.1 + globrex: 0.1.2 + tsconfck: 3.1.6(typescript@5.9.2) + optionalDependencies: + vite: 6.4.1(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6) + transitivePeerDependencies: + - supports-color + - typescript + + vite@6.4.1(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6): dependencies: esbuild: 0.25.9 fdir: 6.5.0(picomatch@4.0.3) @@ -18139,7 +18355,7 @@ snapshots: terser: 5.43.1 tsx: 4.20.6 - vite@7.1.2(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6): + vite@6.4.1(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6): dependencies: esbuild: 0.25.9 fdir: 6.5.0(picomatch@4.0.3) @@ -18151,13 +18367,13 @@ snapshots: '@types/node': 24.3.1 fsevents: 2.3.3 jiti: 2.6.1 - less: 4.4.0 + less: 4.4.1 lightningcss: 1.30.1 - sass: 1.90.0 + sass: 1.92.1 terser: 5.43.1 tsx: 4.20.6 - vite@7.1.5(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6): + vite@7.1.2(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6): dependencies: esbuild: 0.25.9 fdir: 6.5.0(picomatch@4.0.3) @@ -18169,13 +18385,13 @@ snapshots: '@types/node': 20.19.13 fsevents: 2.3.3 jiti: 2.6.1 - less: 4.4.1 + less: 4.4.0 lightningcss: 1.30.1 - sass: 1.92.1 + sass: 1.90.0 terser: 5.43.1 tsx: 4.20.6 - vite@7.1.5(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6): + vite@7.1.2(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6): dependencies: esbuild: 0.25.9 fdir: 6.5.0(picomatch@4.0.3) @@ -18193,6 +18409,24 @@ snapshots: terser: 5.43.1 tsx: 4.20.6 + vite@7.1.5(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6): + dependencies: + esbuild: 0.25.9 + fdir: 6.5.0(picomatch@4.0.3) + picomatch: 4.0.3 + postcss: 8.5.6 + rollup: 4.50.1 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 20.19.13 + fsevents: 2.3.3 + jiti: 2.6.1 + less: 4.4.0 + lightningcss: 1.30.1 + sass: 1.90.0 + terser: 5.43.1 + tsx: 4.20.6 + vite@7.1.5(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6): dependencies: esbuild: 0.25.9 @@ -18211,11 +18445,11 @@ snapshots: terser: 5.43.1 tsx: 4.20.6 - vitest@3.2.4(@types/node@20.19.13)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@25.0.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6): + vitest@3.2.4(@types/node@20.19.13)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@25.0.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.1.5(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6)) + '@vitest/mocker': 3.2.4(vite@7.1.5(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -18233,8 +18467,8 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.1.5(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6) - vite-node: 3.2.4(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6) + vite: 7.1.5(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6) + vite-node: 3.2.4(@types/node@20.19.13)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 20.19.13 @@ -18254,11 +18488,11 @@ snapshots: - tsx - yaml - vitest@3.2.4(@types/node@24.3.1)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@25.0.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6): + vitest@3.2.4(@types/node@24.3.1)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@25.0.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.1.5(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6)) + '@vitest/mocker': 3.2.4(vite@7.1.5(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -18276,8 +18510,8 @@ snapshots: tinyglobby: 0.2.15 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.1.5(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6) - vite-node: 3.2.4(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.0)(lightningcss@1.30.1)(sass@1.90.0)(terser@5.43.1)(tsx@4.20.6) + vite: 7.1.5(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6) + vite-node: 3.2.4(@types/node@24.3.1)(jiti@2.6.1)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6) why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 24.3.1 @@ -18296,6 +18530,7 @@ snapshots: - terser - tsx - yaml + optional: true vitest@3.2.4(@types/node@24.3.1)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(less@4.4.1)(lightningcss@1.30.1)(sass@1.92.1)(terser@5.43.1)(tsx@4.20.6): dependencies: @@ -18343,6 +18578,8 @@ snapshots: void-elements@2.0.1: optional: true + vscode-uri@3.1.0: {} + w3c-xmlserializer@5.0.0: dependencies: xml-name-validator: 5.0.0 @@ -18369,7 +18606,7 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@7.4.2(webpack@5.101.2): + webpack-dev-middleware@7.4.2(webpack@5.101.2(esbuild@0.25.9)): dependencies: colorette: 2.0.20 memfs: 4.39.0 @@ -18380,7 +18617,7 @@ snapshots: optionalDependencies: webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-server@5.2.2(webpack@5.101.2): + webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -18408,7 +18645,7 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.101.2) + webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) ws: 8.18.3 optionalDependencies: webpack: 5.101.2(esbuild@0.25.9) From 83facc8fb108ac6e951237994f2ec88d099b4f2c Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 28 Oct 2025 15:29:37 +0000 Subject: [PATCH 23/56] chore(*): Added release scripts, version bumps --- examples/angular/package.json | 8 ++++---- examples/nextjs/package.json | 8 ++++---- examples/react/package.json | 8 ++++---- package.json | 24 ++++++++++++------------ packages/angular/package.json | 2 +- packages/core/package.json | 2 +- packages/react/package.json | 2 +- packages/styles/dist.css | 2 +- packages/styles/package.json | 2 +- packages/translations/package.json | 2 +- 10 files changed, 30 insertions(+), 30 deletions(-) diff --git a/examples/angular/package.json b/examples/angular/package.json index 72edd19e..92cb566e 100644 --- a/examples/angular/package.json +++ b/examples/angular/package.json @@ -31,10 +31,10 @@ "@angular/platform-server": "^20.2.2", "@angular/router": "^20.2.2", "@angular/ssr": "^20.2.2", - "@invertase/firebaseui-angular": "^0.0.3", - "@invertase/firebaseui-core": "^0.0.1", - "@invertase/firebaseui-styles": "^0.0.1", - "@invertase/firebaseui-translations": "^0.0.1", + "@invertase/firebaseui-angular": "0.0.3", + "@invertase/firebaseui-core": "0.0.4", + "@invertase/firebaseui-styles": "0.0.3", + "@invertase/firebaseui-translations": "0.0.4", "@tailwindcss/postcss": "^4.0.6", "express": "^4.18.2", "postcss": "^8.5.2", diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json index 53a725c1..633b2d1a 100644 --- a/examples/nextjs/package.json +++ b/examples/nextjs/package.json @@ -12,10 +12,10 @@ "format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,css,md}\"" }, "dependencies": { - "@invertase/firebaseui-react": "^0.0.1", - "@invertase/firebaseui-core": "^0.0.1", - "@invertase/firebaseui-styles": "^0.0.1", - "@invertase/firebaseui-translations": "^0.0.1", + "@invertase/firebaseui-react": "0.0.3", + "@invertase/firebaseui-core": "0.0.3", + "@invertase/firebaseui-styles": "0.0.3", + "@invertase/firebaseui-translations": "0.0.4", "firebase": "^11.3.1", "next": "15.1.7", "react": "^19.0.0", diff --git a/examples/react/package.json b/examples/react/package.json index 804206f9..a4e02f38 100644 --- a/examples/react/package.json +++ b/examples/react/package.json @@ -10,10 +10,10 @@ "preview": "vite preview" }, "dependencies": { - "@invertase/firebaseui-react": "^0.0.1", - "@invertase/firebaseui-core": "^0.0.1", - "@invertase/firebaseui-styles": "^0.0.1", - "@invertase/firebaseui-translations": "^0.0.1", + "@invertase/firebaseui-react": "0.0.3", + "@invertase/firebaseui-core": "0.0.3", + "@invertase/firebaseui-styles": "0.0.3", + "@invertase/firebaseui-translations": "0.0.4", "firebase": "^11.6.0", "react": "catalog:", "react-dom": "catalog:", diff --git a/package.json b/package.json index 0af8ce46..1fca2366 100644 --- a/package.json +++ b/package.json @@ -33,20 +33,20 @@ "publish:tags:angular": "pnpm --filter=@invertase/firebaseui-angular run publish:tags", "publish:tags:styles": "pnpm --filter=@invertase/firebaseui-styles run publish:tags", "publish:tags:all": "pnpm i && pnpm run publish:tags:core && pnpm run publish:tags:translations && pnpm run publish:tags:react && pnpm run publish:tags:styles && pnpm run publish:tags:angular", - "release:core": "pnpm --filter=@invertase/firebaseui-core run release", - "release:translations": "pnpm --filter=@invertase/firebaseui-translations run release", - "release:react": "pnpm --filter=@invertase/firebaseui-react run release", - "release:angular": "pnpm --filter=@invertase/firebaseui-angular run release", - "release:styles": "pnpm --filter=@invertase/firebaseui-styles run release", - "release:all": "pnpm i && pnpm run release:core && pnpm run release:translations && pnpm run release:react && pnpm run release:styles && pnpm run release:angular", "build:all": "pnpm run build:translations && pnpm run build:core && pnpm run build:styles && pnpm run build:react && pnpm run build:angular", "build:styles": "pnpm --filter=@invertase/firebaseui-styles run build", - "publish:npm:translations": "cd packages/translations && npm publish --access public", - "publish:npm:core": "cd packages/core && npm publish --access public", - "publish:npm:styles": "cd packages/styles && npm publish --access public", - "publish:npm:react": "cd packages/react && npm publish --access public", - "publish:npm:angular": "cd packages/angular && npm publish --access public", - "publish:all:npm": "pnpm run build:all && pnpm run publish:npm:translations && pnpm run publish:npm:core && pnpm run publish:npm:styles && pnpm run publish:npm:react && pnpm run publish:npm:angular" + "publish:npm:translations": "cd packages/translations && pnpm publish --access public --no-git-checks", + "publish:npm:core": "cd packages/core && pnpm publish --access public --no-git-checks", + "publish:npm:styles": "cd packages/styles && pnpm publish --access public --no-git-checks", + "publish:npm:react": "cd packages/react && pnpm publish --access public --no-git-checks", + "publish:npm:angular": "cd packages/angular && pnpm publish --access public --no-git-checks", + "publish:all:npm": "pnpm run build:all && pnpm run publish:npm:translations && pnpm run publish:npm:core && pnpm run publish:npm:styles && pnpm run publish:npm:react && pnpm run publish:npm:angular", + "release:version:translations": "cd packages/translations && npm version patch", + "release:version:core": "cd packages/core && npm version patch", + "release:version:styles": "cd packages/styles && npm version patch", + "release:version:react": "cd packages/react && npm version patch", + "release:version:angular": "cd packages/angular && npm version patch", + "release:all": "pnpm run release:version:translations && pnpm run release:version:core && pnpm run release:version:styles && pnpm run release:version:react && pnpm run release:version:angular && pnpm run publish:all:npm" }, "devDependencies": { "rimraf": "^6.0.1", diff --git a/packages/angular/package.json b/packages/angular/package.json index 86062267..27889b93 100644 --- a/packages/angular/package.json +++ b/packages/angular/package.json @@ -1,6 +1,6 @@ { "name": "@invertase/firebaseui-angular", - "version": "0.0.1", + "version": "0.0.3", "files": [ "dist" ], diff --git a/packages/core/package.json b/packages/core/package.json index 16373eb2..405d3ebb 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@invertase/firebaseui-core", - "version": "0.0.1", + "version": "0.0.3", "description": "Core authentication service for Firebase UI", "type": "module", "main": "./dist/index.cjs", diff --git a/packages/react/package.json b/packages/react/package.json index 63f650e9..575f563b 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@invertase/firebaseui-react", - "version": "0.0.1", + "version": "0.0.3", "type": "module", "main": "./dist/index.cjs", "module": "./dist/index.js", diff --git a/packages/styles/dist.css b/packages/styles/dist.css index db40b3a7..c5b8ecff 100644 --- a/packages/styles/dist.css +++ b/packages/styles/dist.css @@ -1,2 +1,2 @@ -/*! tailwindcss v4.1.15 | MIT License | https://tailwindcss.com */ +/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--color-red-500:oklch(63.7% .237 25.331);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--radius:var(--fui-radius);--color-primary:var(--fui-primary);--color-primary-hover:var(--fui-primary-hover);--color-primary-surface:var(--fui-primary-surface);--color-text:var(--fui-text);--color-text-muted:var(--fui-text-muted);--color-background:var(--fui-background);--color-border:var(--fui-border);--color-input:var(--fui-input);--color-error:var(--fui-error);--radius-card:var(--fui-radius-card)}:root{--fui-primary:var(--color-black);--fui-primary-hover:var(--fui-primary)}@supports (color:color-mix(in lab, red, red)){:root{--fui-primary-hover:color-mix(in oklab,var(--fui-primary)85%,transparent)}}:root{--fui-primary-surface:var(--color-white);--fui-text:var(--color-black);--fui-text-muted:var(--color-gray-800);--fui-background:var(--color-white);--fui-border:var(--color-gray-200);--fui-input:var(--color-gray-300);--fui-error:var(--color-red-500);--fui-radius:var(--radius-sm);--fui-radius-card:var(--radius-xl)}@media (prefers-color-scheme:dark){:root{--fui-primary:var(--color-white);--fui-primary-hover:var(--fui-primary)}@supports (color:color-mix(in lab, red, red)){:root{--fui-primary-hover:color-mix(in oklab,var(--fui-primary)85%,transparent)}}:root{--fui-primary-surface:var(--color-black);--fui-text:var(--color-white);--fui-text-muted:var(--color-gray-200);--fui-background:var(--color-black);--fui-border:var(--color-gray-200);--fui-input:var(--color-gray-300);--fui-error:var(--color-red-500);--fui-radius:var(--radius-sm);--fui-radius-card:var(--radius-xl)}}}@layer components{:where(.fui-screen){max-width:var(--container-md);padding-top:calc(var(--spacing)*24);margin-inline:auto}:where(:where(.fui-screen .fui-screen__children)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(:where(.fui-card)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-card){border-radius:var(--radius-card);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-background);padding:calc(var(--spacing)*10)}:where(:where(.fui-card__header)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-card__header){text-align:center}:where(.fui-card__title){font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-text)}:where(.fui-card__subtitle){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-muted)}:where(:where(.fui-form)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-form fieldset),:where(.fui-form fieldset label){gap:calc(var(--spacing)*2);color:var(--color-text);flex-direction:column;display:flex}:where(.fui-form fieldset label span){gap:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);display:inline-flex}:where(.fui-form .fui-form__action){padding-inline:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}@media (hover:hover){:where(.fui-form .fui-form__action):hover{text-decoration-line:underline}}:where(.fui-form fieldset label input){border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);width:100%;padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}:where(.fui-form fieldset label input):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-form fieldset label input[aria-invalid=true]){border-color:var(--color-error);outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-form fieldset label div[data-input-group]){align-items:center;gap:calc(var(--spacing)*2);display:flex}:where(.fui-form .fui-form__error){text-align:left;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-error)}:where(.fui-success){text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}:where(.fui-button){justify-content:center;align-items:center;gap:calc(var(--spacing)*3);border-radius:var(--radius);background-color:var(--color-primary);width:100%;padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-primary-surface);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media (hover:hover){:where(.fui-button):hover{cursor:pointer;background-color:var(--color-primary-hover)}}:where(.fui-button):disabled{cursor:not-allowed;opacity:.5}:where(.fui-button--secondary){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);color:var(--color-text);background-color:#0000}@media (hover:hover){:where(.fui-button--secondary):hover{border-color:var(--color-primary);background-color:var(--color-background)}}:where(.fui-button.fui-provider__button){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border)}:where(.fui-provider__button>svg,.fui-provider__button>img){height:calc(var(--spacing)*5);width:calc(var(--spacing)*5)}:where(.fui-divider){margin-block:calc(var(--spacing)*4);align-items:center;gap:calc(var(--spacing)*3);display:flex}:where(.fui-divider__line){background-color:var(--color-border);flex:1;height:1px}:where(.fui-divider__text){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}:where(.fui-phone-input){align-items:center;gap:calc(var(--spacing)*2);display:flex}:where(.fui-phone-input__number-input){border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000;flex:1}:where(.fui-phone-input__number-input):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-phone-input__number-input[aria-invalid=true]){outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-country-selector){width:120px;display:inline-block;position:relative}:where(.fui-country-selector__wrapper){border-radius:var(--radius);outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--color-input);background-color:#0000;align-items:center;display:flex;position:relative;overflow:hidden}:where(.fui-country-selector__flag){pointer-events:none;left:calc(var(--spacing)*2);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));position:absolute}:where(.fui-country-selector select){cursor:pointer;appearance:none;width:100%;padding-block:calc(var(--spacing)*2);padding-right:calc(var(--spacing)*2);padding-left:calc(var(--spacing)*8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#0000;--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}:where(.fui-country-selector select):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-country-selector__dial-code){pointer-events:none;top:50%;left:calc(var(--spacing)*8);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text);position:absolute}:where(.fui-form fieldset label div[data-input-group]:has(input[aria-invalid=true]) .fui-country-selector),:where(.fui-form fieldset label div[data-input-group]:has(input[aria-invalid=true]) .fui-country-selector .fui-country-selector__wrapper){border-radius:var(--radius);outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-policies){text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}:where(.fui-policies a,.fui-policies button){--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}@media (hover:hover){:where(.fui-policies a,.fui-policies button):hover{text-decoration-line:underline}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--google-primary:#131314;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--google-primary)}.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--google-primary:#f2f2f2;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--color-primary-surface:#1f1f1f;--color-border:transparent}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=google\.com][data-themed=true]{--google-primary:#fff;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-surface:#1f1f1f;--color-border:#747775}}.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--facebook-primary:#1877f2;--color-primary:var(--facebook-primary);--color-primary-hover:var(--facebook-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--facebook-primary)85%,transparent)}}.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--color-primary-surface:var(--color-white);--color-border:var(--facebook-primary)}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--apple-primary:#000;--color-primary:var(--apple-primary);--color-primary-hover:var(--apple-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--apple-primary)85%,transparent)}}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--apple-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--apple-primary:var(--color-white);--color-primary:var(--apple-primary);--color-primary-hover:var(--apple-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--apple-primary)85%,transparent)}}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-surface:var(--color-black);--color-border:var(--color-white)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--github-primary:#000;--color-primary:var(--github-primary);--color-primary-hover:var(--github-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--github-primary)85%,transparent)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--github-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=github\.com][data-themed=true]{--github-primary:var(--color-white);--color-primary:var(--github-primary);--color-primary-hover:var(--github-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--github-primary)85%,transparent)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-surface:var(--color-black);--color-border:var(--color-white)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--microsoft-primary:#2f2f2f;--color-primary:var(--microsoft-primary);--color-primary-hover:var(--microsoft-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--microsoft-primary)85%,transparent)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--microsoft-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--microsoft-primary:var(--color-white);--color-primary:var(--microsoft-primary);--color-primary-hover:var(--microsoft-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--microsoft-primary)85%,transparent)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-surface:#5e5e5e;--color-border:var(--color-white)}}.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--twitter-primary:#1da1f2;--color-primary:var(--twitter-primary);--color-primary-hover:var(--twitter-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--twitter-primary)85%,transparent)}}.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--twitter-primary)}}@layer utilities;@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0} \ No newline at end of file diff --git a/packages/styles/package.json b/packages/styles/package.json index a2c7f0da..6a429602 100644 --- a/packages/styles/package.json +++ b/packages/styles/package.json @@ -1,6 +1,6 @@ { "name": "@invertase/firebaseui-styles", - "version": "0.0.1", + "version": "0.0.3", "type": "module", "main": "./dist/index.cjs", "module": "./dist/index.js", diff --git a/packages/translations/package.json b/packages/translations/package.json index 8afed4de..b4c668a3 100644 --- a/packages/translations/package.json +++ b/packages/translations/package.json @@ -1,6 +1,6 @@ { "name": "@invertase/firebaseui-translations", - "version": "0.0.1", + "version": "0.0.4", "description": "Translations for Firebase UI", "type": "module", "main": "./dist/index.cjs", From ba994fe12be505a55e8d24979848c87d9ce9af46 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Fri, 31 Oct 2025 11:13:20 +0000 Subject: [PATCH 24/56] chore(*): updated to Invertase dependencies --- README.md | 50 ++--- examples/angular/package.json | 2 +- examples/nextjs/package.json | 8 +- examples/react/src/firebase/firebase.ts | 2 +- examples/react/src/main.tsx | 2 +- .../email-link-auth-screen-w-oauth.tsx | 2 +- .../src/screens/email-link-auth-screen.tsx | 2 +- .../screens/forgot-password-auth-screen.tsx | 2 +- .../src/screens/mfa-enrollment-screen.tsx | 2 +- .../src/screens/phone-auth-screen-w-oauth.tsx | 2 +- .../react/src/screens/phone-auth-screen.tsx | 2 +- .../sign-in-auth-screen-w-handlers.tsx | 2 +- .../react/src/screens/sign-in-auth-screen.tsx | 2 +- .../sign-up-auth-screen-w-handlers.tsx | 2 +- .../screens/sign-up-auth-screen-w-oauth.tsx | 2 +- .../react/src/screens/sign-up-auth-screen.tsx | 2 +- examples/shadcn/package.json | 7 +- .../src/components/email-link-auth-form.tsx | 6 +- .../src/components/email-link-auth-screen.tsx | 4 +- .../components/forgot-password-auth-form.tsx | 6 +- .../forgot-password-auth-screen.tsx | 4 +- .../src/components/google-sign-in-button.tsx | 4 +- .../shadcn/src/components/oauth-button.tsx | 2 +- .../shadcn/src/components/phone-auth-form.tsx | 6 +- examples/shadcn/src/components/policies.tsx | 4 +- .../src/components/sign-in-auth-form.tsx | 6 +- .../src/components/sign-in-auth-screen.tsx | 4 +- .../src/components/sign-up-auth-form.tsx | 6 +- .../src/components/sign-up-auth-screen.tsx | 4 +- examples/shadcn/src/firebase/firebase.ts | 2 +- examples/shadcn/src/main.tsx | 2 +- package.json | 48 ++--- .../auth/forms/email-link-auth-form.spec.ts | 6 +- .../forms/forgot-password-auth-form.spec.ts | 6 +- .../mfa/sms-multi-factor-assertion-form.ts | 2 +- .../sms-multi-factor-enrollment-form.spec.ts | 6 +- .../mfa/sms-multi-factor-enrollment-form.ts | 2 +- .../totp-multi-factor-assertion-form.spec.ts | 6 +- .../mfa/totp-multi-factor-assertion-form.ts | 2 +- .../mfa/totp-multi-factor-enrollment-form.ts | 2 +- .../lib/auth/forms/phone-auth-form.spec.ts | 8 +- .../angular/src/lib/tests/test-helpers.ts | 4 +- packages/core/GEMINI.md | 12 +- packages/react/GEMINI.md | 18 +- packages/react/README.md | 18 +- .../auth/forms/email-link-auth-form.test.tsx | 8 +- .../forms/forgot-password-auth-form.test.tsx | 8 +- .../sms-multi-factor-assertion-form.test.tsx | 8 +- .../mfa/sms-multi-factor-assertion-form.tsx | 2 +- .../sms-multi-factor-enrollment-form.test.tsx | 8 +- .../mfa/sms-multi-factor-enrollment-form.tsx | 2 +- .../totp-multi-factor-assertion-form.test.tsx | 8 +- .../mfa/totp-multi-factor-assertion-form.tsx | 2 +- ...totp-multi-factor-enrollment-form.test.tsx | 8 +- .../mfa/totp-multi-factor-enrollment-form.tsx | 2 +- .../multi-factor-auth-assertion-form.test.tsx | 2 +- .../multi-factor-auth-assertion-form.tsx | 2 +- ...multi-factor-auth-enrollment-form.test.tsx | 2 +- .../multi-factor-auth-enrollment-form.tsx | 2 +- .../src/auth/forms/sign-in-auth-form.test.tsx | 8 +- .../src/auth/forms/sign-up-auth-form.test.tsx | 8 +- .../src/auth/oauth/oauth-button.test.tsx | 14 +- ...lti-factor-auth-enrollment-screen.test.tsx | 2 +- .../multi-factor-auth-enrollment-screen.tsx | 2 +- .../src/auth/screens/oauth-screen.test.tsx | 2 +- .../react/src/auth/screens/oauth-screen.tsx | 2 +- .../auth/screens/phone-auth-screen.test.tsx | 2 +- .../auth/screens/sign-in-auth-screen.test.tsx | 2 +- .../auth/screens/sign-up-auth-screen.test.tsx | 2 +- .../src/auth/screens/sign-up-auth-screen.tsx | 2 +- packages/react/src/hooks.test.tsx | 2 +- packages/react/src/hooks.ts | 2 +- packages/react/tests/utils.tsx | 4 +- packages/shadcn/README.md | 8 +- packages/shadcn/package.json | 6 +- .../shadcn/public/apple-sign-in-button.json | 4 +- packages/shadcn/public/country-selector.json | 4 +- .../shadcn/public/email-link-auth-form.json | 4 +- .../shadcn/public/email-link-auth-screen.json | 4 +- .../public/facebook-sign-in-button.json | 4 +- .../public/forgot-password-auth-form.json | 4 +- .../public/forgot-password-auth-screen.json | 4 +- .../shadcn/public/github-sign-in-button.json | 4 +- .../shadcn/public/google-sign-in-button.json | 4 +- .../public/microsoft-sign-in-button.json | 4 +- .../multi-factor-auth-assertion-form.json | 4 +- .../multi-factor-auth-enrollment-form.json | 4 +- .../multi-factor-auth-enrollment-screen.json | 4 +- packages/shadcn/public/oauth-button.json | 4 +- packages/shadcn/public/oauth-screen.json | 4 +- packages/shadcn/public/phone-auth-form.json | 4 +- packages/shadcn/public/phone-auth-screen.json | 4 +- packages/shadcn/public/policies.json | 4 +- packages/shadcn/public/redirect-error.json | 4 +- packages/shadcn/public/sign-in-auth-form.json | 4 +- .../shadcn/public/sign-in-auth-screen.json | 4 +- packages/shadcn/public/sign-up-auth-form.json | 4 +- .../shadcn/public/sign-up-auth-screen.json | 4 +- .../sms-multi-factor-assertion-form.json | 4 +- .../sms-multi-factor-enrollment-form.json | 4 +- .../totp-multi-factor-assertion-form.json | 4 +- .../totp-multi-factor-enrollment-form.json | 4 +- .../shadcn/public/twitter-sign-in-button.json | 4 +- packages/shadcn/registry-spec.json | 56 ++--- .../registry/apple-sign-in-button.test.tsx | 8 +- .../src/registry/apple-sign-in-button.tsx | 4 +- .../src/registry/country-selector.test.tsx | 8 +- .../shadcn/src/registry/country-selector.tsx | 4 +- .../registry/email-link-auth-form.test.tsx | 16 +- .../src/registry/email-link-auth-form.tsx | 6 +- .../registry/email-link-auth-screen.test.tsx | 4 +- .../src/registry/email-link-auth-screen.tsx | 4 +- .../registry/facebook-sign-in-button.test.tsx | 8 +- .../src/registry/facebook-sign-in-button.tsx | 4 +- .../forgot-password-auth-form.test.tsx | 14 +- .../registry/forgot-password-auth-form.tsx | 6 +- .../forgot-password-auth-screen.test.tsx | 4 +- .../registry/forgot-password-auth-screen.tsx | 4 +- .../registry/github-sign-in-button.test.tsx | 8 +- .../src/registry/github-sign-in-button.tsx | 4 +- .../registry/google-sign-in-button.test.tsx | 8 +- .../src/registry/google-sign-in-button.tsx | 4 +- .../microsoft-sign-in-button.test.tsx | 8 +- .../src/registry/microsoft-sign-in-button.tsx | 4 +- .../multi-factor-auth-assertion-form.test.tsx | 2 +- .../multi-factor-auth-assertion-form.tsx | 4 +- ...multi-factor-auth-enrollment-form.test.tsx | 4 +- .../multi-factor-auth-enrollment-form.tsx | 4 +- ...lti-factor-auth-enrollment-screen.test.tsx | 4 +- .../multi-factor-auth-enrollment-screen.tsx | 4 +- .../shadcn/src/registry/oauth-button.test.tsx | 12 +- packages/shadcn/src/registry/oauth-button.tsx | 2 +- .../shadcn/src/registry/oauth-screen.test.tsx | 2 +- packages/shadcn/src/registry/oauth-screen.tsx | 4 +- .../src/registry/phone-auth-form.test.tsx | 18 +- .../shadcn/src/registry/phone-auth-form.tsx | 4 +- .../src/registry/phone-auth-screen.test.tsx | 2 +- .../shadcn/src/registry/phone-auth-screen.tsx | 4 +- .../shadcn/src/registry/policies.test.tsx | 8 +- packages/shadcn/src/registry/policies.tsx | 4 +- .../shadcn/src/registry/redirect-error.tsx | 2 +- .../src/registry/sign-in-auth-form.test.tsx | 14 +- .../shadcn/src/registry/sign-in-auth-form.tsx | 6 +- .../src/registry/sign-in-auth-screen.test.tsx | 4 +- .../src/registry/sign-in-auth-screen.tsx | 4 +- .../src/registry/sign-up-auth-form.test.tsx | 14 +- .../shadcn/src/registry/sign-up-auth-form.tsx | 6 +- .../src/registry/sign-up-auth-screen.test.tsx | 4 +- .../src/registry/sign-up-auth-screen.tsx | 4 +- .../sms-multi-factor-assertion-form.test.tsx | 14 +- .../sms-multi-factor-assertion-form.tsx | 4 +- .../sms-multi-factor-enrollment-form.test.tsx | 12 +- .../sms-multi-factor-enrollment-form.tsx | 4 +- .../totp-multi-factor-assertion-form.test.tsx | 8 +- .../totp-multi-factor-assertion-form.tsx | 4 +- ...totp-multi-factor-enrollment-form.test.tsx | 8 +- .../totp-multi-factor-enrollment-form.tsx | 4 +- .../registry/twitter-sign-in-button.test.tsx | 8 +- .../src/registry/twitter-sign-in-button.tsx | 4 +- packages/shadcn/tests/utils.tsx | 8 +- packages/shadcn/tsconfig.json | 4 +- packages/styles/GEMINI.md | 10 +- packages/styles/README.md | 10 +- packages/styles/dist.css | 2 +- packages/translations/GEMINI.md | 24 +-- pnpm-lock.yaml | 201 +++++++++++++----- 166 files changed, 639 insertions(+), 553 deletions(-) diff --git a/README.md b/README.md index 8075ae12..edcea6ed 100644 --- a/README.md +++ b/README.md @@ -22,10 +22,10 @@ Packages have been created for both `React` and `Angular`. For now, they're only ```json { "dependencies": { - "@firebase-ui/react": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-react-0.0.1.tgz", - "@firebase-ui/core": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-core-0.0.1.tgz", - "@firebase-ui/styles": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-styles-0.0.1.tgz", - "@firebase-ui/translations": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-translations-0.0.1.tgz" + "@invertase/firebaseui-react": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-react-0.0.1.tgz", + "@invertase/firebaseui-core": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-core-0.0.1.tgz", + "@invertase/firebaseui-styles": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-styles-0.0.1.tgz", + "@invertase/firebaseui-translations": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-translations-0.0.1.tgz" } } ``` @@ -41,10 +41,10 @@ FirebaseUI for Angular depends on the [AngularFire](https://github.com/angular/a { "dependencies": { "@angular/fire": "^19.1.0", - "@firebase-ui/angular": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-angular-0.0.1.tgz", - "@firebase-ui/core": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-core-0.0.1.tgz", - "@firebase-ui/styles": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-styles-0.0.1.tgz", - "@firebase-ui/translations": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-translations-0.0.1.tgz" + "@invertase/firebaseui-angular": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-angular-0.0.1.tgz", + "@invertase/firebaseui-core": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-core-0.0.1.tgz", + "@invertase/firebaseui-styles": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-styles-0.0.1.tgz", + "@invertase/firebaseui-translations": "https://github.com/firebase/firebaseui-web/raw/refs/heads/v7-alpha/releases/firebase-ui-translations-0.0.1.tgz" } } ``` @@ -63,10 +63,10 @@ import { initializeApp } from 'firebase/app'; const app = initializeApp({ ... }); ``` -Next, setup and configure FirebaseUI, import the `initializeUI` function from `@firebase-ui/core`: +Next, setup and configure FirebaseUI, import the `initializeUI` function from `@invertase/firebaseui-core`: ```ts -import { initializeUI } from "@firebase-ui/core"; +import { initializeUI } from "@invertase/firebaseui-core"; const ui = initializeUI(); ``` @@ -82,8 +82,8 @@ FirebaseUI for React requires that your application be wrapped in the `ConfigPro ```tsx import { initializeApp } from 'firebase/app'; -import { initializeUI } from "@firebase-ui/core"; -import { ConfigProvider } from '@firebase-ui/react'; +import { initializeUI } from "@invertase/firebaseui-core"; +import { ConfigProvider } from '@invertase/firebaseui-react'; const app = initializeApp({ .. }); const ui = initializeUI({ app }); @@ -107,8 +107,8 @@ FirebaseUI depends on [AngularFire](https://github.com/angular/angularfire) bein ```tsx import { provideFirebaseApp, initializeApp } from '@angular/fire/app'; import { provideAuth, getAuth } from '@angular/fire/auth'; -import { provideFirebaseUI } from '@firebase-ui/angular'; -import { initializeUI } from '@firebase-ui/core'; +import { provideFirebaseUI } from '@invertase/firebaseui-angular'; +import { initializeUI } from '@invertase/firebaseui-core'; export const appConfig: ApplicationConfig = { providers: [ @@ -127,17 +127,17 @@ export const appConfig: ApplicationConfig = { Next, import the CSS styles for the FirebaseUI project. -If you are using [TailwindCSS](https://tailwindcss.com/), import the base CSS from the `@firebase-ui/styles` package after your Tailwind import: +If you are using [TailwindCSS](https://tailwindcss.com/), import the base CSS from the `@invertase/firebaseui-styles` package after your Tailwind import: ```css @import "tailwindcss"; -@import "@firebase-ui/styles/tailwind"; +@import "@invertase/firebaseui-styles/tailwind"; ``` If you are not using Tailwind, import the distributable CSS in your project: ```css -@import "@firebase-ui/styles"; +@import "@invertase/firebaseui-styles"; ``` To learn more about theming, view the [theming](#theming) section. @@ -154,7 +154,7 @@ Allows users to sign in with an email and password: React ```tsx -import { SignInAuthScreen } from "@firebase-ui/react"; +import { SignInAuthScreen } from "@invertase/firebaseui-react"; function App() { return ; @@ -166,7 +166,7 @@ Props: `onForgotPasswordClick` / `onRegisterClick` Additionally, allow the user to sign in with an OAuth provider by providing children: ```tsx -import { SignInAuthScreen, GoogleSignInButton } from "@firebase-ui/react"; +import { SignInAuthScreen, GoogleSignInButton } from "@invertase/firebaseui-react"; function App() { return ( @@ -183,7 +183,7 @@ function App() { Angular ```tsx -import { SignUpAuthScreenComponent } from "@firebase-ui/angular"; +import { SignUpAuthScreenComponent } from "@invertase/firebaseui-angular"; @Component({ selector: "app-root", @@ -257,7 +257,7 @@ The default values are based on the [TailwindCSS](https://tailwindcss.com/docs/t ## FirebaseUI Core Integration -`@firebase-ui/core` is a framework-agnostic layer that manages the complete lifecycle of Firebase Authentication flows. It exposes a reactive store via nanostores that can be wrapped and adapted into any JavaScript framework such as React, Angular, Vue, Svelte, or SolidJS to name a few. +`@invertase/firebaseui-core` is a framework-agnostic layer that manages the complete lifecycle of Firebase Authentication flows. It exposes a reactive store via nanostores that can be wrapped and adapted into any JavaScript framework such as React, Angular, Vue, Svelte, or SolidJS to name a few. ### What FirebaseUI Core Provides @@ -278,7 +278,7 @@ The default values are based on the [TailwindCSS](https://tailwindcss.com/docs/t Call initializeUI() with your Firebase app and configuration options: ```js -import { initializeUI } from '@firebase-ui/core'; +import { initializeUI } from '@invertase/firebaseui-core'; const ui = initializeUI({ app: firebaseApp, @@ -459,7 +459,7 @@ uiStore.subscribe((ui) => { You can pass one or more translations to support localized strings. ```js -import { english } from "@firebase-ui/translations"; +import { english } from "@invertase/firebaseui-translations"; initializeUI({ app, @@ -484,7 +484,7 @@ const customFr = { To use a string at runtime (e.g., in an error message): ```js -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; const message = getTranslation(config, "errors", "unknownError"); ``` @@ -507,7 +507,7 @@ Validates a sign-in or sign-up form using email and password. - _password_: Must be at least 8 characters. ```js -import { createEmailFormSchema } from "@firebase-ui/core"; +import { createEmailFormSchema } from "@invertase/firebaseui-core"; const schema = createEmailFormSchema(translations); ``` diff --git a/examples/angular/package.json b/examples/angular/package.json index 92cb566e..a6a6aa32 100644 --- a/examples/angular/package.json +++ b/examples/angular/package.json @@ -32,7 +32,7 @@ "@angular/router": "^20.2.2", "@angular/ssr": "^20.2.2", "@invertase/firebaseui-angular": "0.0.3", - "@invertase/firebaseui-core": "0.0.4", + "@invertase/firebaseui-core": "0.0.3", "@invertase/firebaseui-styles": "0.0.3", "@invertase/firebaseui-translations": "0.0.4", "@tailwindcss/postcss": "^4.0.6", diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json index 972ca977..be12558c 100644 --- a/examples/nextjs/package.json +++ b/examples/nextjs/package.json @@ -12,10 +12,10 @@ "format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,css,md}\"" }, "dependencies": { - "@firebase-ui/react": "workspace:*", - "@firebase-ui/core": "workspace:*", - "@firebase-ui/styles": "workspace:*", - "@firebase-ui/translations": "workspace:*", + "@invertase/firebaseui-react": "0.0.3", + "@invertase/firebaseui-core": "0.0.3", + "@invertase/firebaseui-styles": "0.0.6", + "@invertase/firebaseui-translations": "0.0.4", "firebase": "catalog:", "next": "15.1.7", "react": "catalog:", diff --git a/examples/react/src/firebase/firebase.ts b/examples/react/src/firebase/firebase.ts index d8fe4560..b3c9267e 100644 --- a/examples/react/src/firebase/firebase.ts +++ b/examples/react/src/firebase/firebase.ts @@ -19,7 +19,7 @@ import { initializeApp, getApps } from "firebase/app"; import { firebaseConfig } from "./config"; import { getAuth } from "firebase/auth"; -import { initializeUI, oneTapSignIn, countryCodes } from "@firebase-ui/core"; +import { initializeUI, oneTapSignIn, countryCodes } from "@invertase/firebaseui-core"; export const firebaseApp = getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0]; diff --git a/examples/react/src/main.tsx b/examples/react/src/main.tsx index 00c61620..f2fb091d 100644 --- a/examples/react/src/main.tsx +++ b/examples/react/src/main.tsx @@ -17,7 +17,7 @@ import { BrowserRouter, Routes, Route } from "react-router"; import ReactDOM from "react-dom/client"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; import { ui, auth } from "./firebase/firebase"; import App from "./App"; import { hiddenRoutes, routes } from "./routes"; diff --git a/examples/react/src/screens/email-link-auth-screen-w-oauth.tsx b/examples/react/src/screens/email-link-auth-screen-w-oauth.tsx index 1a3e84d7..d8f7f0e0 100644 --- a/examples/react/src/screens/email-link-auth-screen-w-oauth.tsx +++ b/examples/react/src/screens/email-link-auth-screen-w-oauth.tsx @@ -24,7 +24,7 @@ import { GoogleSignInButton, MicrosoftSignInButton, TwitterSignInButton, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { useNavigate } from "react-router"; export default function EmailLinkAuthScreenWithOAuthPage() { diff --git a/examples/react/src/screens/email-link-auth-screen.tsx b/examples/react/src/screens/email-link-auth-screen.tsx index f1d37fc0..b803ea13 100644 --- a/examples/react/src/screens/email-link-auth-screen.tsx +++ b/examples/react/src/screens/email-link-auth-screen.tsx @@ -16,7 +16,7 @@ "use client"; -import { EmailLinkAuthScreen } from "@firebase-ui/react"; +import { EmailLinkAuthScreen } from "@invertase/firebaseui-react"; import { useNavigate } from "react-router"; export default function EmailLinkAuthScreenPage() { diff --git a/examples/react/src/screens/forgot-password-auth-screen.tsx b/examples/react/src/screens/forgot-password-auth-screen.tsx index 1a4c2250..7488fc46 100644 --- a/examples/react/src/screens/forgot-password-auth-screen.tsx +++ b/examples/react/src/screens/forgot-password-auth-screen.tsx @@ -16,7 +16,7 @@ "use client"; -import { ForgotPasswordAuthScreen } from "@firebase-ui/react"; +import { ForgotPasswordAuthScreen } from "@invertase/firebaseui-react"; import { useNavigate } from "react-router"; export default function ForgotPasswordAuthScreenPage() { diff --git a/examples/react/src/screens/mfa-enrollment-screen.tsx b/examples/react/src/screens/mfa-enrollment-screen.tsx index 6bc6561d..2eec5af2 100644 --- a/examples/react/src/screens/mfa-enrollment-screen.tsx +++ b/examples/react/src/screens/mfa-enrollment-screen.tsx @@ -16,7 +16,7 @@ "use client"; -import { MultiFactorAuthEnrollmentScreen } from "@firebase-ui/react"; +import { MultiFactorAuthEnrollmentScreen } from "@invertase/firebaseui-react"; import { FactorId } from "firebase/auth"; import { useNavigate } from "react-router"; diff --git a/examples/react/src/screens/phone-auth-screen-w-oauth.tsx b/examples/react/src/screens/phone-auth-screen-w-oauth.tsx index 69058e3b..3d765569 100644 --- a/examples/react/src/screens/phone-auth-screen-w-oauth.tsx +++ b/examples/react/src/screens/phone-auth-screen-w-oauth.tsx @@ -24,7 +24,7 @@ import { PhoneAuthScreen, TwitterSignInButton, MicrosoftSignInButton, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { useNavigate } from "react-router"; export default function PhoneAuthScreenWithOAuthPage() { diff --git a/examples/react/src/screens/phone-auth-screen.tsx b/examples/react/src/screens/phone-auth-screen.tsx index 4514fd92..4bd364a6 100644 --- a/examples/react/src/screens/phone-auth-screen.tsx +++ b/examples/react/src/screens/phone-auth-screen.tsx @@ -16,7 +16,7 @@ "use client"; -import { PhoneAuthScreen } from "@firebase-ui/react"; +import { PhoneAuthScreen } from "@invertase/firebaseui-react"; import { useNavigate } from "react-router"; export default function PhoneAuthScreenPage() { diff --git a/examples/react/src/screens/sign-in-auth-screen-w-handlers.tsx b/examples/react/src/screens/sign-in-auth-screen-w-handlers.tsx index 34a12ade..b3077cc9 100644 --- a/examples/react/src/screens/sign-in-auth-screen-w-handlers.tsx +++ b/examples/react/src/screens/sign-in-auth-screen-w-handlers.tsx @@ -16,7 +16,7 @@ "use client"; -import { SignInAuthScreen } from "@firebase-ui/react"; +import { SignInAuthScreen } from "@invertase/firebaseui-react"; import { useNavigate } from "react-router"; export default function SignInAuthScreenWithHandlersPage() { diff --git a/examples/react/src/screens/sign-in-auth-screen.tsx b/examples/react/src/screens/sign-in-auth-screen.tsx index e16935b4..af5df82b 100644 --- a/examples/react/src/screens/sign-in-auth-screen.tsx +++ b/examples/react/src/screens/sign-in-auth-screen.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { SignInAuthScreen } from "@firebase-ui/react"; +import { SignInAuthScreen } from "@invertase/firebaseui-react"; import { useNavigate } from "react-router"; export default function SignInAuthScreenPage() { diff --git a/examples/react/src/screens/sign-up-auth-screen-w-handlers.tsx b/examples/react/src/screens/sign-up-auth-screen-w-handlers.tsx index e8d0225b..cac05695 100644 --- a/examples/react/src/screens/sign-up-auth-screen-w-handlers.tsx +++ b/examples/react/src/screens/sign-up-auth-screen-w-handlers.tsx @@ -16,7 +16,7 @@ "use client"; -import { SignUpAuthScreen } from "@firebase-ui/react"; +import { SignUpAuthScreen } from "@invertase/firebaseui-react"; import { useNavigate } from "react-router"; export default function SignUpAuthScreenWithHandlersPage() { diff --git a/examples/react/src/screens/sign-up-auth-screen-w-oauth.tsx b/examples/react/src/screens/sign-up-auth-screen-w-oauth.tsx index ac00827d..3762afd9 100644 --- a/examples/react/src/screens/sign-up-auth-screen-w-oauth.tsx +++ b/examples/react/src/screens/sign-up-auth-screen-w-oauth.tsx @@ -24,7 +24,7 @@ import { SignUpAuthScreen, TwitterSignInButton, MicrosoftSignInButton, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { useNavigate } from "react-router"; export default function SignUpAuthScreenWithOAuthPage() { diff --git a/examples/react/src/screens/sign-up-auth-screen.tsx b/examples/react/src/screens/sign-up-auth-screen.tsx index 9c2121cf..f284aebc 100644 --- a/examples/react/src/screens/sign-up-auth-screen.tsx +++ b/examples/react/src/screens/sign-up-auth-screen.tsx @@ -16,7 +16,7 @@ "use client"; -import { SignUpAuthScreen } from "@firebase-ui/react"; +import { SignUpAuthScreen } from "@invertase/firebaseui-react"; import { useNavigate } from "react-router"; export default function SignUpAuthScreenPage() { diff --git a/examples/shadcn/package.json b/examples/shadcn/package.json index 654e7976..c0f3645b 100644 --- a/examples/shadcn/package.json +++ b/examples/shadcn/package.json @@ -8,9 +8,10 @@ "shadcn:add-all": "tsx add-all.ts" }, "dependencies": { - "@firebase-ui/core": "workspace:*", - "@firebase-ui/react": "workspace:*", - "@firebase-ui/styles": "workspace:*", + "@invertase/firebaseui-core": "0.0.3", + "@invertase/firebaseui-react": "0.0.3", + "@invertase/firebaseui-styles": "0.0.6", + "@invertase/firebaseui-translations": "0.0.4", "@hookform/resolvers": "^5.2.2", "@radix-ui/react-accordion": "^1.2.12", "@radix-ui/react-alert-dialog": "^1.1.15", diff --git a/examples/shadcn/src/components/email-link-auth-form.tsx b/examples/shadcn/src/components/email-link-auth-form.tsx index b51c077c..3c895d62 100644 --- a/examples/shadcn/src/components/email-link-auth-form.tsx +++ b/examples/shadcn/src/components/email-link-auth-form.tsx @@ -1,15 +1,15 @@ "use client"; -import type { EmailLinkAuthFormSchema } from "@firebase-ui/core"; +import type { EmailLinkAuthFormSchema } from "@invertase/firebaseui-core"; import { useEmailLinkAuthFormAction, useEmailLinkAuthFormCompleteSignIn, useEmailLinkAuthFormSchema, useUI, type EmailLinkAuthFormProps, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; -import { FirebaseUIError, getTranslation } from "@firebase-ui/core"; +import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; import { useState } from "react"; import { useForm } from "react-hook-form"; diff --git a/examples/shadcn/src/components/email-link-auth-screen.tsx b/examples/shadcn/src/components/email-link-auth-screen.tsx index b636fe9d..85af861b 100644 --- a/examples/shadcn/src/components/email-link-auth-screen.tsx +++ b/examples/shadcn/src/components/email-link-auth-screen.tsx @@ -1,7 +1,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type EmailLinkAuthScreenProps } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type EmailLinkAuthScreenProps } from "@invertase/firebaseui-react"; import { EmailLinkAuthForm } from "@/components/email-link-auth-form"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; diff --git a/examples/shadcn/src/components/forgot-password-auth-form.tsx b/examples/shadcn/src/components/forgot-password-auth-form.tsx index e050d262..ed2ff39d 100644 --- a/examples/shadcn/src/components/forgot-password-auth-form.tsx +++ b/examples/shadcn/src/components/forgot-password-auth-form.tsx @@ -1,15 +1,15 @@ "use client"; -import type { ForgotPasswordAuthFormSchema } from "@firebase-ui/core"; +import type { ForgotPasswordAuthFormSchema } from "@invertase/firebaseui-core"; import { useForgotPasswordAuthFormAction, useForgotPasswordAuthFormSchema, useUI, type ForgotPasswordAuthFormProps, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { useForm } from "react-hook-form"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; -import { FirebaseUIError, getTranslation } from "@firebase-ui/core"; +import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { useState } from "react"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; diff --git a/examples/shadcn/src/components/forgot-password-auth-screen.tsx b/examples/shadcn/src/components/forgot-password-auth-screen.tsx index cb074b2f..cf49c9f6 100644 --- a/examples/shadcn/src/components/forgot-password-auth-screen.tsx +++ b/examples/shadcn/src/components/forgot-password-auth-screen.tsx @@ -1,7 +1,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type ForgotPasswordAuthScreenProps } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type ForgotPasswordAuthScreenProps } from "@invertase/firebaseui-react"; import { ForgotPasswordAuthForm } from "@/components/forgot-password-auth-form"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; diff --git a/examples/shadcn/src/components/google-sign-in-button.tsx b/examples/shadcn/src/components/google-sign-in-button.tsx index 775234ac..5d8f4b70 100644 --- a/examples/shadcn/src/components/google-sign-in-button.tsx +++ b/examples/shadcn/src/components/google-sign-in-button.tsx @@ -1,8 +1,8 @@ "use client"; import { GoogleAuthProvider } from "firebase/auth"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type GoogleSignInButtonProps, GoogleLogo } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type GoogleSignInButtonProps, GoogleLogo } from "@invertase/firebaseui-react"; import { OAuthButton } from "@/components"; diff --git a/examples/shadcn/src/components/oauth-button.tsx b/examples/shadcn/src/components/oauth-button.tsx index dd5d3740..d32360a0 100644 --- a/examples/shadcn/src/components/oauth-button.tsx +++ b/examples/shadcn/src/components/oauth-button.tsx @@ -1,6 +1,6 @@ "use client"; -import { useUI, type OAuthButtonProps, useSignInWithProvider } from "@firebase-ui/react"; +import { useUI, type OAuthButtonProps, useSignInWithProvider } from "@invertase/firebaseui-react"; import { Button } from "@/components/ui/button"; export type { OAuthButtonProps }; diff --git a/examples/shadcn/src/components/phone-auth-form.tsx b/examples/shadcn/src/components/phone-auth-form.tsx index 05dc2959..ca4fc7cb 100644 --- a/examples/shadcn/src/components/phone-auth-form.tsx +++ b/examples/shadcn/src/components/phone-auth-form.tsx @@ -1,13 +1,13 @@ "use client"; -import type { PhoneAuthNumberFormSchema } from "@firebase-ui/core"; -import { FirebaseUIError, getTranslation } from "@firebase-ui/core"; +import type { PhoneAuthNumberFormSchema } from "@invertase/firebaseui-core"; +import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { type PhoneAuthFormProps, usePhoneAuthNumberFormSchema, usePhoneNumberFormAction, useUI, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; import { useForm } from "react-hook-form"; diff --git a/examples/shadcn/src/components/policies.tsx b/examples/shadcn/src/components/policies.tsx index 970cf37f..b0cfef63 100644 --- a/examples/shadcn/src/components/policies.tsx +++ b/examples/shadcn/src/components/policies.tsx @@ -1,6 +1,6 @@ import { cn } from "@/lib/utils"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, PolicyContext } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, PolicyContext } from "@invertase/firebaseui-react"; import { cloneElement, useContext } from "react"; export function Policies() { diff --git a/examples/shadcn/src/components/sign-in-auth-form.tsx b/examples/shadcn/src/components/sign-in-auth-form.tsx index 907d6312..926d87e7 100644 --- a/examples/shadcn/src/components/sign-in-auth-form.tsx +++ b/examples/shadcn/src/components/sign-in-auth-form.tsx @@ -1,10 +1,10 @@ "use client"; -import type { SignInAuthFormSchema } from "@firebase-ui/core"; -import { useSignInAuthFormAction, useSignInAuthFormSchema, useUI, type SignInAuthFormProps } from "@firebase-ui/react"; +import type { SignInAuthFormSchema } from "@invertase/firebaseui-core"; +import { useSignInAuthFormAction, useSignInAuthFormSchema, useUI, type SignInAuthFormProps } from "@invertase/firebaseui-react"; import { useForm } from "react-hook-form"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; -import { FirebaseUIError, getTranslation } from "@firebase-ui/core"; +import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; diff --git a/examples/shadcn/src/components/sign-in-auth-screen.tsx b/examples/shadcn/src/components/sign-in-auth-screen.tsx index 0b6cf4ea..9c289614 100644 --- a/examples/shadcn/src/components/sign-in-auth-screen.tsx +++ b/examples/shadcn/src/components/sign-in-auth-screen.tsx @@ -1,7 +1,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type SignInAuthScreenProps } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type SignInAuthScreenProps } from "@invertase/firebaseui-react"; import { SignInAuthForm } from "@/components/sign-in-auth-form"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; diff --git a/examples/shadcn/src/components/sign-up-auth-form.tsx b/examples/shadcn/src/components/sign-up-auth-form.tsx index dc8ea78c..920c5d6b 100644 --- a/examples/shadcn/src/components/sign-up-auth-form.tsx +++ b/examples/shadcn/src/components/sign-up-auth-form.tsx @@ -1,16 +1,16 @@ "use client"; -import type { SignUpAuthFormSchema } from "@firebase-ui/core"; +import type { SignUpAuthFormSchema } from "@invertase/firebaseui-core"; import { useSignUpAuthFormAction, useSignUpAuthFormSchema, useUI, type SignUpAuthFormProps, useRequireDisplayName, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { useForm } from "react-hook-form"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; -import { FirebaseUIError, getTranslation } from "@firebase-ui/core"; +import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; diff --git a/examples/shadcn/src/components/sign-up-auth-screen.tsx b/examples/shadcn/src/components/sign-up-auth-screen.tsx index 048f4584..b36c7f53 100644 --- a/examples/shadcn/src/components/sign-up-auth-screen.tsx +++ b/examples/shadcn/src/components/sign-up-auth-screen.tsx @@ -1,7 +1,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type SignUpAuthScreenProps } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type SignUpAuthScreenProps } from "@invertase/firebaseui-react"; import { SignUpAuthForm } from "@/components/sign-up-auth-form"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; diff --git a/examples/shadcn/src/firebase/firebase.ts b/examples/shadcn/src/firebase/firebase.ts index aeed4e44..362c468c 100644 --- a/examples/shadcn/src/firebase/firebase.ts +++ b/examples/shadcn/src/firebase/firebase.ts @@ -19,7 +19,7 @@ import { initializeApp, getApps } from "firebase/app"; import { firebaseConfig } from "./config"; import { connectAuthEmulator, getAuth } from "firebase/auth"; -import { autoAnonymousLogin, initializeUI, oneTapSignIn, countryCodes } from "@firebase-ui/core"; +import { autoAnonymousLogin, initializeUI, oneTapSignIn, countryCodes } from "@invertase/firebaseui-core"; export const firebaseApp = getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0]; diff --git a/examples/shadcn/src/main.tsx b/examples/shadcn/src/main.tsx index bc692dc4..38e1ccd9 100644 --- a/examples/shadcn/src/main.tsx +++ b/examples/shadcn/src/main.tsx @@ -15,7 +15,7 @@ import { BrowserRouter, Route, Routes } from "react-router"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; import ReactDOM from "react-dom/client"; import { ui } from "./firebase/firebase"; diff --git a/package.json b/package.json index 0f6162e9..2e891571 100644 --- a/package.json +++ b/package.json @@ -5,38 +5,38 @@ "scripts": { "emulators": "firebase emulators:start --only auth --project demo-test", "build": "pnpm run build:translations && pnpm run build:core && pnpm run build:react", - "build:core": "pnpm --filter=@firebase-ui/core run build", - "build:translations": "pnpm --filter=@firebase-ui/translations run build", - "build:react": "pnpm --filter=@firebase-ui/react run build", - "build:angular": "pnpm --filter=@firebase-ui/angular run build", - "build:shadcn": "pnpm --filter=@firebase-ui/shadcn run build", + "build:core": "pnpm --filter=@invertase/firebaseui-core run build", + "build:translations": "pnpm --filter=@invertase/firebaseui-translations run build", + "build:react": "pnpm --filter=@invertase/firebaseui-react run build", + "build:angular": "pnpm --filter=@invertase/firebaseui-angular run build", + "build:shadcn": "pnpm --filter=@invertase/firebaseui-shadcn run build", "shadcn:deploy": "pnpm run build:shadcn && firebase deploy --only hosting:fir-ui-shadcn", "lint:check": "eslint", "lint:fix": "eslint --fix", "format:check": "prettier --check **/{src,tests}/**/*.{ts,tsx}", "format:write": "prettier --write **/{src,tests}/**/*.{ts,tsx}", "test": "pnpm run test:core && pnpm run test:translations && pnpm run test:styles && pnpm run test:react && pnpm run test:shadcn && pnpm run test:angular", - "test:core": "pnpm --filter=@firebase-ui/core run test", - "test:react": "pnpm --filter=@firebase-ui/react run test", - "test:angular": "pnpm --filter=@firebase-ui/angular run test", - "test:translations": "pnpm --filter=@firebase-ui/translations run test", - "test:styles": "pnpm --filter=@firebase-ui/styles run test", - "test:shadcn": "pnpm --filter=@firebase-ui/shadcn run test", + "test:core": "pnpm --filter=@invertase/firebaseui-core run test", + "test:react": "pnpm --filter=@invertase/firebaseui-react run test", + "test:angular": "pnpm --filter=@invertase/firebaseui-angular run test", + "test:translations": "pnpm --filter=@invertase/firebaseui-translations run test", + "test:styles": "pnpm --filter=@invertase/firebaseui-styles run test", + "test:shadcn": "pnpm --filter=@invertase/firebaseui-shadcn run test", "test:watch": "pnpm run test:core:watch & pnpm run test:react:watch & pnpm run test:angular:watch", - "test:core:watch": "pnpm --filter=@firebase-ui/core run test:unit:watch", - "test:react:watch": "pnpm --filter=@firebase-ui/react run test:unit:watch", - "test:angular:watch": "pnpm --filter=@firebase-ui/angular run test:watch", - "publish:tags:core": "pnpm --filter=@firebase-ui/core run publish:tags", - "publish:tags:translations": "pnpm --filter=@firebase-ui/translations run publish:tags", - "publish:tags:react": "pnpm --filter=@firebase-ui/react run publish:tags", - "publish:tags:angular": "pnpm --filter=@firebase-ui/angular run publish:tags", - "publish:tags:styles": "pnpm --filter=@firebase-ui/styles run publish:tags", + "test:core:watch": "pnpm --filter=@invertase/firebaseui-core run test:unit:watch", + "test:react:watch": "pnpm --filter=@invertase/firebaseui-react run test:unit:watch", + "test:angular:watch": "pnpm --filter=@invertase/firebaseui-angular run test:watch", + "publish:tags:core": "pnpm --filter=@invertase/firebaseui-core run publish:tags", + "publish:tags:translations": "pnpm --filter=@invertase/firebaseui-translations run publish:tags", + "publish:tags:react": "pnpm --filter=@invertase/firebaseui-react run publish:tags", + "publish:tags:angular": "pnpm --filter=@invertase/firebaseui-angular run publish:tags", + "publish:tags:styles": "pnpm --filter=@invertase/firebaseui-styles run publish:tags", "publish:tags:all": "pnpm i && pnpm run publish:tags:core && pnpm run publish:tags:translations && pnpm run publish:tags:react && pnpm run publish:tags:styles && pnpm run publish:tags:angular", - "release:core": "pnpm --filter=@firebase-ui/core run release", - "release:translations": "pnpm --filter=@firebase-ui/translations run release", - "release:react": "pnpm --filter=@firebase-ui/react run release", - "release:angular": "pnpm --filter=@firebase-ui/angular run release", - "release:styles": "pnpm --filter=@firebase-ui/styles run release", + "release:core": "pnpm --filter=@invertase/firebaseui-core run release", + "release:translations": "pnpm --filter=@invertase/firebaseui-translations run release", + "release:react": "pnpm --filter=@invertase/firebaseui-react run release", + "release:angular": "pnpm --filter=@invertase/firebaseui-angular run release", + "release:styles": "pnpm --filter=@invertase/firebaseui-styles run release", "release:all": "pnpm i && pnpm run release:core && pnpm run release:translations && pnpm run release:react && pnpm run release:styles && pnpm run release:angular" }, "devDependencies": { diff --git a/packages/angular/src/lib/auth/forms/email-link-auth-form.spec.ts b/packages/angular/src/lib/auth/forms/email-link-auth-form.spec.ts index 46238890..57673eda 100644 --- a/packages/angular/src/lib/auth/forms/email-link-auth-form.spec.ts +++ b/packages/angular/src/lib/auth/forms/email-link-auth-form.spec.ts @@ -22,9 +22,9 @@ import { FormInputComponent, FormSubmitComponent, FormErrorMessageComponent } fr import { PoliciesComponent } from "../../components/policies"; import { UserCredential } from "@angular/fire/auth"; -// Mock the @firebase-ui/core module but preserve Angular providers -jest.mock("@firebase-ui/core", () => { - const originalModule = jest.requireActual("@firebase-ui/core"); +// Mock the @invertase/firebaseui-core module but preserve Angular providers +jest.mock("@invertase/firebaseui-core", () => { + const originalModule = jest.requireActual("@invertase/firebaseui-core"); return { ...originalModule, sendSignInLinkToEmail: jest.fn(), diff --git a/packages/angular/src/lib/auth/forms/forgot-password-auth-form.spec.ts b/packages/angular/src/lib/auth/forms/forgot-password-auth-form.spec.ts index 2503addf..753a8365 100644 --- a/packages/angular/src/lib/auth/forms/forgot-password-auth-form.spec.ts +++ b/packages/angular/src/lib/auth/forms/forgot-password-auth-form.spec.ts @@ -26,9 +26,9 @@ import { } from "../../components/form"; import { PoliciesComponent } from "../../components/policies"; -// Mock the @firebase-ui/core module but preserve Angular providers -jest.mock("@firebase-ui/core", () => { - const originalModule = jest.requireActual("@firebase-ui/core"); +// Mock the @invertase/firebaseui-core module but preserve Angular providers +jest.mock("@invertase/firebaseui-core", () => { + const originalModule = jest.requireActual("@invertase/firebaseui-core"); return { ...originalModule, sendPasswordResetEmail: jest.fn(), diff --git a/packages/angular/src/lib/auth/forms/mfa/sms-multi-factor-assertion-form.ts b/packages/angular/src/lib/auth/forms/mfa/sms-multi-factor-assertion-form.ts index 8256dd57..52e00e8b 100644 --- a/packages/angular/src/lib/auth/forms/mfa/sms-multi-factor-assertion-form.ts +++ b/packages/angular/src/lib/auth/forms/mfa/sms-multi-factor-assertion-form.ts @@ -25,7 +25,7 @@ import { } from "../../../provider"; import { RecaptchaVerifier } from "@angular/fire/auth"; import { FormInputComponent, FormSubmitComponent, FormErrorMessageComponent } from "../../../components/form"; -import { FirebaseUIError, verifyPhoneNumber, signInWithMultiFactorAssertion } from "@firebase-ui/core"; +import { FirebaseUIError, verifyPhoneNumber, signInWithMultiFactorAssertion } from "@invertase/firebaseui-core"; import { PhoneAuthProvider, PhoneMultiFactorGenerator, type MultiFactorInfo } from "firebase/auth"; type PhoneMultiFactorInfo = MultiFactorInfo & { diff --git a/packages/angular/src/lib/auth/forms/mfa/sms-multi-factor-enrollment-form.spec.ts b/packages/angular/src/lib/auth/forms/mfa/sms-multi-factor-enrollment-form.spec.ts index 1bf2bfdf..e192cfba 100644 --- a/packages/angular/src/lib/auth/forms/mfa/sms-multi-factor-enrollment-form.spec.ts +++ b/packages/angular/src/lib/auth/forms/mfa/sms-multi-factor-enrollment-form.spec.ts @@ -22,8 +22,8 @@ import { FormInputComponent, FormSubmitComponent, FormErrorMessageComponent } fr import { CountrySelectorComponent } from "../../../components/country-selector"; import { PoliciesComponent } from "../../../components/policies"; -jest.mock("@firebase-ui/core", () => { - const originalModule = jest.requireActual("@firebase-ui/core"); +jest.mock("@invertase/firebaseui-core", () => { + const originalModule = jest.requireActual("@invertase/firebaseui-core"); return { ...originalModule, verifyPhoneNumber: jest.fn(), @@ -74,7 +74,7 @@ describe("", () => { enrollWithMultiFactorAssertion, formatPhoneNumber, FirebaseUIError, - } = require("@firebase-ui/core"); + } = require("@invertase/firebaseui-core"); const { multiFactor } = require("firebase/auth"); mockVerifyPhoneNumber = verifyPhoneNumber; diff --git a/packages/angular/src/lib/auth/forms/mfa/sms-multi-factor-enrollment-form.ts b/packages/angular/src/lib/auth/forms/mfa/sms-multi-factor-enrollment-form.ts index 2683759e..e0d2de36 100644 --- a/packages/angular/src/lib/auth/forms/mfa/sms-multi-factor-enrollment-form.ts +++ b/packages/angular/src/lib/auth/forms/mfa/sms-multi-factor-enrollment-form.ts @@ -25,7 +25,7 @@ import { enrollWithMultiFactorAssertion, formatPhoneNumber, FirebaseUIError, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { multiFactor } from "firebase/auth"; import { FormInputComponent, FormSubmitComponent, FormErrorMessageComponent } from "../../../components/form"; import { CountrySelectorComponent } from "../../../components/country-selector"; diff --git a/packages/angular/src/lib/auth/forms/mfa/totp-multi-factor-assertion-form.spec.ts b/packages/angular/src/lib/auth/forms/mfa/totp-multi-factor-assertion-form.spec.ts index ec780ba0..d597c786 100644 --- a/packages/angular/src/lib/auth/forms/mfa/totp-multi-factor-assertion-form.spec.ts +++ b/packages/angular/src/lib/auth/forms/mfa/totp-multi-factor-assertion-form.spec.ts @@ -18,8 +18,8 @@ import { render, screen, waitFor } from "@testing-library/angular"; import { TotpMultiFactorAssertionFormComponent } from "./totp-multi-factor-assertion-form"; import { signInWithMultiFactorAssertion, FirebaseUIError } from "../../../tests/test-helpers"; -jest.mock("@firebase-ui/core", () => { - const originalModule = jest.requireActual("@firebase-ui/core"); +jest.mock("@invertase/firebaseui-core", () => { + const originalModule = jest.requireActual("@invertase/firebaseui-core"); return { ...originalModule, signInWithMultiFactorAssertion: jest.fn(), @@ -42,7 +42,7 @@ describe("", () => { injectMultiFactorTotpAuthVerifyFormSchema, } = require("../../../tests/test-helpers"); - const { signInWithMultiFactorAssertion } = require("@firebase-ui/core"); + const { signInWithMultiFactorAssertion } = require("@invertase/firebaseui-core"); injectTranslation.mockImplementation((category: string, key: string) => { const mockTranslations: Record> = { diff --git a/packages/angular/src/lib/auth/forms/mfa/totp-multi-factor-assertion-form.ts b/packages/angular/src/lib/auth/forms/mfa/totp-multi-factor-assertion-form.ts index 6e479bf8..f0bdc5b7 100644 --- a/packages/angular/src/lib/auth/forms/mfa/totp-multi-factor-assertion-form.ts +++ b/packages/angular/src/lib/auth/forms/mfa/totp-multi-factor-assertion-form.ts @@ -18,7 +18,7 @@ import { CommonModule } from "@angular/common"; import { injectForm, injectStore, TanStackAppField, TanStackField } from "@tanstack/angular-form"; import { injectMultiFactorTotpAuthVerifyFormSchema, injectTranslation, injectUI } from "../../../provider"; import { FormInputComponent, FormSubmitComponent, FormErrorMessageComponent } from "../../../components/form"; -import { FirebaseUIError, signInWithMultiFactorAssertion } from "@firebase-ui/core"; +import { FirebaseUIError, signInWithMultiFactorAssertion } from "@invertase/firebaseui-core"; import { TotpMultiFactorGenerator, type MultiFactorInfo } from "firebase/auth"; @Component({ diff --git a/packages/angular/src/lib/auth/forms/mfa/totp-multi-factor-enrollment-form.ts b/packages/angular/src/lib/auth/forms/mfa/totp-multi-factor-enrollment-form.ts index fd34de97..0f90d391 100644 --- a/packages/angular/src/lib/auth/forms/mfa/totp-multi-factor-enrollment-form.ts +++ b/packages/angular/src/lib/auth/forms/mfa/totp-multi-factor-enrollment-form.ts @@ -23,7 +23,7 @@ import { generateTotpSecret, generateTotpQrCode, FirebaseUIError, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { FormInputComponent, FormSubmitComponent, FormErrorMessageComponent } from "../../../components/form"; import { PoliciesComponent } from "../../../components/policies"; import { diff --git a/packages/angular/src/lib/auth/forms/phone-auth-form.spec.ts b/packages/angular/src/lib/auth/forms/phone-auth-form.spec.ts index 9c233c3e..fd5f4a38 100644 --- a/packages/angular/src/lib/auth/forms/phone-auth-form.spec.ts +++ b/packages/angular/src/lib/auth/forms/phone-auth-form.spec.ts @@ -26,9 +26,9 @@ import { } from "../../components/form"; import { UserCredential } from "@angular/fire/auth"; -// Mock the @firebase-ui/core module but preserve Angular providers -jest.mock("@firebase-ui/core", () => { - const originalModule = jest.requireActual("@firebase-ui/core"); +// Mock the @invertase/firebaseui-core module but preserve Angular providers +jest.mock("@invertase/firebaseui-core", () => { + const originalModule = jest.requireActual("@invertase/firebaseui-core"); return { ...originalModule, verifyPhoneNumber: jest.fn(), @@ -49,7 +49,7 @@ describe("", () => { let mockFirebaseUIError: any; beforeEach(() => { - const { verifyPhoneNumber, confirmPhoneNumber, formatPhoneNumber, FirebaseUIError } = require("@firebase-ui/core"); + const { verifyPhoneNumber, confirmPhoneNumber, formatPhoneNumber, FirebaseUIError } = require("@invertase/firebaseui-core"); const { injectRecaptchaVerifier } = require("../../tests/test-helpers"); mockVerifyPhoneNumber = verifyPhoneNumber; mockConfirmPhoneNumber = confirmPhoneNumber; diff --git a/packages/angular/src/lib/tests/test-helpers.ts b/packages/angular/src/lib/tests/test-helpers.ts index 7beb8389..dcb04ab5 100644 --- a/packages/angular/src/lib/tests/test-helpers.ts +++ b/packages/angular/src/lib/tests/test-helpers.ts @@ -1,4 +1,4 @@ -// Mock implementations for @firebase-ui/core to avoid ESM issues in tests +// Mock implementations for @invertase/firebaseui-core to avoid ESM issues in tests export const sendPasswordResetEmail = jest.fn(); export const sendSignInLinkToEmail = jest.fn(); export const completeEmailLinkSignIn = jest.fn(); @@ -151,7 +151,7 @@ export const injectRedirectError = jest.fn().mockImplementation(() => { return () => undefined; }); -// TODO(ehesp): Unfortunately, we cannot use the real schemas here because of the ESM-only dependency on nanostores in @firebase-ui/core - this is a little +// TODO(ehesp): Unfortunately, we cannot use the real schemas here because of the ESM-only dependency on nanostores in @invertase/firebaseui-core - this is a little // risky as schema updates and tests need aligning, but this is a workaround for now. export const createForgotPasswordAuthFormSchema = jest.fn(() => { diff --git a/packages/core/GEMINI.md b/packages/core/GEMINI.md index 5661434d..f7d545f4 100644 --- a/packages/core/GEMINI.md +++ b/packages/core/GEMINI.md @@ -1,18 +1,18 @@ # Firebase UI Core -This document provides context for the `@firebase-ui/core` package. +This document provides context for the `@invertase/firebaseui-core` package. ## Overview -The `@firebase-ui/core` package is the framework-agnostic core of the Firebase UI for Web library. It provides a set of functions and utilities for building UIs with Firebase Authentication. The core package is designed to be used by framework-specific packages like `@firebase-ui/react` and `@firebase-ui/angular`, but it can also be used directly to build custom UIs. +The `@invertase/firebaseui-core` package is the framework-agnostic core of the Firebase UI for Web library. It provides a set of functions and utilities for building UIs with Firebase Authentication. The core package is designed to be used by framework-specific packages like `@invertase/firebaseui-react` and `@invertase/firebaseui-angular`, but it can also be used directly to build custom UIs. ## Usage The main entry point to the core package is the `initializeUI` function. This function takes a configuration object and returns a `FirebaseUI` instance, which is a `nanostores` store that holds the configuration and state of the UI. ```typescript -import { initializeUI } from "@firebase-ui/core"; -import { enUs } from "@firebase-ui/translations"; +import { initializeUI } from "@invertase/firebaseui-core"; +import { enUs } from "@invertase/firebaseui-translations"; import { firebaseApp } from "./firebase"; const ui = initializeUI({ @@ -27,7 +27,7 @@ const ui = initializeUI({ The `FirebaseUI` instance can then be used to call the various authentication functions, such as `signInWithEmailAndPassword`, `createUserWithEmailAndPassword`, etc. ```typescript -import { initializeUI, signInWithEmailAndPassword } from "@firebase-ui/core"; +import { initializeUI, signInWithEmailAndPassword } from "@invertase/firebaseui-core"; const ui = initializeUI({ // ... your config @@ -45,7 +45,7 @@ Behaviors are a way to customize the functionality of the Firebase UI. They are Behaviors are passed to the `initializeUI` function in the `behaviors` array. ```typescript -import { initializeUI, requireDisplayName } from "@firebase-ui/core"; +import { initializeUI, requireDisplayName } from "@invertase/firebaseui-core"; const ui = initializeUI({ // ... diff --git a/packages/react/GEMINI.md b/packages/react/GEMINI.md index e821961b..e273aa5d 100644 --- a/packages/react/GEMINI.md +++ b/packages/react/GEMINI.md @@ -1,10 +1,10 @@ # Firebase UI React -This document provides context for the `@firebase-ui/react` package. +This document provides context for the `@invertase/firebaseui-react` package. ## Overview -The `@firebase-ui/react` package provides a set of React components and hooks to integrate Firebase UI for Web into a React application. It builds on top of `@firebase-ui/core` and `@firebase-ui/styles` to provide a seamless integration with the React ecosystem. +The `@invertase/firebaseui-react` package provides a set of React components and hooks to integrate Firebase UI for Web into a React application. It builds on top of `@invertase/firebaseui-core` and `@invertase/firebaseui-styles` to provide a seamless integration with the React ecosystem. The package offers two main ways to build your UI: @@ -18,9 +18,9 @@ To use the React package, you must first initialize Firebase UI using `initializ ```tsx // In your main App.tsx or a similar entry point -import { initializeUI } from "@firebase-ui/core"; -import { enUs } from "@firebase-ui/translations"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { initializeUI } from "@invertase/firebaseui-core"; +import { enUs } from "@invertase/firebaseui-translations"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; import { firebaseApp } from "./firebase"; // Your firebase config // 1. Initialize the UI @@ -48,7 +48,7 @@ The package includes several pre-built "screen" components for a quick setup. Th **Example: Sign-In Screen** ```tsx -import { SignInScreen } from "@firebase-ui/react"; +import { SignInScreen } from "@invertase/firebaseui-react"; function MySignInPage() { return ; @@ -68,14 +68,14 @@ The main hook is `useUI()`. It returns the entire UI state object from the under **Example: Custom Button** ```tsx -import { useUI } from "@firebase-ui/react"; -import { signInWithEmailAndPassword } from "@firebase-ui/core"; +import { useUI } from "@invertase/firebaseui-react"; +import { signInWithEmailAndPassword } from "@invertase/firebaseui-core"; function CustomSignInButton() { const ui = useUI(); const handleClick = () => { - // Functions from @firebase-ui/core require the `ui` instance + // Functions from @invertase/firebaseui-core require the `ui` instance signInWithEmailAndPassword(ui, "user@example.com", "password"); }; diff --git a/packages/react/README.md b/packages/react/README.md index 44188ed0..ceac7dca 100644 --- a/packages/react/README.md +++ b/packages/react/README.md @@ -1,4 +1,4 @@ -# @firebase-ui/react +# @invertase/firebaseui-react This package contains the React components for the FirebaseUI. @@ -7,26 +7,26 @@ This package contains the React components for the FirebaseUI. Install the package from NPM: ```bash -npm install @firebase-ui/react +npm install @invertase/firebaseui-react ``` ## Usage ### Importing styles -To use the components, you need to import the styles from the `@firebase-ui/styles` package. +To use the components, you need to import the styles from the `@invertase/firebaseui-styles` package. If using Tailwind CSS, you can import the styles directly into your project. ```css @import "tailwindcss"; -@import "@firebase-ui/styles/src/base.css"; +@import "@invertase/firebaseui-styles/src/base.css"; ``` Alternatively, you can import the fully compiled CSS file into your project. ```tsx -import "@firebase-ui/styles/dist.css"; +import "@invertase/firebaseui-styles/dist.css"; ``` ### Initializing the UI @@ -42,7 +42,7 @@ const app = initializeApp({ ... }); Then, initialize the FirebaseUI with the configuration: ```tsx -import { initializeUI } from "@firebase-ui/react"; +import { initializeUI } from "@invertase/firebaseui-react"; const ui = initializeUI({ app, @@ -52,7 +52,7 @@ const ui = initializeUI({ Finally, wrap your app in the `ConfigProvider` component: ```tsx -import { ConfigProvider } from "@firebase-ui/react"; +import { ConfigProvider } from "@invertase/firebaseui-react"; createRoot(document.getElementById("root")!).render( @@ -65,10 +65,10 @@ createRoot(document.getElementById("root")!).render( ### Importing components -To use the components, you need to import the components from the `@firebase-ui/react` package. +To use the components, you need to import the components from the `@invertase/firebaseui-react` package. ```tsx -import { SignInAuthScreen, GoogleSignInButton } from "@firebase-ui/react"; +import { SignInAuthScreen, GoogleSignInButton } from "@invertase/firebaseui-react"; function App() { return ( diff --git a/packages/react/src/auth/forms/email-link-auth-form.test.tsx b/packages/react/src/auth/forms/email-link-auth-form.test.tsx index 06dd37b3..2eb86a53 100644 --- a/packages/react/src/auth/forms/email-link-auth-form.test.tsx +++ b/packages/react/src/auth/forms/email-link-auth-form.test.tsx @@ -23,9 +23,9 @@ import { useEmailLinkAuthFormCompleteSignIn, } from "./email-link-auth-form"; import { act } from "react"; -import { sendSignInLinkToEmail, completeEmailLinkSignIn } from "@firebase-ui/core"; +import { sendSignInLinkToEmail, completeEmailLinkSignIn } from "@invertase/firebaseui-core"; import { createFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { FirebaseUIProvider } from "~/context"; import type { UserCredential } from "firebase/auth"; @@ -37,8 +37,8 @@ vi.mock("firebase/auth", async () => { }; }); -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, sendSignInLinkToEmail: vi.fn(), diff --git a/packages/react/src/auth/forms/forgot-password-auth-form.test.tsx b/packages/react/src/auth/forms/forgot-password-auth-form.test.tsx index 7b8255c0..1b456f17 100644 --- a/packages/react/src/auth/forms/forgot-password-auth-form.test.tsx +++ b/packages/react/src/auth/forms/forgot-password-auth-form.test.tsx @@ -22,9 +22,9 @@ import { useForgotPasswordAuthFormAction, } from "./forgot-password-auth-form"; import { act } from "react"; -import { sendPasswordResetEmail } from "@firebase-ui/core"; +import { sendPasswordResetEmail } from "@invertase/firebaseui-core"; import { createFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { FirebaseUIProvider } from "~/context"; vi.mock("firebase/auth", async () => { @@ -35,8 +35,8 @@ vi.mock("firebase/auth", async () => { }; }); -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, sendPasswordResetEmail: vi.fn(), diff --git a/packages/react/src/auth/forms/mfa/sms-multi-factor-assertion-form.test.tsx b/packages/react/src/auth/forms/mfa/sms-multi-factor-assertion-form.test.tsx index e9d60664..4fbed2c6 100644 --- a/packages/react/src/auth/forms/mfa/sms-multi-factor-assertion-form.test.tsx +++ b/packages/react/src/auth/forms/mfa/sms-multi-factor-assertion-form.test.tsx @@ -22,13 +22,13 @@ import { useSmsMultiFactorAssertionVerifyFormAction, } from "./sms-multi-factor-assertion-form"; import { act } from "react"; -import { verifyPhoneNumber, signInWithMultiFactorAssertion } from "@firebase-ui/core"; +import { verifyPhoneNumber, signInWithMultiFactorAssertion } from "@invertase/firebaseui-core"; import { createFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { PhoneAuthProvider, PhoneMultiFactorGenerator } from "firebase/auth"; -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, verifyPhoneNumber: vi.fn(), diff --git a/packages/react/src/auth/forms/mfa/sms-multi-factor-assertion-form.tsx b/packages/react/src/auth/forms/mfa/sms-multi-factor-assertion-form.tsx index 21132eac..3ff52230 100644 --- a/packages/react/src/auth/forms/mfa/sms-multi-factor-assertion-form.tsx +++ b/packages/react/src/auth/forms/mfa/sms-multi-factor-assertion-form.tsx @@ -6,7 +6,7 @@ import { type RecaptchaVerifier, } from "firebase/auth"; -import { signInWithMultiFactorAssertion, FirebaseUIError, getTranslation, verifyPhoneNumber } from "@firebase-ui/core"; +import { signInWithMultiFactorAssertion, FirebaseUIError, getTranslation, verifyPhoneNumber } from "@invertase/firebaseui-core"; import { form } from "~/components/form"; import { useMultiFactorPhoneAuthNumberFormSchema, diff --git a/packages/react/src/auth/forms/mfa/sms-multi-factor-enrollment-form.test.tsx b/packages/react/src/auth/forms/mfa/sms-multi-factor-enrollment-form.test.tsx index dd8d41e3..bfcfb05f 100644 --- a/packages/react/src/auth/forms/mfa/sms-multi-factor-enrollment-form.test.tsx +++ b/packages/react/src/auth/forms/mfa/sms-multi-factor-enrollment-form.test.tsx @@ -23,13 +23,13 @@ import { MultiFactorEnrollmentVerifyPhoneNumberForm, } from "./sms-multi-factor-enrollment-form"; import { act } from "react"; -import { verifyPhoneNumber, enrollWithMultiFactorAssertion } from "@firebase-ui/core"; +import { verifyPhoneNumber, enrollWithMultiFactorAssertion } from "@invertase/firebaseui-core"; import { createFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { PhoneAuthProvider, PhoneMultiFactorGenerator } from "firebase/auth"; -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, verifyPhoneNumber: vi.fn(), diff --git a/packages/react/src/auth/forms/mfa/sms-multi-factor-enrollment-form.tsx b/packages/react/src/auth/forms/mfa/sms-multi-factor-enrollment-form.tsx index 84f0d2db..2af8538c 100644 --- a/packages/react/src/auth/forms/mfa/sms-multi-factor-enrollment-form.tsx +++ b/packages/react/src/auth/forms/mfa/sms-multi-factor-enrollment-form.tsx @@ -6,7 +6,7 @@ import { formatPhoneNumber, getTranslation, verifyPhoneNumber, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { CountrySelector, type CountrySelectorRef } from "~/components/country-selector"; import { form } from "~/components/form"; import { diff --git a/packages/react/src/auth/forms/mfa/totp-multi-factor-assertion-form.test.tsx b/packages/react/src/auth/forms/mfa/totp-multi-factor-assertion-form.test.tsx index 4a20ee06..77eda738 100644 --- a/packages/react/src/auth/forms/mfa/totp-multi-factor-assertion-form.test.tsx +++ b/packages/react/src/auth/forms/mfa/totp-multi-factor-assertion-form.test.tsx @@ -22,13 +22,13 @@ import { useTotpMultiFactorAssertionFormAction, } from "./totp-multi-factor-assertion-form"; import { act } from "react"; -import { signInWithMultiFactorAssertion } from "@firebase-ui/core"; +import { signInWithMultiFactorAssertion } from "@invertase/firebaseui-core"; import { createFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { TotpMultiFactorGenerator } from "firebase/auth"; -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, signInWithMultiFactorAssertion: vi.fn(), diff --git a/packages/react/src/auth/forms/mfa/totp-multi-factor-assertion-form.tsx b/packages/react/src/auth/forms/mfa/totp-multi-factor-assertion-form.tsx index 152385aa..8b4ad8bb 100644 --- a/packages/react/src/auth/forms/mfa/totp-multi-factor-assertion-form.tsx +++ b/packages/react/src/auth/forms/mfa/totp-multi-factor-assertion-form.tsx @@ -1,6 +1,6 @@ import { useCallback } from "react"; import { TotpMultiFactorGenerator, type MultiFactorInfo } from "firebase/auth"; -import { signInWithMultiFactorAssertion, FirebaseUIError, getTranslation } from "@firebase-ui/core"; +import { signInWithMultiFactorAssertion, FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { form } from "~/components/form"; import { useMultiFactorTotpAuthVerifyFormSchema, useUI } from "~/hooks"; diff --git a/packages/react/src/auth/forms/mfa/totp-multi-factor-enrollment-form.test.tsx b/packages/react/src/auth/forms/mfa/totp-multi-factor-enrollment-form.test.tsx index 370e9289..aae9a8ee 100644 --- a/packages/react/src/auth/forms/mfa/totp-multi-factor-enrollment-form.test.tsx +++ b/packages/react/src/auth/forms/mfa/totp-multi-factor-enrollment-form.test.tsx @@ -23,13 +23,13 @@ import { MultiFactorEnrollmentVerifyTotpForm, } from "./totp-multi-factor-enrollment-form"; import { act } from "react"; -import { generateTotpSecret, generateTotpQrCode, enrollWithMultiFactorAssertion } from "@firebase-ui/core"; +import { generateTotpSecret, generateTotpQrCode, enrollWithMultiFactorAssertion } from "@invertase/firebaseui-core"; import { createFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { TotpMultiFactorGenerator } from "firebase/auth"; -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, generateTotpSecret: vi.fn(), diff --git a/packages/react/src/auth/forms/mfa/totp-multi-factor-enrollment-form.tsx b/packages/react/src/auth/forms/mfa/totp-multi-factor-enrollment-form.tsx index fa9806cf..bdf2ee23 100644 --- a/packages/react/src/auth/forms/mfa/totp-multi-factor-enrollment-form.tsx +++ b/packages/react/src/auth/forms/mfa/totp-multi-factor-enrollment-form.tsx @@ -6,7 +6,7 @@ import { generateTotpQrCode, generateTotpSecret, getTranslation, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { form } from "~/components/form"; import { useMultiFactorTotpAuthNumberFormSchema, useMultiFactorTotpAuthVerifyFormSchema, useUI } from "~/hooks"; diff --git a/packages/react/src/auth/forms/multi-factor-auth-assertion-form.test.tsx b/packages/react/src/auth/forms/multi-factor-auth-assertion-form.test.tsx index 5c567759..2f6e3c19 100644 --- a/packages/react/src/auth/forms/multi-factor-auth-assertion-form.test.tsx +++ b/packages/react/src/auth/forms/multi-factor-auth-assertion-form.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup } from "@testing-library/react"; import { MultiFactorAuthAssertionForm } from "~/auth/forms/multi-factor-auth-assertion-form"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { FactorId, MultiFactorResolver, PhoneMultiFactorGenerator, TotpMultiFactorGenerator } from "firebase/auth"; vi.mock("~/auth/forms/mfa/sms-multi-factor-assertion-form", () => ({ diff --git a/packages/react/src/auth/forms/multi-factor-auth-assertion-form.tsx b/packages/react/src/auth/forms/multi-factor-auth-assertion-form.tsx index e60f1c45..46e5e523 100644 --- a/packages/react/src/auth/forms/multi-factor-auth-assertion-form.tsx +++ b/packages/react/src/auth/forms/multi-factor-auth-assertion-form.tsx @@ -4,7 +4,7 @@ import { useUI } from "~/hooks"; import { TotpMultiFactorAssertionForm } from "../forms/mfa/totp-multi-factor-assertion-form"; import { SmsMultiFactorAssertionForm } from "../forms/mfa/sms-multi-factor-assertion-form"; import { Button } from "~/components/button"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; export function MultiFactorAuthAssertionForm() { const ui = useUI(); diff --git a/packages/react/src/auth/forms/multi-factor-auth-enrollment-form.test.tsx b/packages/react/src/auth/forms/multi-factor-auth-enrollment-form.test.tsx index 7bc796ab..e7364417 100644 --- a/packages/react/src/auth/forms/multi-factor-auth-enrollment-form.test.tsx +++ b/packages/react/src/auth/forms/multi-factor-auth-enrollment-form.test.tsx @@ -18,7 +18,7 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup } from "@testing-library/react"; import { MultiFactorAuthEnrollmentForm } from "./multi-factor-auth-enrollment-form"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { FactorId } from "firebase/auth"; vi.mock("./mfa/sms-multi-factor-enrollment-form", () => ({ diff --git a/packages/react/src/auth/forms/multi-factor-auth-enrollment-form.tsx b/packages/react/src/auth/forms/multi-factor-auth-enrollment-form.tsx index 2311ee19..336006f0 100644 --- a/packages/react/src/auth/forms/multi-factor-auth-enrollment-form.tsx +++ b/packages/react/src/auth/forms/multi-factor-auth-enrollment-form.tsx @@ -1,5 +1,5 @@ import { FactorId } from "firebase/auth"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { type ComponentProps, useState } from "react"; import { SmsMultiFactorEnrollmentForm } from "./mfa/sms-multi-factor-enrollment-form"; diff --git a/packages/react/src/auth/forms/sign-in-auth-form.test.tsx b/packages/react/src/auth/forms/sign-in-auth-form.test.tsx index d2cf05ce..de9ffa53 100644 --- a/packages/react/src/auth/forms/sign-in-auth-form.test.tsx +++ b/packages/react/src/auth/forms/sign-in-auth-form.test.tsx @@ -18,9 +18,9 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, renderHook, cleanup } from "@testing-library/react"; import { SignInAuthForm, useSignInAuthForm, useSignInAuthFormAction } from "./sign-in-auth-form"; import { act } from "react"; -import { signInWithEmailAndPassword } from "@firebase-ui/core"; +import { signInWithEmailAndPassword } from "@invertase/firebaseui-core"; import { createFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import type { UserCredential } from "firebase/auth"; import { FirebaseUIProvider } from "~/context"; @@ -32,8 +32,8 @@ vi.mock("firebase/auth", async () => { }; }); -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, signInWithEmailAndPassword: vi.fn(), diff --git a/packages/react/src/auth/forms/sign-up-auth-form.test.tsx b/packages/react/src/auth/forms/sign-up-auth-form.test.tsx index 8e115f38..d4a14fdd 100644 --- a/packages/react/src/auth/forms/sign-up-auth-form.test.tsx +++ b/packages/react/src/auth/forms/sign-up-auth-form.test.tsx @@ -18,9 +18,9 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, renderHook, cleanup } from "@testing-library/react"; import { SignUpAuthForm, useSignUpAuthForm, useSignUpAuthFormAction, useRequireDisplayName } from "./sign-up-auth-form"; import { act } from "react"; -import { createUserWithEmailAndPassword } from "@firebase-ui/core"; +import { createUserWithEmailAndPassword } from "@invertase/firebaseui-core"; import { createFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import type { UserCredential } from "firebase/auth"; import { FirebaseUIProvider } from "~/context"; @@ -32,8 +32,8 @@ vi.mock("firebase/auth", async () => { }; }); -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, createUserWithEmailAndPassword: vi.fn(), diff --git a/packages/react/src/auth/oauth/oauth-button.test.tsx b/packages/react/src/auth/oauth/oauth-button.test.tsx index ecd6d5b0..6978c22d 100644 --- a/packages/react/src/auth/oauth/oauth-button.test.tsx +++ b/packages/react/src/auth/oauth/oauth-button.test.tsx @@ -17,11 +17,11 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, fireEvent, cleanup, renderHook, act } from "@testing-library/react"; import { OAuthButton, useSignInWithProvider } from "./oauth-button"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { enUs, registerLocale } from "@firebase-ui/translations"; +import { enUs, registerLocale } from "@invertase/firebaseui-translations"; import type { AuthProvider, UserCredential } from "firebase/auth"; import { ComponentProps } from "react"; -import { signInWithProvider } from "@firebase-ui/core"; +import { signInWithProvider } from "@invertase/firebaseui-core"; import { FirebaseError } from "firebase/app"; vi.mock("firebase/auth", async () => { @@ -32,7 +32,7 @@ vi.mock("firebase/auth", async () => { }; }); -vi.mock("@firebase-ui/core", async (importOriginal) => { +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { const mod = await importOriginal(); return { ...(mod as object), @@ -133,7 +133,7 @@ describe("", () => { }); it("displays FirebaseUIError message when FirebaseUIError occurs", async () => { - const { FirebaseUIError } = await import("@firebase-ui/core"); + const { FirebaseUIError } = await import("@invertase/firebaseui-core"); const mockSignInWithProvider = vi.mocked(signInWithProvider); const ui = createMockUI(); const mockError = new FirebaseUIError( @@ -198,7 +198,7 @@ describe("", () => { }); it("clears error when button is clicked again", async () => { - const { FirebaseUIError } = await import("@firebase-ui/core"); + const { FirebaseUIError } = await import("@invertase/firebaseui-core"); const mockSignInWithProvider = vi.mocked(signInWithProvider); const ui = createMockUI(); @@ -271,7 +271,7 @@ describe("useSignInWithProvider", () => { }); it("sets error state when FirebaseUIError occurs", async () => { - const { FirebaseUIError } = await import("@firebase-ui/core"); + const { FirebaseUIError } = await import("@invertase/firebaseui-core"); const mockSignInWithProvider = vi.mocked(signInWithProvider); const ui = createMockUI(); const mockError = new FirebaseUIError( @@ -327,7 +327,7 @@ describe("useSignInWithProvider", () => { }); it("clears error when callback is called again", async () => { - const { FirebaseUIError } = await import("@firebase-ui/core"); + const { FirebaseUIError } = await import("@invertase/firebaseui-core"); const mockSignInWithProvider = vi.mocked(signInWithProvider); const ui = createMockUI(); diff --git a/packages/react/src/auth/screens/multi-factor-auth-enrollment-screen.test.tsx b/packages/react/src/auth/screens/multi-factor-auth-enrollment-screen.test.tsx index d43e09ae..702b21bc 100644 --- a/packages/react/src/auth/screens/multi-factor-auth-enrollment-screen.test.tsx +++ b/packages/react/src/auth/screens/multi-factor-auth-enrollment-screen.test.tsx @@ -18,7 +18,7 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { MultiFactorAuthEnrollmentScreen } from "~/auth/screens/multi-factor-auth-enrollment-screen"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { FactorId } from "firebase/auth"; vi.mock("~/auth/forms/multi-factor-auth-enrollment-form", () => ({ diff --git a/packages/react/src/auth/screens/multi-factor-auth-enrollment-screen.tsx b/packages/react/src/auth/screens/multi-factor-auth-enrollment-screen.tsx index d7150f37..7c427592 100644 --- a/packages/react/src/auth/screens/multi-factor-auth-enrollment-screen.tsx +++ b/packages/react/src/auth/screens/multi-factor-auth-enrollment-screen.tsx @@ -1,4 +1,4 @@ -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { Card, CardContent, CardHeader, CardSubtitle, CardTitle } from "~/components/card"; import { useUI } from "~/hooks"; import { diff --git a/packages/react/src/auth/screens/oauth-screen.test.tsx b/packages/react/src/auth/screens/oauth-screen.test.tsx index 05e33cd9..33794692 100644 --- a/packages/react/src/auth/screens/oauth-screen.test.tsx +++ b/packages/react/src/auth/screens/oauth-screen.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { OAuthScreen } from "~/auth/screens/oauth-screen"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { MultiFactorResolver } from "firebase/auth"; vi.mock("~/components/policies", async (originalModule) => { diff --git a/packages/react/src/auth/screens/oauth-screen.tsx b/packages/react/src/auth/screens/oauth-screen.tsx index ac129f45..f8deab5e 100644 --- a/packages/react/src/auth/screens/oauth-screen.tsx +++ b/packages/react/src/auth/screens/oauth-screen.tsx @@ -14,7 +14,7 @@ * limitations under the License. */ -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { type PropsWithChildren } from "react"; import { useUI } from "~/hooks"; import { Card, CardContent, CardHeader, CardSubtitle, CardTitle } from "~/components/card"; diff --git a/packages/react/src/auth/screens/phone-auth-screen.test.tsx b/packages/react/src/auth/screens/phone-auth-screen.test.tsx index 090fa60a..a0c58039 100644 --- a/packages/react/src/auth/screens/phone-auth-screen.test.tsx +++ b/packages/react/src/auth/screens/phone-auth-screen.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { PhoneAuthScreen } from "~/auth/screens/phone-auth-screen"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { MultiFactorResolver } from "firebase/auth"; vi.mock("~/auth/forms/phone-auth-form", () => ({ diff --git a/packages/react/src/auth/screens/sign-in-auth-screen.test.tsx b/packages/react/src/auth/screens/sign-in-auth-screen.test.tsx index 6ef6a76e..aca1cb27 100644 --- a/packages/react/src/auth/screens/sign-in-auth-screen.test.tsx +++ b/packages/react/src/auth/screens/sign-in-auth-screen.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, fireEvent, cleanup } from "@testing-library/react"; import { SignInAuthScreen } from "~/auth/screens/sign-in-auth-screen"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { MultiFactorResolver } from "firebase/auth"; vi.mock("~/auth/forms/sign-in-auth-form", () => ({ diff --git a/packages/react/src/auth/screens/sign-up-auth-screen.test.tsx b/packages/react/src/auth/screens/sign-up-auth-screen.test.tsx index 9765a0c2..36bcb441 100644 --- a/packages/react/src/auth/screens/sign-up-auth-screen.test.tsx +++ b/packages/react/src/auth/screens/sign-up-auth-screen.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, fireEvent, cleanup } from "@testing-library/react"; import { SignUpAuthScreen } from "~/auth/screens/sign-up-auth-screen"; import { CreateFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { MultiFactorResolver } from "firebase/auth"; vi.mock("~/auth/forms/sign-up-auth-form", () => ({ diff --git a/packages/react/src/auth/screens/sign-up-auth-screen.tsx b/packages/react/src/auth/screens/sign-up-auth-screen.tsx index 70ad50cd..1646618e 100644 --- a/packages/react/src/auth/screens/sign-up-auth-screen.tsx +++ b/packages/react/src/auth/screens/sign-up-auth-screen.tsx @@ -19,7 +19,7 @@ import { Divider } from "~/components/divider"; import { useUI } from "~/hooks"; import { Card, CardContent, CardHeader, CardSubtitle, CardTitle } from "../../components/card"; import { SignUpAuthForm, type SignUpAuthFormProps } from "../forms/sign-up-auth-form"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { RedirectError } from "~/components/redirect-error"; import { MultiFactorAuthAssertionForm } from "../forms/multi-factor-auth-assertion-form"; diff --git a/packages/react/src/hooks.test.tsx b/packages/react/src/hooks.test.tsx index ca0c17fe..84072cae 100644 --- a/packages/react/src/hooks.test.tsx +++ b/packages/react/src/hooks.test.tsx @@ -29,7 +29,7 @@ import { useRecaptchaVerifier, } from "./hooks"; import { createFirebaseUIProvider, createMockUI } from "~/tests/utils"; -import { registerLocale, enUs } from "@firebase-ui/translations"; +import { registerLocale, enUs } from "@invertase/firebaseui-translations"; import type { RecaptchaVerifier } from "firebase/auth"; // Mock RecaptchaVerifier from firebase/auth diff --git a/packages/react/src/hooks.ts b/packages/react/src/hooks.ts index 920685a5..77c0fcb1 100644 --- a/packages/react/src/hooks.ts +++ b/packages/react/src/hooks.ts @@ -28,7 +28,7 @@ import { createSignInAuthFormSchema, createSignUpAuthFormSchema, getBehavior, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { FirebaseUIContext } from "./context"; /** diff --git a/packages/react/tests/utils.tsx b/packages/react/tests/utils.tsx index 9815b191..2b62c813 100644 --- a/packages/react/tests/utils.tsx +++ b/packages/react/tests/utils.tsx @@ -1,7 +1,7 @@ import type { FirebaseApp } from "firebase/app"; import type { Auth } from "firebase/auth"; -import { enUs } from "@firebase-ui/translations"; -import { Behavior, FirebaseUI, FirebaseUIOptions, FirebaseUIStore, initializeUI } from "@firebase-ui/core"; +import { enUs } from "@invertase/firebaseui-translations"; +import { Behavior, FirebaseUI, FirebaseUIOptions, FirebaseUIStore, initializeUI } from "@invertase/firebaseui-core"; import { FirebaseUIProvider } from "../src/context"; export function createMockUI(overrides?: Partial): FirebaseUIStore { diff --git a/packages/shadcn/README.md b/packages/shadcn/README.md index c999969a..95a226a0 100644 --- a/packages/shadcn/README.md +++ b/packages/shadcn/README.md @@ -3,7 +3,7 @@ > This package is private and not published to npm. -The `@firebase-ui/shadcn` package exposes React components via the [Shadcn Registy](https://ui.shadcn.com/docs/registry), allowing users +The shadcn package exposes React components via the [Shadcn Registy](https://ui.shadcn.com/docs/registry), allowing users to take advantage of Firebase UI for Web logic but bringing their own UI via Shadcn. To get started, add the `@firebase` registry [namespace](https://ui.shadcn.com/docs/registry/namespace) to your `components.json`: @@ -17,7 +17,7 @@ To get started, add the `@firebase` registry [namespace](https://ui.shadcn.com/d } ``` -Next install one of the registry components - this will automatically install the `@firebase-ui/react` for you, +Next install one of the registry components - this will automatically install the `@invertase/firebaseui-react` for you, alongwith adding any additionally required components. ```bash @@ -27,8 +27,8 @@ npx shadcn@latest add @firebase/sign-up-auth-screen Before consuming a component, ensure you have initalized your Firebase UI application: ```tsx -import { initalizeUI } from '@firebase-ui/core'; -import { FirebaseUIProvider } from '@firebase-ui/react'; +import { initalizeUI } from '@invertase/firebaseui-core'; +import { FirebaseUIProvider } from '@invertase/firebaseui-react'; import { SignInAuthScreen } from '@/components/sign-in-auth-screen'; const ui = initalizeUI(...); diff --git a/packages/shadcn/package.json b/packages/shadcn/package.json index dba277a1..b401c09b 100644 --- a/packages/shadcn/package.json +++ b/packages/shadcn/package.json @@ -10,7 +10,7 @@ "test": "vitest run" }, "devDependencies": { - "@firebase-ui/translations": "workspace:*", + "@invertase/firebaseui-translations": "workspace:*", "@tailwindcss/vite": "catalog:", "@testing-library/jest-dom": "catalog:", "@testing-library/react": "catalog:", @@ -33,8 +33,8 @@ "yargs-parser": "^22.0.0" }, "dependencies": { - "@firebase-ui/core": "workspace:*", - "@firebase-ui/react": "workspace:*", + "@invertase/firebaseui-core": "workspace:*", + "@invertase/firebaseui-react": "workspace:*", "@hookform/resolvers": "^5.2.2", "@radix-ui/react-label": "^2.1.7", "@radix-ui/react-select": "^2.2.6", diff --git a/packages/shadcn/public/apple-sign-in-button.json b/packages/shadcn/public/apple-sign-in-button.json index 2622b88f..bf77e281 100644 --- a/packages/shadcn/public/apple-sign-in-button.json +++ b/packages/shadcn/public/apple-sign-in-button.json @@ -5,7 +5,7 @@ "title": "Apple Sign In Button", "description": "A button component for Apple OAuth authentication.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "https://fir-ui-shadcn.web.app/oauth-button.json" @@ -13,7 +13,7 @@ "files": [ { "path": "src/registry/apple-sign-in-button.tsx", - "content": "\"use client\";\n\nimport { OAuthProvider } from \"firebase/auth\";\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { useUI, type AppleSignInButtonProps, AppleLogo } from \"@firebase-ui/react\";\n\nimport { OAuthButton } from \"@/registry/oauth-button\";\n\nexport type { AppleSignInButtonProps };\n\nexport function AppleSignInButton({ provider, themed }: AppleSignInButtonProps) {\n const ui = useUI();\n\n return (\n \n \n {getTranslation(ui, \"labels\", \"signInWithApple\")}\n \n );\n}\n", + "content": "\"use client\";\n\nimport { OAuthProvider } from \"firebase/auth\";\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI, type AppleSignInButtonProps, AppleLogo } from \"@invertase/firebaseui-react\";\n\nimport { OAuthButton } from \"@/registry/oauth-button\";\n\nexport type { AppleSignInButtonProps };\n\nexport function AppleSignInButton({ provider, themed }: AppleSignInButtonProps) {\n const ui = useUI();\n\n return (\n \n \n {getTranslation(ui, \"labels\", \"signInWithApple\")}\n \n );\n}\n", "type": "registry:component" } ], diff --git a/packages/shadcn/public/country-selector.json b/packages/shadcn/public/country-selector.json index 5ff8e95d..288a127d 100644 --- a/packages/shadcn/public/country-selector.json +++ b/packages/shadcn/public/country-selector.json @@ -5,7 +5,7 @@ "title": "Country Selector", "description": "A country selector component for phone number input with country codes and flags.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "select" @@ -13,7 +13,7 @@ "files": [ { "path": "src/registry/country-selector.tsx", - "content": "\"use client\";\n\nimport { forwardRef, useCallback, useImperativeHandle, useState } from \"react\";\nimport type { CountryCode, CountryData } from \"@firebase-ui/core\";\nimport {\n type CountrySelectorRef,\n type CountrySelectorProps,\n useCountries,\n useDefaultCountry,\n} from \"@firebase-ui/react\";\n\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\";\n\nexport type { CountrySelectorRef };\n\nexport const CountrySelector = forwardRef((_props, ref) => {\n const countries = useCountries();\n const defaultCountry = useDefaultCountry();\n const [selected, setSelected] = useState(defaultCountry);\n\n const setCountry = useCallback(\n (code: CountryCode) => {\n const foundCountry = countries.find((country) => country.code === code);\n setSelected(foundCountry!);\n },\n [countries]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n getCountry: () => selected,\n setCountry,\n }),\n [selected, setCountry]\n );\n\n return (\n \n );\n});\n\nCountrySelector.displayName = \"CountrySelector\";\n", + "content": "\"use client\";\n\nimport { forwardRef, useCallback, useImperativeHandle, useState } from \"react\";\nimport type { CountryCode, CountryData } from \"@invertase/firebaseui-core\";\nimport {\n type CountrySelectorRef,\n type CountrySelectorProps,\n useCountries,\n useDefaultCountry,\n} from \"@invertase/firebaseui-react\";\n\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"@/components/ui/select\";\n\nexport type { CountrySelectorRef };\n\nexport const CountrySelector = forwardRef((_props, ref) => {\n const countries = useCountries();\n const defaultCountry = useDefaultCountry();\n const [selected, setSelected] = useState(defaultCountry);\n\n const setCountry = useCallback(\n (code: CountryCode) => {\n const foundCountry = countries.find((country) => country.code === code);\n setSelected(foundCountry!);\n },\n [countries]\n );\n\n useImperativeHandle(\n ref,\n () => ({\n getCountry: () => selected,\n setCountry,\n }),\n [selected, setCountry]\n );\n\n return (\n \n );\n});\n\nCountrySelector.displayName = \"CountrySelector\";\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/email-link-auth-form.json b/packages/shadcn/public/email-link-auth-form.json index ecc2a8a5..eae020ee 100644 --- a/packages/shadcn/public/email-link-auth-form.json +++ b/packages/shadcn/public/email-link-auth-form.json @@ -5,7 +5,7 @@ "title": "Email Link Auth Form", "description": "A form allowing users to sign in via email link.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "input", @@ -16,7 +16,7 @@ "files": [ { "path": "src/registry/email-link-auth-form.tsx", - "content": "\"use client\";\n\nimport type { EmailLinkAuthFormSchema } from \"@firebase-ui/core\";\nimport {\n useUI,\n useEmailLinkAuthFormAction,\n useEmailLinkAuthFormSchema,\n useEmailLinkAuthFormCompleteSignIn,\n type EmailLinkAuthFormProps,\n} from \"@firebase-ui/react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport { FirebaseUIError, getTranslation } from \"@firebase-ui/core\";\nimport { useState } from \"react\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Button } from \"@/components/ui/button\";\nimport { Policies } from \"./policies\";\n\nexport type { EmailLinkAuthFormProps };\n\nexport function EmailLinkAuthForm(props: EmailLinkAuthFormProps) {\n const { onEmailSent, onSignIn } = props;\n const ui = useUI();\n const schema = useEmailLinkAuthFormSchema();\n const action = useEmailLinkAuthFormAction();\n const [emailSent, setEmailSent] = useState(false);\n\n const form = useForm({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n email: \"\",\n },\n });\n\n useEmailLinkAuthFormCompleteSignIn(onSignIn);\n\n async function onSubmit(values: EmailLinkAuthFormSchema) {\n try {\n await action(values);\n setEmailSent(true);\n onEmailSent?.();\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n }\n\n if (emailSent) {\n return (\n
\n
{getTranslation(ui, \"messages\", \"signInLinkSent\")}
\n
\n );\n }\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"emailAddress\")}\n \n \n \n \n \n )}\n />\n \n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n", + "content": "\"use client\";\n\nimport type { EmailLinkAuthFormSchema } from \"@invertase/firebaseui-core\";\nimport {\n useUI,\n useEmailLinkAuthFormAction,\n useEmailLinkAuthFormSchema,\n useEmailLinkAuthFormCompleteSignIn,\n type EmailLinkAuthFormProps,\n} from \"@invertase/firebaseui-react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport { FirebaseUIError, getTranslation } from \"@invertase/firebaseui-core\";\nimport { useState } from \"react\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Button } from \"@/components/ui/button\";\nimport { Policies } from \"./policies\";\n\nexport type { EmailLinkAuthFormProps };\n\nexport function EmailLinkAuthForm(props: EmailLinkAuthFormProps) {\n const { onEmailSent, onSignIn } = props;\n const ui = useUI();\n const schema = useEmailLinkAuthFormSchema();\n const action = useEmailLinkAuthFormAction();\n const [emailSent, setEmailSent] = useState(false);\n\n const form = useForm({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n email: \"\",\n },\n });\n\n useEmailLinkAuthFormCompleteSignIn(onSignIn);\n\n async function onSubmit(values: EmailLinkAuthFormSchema) {\n try {\n await action(values);\n setEmailSent(true);\n onEmailSent?.();\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n }\n\n if (emailSent) {\n return (\n
\n
{getTranslation(ui, \"messages\", \"signInLinkSent\")}
\n
\n );\n }\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"emailAddress\")}\n \n \n \n \n \n )}\n />\n \n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/email-link-auth-screen.json b/packages/shadcn/public/email-link-auth-screen.json index edfabe31..eb9be3e2 100644 --- a/packages/shadcn/public/email-link-auth-screen.json +++ b/packages/shadcn/public/email-link-auth-screen.json @@ -5,7 +5,7 @@ "title": "Email Link Auth Screen", "description": "A screen allowing users to sign in via email link.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "separator", @@ -15,7 +15,7 @@ "files": [ { "path": "src/registry/email-link-auth-screen.tsx", - "content": "\"use client\";\n\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { useUI, type EmailLinkAuthScreenProps } from \"@firebase-ui/react\";\n\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { EmailLinkAuthForm } from \"@/registry/email-link-auth-form\";\n\nexport type { EmailLinkAuthScreenProps };\n\nexport function EmailLinkAuthScreen({ children, ...props }: EmailLinkAuthScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"signIn\");\n const subtitleText = getTranslation(ui, \"prompts\", \"signInToAccount\");\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n \n {children ? (\n <>\n {getTranslation(ui, \"messages\", \"dividerOr\")}\n
{children}
\n \n ) : null}\n
\n
\n
\n );\n}\n", + "content": "\"use client\";\n\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI, type EmailLinkAuthScreenProps } from \"@invertase/firebaseui-react\";\n\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { EmailLinkAuthForm } from \"@/registry/email-link-auth-form\";\n\nexport type { EmailLinkAuthScreenProps };\n\nexport function EmailLinkAuthScreen({ children, ...props }: EmailLinkAuthScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"signIn\");\n const subtitleText = getTranslation(ui, \"prompts\", \"signInToAccount\");\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n \n {children ? (\n <>\n {getTranslation(ui, \"messages\", \"dividerOr\")}\n
{children}
\n \n ) : null}\n
\n
\n
\n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/facebook-sign-in-button.json b/packages/shadcn/public/facebook-sign-in-button.json index d0d81cc0..5e442922 100644 --- a/packages/shadcn/public/facebook-sign-in-button.json +++ b/packages/shadcn/public/facebook-sign-in-button.json @@ -5,7 +5,7 @@ "title": "Facebook Sign In Button", "description": "A button component for Facebook OAuth authentication.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "https://fir-ui-shadcn.web.app/oauth-button.json" @@ -13,7 +13,7 @@ "files": [ { "path": "src/registry/facebook-sign-in-button.tsx", - "content": "\"use client\";\n\nimport { FacebookAuthProvider } from \"firebase/auth\";\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { useUI, type FacebookSignInButtonProps, FacebookLogo } from \"@firebase-ui/react\";\n\nimport { OAuthButton } from \"@/registry/oauth-button\";\n\nexport type { FacebookSignInButtonProps };\n\nexport function FacebookSignInButton({ provider, themed }: FacebookSignInButtonProps) {\n const ui = useUI();\n\n return (\n \n \n {getTranslation(ui, \"labels\", \"signInWithFacebook\")}\n \n );\n}\n", + "content": "\"use client\";\n\nimport { FacebookAuthProvider } from \"firebase/auth\";\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI, type FacebookSignInButtonProps, FacebookLogo } from \"@invertase/firebaseui-react\";\n\nimport { OAuthButton } from \"@/registry/oauth-button\";\n\nexport type { FacebookSignInButtonProps };\n\nexport function FacebookSignInButton({ provider, themed }: FacebookSignInButtonProps) {\n const ui = useUI();\n\n return (\n \n \n {getTranslation(ui, \"labels\", \"signInWithFacebook\")}\n \n );\n}\n", "type": "registry:component" } ], diff --git a/packages/shadcn/public/forgot-password-auth-form.json b/packages/shadcn/public/forgot-password-auth-form.json index 13b9caa7..ed906b4d 100644 --- a/packages/shadcn/public/forgot-password-auth-form.json +++ b/packages/shadcn/public/forgot-password-auth-form.json @@ -5,7 +5,7 @@ "title": "Forgot Password Auth Form", "description": "A form allowing users to reset their password via email.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "input", @@ -16,7 +16,7 @@ "files": [ { "path": "src/registry/forgot-password-auth-form.tsx", - "content": "\"use client\";\n\nimport type { ForgotPasswordAuthFormSchema } from \"@firebase-ui/core\";\nimport {\n useForgotPasswordAuthFormAction,\n useForgotPasswordAuthFormSchema,\n useUI,\n type ForgotPasswordAuthFormProps,\n} from \"@firebase-ui/react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport { FirebaseUIError, getTranslation } from \"@firebase-ui/core\";\nimport { useState } from \"react\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Button } from \"@/components/ui/button\";\nimport { Policies } from \"./policies\";\n\nexport type { ForgotPasswordAuthFormProps };\n\nexport function ForgotPasswordAuthForm(props: ForgotPasswordAuthFormProps) {\n const ui = useUI();\n const schema = useForgotPasswordAuthFormSchema();\n const action = useForgotPasswordAuthFormAction();\n const [emailSent, setEmailSent] = useState(false);\n\n const form = useForm({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n email: \"\",\n },\n });\n\n async function onSubmit(values: ForgotPasswordAuthFormSchema) {\n try {\n await action(values);\n setEmailSent(true);\n props.onPasswordSent?.();\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n }\n\n if (emailSent) {\n return (\n
\n
{getTranslation(ui, \"messages\", \"checkEmailForReset\")}
\n
\n );\n }\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"emailAddress\")}\n \n \n \n \n \n )}\n />\n \n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n {props.onBackToSignInClick ? (\n \n ) : null}\n \n \n );\n}\n", + "content": "\"use client\";\n\nimport type { ForgotPasswordAuthFormSchema } from \"@invertase/firebaseui-core\";\nimport {\n useForgotPasswordAuthFormAction,\n useForgotPasswordAuthFormSchema,\n useUI,\n type ForgotPasswordAuthFormProps,\n} from \"@invertase/firebaseui-react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport { FirebaseUIError, getTranslation } from \"@invertase/firebaseui-core\";\nimport { useState } from \"react\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Button } from \"@/components/ui/button\";\nimport { Policies } from \"./policies\";\n\nexport type { ForgotPasswordAuthFormProps };\n\nexport function ForgotPasswordAuthForm(props: ForgotPasswordAuthFormProps) {\n const ui = useUI();\n const schema = useForgotPasswordAuthFormSchema();\n const action = useForgotPasswordAuthFormAction();\n const [emailSent, setEmailSent] = useState(false);\n\n const form = useForm({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n email: \"\",\n },\n });\n\n async function onSubmit(values: ForgotPasswordAuthFormSchema) {\n try {\n await action(values);\n setEmailSent(true);\n props.onPasswordSent?.();\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n }\n\n if (emailSent) {\n return (\n
\n
{getTranslation(ui, \"messages\", \"checkEmailForReset\")}
\n
\n );\n }\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"emailAddress\")}\n \n \n \n \n \n )}\n />\n \n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n {props.onBackToSignInClick ? (\n \n ) : null}\n \n \n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/forgot-password-auth-screen.json b/packages/shadcn/public/forgot-password-auth-screen.json index 6997072b..fe62c5ba 100644 --- a/packages/shadcn/public/forgot-password-auth-screen.json +++ b/packages/shadcn/public/forgot-password-auth-screen.json @@ -5,7 +5,7 @@ "title": "Forgot Password Auth Screen", "description": "A screen allowing users to reset their password via email.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "card", @@ -14,7 +14,7 @@ "files": [ { "path": "src/registry/forgot-password-auth-screen.tsx", - "content": "\"use client\";\n\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { useUI, type ForgotPasswordAuthScreenProps } from \"@firebase-ui/react\";\n\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { ForgotPasswordAuthForm } from \"@/registry/forgot-password-auth-form\";\n\nexport type { ForgotPasswordAuthScreenProps };\n\nexport function ForgotPasswordAuthScreen(props: ForgotPasswordAuthScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"resetPassword\");\n const subtitleText = getTranslation(ui, \"prompts\", \"enterEmailToReset\");\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n \n \n \n
\n );\n}\n", + "content": "\"use client\";\n\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI, type ForgotPasswordAuthScreenProps } from \"@invertase/firebaseui-react\";\n\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { ForgotPasswordAuthForm } from \"@/registry/forgot-password-auth-form\";\n\nexport type { ForgotPasswordAuthScreenProps };\n\nexport function ForgotPasswordAuthScreen(props: ForgotPasswordAuthScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"resetPassword\");\n const subtitleText = getTranslation(ui, \"prompts\", \"enterEmailToReset\");\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n \n \n \n
\n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/github-sign-in-button.json b/packages/shadcn/public/github-sign-in-button.json index 25586c8f..57c690bb 100644 --- a/packages/shadcn/public/github-sign-in-button.json +++ b/packages/shadcn/public/github-sign-in-button.json @@ -5,7 +5,7 @@ "title": "GitHub Sign In Button", "description": "A button component for GitHub OAuth authentication.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "https://fir-ui-shadcn.web.app/oauth-button.json" @@ -13,7 +13,7 @@ "files": [ { "path": "src/registry/github-sign-in-button.tsx", - "content": "\"use client\";\n\nimport { GithubAuthProvider } from \"firebase/auth\";\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { useUI, type GitHubSignInButtonProps, GitHubLogo } from \"@firebase-ui/react\";\n\nimport { OAuthButton } from \"@/registry/oauth-button\";\n\nexport type { GitHubSignInButtonProps };\n\nexport function GitHubSignInButton({ provider, themed }: GitHubSignInButtonProps) {\n const ui = useUI();\n\n return (\n \n \n {getTranslation(ui, \"labels\", \"signInWithGitHub\")}\n \n );\n}\n", + "content": "\"use client\";\n\nimport { GithubAuthProvider } from \"firebase/auth\";\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI, type GitHubSignInButtonProps, GitHubLogo } from \"@invertase/firebaseui-react\";\n\nimport { OAuthButton } from \"@/registry/oauth-button\";\n\nexport type { GitHubSignInButtonProps };\n\nexport function GitHubSignInButton({ provider, themed }: GitHubSignInButtonProps) {\n const ui = useUI();\n\n return (\n \n \n {getTranslation(ui, \"labels\", \"signInWithGitHub\")}\n \n );\n}\n", "type": "registry:component" } ], diff --git a/packages/shadcn/public/google-sign-in-button.json b/packages/shadcn/public/google-sign-in-button.json index 964cf2d9..6c34bb7d 100644 --- a/packages/shadcn/public/google-sign-in-button.json +++ b/packages/shadcn/public/google-sign-in-button.json @@ -5,7 +5,7 @@ "title": "Google Sign In Button", "description": "A button component for Google OAuth authentication.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "https://fir-ui-shadcn.web.app/oauth-button.json" @@ -13,7 +13,7 @@ "files": [ { "path": "src/registry/google-sign-in-button.tsx", - "content": "\"use client\";\n\nimport { GoogleAuthProvider } from \"firebase/auth\";\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { useUI, type GoogleSignInButtonProps, GoogleLogo } from \"@firebase-ui/react\";\n\nimport { OAuthButton } from \"@/registry/oauth-button\";\n\nexport type { GoogleSignInButtonProps };\n\nexport function GoogleSignInButton({ provider, themed }: GoogleSignInButtonProps) {\n const ui = useUI();\n\n return (\n \n \n {getTranslation(ui, \"labels\", \"signInWithGoogle\")}\n \n );\n}\n", + "content": "\"use client\";\n\nimport { GoogleAuthProvider } from \"firebase/auth\";\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI, type GoogleSignInButtonProps, GoogleLogo } from \"@invertase/firebaseui-react\";\n\nimport { OAuthButton } from \"@/registry/oauth-button\";\n\nexport type { GoogleSignInButtonProps };\n\nexport function GoogleSignInButton({ provider, themed }: GoogleSignInButtonProps) {\n const ui = useUI();\n\n return (\n \n \n {getTranslation(ui, \"labels\", \"signInWithGoogle\")}\n \n );\n}\n", "type": "registry:component" } ], diff --git a/packages/shadcn/public/microsoft-sign-in-button.json b/packages/shadcn/public/microsoft-sign-in-button.json index a7532edb..e1bf5dbf 100644 --- a/packages/shadcn/public/microsoft-sign-in-button.json +++ b/packages/shadcn/public/microsoft-sign-in-button.json @@ -5,7 +5,7 @@ "title": "Microsoft Sign In Button", "description": "A button component for Microsoft OAuth authentication.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "https://fir-ui-shadcn.web.app/oauth-button.json" @@ -13,7 +13,7 @@ "files": [ { "path": "src/registry/microsoft-sign-in-button.tsx", - "content": "\"use client\";\n\nimport { OAuthProvider } from \"firebase/auth\";\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { useUI, type MicrosoftSignInButtonProps, MicrosoftLogo } from \"@firebase-ui/react\";\n\nimport { OAuthButton } from \"@/registry/oauth-button\";\n\nexport type { MicrosoftSignInButtonProps };\n\nexport function MicrosoftSignInButton({ provider, themed }: MicrosoftSignInButtonProps) {\n const ui = useUI();\n\n return (\n \n \n {getTranslation(ui, \"labels\", \"signInWithMicrosoft\")}\n \n );\n}\n", + "content": "\"use client\";\n\nimport { OAuthProvider } from \"firebase/auth\";\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI, type MicrosoftSignInButtonProps, MicrosoftLogo } from \"@invertase/firebaseui-react\";\n\nimport { OAuthButton } from \"@/registry/oauth-button\";\n\nexport type { MicrosoftSignInButtonProps };\n\nexport function MicrosoftSignInButton({ provider, themed }: MicrosoftSignInButtonProps) {\n const ui = useUI();\n\n return (\n \n \n {getTranslation(ui, \"labels\", \"signInWithMicrosoft\")}\n \n );\n}\n", "type": "registry:component" } ], diff --git a/packages/shadcn/public/multi-factor-auth-assertion-form.json b/packages/shadcn/public/multi-factor-auth-assertion-form.json index bb2d35d1..bed5e72e 100644 --- a/packages/shadcn/public/multi-factor-auth-assertion-form.json +++ b/packages/shadcn/public/multi-factor-auth-assertion-form.json @@ -5,7 +5,7 @@ "title": "Multi-Factor Auth Assertion Form", "description": "A form allowing users to complete multi-factor authentication during sign-in with TOTP or SMS options.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "button", @@ -15,7 +15,7 @@ "files": [ { "path": "src/registry/multi-factor-auth-assertion-form.tsx", - "content": "\"use client\";\n\nimport { PhoneMultiFactorGenerator, TotpMultiFactorGenerator, type MultiFactorInfo } from \"firebase/auth\";\nimport { type ComponentProps, useState } from \"react\";\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { useUI } from \"@firebase-ui/react\";\n\nimport { SmsMultiFactorAssertionForm } from \"./sms-multi-factor-assertion-form\";\nimport { TotpMultiFactorAssertionForm } from \"./totp-multi-factor-assertion-form\";\nimport { Button } from \"@/components/ui/button\";\n\nexport function MultiFactorAuthAssertionForm() {\n const ui = useUI();\n const resolver = ui.multiFactorResolver;\n\n if (!resolver) {\n throw new Error(\"MultiFactorAuthAssertionForm requires a multi-factor resolver\");\n }\n\n // If only a single hint is provided, select it by default to improve UX.\n const [hint, setHint] = useState(\n resolver.hints.length === 1 ? resolver.hints[0] : undefined\n );\n\n if (hint) {\n if (hint.factorId === PhoneMultiFactorGenerator.FACTOR_ID) {\n return ;\n }\n\n if (hint.factorId === TotpMultiFactorGenerator.FACTOR_ID) {\n return ;\n }\n }\n\n return (\n
\n

Select a multi-factor authentication method

\n {resolver.hints.map((hint) => {\n if (hint.factorId === TotpMultiFactorGenerator.FACTOR_ID) {\n return setHint(hint)} />;\n }\n\n if (hint.factorId === PhoneMultiFactorGenerator.FACTOR_ID) {\n return setHint(hint)} />;\n }\n\n return null;\n })}\n
\n );\n}\n\nfunction TotpButton(props: ComponentProps) {\n const ui = useUI();\n const labelText = getTranslation(ui, \"labels\", \"mfaTotpVerification\");\n return ;\n}\n\nfunction SmsButton(props: ComponentProps) {\n const ui = useUI();\n const labelText = getTranslation(ui, \"labels\", \"mfaSmsVerification\");\n return ;\n}\n", + "content": "\"use client\";\n\nimport { PhoneMultiFactorGenerator, TotpMultiFactorGenerator, type MultiFactorInfo } from \"firebase/auth\";\nimport { type ComponentProps, useState } from \"react\";\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI } from \"@invertase/firebaseui-react\";\n\nimport { SmsMultiFactorAssertionForm } from \"./sms-multi-factor-assertion-form\";\nimport { TotpMultiFactorAssertionForm } from \"./totp-multi-factor-assertion-form\";\nimport { Button } from \"@/components/ui/button\";\n\nexport function MultiFactorAuthAssertionForm() {\n const ui = useUI();\n const resolver = ui.multiFactorResolver;\n\n if (!resolver) {\n throw new Error(\"MultiFactorAuthAssertionForm requires a multi-factor resolver\");\n }\n\n // If only a single hint is provided, select it by default to improve UX.\n const [hint, setHint] = useState(\n resolver.hints.length === 1 ? resolver.hints[0] : undefined\n );\n\n if (hint) {\n if (hint.factorId === PhoneMultiFactorGenerator.FACTOR_ID) {\n return ;\n }\n\n if (hint.factorId === TotpMultiFactorGenerator.FACTOR_ID) {\n return ;\n }\n }\n\n return (\n
\n

Select a multi-factor authentication method

\n {resolver.hints.map((hint) => {\n if (hint.factorId === TotpMultiFactorGenerator.FACTOR_ID) {\n return setHint(hint)} />;\n }\n\n if (hint.factorId === PhoneMultiFactorGenerator.FACTOR_ID) {\n return setHint(hint)} />;\n }\n\n return null;\n })}\n
\n );\n}\n\nfunction TotpButton(props: ComponentProps) {\n const ui = useUI();\n const labelText = getTranslation(ui, \"labels\", \"mfaTotpVerification\");\n return ;\n}\n\nfunction SmsButton(props: ComponentProps) {\n const ui = useUI();\n const labelText = getTranslation(ui, \"labels\", \"mfaSmsVerification\");\n return ;\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/multi-factor-auth-enrollment-form.json b/packages/shadcn/public/multi-factor-auth-enrollment-form.json index bd0f3e4c..dd75a745 100644 --- a/packages/shadcn/public/multi-factor-auth-enrollment-form.json +++ b/packages/shadcn/public/multi-factor-auth-enrollment-form.json @@ -5,7 +5,7 @@ "title": "Multi-Factor Auth Enrollment Form", "description": "A form allowing users to select and configure multi-factor authentication methods.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "button", @@ -15,7 +15,7 @@ "files": [ { "path": "src/registry/multi-factor-auth-enrollment-form.tsx", - "content": "\"use client\";\n\nimport { type ComponentProps, useState } from \"react\";\nimport { FactorId } from \"firebase/auth\";\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { useUI } from \"@firebase-ui/react\";\n\nimport { SmsMultiFactorEnrollmentForm } from \"@/registry/sms-multi-factor-enrollment-form\";\nimport { TotpMultiFactorEnrollmentForm } from \"@/registry/totp-multi-factor-enrollment-form\";\nimport { Button } from \"@/components/ui/button\";\n\ntype Hint = (typeof FactorId)[keyof typeof FactorId];\n\nexport type MultiFactorAuthEnrollmentFormProps = {\n onEnrollment?: () => void;\n hints?: Hint[];\n};\n\nconst DEFAULT_HINTS = [FactorId.TOTP, FactorId.PHONE] as const;\n\nexport function MultiFactorAuthEnrollmentForm(props: MultiFactorAuthEnrollmentFormProps) {\n const hints = props.hints ?? DEFAULT_HINTS;\n\n if (hints.length === 0) {\n throw new Error(\"MultiFactorAuthEnrollmentForm must have at least one hint\");\n }\n\n // If only a single hint is provided, select it by default to improve UX.\n const [hint, setHint] = useState(hints.length === 1 ? hints[0] : undefined);\n\n if (hint) {\n if (hint === FactorId.TOTP) {\n return ;\n }\n\n if (hint === FactorId.PHONE) {\n return ;\n }\n\n throw new Error(`Unknown multi-factor enrollment type: ${hint}`);\n }\n\n return (\n
\n {hints.map((hint) => {\n if (hint === FactorId.TOTP) {\n return setHint(hint)} />;\n }\n\n if (hint === FactorId.PHONE) {\n return setHint(hint)} />;\n }\n\n return null;\n })}\n
\n );\n}\n\nfunction TotpButton(props: ComponentProps) {\n const ui = useUI();\n const labelText = getTranslation(ui, \"labels\", \"mfaTotpVerification\");\n return ;\n}\n\nfunction SmsButton(props: ComponentProps) {\n const ui = useUI();\n const labelText = getTranslation(ui, \"labels\", \"mfaSmsVerification\");\n return ;\n}\n", + "content": "\"use client\";\n\nimport { type ComponentProps, useState } from \"react\";\nimport { FactorId } from \"firebase/auth\";\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI } from \"@invertase/firebaseui-react\";\n\nimport { SmsMultiFactorEnrollmentForm } from \"@/registry/sms-multi-factor-enrollment-form\";\nimport { TotpMultiFactorEnrollmentForm } from \"@/registry/totp-multi-factor-enrollment-form\";\nimport { Button } from \"@/components/ui/button\";\n\ntype Hint = (typeof FactorId)[keyof typeof FactorId];\n\nexport type MultiFactorAuthEnrollmentFormProps = {\n onEnrollment?: () => void;\n hints?: Hint[];\n};\n\nconst DEFAULT_HINTS = [FactorId.TOTP, FactorId.PHONE] as const;\n\nexport function MultiFactorAuthEnrollmentForm(props: MultiFactorAuthEnrollmentFormProps) {\n const hints = props.hints ?? DEFAULT_HINTS;\n\n if (hints.length === 0) {\n throw new Error(\"MultiFactorAuthEnrollmentForm must have at least one hint\");\n }\n\n // If only a single hint is provided, select it by default to improve UX.\n const [hint, setHint] = useState(hints.length === 1 ? hints[0] : undefined);\n\n if (hint) {\n if (hint === FactorId.TOTP) {\n return ;\n }\n\n if (hint === FactorId.PHONE) {\n return ;\n }\n\n throw new Error(`Unknown multi-factor enrollment type: ${hint}`);\n }\n\n return (\n
\n {hints.map((hint) => {\n if (hint === FactorId.TOTP) {\n return setHint(hint)} />;\n }\n\n if (hint === FactorId.PHONE) {\n return setHint(hint)} />;\n }\n\n return null;\n })}\n
\n );\n}\n\nfunction TotpButton(props: ComponentProps) {\n const ui = useUI();\n const labelText = getTranslation(ui, \"labels\", \"mfaTotpVerification\");\n return ;\n}\n\nfunction SmsButton(props: ComponentProps) {\n const ui = useUI();\n const labelText = getTranslation(ui, \"labels\", \"mfaSmsVerification\");\n return ;\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/multi-factor-auth-enrollment-screen.json b/packages/shadcn/public/multi-factor-auth-enrollment-screen.json index 9e3971ed..ff670e90 100644 --- a/packages/shadcn/public/multi-factor-auth-enrollment-screen.json +++ b/packages/shadcn/public/multi-factor-auth-enrollment-screen.json @@ -5,7 +5,7 @@ "title": "Multi-Factor Auth Enrollment Screen", "description": "A screen allowing users to set up multi-factor authentication with TOTP or SMS options.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "card", @@ -14,7 +14,7 @@ "files": [ { "path": "src/registry/multi-factor-auth-enrollment-screen.tsx", - "content": "\"use client\";\n\nimport React, { type PropsWithChildren } from \"react\";\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { useUI, type MultiFactorAuthEnrollmentFormProps } from \"@firebase-ui/react\";\n\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { MultiFactorAuthEnrollmentForm } from \"@/registry/multi-factor-auth-enrollment-form\";\n\nexport type MultiFactorAuthEnrollmentScreenProps = PropsWithChildren;\n\nexport function MultiFactorAuthEnrollmentScreen({ children, ...props }: MultiFactorAuthEnrollmentScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"multiFactorEnrollment\");\n const subtitleText = getTranslation(ui, \"prompts\", \"mfaEnrollmentPrompt\");\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n \n {children ?
{children}
: null}\n
\n
\n
\n );\n}\n", + "content": "\"use client\";\n\nimport React, { type PropsWithChildren } from \"react\";\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI, type MultiFactorAuthEnrollmentFormProps } from \"@invertase/firebaseui-react\";\n\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { MultiFactorAuthEnrollmentForm } from \"@/registry/multi-factor-auth-enrollment-form\";\n\nexport type MultiFactorAuthEnrollmentScreenProps = PropsWithChildren;\n\nexport function MultiFactorAuthEnrollmentScreen({ children, ...props }: MultiFactorAuthEnrollmentScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"multiFactorEnrollment\");\n const subtitleText = getTranslation(ui, \"prompts\", \"mfaEnrollmentPrompt\");\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n \n {children ?
{children}
: null}\n
\n
\n
\n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/oauth-button.json b/packages/shadcn/public/oauth-button.json index ccd43e59..db8da930 100644 --- a/packages/shadcn/public/oauth-button.json +++ b/packages/shadcn/public/oauth-button.json @@ -5,7 +5,7 @@ "title": "OAuth Button", "description": "A button component for OAuth authentication providers.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "button" @@ -13,7 +13,7 @@ "files": [ { "path": "src/registry/oauth-button.tsx", - "content": "\"use client\";\n\nimport { useUI, type OAuthButtonProps, useSignInWithProvider } from \"@firebase-ui/react\";\nimport { Button } from \"@/components/ui/button\";\n\nexport type { OAuthButtonProps };\n\nexport function OAuthButton({ provider, children, themed }: OAuthButtonProps) {\n const ui = useUI();\n\n const { error, callback } = useSignInWithProvider(provider);\n\n return (\n
\n \n {children}\n \n {error &&
{error}
}\n
\n );\n}\n", + "content": "\"use client\";\n\nimport { useUI, type OAuthButtonProps, useSignInWithProvider } from \"@invertase/firebaseui-react\";\nimport { Button } from \"@/components/ui/button\";\n\nexport type { OAuthButtonProps };\n\nexport function OAuthButton({ provider, children, themed }: OAuthButtonProps) {\n const ui = useUI();\n\n const { error, callback } = useSignInWithProvider(provider);\n\n return (\n
\n \n {children}\n \n {error &&
{error}
}\n
\n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/oauth-screen.json b/packages/shadcn/public/oauth-screen.json index efd06bd3..5846d6b0 100644 --- a/packages/shadcn/public/oauth-screen.json +++ b/packages/shadcn/public/oauth-screen.json @@ -5,7 +5,7 @@ "title": "OAuth Screen", "description": "A screen allowing users to sign in with OAuth providers.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "card", @@ -16,7 +16,7 @@ "files": [ { "path": "src/registry/oauth-screen.tsx", - "content": "\"use client\";\n\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { type PropsWithChildren } from \"react\";\nimport { useUI } from \"@firebase-ui/react\";\nimport { Card, CardContent, CardHeader, CardDescription, CardTitle } from \"@/components/ui/card\";\nimport { Policies } from \"@/registry/policies\";\nimport { MultiFactorAuthAssertionForm } from \"@/registry/multi-factor-auth-assertion-form\";\nimport { RedirectError } from \"@/registry/redirect-error\";\n\nexport type OAuthScreenProps = PropsWithChildren;\n\nexport function OAuthScreen({ children }: OAuthScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"signIn\");\n const subtitleText = getTranslation(ui, \"prompts\", \"signInToAccount\");\n const mfaResolver = ui.multiFactorResolver;\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n {mfaResolver ? (\n \n ) : (\n <>\n
\n {children}\n \n \n
\n \n )}\n
\n
\n
\n );\n}\n", + "content": "\"use client\";\n\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { type PropsWithChildren } from \"react\";\nimport { useUI } from \"@invertase/firebaseui-react\";\nimport { Card, CardContent, CardHeader, CardDescription, CardTitle } from \"@/components/ui/card\";\nimport { Policies } from \"@/registry/policies\";\nimport { MultiFactorAuthAssertionForm } from \"@/registry/multi-factor-auth-assertion-form\";\nimport { RedirectError } from \"@/registry/redirect-error\";\n\nexport type OAuthScreenProps = PropsWithChildren;\n\nexport function OAuthScreen({ children }: OAuthScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"signIn\");\n const subtitleText = getTranslation(ui, \"prompts\", \"signInToAccount\");\n const mfaResolver = ui.multiFactorResolver;\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n {mfaResolver ? (\n \n ) : (\n <>\n
\n {children}\n \n \n
\n \n )}\n
\n
\n
\n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/phone-auth-form.json b/packages/shadcn/public/phone-auth-form.json index b579ab26..7cdb84ba 100644 --- a/packages/shadcn/public/phone-auth-form.json +++ b/packages/shadcn/public/phone-auth-form.json @@ -5,7 +5,7 @@ "title": "Phone Auth Form", "description": "A form allowing users to authenticate using their phone number with SMS verification.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "form", @@ -17,7 +17,7 @@ "files": [ { "path": "src/registry/phone-auth-form.tsx", - "content": "\"use client\";\n\nimport {\n CountrySelector,\n type PhoneAuthFormProps,\n usePhoneAuthNumberFormSchema,\n usePhoneAuthVerifyFormSchema,\n usePhoneNumberFormAction,\n useRecaptchaVerifier,\n useUI,\n useVerifyPhoneNumberFormAction,\n} from \"@firebase-ui/react\";\nimport { useState } from \"react\";\nimport type { UserCredential } from \"firebase/auth\";\nimport { useRef } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport {\n FirebaseUIError,\n formatPhoneNumber,\n getTranslation,\n type PhoneAuthNumberFormSchema,\n type PhoneAuthVerifyFormSchema,\n} from \"@firebase-ui/core\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Button } from \"@/components/ui/button\";\nimport { Policies } from \"@/registry/policies\";\nimport { type CountrySelectorRef } from \"@/registry/country-selector\";\n\ntype VerifyPhoneNumberFormProps = {\n verificationId: string;\n onSuccess: (credential: UserCredential) => void;\n};\n\nfunction VerifyPhoneNumberForm(props: VerifyPhoneNumberFormProps) {\n const ui = useUI();\n const schema = usePhoneAuthVerifyFormSchema();\n const action = useVerifyPhoneNumberFormAction();\n\n const form = useForm({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n verificationId: props.verificationId,\n verificationCode: \"\",\n },\n });\n\n async function onSubmit(values: PhoneAuthVerifyFormSchema) {\n try {\n const credential = await action(values);\n props.onSuccess(credential);\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n }\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"verificationCode\")}\n \n \n \n \n \n )}\n />\n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n\ntype PhoneNumberFormProps = {\n onSubmit: (verificationId: string) => void;\n};\n\nfunction PhoneNumberForm(props: PhoneNumberFormProps) {\n const ui = useUI();\n const recaptchaContainerRef = useRef(null);\n const recaptchaVerifier = useRecaptchaVerifier(recaptchaContainerRef);\n const countrySelector = useRef(null);\n const action = usePhoneNumberFormAction();\n const schema = usePhoneAuthNumberFormSchema();\n\n const form = useForm({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n phoneNumber: \"\",\n },\n });\n\n async function onSubmit(values: PhoneAuthNumberFormSchema) {\n try {\n const formatted = formatPhoneNumber(values.phoneNumber, countrySelector.current!.getCountry());\n const verificationId = await action({ phoneNumber: formatted, recaptchaVerifier: recaptchaVerifier! });\n props.onSubmit(verificationId);\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n }\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"phoneNumber\")}\n \n
\n \n \n
\n
\n \n
\n )}\n />\n
\n \n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n\nexport type { PhoneAuthFormProps };\n\nexport function PhoneAuthForm(props: PhoneAuthFormProps) {\n const [verificationId, setVerificationId] = useState(null);\n\n if (!verificationId) {\n return ;\n }\n\n return (\n {\n props.onSignIn?.(credential);\n }}\n />\n );\n}\n", + "content": "\"use client\";\n\nimport {\n CountrySelector,\n type PhoneAuthFormProps,\n usePhoneAuthNumberFormSchema,\n usePhoneAuthVerifyFormSchema,\n usePhoneNumberFormAction,\n useRecaptchaVerifier,\n useUI,\n useVerifyPhoneNumberFormAction,\n} from \"@invertase/firebaseui-react\";\nimport { useState } from \"react\";\nimport type { UserCredential } from \"firebase/auth\";\nimport { useRef } from \"react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport {\n FirebaseUIError,\n formatPhoneNumber,\n getTranslation,\n type PhoneAuthNumberFormSchema,\n type PhoneAuthVerifyFormSchema,\n} from \"@invertase/firebaseui-core\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Button } from \"@/components/ui/button\";\nimport { Policies } from \"@/registry/policies\";\nimport { type CountrySelectorRef } from \"@/registry/country-selector\";\n\ntype VerifyPhoneNumberFormProps = {\n verificationId: string;\n onSuccess: (credential: UserCredential) => void;\n};\n\nfunction VerifyPhoneNumberForm(props: VerifyPhoneNumberFormProps) {\n const ui = useUI();\n const schema = usePhoneAuthVerifyFormSchema();\n const action = useVerifyPhoneNumberFormAction();\n\n const form = useForm({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n verificationId: props.verificationId,\n verificationCode: \"\",\n },\n });\n\n async function onSubmit(values: PhoneAuthVerifyFormSchema) {\n try {\n const credential = await action(values);\n props.onSuccess(credential);\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n }\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"verificationCode\")}\n \n \n \n \n \n )}\n />\n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n\ntype PhoneNumberFormProps = {\n onSubmit: (verificationId: string) => void;\n};\n\nfunction PhoneNumberForm(props: PhoneNumberFormProps) {\n const ui = useUI();\n const recaptchaContainerRef = useRef(null);\n const recaptchaVerifier = useRecaptchaVerifier(recaptchaContainerRef);\n const countrySelector = useRef(null);\n const action = usePhoneNumberFormAction();\n const schema = usePhoneAuthNumberFormSchema();\n\n const form = useForm({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n phoneNumber: \"\",\n },\n });\n\n async function onSubmit(values: PhoneAuthNumberFormSchema) {\n try {\n const formatted = formatPhoneNumber(values.phoneNumber, countrySelector.current!.getCountry());\n const verificationId = await action({ phoneNumber: formatted, recaptchaVerifier: recaptchaVerifier! });\n props.onSubmit(verificationId);\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n }\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"phoneNumber\")}\n \n
\n \n \n
\n
\n \n
\n )}\n />\n
\n \n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n\nexport type { PhoneAuthFormProps };\n\nexport function PhoneAuthForm(props: PhoneAuthFormProps) {\n const [verificationId, setVerificationId] = useState(null);\n\n if (!verificationId) {\n return ;\n }\n\n return (\n {\n props.onSignIn?.(credential);\n }}\n />\n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/phone-auth-screen.json b/packages/shadcn/public/phone-auth-screen.json index 46dac8cd..e5e119c6 100644 --- a/packages/shadcn/public/phone-auth-screen.json +++ b/packages/shadcn/public/phone-auth-screen.json @@ -5,7 +5,7 @@ "title": "Phone Auth Screen", "description": "A screen allowing users to authenticate using their phone number with SMS verification.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "card", @@ -17,7 +17,7 @@ "files": [ { "path": "src/registry/phone-auth-screen.tsx", - "content": "\"use client\";\n\nimport type { PropsWithChildren } from \"react\";\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { useUI } from \"@firebase-ui/react\";\nimport { Card, CardContent, CardHeader, CardDescription, CardTitle } from \"@/components/ui/card\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { PhoneAuthForm, type PhoneAuthFormProps } from \"@/registry/phone-auth-form\";\nimport { MultiFactorAuthAssertionForm } from \"@/registry/multi-factor-auth-assertion-form\";\nimport { RedirectError } from \"@/registry/redirect-error\";\n\nexport type PhoneAuthScreenProps = PropsWithChildren;\n\nexport function PhoneAuthScreen({ children, ...props }: PhoneAuthScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"signIn\");\n const subtitleText = getTranslation(ui, \"prompts\", \"signInToAccount\");\n const mfaResolver = ui.multiFactorResolver;\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n {mfaResolver ? (\n \n ) : (\n <>\n \n {children ? (\n <>\n {getTranslation(ui, \"messages\", \"dividerOr\")}\n
\n {children}\n \n
\n \n ) : null}\n \n )}\n
\n
\n
\n );\n}\n", + "content": "\"use client\";\n\nimport type { PropsWithChildren } from \"react\";\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI } from \"@invertase/firebaseui-react\";\nimport { Card, CardContent, CardHeader, CardDescription, CardTitle } from \"@/components/ui/card\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { PhoneAuthForm, type PhoneAuthFormProps } from \"@/registry/phone-auth-form\";\nimport { MultiFactorAuthAssertionForm } from \"@/registry/multi-factor-auth-assertion-form\";\nimport { RedirectError } from \"@/registry/redirect-error\";\n\nexport type PhoneAuthScreenProps = PropsWithChildren;\n\nexport function PhoneAuthScreen({ children, ...props }: PhoneAuthScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"signIn\");\n const subtitleText = getTranslation(ui, \"prompts\", \"signInToAccount\");\n const mfaResolver = ui.multiFactorResolver;\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n {mfaResolver ? (\n \n ) : (\n <>\n \n {children ? (\n <>\n {getTranslation(ui, \"messages\", \"dividerOr\")}\n
\n {children}\n \n
\n \n ) : null}\n \n )}\n
\n
\n
\n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/policies.json b/packages/shadcn/public/policies.json index 5afca182..50caa522 100644 --- a/packages/shadcn/public/policies.json +++ b/packages/shadcn/public/policies.json @@ -5,12 +5,12 @@ "title": "Policies", "description": "A component allowing users to navigate to the terms of service and privacy policy.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "files": [ { "path": "src/registry/policies.tsx", - "content": "import { cn } from \"@/lib/utils\";\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { useUI, PolicyContext } from \"@firebase-ui/react\";\nimport { cloneElement, useContext } from \"react\";\n\nexport function Policies() {\n const ui = useUI();\n const policies = useContext(PolicyContext);\n\n if (!policies) {\n return null;\n }\n\n const { termsOfServiceUrl, privacyPolicyUrl, onNavigate } = policies;\n const termsAndPrivacyText = getTranslation(ui, \"messages\", \"termsAndPrivacy\");\n const parts = termsAndPrivacyText.split(/(\\{tos\\}|\\{privacy\\})/);\n\n const className = cn(\"hover:underline font-semibold\");\n const Handler = onNavigate ? (\n \n ) : null}\n
\n \n \n \n )}\n />\n \n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n {props.onRegisterClick ? (\n <>\n \n \n ) : null}\n \n \n );\n}\n", + "content": "\"use client\";\n\nimport type { SignInAuthFormSchema } from \"@invertase/firebaseui-core\";\nimport { useSignInAuthFormAction, useSignInAuthFormSchema, useUI, type SignInAuthFormProps } from \"@invertase/firebaseui-react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport { FirebaseUIError, getTranslation } from \"@invertase/firebaseui-core\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Button } from \"@/components/ui/button\";\nimport { Policies } from \"./policies\";\n\nexport type { SignInAuthFormProps };\n\nexport function SignInAuthForm(props: SignInAuthFormProps) {\n const ui = useUI();\n const schema = useSignInAuthFormSchema();\n const action = useSignInAuthFormAction();\n\n const form = useForm({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n email: \"\",\n password: \"\",\n },\n });\n\n async function onSubmit(values: SignInAuthFormSchema) {\n try {\n const credential = await action(values);\n props.onSignIn?.(credential);\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n }\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"emailAddress\")}\n \n \n \n \n \n )}\n />\n (\n \n {getTranslation(ui, \"labels\", \"password\")}\n \n
\n \n {props.onForgotPasswordClick ? (\n \n ) : null}\n
\n
\n \n
\n )}\n />\n \n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n {props.onRegisterClick ? (\n <>\n \n \n ) : null}\n \n \n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/sign-in-auth-screen.json b/packages/shadcn/public/sign-in-auth-screen.json index 4fabd25e..36895e38 100644 --- a/packages/shadcn/public/sign-in-auth-screen.json +++ b/packages/shadcn/public/sign-in-auth-screen.json @@ -5,7 +5,7 @@ "title": "Sign In Auth Screen", "description": "A screen allowing users to sign in with email and password.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "separator", @@ -15,7 +15,7 @@ "files": [ { "path": "src/registry/sign-in-auth-screen.tsx", - "content": "\"use client\";\n\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { useUI, type SignInAuthScreenProps } from \"@firebase-ui/react\";\n\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { SignInAuthForm } from \"@/registry/sign-in-auth-form\";\nimport { MultiFactorAuthAssertionForm } from \"@/registry/multi-factor-auth-assertion-form\";\n\nexport type { SignInAuthScreenProps };\n\nexport function SignInAuthScreen({ children, ...props }: SignInAuthScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"signIn\");\n const subtitleText = getTranslation(ui, \"prompts\", \"signInToAccount\");\n\n const mfaResolver = ui.multiFactorResolver;\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n {mfaResolver ? (\n \n ) : (\n <>\n \n {children ? (\n <>\n {getTranslation(ui, \"messages\", \"dividerOr\")}\n
{children}
\n \n ) : null}\n \n )}\n
\n
\n
\n );\n}\n", + "content": "\"use client\";\n\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI, type SignInAuthScreenProps } from \"@invertase/firebaseui-react\";\n\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { SignInAuthForm } from \"@/registry/sign-in-auth-form\";\nimport { MultiFactorAuthAssertionForm } from \"@/registry/multi-factor-auth-assertion-form\";\n\nexport type { SignInAuthScreenProps };\n\nexport function SignInAuthScreen({ children, ...props }: SignInAuthScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"signIn\");\n const subtitleText = getTranslation(ui, \"prompts\", \"signInToAccount\");\n\n const mfaResolver = ui.multiFactorResolver;\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n {mfaResolver ? (\n \n ) : (\n <>\n \n {children ? (\n <>\n {getTranslation(ui, \"messages\", \"dividerOr\")}\n
{children}
\n \n ) : null}\n \n )}\n
\n
\n
\n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/sign-up-auth-form.json b/packages/shadcn/public/sign-up-auth-form.json index aa4c33f6..617824b7 100644 --- a/packages/shadcn/public/sign-up-auth-form.json +++ b/packages/shadcn/public/sign-up-auth-form.json @@ -5,7 +5,7 @@ "title": "Sign Up Auth Form", "description": "A form allowing users to sign up with email and password.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "input", @@ -16,7 +16,7 @@ "files": [ { "path": "src/registry/sign-up-auth-form.tsx", - "content": "\"use client\";\n\nimport type { SignUpAuthFormSchema } from \"@firebase-ui/core\";\nimport {\n useSignUpAuthFormAction,\n useSignUpAuthFormSchema,\n useUI,\n type SignUpAuthFormProps,\n useRequireDisplayName,\n} from \"@firebase-ui/react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport { FirebaseUIError, getTranslation } from \"@firebase-ui/core\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Button } from \"@/components/ui/button\";\nimport { Policies } from \"./policies\";\n\nexport type { SignUpAuthFormProps };\n\nexport function SignUpAuthForm(props: SignUpAuthFormProps) {\n const ui = useUI();\n const schema = useSignUpAuthFormSchema();\n const action = useSignUpAuthFormAction();\n const requireDisplayName = useRequireDisplayName();\n\n const form = useForm({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n email: \"\",\n password: \"\",\n displayName: requireDisplayName ? \"\" : undefined,\n },\n });\n\n async function onSubmit(values: SignUpAuthFormSchema) {\n try {\n const credential = await action(values);\n props.onSignUp?.(credential);\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n }\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"emailAddress\")}\n \n \n \n \n \n )}\n />\n (\n \n {getTranslation(ui, \"labels\", \"password\")}\n \n \n \n \n \n )}\n />\n {requireDisplayName ? (\n (\n \n {getTranslation(ui, \"labels\", \"displayName\")}\n \n \n \n \n \n )}\n />\n ) : null}\n \n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n {props.onBackToSignInClick ? (\n \n ) : null}\n \n \n );\n}\n", + "content": "\"use client\";\n\nimport type { SignUpAuthFormSchema } from \"@invertase/firebaseui-core\";\nimport {\n useSignUpAuthFormAction,\n useSignUpAuthFormSchema,\n useUI,\n type SignUpAuthFormProps,\n useRequireDisplayName,\n} from \"@invertase/firebaseui-react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport { FirebaseUIError, getTranslation } from \"@invertase/firebaseui-core\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Button } from \"@/components/ui/button\";\nimport { Policies } from \"./policies\";\n\nexport type { SignUpAuthFormProps };\n\nexport function SignUpAuthForm(props: SignUpAuthFormProps) {\n const ui = useUI();\n const schema = useSignUpAuthFormSchema();\n const action = useSignUpAuthFormAction();\n const requireDisplayName = useRequireDisplayName();\n\n const form = useForm({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n email: \"\",\n password: \"\",\n displayName: requireDisplayName ? \"\" : undefined,\n },\n });\n\n async function onSubmit(values: SignUpAuthFormSchema) {\n try {\n const credential = await action(values);\n props.onSignUp?.(credential);\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n }\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"emailAddress\")}\n \n \n \n \n \n )}\n />\n (\n \n {getTranslation(ui, \"labels\", \"password\")}\n \n \n \n \n \n )}\n />\n {requireDisplayName ? (\n (\n \n {getTranslation(ui, \"labels\", \"displayName\")}\n \n \n \n \n \n )}\n />\n ) : null}\n \n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n {props.onBackToSignInClick ? (\n \n ) : null}\n \n \n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/sign-up-auth-screen.json b/packages/shadcn/public/sign-up-auth-screen.json index 3f868722..1ad7ccbd 100644 --- a/packages/shadcn/public/sign-up-auth-screen.json +++ b/packages/shadcn/public/sign-up-auth-screen.json @@ -5,7 +5,7 @@ "title": "Sign Up Auth Screen", "description": "A screen allowing users to sign up with email and password.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "separator", @@ -15,7 +15,7 @@ "files": [ { "path": "src/registry/sign-up-auth-screen.tsx", - "content": "\"use client\";\n\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { useUI, type SignUpAuthScreenProps } from \"@firebase-ui/react\";\n\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { SignUpAuthForm } from \"@/registry/sign-up-auth-form\";\n\nexport type { SignUpAuthScreenProps };\n\nexport function SignUpAuthScreen({ children, ...props }: SignUpAuthScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"register\");\n const subtitleText = getTranslation(ui, \"prompts\", \"enterDetailsToCreate\");\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n \n {children ? (\n <>\n {getTranslation(ui, \"messages\", \"dividerOr\")}\n
{children}
\n \n ) : null}\n
\n
\n
\n );\n}\n", + "content": "\"use client\";\n\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI, type SignUpAuthScreenProps } from \"@invertase/firebaseui-react\";\n\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { SignUpAuthForm } from \"@/registry/sign-up-auth-form\";\n\nexport type { SignUpAuthScreenProps };\n\nexport function SignUpAuthScreen({ children, ...props }: SignUpAuthScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"register\");\n const subtitleText = getTranslation(ui, \"prompts\", \"enterDetailsToCreate\");\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n \n {children ? (\n <>\n {getTranslation(ui, \"messages\", \"dividerOr\")}\n
{children}
\n \n ) : null}\n
\n
\n
\n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/sms-multi-factor-assertion-form.json b/packages/shadcn/public/sms-multi-factor-assertion-form.json index 1b03a141..38ecb56e 100644 --- a/packages/shadcn/public/sms-multi-factor-assertion-form.json +++ b/packages/shadcn/public/sms-multi-factor-assertion-form.json @@ -5,7 +5,7 @@ "title": "SMS Multi-Factor Assertion Form", "description": "A form allowing users to complete SMS-based multi-factor authentication during sign-in.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "form", @@ -16,7 +16,7 @@ "files": [ { "path": "src/registry/sms-multi-factor-assertion-form.tsx", - "content": "\"use client\";\n\nimport { useRef, useState } from \"react\";\nimport { type MultiFactorInfo } from \"firebase/auth\";\n\nimport { FirebaseUIError, getTranslation } from \"@firebase-ui/core\";\nimport {\n useMultiFactorPhoneAuthVerifyFormSchema,\n useRecaptchaVerifier,\n useUI,\n useSmsMultiFactorAssertionPhoneFormAction,\n useSmsMultiFactorAssertionVerifyFormAction,\n} from \"@firebase-ui/react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Button } from \"@/components/ui/button\";\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from \"@/components/ui/input-otp\";\n\ntype PhoneMultiFactorInfo = MultiFactorInfo & {\n phoneNumber?: string;\n};\n\ntype SmsMultiFactorAssertionPhoneFormProps = {\n hint: MultiFactorInfo;\n onSubmit: (verificationId: string) => void;\n};\n\nfunction SmsMultiFactorAssertionPhoneForm(props: SmsMultiFactorAssertionPhoneFormProps) {\n const ui = useUI();\n const recaptchaContainerRef = useRef(null);\n const recaptchaVerifier = useRecaptchaVerifier(recaptchaContainerRef);\n const action = useSmsMultiFactorAssertionPhoneFormAction();\n const [error, setError] = useState(null);\n\n const onSubmit = async () => {\n try {\n setError(null);\n const verificationId = await action({ hint: props.hint, recaptchaVerifier: recaptchaVerifier! });\n props.onSubmit(verificationId);\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n setError(message);\n }\n };\n\n return (\n
\n
\n \n
\n {(props.hint as PhoneMultiFactorInfo).phoneNumber || \"No phone number available\"}\n
\n
\n
\n \n {error &&
{error}
}\n
\n );\n}\n\ntype SmsMultiFactorAssertionVerifyFormProps = {\n verificationId: string;\n onSuccess: () => void;\n};\n\nfunction SmsMultiFactorAssertionVerifyForm(props: SmsMultiFactorAssertionVerifyFormProps) {\n const ui = useUI();\n const schema = useMultiFactorPhoneAuthVerifyFormSchema();\n const action = useSmsMultiFactorAssertionVerifyFormAction();\n\n const form = useForm<{ verificationId: string; verificationCode: string }>({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n verificationId: props.verificationId,\n verificationCode: \"\",\n },\n });\n\n const onSubmit = async (values: { verificationId: string; verificationCode: string }) => {\n try {\n await action({ verificationId: values.verificationId, verificationCode: values.verificationCode });\n props.onSuccess();\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n };\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"verificationCode\")}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n />\n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n\nexport type SmsMultiFactorAssertionFormProps = {\n hint: MultiFactorInfo;\n onSuccess?: () => void;\n};\n\nexport function SmsMultiFactorAssertionForm(props: SmsMultiFactorAssertionFormProps) {\n const [verification, setVerification] = useState<{\n verificationId: string;\n } | null>(null);\n\n if (!verification) {\n return (\n setVerification({ verificationId })}\n />\n );\n }\n\n return (\n {\n props.onSuccess?.();\n }}\n />\n );\n}\n", + "content": "\"use client\";\n\nimport { useRef, useState } from \"react\";\nimport { type MultiFactorInfo } from \"firebase/auth\";\n\nimport { FirebaseUIError, getTranslation } from \"@invertase/firebaseui-core\";\nimport {\n useMultiFactorPhoneAuthVerifyFormSchema,\n useRecaptchaVerifier,\n useUI,\n useSmsMultiFactorAssertionPhoneFormAction,\n useSmsMultiFactorAssertionVerifyFormAction,\n} from \"@invertase/firebaseui-react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Button } from \"@/components/ui/button\";\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from \"@/components/ui/input-otp\";\n\ntype PhoneMultiFactorInfo = MultiFactorInfo & {\n phoneNumber?: string;\n};\n\ntype SmsMultiFactorAssertionPhoneFormProps = {\n hint: MultiFactorInfo;\n onSubmit: (verificationId: string) => void;\n};\n\nfunction SmsMultiFactorAssertionPhoneForm(props: SmsMultiFactorAssertionPhoneFormProps) {\n const ui = useUI();\n const recaptchaContainerRef = useRef(null);\n const recaptchaVerifier = useRecaptchaVerifier(recaptchaContainerRef);\n const action = useSmsMultiFactorAssertionPhoneFormAction();\n const [error, setError] = useState(null);\n\n const onSubmit = async () => {\n try {\n setError(null);\n const verificationId = await action({ hint: props.hint, recaptchaVerifier: recaptchaVerifier! });\n props.onSubmit(verificationId);\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n setError(message);\n }\n };\n\n return (\n
\n
\n \n
\n {(props.hint as PhoneMultiFactorInfo).phoneNumber || \"No phone number available\"}\n
\n
\n
\n \n {error &&
{error}
}\n
\n );\n}\n\ntype SmsMultiFactorAssertionVerifyFormProps = {\n verificationId: string;\n onSuccess: () => void;\n};\n\nfunction SmsMultiFactorAssertionVerifyForm(props: SmsMultiFactorAssertionVerifyFormProps) {\n const ui = useUI();\n const schema = useMultiFactorPhoneAuthVerifyFormSchema();\n const action = useSmsMultiFactorAssertionVerifyFormAction();\n\n const form = useForm<{ verificationId: string; verificationCode: string }>({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n verificationId: props.verificationId,\n verificationCode: \"\",\n },\n });\n\n const onSubmit = async (values: { verificationId: string; verificationCode: string }) => {\n try {\n await action({ verificationId: values.verificationId, verificationCode: values.verificationCode });\n props.onSuccess();\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n };\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"verificationCode\")}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n />\n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n\nexport type SmsMultiFactorAssertionFormProps = {\n hint: MultiFactorInfo;\n onSuccess?: () => void;\n};\n\nexport function SmsMultiFactorAssertionForm(props: SmsMultiFactorAssertionFormProps) {\n const [verification, setVerification] = useState<{\n verificationId: string;\n } | null>(null);\n\n if (!verification) {\n return (\n setVerification({ verificationId })}\n />\n );\n }\n\n return (\n {\n props.onSuccess?.();\n }}\n />\n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/sms-multi-factor-enrollment-form.json b/packages/shadcn/public/sms-multi-factor-enrollment-form.json index 4df076a2..028ed2b6 100644 --- a/packages/shadcn/public/sms-multi-factor-enrollment-form.json +++ b/packages/shadcn/public/sms-multi-factor-enrollment-form.json @@ -5,7 +5,7 @@ "title": "SMS Multi-Factor Enrollment Form", "description": "A form allowing users to enroll SMS-based multi-factor authentication.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "form", @@ -17,7 +17,7 @@ "files": [ { "path": "src/registry/sms-multi-factor-enrollment-form.tsx", - "content": "\"use client\";\n\nimport { useRef, useState } from \"react\";\nimport { multiFactor, PhoneAuthProvider, PhoneMultiFactorGenerator } from \"firebase/auth\";\nimport {\n enrollWithMultiFactorAssertion,\n FirebaseUIError,\n formatPhoneNumber,\n getTranslation,\n verifyPhoneNumber,\n} from \"@firebase-ui/core\";\nimport { CountrySelector, type CountrySelectorRef } from \"@/registry/country-selector\";\nimport {\n useMultiFactorPhoneAuthNumberFormSchema,\n useMultiFactorPhoneAuthVerifyFormSchema,\n useRecaptchaVerifier,\n useUI,\n} from \"@firebase-ui/react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Button } from \"@/components/ui/button\";\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from \"@/components/ui/input-otp\";\n\ntype MultiFactorEnrollmentPhoneNumberFormProps = {\n onSubmit: (verificationId: string, displayName?: string) => void;\n};\n\nfunction MultiFactorEnrollmentPhoneNumberForm(props: MultiFactorEnrollmentPhoneNumberFormProps) {\n const ui = useUI();\n const recaptchaContainerRef = useRef(null);\n const recaptchaVerifier = useRecaptchaVerifier(recaptchaContainerRef);\n const countrySelector = useRef(null);\n const schema = useMultiFactorPhoneAuthNumberFormSchema();\n\n const form = useForm<{ displayName: string; phoneNumber: string }>({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n displayName: \"\",\n phoneNumber: \"\",\n },\n });\n\n const onSubmit = async (values: { displayName: string; phoneNumber: string }) => {\n try {\n const formatted = formatPhoneNumber(values.phoneNumber, countrySelector.current!.getCountry());\n const mfaUser = multiFactor(ui.auth.currentUser!);\n const confirmationResult = await verifyPhoneNumber(ui, formatted, recaptchaVerifier!, mfaUser);\n props.onSubmit(confirmationResult, values.displayName);\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n };\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"displayName\")}\n \n \n \n \n \n )}\n />\n (\n \n {getTranslation(ui, \"labels\", \"phoneNumber\")}\n \n
\n \n \n
\n
\n \n
\n )}\n />\n
\n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n\ntype MultiFactorEnrollmentVerifyPhoneNumberFormProps = {\n verificationId: string;\n displayName?: string;\n onSuccess: () => void;\n};\n\nexport function MultiFactorEnrollmentVerifyPhoneNumberForm(props: MultiFactorEnrollmentVerifyPhoneNumberFormProps) {\n const ui = useUI();\n const schema = useMultiFactorPhoneAuthVerifyFormSchema();\n\n const form = useForm<{ verificationId: string; verificationCode: string }>({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n verificationId: props.verificationId,\n verificationCode: \"\",\n },\n });\n\n const onSubmit = async (values: { verificationId: string; verificationCode: string }) => {\n try {\n const credential = PhoneAuthProvider.credential(values.verificationId, values.verificationCode);\n const assertion = PhoneMultiFactorGenerator.assertion(credential);\n await enrollWithMultiFactorAssertion(ui, assertion, props.displayName);\n props.onSuccess();\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n };\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"verificationCode\")}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n />\n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n\nexport type SmsMultiFactorEnrollmentFormProps = {\n onSuccess?: () => void;\n};\n\nexport function SmsMultiFactorEnrollmentForm(props: SmsMultiFactorEnrollmentFormProps) {\n const ui = useUI();\n\n const [verification, setVerification] = useState<{\n verificationId: string;\n displayName?: string;\n } | null>(null);\n\n if (!ui.auth.currentUser) {\n throw new Error(\"User must be authenticated to enroll with multi-factor authentication\");\n }\n\n if (!verification) {\n return (\n setVerification({ verificationId, displayName })}\n />\n );\n }\n\n return (\n {\n props.onSuccess?.();\n }}\n />\n );\n}\n", + "content": "\"use client\";\n\nimport { useRef, useState } from \"react\";\nimport { multiFactor, PhoneAuthProvider, PhoneMultiFactorGenerator } from \"firebase/auth\";\nimport {\n enrollWithMultiFactorAssertion,\n FirebaseUIError,\n formatPhoneNumber,\n getTranslation,\n verifyPhoneNumber,\n} from \"@invertase/firebaseui-core\";\nimport { CountrySelector, type CountrySelectorRef } from \"@/registry/country-selector\";\nimport {\n useMultiFactorPhoneAuthNumberFormSchema,\n useMultiFactorPhoneAuthVerifyFormSchema,\n useRecaptchaVerifier,\n useUI,\n} from \"@invertase/firebaseui-react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Button } from \"@/components/ui/button\";\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from \"@/components/ui/input-otp\";\n\ntype MultiFactorEnrollmentPhoneNumberFormProps = {\n onSubmit: (verificationId: string, displayName?: string) => void;\n};\n\nfunction MultiFactorEnrollmentPhoneNumberForm(props: MultiFactorEnrollmentPhoneNumberFormProps) {\n const ui = useUI();\n const recaptchaContainerRef = useRef(null);\n const recaptchaVerifier = useRecaptchaVerifier(recaptchaContainerRef);\n const countrySelector = useRef(null);\n const schema = useMultiFactorPhoneAuthNumberFormSchema();\n\n const form = useForm<{ displayName: string; phoneNumber: string }>({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n displayName: \"\",\n phoneNumber: \"\",\n },\n });\n\n const onSubmit = async (values: { displayName: string; phoneNumber: string }) => {\n try {\n const formatted = formatPhoneNumber(values.phoneNumber, countrySelector.current!.getCountry());\n const mfaUser = multiFactor(ui.auth.currentUser!);\n const confirmationResult = await verifyPhoneNumber(ui, formatted, recaptchaVerifier!, mfaUser);\n props.onSubmit(confirmationResult, values.displayName);\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n };\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"displayName\")}\n \n \n \n \n \n )}\n />\n (\n \n {getTranslation(ui, \"labels\", \"phoneNumber\")}\n \n
\n \n \n
\n
\n \n
\n )}\n />\n
\n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n\ntype MultiFactorEnrollmentVerifyPhoneNumberFormProps = {\n verificationId: string;\n displayName?: string;\n onSuccess: () => void;\n};\n\nexport function MultiFactorEnrollmentVerifyPhoneNumberForm(props: MultiFactorEnrollmentVerifyPhoneNumberFormProps) {\n const ui = useUI();\n const schema = useMultiFactorPhoneAuthVerifyFormSchema();\n\n const form = useForm<{ verificationId: string; verificationCode: string }>({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n verificationId: props.verificationId,\n verificationCode: \"\",\n },\n });\n\n const onSubmit = async (values: { verificationId: string; verificationCode: string }) => {\n try {\n const credential = PhoneAuthProvider.credential(values.verificationId, values.verificationCode);\n const assertion = PhoneMultiFactorGenerator.assertion(credential);\n await enrollWithMultiFactorAssertion(ui, assertion, props.displayName);\n props.onSuccess();\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n };\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"verificationCode\")}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n />\n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n\nexport type SmsMultiFactorEnrollmentFormProps = {\n onSuccess?: () => void;\n};\n\nexport function SmsMultiFactorEnrollmentForm(props: SmsMultiFactorEnrollmentFormProps) {\n const ui = useUI();\n\n const [verification, setVerification] = useState<{\n verificationId: string;\n displayName?: string;\n } | null>(null);\n\n if (!ui.auth.currentUser) {\n throw new Error(\"User must be authenticated to enroll with multi-factor authentication\");\n }\n\n if (!verification) {\n return (\n setVerification({ verificationId, displayName })}\n />\n );\n }\n\n return (\n {\n props.onSuccess?.();\n }}\n />\n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/totp-multi-factor-assertion-form.json b/packages/shadcn/public/totp-multi-factor-assertion-form.json index decc75cc..1e5b3307 100644 --- a/packages/shadcn/public/totp-multi-factor-assertion-form.json +++ b/packages/shadcn/public/totp-multi-factor-assertion-form.json @@ -5,7 +5,7 @@ "title": "TOTP Multi-Factor Assertion Form", "description": "A form allowing users to complete TOTP-based multi-factor authentication during sign-in.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "form", @@ -15,7 +15,7 @@ "files": [ { "path": "src/registry/totp-multi-factor-assertion-form.tsx", - "content": "\"use client\";\n\nimport { type MultiFactorInfo } from \"firebase/auth\";\nimport { FirebaseUIError, getTranslation } from \"@firebase-ui/core\";\nimport {\n useMultiFactorTotpAuthVerifyFormSchema,\n useUI,\n useTotpMultiFactorAssertionFormAction,\n} from \"@firebase-ui/react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Button } from \"@/components/ui/button\";\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from \"@/components/ui/input-otp\";\n\ntype TotpMultiFactorAssertionFormProps = {\n hint: MultiFactorInfo;\n onSuccess?: () => void;\n};\n\nexport function TotpMultiFactorAssertionForm(props: TotpMultiFactorAssertionFormProps) {\n const ui = useUI();\n const schema = useMultiFactorTotpAuthVerifyFormSchema();\n const action = useTotpMultiFactorAssertionFormAction();\n\n const form = useForm<{ verificationCode: string }>({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n verificationCode: \"\",\n },\n });\n\n const onSubmit = async (values: { verificationCode: string }) => {\n try {\n await action({ verificationCode: values.verificationCode, hint: props.hint });\n props.onSuccess?.();\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n };\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"verificationCode\")}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n />\n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n", + "content": "\"use client\";\n\nimport { type MultiFactorInfo } from \"firebase/auth\";\nimport { FirebaseUIError, getTranslation } from \"@invertase/firebaseui-core\";\nimport {\n useMultiFactorTotpAuthVerifyFormSchema,\n useUI,\n useTotpMultiFactorAssertionFormAction,\n} from \"@invertase/firebaseui-react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Button } from \"@/components/ui/button\";\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from \"@/components/ui/input-otp\";\n\ntype TotpMultiFactorAssertionFormProps = {\n hint: MultiFactorInfo;\n onSuccess?: () => void;\n};\n\nexport function TotpMultiFactorAssertionForm(props: TotpMultiFactorAssertionFormProps) {\n const ui = useUI();\n const schema = useMultiFactorTotpAuthVerifyFormSchema();\n const action = useTotpMultiFactorAssertionFormAction();\n\n const form = useForm<{ verificationCode: string }>({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n verificationCode: \"\",\n },\n });\n\n const onSubmit = async (values: { verificationCode: string }) => {\n try {\n await action({ verificationCode: values.verificationCode, hint: props.hint });\n props.onSuccess?.();\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n };\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"verificationCode\")}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n />\n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/totp-multi-factor-enrollment-form.json b/packages/shadcn/public/totp-multi-factor-enrollment-form.json index 5de677e2..3ad29c3f 100644 --- a/packages/shadcn/public/totp-multi-factor-enrollment-form.json +++ b/packages/shadcn/public/totp-multi-factor-enrollment-form.json @@ -5,7 +5,7 @@ "title": "TOTP Multi-Factor Enrollment Form", "description": "A form allowing users to enroll TOTP-based multi-factor authentication with QR code generation.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "form", @@ -16,7 +16,7 @@ "files": [ { "path": "src/registry/totp-multi-factor-enrollment-form.tsx", - "content": "\"use client\";\n\nimport { useState } from \"react\";\nimport { TotpMultiFactorGenerator, type TotpSecret } from \"firebase/auth\";\nimport {\n enrollWithMultiFactorAssertion,\n FirebaseUIError,\n generateTotpQrCode,\n generateTotpSecret,\n getTranslation,\n} from \"@firebase-ui/core\";\nimport {\n useMultiFactorTotpAuthNumberFormSchema,\n useMultiFactorTotpAuthVerifyFormSchema,\n useUI,\n} from \"@firebase-ui/react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Button } from \"@/components/ui/button\";\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from \"@/components/ui/input-otp\";\n\ntype TotpMultiFactorSecretGenerationFormProps = {\n onSubmit: (secret: TotpSecret, displayName: string) => void;\n};\n\nfunction TotpMultiFactorSecretGenerationForm(props: TotpMultiFactorSecretGenerationFormProps) {\n const ui = useUI();\n const schema = useMultiFactorTotpAuthNumberFormSchema();\n\n const form = useForm<{ displayName: string }>({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n displayName: \"\",\n },\n });\n\n const onSubmit = async (values: { displayName: string }) => {\n try {\n const secret = await generateTotpSecret(ui);\n props.onSubmit(secret, values.displayName);\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n };\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"displayName\")}\n \n \n \n \n \n )}\n />\n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n\ntype MultiFactorEnrollmentVerifyTotpFormProps = {\n secret: TotpSecret;\n displayName: string;\n onSuccess: () => void;\n};\n\nexport function MultiFactorEnrollmentVerifyTotpForm(props: MultiFactorEnrollmentVerifyTotpFormProps) {\n const ui = useUI();\n const schema = useMultiFactorTotpAuthVerifyFormSchema();\n\n const form = useForm<{ verificationCode: string }>({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n verificationCode: \"\",\n },\n });\n\n const onSubmit = async (values: { verificationCode: string }) => {\n try {\n const assertion = TotpMultiFactorGenerator.assertionForEnrollment(props.secret, values.verificationCode);\n await enrollWithMultiFactorAssertion(ui, assertion, values.verificationCode);\n props.onSuccess();\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n };\n\n const qrCodeDataUrl = generateTotpQrCode(ui, props.secret, props.displayName);\n\n return (\n
\n
\n
\n \"TOTP\n

\n Scan this QR code with your authenticator app\n

\n
\n
\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"verificationCode\")}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n />\n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n
\n );\n}\n\nexport type TotpMultiFactorEnrollmentFormProps = {\n onSuccess?: () => void;\n};\n\nexport function TotpMultiFactorEnrollmentForm(props: TotpMultiFactorEnrollmentFormProps) {\n const ui = useUI();\n\n const [enrollment, setEnrollment] = useState<{\n secret: TotpSecret;\n displayName: string;\n } | null>(null);\n\n if (!ui.auth.currentUser) {\n throw new Error(\"User must be authenticated to enroll with multi-factor authentication\");\n }\n\n if (!enrollment) {\n return (\n setEnrollment({ secret, displayName })} />\n );\n }\n\n return (\n {\n props.onSuccess?.();\n }}\n />\n );\n}\n", + "content": "\"use client\";\n\nimport { useState } from \"react\";\nimport { TotpMultiFactorGenerator, type TotpSecret } from \"firebase/auth\";\nimport {\n enrollWithMultiFactorAssertion,\n FirebaseUIError,\n generateTotpQrCode,\n generateTotpSecret,\n getTranslation,\n} from \"@invertase/firebaseui-core\";\nimport {\n useMultiFactorTotpAuthNumberFormSchema,\n useMultiFactorTotpAuthVerifyFormSchema,\n useUI,\n} from \"@invertase/firebaseui-react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Button } from \"@/components/ui/button\";\nimport { InputOTP, InputOTPGroup, InputOTPSlot } from \"@/components/ui/input-otp\";\n\ntype TotpMultiFactorSecretGenerationFormProps = {\n onSubmit: (secret: TotpSecret, displayName: string) => void;\n};\n\nfunction TotpMultiFactorSecretGenerationForm(props: TotpMultiFactorSecretGenerationFormProps) {\n const ui = useUI();\n const schema = useMultiFactorTotpAuthNumberFormSchema();\n\n const form = useForm<{ displayName: string }>({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n displayName: \"\",\n },\n });\n\n const onSubmit = async (values: { displayName: string }) => {\n try {\n const secret = await generateTotpSecret(ui);\n props.onSubmit(secret, values.displayName);\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n };\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"displayName\")}\n \n \n \n \n \n )}\n />\n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n );\n}\n\ntype MultiFactorEnrollmentVerifyTotpFormProps = {\n secret: TotpSecret;\n displayName: string;\n onSuccess: () => void;\n};\n\nexport function MultiFactorEnrollmentVerifyTotpForm(props: MultiFactorEnrollmentVerifyTotpFormProps) {\n const ui = useUI();\n const schema = useMultiFactorTotpAuthVerifyFormSchema();\n\n const form = useForm<{ verificationCode: string }>({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n verificationCode: \"\",\n },\n });\n\n const onSubmit = async (values: { verificationCode: string }) => {\n try {\n const assertion = TotpMultiFactorGenerator.assertionForEnrollment(props.secret, values.verificationCode);\n await enrollWithMultiFactorAssertion(ui, assertion, values.verificationCode);\n props.onSuccess();\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n };\n\n const qrCodeDataUrl = generateTotpQrCode(ui, props.secret, props.displayName);\n\n return (\n
\n
\n
\n \"TOTP\n

\n Scan this QR code with your authenticator app\n

\n
\n
\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"verificationCode\")}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n />\n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n \n \n
\n );\n}\n\nexport type TotpMultiFactorEnrollmentFormProps = {\n onSuccess?: () => void;\n};\n\nexport function TotpMultiFactorEnrollmentForm(props: TotpMultiFactorEnrollmentFormProps) {\n const ui = useUI();\n\n const [enrollment, setEnrollment] = useState<{\n secret: TotpSecret;\n displayName: string;\n } | null>(null);\n\n if (!ui.auth.currentUser) {\n throw new Error(\"User must be authenticated to enroll with multi-factor authentication\");\n }\n\n if (!enrollment) {\n return (\n setEnrollment({ secret, displayName })} />\n );\n }\n\n return (\n {\n props.onSuccess?.();\n }}\n />\n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/twitter-sign-in-button.json b/packages/shadcn/public/twitter-sign-in-button.json index 20f49f26..8e535fe7 100644 --- a/packages/shadcn/public/twitter-sign-in-button.json +++ b/packages/shadcn/public/twitter-sign-in-button.json @@ -5,7 +5,7 @@ "title": "Twitter Sign In Button", "description": "A button component for Twitter OAuth authentication.", "dependencies": [ - "@firebase-ui/react" + "@invertase/firebaseui-react" ], "registryDependencies": [ "https://fir-ui-shadcn.web.app/oauth-button.json" @@ -13,7 +13,7 @@ "files": [ { "path": "src/registry/twitter-sign-in-button.tsx", - "content": "\"use client\";\n\nimport { TwitterAuthProvider } from \"firebase/auth\";\nimport { getTranslation } from \"@firebase-ui/core\";\nimport { useUI, type TwitterSignInButtonProps, TwitterLogo } from \"@firebase-ui/react\";\n\nimport { OAuthButton } from \"@/registry/oauth-button\";\n\nexport type { TwitterSignInButtonProps };\n\nexport function TwitterSignInButton({ provider, themed }: TwitterSignInButtonProps) {\n const ui = useUI();\n\n return (\n \n \n {getTranslation(ui, \"labels\", \"signInWithTwitter\")}\n \n );\n}\n", + "content": "\"use client\";\n\nimport { TwitterAuthProvider } from \"firebase/auth\";\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI, type TwitterSignInButtonProps, TwitterLogo } from \"@invertase/firebaseui-react\";\n\nimport { OAuthButton } from \"@/registry/oauth-button\";\n\nexport type { TwitterSignInButtonProps };\n\nexport function TwitterSignInButton({ provider, themed }: TwitterSignInButtonProps) {\n const ui = useUI();\n\n return (\n \n \n {getTranslation(ui, \"labels\", \"signInWithTwitter\")}\n \n );\n}\n", "type": "registry:component" } ], diff --git a/packages/shadcn/registry-spec.json b/packages/shadcn/registry-spec.json index f1bf02e0..b3c1814a 100644 --- a/packages/shadcn/registry-spec.json +++ b/packages/shadcn/registry-spec.json @@ -8,7 +8,7 @@ "type": "registry:block", "title": "Apple Sign In Button", "description": "A button component for Apple OAuth authentication.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["{{ DOMAIN }}/oauth-button.json"], "files": [ { @@ -42,7 +42,7 @@ "type": "registry:block", "title": "Country Selector", "description": "A country selector component for phone number input with country codes and flags.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["select"], "files": [ { @@ -56,7 +56,7 @@ "type": "registry:block", "title": "Email Link Auth Form", "description": "A form allowing users to sign in via email link.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["input", "button", "form", "{{ DOMAIN }}/policies.json"], "files": [ { @@ -70,7 +70,7 @@ "type": "registry:block", "title": "Email Link Auth Screen", "description": "A screen allowing users to sign in via email link.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["separator", "card", "{{ DOMAIN }}/email-link-auth-form.json"], "files": [ { @@ -84,7 +84,7 @@ "type": "registry:block", "title": "Facebook Sign In Button", "description": "A button component for Facebook OAuth authentication.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["{{ DOMAIN }}/oauth-button.json"], "files": [ { @@ -109,7 +109,7 @@ "type": "registry:block", "title": "Forgot Password Auth Form", "description": "A form allowing users to reset their password via email.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["input", "button", "form", "{{ DOMAIN }}/policies.json"], "files": [ { @@ -123,7 +123,7 @@ "type": "registry:block", "title": "Forgot Password Auth Screen", "description": "A screen allowing users to reset their password via email.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["card", "{{ DOMAIN }}/forgot-password-auth-form.json"], "files": [ { @@ -137,7 +137,7 @@ "type": "registry:block", "title": "GitHub Sign In Button", "description": "A button component for GitHub OAuth authentication.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["{{ DOMAIN }}/oauth-button.json"], "files": [ { @@ -171,7 +171,7 @@ "type": "registry:block", "title": "Google Sign In Button", "description": "A button component for Google OAuth authentication.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["{{ DOMAIN }}/oauth-button.json"], "files": [ { @@ -212,7 +212,7 @@ "type": "registry:block", "title": "Microsoft Sign In Button", "description": "A button component for Microsoft OAuth authentication.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["{{ DOMAIN }}/oauth-button.json"], "files": [ { @@ -246,7 +246,7 @@ "type": "registry:block", "title": "Multi-Factor Auth Assertion Form", "description": "A form allowing users to complete multi-factor authentication during sign-in with TOTP or SMS options.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": [ "button", "{{ DOMAIN }}/sms-multi-factor-assertion-form.json", @@ -264,7 +264,7 @@ "type": "registry:block", "title": "Multi-Factor Auth Enrollment Form", "description": "A form allowing users to select and configure multi-factor authentication methods.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": [ "button", "{{ DOMAIN }}/sms-multi-factor-enrollment-form.json", @@ -282,7 +282,7 @@ "type": "registry:block", "title": "Multi-Factor Auth Enrollment Screen", "description": "A screen allowing users to set up multi-factor authentication with TOTP or SMS options.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["card", "{{ DOMAIN }}/multi-factor-auth-enrollment-form.json"], "files": [ { @@ -296,7 +296,7 @@ "type": "registry:block", "title": "OAuth Button", "description": "A button component for OAuth authentication providers.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["button"], "files": [ { @@ -310,7 +310,7 @@ "type": "registry:block", "title": "OAuth Screen", "description": "A screen allowing users to sign in with OAuth providers.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": [ "card", "{{ DOMAIN }}/policies.json", @@ -329,7 +329,7 @@ "type": "registry:block", "title": "Phone Auth Form", "description": "A form allowing users to authenticate using their phone number with SMS verification.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": [ "form", "input", @@ -349,7 +349,7 @@ "type": "registry:block", "title": "Phone Auth Screen", "description": "A screen allowing users to authenticate using their phone number with SMS verification.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": [ "card", "separator", @@ -369,7 +369,7 @@ "type": "registry:block", "title": "Policies", "description": "A component allowing users to navigate to the terms of service and privacy policy.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "files": [ { "path": "src/registry/policies.tsx", @@ -382,7 +382,7 @@ "type": "registry:block", "title": "Redirect Error", "description": "A component that displays redirect errors from Firebase UI authentication flow.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "files": [ { "path": "src/registry/redirect-error.tsx", @@ -395,7 +395,7 @@ "type": "registry:block", "title": "Sign In Auth Form", "description": "A form allowing users to sign in with email and password.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["input", "button", "form", "{{ DOMAIN }}/policies.json"], "files": [ { @@ -409,7 +409,7 @@ "type": "registry:block", "title": "Sign In Auth Screen", "description": "A screen allowing users to sign in with email and password.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["separator", "card", "{{ DOMAIN }}/sign-in-auth-form.json"], "files": [ { @@ -423,7 +423,7 @@ "type": "registry:block", "title": "Sign Up Auth Form", "description": "A form allowing users to sign up with email and password.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["input", "button", "form", "{{ DOMAIN }}/policies.json"], "files": [ { @@ -437,7 +437,7 @@ "type": "registry:block", "title": "Sign Up Auth Screen", "description": "A screen allowing users to sign up with email and password.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["separator", "card", "{{ DOMAIN }}/sign-up-auth-form.json"], "files": [ { @@ -451,7 +451,7 @@ "type": "registry:block", "title": "SMS Multi-Factor Assertion Form", "description": "A form allowing users to complete SMS-based multi-factor authentication during sign-in.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["form", "input", "button", "input-otp"], "files": [ { @@ -465,7 +465,7 @@ "type": "registry:block", "title": "SMS Multi-Factor Enrollment Form", "description": "A form allowing users to enroll SMS-based multi-factor authentication.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["form", "input", "button", "input-otp", "{{ DOMAIN }}/country-selector.json"], "files": [ { @@ -479,7 +479,7 @@ "type": "registry:block", "title": "TOTP Multi-Factor Assertion Form", "description": "A form allowing users to complete TOTP-based multi-factor authentication during sign-in.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["form", "button", "input-otp"], "files": [ { @@ -493,7 +493,7 @@ "type": "registry:block", "title": "TOTP Multi-Factor Enrollment Form", "description": "A form allowing users to enroll TOTP-based multi-factor authentication with QR code generation.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["form", "input", "button", "input-otp"], "files": [ { @@ -507,7 +507,7 @@ "type": "registry:block", "title": "Twitter Sign In Button", "description": "A button component for Twitter OAuth authentication.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["{{ DOMAIN }}/oauth-button.json"], "files": [ { diff --git a/packages/shadcn/src/registry/apple-sign-in-button.test.tsx b/packages/shadcn/src/registry/apple-sign-in-button.test.tsx index b381805e..1ed2f657 100644 --- a/packages/shadcn/src/registry/apple-sign-in-button.test.tsx +++ b/packages/shadcn/src/registry/apple-sign-in-button.test.tsx @@ -18,9 +18,9 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { AppleSignInButton } from "./apple-sign-in-button"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { OAuthProvider } from "firebase/auth"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; vi.mock("./oauth-button", () => ({ OAuthButton: ({ provider, children, themed }: any) => ( @@ -32,8 +32,8 @@ vi.mock("./oauth-button", () => ({ ), })); -vi.mock("@firebase-ui/react", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-react", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, AppleLogo: ({ className, ...props }: any) => ( diff --git a/packages/shadcn/src/registry/apple-sign-in-button.tsx b/packages/shadcn/src/registry/apple-sign-in-button.tsx index f600032b..20a03cb6 100644 --- a/packages/shadcn/src/registry/apple-sign-in-button.tsx +++ b/packages/shadcn/src/registry/apple-sign-in-button.tsx @@ -1,8 +1,8 @@ "use client"; import { OAuthProvider } from "firebase/auth"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type AppleSignInButtonProps, AppleLogo } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type AppleSignInButtonProps, AppleLogo } from "@invertase/firebaseui-react"; import { OAuthButton } from "@/registry/oauth-button"; diff --git a/packages/shadcn/src/registry/country-selector.test.tsx b/packages/shadcn/src/registry/country-selector.test.tsx index 6b9befb3..f7a2e665 100644 --- a/packages/shadcn/src/registry/country-selector.test.tsx +++ b/packages/shadcn/src/registry/country-selector.test.tsx @@ -16,13 +16,13 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, cleanup, renderHook, waitFor } from "@testing-library/react"; -import { countryCodes } from "@firebase-ui/core"; +import { countryCodes } from "@invertase/firebaseui-core"; import { CountrySelector } from "./country-selector"; import { createMockUI, createFirebaseUIProvider } from "../../tests/utils"; -import { FirebaseUIProvider } from "@firebase-ui/react"; -import { useCountries, useDefaultCountry } from "@firebase-ui/react"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; +import { useCountries, useDefaultCountry } from "@invertase/firebaseui-react"; import type { RefObject } from "react"; -import type { CountrySelectorRef } from "@firebase-ui/react"; +import type { CountrySelectorRef } from "@invertase/firebaseui-react"; // Mock the shadcn Select components vi.mock("@/components/ui/select", () => ({ diff --git a/packages/shadcn/src/registry/country-selector.tsx b/packages/shadcn/src/registry/country-selector.tsx index b3fc77cc..371c4840 100644 --- a/packages/shadcn/src/registry/country-selector.tsx +++ b/packages/shadcn/src/registry/country-selector.tsx @@ -1,13 +1,13 @@ "use client"; import { forwardRef, useCallback, useImperativeHandle, useState } from "react"; -import type { CountryCode, CountryData } from "@firebase-ui/core"; +import type { CountryCode, CountryData } from "@invertase/firebaseui-core"; import { type CountrySelectorRef, type CountrySelectorProps, useCountries, useDefaultCountry, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; diff --git a/packages/shadcn/src/registry/email-link-auth-form.test.tsx b/packages/shadcn/src/registry/email-link-auth-form.test.tsx index f93e4306..250014a2 100644 --- a/packages/shadcn/src/registry/email-link-auth-form.test.tsx +++ b/packages/shadcn/src/registry/email-link-auth-form.test.tsx @@ -18,15 +18,15 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup, waitFor } from "@testing-library/react"; import { EmailLinkAuthForm } from "./email-link-auth-form"; import { act } from "react"; -import { useEmailLinkAuthFormAction } from "@firebase-ui/react"; +import { useEmailLinkAuthFormAction } from "@invertase/firebaseui-react"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { registerLocale } from "@invertase/firebaseui-translations"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; import { UserCredential } from "firebase/auth"; -import { completeEmailLinkSignIn } from "@firebase-ui/core"; +import { completeEmailLinkSignIn } from "@invertase/firebaseui-core"; -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, sendSignInLinkToEmail: vi.fn(), @@ -34,8 +34,8 @@ vi.mock("@firebase-ui/core", async (importOriginal) => { }; }); -vi.mock("@firebase-ui/react", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-react", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, useEmailLinkAuthFormAction: vi.fn(), diff --git a/packages/shadcn/src/registry/email-link-auth-form.tsx b/packages/shadcn/src/registry/email-link-auth-form.tsx index 20e28c68..81ada095 100644 --- a/packages/shadcn/src/registry/email-link-auth-form.tsx +++ b/packages/shadcn/src/registry/email-link-auth-form.tsx @@ -1,16 +1,16 @@ "use client"; -import type { EmailLinkAuthFormSchema } from "@firebase-ui/core"; +import type { EmailLinkAuthFormSchema } from "@invertase/firebaseui-core"; import { useUI, useEmailLinkAuthFormAction, useEmailLinkAuthFormSchema, useEmailLinkAuthFormCompleteSignIn, type EmailLinkAuthFormProps, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { useForm } from "react-hook-form"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; -import { FirebaseUIError, getTranslation } from "@firebase-ui/core"; +import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { useState } from "react"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; diff --git a/packages/shadcn/src/registry/email-link-auth-screen.test.tsx b/packages/shadcn/src/registry/email-link-auth-screen.test.tsx index 48879eca..2020b455 100644 --- a/packages/shadcn/src/registry/email-link-auth-screen.test.tsx +++ b/packages/shadcn/src/registry/email-link-auth-screen.test.tsx @@ -18,8 +18,8 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { EmailLinkAuthScreen } from "./email-link-auth-screen"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { registerLocale } from "@invertase/firebaseui-translations"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; vi.mock("./email-link-auth-form", () => ({ EmailLinkAuthForm: ({ onEmailSent, onSignIn }: any) => ( diff --git a/packages/shadcn/src/registry/email-link-auth-screen.tsx b/packages/shadcn/src/registry/email-link-auth-screen.tsx index 27c4beaf..e8cb6dd4 100644 --- a/packages/shadcn/src/registry/email-link-auth-screen.tsx +++ b/packages/shadcn/src/registry/email-link-auth-screen.tsx @@ -1,7 +1,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type EmailLinkAuthScreenProps } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type EmailLinkAuthScreenProps } from "@invertase/firebaseui-react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Separator } from "@/components/ui/separator"; diff --git a/packages/shadcn/src/registry/facebook-sign-in-button.test.tsx b/packages/shadcn/src/registry/facebook-sign-in-button.test.tsx index 26b33f53..1e9f911e 100644 --- a/packages/shadcn/src/registry/facebook-sign-in-button.test.tsx +++ b/packages/shadcn/src/registry/facebook-sign-in-button.test.tsx @@ -18,9 +18,9 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { FacebookSignInButton } from "./facebook-sign-in-button"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { FacebookAuthProvider } from "firebase/auth"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; vi.mock("./oauth-button", () => ({ OAuthButton: ({ provider, children, themed }: any) => ( @@ -32,8 +32,8 @@ vi.mock("./oauth-button", () => ({ ), })); -vi.mock("@firebase-ui/react", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-react", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, FacebookLogo: ({ className, ...props }: any) => ( diff --git a/packages/shadcn/src/registry/facebook-sign-in-button.tsx b/packages/shadcn/src/registry/facebook-sign-in-button.tsx index 6708ab60..01d9753b 100644 --- a/packages/shadcn/src/registry/facebook-sign-in-button.tsx +++ b/packages/shadcn/src/registry/facebook-sign-in-button.tsx @@ -1,8 +1,8 @@ "use client"; import { FacebookAuthProvider } from "firebase/auth"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type FacebookSignInButtonProps, FacebookLogo } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type FacebookSignInButtonProps, FacebookLogo } from "@invertase/firebaseui-react"; import { OAuthButton } from "@/registry/oauth-button"; diff --git a/packages/shadcn/src/registry/forgot-password-auth-form.test.tsx b/packages/shadcn/src/registry/forgot-password-auth-form.test.tsx index b450c9b5..3a9a4efa 100644 --- a/packages/shadcn/src/registry/forgot-password-auth-form.test.tsx +++ b/packages/shadcn/src/registry/forgot-password-auth-form.test.tsx @@ -18,21 +18,21 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup, waitFor } from "@testing-library/react"; import { ForgotPasswordAuthForm } from "./forgot-password-auth-form"; import { act } from "react"; -import { useForgotPasswordAuthFormAction } from "@firebase-ui/react"; +import { useForgotPasswordAuthFormAction } from "@invertase/firebaseui-react"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { registerLocale } from "@invertase/firebaseui-translations"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, sendPasswordResetEmail: vi.fn(), }; }); -vi.mock("@firebase-ui/react", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-react", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, useForgotPasswordAuthFormAction: vi.fn(), diff --git a/packages/shadcn/src/registry/forgot-password-auth-form.tsx b/packages/shadcn/src/registry/forgot-password-auth-form.tsx index e050d262..ed2ff39d 100644 --- a/packages/shadcn/src/registry/forgot-password-auth-form.tsx +++ b/packages/shadcn/src/registry/forgot-password-auth-form.tsx @@ -1,15 +1,15 @@ "use client"; -import type { ForgotPasswordAuthFormSchema } from "@firebase-ui/core"; +import type { ForgotPasswordAuthFormSchema } from "@invertase/firebaseui-core"; import { useForgotPasswordAuthFormAction, useForgotPasswordAuthFormSchema, useUI, type ForgotPasswordAuthFormProps, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { useForm } from "react-hook-form"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; -import { FirebaseUIError, getTranslation } from "@firebase-ui/core"; +import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { useState } from "react"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; diff --git a/packages/shadcn/src/registry/forgot-password-auth-screen.test.tsx b/packages/shadcn/src/registry/forgot-password-auth-screen.test.tsx index fd65e746..f35b9a18 100644 --- a/packages/shadcn/src/registry/forgot-password-auth-screen.test.tsx +++ b/packages/shadcn/src/registry/forgot-password-auth-screen.test.tsx @@ -18,8 +18,8 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { ForgotPasswordAuthScreen } from "./forgot-password-auth-screen"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { registerLocale } from "@invertase/firebaseui-translations"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; vi.mock("./forgot-password-auth-form", () => ({ ForgotPasswordAuthForm: ({ onPasswordSent, onBackToSignInClick }: any) => ( diff --git a/packages/shadcn/src/registry/forgot-password-auth-screen.tsx b/packages/shadcn/src/registry/forgot-password-auth-screen.tsx index 15d1336b..a0001a47 100644 --- a/packages/shadcn/src/registry/forgot-password-auth-screen.tsx +++ b/packages/shadcn/src/registry/forgot-password-auth-screen.tsx @@ -1,7 +1,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type ForgotPasswordAuthScreenProps } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type ForgotPasswordAuthScreenProps } from "@invertase/firebaseui-react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { ForgotPasswordAuthForm } from "@/registry/forgot-password-auth-form"; diff --git a/packages/shadcn/src/registry/github-sign-in-button.test.tsx b/packages/shadcn/src/registry/github-sign-in-button.test.tsx index 49a7feac..2a4701bd 100644 --- a/packages/shadcn/src/registry/github-sign-in-button.test.tsx +++ b/packages/shadcn/src/registry/github-sign-in-button.test.tsx @@ -18,9 +18,9 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { GitHubSignInButton } from "./github-sign-in-button"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { GithubAuthProvider } from "firebase/auth"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; vi.mock("./oauth-button", () => ({ OAuthButton: ({ provider, children, themed }: any) => ( @@ -32,8 +32,8 @@ vi.mock("./oauth-button", () => ({ ), })); -vi.mock("@firebase-ui/react", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-react", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, GitHubLogo: ({ className, ...props }: any) => ( diff --git a/packages/shadcn/src/registry/github-sign-in-button.tsx b/packages/shadcn/src/registry/github-sign-in-button.tsx index 80f70ca8..fa628f52 100644 --- a/packages/shadcn/src/registry/github-sign-in-button.tsx +++ b/packages/shadcn/src/registry/github-sign-in-button.tsx @@ -1,8 +1,8 @@ "use client"; import { GithubAuthProvider } from "firebase/auth"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type GitHubSignInButtonProps, GitHubLogo } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type GitHubSignInButtonProps, GitHubLogo } from "@invertase/firebaseui-react"; import { OAuthButton } from "@/registry/oauth-button"; diff --git a/packages/shadcn/src/registry/google-sign-in-button.test.tsx b/packages/shadcn/src/registry/google-sign-in-button.test.tsx index 1f6ec87b..8e9837e3 100644 --- a/packages/shadcn/src/registry/google-sign-in-button.test.tsx +++ b/packages/shadcn/src/registry/google-sign-in-button.test.tsx @@ -18,9 +18,9 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { GoogleSignInButton } from "./google-sign-in-button"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { GoogleAuthProvider } from "firebase/auth"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; vi.mock("./oauth-button", () => ({ OAuthButton: ({ provider, children, themed }: any) => ( @@ -32,8 +32,8 @@ vi.mock("./oauth-button", () => ({ ), })); -vi.mock("@firebase-ui/react", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-react", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, GoogleLogo: ({ className, ...props }: any) => ( diff --git a/packages/shadcn/src/registry/google-sign-in-button.tsx b/packages/shadcn/src/registry/google-sign-in-button.tsx index 7d5c213a..dd201955 100644 --- a/packages/shadcn/src/registry/google-sign-in-button.tsx +++ b/packages/shadcn/src/registry/google-sign-in-button.tsx @@ -1,8 +1,8 @@ "use client"; import { GoogleAuthProvider } from "firebase/auth"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type GoogleSignInButtonProps, GoogleLogo } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type GoogleSignInButtonProps, GoogleLogo } from "@invertase/firebaseui-react"; import { OAuthButton } from "@/registry/oauth-button"; diff --git a/packages/shadcn/src/registry/microsoft-sign-in-button.test.tsx b/packages/shadcn/src/registry/microsoft-sign-in-button.test.tsx index 26bf2053..22cfa008 100644 --- a/packages/shadcn/src/registry/microsoft-sign-in-button.test.tsx +++ b/packages/shadcn/src/registry/microsoft-sign-in-button.test.tsx @@ -18,9 +18,9 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { MicrosoftSignInButton } from "./microsoft-sign-in-button"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { OAuthProvider } from "firebase/auth"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; vi.mock("./oauth-button", () => ({ OAuthButton: ({ provider, children, themed }: any) => ( @@ -32,8 +32,8 @@ vi.mock("./oauth-button", () => ({ ), })); -vi.mock("@firebase-ui/react", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-react", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, MicrosoftLogo: ({ className, ...props }: any) => ( diff --git a/packages/shadcn/src/registry/microsoft-sign-in-button.tsx b/packages/shadcn/src/registry/microsoft-sign-in-button.tsx index 69c46010..cdc92cb8 100644 --- a/packages/shadcn/src/registry/microsoft-sign-in-button.tsx +++ b/packages/shadcn/src/registry/microsoft-sign-in-button.tsx @@ -1,8 +1,8 @@ "use client"; import { OAuthProvider } from "firebase/auth"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type MicrosoftSignInButtonProps, MicrosoftLogo } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type MicrosoftSignInButtonProps, MicrosoftLogo } from "@invertase/firebaseui-react"; import { OAuthButton } from "@/registry/oauth-button"; diff --git a/packages/shadcn/src/registry/multi-factor-auth-assertion-form.test.tsx b/packages/shadcn/src/registry/multi-factor-auth-assertion-form.test.tsx index 6911068a..d8c01917 100644 --- a/packages/shadcn/src/registry/multi-factor-auth-assertion-form.test.tsx +++ b/packages/shadcn/src/registry/multi-factor-auth-assertion-form.test.tsx @@ -2,7 +2,7 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup } from "@testing-library/react"; import { MultiFactorAuthAssertionForm } from "./multi-factor-auth-assertion-form"; import { createFirebaseUIProvider, createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { FactorId, MultiFactorResolver, PhoneMultiFactorGenerator, TotpMultiFactorGenerator } from "firebase/auth"; vi.mock("@/registry/sms-multi-factor-assertion-form", () => ({ diff --git a/packages/shadcn/src/registry/multi-factor-auth-assertion-form.tsx b/packages/shadcn/src/registry/multi-factor-auth-assertion-form.tsx index 98669e2a..258e0c1d 100644 --- a/packages/shadcn/src/registry/multi-factor-auth-assertion-form.tsx +++ b/packages/shadcn/src/registry/multi-factor-auth-assertion-form.tsx @@ -2,8 +2,8 @@ import { PhoneMultiFactorGenerator, TotpMultiFactorGenerator, type MultiFactorInfo } from "firebase/auth"; import { type ComponentProps, useState } from "react"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI } from "@invertase/firebaseui-react"; import { SmsMultiFactorAssertionForm } from "./sms-multi-factor-assertion-form"; import { TotpMultiFactorAssertionForm } from "./totp-multi-factor-assertion-form"; diff --git a/packages/shadcn/src/registry/multi-factor-auth-enrollment-form.test.tsx b/packages/shadcn/src/registry/multi-factor-auth-enrollment-form.test.tsx index 850f5f69..7c591581 100644 --- a/packages/shadcn/src/registry/multi-factor-auth-enrollment-form.test.tsx +++ b/packages/shadcn/src/registry/multi-factor-auth-enrollment-form.test.tsx @@ -18,8 +18,8 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup } from "@testing-library/react"; import { MultiFactorAuthEnrollmentForm } from "./multi-factor-auth-enrollment-form"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { registerLocale } from "@invertase/firebaseui-translations"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; import { FactorId } from "firebase/auth"; vi.mock("./sms-multi-factor-enrollment-form", () => ({ diff --git a/packages/shadcn/src/registry/multi-factor-auth-enrollment-form.tsx b/packages/shadcn/src/registry/multi-factor-auth-enrollment-form.tsx index eaf6a689..edc0b931 100644 --- a/packages/shadcn/src/registry/multi-factor-auth-enrollment-form.tsx +++ b/packages/shadcn/src/registry/multi-factor-auth-enrollment-form.tsx @@ -2,8 +2,8 @@ import { type ComponentProps, useState } from "react"; import { FactorId } from "firebase/auth"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI } from "@invertase/firebaseui-react"; import { SmsMultiFactorEnrollmentForm } from "@/registry/sms-multi-factor-enrollment-form"; import { TotpMultiFactorEnrollmentForm } from "@/registry/totp-multi-factor-enrollment-form"; diff --git a/packages/shadcn/src/registry/multi-factor-auth-enrollment-screen.test.tsx b/packages/shadcn/src/registry/multi-factor-auth-enrollment-screen.test.tsx index 8096da31..a31af7b6 100644 --- a/packages/shadcn/src/registry/multi-factor-auth-enrollment-screen.test.tsx +++ b/packages/shadcn/src/registry/multi-factor-auth-enrollment-screen.test.tsx @@ -18,8 +18,8 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { MultiFactorAuthEnrollmentScreen } from "./multi-factor-auth-enrollment-screen"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { registerLocale } from "@invertase/firebaseui-translations"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; vi.mock("./multi-factor-auth-enrollment-form", () => ({ MultiFactorAuthEnrollmentForm: ({ onEnrollment }: { onEnrollment?: () => void }) => ( diff --git a/packages/shadcn/src/registry/multi-factor-auth-enrollment-screen.tsx b/packages/shadcn/src/registry/multi-factor-auth-enrollment-screen.tsx index 7a320e8d..96b789f1 100644 --- a/packages/shadcn/src/registry/multi-factor-auth-enrollment-screen.tsx +++ b/packages/shadcn/src/registry/multi-factor-auth-enrollment-screen.tsx @@ -1,8 +1,8 @@ "use client"; import React, { type PropsWithChildren } from "react"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type MultiFactorAuthEnrollmentFormProps } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type MultiFactorAuthEnrollmentFormProps } from "@invertase/firebaseui-react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { MultiFactorAuthEnrollmentForm } from "@/registry/multi-factor-auth-enrollment-form"; diff --git a/packages/shadcn/src/registry/oauth-button.test.tsx b/packages/shadcn/src/registry/oauth-button.test.tsx index 978c9172..41731f81 100644 --- a/packages/shadcn/src/registry/oauth-button.test.tsx +++ b/packages/shadcn/src/registry/oauth-button.test.tsx @@ -18,15 +18,15 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, fireEvent, cleanup } from "@testing-library/react"; import { OAuthButton } from "./oauth-button"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import type { AuthProvider, UserCredential } from "firebase/auth"; import { ComponentProps } from "react"; -import { signInWithProvider } from "@firebase-ui/core"; +import { signInWithProvider } from "@invertase/firebaseui-core"; import { FirebaseError } from "firebase/app"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; -vi.mock("@firebase-ui/core", async (importOriginal) => { +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { const mod = await importOriginal(); return { ...(mod as object), @@ -142,7 +142,7 @@ describe("", () => { }); it("displays FirebaseUIError message when FirebaseUIError occurs", async () => { - const { FirebaseUIError } = await import("@firebase-ui/core"); + const { FirebaseUIError } = await import("@invertase/firebaseui-core"); const mockSignInWithProvider = vi.mocked(signInWithProvider); const ui = createMockUI(); const mockError = new FirebaseUIError( @@ -211,7 +211,7 @@ describe("", () => { }); it("clears error when button is clicked again", async () => { - const { FirebaseUIError } = await import("@firebase-ui/core"); + const { FirebaseUIError } = await import("@invertase/firebaseui-core"); const mockSignInWithProvider = vi.mocked(signInWithProvider); const ui = createMockUI(); diff --git a/packages/shadcn/src/registry/oauth-button.tsx b/packages/shadcn/src/registry/oauth-button.tsx index dd5d3740..d32360a0 100644 --- a/packages/shadcn/src/registry/oauth-button.tsx +++ b/packages/shadcn/src/registry/oauth-button.tsx @@ -1,6 +1,6 @@ "use client"; -import { useUI, type OAuthButtonProps, useSignInWithProvider } from "@firebase-ui/react"; +import { useUI, type OAuthButtonProps, useSignInWithProvider } from "@invertase/firebaseui-react"; import { Button } from "@/components/ui/button"; export type { OAuthButtonProps }; diff --git a/packages/shadcn/src/registry/oauth-screen.test.tsx b/packages/shadcn/src/registry/oauth-screen.test.tsx index 7126a5db..0f8362ce 100644 --- a/packages/shadcn/src/registry/oauth-screen.test.tsx +++ b/packages/shadcn/src/registry/oauth-screen.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { OAuthScreen } from "@/registry/oauth-screen"; import { CreateFirebaseUIProvider, createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { MultiFactorResolver } from "firebase/auth"; vi.mock("@/registry/policies", () => ({ diff --git a/packages/shadcn/src/registry/oauth-screen.tsx b/packages/shadcn/src/registry/oauth-screen.tsx index 7b9172e6..9a6ac78a 100644 --- a/packages/shadcn/src/registry/oauth-screen.tsx +++ b/packages/shadcn/src/registry/oauth-screen.tsx @@ -1,8 +1,8 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { type PropsWithChildren } from "react"; -import { useUI } from "@firebase-ui/react"; +import { useUI } from "@invertase/firebaseui-react"; import { Card, CardContent, CardHeader, CardDescription, CardTitle } from "@/components/ui/card"; import { Policies } from "@/registry/policies"; import { MultiFactorAuthAssertionForm } from "@/registry/multi-factor-auth-assertion-form"; diff --git a/packages/shadcn/src/registry/phone-auth-form.test.tsx b/packages/shadcn/src/registry/phone-auth-form.test.tsx index e2676845..a85b734b 100644 --- a/packages/shadcn/src/registry/phone-auth-form.test.tsx +++ b/packages/shadcn/src/registry/phone-auth-form.test.tsx @@ -18,17 +18,17 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup, waitFor } from "@testing-library/react"; import { PhoneAuthForm } from "./phone-auth-form"; import { act } from "react"; -import { usePhoneNumberFormAction, useVerifyPhoneNumberFormAction, useUI } from "@firebase-ui/react"; +import { usePhoneNumberFormAction, useVerifyPhoneNumberFormAction, useUI } from "@invertase/firebaseui-react"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { registerLocale } from "@invertase/firebaseui-translations"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; import { User, UserCredential } from "firebase/auth"; -import { FirebaseUI, FirebaseUIError } from "@firebase-ui/core"; +import { FirebaseUI, FirebaseUIError } from "@invertase/firebaseui-core"; import { FirebaseError } from "firebase/app"; -import { ERROR_CODE_MAP } from "@firebase-ui/translations"; +import { ERROR_CODE_MAP } from "@invertase/firebaseui-translations"; -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, verifyPhoneNumber: vi.fn(), @@ -49,8 +49,8 @@ vi.mock("@firebase-ui/core", async (importOriginal) => { }; }); -vi.mock("@firebase-ui/react", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-react", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, usePhoneNumberFormAction: vi.fn().mockReturnValue(vi.fn().mockResolvedValue("verification-id-123")), diff --git a/packages/shadcn/src/registry/phone-auth-form.tsx b/packages/shadcn/src/registry/phone-auth-form.tsx index a13b284b..0beb760b 100644 --- a/packages/shadcn/src/registry/phone-auth-form.tsx +++ b/packages/shadcn/src/registry/phone-auth-form.tsx @@ -9,7 +9,7 @@ import { useRecaptchaVerifier, useUI, useVerifyPhoneNumberFormAction, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { useState } from "react"; import type { UserCredential } from "firebase/auth"; import { useRef } from "react"; @@ -21,7 +21,7 @@ import { getTranslation, type PhoneAuthNumberFormSchema, type PhoneAuthVerifyFormSchema, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; diff --git a/packages/shadcn/src/registry/phone-auth-screen.test.tsx b/packages/shadcn/src/registry/phone-auth-screen.test.tsx index 06d66589..65568462 100644 --- a/packages/shadcn/src/registry/phone-auth-screen.test.tsx +++ b/packages/shadcn/src/registry/phone-auth-screen.test.tsx @@ -17,7 +17,7 @@ import { describe, it, expect, vi, afterEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { PhoneAuthScreen } from "@/registry/phone-auth-screen"; import { CreateFirebaseUIProvider, createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { MultiFactorResolver } from "firebase/auth"; vi.mock("@/registry/phone-auth-form", () => ({ diff --git a/packages/shadcn/src/registry/phone-auth-screen.tsx b/packages/shadcn/src/registry/phone-auth-screen.tsx index 23cdd323..e4b639b0 100644 --- a/packages/shadcn/src/registry/phone-auth-screen.tsx +++ b/packages/shadcn/src/registry/phone-auth-screen.tsx @@ -1,8 +1,8 @@ "use client"; import type { PropsWithChildren } from "react"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI } from "@invertase/firebaseui-react"; import { Card, CardContent, CardHeader, CardDescription, CardTitle } from "@/components/ui/card"; import { Separator } from "@/components/ui/separator"; import { PhoneAuthForm, type PhoneAuthFormProps } from "@/registry/phone-auth-form"; diff --git a/packages/shadcn/src/registry/policies.test.tsx b/packages/shadcn/src/registry/policies.test.tsx index 80536072..85610b92 100644 --- a/packages/shadcn/src/registry/policies.test.tsx +++ b/packages/shadcn/src/registry/policies.test.tsx @@ -18,11 +18,11 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup } from "@testing-library/react"; import { Policies } from "./policies"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { registerLocale } from "@invertase/firebaseui-translations"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, signInWithEmailAndPassword: vi.fn(), diff --git a/packages/shadcn/src/registry/policies.tsx b/packages/shadcn/src/registry/policies.tsx index 970cf37f..b0cfef63 100644 --- a/packages/shadcn/src/registry/policies.tsx +++ b/packages/shadcn/src/registry/policies.tsx @@ -1,6 +1,6 @@ import { cn } from "@/lib/utils"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, PolicyContext } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, PolicyContext } from "@invertase/firebaseui-react"; import { cloneElement, useContext } from "react"; export function Policies() { diff --git a/packages/shadcn/src/registry/redirect-error.tsx b/packages/shadcn/src/registry/redirect-error.tsx index db0fa527..4a51241a 100644 --- a/packages/shadcn/src/registry/redirect-error.tsx +++ b/packages/shadcn/src/registry/redirect-error.tsx @@ -1,6 +1,6 @@ "use client"; -import { useRedirectError } from "@firebase-ui/react"; +import { useRedirectError } from "@invertase/firebaseui-react"; export function RedirectError() { const error = useRedirectError(); diff --git a/packages/shadcn/src/registry/sign-in-auth-form.test.tsx b/packages/shadcn/src/registry/sign-in-auth-form.test.tsx index 634c2111..24503e01 100644 --- a/packages/shadcn/src/registry/sign-in-auth-form.test.tsx +++ b/packages/shadcn/src/registry/sign-in-auth-form.test.tsx @@ -18,22 +18,22 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup, waitFor } from "@testing-library/react"; import { SignInAuthForm } from "./sign-in-auth-form"; import { act } from "react"; -import { useSignInAuthFormAction } from "@firebase-ui/react"; +import { useSignInAuthFormAction } from "@invertase/firebaseui-react"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { registerLocale } from "@invertase/firebaseui-translations"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; import { UserCredential } from "firebase/auth"; -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, signInWithEmailAndPassword: vi.fn(), }; }); -vi.mock("@firebase-ui/react", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-react", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, useSignInAuthFormAction: vi.fn(), diff --git a/packages/shadcn/src/registry/sign-in-auth-form.tsx b/packages/shadcn/src/registry/sign-in-auth-form.tsx index 6950c8f1..2d4e5076 100644 --- a/packages/shadcn/src/registry/sign-in-auth-form.tsx +++ b/packages/shadcn/src/registry/sign-in-auth-form.tsx @@ -1,10 +1,10 @@ "use client"; -import type { SignInAuthFormSchema } from "@firebase-ui/core"; -import { useSignInAuthFormAction, useSignInAuthFormSchema, useUI, type SignInAuthFormProps } from "@firebase-ui/react"; +import type { SignInAuthFormSchema } from "@invertase/firebaseui-core"; +import { useSignInAuthFormAction, useSignInAuthFormSchema, useUI, type SignInAuthFormProps } from "@invertase/firebaseui-react"; import { useForm } from "react-hook-form"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; -import { FirebaseUIError, getTranslation } from "@firebase-ui/core"; +import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; diff --git a/packages/shadcn/src/registry/sign-in-auth-screen.test.tsx b/packages/shadcn/src/registry/sign-in-auth-screen.test.tsx index 2bfd6a68..cadd5eb1 100644 --- a/packages/shadcn/src/registry/sign-in-auth-screen.test.tsx +++ b/packages/shadcn/src/registry/sign-in-auth-screen.test.tsx @@ -18,8 +18,8 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { SignInAuthScreen } from "./sign-in-auth-screen"; import { createMockUI, createFirebaseUIProvider } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { registerLocale } from "@invertase/firebaseui-translations"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; vi.mock("./sign-in-auth-form", () => ({ SignInAuthForm: ({ onSignIn, onForgotPasswordClick, onRegisterClick }: any) => ( diff --git a/packages/shadcn/src/registry/sign-in-auth-screen.tsx b/packages/shadcn/src/registry/sign-in-auth-screen.tsx index aed39534..05cd8e02 100644 --- a/packages/shadcn/src/registry/sign-in-auth-screen.tsx +++ b/packages/shadcn/src/registry/sign-in-auth-screen.tsx @@ -1,7 +1,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type SignInAuthScreenProps } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type SignInAuthScreenProps } from "@invertase/firebaseui-react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Separator } from "@/components/ui/separator"; diff --git a/packages/shadcn/src/registry/sign-up-auth-form.test.tsx b/packages/shadcn/src/registry/sign-up-auth-form.test.tsx index 48de2579..bf07d9b4 100644 --- a/packages/shadcn/src/registry/sign-up-auth-form.test.tsx +++ b/packages/shadcn/src/registry/sign-up-auth-form.test.tsx @@ -18,22 +18,22 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup, waitFor } from "@testing-library/react"; import { SignUpAuthForm } from "./sign-up-auth-form"; import { act } from "react"; -import { useSignUpAuthFormAction, useRequireDisplayName } from "@firebase-ui/react"; +import { useSignUpAuthFormAction, useRequireDisplayName } from "@invertase/firebaseui-react"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { registerLocale } from "@invertase/firebaseui-translations"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; import { UserCredential } from "firebase/auth"; -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, createUserWithEmailAndPassword: vi.fn(), }; }); -vi.mock("@firebase-ui/react", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-react", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, useSignUpAuthFormAction: vi.fn(), diff --git a/packages/shadcn/src/registry/sign-up-auth-form.tsx b/packages/shadcn/src/registry/sign-up-auth-form.tsx index dc8ea78c..920c5d6b 100644 --- a/packages/shadcn/src/registry/sign-up-auth-form.tsx +++ b/packages/shadcn/src/registry/sign-up-auth-form.tsx @@ -1,16 +1,16 @@ "use client"; -import type { SignUpAuthFormSchema } from "@firebase-ui/core"; +import type { SignUpAuthFormSchema } from "@invertase/firebaseui-core"; import { useSignUpAuthFormAction, useSignUpAuthFormSchema, useUI, type SignUpAuthFormProps, useRequireDisplayName, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { useForm } from "react-hook-form"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; -import { FirebaseUIError, getTranslation } from "@firebase-ui/core"; +import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; diff --git a/packages/shadcn/src/registry/sign-up-auth-screen.test.tsx b/packages/shadcn/src/registry/sign-up-auth-screen.test.tsx index 6f7b6a3b..ffe24c04 100644 --- a/packages/shadcn/src/registry/sign-up-auth-screen.test.tsx +++ b/packages/shadcn/src/registry/sign-up-auth-screen.test.tsx @@ -18,8 +18,8 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { SignUpAuthScreen } from "./sign-up-auth-screen"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { registerLocale } from "@invertase/firebaseui-translations"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; vi.mock("./sign-up-auth-form", () => ({ SignUpAuthForm: ({ onSignUp, onBackToSignInClick }: any) => ( diff --git a/packages/shadcn/src/registry/sign-up-auth-screen.tsx b/packages/shadcn/src/registry/sign-up-auth-screen.tsx index 6cd47be9..8f416ff4 100644 --- a/packages/shadcn/src/registry/sign-up-auth-screen.tsx +++ b/packages/shadcn/src/registry/sign-up-auth-screen.tsx @@ -1,7 +1,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type SignUpAuthScreenProps } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type SignUpAuthScreenProps } from "@invertase/firebaseui-react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Separator } from "@/components/ui/separator"; diff --git a/packages/shadcn/src/registry/sms-multi-factor-assertion-form.test.tsx b/packages/shadcn/src/registry/sms-multi-factor-assertion-form.test.tsx index f5f0cd41..b3bfe3cf 100644 --- a/packages/shadcn/src/registry/sms-multi-factor-assertion-form.test.tsx +++ b/packages/shadcn/src/registry/sms-multi-factor-assertion-form.test.tsx @@ -2,13 +2,13 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup, waitFor } from "@testing-library/react"; import { SmsMultiFactorAssertionForm } from "./sms-multi-factor-assertion-form"; import { createFirebaseUIProvider, createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { PhoneMultiFactorGenerator } from "firebase/auth"; -import { verifyPhoneNumber, signInWithMultiFactorAssertion } from "@firebase-ui/core"; +import { verifyPhoneNumber, signInWithMultiFactorAssertion } from "@invertase/firebaseui-core"; import { useSmsMultiFactorAssertionPhoneFormAction, useSmsMultiFactorAssertionVerifyFormAction, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import React from "react"; // Mock input-otp components to prevent window access issues @@ -25,8 +25,8 @@ vi.mock("@/components/ui/input-otp", () => ({ }), })); -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, verifyPhoneNumber: vi.fn(), @@ -34,8 +34,8 @@ vi.mock("@firebase-ui/core", async (importOriginal) => { }; }); -vi.mock("@firebase-ui/react", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-react", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, useRecaptchaVerifier: () => ({ diff --git a/packages/shadcn/src/registry/sms-multi-factor-assertion-form.tsx b/packages/shadcn/src/registry/sms-multi-factor-assertion-form.tsx index 35ee4e52..7b7b0dbc 100644 --- a/packages/shadcn/src/registry/sms-multi-factor-assertion-form.tsx +++ b/packages/shadcn/src/registry/sms-multi-factor-assertion-form.tsx @@ -3,14 +3,14 @@ import { useRef, useState } from "react"; import { type MultiFactorInfo } from "firebase/auth"; -import { FirebaseUIError, getTranslation } from "@firebase-ui/core"; +import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { useMultiFactorPhoneAuthVerifyFormSchema, useRecaptchaVerifier, useUI, useSmsMultiFactorAssertionPhoneFormAction, useSmsMultiFactorAssertionVerifyFormAction, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { useForm } from "react-hook-form"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; diff --git a/packages/shadcn/src/registry/sms-multi-factor-enrollment-form.test.tsx b/packages/shadcn/src/registry/sms-multi-factor-enrollment-form.test.tsx index fc3b4382..ddf171b2 100644 --- a/packages/shadcn/src/registry/sms-multi-factor-enrollment-form.test.tsx +++ b/packages/shadcn/src/registry/sms-multi-factor-enrollment-form.test.tsx @@ -17,8 +17,8 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup, waitFor } from "@testing-library/react"; import { SmsMultiFactorEnrollmentForm } from "./sms-multi-factor-enrollment-form"; import { createFirebaseUIProvider, createMockUIWithUser } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; -import { verifyPhoneNumber, enrollWithMultiFactorAssertion } from "@firebase-ui/core"; +import { registerLocale } from "@invertase/firebaseui-translations"; +import { verifyPhoneNumber, enrollWithMultiFactorAssertion } from "@invertase/firebaseui-core"; import React from "react"; // Mock input-otp components to prevent window access issues @@ -32,16 +32,16 @@ vi.mock("@/components/ui/input-otp", () => ({ })); // Mock the schema hooks -vi.mock("@firebase-ui/react", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-react", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, useRecaptchaVerifier: vi.fn().mockReturnValue({}), }; }); -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, verifyPhoneNumber: vi.fn(), diff --git a/packages/shadcn/src/registry/sms-multi-factor-enrollment-form.tsx b/packages/shadcn/src/registry/sms-multi-factor-enrollment-form.tsx index 0eec29e4..82749ab0 100644 --- a/packages/shadcn/src/registry/sms-multi-factor-enrollment-form.tsx +++ b/packages/shadcn/src/registry/sms-multi-factor-enrollment-form.tsx @@ -8,14 +8,14 @@ import { formatPhoneNumber, getTranslation, verifyPhoneNumber, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { CountrySelector, type CountrySelectorRef } from "@/registry/country-selector"; import { useMultiFactorPhoneAuthNumberFormSchema, useMultiFactorPhoneAuthVerifyFormSchema, useRecaptchaVerifier, useUI, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { useForm } from "react-hook-form"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; diff --git a/packages/shadcn/src/registry/totp-multi-factor-assertion-form.test.tsx b/packages/shadcn/src/registry/totp-multi-factor-assertion-form.test.tsx index 71acc8af..16ad735a 100644 --- a/packages/shadcn/src/registry/totp-multi-factor-assertion-form.test.tsx +++ b/packages/shadcn/src/registry/totp-multi-factor-assertion-form.test.tsx @@ -2,9 +2,9 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup, waitFor } from "@testing-library/react"; import { TotpMultiFactorAssertionForm } from "./totp-multi-factor-assertion-form"; import { createFirebaseUIProvider, createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { TotpMultiFactorGenerator } from "firebase/auth"; -import { useTotpMultiFactorAssertionFormAction } from "@firebase-ui/react"; +import { useTotpMultiFactorAssertionFormAction } from "@invertase/firebaseui-react"; import React from "react"; // Mock input-otp components to prevent window access issues @@ -21,8 +21,8 @@ vi.mock("@/components/ui/input-otp", () => ({ }), })); -vi.mock("@firebase-ui/react", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-react", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, useTotpMultiFactorAssertionFormAction: vi.fn(), diff --git a/packages/shadcn/src/registry/totp-multi-factor-assertion-form.tsx b/packages/shadcn/src/registry/totp-multi-factor-assertion-form.tsx index 7410c1b2..a62dbf5a 100644 --- a/packages/shadcn/src/registry/totp-multi-factor-assertion-form.tsx +++ b/packages/shadcn/src/registry/totp-multi-factor-assertion-form.tsx @@ -1,12 +1,12 @@ "use client"; import { type MultiFactorInfo } from "firebase/auth"; -import { FirebaseUIError, getTranslation } from "@firebase-ui/core"; +import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { useMultiFactorTotpAuthVerifyFormSchema, useUI, useTotpMultiFactorAssertionFormAction, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { useForm } from "react-hook-form"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; diff --git a/packages/shadcn/src/registry/totp-multi-factor-enrollment-form.test.tsx b/packages/shadcn/src/registry/totp-multi-factor-enrollment-form.test.tsx index eb210d51..55d7db50 100644 --- a/packages/shadcn/src/registry/totp-multi-factor-enrollment-form.test.tsx +++ b/packages/shadcn/src/registry/totp-multi-factor-enrollment-form.test.tsx @@ -17,8 +17,8 @@ import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; import { render, screen, fireEvent, cleanup, waitFor } from "@testing-library/react"; import { TotpMultiFactorEnrollmentForm } from "./totp-multi-factor-enrollment-form"; import { createFirebaseUIProvider, createMockUIWithUser } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; -import { generateTotpSecret, generateTotpQrCode, enrollWithMultiFactorAssertion } from "@firebase-ui/core"; +import { registerLocale } from "@invertase/firebaseui-translations"; +import { generateTotpSecret, generateTotpQrCode, enrollWithMultiFactorAssertion } from "@invertase/firebaseui-core"; import React from "react"; // Mock input-otp components to prevent window access issues @@ -35,8 +35,8 @@ vi.mock("@/components/ui/input-otp", () => ({ }), })); -vi.mock("@firebase-ui/core", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-core", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, generateTotpSecret: vi.fn(), diff --git a/packages/shadcn/src/registry/totp-multi-factor-enrollment-form.tsx b/packages/shadcn/src/registry/totp-multi-factor-enrollment-form.tsx index b37571d2..a40fd909 100644 --- a/packages/shadcn/src/registry/totp-multi-factor-enrollment-form.tsx +++ b/packages/shadcn/src/registry/totp-multi-factor-enrollment-form.tsx @@ -8,12 +8,12 @@ import { generateTotpQrCode, generateTotpSecret, getTranslation, -} from "@firebase-ui/core"; +} from "@invertase/firebaseui-core"; import { useMultiFactorTotpAuthNumberFormSchema, useMultiFactorTotpAuthVerifyFormSchema, useUI, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { useForm } from "react-hook-form"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; diff --git a/packages/shadcn/src/registry/twitter-sign-in-button.test.tsx b/packages/shadcn/src/registry/twitter-sign-in-button.test.tsx index ad175ea5..0f749334 100644 --- a/packages/shadcn/src/registry/twitter-sign-in-button.test.tsx +++ b/packages/shadcn/src/registry/twitter-sign-in-button.test.tsx @@ -18,9 +18,9 @@ import { describe, it, expect, vi, afterEach, beforeEach } from "vitest"; import { render, screen, cleanup } from "@testing-library/react"; import { TwitterSignInButton } from "./twitter-sign-in-button"; import { createMockUI } from "../../tests/utils"; -import { registerLocale } from "@firebase-ui/translations"; +import { registerLocale } from "@invertase/firebaseui-translations"; import { TwitterAuthProvider } from "firebase/auth"; -import { FirebaseUIProvider } from "@firebase-ui/react"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; vi.mock("./oauth-button", () => ({ OAuthButton: ({ provider, children, themed }: any) => ( @@ -32,8 +32,8 @@ vi.mock("./oauth-button", () => ({ ), })); -vi.mock("@firebase-ui/react", async (importOriginal) => { - const mod = await importOriginal(); +vi.mock("@invertase/firebaseui-react", async (importOriginal) => { + const mod = await importOriginal(); return { ...mod, TwitterLogo: ({ className, ...props }: any) => ( diff --git a/packages/shadcn/src/registry/twitter-sign-in-button.tsx b/packages/shadcn/src/registry/twitter-sign-in-button.tsx index 8f42bbb4..c8733d8c 100644 --- a/packages/shadcn/src/registry/twitter-sign-in-button.tsx +++ b/packages/shadcn/src/registry/twitter-sign-in-button.tsx @@ -1,8 +1,8 @@ "use client"; import { TwitterAuthProvider } from "firebase/auth"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type TwitterSignInButtonProps, TwitterLogo } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type TwitterSignInButtonProps, TwitterLogo } from "@invertase/firebaseui-react"; import { OAuthButton } from "@/registry/oauth-button"; diff --git a/packages/shadcn/tests/utils.tsx b/packages/shadcn/tests/utils.tsx index ced93dc2..31e8cedc 100644 --- a/packages/shadcn/tests/utils.tsx +++ b/packages/shadcn/tests/utils.tsx @@ -1,9 +1,9 @@ import type { FirebaseApp } from "firebase/app"; import type { Auth } from "firebase/auth"; -import { enUs } from "@firebase-ui/translations"; -import { FirebaseUIProvider } from "@firebase-ui/react"; -import { Behavior, FirebaseUIOptions, initializeUI } from "@firebase-ui/core"; -import { FirebaseUIStore } from "@firebase-ui/core"; +import { enUs } from "@invertase/firebaseui-translations"; +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; +import { Behavior, FirebaseUIOptions, initializeUI } from "@invertase/firebaseui-core"; +import { FirebaseUIStore } from "@invertase/firebaseui-core"; import { vi } from "vitest"; export function createMockUI(overrides?: Partial) { diff --git a/packages/shadcn/tsconfig.json b/packages/shadcn/tsconfig.json index 2a150020..a8e7da5e 100644 --- a/packages/shadcn/tsconfig.json +++ b/packages/shadcn/tsconfig.json @@ -8,8 +8,8 @@ "paths": { "@/*": ["./src/*"], "@/tests/*": ["./tests/*"], - "@firebase-ui/core": ["../core/src/index.ts"], - "@firebase-ui/react": ["../react/src/index.ts"] + "@invertase/firebaseui-core": ["../core/src/index.ts"], + "@invertase/firebaseui-react": ["../react/src/index.ts"] } }, "include": ["src", "tests", "vite.config.ts", "setup-test.ts"] diff --git a/packages/styles/GEMINI.md b/packages/styles/GEMINI.md index 4855e83a..8dfa1b46 100644 --- a/packages/styles/GEMINI.md +++ b/packages/styles/GEMINI.md @@ -1,10 +1,10 @@ # Firebase UI Styles -This document provides context for the `@firebase-ui/styles` package. +This document provides context for the `@invertase/firebaseui-styles` package. ## Overview -The `@firebase-ui/styles` package provides the core styling for all Firebase UI for Web components. It is framework-agnostic and offers multiple ways to be consumed. +The `@invertase/firebaseui-styles` package provides the core styling for all Firebase UI for Web components. It is framework-agnostic and offers multiple ways to be consumed. 1. **CSS Files**: For direct use in projects. It provides different files depending on whether you use Tailwind CSS. 2. **Component Variants**: It exports utilities using `cva` (Class Variance Authority) to programmatically apply styles, which is useful when building custom components. @@ -21,7 +21,7 @@ If your project uses Tailwind CSS, you should import the `tailwind` entry point ```css /* In your global styles.css */ -@import "@firebase-ui/styles/tailwind"; +@import "@invertase/firebaseui-styles/tailwind"; ``` ### Without Tailwind CSS @@ -30,7 +30,7 @@ If you are not using Tailwind CSS, you can import the pre-compiled distributed f ```javascript // In your main application file -import "@firebase-ui/styles"; +import "@invertase/firebaseui-styles"; ``` ## Component Variants (CVA) @@ -44,7 +44,7 @@ Currently, it exports a `buttonVariant` helper. Here is how you might use it in a React component: ```tsx -import { buttonVariant, ButtonVariant } from "@firebase-ui/styles"; +import { buttonVariant, ButtonVariant } from "@invertase/firebaseui-styles"; import { type ComponentProps } from "react"; interface ButtonProps extends ComponentProps<"button"> { diff --git a/packages/styles/README.md b/packages/styles/README.md index 97908a37..76e17da2 100644 --- a/packages/styles/README.md +++ b/packages/styles/README.md @@ -1,4 +1,4 @@ -# @firebase-ui/styles +# @invertase/firebaseui-styles This package contains the styles for the FirebaseUI components. @@ -10,7 +10,7 @@ If you are using Tailwind CSS in your project, you can import the source files d ```css @import "tailwindcss"; -@import "@firebase-ui/styles/tailwind"; +@import "@invertase/firebaseui-styles/tailwind"; ``` ### With CSS @@ -18,7 +18,7 @@ If you are using Tailwind CSS in your project, you can import the source files d Alternatively, you can import fully compiled CSS files into your project. This output contains both the tailwind styles and the FirebaseUI styles. ```jsx -import "@firebase-ui/styles"; +import "@invertase/firebaseui-styles"; ``` ## Themes @@ -27,8 +27,8 @@ The packages also exports themes which overrides the CSS variables with preset c ```css @import "tailwindcss"; -@import "@firebase-ui/styles/tailwind"; -@import "@firebase-ui/styles/themes/brualist"; +@import "@invertase/firebaseui-styles/tailwind"; +@import "@invertase/firebaseui-styles/themes/brualist"; ``` ## Building diff --git a/packages/styles/dist.css b/packages/styles/dist.css index c5b8ecff..67c59087 100644 --- a/packages/styles/dist.css +++ b/packages/styles/dist.css @@ -1,2 +1,2 @@ /*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--color-red-500:oklch(63.7% .237 25.331);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--radius:var(--fui-radius);--color-primary:var(--fui-primary);--color-primary-hover:var(--fui-primary-hover);--color-primary-surface:var(--fui-primary-surface);--color-text:var(--fui-text);--color-text-muted:var(--fui-text-muted);--color-background:var(--fui-background);--color-border:var(--fui-border);--color-input:var(--fui-input);--color-error:var(--fui-error);--radius-card:var(--fui-radius-card)}:root{--fui-primary:var(--color-black);--fui-primary-hover:var(--fui-primary)}@supports (color:color-mix(in lab, red, red)){:root{--fui-primary-hover:color-mix(in oklab,var(--fui-primary)85%,transparent)}}:root{--fui-primary-surface:var(--color-white);--fui-text:var(--color-black);--fui-text-muted:var(--color-gray-800);--fui-background:var(--color-white);--fui-border:var(--color-gray-200);--fui-input:var(--color-gray-300);--fui-error:var(--color-red-500);--fui-radius:var(--radius-sm);--fui-radius-card:var(--radius-xl)}@media (prefers-color-scheme:dark){:root{--fui-primary:var(--color-white);--fui-primary-hover:var(--fui-primary)}@supports (color:color-mix(in lab, red, red)){:root{--fui-primary-hover:color-mix(in oklab,var(--fui-primary)85%,transparent)}}:root{--fui-primary-surface:var(--color-black);--fui-text:var(--color-white);--fui-text-muted:var(--color-gray-200);--fui-background:var(--color-black);--fui-border:var(--color-gray-200);--fui-input:var(--color-gray-300);--fui-error:var(--color-red-500);--fui-radius:var(--radius-sm);--fui-radius-card:var(--radius-xl)}}}@layer components{:where(.fui-screen){max-width:var(--container-md);padding-top:calc(var(--spacing)*24);margin-inline:auto}:where(:where(.fui-screen .fui-screen__children)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(:where(.fui-card)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-card){border-radius:var(--radius-card);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-background);padding:calc(var(--spacing)*10)}:where(:where(.fui-card__header)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-card__header){text-align:center}:where(.fui-card__title){font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-text)}:where(.fui-card__subtitle){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-muted)}:where(:where(.fui-form)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-form fieldset),:where(.fui-form fieldset label){gap:calc(var(--spacing)*2);color:var(--color-text);flex-direction:column;display:flex}:where(.fui-form fieldset label span){gap:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);display:inline-flex}:where(.fui-form .fui-form__action){padding-inline:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}@media (hover:hover){:where(.fui-form .fui-form__action):hover{text-decoration-line:underline}}:where(.fui-form fieldset label input){border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);width:100%;padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}:where(.fui-form fieldset label input):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-form fieldset label input[aria-invalid=true]){border-color:var(--color-error);outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-form fieldset label div[data-input-group]){align-items:center;gap:calc(var(--spacing)*2);display:flex}:where(.fui-form .fui-form__error){text-align:left;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-error)}:where(.fui-success){text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}:where(.fui-button){justify-content:center;align-items:center;gap:calc(var(--spacing)*3);border-radius:var(--radius);background-color:var(--color-primary);width:100%;padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-primary-surface);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media (hover:hover){:where(.fui-button):hover{cursor:pointer;background-color:var(--color-primary-hover)}}:where(.fui-button):disabled{cursor:not-allowed;opacity:.5}:where(.fui-button--secondary){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);color:var(--color-text);background-color:#0000}@media (hover:hover){:where(.fui-button--secondary):hover{border-color:var(--color-primary);background-color:var(--color-background)}}:where(.fui-button.fui-provider__button){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border)}:where(.fui-provider__button>svg,.fui-provider__button>img){height:calc(var(--spacing)*5);width:calc(var(--spacing)*5)}:where(.fui-divider){margin-block:calc(var(--spacing)*4);align-items:center;gap:calc(var(--spacing)*3);display:flex}:where(.fui-divider__line){background-color:var(--color-border);flex:1;height:1px}:where(.fui-divider__text){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}:where(.fui-phone-input){align-items:center;gap:calc(var(--spacing)*2);display:flex}:where(.fui-phone-input__number-input){border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000;flex:1}:where(.fui-phone-input__number-input):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-phone-input__number-input[aria-invalid=true]){outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-country-selector){width:120px;display:inline-block;position:relative}:where(.fui-country-selector__wrapper){border-radius:var(--radius);outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--color-input);background-color:#0000;align-items:center;display:flex;position:relative;overflow:hidden}:where(.fui-country-selector__flag){pointer-events:none;left:calc(var(--spacing)*2);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));position:absolute}:where(.fui-country-selector select){cursor:pointer;appearance:none;width:100%;padding-block:calc(var(--spacing)*2);padding-right:calc(var(--spacing)*2);padding-left:calc(var(--spacing)*8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#0000;--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}:where(.fui-country-selector select):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-country-selector__dial-code){pointer-events:none;top:50%;left:calc(var(--spacing)*8);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text);position:absolute}:where(.fui-form fieldset label div[data-input-group]:has(input[aria-invalid=true]) .fui-country-selector),:where(.fui-form fieldset label div[data-input-group]:has(input[aria-invalid=true]) .fui-country-selector .fui-country-selector__wrapper){border-radius:var(--radius);outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-policies){text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}:where(.fui-policies a,.fui-policies button){--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}@media (hover:hover){:where(.fui-policies a,.fui-policies button):hover{text-decoration-line:underline}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--google-primary:#131314;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--google-primary)}.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--google-primary:#f2f2f2;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--color-primary-surface:#1f1f1f;--color-border:transparent}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=google\.com][data-themed=true]{--google-primary:#fff;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-surface:#1f1f1f;--color-border:#747775}}.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--facebook-primary:#1877f2;--color-primary:var(--facebook-primary);--color-primary-hover:var(--facebook-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--facebook-primary)85%,transparent)}}.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--color-primary-surface:var(--color-white);--color-border:var(--facebook-primary)}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--apple-primary:#000;--color-primary:var(--apple-primary);--color-primary-hover:var(--apple-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--apple-primary)85%,transparent)}}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--apple-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--apple-primary:var(--color-white);--color-primary:var(--apple-primary);--color-primary-hover:var(--apple-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--apple-primary)85%,transparent)}}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-surface:var(--color-black);--color-border:var(--color-white)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--github-primary:#000;--color-primary:var(--github-primary);--color-primary-hover:var(--github-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--github-primary)85%,transparent)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--github-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=github\.com][data-themed=true]{--github-primary:var(--color-white);--color-primary:var(--github-primary);--color-primary-hover:var(--github-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--github-primary)85%,transparent)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-surface:var(--color-black);--color-border:var(--color-white)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--microsoft-primary:#2f2f2f;--color-primary:var(--microsoft-primary);--color-primary-hover:var(--microsoft-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--microsoft-primary)85%,transparent)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--microsoft-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--microsoft-primary:var(--color-white);--color-primary:var(--microsoft-primary);--color-primary-hover:var(--microsoft-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--microsoft-primary)85%,transparent)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-surface:#5e5e5e;--color-border:var(--color-white)}}.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--twitter-primary:#1da1f2;--color-primary:var(--twitter-primary);--color-primary-hover:var(--twitter-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--twitter-primary)85%,transparent)}}.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--twitter-primary)}}@layer utilities;@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0} \ No newline at end of file +@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--color-red-500:oklch(63.7% .237 25.331);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--radius:var(--fui-radius);--color-primary:var(--fui-primary);--color-primary-hover:var(--fui-primary-hover);--color-primary-surface:var(--fui-primary-surface);--color-text:var(--fui-text);--color-text-muted:var(--fui-text-muted);--color-background:var(--fui-background);--color-border:var(--fui-border);--color-input:var(--fui-input);--color-error:var(--fui-error);--radius-card:var(--fui-radius-card)}:root{--fui-primary:var(--color-black);--fui-primary-hover:var(--fui-primary)}@supports (color:color-mix(in lab, red, red)){:root{--fui-primary-hover:color-mix(in oklab,var(--fui-primary)85%,transparent)}}:root{--fui-primary-surface:var(--color-white);--fui-text:var(--color-black);--fui-text-muted:var(--color-gray-800);--fui-background:var(--color-white);--fui-border:var(--color-gray-200);--fui-input:var(--color-gray-300);--fui-error:var(--color-red-500);--fui-radius:var(--radius-sm);--fui-radius-card:var(--radius-xl)}@media (prefers-color-scheme:dark){:root{--fui-primary:var(--color-white);--fui-primary-hover:var(--fui-primary)}@supports (color:color-mix(in lab, red, red)){:root{--fui-primary-hover:color-mix(in oklab,var(--fui-primary)85%,transparent)}}:root{--fui-primary-surface:var(--color-black);--fui-text:var(--color-white);--fui-text-muted:var(--color-gray-200);--fui-background:var(--color-black);--fui-border:var(--color-gray-200);--fui-input:var(--color-gray-300);--fui-error:var(--color-red-500);--fui-radius:var(--radius-sm);--fui-radius-card:var(--radius-xl)}}}@layer components{:where(.fui-screen){max-width:var(--container-md);padding-top:calc(var(--spacing)*24);margin-inline:auto}:where(:where(.fui-screen .fui-screen__children)>:not(:last-child)),:where(:where(.fui-content)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(:where(.fui-card)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-card){border-radius:var(--radius-card);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-background);padding:calc(var(--spacing)*10)}:where(:where(.fui-card__header)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-card__header){text-align:center}:where(.fui-card__title){font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-text)}:where(.fui-card__subtitle){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-muted)}:where(:where(.fui-form)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-form fieldset),:where(.fui-form fieldset label){gap:calc(var(--spacing)*2);color:var(--color-text);flex-direction:column;display:flex}:where(.fui-form fieldset label div[data-input-label]){gap:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);display:flex}:where(.fui-form fieldset label div[data-input-label]>div:first-child){flex-grow:1}:where(.fui-form .fui-form__action){padding-inline:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}@media (hover:hover){:where(.fui-form .fui-form__action):hover{text-decoration-line:underline}}:where(.fui-form fieldset label input){border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);width:100%;padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}:where(.fui-form fieldset label input):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-form fieldset label input[aria-invalid=true]){border-color:var(--color-error);outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-form fieldset label div[data-input-group]){align-items:center;gap:calc(var(--spacing)*2);display:flex}:where(.fui-form .fui-form__error){text-align:left;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-error)}:where(.fui-success){text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}:where(.fui-button){justify-content:center;align-items:center;gap:calc(var(--spacing)*3);border-radius:var(--radius);background-color:var(--color-primary);width:100%;padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-primary-surface);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media (hover:hover){:where(.fui-button):hover{cursor:pointer;background-color:var(--color-primary-hover)}}:where(.fui-button):disabled{cursor:not-allowed;opacity:.5}:where(.fui-button--secondary){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);color:var(--color-text);background-color:#0000}@media (hover:hover){:where(.fui-button--secondary):hover{border-color:var(--color-primary);background-color:var(--color-background)}}:where(.fui-button.fui-provider__button){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border)}:where(.fui-provider__button>svg,.fui-provider__button>img){height:calc(var(--spacing)*5);width:calc(var(--spacing)*5)}:where(.fui-divider){margin-block:calc(var(--spacing)*4);align-items:center;gap:calc(var(--spacing)*3);display:flex}:where(.fui-divider__line){background-color:var(--color-border);flex:1;height:1px}:where(.fui-divider__text){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}:where(.fui-phone-input){align-items:center;gap:calc(var(--spacing)*2);display:flex}:where(.fui-phone-input__number-input){border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000;flex:1}:where(.fui-phone-input__number-input):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-phone-input__number-input[aria-invalid=true]){outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-country-selector){width:120px;display:inline-block;position:relative}:where(.fui-country-selector__wrapper){border-radius:var(--radius);outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--color-input);background-color:#0000;align-items:center;display:flex;position:relative;overflow:hidden}:where(.fui-country-selector__flag){pointer-events:none;left:calc(var(--spacing)*2);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));position:absolute}:where(.fui-country-selector select){cursor:pointer;appearance:none;width:100%;padding-block:calc(var(--spacing)*2);padding-right:calc(var(--spacing)*2);padding-left:calc(var(--spacing)*8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#0000;--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}:where(.fui-country-selector select):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-country-selector__dial-code){pointer-events:none;top:50%;left:calc(var(--spacing)*8);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text);position:absolute}:where(.fui-form fieldset label div[data-input-group]:has(input[aria-invalid=true]) .fui-country-selector),:where(.fui-form fieldset label div[data-input-group]:has(input[aria-invalid=true]) .fui-country-selector .fui-country-selector__wrapper){border-radius:var(--radius);outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-policies){text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}:where(.fui-policies a,.fui-policies button){--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}@media (hover:hover){:where(.fui-policies a,.fui-policies button):hover{text-decoration-line:underline}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--google-primary:#131314;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--google-primary)}.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--google-primary:#f2f2f2;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--color-primary-surface:#1f1f1f;--color-border:transparent}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=google\.com][data-themed=true]{--google-primary:#fff;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-surface:#1f1f1f;--color-border:#747775}}.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--facebook-primary:#1877f2;--color-primary:var(--facebook-primary);--color-primary-hover:var(--facebook-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--facebook-primary)85%,transparent)}}.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--color-primary-surface:var(--color-white);--color-border:var(--facebook-primary)}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--apple-primary:#000;--color-primary:var(--apple-primary);--color-primary-hover:var(--apple-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--apple-primary)85%,transparent)}}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--apple-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--apple-primary:var(--color-white);--color-primary:var(--apple-primary);--color-primary-hover:var(--apple-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--apple-primary)85%,transparent)}}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-surface:var(--color-black);--color-border:var(--color-white)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--github-primary:#000;--color-primary:var(--github-primary);--color-primary-hover:var(--github-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--github-primary)85%,transparent)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--github-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=github\.com][data-themed=true]{--github-primary:var(--color-white);--color-primary:var(--github-primary);--color-primary-hover:var(--github-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--github-primary)85%,transparent)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-surface:var(--color-black);--color-border:var(--color-white)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--microsoft-primary:#2f2f2f;--color-primary:var(--microsoft-primary);--color-primary-hover:var(--microsoft-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--microsoft-primary)85%,transparent)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--microsoft-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--microsoft-primary:var(--color-white);--color-primary:var(--microsoft-primary);--color-primary-hover:var(--microsoft-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--microsoft-primary)85%,transparent)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-surface:#5e5e5e;--color-border:var(--color-white)}}.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--twitter-primary:#1da1f2;--color-primary:var(--twitter-primary);--color-primary-hover:var(--twitter-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--twitter-primary)85%,transparent)}}.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--twitter-primary)}}@layer utilities;@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0} \ No newline at end of file diff --git a/packages/translations/GEMINI.md b/packages/translations/GEMINI.md index d70a165b..b210dec4 100644 --- a/packages/translations/GEMINI.md +++ b/packages/translations/GEMINI.md @@ -1,20 +1,20 @@ # Firebase UI Translations -This document provides context for the `@firebase-ui/translations` package. +This document provides context for the `@invertase/firebaseui-translations` package. ## Overview -The `@firebase-ui/translations` package provides the localization and internationalization (i18n) capabilities for the Firebase UI for Web library. It contains the translation strings for various languages and exports utilities to register and use different locales. +The `@invertase/firebaseui-translations` package provides the localization and internationalization (i18n) capabilities for the Firebase UI for Web library. It contains the translation strings for various languages and exports utilities to register and use different locales. -This package is a core dependency of `@firebase-ui/core`, which uses it to display all user-facing text, such as labels, messages, and errors. +This package is a core dependency of `@invertase/firebaseui-core`, which uses it to display all user-facing text, such as labels, messages, and errors. ## Usage -The primary way to use this package is to import a pre-registered locale and pass it to the `initializeUI` function from the `@firebase-ui/core` package. +The primary way to use this package is to import a pre-registered locale and pass it to the `initializeUI` function from the `@invertase/firebaseui-core` package. ```typescript -import { initializeUI } from "@firebase-ui/core"; -import { enUs } from "@firebase-ui/translations"; +import { initializeUI } from "@invertase/firebaseui-core"; +import { enUs } from "@invertase/firebaseui-translations"; import { firebaseApp } from "./firebase"; const ui = initializeUI({ @@ -49,7 +49,7 @@ To contribute a new language, you can create a new locale file and register it u 1. **Create the translation file (`fr.ts`):** ```typescript - import { type Translations } from "@firebase-ui/translations"; + import { type Translations } from "@invertase/firebaseui-translations"; export const fr: Translations = { errors: { @@ -63,8 +63,8 @@ To contribute a new language, you can create a new locale file and register it u 2. **Register and use the locale:** ```typescript - import { initializeUI } from "@firebase-ui/core"; - import { registerLocale } from "@firebase-ui/translations"; + import { initializeUI } from "@invertase/firebaseui-core"; + import { registerLocale } from "@invertase/firebaseui-translations"; import { fr } from "./fr"; // Your custom locale file const frFr = registerLocale("fr-FR", fr); @@ -85,7 +85,7 @@ The `registerLocale` function accepts an optional third argument: a `fallback` l ```typescript // en-gb.ts - import { type Translations } from "@firebase-ui/translations"; + import { type Translations } from "@invertase/firebaseui-translations"; // Only define the strings you want to override. export const enGB: Partial = { @@ -98,8 +98,8 @@ The `registerLocale` function accepts an optional third argument: a `fallback` l 2. **Register the locale with a fallback:** ```typescript - import { initializeUI } from "@firebase-ui/core"; - import { registerLocale, enUs } from "@firebase-ui/translations"; + import { initializeUI } from "@invertase/firebaseui-core"; + import { registerLocale, enUs } from "@invertase/firebaseui-translations"; import { enGB } from "./en-gb"; // Register en-GB, with en-US as the fallback. diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7b867674..dd32442a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -179,18 +179,18 @@ importers: '@angular/ssr': specifier: ^20.2.2 version: 20.3.7(64ca8375dbaf48ae24b53908d91cad2b) - '@firebase-ui/angular': - specifier: workspace:* - version: link:../../packages/angular - '@firebase-ui/core': - specifier: workspace:* - version: link:../../packages/core - '@firebase-ui/styles': - specifier: workspace:* - version: link:../../packages/styles - '@firebase-ui/translations': - specifier: workspace:* - version: link:../../packages/translations + '@invertase/firebaseui-angular': + specifier: 0.0.3 + version: 0.0.3(@angular/common@20.3.7(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/fire@20.0.1(567573b864ff578578a14734fda777a6))(firebase@11.10.0)(typescript@5.9.3) + '@invertase/firebaseui-core': + specifier: 0.0.3 + version: 0.0.3(firebase@11.10.0) + '@invertase/firebaseui-styles': + specifier: 0.0.3 + version: 0.0.3(typescript@5.9.3) + '@invertase/firebaseui-translations': + specifier: 0.0.4 + version: 0.0.4 '@tailwindcss/postcss': specifier: ^4.0.6 version: 4.1.16 @@ -271,7 +271,7 @@ importers: specifier: ^3.1.1 version: 3.6.2 typescript: - specifier: ~5.9.2 + specifier: ^5.9.2 version: 5.9.3 vitest: specifier: ^3.2.0 @@ -279,18 +279,18 @@ importers: examples/nextjs: dependencies: - '@firebase-ui/core': - specifier: workspace:* - version: link:../../packages/core - '@firebase-ui/react': - specifier: workspace:* - version: link:../../packages/react - '@firebase-ui/styles': - specifier: workspace:* - version: link:../../packages/styles - '@firebase-ui/translations': - specifier: workspace:* - version: link:../../packages/translations + '@invertase/firebaseui-core': + specifier: 0.0.3 + version: 0.0.3(firebase@11.10.0) + '@invertase/firebaseui-react': + specifier: 0.0.3 + version: 0.0.3(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3) + '@invertase/firebaseui-styles': + specifier: 0.0.6 + version: 0.0.6(typescript@5.9.3) + '@invertase/firebaseui-translations': + specifier: 0.0.4 + version: 0.0.4 firebase: specifier: 'catalog:' version: 11.10.0 @@ -334,18 +334,18 @@ importers: examples/react: dependencies: - '@firebase-ui/core': - specifier: workspace:* - version: link:../../packages/core - '@firebase-ui/react': - specifier: workspace:* - version: link:../../packages/react - '@firebase-ui/styles': - specifier: workspace:* - version: link:../../packages/styles - '@firebase-ui/translations': - specifier: workspace:* - version: link:../../packages/translations + '@invertase/firebaseui-core': + specifier: 0.0.3 + version: 0.0.3(firebase@11.10.0) + '@invertase/firebaseui-react': + specifier: 0.0.3 + version: 0.0.3(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3) + '@invertase/firebaseui-styles': + specifier: 0.0.3 + version: 0.0.3(typescript@5.9.3) + '@invertase/firebaseui-translations': + specifier: 0.0.4 + version: 0.0.4 firebase: specifier: ^11.6.0 version: 11.10.0 @@ -398,18 +398,21 @@ importers: examples/shadcn: dependencies: - '@firebase-ui/core': - specifier: workspace:* - version: link:../../packages/core - '@firebase-ui/react': - specifier: workspace:* - version: link:../../packages/react - '@firebase-ui/styles': - specifier: workspace:* - version: link:../../packages/styles '@hookform/resolvers': specifier: ^5.2.2 version: 5.2.2(react-hook-form@7.65.0(react@19.1.1)) + '@invertase/firebaseui-core': + specifier: 0.0.3 + version: 0.0.3(firebase@11.10.0) + '@invertase/firebaseui-react': + specifier: 0.0.3 + version: 0.0.3(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3) + '@invertase/firebaseui-styles': + specifier: 0.0.6 + version: 0.0.6(typescript@5.9.3) + '@invertase/firebaseui-translations': + specifier: 0.0.4 + version: 0.0.4 '@radix-ui/react-accordion': specifier: ^1.2.12 version: 1.2.12(@types/react-dom@19.1.9(@types/react@19.1.16))(@types/react@19.1.16)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) @@ -591,10 +594,10 @@ importers: packages/angular: dependencies: - '@firebase-ui/core': + '@invertase/firebaseui-core': specifier: workspace:* version: link:../core - '@firebase-ui/styles': + '@invertase/firebaseui-styles': specifier: workspace:* version: link:../styles '@tanstack/angular-form': @@ -694,7 +697,7 @@ importers: packages/core: dependencies: - '@firebase-ui/translations': + '@invertase/firebaseui-translations': specifier: workspace:* version: link:../translations libphonenumber-js: @@ -740,10 +743,10 @@ importers: packages/react: dependencies: - '@firebase-ui/core': + '@invertase/firebaseui-core': specifier: workspace:* version: link:../core - '@firebase-ui/styles': + '@invertase/firebaseui-styles': specifier: workspace:* version: link:../styles '@nanostores/react': @@ -765,7 +768,7 @@ importers: specifier: 'catalog:' version: 4.1.12 devDependencies: - '@firebase-ui/translations': + '@invertase/firebaseui-translations': specifier: workspace:* version: link:../translations '@testing-library/jest-dom': @@ -822,15 +825,15 @@ importers: packages/shadcn: dependencies: - '@firebase-ui/core': + '@hookform/resolvers': + specifier: ^5.2.2 + version: 5.2.2(react-hook-form@7.65.0(react@19.1.1)) + '@invertase/firebaseui-core': specifier: workspace:* version: link:../core - '@firebase-ui/react': + '@invertase/firebaseui-react': specifier: workspace:* version: link:../react - '@hookform/resolvers': - specifier: ^5.2.2 - version: 5.2.2(react-hook-form@7.65.0(react@19.1.1)) '@radix-ui/react-label': specifier: ^2.1.7 version: 2.1.7(@types/react-dom@19.1.9(@types/react@19.1.16))(@types/react@19.1.16)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) @@ -865,7 +868,7 @@ importers: specifier: 'catalog:' version: 4.1.12 devDependencies: - '@firebase-ui/translations': + '@invertase/firebaseui-translations': specifier: workspace:* version: link:../translations '@tailwindcss/vite': @@ -2871,6 +2874,32 @@ packages: '@types/node': optional: true + '@invertase/firebaseui-angular@0.0.3': + resolution: {integrity: sha512-ppFfGQl4hw3oh4Nb8irmR5bitNp5VKvmwdoxYFVpRA6WKvmFhgpDnownBA+wrrF0w1fLud2NrzLperEbGf9pJw==} + peerDependencies: + '@angular/fire': ^20 + + '@invertase/firebaseui-core@0.0.3': + resolution: {integrity: sha512-3omygaTrAKV8KaN/TWNzzdwvQHAGHZGZzzm7nFo2FVVSZp6Ri6poUXUmseGC5ionRW1Cnx7h8dXLbtsH+XG40g==} + peerDependencies: + firebase: ^11 || ^12 + + '@invertase/firebaseui-react@0.0.3': + resolution: {integrity: sha512-8+nolJQtF+T/n4a3VD8Jo0G/E3Q7xA+23BznCaqLFzV/itSm9u3FunER+kfO1mxwCx6Vwi+uEmnqrCD9Oxb4AQ==} + peerDependencies: + firebase: ^11 || ^12 + react: ^19 + react-dom: ^19 + + '@invertase/firebaseui-styles@0.0.3': + resolution: {integrity: sha512-0obT/2OZfoayTE2GTw3botbOKYCHVmeozjvb4xNs1NCd5MZyc9nmN8y1PkgZ7vTsTIi6LBmqteFXk5yCIxp4MA==} + + '@invertase/firebaseui-styles@0.0.6': + resolution: {integrity: sha512-8Ip6m/rFktry5oQxJiHiftiy+K6CtJT8r+5KHTNVKwCWMU3CTN2Q2nfwBp8S/0MT0k2KN8hA1nuaBtHXbKTajg==} + + '@invertase/firebaseui-translations@0.0.4': + resolution: {integrity: sha512-sG8DToRfe7phgF5PXL02hZ9fwQcnwLdJvkfVaz4HuCBne94EH0dBgHhrF0oElRxLae93S2endufa94Yy7IoKsA==} + '@isaacs/balanced-match@4.0.1': resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==} engines: {node: 20 || >=22} @@ -12313,6 +12342,62 @@ snapshots: optionalDependencies: '@types/node': 24.9.2 + '@invertase/firebaseui-angular@0.0.3(@angular/common@20.3.7(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1))(@angular/fire@20.0.1(567573b864ff578578a14734fda777a6))(firebase@11.10.0)(typescript@5.9.3)': + dependencies: + '@angular/fire': 20.0.1(567573b864ff578578a14734fda777a6) + '@invertase/firebaseui-core': 0.0.3(firebase@11.10.0) + '@invertase/firebaseui-styles': 0.0.3(typescript@5.9.3) + '@tanstack/angular-form': 1.23.8(@angular/common@20.3.7(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1)) + nanostores: 1.0.1 + tslib: 2.8.1 + transitivePeerDependencies: + - '@angular/common' + - '@angular/core' + - firebase + - typescript + + '@invertase/firebaseui-core@0.0.3(firebase@11.10.0)': + dependencies: + '@invertase/firebaseui-translations': 0.0.4 + firebase: 11.10.0 + libphonenumber-js: 1.12.25 + nanostores: 1.0.1 + qrcode-generator: 2.0.4 + zod: 4.1.12 + + '@invertase/firebaseui-react@0.0.3(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3)': + dependencies: + '@invertase/firebaseui-core': 0.0.3(firebase@11.10.0) + '@invertase/firebaseui-styles': 0.0.3(typescript@5.9.3) + '@nanostores/react': 1.0.0(nanostores@1.0.1)(react@19.1.1) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.16)(react@19.1.1) + '@tanstack/react-form': 1.20.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + clsx: 2.1.1 + firebase: 11.10.0 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + tailwind-merge: 3.3.1 + zod: 4.1.12 + transitivePeerDependencies: + - '@tanstack/react-start' + - '@types/react' + - nanostores + - typescript + + '@invertase/firebaseui-styles@0.0.3(typescript@5.9.3)': + dependencies: + cva: 1.0.0-beta.4(typescript@5.9.3) + transitivePeerDependencies: + - typescript + + '@invertase/firebaseui-styles@0.0.6(typescript@5.9.3)': + dependencies: + cva: 1.0.0-beta.4(typescript@5.9.3) + transitivePeerDependencies: + - typescript + + '@invertase/firebaseui-translations@0.0.4': {} + '@isaacs/balanced-match@4.0.1': {} '@isaacs/brace-expansion@5.0.0': From 81b224aa15701b8ea657551c5e5692d1417f39dd Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Fri, 31 Oct 2025 11:16:28 +0000 Subject: [PATCH 25/56] chore(*): added deploy scripts --- examples/angular/package.json | 3 ++- examples/nextjs/package.json | 3 ++- examples/react/package.json | 3 ++- package.json | 4 ++++ 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/examples/angular/package.json b/examples/angular/package.json index a6a6aa32..789b2169 100644 --- a/examples/angular/package.json +++ b/examples/angular/package.json @@ -17,7 +17,8 @@ "lint": "eslint . --ext .ts", "lint:fix": "eslint . --ext .ts --fix", "format": "prettier --write \"src/**/*.{ts,html,css,scss}\"", - "format:check": "prettier --check \"src/**/*.{ts,html,css,scss}\"" + "format:check": "prettier --check \"src/**/*.{ts,html,css,scss}\"", + "deploy": "pnpm run build && firebase deploy --only hosting:fir-ui-2025-angular" }, "dependencies": { "@angular/animations": "^20.2.2", diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json index be12558c..8a0eaad0 100644 --- a/examples/nextjs/package.json +++ b/examples/nextjs/package.json @@ -9,7 +9,8 @@ "lint": "next lint", "lint:fix": "next lint --fix", "format": "prettier --write \"**/*.{js,jsx,ts,tsx,json,css,md}\"", - "format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,css,md}\"" + "format:check": "prettier --check \"**/*.{js,jsx,ts,tsx,json,css,md}\"", + "deploy": "pnpm run build && firebase deploy --only hosting:fir-ui-2025-nextjs" }, "dependencies": { "@invertase/firebaseui-react": "0.0.3", diff --git a/examples/react/package.json b/examples/react/package.json index a4e02f38..544220ce 100644 --- a/examples/react/package.json +++ b/examples/react/package.json @@ -7,7 +7,8 @@ "dev": "vite", "build": "vite build", "lint": "eslint .", - "preview": "vite preview" + "preview": "vite preview", + "deploy": "pnpm run build && firebase deploy --only hosting:fir-ui-2025-react" }, "dependencies": { "@invertase/firebaseui-react": "0.0.3", diff --git a/package.json b/package.json index 2e891571..5cf9e7b6 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,10 @@ "build:react": "pnpm --filter=@invertase/firebaseui-react run build", "build:angular": "pnpm --filter=@invertase/firebaseui-angular run build", "build:shadcn": "pnpm --filter=@invertase/firebaseui-shadcn run build", + "deploy": "pnpm --filter react run deploy && pnpm --filter nextjs run deploy && pnpm --filter angular-example run deploy", + "deploy:react": "pnpm --filter react run deploy", + "deploy:nextjs": "pnpm --filter nextjs run deploy", + "deploy:angular": "pnpm --filter angular-example run deploy", "shadcn:deploy": "pnpm run build:shadcn && firebase deploy --only hosting:fir-ui-shadcn", "lint:check": "eslint", "lint:fix": "eslint --fix", From 0ab081391d2b58d0cd70649bcb8dd0b93ec7c84a Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Fri, 31 Oct 2025 12:08:55 +0000 Subject: [PATCH 26/56] chore(*): updated depenencies, styles dist and added npm publish scripts --- examples/angular/package.json | 2 +- examples/nextjs/app/globals.css | 6 +++--- examples/nextjs/package.json | 2 +- examples/react/package.json | 2 +- package.json | 12 +++++++++-- packages/shadcn/public/sign-in-auth-form.json | 2 +- .../shadcn/public/sign-up-auth-screen.json | 2 +- packages/styles/package.json | 9 ++++---- pnpm-lock.yaml | 21 +++++++++++++------ 9 files changed, 38 insertions(+), 20 deletions(-) diff --git a/examples/angular/package.json b/examples/angular/package.json index 789b2169..ab555fcc 100644 --- a/examples/angular/package.json +++ b/examples/angular/package.json @@ -34,7 +34,7 @@ "@angular/ssr": "^20.2.2", "@invertase/firebaseui-angular": "0.0.3", "@invertase/firebaseui-core": "0.0.3", - "@invertase/firebaseui-styles": "0.0.3", + "@invertase/firebaseui-styles": "0.0.4", "@invertase/firebaseui-translations": "0.0.4", "@tailwindcss/postcss": "^4.0.6", "express": "^4.18.2", diff --git a/examples/nextjs/app/globals.css b/examples/nextjs/app/globals.css index 731524bd..7e62d3ba 100644 --- a/examples/nextjs/app/globals.css +++ b/examples/nextjs/app/globals.css @@ -15,7 +15,7 @@ */ @import "tailwindcss"; -@import "@firebase-ui/styles/src/base.css"; +@import "@invertase/firebaseui-styles/tailwind"; -/* @import "@firebase-ui/styles/src/themes/dark.css"; */ -/* @import "@firebase-ui/styles/src/themes/brutalist.css"; */ +/* @import "@invertase/firebaseui-styles/themes/dark.css"; */ +/* @import "@invertase/firebaseui-styles/themes/brutalist.css"; */ diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json index 8a0eaad0..5bb97b17 100644 --- a/examples/nextjs/package.json +++ b/examples/nextjs/package.json @@ -15,7 +15,7 @@ "dependencies": { "@invertase/firebaseui-react": "0.0.3", "@invertase/firebaseui-core": "0.0.3", - "@invertase/firebaseui-styles": "0.0.6", + "@invertase/firebaseui-styles": "0.0.4", "@invertase/firebaseui-translations": "0.0.4", "firebase": "catalog:", "next": "15.1.7", diff --git a/examples/react/package.json b/examples/react/package.json index 544220ce..882bb9ab 100644 --- a/examples/react/package.json +++ b/examples/react/package.json @@ -13,7 +13,7 @@ "dependencies": { "@invertase/firebaseui-react": "0.0.3", "@invertase/firebaseui-core": "0.0.3", - "@invertase/firebaseui-styles": "0.0.3", + "@invertase/firebaseui-styles": "0.0.4", "@invertase/firebaseui-translations": "0.0.4", "firebase": "^11.6.0", "react": "catalog:", diff --git a/package.json b/package.json index 5cf9e7b6..9582e70b 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,10 @@ "build:translations": "pnpm --filter=@invertase/firebaseui-translations run build", "build:react": "pnpm --filter=@invertase/firebaseui-react run build", "build:angular": "pnpm --filter=@invertase/firebaseui-angular run build", - "build:shadcn": "pnpm --filter=@invertase/firebaseui-shadcn run build", - "deploy": "pnpm --filter react run deploy && pnpm --filter nextjs run deploy && pnpm --filter angular-example run deploy", + "build:shadcn": "pnpm --filter=@firebase-ui/shadcn run build", + "build:examples": "pnpm run build && pnpm --filter react run build && pnpm --filter nextjs run build && pnpm --filter angular-example run build", + "build:all": "pnpm run build && pnpm run build:angular && pnpm run build:examples", + "deploy": "pnpm run build && pnpm --filter react run deploy && pnpm --filter nextjs run deploy && pnpm --filter angular-example run deploy", "deploy:react": "pnpm --filter react run deploy", "deploy:nextjs": "pnpm --filter nextjs run deploy", "deploy:angular": "pnpm --filter angular-example run deploy", @@ -36,6 +38,12 @@ "publish:tags:angular": "pnpm --filter=@invertase/firebaseui-angular run publish:tags", "publish:tags:styles": "pnpm --filter=@invertase/firebaseui-styles run publish:tags", "publish:tags:all": "pnpm i && pnpm run publish:tags:core && pnpm run publish:tags:translations && pnpm run publish:tags:react && pnpm run publish:tags:styles && pnpm run publish:tags:angular", + "publish:npm:core": "pnpm --filter=@invertase/firebaseui-core publish --access public", + "publish:npm:translations": "pnpm --filter=@invertase/firebaseui-translations publish --access public", + "publish:npm:react": "pnpm --filter=@invertase/firebaseui-react publish --access public", + "publish:npm:angular": "pnpm --filter=@invertase/firebaseui-angular publish --access public", + "publish:npm:styles": "pnpm --filter=@invertase/firebaseui-styles publish --access public", + "publish:npm:all": "pnpm run build:all && pnpm run publish:npm:core && pnpm run publish:npm:translations && pnpm run publish:npm:react && pnpm run publish:npm:styles && pnpm run publish:npm:angular", "release:core": "pnpm --filter=@invertase/firebaseui-core run release", "release:translations": "pnpm --filter=@invertase/firebaseui-translations run release", "release:react": "pnpm --filter=@invertase/firebaseui-react run release", diff --git a/packages/shadcn/public/sign-in-auth-form.json b/packages/shadcn/public/sign-in-auth-form.json index 4438be25..17ac4db8 100644 --- a/packages/shadcn/public/sign-in-auth-form.json +++ b/packages/shadcn/public/sign-in-auth-form.json @@ -16,7 +16,7 @@ "files": [ { "path": "src/registry/sign-in-auth-form.tsx", - "content": "\"use client\";\n\nimport type { SignInAuthFormSchema } from \"@invertase/firebaseui-core\";\nimport { useSignInAuthFormAction, useSignInAuthFormSchema, useUI, type SignInAuthFormProps } from \"@invertase/firebaseui-react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport { FirebaseUIError, getTranslation } from \"@invertase/firebaseui-core\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Button } from \"@/components/ui/button\";\nimport { Policies } from \"./policies\";\n\nexport type { SignInAuthFormProps };\n\nexport function SignInAuthForm(props: SignInAuthFormProps) {\n const ui = useUI();\n const schema = useSignInAuthFormSchema();\n const action = useSignInAuthFormAction();\n\n const form = useForm({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n email: \"\",\n password: \"\",\n },\n });\n\n async function onSubmit(values: SignInAuthFormSchema) {\n try {\n const credential = await action(values);\n props.onSignIn?.(credential);\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n }\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"emailAddress\")}\n \n \n \n \n \n )}\n />\n (\n \n {getTranslation(ui, \"labels\", \"password\")}\n \n
\n \n {props.onForgotPasswordClick ? (\n \n ) : null}\n
\n
\n \n
\n )}\n />\n \n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n {props.onRegisterClick ? (\n <>\n \n \n ) : null}\n \n \n );\n}\n", + "content": "\"use client\";\n\nimport type { SignInAuthFormSchema } from \"@invertase/firebaseui-core\";\nimport { useSignInAuthFormAction, useSignInAuthFormSchema, useUI, type SignInAuthFormProps } from \"@invertase/firebaseui-react\";\nimport { useForm } from \"react-hook-form\";\nimport { standardSchemaResolver } from \"@hookform/resolvers/standard-schema\";\nimport { FirebaseUIError, getTranslation } from \"@invertase/firebaseui-core\";\n\nimport { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from \"@/components/ui/form\";\nimport { Input } from \"@/components/ui/input\";\nimport { Button } from \"@/components/ui/button\";\nimport { Policies } from \"./policies\";\n\nexport type { SignInAuthFormProps };\n\nexport function SignInAuthForm(props: SignInAuthFormProps) {\n const ui = useUI();\n const schema = useSignInAuthFormSchema();\n const action = useSignInAuthFormAction();\n\n const form = useForm({\n resolver: standardSchemaResolver(schema),\n defaultValues: {\n email: \"\",\n password: \"\",\n },\n });\n\n async function onSubmit(values: SignInAuthFormSchema) {\n try {\n const credential = await action(values);\n props.onSignIn?.(credential);\n } catch (error) {\n const message = error instanceof FirebaseUIError ? error.message : String(error);\n form.setError(\"root\", { message });\n }\n }\n\n return (\n
\n \n (\n \n {getTranslation(ui, \"labels\", \"emailAddress\")}\n \n \n \n \n \n )}\n />\n (\n \n {getTranslation(ui, \"labels\", \"password\")}\n \n
\n \n {props.onForgotPasswordClick ? (\n \n ) : null}\n
\n
\n \n
\n )}\n />\n \n \n {form.formState.errors.root && {form.formState.errors.root.message}}\n {props.onSignUpClick ? (\n <>\n \n \n ) : null}\n \n \n );\n}\n", "type": "registry:component" } ] diff --git a/packages/shadcn/public/sign-up-auth-screen.json b/packages/shadcn/public/sign-up-auth-screen.json index 1ad7ccbd..dd056db4 100644 --- a/packages/shadcn/public/sign-up-auth-screen.json +++ b/packages/shadcn/public/sign-up-auth-screen.json @@ -15,7 +15,7 @@ "files": [ { "path": "src/registry/sign-up-auth-screen.tsx", - "content": "\"use client\";\n\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI, type SignUpAuthScreenProps } from \"@invertase/firebaseui-react\";\n\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { SignUpAuthForm } from \"@/registry/sign-up-auth-form\";\n\nexport type { SignUpAuthScreenProps };\n\nexport function SignUpAuthScreen({ children, ...props }: SignUpAuthScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"register\");\n const subtitleText = getTranslation(ui, \"prompts\", \"enterDetailsToCreate\");\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n \n {children ? (\n <>\n {getTranslation(ui, \"messages\", \"dividerOr\")}\n
{children}
\n \n ) : null}\n
\n
\n
\n );\n}\n", + "content": "\"use client\";\n\nimport { getTranslation } from \"@invertase/firebaseui-core\";\nimport { useUI, type SignUpAuthScreenProps } from \"@invertase/firebaseui-react\";\n\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from \"@/components/ui/card\";\nimport { Separator } from \"@/components/ui/separator\";\nimport { SignUpAuthForm } from \"@/registry/sign-up-auth-form\";\n\nexport type { SignUpAuthScreenProps };\n\nexport function SignUpAuthScreen({ children, ...props }: SignUpAuthScreenProps) {\n const ui = useUI();\n\n const titleText = getTranslation(ui, \"labels\", \"signUp\");\n const subtitleText = getTranslation(ui, \"prompts\", \"enterDetailsToCreate\");\n\n return (\n
\n \n \n {titleText}\n {subtitleText}\n \n \n \n {children ? (\n <>\n {getTranslation(ui, \"messages\", \"dividerOr\")}\n
{children}
\n \n ) : null}\n
\n
\n
\n );\n}\n", "type": "registry:component" } ] diff --git a/packages/styles/package.json b/packages/styles/package.json index 6a429602..17135a89 100644 --- a/packages/styles/package.json +++ b/packages/styles/package.json @@ -1,16 +1,17 @@ { "name": "@invertase/firebaseui-styles", - "version": "0.0.3", + "version": "0.0.7", "type": "module", "main": "./dist/index.cjs", "module": "./dist/index.js", "types": "./dist/index.d.ts", "exports": { ".": { - "style": "./dist.css", "types": "./dist/index.d.ts", "import": "./dist/index.js", - "require": "./dist/index.cjs" + "require": "./dist/index.cjs", + "style": "./dist.css", + "default": "./dist/index.js" }, "./dist.css": "./dist.css", "./tailwind": "./src/base.css", @@ -20,7 +21,7 @@ "**/*.css" ], "files": [ - "dist.css", + "dist", "src" ], "scripts": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dd32442a..4ea19f4f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -186,8 +186,8 @@ importers: specifier: 0.0.3 version: 0.0.3(firebase@11.10.0) '@invertase/firebaseui-styles': - specifier: 0.0.3 - version: 0.0.3(typescript@5.9.3) + specifier: 0.0.4 + version: 0.0.4(typescript@5.9.3) '@invertase/firebaseui-translations': specifier: 0.0.4 version: 0.0.4 @@ -286,8 +286,8 @@ importers: specifier: 0.0.3 version: 0.0.3(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3) '@invertase/firebaseui-styles': - specifier: 0.0.6 - version: 0.0.6(typescript@5.9.3) + specifier: 0.0.4 + version: 0.0.4(typescript@5.9.3) '@invertase/firebaseui-translations': specifier: 0.0.4 version: 0.0.4 @@ -341,8 +341,8 @@ importers: specifier: 0.0.3 version: 0.0.3(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3) '@invertase/firebaseui-styles': - specifier: 0.0.3 - version: 0.0.3(typescript@5.9.3) + specifier: 0.0.4 + version: 0.0.4(typescript@5.9.3) '@invertase/firebaseui-translations': specifier: 0.0.4 version: 0.0.4 @@ -2894,6 +2894,9 @@ packages: '@invertase/firebaseui-styles@0.0.3': resolution: {integrity: sha512-0obT/2OZfoayTE2GTw3botbOKYCHVmeozjvb4xNs1NCd5MZyc9nmN8y1PkgZ7vTsTIi6LBmqteFXk5yCIxp4MA==} + '@invertase/firebaseui-styles@0.0.4': + resolution: {integrity: sha512-bAdH64Zqo4SORD+RyMpco08XTdTyKgmsIS07DRHrQqncLKAZtL9W/+djhU9Z2KERr2YwRUC4myHBTZrl8k4HFQ==} + '@invertase/firebaseui-styles@0.0.6': resolution: {integrity: sha512-8Ip6m/rFktry5oQxJiHiftiy+K6CtJT8r+5KHTNVKwCWMU3CTN2Q2nfwBp8S/0MT0k2KN8hA1nuaBtHXbKTajg==} @@ -12390,6 +12393,12 @@ snapshots: transitivePeerDependencies: - typescript + '@invertase/firebaseui-styles@0.0.4(typescript@5.9.3)': + dependencies: + cva: 1.0.0-beta.4(typescript@5.9.3) + transitivePeerDependencies: + - typescript + '@invertase/firebaseui-styles@0.0.6(typescript@5.9.3)': dependencies: cva: 1.0.0-beta.4(typescript@5.9.3) From cfb8a3dd91cd740709502be82f7ebb36d98db052 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Fri, 31 Oct 2025 12:11:35 +0000 Subject: [PATCH 27/56] fix(styles): updated exports --- packages/styles/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/styles/package.json b/packages/styles/package.json index 17135a89..e6679aae 100644 --- a/packages/styles/package.json +++ b/packages/styles/package.json @@ -8,9 +8,9 @@ "exports": { ".": { "types": "./dist/index.d.ts", + "style": "./dist.css", "import": "./dist/index.js", "require": "./dist/index.cjs", - "style": "./dist.css", "default": "./dist/index.js" }, "./dist.css": "./dist.css", From 000e247948a899066860304aac59109a93f36d4f Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Fri, 31 Oct 2025 14:43:24 +0000 Subject: [PATCH 28/56] fix(styles): styles package fixes --- examples/angular/package.json | 2 +- examples/nextjs/package.json | 2 +- examples/react/package.json | 2 +- examples/react/src/firebase/config.ts | 12 ++-- examples/shadcn/package.json | 2 +- packages/styles/dist.css | 2 - packages/styles/package.json | 8 +-- pnpm-lock.yaml | 97 ++++++++++++--------------- 8 files changed, 58 insertions(+), 69 deletions(-) delete mode 100644 packages/styles/dist.css diff --git a/examples/angular/package.json b/examples/angular/package.json index ab555fcc..1e12ca98 100644 --- a/examples/angular/package.json +++ b/examples/angular/package.json @@ -34,7 +34,7 @@ "@angular/ssr": "^20.2.2", "@invertase/firebaseui-angular": "0.0.3", "@invertase/firebaseui-core": "0.0.3", - "@invertase/firebaseui-styles": "0.0.4", + "@invertase/firebaseui-styles": "0.0.7", "@invertase/firebaseui-translations": "0.0.4", "@tailwindcss/postcss": "^4.0.6", "express": "^4.18.2", diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json index 5bb97b17..14adc6fa 100644 --- a/examples/nextjs/package.json +++ b/examples/nextjs/package.json @@ -15,7 +15,7 @@ "dependencies": { "@invertase/firebaseui-react": "0.0.3", "@invertase/firebaseui-core": "0.0.3", - "@invertase/firebaseui-styles": "0.0.4", + "@invertase/firebaseui-styles": "0.0.7", "@invertase/firebaseui-translations": "0.0.4", "firebase": "catalog:", "next": "15.1.7", diff --git a/examples/react/package.json b/examples/react/package.json index 882bb9ab..1509b221 100644 --- a/examples/react/package.json +++ b/examples/react/package.json @@ -13,7 +13,7 @@ "dependencies": { "@invertase/firebaseui-react": "0.0.3", "@invertase/firebaseui-core": "0.0.3", - "@invertase/firebaseui-styles": "0.0.4", + "@invertase/firebaseui-styles": "0.0.7", "@invertase/firebaseui-translations": "0.0.4", "firebase": "^11.6.0", "react": "catalog:", diff --git a/examples/react/src/firebase/config.ts b/examples/react/src/firebase/config.ts index 90abb862..2d20a8ab 100644 --- a/examples/react/src/firebase/config.ts +++ b/examples/react/src/firebase/config.ts @@ -15,10 +15,10 @@ */ export const firebaseConfig = { - apiKey: "AIzaSyCvMftIUCD9lUQ3BzIrimfSfBbCUQYZf-I", - authDomain: "fir-ui-rework.firebaseapp.com", - projectId: "fir-ui-rework", - storageBucket: "fir-ui-rework.firebasestorage.app", - messagingSenderId: "200312857118", - appId: "1:200312857118:web:94e3f69b0e0a4a863f040f", + apiKey: "AIzaSyA7xdkFMs7iUC6XWFYjjSxf_XbVV4F1mX4", + authDomain: "fir-ui-2025.firebaseapp.com", + projectId: "fir-ui-2025", + storageBucket: "fir-ui-2025.firebasestorage.app", + messagingSenderId: "616577669988", + appId: "1:616577669988:web:7e67401f952fa9288df871", }; diff --git a/examples/shadcn/package.json b/examples/shadcn/package.json index c0f3645b..d383600f 100644 --- a/examples/shadcn/package.json +++ b/examples/shadcn/package.json @@ -10,7 +10,7 @@ "dependencies": { "@invertase/firebaseui-core": "0.0.3", "@invertase/firebaseui-react": "0.0.3", - "@invertase/firebaseui-styles": "0.0.6", + "@invertase/firebaseui-styles": "0.0.7", "@invertase/firebaseui-translations": "0.0.4", "@hookform/resolvers": "^5.2.2", "@radix-ui/react-accordion": "^1.2.12", diff --git a/packages/styles/dist.css b/packages/styles/dist.css deleted file mode 100644 index 67c59087..00000000 --- a/packages/styles/dist.css +++ /dev/null @@ -1,2 +0,0 @@ -/*! tailwindcss v4.1.16 | MIT License | https://tailwindcss.com */ -@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0}}}@layer theme{:root,:host{--color-red-500:oklch(63.7% .237 25.331);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-800:oklch(27.8% .033 256.848);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-sm:.25rem;--radius-xl:.75rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--radius:var(--fui-radius);--color-primary:var(--fui-primary);--color-primary-hover:var(--fui-primary-hover);--color-primary-surface:var(--fui-primary-surface);--color-text:var(--fui-text);--color-text-muted:var(--fui-text-muted);--color-background:var(--fui-background);--color-border:var(--fui-border);--color-input:var(--fui-input);--color-error:var(--fui-error);--radius-card:var(--fui-radius-card)}:root{--fui-primary:var(--color-black);--fui-primary-hover:var(--fui-primary)}@supports (color:color-mix(in lab, red, red)){:root{--fui-primary-hover:color-mix(in oklab,var(--fui-primary)85%,transparent)}}:root{--fui-primary-surface:var(--color-white);--fui-text:var(--color-black);--fui-text-muted:var(--color-gray-800);--fui-background:var(--color-white);--fui-border:var(--color-gray-200);--fui-input:var(--color-gray-300);--fui-error:var(--color-red-500);--fui-radius:var(--radius-sm);--fui-radius-card:var(--radius-xl)}@media (prefers-color-scheme:dark){:root{--fui-primary:var(--color-white);--fui-primary-hover:var(--fui-primary)}@supports (color:color-mix(in lab, red, red)){:root{--fui-primary-hover:color-mix(in oklab,var(--fui-primary)85%,transparent)}}:root{--fui-primary-surface:var(--color-black);--fui-text:var(--color-white);--fui-text-muted:var(--color-gray-200);--fui-background:var(--color-black);--fui-border:var(--color-gray-200);--fui-input:var(--color-gray-300);--fui-error:var(--color-red-500);--fui-radius:var(--radius-sm);--fui-radius-card:var(--radius-xl)}}}@layer components{:where(.fui-screen){max-width:var(--container-md);padding-top:calc(var(--spacing)*24);margin-inline:auto}:where(:where(.fui-screen .fui-screen__children)>:not(:last-child)),:where(:where(.fui-content)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(:where(.fui-card)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-card){border-radius:var(--radius-card);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border);background-color:var(--color-background);padding:calc(var(--spacing)*10)}:where(:where(.fui-card__header)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-card__header){text-align:center}:where(.fui-card__title){font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height));--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold);color:var(--color-text)}:where(.fui-card__subtitle){font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text-muted)}:where(:where(.fui-form)>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.fui-form fieldset),:where(.fui-form fieldset label){gap:calc(var(--spacing)*2);color:var(--color-text);flex-direction:column;display:flex}:where(.fui-form fieldset label div[data-input-label]){gap:calc(var(--spacing)*3);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);display:flex}:where(.fui-form fieldset label div[data-input-label]>div:first-child){flex-grow:1}:where(.fui-form .fui-form__action){padding-inline:calc(var(--spacing)*1);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}@media (hover:hover){:where(.fui-form .fui-form__action):hover{text-decoration-line:underline}}:where(.fui-form fieldset label input){border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);width:100%;padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}:where(.fui-form fieldset label input):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-form fieldset label input[aria-invalid=true]){border-color:var(--color-error);outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-form fieldset label div[data-input-group]){align-items:center;gap:calc(var(--spacing)*2);display:flex}:where(.fui-form .fui-form__error){text-align:left;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-error)}:where(.fui-success){text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}:where(.fui-button){justify-content:center;align-items:center;gap:calc(var(--spacing)*3);border-radius:var(--radius);background-color:var(--color-primary);width:100%;padding-inline:calc(var(--spacing)*4);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);color:var(--color-primary-surface);--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration));display:flex}@media (hover:hover){:where(.fui-button):hover{cursor:pointer;background-color:var(--color-primary-hover)}}:where(.fui-button):disabled{cursor:not-allowed;opacity:.5}:where(.fui-button--secondary){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);color:var(--color-text);background-color:#0000}@media (hover:hover){:where(.fui-button--secondary):hover{border-color:var(--color-primary);background-color:var(--color-background)}}:where(.fui-button.fui-provider__button){border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-border)}:where(.fui-provider__button>svg,.fui-provider__button>img){height:calc(var(--spacing)*5);width:calc(var(--spacing)*5)}:where(.fui-divider){margin-block:calc(var(--spacing)*4);align-items:center;gap:calc(var(--spacing)*3);display:flex}:where(.fui-divider__line){background-color:var(--color-border);flex:1;height:1px}:where(.fui-divider__text){font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}:where(.fui-phone-input){align-items:center;gap:calc(var(--spacing)*2);display:flex}:where(.fui-phone-input__number-input){border-radius:var(--radius);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-input);padding-inline:calc(var(--spacing)*2);padding-block:calc(var(--spacing)*2);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000;flex:1}:where(.fui-phone-input__number-input):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-phone-input__number-input[aria-invalid=true]){outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-country-selector){width:120px;display:inline-block;position:relative}:where(.fui-country-selector__wrapper){border-radius:var(--radius);outline-style:var(--tw-outline-style);outline-width:1px;outline-color:var(--color-input);background-color:#0000;align-items:center;display:flex;position:relative;overflow:hidden}:where(.fui-country-selector__flag){pointer-events:none;left:calc(var(--spacing)*2);font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height));position:absolute}:where(.fui-country-selector select){cursor:pointer;appearance:none;width:100%;padding-block:calc(var(--spacing)*2);padding-right:calc(var(--spacing)*2);padding-left:calc(var(--spacing)*8);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:#0000;--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);background-color:#0000}:where(.fui-country-selector select):focus{outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-primary)}:where(.fui-country-selector__dial-code){pointer-events:none;top:50%;left:calc(var(--spacing)*8);--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));color:var(--color-text);position:absolute}:where(.fui-form fieldset label div[data-input-group]:has(input[aria-invalid=true]) .fui-country-selector),:where(.fui-form fieldset label div[data-input-group]:has(input[aria-invalid=true]) .fui-country-selector .fui-country-selector__wrapper){border-radius:var(--radius);outline-style:var(--tw-outline-style);outline-width:2px;outline-color:var(--color-error)}:where(.fui-policies){text-align:center;font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));color:var(--color-text-muted)}:where(.fui-policies a,.fui-policies button){--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}@media (hover:hover){:where(.fui-policies a,.fui-policies button):hover{text-decoration-line:underline}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--google-primary:#131314;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--google-primary)}.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--google-primary:#f2f2f2;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=neutral]{--color-primary-surface:#1f1f1f;--color-border:transparent}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=google\.com][data-themed=true]{--google-primary:#fff;--color-primary:var(--google-primary);--color-primary-hover:var(--google-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--google-primary)85%,transparent)}}.fui-provider__button[data-provider=google\.com][data-themed=true]{--color-primary-surface:#1f1f1f;--color-border:#747775}}.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--facebook-primary:#1877f2;--color-primary:var(--facebook-primary);--color-primary-hover:var(--facebook-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--facebook-primary)85%,transparent)}}.fui-provider__button[data-provider=facebook\.com][data-themed=true]{--color-primary-surface:var(--color-white);--color-border:var(--facebook-primary)}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--apple-primary:#000;--color-primary:var(--apple-primary);--color-primary-hover:var(--apple-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--apple-primary)85%,transparent)}}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--apple-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--apple-primary:var(--color-white);--color-primary:var(--apple-primary);--color-primary-hover:var(--apple-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--apple-primary)85%,transparent)}}.fui-provider__button[data-provider=apple\.com][data-themed=true]{--color-primary-surface:var(--color-black);--color-border:var(--color-white)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--github-primary:#000;--color-primary:var(--github-primary);--color-primary-hover:var(--github-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--github-primary)85%,transparent)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--github-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=github\.com][data-themed=true]{--github-primary:var(--color-white);--color-primary:var(--github-primary);--color-primary-hover:var(--github-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--github-primary)85%,transparent)}}.fui-provider__button[data-provider=github\.com][data-themed=true]{--color-primary-surface:var(--color-black);--color-border:var(--color-white)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--microsoft-primary:#2f2f2f;--color-primary:var(--microsoft-primary);--color-primary-hover:var(--microsoft-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--microsoft-primary)85%,transparent)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--microsoft-primary)}@media (prefers-color-scheme:dark){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--microsoft-primary:var(--color-white);--color-primary:var(--microsoft-primary);--color-primary-hover:var(--microsoft-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--microsoft-primary)85%,transparent)}}.fui-provider__button[data-provider=microsoft\.com][data-themed=true]{--color-primary-surface:#5e5e5e;--color-border:var(--color-white)}}.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--twitter-primary:#1da1f2;--color-primary:var(--twitter-primary);--color-primary-hover:var(--twitter-primary)}@supports (color:color-mix(in lab, red, red)){.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--color-primary-hover:color-mix(in oklab,var(--twitter-primary)85%,transparent)}}.fui-provider__button[data-provider=twitter\.com][data-themed=true]{--color-primary-surface:#fff;--color-border:var(--twitter-primary)}}@layer utilities;@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0} \ No newline at end of file diff --git a/packages/styles/package.json b/packages/styles/package.json index e6679aae..53f3119b 100644 --- a/packages/styles/package.json +++ b/packages/styles/package.json @@ -1,19 +1,19 @@ { "name": "@invertase/firebaseui-styles", - "version": "0.0.7", + "version": "0.0.8", "type": "module", "main": "./dist/index.cjs", "module": "./dist/index.js", "types": "./dist/index.d.ts", "exports": { ".": { + "style": "./dist/dist.min.css", "types": "./dist/index.d.ts", - "style": "./dist.css", "import": "./dist/index.js", "require": "./dist/index.cjs", "default": "./dist/index.js" }, - "./dist.css": "./dist.css", + "./dist.min.css": "./dist/dist.min.css", "./tailwind": "./src/base.css", "./themes/*": "./src/themes/*.css" }, @@ -27,7 +27,7 @@ "scripts": { "prepare": "pnpm run build", "build": "tsup && pnpm run build:css", - "build:css": "pnpm dlx @tailwindcss/cli -i ./src.css -o ./dist.css --minify", + "build:css": "pnpm dlx @tailwindcss/cli -i ./src.css -o ./dist/dist.min.css --minify", "build:local": "pnpm run build && pnpm pack", "lint": "tsc --noEmit", "format": "prettier --write \"src/**/*.ts\"", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4ea19f4f..f470600d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -186,8 +186,8 @@ importers: specifier: 0.0.3 version: 0.0.3(firebase@11.10.0) '@invertase/firebaseui-styles': - specifier: 0.0.4 - version: 0.0.4(typescript@5.9.3) + specifier: 0.0.7 + version: 0.0.7(typescript@5.9.3) '@invertase/firebaseui-translations': specifier: 0.0.4 version: 0.0.4 @@ -286,8 +286,8 @@ importers: specifier: 0.0.3 version: 0.0.3(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3) '@invertase/firebaseui-styles': - specifier: 0.0.4 - version: 0.0.4(typescript@5.9.3) + specifier: 0.0.7 + version: 0.0.7(typescript@5.9.3) '@invertase/firebaseui-translations': specifier: 0.0.4 version: 0.0.4 @@ -341,8 +341,8 @@ importers: specifier: 0.0.3 version: 0.0.3(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3) '@invertase/firebaseui-styles': - specifier: 0.0.4 - version: 0.0.4(typescript@5.9.3) + specifier: 0.0.7 + version: 0.0.7(typescript@5.9.3) '@invertase/firebaseui-translations': specifier: 0.0.4 version: 0.0.4 @@ -408,8 +408,8 @@ importers: specifier: 0.0.3 version: 0.0.3(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3) '@invertase/firebaseui-styles': - specifier: 0.0.6 - version: 0.0.6(typescript@5.9.3) + specifier: 0.0.7 + version: 0.0.7(typescript@5.9.3) '@invertase/firebaseui-translations': specifier: 0.0.4 version: 0.0.4 @@ -2894,11 +2894,8 @@ packages: '@invertase/firebaseui-styles@0.0.3': resolution: {integrity: sha512-0obT/2OZfoayTE2GTw3botbOKYCHVmeozjvb4xNs1NCd5MZyc9nmN8y1PkgZ7vTsTIi6LBmqteFXk5yCIxp4MA==} - '@invertase/firebaseui-styles@0.0.4': - resolution: {integrity: sha512-bAdH64Zqo4SORD+RyMpco08XTdTyKgmsIS07DRHrQqncLKAZtL9W/+djhU9Z2KERr2YwRUC4myHBTZrl8k4HFQ==} - - '@invertase/firebaseui-styles@0.0.6': - resolution: {integrity: sha512-8Ip6m/rFktry5oQxJiHiftiy+K6CtJT8r+5KHTNVKwCWMU3CTN2Q2nfwBp8S/0MT0k2KN8hA1nuaBtHXbKTajg==} + '@invertase/firebaseui-styles@0.0.7': + resolution: {integrity: sha512-NbtwZAnIjjqQZt4KxXyhfW28/ABNZ7KoldgPgQ0mOIE35JXbCmTBIrIoyIMkwYtH2KTeHMMLnsPLY0b8MVCmRQ==} '@invertase/firebaseui-translations@0.0.4': resolution: {integrity: sha512-sG8DToRfe7phgF5PXL02hZ9fwQcnwLdJvkfVaz4HuCBne94EH0dBgHhrF0oElRxLae93S2endufa94Yy7IoKsA==} @@ -10003,13 +10000,13 @@ snapshots: '@babel/preset-env': 7.28.3(@babel/core@7.28.3) '@babel/runtime': 7.28.3 '@discoveryjs/json-ext': 0.6.3 - '@ngtools/webpack': 20.3.7(@angular/compiler-cli@20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3))(typescript@5.9.3)(webpack@5.101.2(esbuild@0.25.9)) + '@ngtools/webpack': 20.3.7(@angular/compiler-cli@20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3))(typescript@5.9.3)(webpack@5.101.2) ansi-colors: 4.1.3 autoprefixer: 10.4.21(postcss@8.5.6) - babel-loader: 10.0.0(@babel/core@7.28.3)(webpack@5.101.2(esbuild@0.25.9)) + babel-loader: 10.0.0(@babel/core@7.28.3)(webpack@5.101.2) browserslist: 4.27.0 - copy-webpack-plugin: 13.0.1(webpack@5.101.2(esbuild@0.25.9)) - css-loader: 7.1.2(webpack@5.101.2(esbuild@0.25.9)) + copy-webpack-plugin: 13.0.1(webpack@5.101.2) + css-loader: 7.1.2(webpack@5.101.2) esbuild-wasm: 0.25.9 fast-glob: 3.3.3 http-proxy-middleware: 3.0.5 @@ -10017,22 +10014,22 @@ snapshots: jsonc-parser: 3.3.1 karma-source-map-support: 1.4.0 less: 4.4.0 - less-loader: 12.3.0(less@4.4.0)(webpack@5.101.2(esbuild@0.25.9)) - license-webpack-plugin: 4.0.2(webpack@5.101.2(esbuild@0.25.9)) + less-loader: 12.3.0(less@4.4.0)(webpack@5.101.2) + license-webpack-plugin: 4.0.2(webpack@5.101.2) loader-utils: 3.3.1 - mini-css-extract-plugin: 2.9.4(webpack@5.101.2(esbuild@0.25.9)) + mini-css-extract-plugin: 2.9.4(webpack@5.101.2) open: 10.2.0 ora: 8.2.0 picomatch: 4.0.3 piscina: 5.1.3 postcss: 8.5.6 - postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.9.3)(webpack@5.101.2(esbuild@0.25.9)) + postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.9.3)(webpack@5.101.2) resolve-url-loader: 5.0.0 rxjs: 7.8.2 sass: 1.90.0 - sass-loader: 16.0.5(sass@1.90.0)(webpack@5.101.2(esbuild@0.25.9)) + sass-loader: 16.0.5(sass@1.90.0)(webpack@5.101.2) semver: 7.7.2 - source-map-loader: 5.0.0(webpack@5.101.2(esbuild@0.25.9)) + source-map-loader: 5.0.0(webpack@5.101.2) source-map-support: 0.5.21 terser: 5.43.1 tree-kill: 1.2.2 @@ -10042,7 +10039,7 @@ snapshots: webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) webpack-merge: 6.0.1 - webpack-subresource-integrity: 5.1.0(webpack@5.101.2(esbuild@0.25.9)) + webpack-subresource-integrity: 5.1.0(webpack@5.101.2) optionalDependencies: '@angular/core': 20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1) '@angular/platform-browser': 20.3.7(@angular/animations@20.3.7(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.7(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1)) @@ -10094,13 +10091,13 @@ snapshots: '@babel/preset-env': 7.28.3(@babel/core@7.28.3) '@babel/runtime': 7.28.3 '@discoveryjs/json-ext': 0.6.3 - '@ngtools/webpack': 20.3.7(@angular/compiler-cli@20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3))(typescript@5.9.3)(webpack@5.101.2(esbuild@0.25.9)) + '@ngtools/webpack': 20.3.7(@angular/compiler-cli@20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3))(typescript@5.9.3)(webpack@5.101.2) ansi-colors: 4.1.3 autoprefixer: 10.4.21(postcss@8.5.6) - babel-loader: 10.0.0(@babel/core@7.28.3)(webpack@5.101.2(esbuild@0.25.9)) + babel-loader: 10.0.0(@babel/core@7.28.3)(webpack@5.101.2) browserslist: 4.27.0 - copy-webpack-plugin: 13.0.1(webpack@5.101.2(esbuild@0.25.9)) - css-loader: 7.1.2(webpack@5.101.2(esbuild@0.25.9)) + copy-webpack-plugin: 13.0.1(webpack@5.101.2) + css-loader: 7.1.2(webpack@5.101.2) esbuild-wasm: 0.25.9 fast-glob: 3.3.3 http-proxy-middleware: 3.0.5 @@ -10108,22 +10105,22 @@ snapshots: jsonc-parser: 3.3.1 karma-source-map-support: 1.4.0 less: 4.4.0 - less-loader: 12.3.0(less@4.4.0)(webpack@5.101.2(esbuild@0.25.9)) - license-webpack-plugin: 4.0.2(webpack@5.101.2(esbuild@0.25.9)) + less-loader: 12.3.0(less@4.4.0)(webpack@5.101.2) + license-webpack-plugin: 4.0.2(webpack@5.101.2) loader-utils: 3.3.1 - mini-css-extract-plugin: 2.9.4(webpack@5.101.2(esbuild@0.25.9)) + mini-css-extract-plugin: 2.9.4(webpack@5.101.2) open: 10.2.0 ora: 8.2.0 picomatch: 4.0.3 piscina: 5.1.3 postcss: 8.5.6 - postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.9.3)(webpack@5.101.2(esbuild@0.25.9)) + postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.9.3)(webpack@5.101.2) resolve-url-loader: 5.0.0 rxjs: 7.8.2 sass: 1.90.0 - sass-loader: 16.0.5(sass@1.90.0)(webpack@5.101.2(esbuild@0.25.9)) + sass-loader: 16.0.5(sass@1.90.0)(webpack@5.101.2) semver: 7.7.2 - source-map-loader: 5.0.0(webpack@5.101.2(esbuild@0.25.9)) + source-map-loader: 5.0.0(webpack@5.101.2) source-map-support: 0.5.21 terser: 5.43.1 tree-kill: 1.2.2 @@ -10133,7 +10130,7 @@ snapshots: webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) webpack-merge: 6.0.1 - webpack-subresource-integrity: 5.1.0(webpack@5.101.2(esbuild@0.25.9)) + webpack-subresource-integrity: 5.1.0(webpack@5.101.2) optionalDependencies: '@angular/core': 20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1) '@angular/platform-browser': 20.3.7(@angular/animations@20.3.7(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.7(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1)) @@ -12393,13 +12390,7 @@ snapshots: transitivePeerDependencies: - typescript - '@invertase/firebaseui-styles@0.0.4(typescript@5.9.3)': - dependencies: - cva: 1.0.0-beta.4(typescript@5.9.3) - transitivePeerDependencies: - - typescript - - '@invertase/firebaseui-styles@0.0.6(typescript@5.9.3)': + '@invertase/firebaseui-styles@0.0.7(typescript@5.9.3)': dependencies: cva: 1.0.0-beta.4(typescript@5.9.3) transitivePeerDependencies: @@ -12912,7 +12903,7 @@ snapshots: '@next/swc-win32-x64-msvc@15.1.7': optional: true - '@ngtools/webpack@20.3.7(@angular/compiler-cli@20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3))(typescript@5.9.3)(webpack@5.101.2(esbuild@0.25.9))': + '@ngtools/webpack@20.3.7(@angular/compiler-cli@20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3))(typescript@5.9.3)(webpack@5.101.2)': dependencies: '@angular/compiler-cli': 20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3) typescript: 5.9.3 @@ -15015,7 +15006,7 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@10.0.0(@babel/core@7.28.3)(webpack@5.101.2(esbuild@0.25.9)): + babel-loader@10.0.0(@babel/core@7.28.3)(webpack@5.101.2): dependencies: '@babel/core': 7.28.3 find-up: 5.0.0 @@ -15440,7 +15431,7 @@ snapshots: dependencies: is-what: 3.14.1 - copy-webpack-plugin@13.0.1(webpack@5.101.2(esbuild@0.25.9)): + copy-webpack-plugin@13.0.1(webpack@5.101.2): dependencies: glob-parent: 6.0.2 normalize-path: 3.0.0 @@ -15486,7 +15477,7 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - css-loader@7.1.2(webpack@5.101.2(esbuild@0.25.9)): + css-loader@7.1.2(webpack@5.101.2): dependencies: icss-utils: 5.1.0(postcss@8.5.6) postcss: 8.5.6 @@ -17472,7 +17463,7 @@ snapshots: picocolors: 1.1.1 shell-quote: 1.8.3 - less-loader@12.3.0(less@4.4.0)(webpack@5.101.2(esbuild@0.25.9)): + less-loader@12.3.0(less@4.4.0)(webpack@5.101.2): dependencies: less: 4.4.0 optionalDependencies: @@ -17515,7 +17506,7 @@ snapshots: libphonenumber-js@1.12.25: {} - license-webpack-plugin@4.0.2(webpack@5.101.2(esbuild@0.25.9)): + license-webpack-plugin@4.0.2(webpack@5.101.2): dependencies: webpack-sources: 3.3.3 optionalDependencies: @@ -17776,7 +17767,7 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.9.4(webpack@5.101.2(esbuild@0.25.9)): + mini-css-extract-plugin@2.9.4(webpack@5.101.2): dependencies: schema-utils: 4.3.3 tapable: 2.3.0 @@ -18411,7 +18402,7 @@ snapshots: postcss: 8.5.6 tsx: 4.20.6 - postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.9.3)(webpack@5.101.2(esbuild@0.25.9)): + postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.9.3)(webpack@5.101.2): dependencies: cosmiconfig: 9.0.0(typescript@5.9.3) jiti: 1.21.7 @@ -18942,7 +18933,7 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@16.0.5(sass@1.90.0)(webpack@5.101.2(esbuild@0.25.9)): + sass-loader@16.0.5(sass@1.90.0)(webpack@5.101.2): dependencies: neo-async: 2.6.2 optionalDependencies: @@ -19269,7 +19260,7 @@ snapshots: source-map-js@1.2.1: {} - source-map-loader@5.0.0(webpack@5.101.2(esbuild@0.25.9)): + source-map-loader@5.0.0(webpack@5.101.2): dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.1 @@ -20305,7 +20296,7 @@ snapshots: webpack-sources@3.3.3: {} - webpack-subresource-integrity@5.1.0(webpack@5.101.2(esbuild@0.25.9)): + webpack-subresource-integrity@5.1.0(webpack@5.101.2): dependencies: typed-assert: 1.0.9 webpack: 5.101.2(esbuild@0.25.9) From e0c862b9639568b5575c233559870b08de49dcf4 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Fri, 31 Oct 2025 15:17:28 +0000 Subject: [PATCH 29/56] fix(*): further style package updates --- examples/react/package.json | 2 +- packages/styles/package.json | 38 +++++++++-------- pnpm-lock.yaml | 79 ++++++++++++++++++++---------------- 3 files changed, 67 insertions(+), 52 deletions(-) diff --git a/examples/react/package.json b/examples/react/package.json index 1509b221..2de7e9be 100644 --- a/examples/react/package.json +++ b/examples/react/package.json @@ -13,7 +13,7 @@ "dependencies": { "@invertase/firebaseui-react": "0.0.3", "@invertase/firebaseui-core": "0.0.3", - "@invertase/firebaseui-styles": "0.0.7", + "@invertase/firebaseui-styles": "0.0.8", "@invertase/firebaseui-translations": "0.0.4", "firebase": "^11.6.0", "react": "catalog:", diff --git a/packages/styles/package.json b/packages/styles/package.json index 53f3119b..d233ef3e 100644 --- a/packages/styles/package.json +++ b/packages/styles/package.json @@ -1,21 +1,14 @@ { "name": "@invertase/firebaseui-styles", - "version": "0.0.8", + "version": "0.0.9", "type": "module", - "main": "./dist/index.cjs", - "module": "./dist/index.js", - "types": "./dist/index.d.ts", - "exports": { - ".": { - "style": "./dist/dist.min.css", - "types": "./dist/index.d.ts", - "import": "./dist/index.js", - "require": "./dist/index.cjs", - "default": "./dist/index.js" - }, - "./dist.min.css": "./dist/dist.min.css", - "./tailwind": "./src/base.css", - "./themes/*": "./src/themes/*.css" + "zshy": { + "exports": { + ".": "./src/index.ts", + "./dist.min.css": "./dist/dist.min.css", + "./tailwind": "./src/base.css", + "./themes/brutalist.css": "./src/themes/brualist.css" + } }, "sideEffects": [ "**/*.css" @@ -26,7 +19,7 @@ ], "scripts": { "prepare": "pnpm run build", - "build": "tsup && pnpm run build:css", + "build": "pnpm dlx zshy && pnpm run build:css", "build:css": "pnpm dlx @tailwindcss/cli -i ./src.css -o ./dist/dist.min.css --minify", "build:local": "pnpm run build && pnpm pack", "lint": "tsc --noEmit", @@ -46,5 +39,18 @@ }, "dependencies": { "cva": "1.0.0-beta.4" + }, + "main": "./dist/index.cjs", + "module": "./dist/index.js", + "types": "./dist/index.d.cts", + "exports": { + ".": { + "types": "./dist/index.d.cts", + "import": "./dist/index.js", + "require": "./dist/index.cjs" + }, + "./dist.min.css": "./dist/dist.min.css", + "./tailwind": "./dist/base.css", + "./themes/brutalist.css": "./dist/themes/brualist.css" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f470600d..161ad828 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -341,8 +341,8 @@ importers: specifier: 0.0.3 version: 0.0.3(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3) '@invertase/firebaseui-styles': - specifier: 0.0.7 - version: 0.0.7(typescript@5.9.3) + specifier: 0.0.8 + version: 0.0.8(typescript@5.9.3) '@invertase/firebaseui-translations': specifier: 0.0.4 version: 0.0.4 @@ -2897,6 +2897,9 @@ packages: '@invertase/firebaseui-styles@0.0.7': resolution: {integrity: sha512-NbtwZAnIjjqQZt4KxXyhfW28/ABNZ7KoldgPgQ0mOIE35JXbCmTBIrIoyIMkwYtH2KTeHMMLnsPLY0b8MVCmRQ==} + '@invertase/firebaseui-styles@0.0.8': + resolution: {integrity: sha512-pz6M28bWdBWpK3/aZWhba2O59tQQqFvyA6xWQNF5YA/lo4zFzhYhhmtSGu9hEP2ouYqxSWldiMoguMea+IUsRw==} + '@invertase/firebaseui-translations@0.0.4': resolution: {integrity: sha512-sG8DToRfe7phgF5PXL02hZ9fwQcnwLdJvkfVaz4HuCBne94EH0dBgHhrF0oElRxLae93S2endufa94Yy7IoKsA==} @@ -10000,13 +10003,13 @@ snapshots: '@babel/preset-env': 7.28.3(@babel/core@7.28.3) '@babel/runtime': 7.28.3 '@discoveryjs/json-ext': 0.6.3 - '@ngtools/webpack': 20.3.7(@angular/compiler-cli@20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3))(typescript@5.9.3)(webpack@5.101.2) + '@ngtools/webpack': 20.3.7(@angular/compiler-cli@20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3))(typescript@5.9.3)(webpack@5.101.2(esbuild@0.25.9)) ansi-colors: 4.1.3 autoprefixer: 10.4.21(postcss@8.5.6) - babel-loader: 10.0.0(@babel/core@7.28.3)(webpack@5.101.2) + babel-loader: 10.0.0(@babel/core@7.28.3)(webpack@5.101.2(esbuild@0.25.9)) browserslist: 4.27.0 - copy-webpack-plugin: 13.0.1(webpack@5.101.2) - css-loader: 7.1.2(webpack@5.101.2) + copy-webpack-plugin: 13.0.1(webpack@5.101.2(esbuild@0.25.9)) + css-loader: 7.1.2(webpack@5.101.2(esbuild@0.25.9)) esbuild-wasm: 0.25.9 fast-glob: 3.3.3 http-proxy-middleware: 3.0.5 @@ -10014,22 +10017,22 @@ snapshots: jsonc-parser: 3.3.1 karma-source-map-support: 1.4.0 less: 4.4.0 - less-loader: 12.3.0(less@4.4.0)(webpack@5.101.2) - license-webpack-plugin: 4.0.2(webpack@5.101.2) + less-loader: 12.3.0(less@4.4.0)(webpack@5.101.2(esbuild@0.25.9)) + license-webpack-plugin: 4.0.2(webpack@5.101.2(esbuild@0.25.9)) loader-utils: 3.3.1 - mini-css-extract-plugin: 2.9.4(webpack@5.101.2) + mini-css-extract-plugin: 2.9.4(webpack@5.101.2(esbuild@0.25.9)) open: 10.2.0 ora: 8.2.0 picomatch: 4.0.3 piscina: 5.1.3 postcss: 8.5.6 - postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.9.3)(webpack@5.101.2) + postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.9.3)(webpack@5.101.2(esbuild@0.25.9)) resolve-url-loader: 5.0.0 rxjs: 7.8.2 sass: 1.90.0 - sass-loader: 16.0.5(sass@1.90.0)(webpack@5.101.2) + sass-loader: 16.0.5(sass@1.90.0)(webpack@5.101.2(esbuild@0.25.9)) semver: 7.7.2 - source-map-loader: 5.0.0(webpack@5.101.2) + source-map-loader: 5.0.0(webpack@5.101.2(esbuild@0.25.9)) source-map-support: 0.5.21 terser: 5.43.1 tree-kill: 1.2.2 @@ -10039,7 +10042,7 @@ snapshots: webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) webpack-merge: 6.0.1 - webpack-subresource-integrity: 5.1.0(webpack@5.101.2) + webpack-subresource-integrity: 5.1.0(webpack@5.101.2(esbuild@0.25.9)) optionalDependencies: '@angular/core': 20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1) '@angular/platform-browser': 20.3.7(@angular/animations@20.3.7(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.7(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1)) @@ -10091,13 +10094,13 @@ snapshots: '@babel/preset-env': 7.28.3(@babel/core@7.28.3) '@babel/runtime': 7.28.3 '@discoveryjs/json-ext': 0.6.3 - '@ngtools/webpack': 20.3.7(@angular/compiler-cli@20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3))(typescript@5.9.3)(webpack@5.101.2) + '@ngtools/webpack': 20.3.7(@angular/compiler-cli@20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3))(typescript@5.9.3)(webpack@5.101.2(esbuild@0.25.9)) ansi-colors: 4.1.3 autoprefixer: 10.4.21(postcss@8.5.6) - babel-loader: 10.0.0(@babel/core@7.28.3)(webpack@5.101.2) + babel-loader: 10.0.0(@babel/core@7.28.3)(webpack@5.101.2(esbuild@0.25.9)) browserslist: 4.27.0 - copy-webpack-plugin: 13.0.1(webpack@5.101.2) - css-loader: 7.1.2(webpack@5.101.2) + copy-webpack-plugin: 13.0.1(webpack@5.101.2(esbuild@0.25.9)) + css-loader: 7.1.2(webpack@5.101.2(esbuild@0.25.9)) esbuild-wasm: 0.25.9 fast-glob: 3.3.3 http-proxy-middleware: 3.0.5 @@ -10105,22 +10108,22 @@ snapshots: jsonc-parser: 3.3.1 karma-source-map-support: 1.4.0 less: 4.4.0 - less-loader: 12.3.0(less@4.4.0)(webpack@5.101.2) - license-webpack-plugin: 4.0.2(webpack@5.101.2) + less-loader: 12.3.0(less@4.4.0)(webpack@5.101.2(esbuild@0.25.9)) + license-webpack-plugin: 4.0.2(webpack@5.101.2(esbuild@0.25.9)) loader-utils: 3.3.1 - mini-css-extract-plugin: 2.9.4(webpack@5.101.2) + mini-css-extract-plugin: 2.9.4(webpack@5.101.2(esbuild@0.25.9)) open: 10.2.0 ora: 8.2.0 picomatch: 4.0.3 piscina: 5.1.3 postcss: 8.5.6 - postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.9.3)(webpack@5.101.2) + postcss-loader: 8.1.1(postcss@8.5.6)(typescript@5.9.3)(webpack@5.101.2(esbuild@0.25.9)) resolve-url-loader: 5.0.0 rxjs: 7.8.2 sass: 1.90.0 - sass-loader: 16.0.5(sass@1.90.0)(webpack@5.101.2) + sass-loader: 16.0.5(sass@1.90.0)(webpack@5.101.2(esbuild@0.25.9)) semver: 7.7.2 - source-map-loader: 5.0.0(webpack@5.101.2) + source-map-loader: 5.0.0(webpack@5.101.2(esbuild@0.25.9)) source-map-support: 0.5.21 terser: 5.43.1 tree-kill: 1.2.2 @@ -10130,7 +10133,7 @@ snapshots: webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) webpack-merge: 6.0.1 - webpack-subresource-integrity: 5.1.0(webpack@5.101.2) + webpack-subresource-integrity: 5.1.0(webpack@5.101.2(esbuild@0.25.9)) optionalDependencies: '@angular/core': 20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1) '@angular/platform-browser': 20.3.7(@angular/animations@20.3.7(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1)))(@angular/common@20.3.7(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1))(rxjs@7.8.2))(@angular/core@20.3.7(@angular/compiler@20.3.7)(rxjs@7.8.2)(zone.js@0.15.1)) @@ -12396,6 +12399,12 @@ snapshots: transitivePeerDependencies: - typescript + '@invertase/firebaseui-styles@0.0.8(typescript@5.9.3)': + dependencies: + cva: 1.0.0-beta.4(typescript@5.9.3) + transitivePeerDependencies: + - typescript + '@invertase/firebaseui-translations@0.0.4': {} '@isaacs/balanced-match@4.0.1': {} @@ -12903,7 +12912,7 @@ snapshots: '@next/swc-win32-x64-msvc@15.1.7': optional: true - '@ngtools/webpack@20.3.7(@angular/compiler-cli@20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3))(typescript@5.9.3)(webpack@5.101.2)': + '@ngtools/webpack@20.3.7(@angular/compiler-cli@20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3))(typescript@5.9.3)(webpack@5.101.2(esbuild@0.25.9))': dependencies: '@angular/compiler-cli': 20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3) typescript: 5.9.3 @@ -15006,7 +15015,7 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@10.0.0(@babel/core@7.28.3)(webpack@5.101.2): + babel-loader@10.0.0(@babel/core@7.28.3)(webpack@5.101.2(esbuild@0.25.9)): dependencies: '@babel/core': 7.28.3 find-up: 5.0.0 @@ -15431,7 +15440,7 @@ snapshots: dependencies: is-what: 3.14.1 - copy-webpack-plugin@13.0.1(webpack@5.101.2): + copy-webpack-plugin@13.0.1(webpack@5.101.2(esbuild@0.25.9)): dependencies: glob-parent: 6.0.2 normalize-path: 3.0.0 @@ -15477,7 +15486,7 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 - css-loader@7.1.2(webpack@5.101.2): + css-loader@7.1.2(webpack@5.101.2(esbuild@0.25.9)): dependencies: icss-utils: 5.1.0(postcss@8.5.6) postcss: 8.5.6 @@ -17463,7 +17472,7 @@ snapshots: picocolors: 1.1.1 shell-quote: 1.8.3 - less-loader@12.3.0(less@4.4.0)(webpack@5.101.2): + less-loader@12.3.0(less@4.4.0)(webpack@5.101.2(esbuild@0.25.9)): dependencies: less: 4.4.0 optionalDependencies: @@ -17506,7 +17515,7 @@ snapshots: libphonenumber-js@1.12.25: {} - license-webpack-plugin@4.0.2(webpack@5.101.2): + license-webpack-plugin@4.0.2(webpack@5.101.2(esbuild@0.25.9)): dependencies: webpack-sources: 3.3.3 optionalDependencies: @@ -17767,7 +17776,7 @@ snapshots: min-indent@1.0.1: {} - mini-css-extract-plugin@2.9.4(webpack@5.101.2): + mini-css-extract-plugin@2.9.4(webpack@5.101.2(esbuild@0.25.9)): dependencies: schema-utils: 4.3.3 tapable: 2.3.0 @@ -18402,7 +18411,7 @@ snapshots: postcss: 8.5.6 tsx: 4.20.6 - postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.9.3)(webpack@5.101.2): + postcss-loader@8.1.1(postcss@8.5.6)(typescript@5.9.3)(webpack@5.101.2(esbuild@0.25.9)): dependencies: cosmiconfig: 9.0.0(typescript@5.9.3) jiti: 1.21.7 @@ -18933,7 +18942,7 @@ snapshots: safer-buffer@2.1.2: {} - sass-loader@16.0.5(sass@1.90.0)(webpack@5.101.2): + sass-loader@16.0.5(sass@1.90.0)(webpack@5.101.2(esbuild@0.25.9)): dependencies: neo-async: 2.6.2 optionalDependencies: @@ -19260,7 +19269,7 @@ snapshots: source-map-js@1.2.1: {} - source-map-loader@5.0.0(webpack@5.101.2): + source-map-loader@5.0.0(webpack@5.101.2(esbuild@0.25.9)): dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.1 @@ -20296,7 +20305,7 @@ snapshots: webpack-sources@3.3.3: {} - webpack-subresource-integrity@5.1.0(webpack@5.101.2): + webpack-subresource-integrity@5.1.0(webpack@5.101.2(esbuild@0.25.9)): dependencies: typed-assert: 1.0.9 webpack: 5.101.2(esbuild@0.25.9) From bd284c92572e4da57b26e006eb5cc54426c2a810 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Fri, 31 Oct 2025 16:12:46 +0000 Subject: [PATCH 30/56] chore(react): release 0.0.4 --- examples/react/package.json | 2 -- packages/react/package.json | 2 +- pnpm-lock.yaml | 61 ++++++++++++++----------------------- 3 files changed, 24 insertions(+), 41 deletions(-) diff --git a/examples/react/package.json b/examples/react/package.json index 2de7e9be..83f01fb4 100644 --- a/examples/react/package.json +++ b/examples/react/package.json @@ -13,8 +13,6 @@ "dependencies": { "@invertase/firebaseui-react": "0.0.3", "@invertase/firebaseui-core": "0.0.3", - "@invertase/firebaseui-styles": "0.0.8", - "@invertase/firebaseui-translations": "0.0.4", "firebase": "^11.6.0", "react": "catalog:", "react-dom": "catalog:", diff --git a/packages/react/package.json b/packages/react/package.json index 575f563b..83e5ae87 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@invertase/firebaseui-react", - "version": "0.0.3", + "version": "0.0.4", "type": "module", "main": "./dist/index.cjs", "module": "./dist/index.js", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 161ad828..7abcea8a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -340,12 +340,6 @@ importers: '@invertase/firebaseui-react': specifier: 0.0.3 version: 0.0.3(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3) - '@invertase/firebaseui-styles': - specifier: 0.0.8 - version: 0.0.8(typescript@5.9.3) - '@invertase/firebaseui-translations': - specifier: 0.0.4 - version: 0.0.4 firebase: specifier: ^11.6.0 version: 11.10.0 @@ -744,11 +738,11 @@ importers: packages/react: dependencies: '@invertase/firebaseui-core': - specifier: workspace:* - version: link:../core + specifier: '*' + version: 0.0.3(firebase@11.10.0) '@invertase/firebaseui-styles': - specifier: workspace:* - version: link:../styles + specifier: '*' + version: 0.0.7(typescript@5.9.3) '@nanostores/react': specifier: ^1.0.0 version: 1.0.0(nanostores@1.0.1)(react@19.1.1) @@ -765,62 +759,62 @@ importers: specifier: ^3.0.1 version: 3.3.1 zod: - specifier: 'catalog:' + specifier: ^4.1.9 version: 4.1.12 devDependencies: '@invertase/firebaseui-translations': - specifier: workspace:* - version: link:../translations + specifier: '*' + version: 0.0.4 '@testing-library/jest-dom': - specifier: 'catalog:' + specifier: ^6.8.0 version: 6.9.1 '@testing-library/react': - specifier: 'catalog:' + specifier: ^16.3.0 version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.1.9(@types/react@19.1.16))(@types/react@19.1.16)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@types/jsdom': - specifier: 'catalog:' + specifier: ^21.1.7 version: 21.1.7 '@types/node': - specifier: 'catalog:' + specifier: ^24.3.1 version: 24.9.2 '@types/react': - specifier: 'catalog:' + specifier: 19.1.16 version: 19.1.16 '@types/react-dom': - specifier: 'catalog:' + specifier: 19.1.9 version: 19.1.9(@types/react@19.1.16) '@vitejs/plugin-react': - specifier: 'catalog:' + specifier: ^5.0.2 version: 5.1.0(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(sass@1.93.2)(terser@5.43.1)(tsx@4.20.6)) firebase: - specifier: 'catalog:' + specifier: ^11.10.0 version: 11.10.0 jsdom: - specifier: 'catalog:' + specifier: ^26.1.0 version: 26.1.0 nanostores: - specifier: 'catalog:' + specifier: ^1.0.1 version: 1.0.1 react: - specifier: 'catalog:' + specifier: 19.1.1 version: 19.1.1 react-dom: - specifier: 'catalog:' + specifier: 19.1.1 version: 19.1.1(react@19.1.1) tsup: - specifier: 'catalog:' + specifier: ^8.5.0 version: 8.5.0(jiti@2.6.1)(postcss@8.5.6)(tsx@4.20.6)(typescript@5.9.3) typescript: - specifier: 'catalog:' + specifier: ^5.9.2 version: 5.9.3 vite: - specifier: 'catalog:' + specifier: ^7.1.5 version: 7.1.12(@types/node@24.9.2)(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(sass@1.93.2)(terser@5.43.1)(tsx@4.20.6) vite-plugin-svgr: specifier: ^4.5.0 version: 4.5.0(rollup@4.52.5)(typescript@5.9.3)(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(sass@1.93.2)(terser@5.43.1)(tsx@4.20.6)) vitest: - specifier: 'catalog:' + specifier: ^3.2.4 version: 3.2.4(@types/node@24.9.2)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(less@4.4.2)(lightningcss@1.30.2)(msw@2.11.6(@types/node@24.9.2)(typescript@5.9.3))(sass@1.93.2)(terser@5.43.1)(tsx@4.20.6) packages/shadcn: @@ -2897,9 +2891,6 @@ packages: '@invertase/firebaseui-styles@0.0.7': resolution: {integrity: sha512-NbtwZAnIjjqQZt4KxXyhfW28/ABNZ7KoldgPgQ0mOIE35JXbCmTBIrIoyIMkwYtH2KTeHMMLnsPLY0b8MVCmRQ==} - '@invertase/firebaseui-styles@0.0.8': - resolution: {integrity: sha512-pz6M28bWdBWpK3/aZWhba2O59tQQqFvyA6xWQNF5YA/lo4zFzhYhhmtSGu9hEP2ouYqxSWldiMoguMea+IUsRw==} - '@invertase/firebaseui-translations@0.0.4': resolution: {integrity: sha512-sG8DToRfe7phgF5PXL02hZ9fwQcnwLdJvkfVaz4HuCBne94EH0dBgHhrF0oElRxLae93S2endufa94Yy7IoKsA==} @@ -12399,12 +12390,6 @@ snapshots: transitivePeerDependencies: - typescript - '@invertase/firebaseui-styles@0.0.8(typescript@5.9.3)': - dependencies: - cva: 1.0.0-beta.4(typescript@5.9.3) - transitivePeerDependencies: - - typescript - '@invertase/firebaseui-translations@0.0.4': {} '@isaacs/balanced-match@4.0.1': {} From 6dc7312c2543d6ef39e5669d066bbe1b1116ac4d Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Fri, 31 Oct 2025 16:40:53 +0000 Subject: [PATCH 31/56] chore(*): release core 0.0.4 --- packages/core/package.json | 4 +-- pnpm-lock.yaml | 50 +++++++++++++++++++------------------- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index 405d3ebb..c9a45af2 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@invertase/firebaseui-core", - "version": "0.0.3", + "version": "0.0.4", "description": "Core authentication service for Firebase UI", "type": "module", "main": "./dist/index.cjs", @@ -49,7 +49,7 @@ "firebase": "catalog:peerDependencies" }, "dependencies": { - "@invertase/firebaseui-translations": "workspace:*", + "@invertase/firebaseui-translations": "*", "libphonenumber-js": "^1.12.23", "nanostores": "catalog:", "qrcode-generator": "^2.0.4", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7abcea8a..4ec8b919 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -692,8 +692,8 @@ importers: packages/core: dependencies: '@invertase/firebaseui-translations': - specifier: workspace:* - version: link:../translations + specifier: '*' + version: 0.0.4 libphonenumber-js: specifier: ^1.12.23 version: 1.12.25 @@ -738,11 +738,11 @@ importers: packages/react: dependencies: '@invertase/firebaseui-core': - specifier: '*' - version: 0.0.3(firebase@11.10.0) + specifier: workspace:* + version: link:../core '@invertase/firebaseui-styles': - specifier: '*' - version: 0.0.7(typescript@5.9.3) + specifier: workspace:* + version: link:../styles '@nanostores/react': specifier: ^1.0.0 version: 1.0.0(nanostores@1.0.1)(react@19.1.1) @@ -759,62 +759,62 @@ importers: specifier: ^3.0.1 version: 3.3.1 zod: - specifier: ^4.1.9 + specifier: 'catalog:' version: 4.1.12 devDependencies: '@invertase/firebaseui-translations': - specifier: '*' - version: 0.0.4 + specifier: workspace:* + version: link:../translations '@testing-library/jest-dom': - specifier: ^6.8.0 + specifier: 'catalog:' version: 6.9.1 '@testing-library/react': - specifier: ^16.3.0 + specifier: 'catalog:' version: 16.3.0(@testing-library/dom@10.4.1)(@types/react-dom@19.1.9(@types/react@19.1.16))(@types/react@19.1.16)(react-dom@19.1.1(react@19.1.1))(react@19.1.1) '@types/jsdom': - specifier: ^21.1.7 + specifier: 'catalog:' version: 21.1.7 '@types/node': - specifier: ^24.3.1 + specifier: 'catalog:' version: 24.9.2 '@types/react': - specifier: 19.1.16 + specifier: 'catalog:' version: 19.1.16 '@types/react-dom': - specifier: 19.1.9 + specifier: 'catalog:' version: 19.1.9(@types/react@19.1.16) '@vitejs/plugin-react': - specifier: ^5.0.2 + specifier: 'catalog:' version: 5.1.0(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(sass@1.93.2)(terser@5.43.1)(tsx@4.20.6)) firebase: - specifier: ^11.10.0 + specifier: 'catalog:' version: 11.10.0 jsdom: - specifier: ^26.1.0 + specifier: 'catalog:' version: 26.1.0 nanostores: - specifier: ^1.0.1 + specifier: 'catalog:' version: 1.0.1 react: - specifier: 19.1.1 + specifier: 'catalog:' version: 19.1.1 react-dom: - specifier: 19.1.1 + specifier: 'catalog:' version: 19.1.1(react@19.1.1) tsup: - specifier: ^8.5.0 + specifier: 'catalog:' version: 8.5.0(jiti@2.6.1)(postcss@8.5.6)(tsx@4.20.6)(typescript@5.9.3) typescript: - specifier: ^5.9.2 + specifier: 'catalog:' version: 5.9.3 vite: - specifier: ^7.1.5 + specifier: 'catalog:' version: 7.1.12(@types/node@24.9.2)(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(sass@1.93.2)(terser@5.43.1)(tsx@4.20.6) vite-plugin-svgr: specifier: ^4.5.0 version: 4.5.0(rollup@4.52.5)(typescript@5.9.3)(vite@7.1.12(@types/node@24.9.2)(jiti@2.6.1)(less@4.4.2)(lightningcss@1.30.2)(sass@1.93.2)(terser@5.43.1)(tsx@4.20.6)) vitest: - specifier: ^3.2.4 + specifier: 'catalog:' version: 3.2.4(@types/node@24.9.2)(@vitest/ui@3.2.4)(jiti@2.6.1)(jsdom@26.1.0)(less@4.4.2)(lightningcss@1.30.2)(msw@2.11.6(@types/node@24.9.2)(typescript@5.9.3))(sass@1.93.2)(terser@5.43.1)(tsx@4.20.6) packages/shadcn: From b1ca215200c9631304dadb433a61ee1d3433b3f7 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Mon, 3 Nov 2025 13:00:43 +0000 Subject: [PATCH 32/56] chore(shadcn): Updated depenencies and deploy to firebase hosting --- examples/react/package-lock.json | 4972 ---------------------- examples/react/package.json | 6 +- examples/shadcn/.firebaserc | 5 + examples/shadcn/firebase.json | 13 + examples/shadcn/package.json | 10 +- examples/shadcn/src/firebase/config.ts | 9 +- examples/shadcn/src/firebase/firebase.ts | 10 +- pnpm-lock.yaml | 75 +- 8 files changed, 107 insertions(+), 4993 deletions(-) delete mode 100644 examples/react/package-lock.json create mode 100644 examples/shadcn/.firebaserc create mode 100644 examples/shadcn/firebase.json diff --git a/examples/react/package-lock.json b/examples/react/package-lock.json deleted file mode 100644 index 1e668102..00000000 --- a/examples/react/package-lock.json +++ /dev/null @@ -1,4972 +0,0 @@ -{ - "name": "react", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "react", - "version": "0.0.0", - "dependencies": { - "@invertase/firebaseui-core": "^0.0.1", - "@invertase/firebaseui-react": "^0.0.1", - "@invertase/firebaseui-styles": "^0.0.1", - "@invertase/firebaseui-translations": "^0.0.1", - "firebase": "^11.6.0", - "react": "^19.0.0", - "react-dom": "^19.0.0", - "react-router": "^7.5.1" - }, - "devDependencies": { - "@eslint/js": "^9.22.0", - "@tailwindcss/vite": "^4.1.4", - "@types/react": "^19.0.10", - "@types/react-dom": "^19.0.4", - "@vitejs/plugin-react": "^4.3.4", - "eslint": "^9.22.0", - "eslint-plugin-react-hooks": "^5.2.0", - "eslint-plugin-react-refresh": "^0.4.19", - "globals": "^16.0.0", - "tailwindcss": "^4.1.4", - "vite": "^6.3.1" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.4.tgz", - "integrity": "sha512-YsmSKC29MJwf0gF8Rjjrg5LQCmyh+j/nD8/eP7f+BeoQTKYqs9RoWbjGOdy0+1Ekr68RJZMUOPVQaQisnIo4Rw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.4.tgz", - "integrity": "sha512-2BCOP7TN8M+gVDj7/ht3hsaO/B/n5oDbiAyyvnRlNOs+u1o+JWNYTQrmpuNp1/Wq2gcFrI01JAW+paEKDMx/CA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.4", - "@babel/types": "^7.28.4", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", - "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.28.3", - "@babel/types": "^7.28.2", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.27.2", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", - "dev": true, - "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.4.tgz", - "integrity": "sha512-yZbBqeM6TkpP9du/I2pUZnJsRMGGvOuIrhjzC1AwHwW+6he4mni6Bp/m8ijn0iOuZuPI2BfkCoSRunpyjnrQKg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.28.4" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", - "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", - "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.4.tgz", - "integrity": "sha512-YEzuboP2qvQavAcjgQNVgsvHIDv6ZpwXvcvjmyySP2DIMuByS/6ioU5G9pYrWHM6T2YDfc7xga9iNzYOs12CFQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.3", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.4", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.4.tgz", - "integrity": "sha512-bkFqkLhh3pMBUQQkpVgWDWq/lqzc2678eUyDlTBhRqhCHFguYYGM0Efga7tYk4TogG/3x0EEl66/OQ+WGbWB/Q==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.11.tgz", - "integrity": "sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.11.tgz", - "integrity": "sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.11.tgz", - "integrity": "sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.11.tgz", - "integrity": "sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.11.tgz", - "integrity": "sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.11.tgz", - "integrity": "sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.11.tgz", - "integrity": "sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.11.tgz", - "integrity": "sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.11.tgz", - "integrity": "sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.11.tgz", - "integrity": "sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.11.tgz", - "integrity": "sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.11.tgz", - "integrity": "sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.11.tgz", - "integrity": "sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.11.tgz", - "integrity": "sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.11.tgz", - "integrity": "sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.11.tgz", - "integrity": "sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.11.tgz", - "integrity": "sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.11.tgz", - "integrity": "sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.11.tgz", - "integrity": "sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.11.tgz", - "integrity": "sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.11.tgz", - "integrity": "sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.11.tgz", - "integrity": "sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.11.tgz", - "integrity": "sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.11.tgz", - "integrity": "sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.11.tgz", - "integrity": "sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.11.tgz", - "integrity": "sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", - "dev": true, - "dependencies": { - "@eslint/object-schema": "^2.1.7", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.1.tgz", - "integrity": "sha512-csZAzkNhsgwb0I/UAV6/RGFTbiakPCf0ZrGmrIxQpYvGZ00PhTkSnyKNolphgIvmnJeGw6rcGVEXfTzUnFuEvw==", - "dev": true, - "dependencies": { - "@eslint/core": "^0.16.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.16.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.16.0.tgz", - "integrity": "sha512-nmC8/totwobIiFcGkDza3GIKfAw1+hLiYVrh3I1nIomQ8PEr5cxg34jnkmGawul/ep52wGRAcyeDCNtWKSOj4Q==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", - "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "9.38.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.38.0.tgz", - "integrity": "sha512-UZ1VpFvXf9J06YG9xQBdnzU+kthors6KjhMAl6f4gH4usHyh31rUf2DLGInT8RFYIReYXNSydgPY0V2LuWgl7A==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.0.tgz", - "integrity": "sha512-sB5uyeq+dwCWyPi31B2gQlVlo+j5brPlWx4yZBrEaRo/nhdDE8Xke1gsGgtiBdaBTxuTkceLVuVt/pclrasb0A==", - "dev": true, - "dependencies": { - "@eslint/core": "^0.16.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@firebase/ai": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@firebase/ai/-/ai-1.4.1.tgz", - "integrity": "sha512-bcusQfA/tHjUjBTnMx6jdoPMpDl3r8K15Z+snHz9wq0Foox0F/V+kNLXucEOHoTL2hTc9l+onZCyBJs2QoIC3g==", - "dependencies": { - "@firebase/app-check-interop-types": "0.3.3", - "@firebase/component": "0.6.18", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x", - "@firebase/app-types": "0.x" - } - }, - "node_modules/@firebase/analytics": { - "version": "0.10.17", - "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.17.tgz", - "integrity": "sha512-n5vfBbvzduMou/2cqsnKrIes4auaBjdhg8QNA2ZQZ59QgtO2QiwBaXQZQE4O4sgB0Ds1tvLgUUkY+pwzu6/xEg==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/installations": "0.6.18", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/analytics-compat": { - "version": "0.2.23", - "resolved": "https://registry.npmjs.org/@firebase/analytics-compat/-/analytics-compat-0.2.23.tgz", - "integrity": "sha512-3AdO10RN18G5AzREPoFgYhW6vWXr3u+OYQv6pl3CX6Fky8QRk0AHurZlY3Q1xkXO0TDxIsdhO3y65HF7PBOJDw==", - "dependencies": { - "@firebase/analytics": "0.10.17", - "@firebase/analytics-types": "0.8.3", - "@firebase/component": "0.6.18", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/analytics-types": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/@firebase/analytics-types/-/analytics-types-0.8.3.tgz", - "integrity": "sha512-VrIp/d8iq2g501qO46uGz3hjbDb8xzYMrbu8Tp0ovzIzrvJZ2fvmj649gTjge/b7cCCcjT0H37g1gVtlNhnkbg==" - }, - "node_modules/@firebase/app": { - "version": "0.13.2", - "resolved": "https://registry.npmjs.org/@firebase/app/-/app-0.13.2.tgz", - "integrity": "sha512-jwtMmJa1BXXDCiDx1vC6SFN/+HfYG53UkfJa6qeN5ogvOunzbFDO3wISZy5n9xgYFUrEP6M7e8EG++riHNTv9w==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.1", - "idb": "7.1.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@firebase/app-check": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@firebase/app-check/-/app-check-0.10.1.tgz", - "integrity": "sha512-MgNdlms9Qb0oSny87pwpjKush9qUwCJhfmTJHDfrcKo4neLGiSeVE4qJkzP7EQTIUFKp84pbTxobSAXkiuQVYQ==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/app-check-compat": { - "version": "0.3.26", - "resolved": "https://registry.npmjs.org/@firebase/app-check-compat/-/app-check-compat-0.3.26.tgz", - "integrity": "sha512-PkX+XJMLDea6nmnopzFKlr+s2LMQGqdyT2DHdbx1v1dPSqOol2YzgpgymmhC67vitXVpNvS3m/AiWQWWhhRRPQ==", - "dependencies": { - "@firebase/app-check": "0.10.1", - "@firebase/app-check-types": "0.5.3", - "@firebase/component": "0.6.18", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/app-check-interop-types": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@firebase/app-check-interop-types/-/app-check-interop-types-0.3.3.tgz", - "integrity": "sha512-gAlxfPLT2j8bTI/qfe3ahl2I2YcBQ8cFIBdhAQA4I2f3TndcO+22YizyGYuttLHPQEpWkhmpFW60VCFEPg4g5A==" - }, - "node_modules/@firebase/app-check-types": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@firebase/app-check-types/-/app-check-types-0.5.3.tgz", - "integrity": "sha512-hyl5rKSj0QmwPdsAxrI5x1otDlByQ7bvNvVt8G/XPO2CSwE++rmSVf3VEhaeOR4J8ZFaF0Z0NDSmLejPweZ3ng==" - }, - "node_modules/@firebase/app-compat": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@firebase/app-compat/-/app-compat-0.4.2.tgz", - "integrity": "sha512-LssbyKHlwLeiV8GBATyOyjmHcMpX/tFjzRUCS1jnwGAew1VsBB4fJowyS5Ud5LdFbYpJeS+IQoC+RQxpK7eH3Q==", - "dependencies": { - "@firebase/app": "0.13.2", - "@firebase/component": "0.6.18", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@firebase/app-types": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/@firebase/app-types/-/app-types-0.9.3.tgz", - "integrity": "sha512-kRVpIl4vVGJ4baogMDINbyrIOtOxqhkZQg4jTq3l8Lw6WSk0xfpEYzezFu+Kl4ve4fbPl79dvwRtaFqAC/ucCw==" - }, - "node_modules/@firebase/auth": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/@firebase/auth/-/auth-1.10.8.tgz", - "integrity": "sha512-GpuTz5ap8zumr/ocnPY57ZanX02COsXloY6Y/2LYPAuXYiaJRf6BAGDEdRq1BMjP93kqQnKNuKZUTMZbQ8MNYA==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x", - "@react-native-async-storage/async-storage": "^1.18.1" - }, - "peerDependenciesMeta": { - "@react-native-async-storage/async-storage": { - "optional": true - } - } - }, - "node_modules/@firebase/auth-compat": { - "version": "0.5.28", - "resolved": "https://registry.npmjs.org/@firebase/auth-compat/-/auth-compat-0.5.28.tgz", - "integrity": "sha512-HpMSo/cc6Y8IX7bkRIaPPqT//Jt83iWy5rmDWeThXQCAImstkdNo3giFLORJwrZw2ptiGkOij64EH1ztNJzc7Q==", - "dependencies": { - "@firebase/auth": "1.10.8", - "@firebase/auth-types": "0.13.0", - "@firebase/component": "0.6.18", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/auth-interop-types": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/@firebase/auth-interop-types/-/auth-interop-types-0.2.4.tgz", - "integrity": "sha512-JPgcXKCuO+CWqGDnigBtvo09HeBs5u/Ktc2GaFj2m01hLarbxthLNm7Fk8iOP1aqAtXV+fnnGj7U28xmk7IwVA==" - }, - "node_modules/@firebase/auth-types": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@firebase/auth-types/-/auth-types-0.13.0.tgz", - "integrity": "sha512-S/PuIjni0AQRLF+l9ck0YpsMOdE8GO2KU6ubmBB7P+7TJUCQDa3R1dlgYm9UzGbbePMZsp0xzB93f2b/CgxMOg==", - "peerDependencies": { - "@firebase/app-types": "0.x", - "@firebase/util": "1.x" - } - }, - "node_modules/@firebase/component": { - "version": "0.6.18", - "resolved": "https://registry.npmjs.org/@firebase/component/-/component-0.6.18.tgz", - "integrity": "sha512-n28kPCkE2dL2U28fSxZJjzPPVpKsQminJ6NrzcKXAI0E/lYC8YhfwpyllScqVEvAI3J2QgJZWYgrX+1qGI+SQQ==", - "dependencies": { - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@firebase/data-connect": { - "version": "0.3.10", - "resolved": "https://registry.npmjs.org/@firebase/data-connect/-/data-connect-0.3.10.tgz", - "integrity": "sha512-VMVk7zxIkgwlVQIWHOKFahmleIjiVFwFOjmakXPd/LDgaB/5vzwsB5DWIYo+3KhGxWpidQlR8geCIn39YflJIQ==", - "dependencies": { - "@firebase/auth-interop-types": "0.2.4", - "@firebase/component": "0.6.18", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/database": { - "version": "1.0.20", - "resolved": "https://registry.npmjs.org/@firebase/database/-/database-1.0.20.tgz", - "integrity": "sha512-H9Rpj1pQ1yc9+4HQOotFGLxqAXwOzCHsRSRjcQFNOr8lhUt6LeYjf0NSRL04sc4X0dWe8DsCvYKxMYvFG/iOJw==", - "dependencies": { - "@firebase/app-check-interop-types": "0.3.3", - "@firebase/auth-interop-types": "0.2.4", - "@firebase/component": "0.6.18", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.1", - "faye-websocket": "0.11.4", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@firebase/database-compat": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/@firebase/database-compat/-/database-compat-2.0.11.tgz", - "integrity": "sha512-itEsHARSsYS95+udF/TtIzNeQ0Uhx4uIna0sk4E0wQJBUnLc/G1X6D7oRljoOuwwCezRLGvWBRyNrugv/esOEw==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/database": "1.0.20", - "@firebase/database-types": "1.0.15", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@firebase/database-types": { - "version": "1.0.15", - "resolved": "https://registry.npmjs.org/@firebase/database-types/-/database-types-1.0.15.tgz", - "integrity": "sha512-XWHJ0VUJ0k2E9HDMlKxlgy/ZuTa9EvHCGLjaKSUvrQnwhgZuRU5N3yX6SZ+ftf2hTzZmfRkv+b3QRvGg40bKNw==", - "dependencies": { - "@firebase/app-types": "0.9.3", - "@firebase/util": "1.12.1" - } - }, - "node_modules/@firebase/firestore": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@firebase/firestore/-/firestore-4.8.0.tgz", - "integrity": "sha512-QSRk+Q1/CaabKyqn3C32KSFiOdZpSqI9rpLK5BHPcooElumOBooPFa6YkDdiT+/KhJtel36LdAacha9BptMj2A==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.1", - "@firebase/webchannel-wrapper": "1.0.3", - "@grpc/grpc-js": "~1.9.0", - "@grpc/proto-loader": "^0.7.8", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/firestore-compat": { - "version": "0.3.53", - "resolved": "https://registry.npmjs.org/@firebase/firestore-compat/-/firestore-compat-0.3.53.tgz", - "integrity": "sha512-qI3yZL8ljwAYWrTousWYbemay2YZa+udLWugjdjju2KODWtLG94DfO4NALJgPLv8CVGcDHNFXoyQexdRA0Cz8Q==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/firestore": "4.8.0", - "@firebase/firestore-types": "3.0.3", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/firestore-types": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@firebase/firestore-types/-/firestore-types-3.0.3.tgz", - "integrity": "sha512-hD2jGdiWRxB/eZWF89xcK9gF8wvENDJkzpVFb4aGkzfEaKxVRD1kjz1t1Wj8VZEp2LCB53Yx1zD8mrhQu87R6Q==", - "peerDependencies": { - "@firebase/app-types": "0.x", - "@firebase/util": "1.x" - } - }, - "node_modules/@firebase/functions": { - "version": "0.12.9", - "resolved": "https://registry.npmjs.org/@firebase/functions/-/functions-0.12.9.tgz", - "integrity": "sha512-FG95w6vjbUXN84Ehezc2SDjGmGq225UYbHrb/ptkRT7OTuCiQRErOQuyt1jI1tvcDekdNog+anIObihNFz79Lg==", - "dependencies": { - "@firebase/app-check-interop-types": "0.3.3", - "@firebase/auth-interop-types": "0.2.4", - "@firebase/component": "0.6.18", - "@firebase/messaging-interop-types": "0.2.3", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/functions-compat": { - "version": "0.3.26", - "resolved": "https://registry.npmjs.org/@firebase/functions-compat/-/functions-compat-0.3.26.tgz", - "integrity": "sha512-A798/6ff5LcG2LTWqaGazbFYnjBW8zc65YfID/en83ALmkhu2b0G8ykvQnLtakbV9ajrMYPn7Yc/XcYsZIUsjA==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/functions": "0.12.9", - "@firebase/functions-types": "0.6.3", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/functions-types": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@firebase/functions-types/-/functions-types-0.6.3.tgz", - "integrity": "sha512-EZoDKQLUHFKNx6VLipQwrSMh01A1SaL3Wg6Hpi//x6/fJ6Ee4hrAeswK99I5Ht8roiniKHw4iO0B1Oxj5I4plg==" - }, - "node_modules/@firebase/installations": { - "version": "0.6.18", - "resolved": "https://registry.npmjs.org/@firebase/installations/-/installations-0.6.18.tgz", - "integrity": "sha512-NQ86uGAcvO8nBRwVltRL9QQ4Reidc/3whdAasgeWCPIcrhOKDuNpAALa6eCVryLnK14ua2DqekCOX5uC9XbU/A==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/util": "1.12.1", - "idb": "7.1.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/installations-compat": { - "version": "0.2.18", - "resolved": "https://registry.npmjs.org/@firebase/installations-compat/-/installations-compat-0.2.18.tgz", - "integrity": "sha512-aLFohRpJO5kKBL/XYL4tN+GdwEB/Q6Vo9eZOM/6Kic7asSUgmSfGPpGUZO1OAaSRGwF4Lqnvi1f/f9VZnKzChw==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/installations": "0.6.18", - "@firebase/installations-types": "0.5.3", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/installations-types": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/@firebase/installations-types/-/installations-types-0.5.3.tgz", - "integrity": "sha512-2FJI7gkLqIE0iYsNQ1P751lO3hER+Umykel+TkLwHj6plzWVxqvfclPUZhcKFVQObqloEBTmpi2Ozn7EkCABAA==", - "peerDependencies": { - "@firebase/app-types": "0.x" - } - }, - "node_modules/@firebase/logger": { - "version": "0.4.4", - "resolved": "https://registry.npmjs.org/@firebase/logger/-/logger-0.4.4.tgz", - "integrity": "sha512-mH0PEh1zoXGnaR8gD1DeGeNZtWFKbnz9hDO91dIml3iou1gpOnLqXQ2dJfB71dj6dpmUjcQ6phY3ZZJbjErr9g==", - "dependencies": { - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@firebase/messaging": { - "version": "0.12.22", - "resolved": "https://registry.npmjs.org/@firebase/messaging/-/messaging-0.12.22.tgz", - "integrity": "sha512-GJcrPLc+Hu7nk+XQ70Okt3M1u1eRr2ZvpMbzbc54oTPJZySHcX9ccZGVFcsZbSZ6o1uqumm8Oc7OFkD3Rn1/og==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/installations": "0.6.18", - "@firebase/messaging-interop-types": "0.2.3", - "@firebase/util": "1.12.1", - "idb": "7.1.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/messaging-compat": { - "version": "0.2.22", - "resolved": "https://registry.npmjs.org/@firebase/messaging-compat/-/messaging-compat-0.2.22.tgz", - "integrity": "sha512-5ZHtRnj6YO6f/QPa/KU6gryjmX4Kg33Kn4gRpNU6M1K47Gm8kcQwPkX7erRUYEH1mIWptfvjvXMHWoZaWjkU7A==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/messaging": "0.12.22", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/messaging-interop-types": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@firebase/messaging-interop-types/-/messaging-interop-types-0.2.3.tgz", - "integrity": "sha512-xfzFaJpzcmtDjycpDeCUj0Ge10ATFi/VHVIvEEjDNc3hodVBQADZ7BWQU7CuFpjSHE+eLuBI13z5F/9xOoGX8Q==" - }, - "node_modules/@firebase/performance": { - "version": "0.7.7", - "resolved": "https://registry.npmjs.org/@firebase/performance/-/performance-0.7.7.tgz", - "integrity": "sha512-JTlTQNZKAd4+Q5sodpw6CN+6NmwbY72av3Lb6wUKTsL7rb3cuBIhQSrslWbVz0SwK3x0ZNcqX24qtRbwKiv+6w==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/installations": "0.6.18", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0", - "web-vitals": "^4.2.4" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/performance-compat": { - "version": "0.2.20", - "resolved": "https://registry.npmjs.org/@firebase/performance-compat/-/performance-compat-0.2.20.tgz", - "integrity": "sha512-XkFK5NmOKCBuqOKWeRgBUFZZGz9SzdTZp4OqeUg+5nyjapTiZ4XoiiUL8z7mB2q+63rPmBl7msv682J3rcDXIQ==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/logger": "0.4.4", - "@firebase/performance": "0.7.7", - "@firebase/performance-types": "0.2.3", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/performance-types": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/@firebase/performance-types/-/performance-types-0.2.3.tgz", - "integrity": "sha512-IgkyTz6QZVPAq8GSkLYJvwSLr3LS9+V6vNPQr0x4YozZJiLF5jYixj0amDtATf1X0EtYHqoPO48a9ija8GocxQ==" - }, - "node_modules/@firebase/remote-config": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/@firebase/remote-config/-/remote-config-0.6.5.tgz", - "integrity": "sha512-fU0c8HY0vrVHwC+zQ/fpXSqHyDMuuuglV94VF6Yonhz8Fg2J+KOowPGANM0SZkLvVOYpTeWp3ZmM+F6NjwWLnw==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/installations": "0.6.18", - "@firebase/logger": "0.4.4", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/remote-config-compat": { - "version": "0.2.18", - "resolved": "https://registry.npmjs.org/@firebase/remote-config-compat/-/remote-config-compat-0.2.18.tgz", - "integrity": "sha512-YiETpldhDy7zUrnS8e+3l7cNs0sL7+tVAxvVYU0lu7O+qLHbmdtAxmgY+wJqWdW2c9nDvBFec7QiF58pEUu0qQ==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/logger": "0.4.4", - "@firebase/remote-config": "0.6.5", - "@firebase/remote-config-types": "0.4.0", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/remote-config-types": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/@firebase/remote-config-types/-/remote-config-types-0.4.0.tgz", - "integrity": "sha512-7p3mRE/ldCNYt8fmWMQ/MSGRmXYlJ15Rvs9Rk17t8p0WwZDbeK7eRmoI1tvCPaDzn9Oqh+yD6Lw+sGLsLg4kKg==" - }, - "node_modules/@firebase/storage": { - "version": "0.13.14", - "resolved": "https://registry.npmjs.org/@firebase/storage/-/storage-0.13.14.tgz", - "integrity": "sha512-xTq5ixxORzx+bfqCpsh+o3fxOsGoDjC1nO0Mq2+KsOcny3l7beyBhP/y1u5T6mgsFQwI1j6oAkbT5cWdDBx87g==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app": "0.x" - } - }, - "node_modules/@firebase/storage-compat": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/@firebase/storage-compat/-/storage-compat-0.3.24.tgz", - "integrity": "sha512-XHn2tLniiP7BFKJaPZ0P8YQXKiVJX+bMyE2j2YWjYfaddqiJnROJYqSomwW6L3Y+gZAga35ONXUJQju6MB6SOQ==", - "dependencies": { - "@firebase/component": "0.6.18", - "@firebase/storage": "0.13.14", - "@firebase/storage-types": "0.8.3", - "@firebase/util": "1.12.1", - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "@firebase/app-compat": "0.x" - } - }, - "node_modules/@firebase/storage-types": { - "version": "0.8.3", - "resolved": "https://registry.npmjs.org/@firebase/storage-types/-/storage-types-0.8.3.tgz", - "integrity": "sha512-+Muk7g9uwngTpd8xn9OdF/D48uiQ7I1Fae7ULsWPuKoCH3HU7bfFPhxtJYzyhjdniowhuDpQcfPmuNRAqZEfvg==", - "peerDependencies": { - "@firebase/app-types": "0.x", - "@firebase/util": "1.x" - } - }, - "node_modules/@firebase/util": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/@firebase/util/-/util-1.12.1.tgz", - "integrity": "sha512-zGlBn/9Dnya5ta9bX/fgEoNC3Cp8s6h+uYPYaDieZsFOAdHP/ExzQ/eaDgxD3GOROdPkLKpvKY0iIzr9adle0w==", - "hasInstallScript": true, - "dependencies": { - "tslib": "^2.1.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/@firebase/webchannel-wrapper": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@firebase/webchannel-wrapper/-/webchannel-wrapper-1.0.3.tgz", - "integrity": "sha512-2xCRM9q9FlzGZCdgDMJwc0gyUkWFtkosy7Xxr6sFgQwn+wMNIWd7xIvYNauU1r64B5L5rsGKy/n9TKJ0aAFeqQ==" - }, - "node_modules/@grpc/grpc-js": { - "version": "1.9.15", - "resolved": "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.9.15.tgz", - "integrity": "sha512-nqE7Hc0AzI+euzUwDAy0aY5hCp10r734gMGRdU+qOPX0XSceI2ULrcXB5U2xSc5VkWwalCj4M7GzCAygZl2KoQ==", - "dependencies": { - "@grpc/proto-loader": "^0.7.8", - "@types/node": ">=12.12.47" - }, - "engines": { - "node": "^8.13.0 || >=10.10.0" - } - }, - "node_modules/@grpc/proto-loader": { - "version": "0.7.15", - "resolved": "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.7.15.tgz", - "integrity": "sha512-tMXdRCfYVixjuFK+Hk0Q1s38gV9zDiDJfWL3h1rv4Qc39oILCu1TRTDt7+fGUI8K4G1Fj125Hx/ru3azECWTyQ==", - "dependencies": { - "lodash.camelcase": "^4.3.0", - "long": "^5.0.0", - "protobufjs": "^7.2.5", - "yargs": "^17.7.2" - }, - "bin": { - "proto-loader-gen-types": "build/bin/proto-loader-gen-types.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@invertase/firebaseui-core": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@invertase/firebaseui-core/-/firebaseui-core-0.0.1.tgz", - "integrity": "sha512-ZoXsh0uEo13dc+GL21+jL4rBu/euZheXcGbPFLXdCgPHKX9vKhf6GkGEKghpuCV9SmEs4q66ZECS81DYW3aLxw==", - "dependencies": { - "@invertase/firebaseui-translations": "0.0.1", - "nanostores": "^0.11.3", - "zod": "^3.24.1" - }, - "peerDependencies": { - "firebase": "^11" - } - }, - "node_modules/@invertase/firebaseui-react": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@invertase/firebaseui-react/-/firebaseui-react-0.0.1.tgz", - "integrity": "sha512-ioFiM2cxZxXDIl5VLIYkray1qajTKEHEN9A+od20s3Qwkzn4LbpLHdOeKm58yct2BJOmIkMxD/Kem2eOpsruag==", - "dependencies": { - "@nanostores/react": "^0.8.4", - "@tanstack/react-form": "^0.41.3", - "clsx": "^2.1.1", - "firebase": "^11.2.0", - "nanostores": "^0.11.3", - "react": "^19.0.0", - "react-dom": "^19.0.0", - "tailwind-merge": "^3.0.1", - "zod": "^3.24.1" - }, - "peerDependencies": { - "@invertase/firebaseui-core": "0.0.1", - "@invertase/firebaseui-styles": "0.0.1" - } - }, - "node_modules/@invertase/firebaseui-styles": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@invertase/firebaseui-styles/-/firebaseui-styles-0.0.1.tgz", - "integrity": "sha512-fgG4W1iN7VdhepxywWDMPqxZLIcD5P9xu2f24bcS2VUawjzg76aQekBWOVw5WsfsYKGiXW0NUyIXm+14WSZNgg==" - }, - "node_modules/@invertase/firebaseui-translations": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@invertase/firebaseui-translations/-/firebaseui-translations-0.0.1.tgz", - "integrity": "sha512-g6N0Ik8l5ydaMZ4vpW3Oa9/rUm6AdbfwG8oqMt985wulRUUfm2n8IQE1wcLNCQjXqySgZwtTMSvQ9aa1uOup1g==" - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@nanostores/react": { - "version": "0.8.4", - "resolved": "https://registry.npmjs.org/@nanostores/react/-/react-0.8.4.tgz", - "integrity": "sha512-EciHSzDXg7GmGODjegGG1VldPEinbAK+12/Uz5+MAdHmxf082Rl6eXqKFxAAu4pZAcr5dNTpv6wMfEe7XacjkQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "peerDependencies": { - "nanostores": "^0.9.0 || ^0.10.0 || ^0.11.0", - "react": ">=18.0.0" - } - }, - "node_modules/@protobufjs/aspromise": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz", - "integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ==" - }, - "node_modules/@protobufjs/base64": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz", - "integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==" - }, - "node_modules/@protobufjs/codegen": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz", - "integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==" - }, - "node_modules/@protobufjs/eventemitter": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz", - "integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q==" - }, - "node_modules/@protobufjs/fetch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz", - "integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==", - "dependencies": { - "@protobufjs/aspromise": "^1.1.1", - "@protobufjs/inquire": "^1.1.0" - } - }, - "node_modules/@protobufjs/float": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz", - "integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ==" - }, - "node_modules/@protobufjs/inquire": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz", - "integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q==" - }, - "node_modules/@protobufjs/path": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz", - "integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA==" - }, - "node_modules/@protobufjs/pool": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz", - "integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw==" - }, - "node_modules/@protobufjs/utf8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz", - "integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw==" - }, - "node_modules/@remix-run/node": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/@remix-run/node/-/node-2.17.1.tgz", - "integrity": "sha512-pHmHTuLE1Lwazulx3gjrHobgBCsa+Xiq8WUO0ruLeDfEw2DU0c0SNSiyNkugu3rIZautroBwRaOoy7CWJL9xhQ==", - "dependencies": { - "@remix-run/server-runtime": "2.17.1", - "@remix-run/web-fetch": "^4.4.2", - "@web3-storage/multipart-parser": "^1.0.0", - "cookie-signature": "^1.1.0", - "source-map-support": "^0.5.21", - "stream-slice": "^0.1.2", - "undici": "^6.21.2" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "typescript": "^5.1.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@remix-run/router": { - "version": "1.23.0", - "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.23.0.tgz", - "integrity": "sha512-O3rHJzAQKamUz1fvE0Qaw0xSFqsA/yafi2iqeE0pvdFtCO1viYx8QL6f3Ln/aCCTLxs68SLf0KPM9eSeM8yBnA==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@remix-run/server-runtime": { - "version": "2.17.1", - "resolved": "https://registry.npmjs.org/@remix-run/server-runtime/-/server-runtime-2.17.1.tgz", - "integrity": "sha512-d1Vp9FxX4KafB111vP2E5C1fmWzPI+gHZ674L1drq+N8Bp9U6FBspi7GAZSU5K5Kxa4T6UF+aE1gK6pVi9R8sw==", - "dependencies": { - "@remix-run/router": "1.23.0", - "@types/cookie": "^0.6.0", - "@web3-storage/multipart-parser": "^1.0.0", - "cookie": "^0.7.2", - "set-cookie-parser": "^2.4.8", - "source-map": "^0.7.3", - "turbo-stream": "2.4.1" - }, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "typescript": "^5.1.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@remix-run/web-blob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@remix-run/web-blob/-/web-blob-3.1.0.tgz", - "integrity": "sha512-owGzFLbqPH9PlKb8KvpNJ0NO74HWE2euAn61eEiyCXX/oteoVzTVSN8mpLgDjaxBf2btj5/nUllSUgpyd6IH6g==", - "dependencies": { - "@remix-run/web-stream": "^1.1.0", - "web-encoding": "1.1.5" - } - }, - "node_modules/@remix-run/web-fetch": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/@remix-run/web-fetch/-/web-fetch-4.4.2.tgz", - "integrity": "sha512-jgKfzA713/4kAW/oZ4bC3MoLWyjModOVDjFPNseVqcJKSafgIscrYL9G50SurEYLswPuoU3HzSbO0jQCMYWHhA==", - "dependencies": { - "@remix-run/web-blob": "^3.1.0", - "@remix-run/web-file": "^3.1.0", - "@remix-run/web-form-data": "^3.1.0", - "@remix-run/web-stream": "^1.1.0", - "@web3-storage/multipart-parser": "^1.0.0", - "abort-controller": "^3.0.0", - "data-uri-to-buffer": "^3.0.1", - "mrmime": "^1.0.0" - }, - "engines": { - "node": "^10.17 || >=12.3" - } - }, - "node_modules/@remix-run/web-file": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@remix-run/web-file/-/web-file-3.1.0.tgz", - "integrity": "sha512-dW2MNGwoiEYhlspOAXFBasmLeYshyAyhIdrlXBi06Duex5tDr3ut2LFKVj7tyHLmn8nnNwFf1BjNbkQpygC2aQ==", - "dependencies": { - "@remix-run/web-blob": "^3.1.0" - } - }, - "node_modules/@remix-run/web-form-data": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@remix-run/web-form-data/-/web-form-data-3.1.0.tgz", - "integrity": "sha512-NdeohLMdrb+pHxMQ/Geuzdp0eqPbea+Ieo8M8Jx2lGC6TBHsgHzYcBvr0LyPdPVycNRDEpWpiDdCOdCryo3f9A==", - "dependencies": { - "web-encoding": "1.1.5" - } - }, - "node_modules/@remix-run/web-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@remix-run/web-stream/-/web-stream-1.1.0.tgz", - "integrity": "sha512-KRJtwrjRV5Bb+pM7zxcTJkhIqWWSy+MYsIxHK+0m5atcznsf15YwUBWHWulZerV2+vvHH1Lp1DD7pw6qKW8SgA==", - "dependencies": { - "web-streams-polyfill": "^3.1.1" - } - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", - "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", - "dev": true - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.52.5.tgz", - "integrity": "sha512-8c1vW4ocv3UOMp9K+gToY5zL2XiiVw3k7f1ksf4yO1FlDFQ1C2u72iACFnSOceJFsWskc2WZNqeRhFRPzv+wtQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.52.5.tgz", - "integrity": "sha512-mQGfsIEFcu21mvqkEKKu2dYmtuSZOBMmAl5CFlPGLY94Vlcm+zWApK7F/eocsNzp8tKmbeBP8yXyAbx0XHsFNA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.52.5.tgz", - "integrity": "sha512-takF3CR71mCAGA+v794QUZ0b6ZSrgJkArC+gUiG6LB6TQty9T0Mqh3m2ImRBOxS2IeYBo4lKWIieSvnEk2OQWA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.52.5.tgz", - "integrity": "sha512-W901Pla8Ya95WpxDn//VF9K9u2JbocwV/v75TE0YIHNTbhqUTv9w4VuQ9MaWlNOkkEfFwkdNhXgcLqPSmHy0fA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.52.5.tgz", - "integrity": "sha512-QofO7i7JycsYOWxe0GFqhLmF6l1TqBswJMvICnRUjqCx8b47MTo46W8AoeQwiokAx3zVryVnxtBMcGcnX12LvA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.52.5.tgz", - "integrity": "sha512-jr21b/99ew8ujZubPo9skbrItHEIE50WdV86cdSoRkKtmWa+DDr6fu2c/xyRT0F/WazZpam6kk7IHBerSL7LDQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.52.5.tgz", - "integrity": "sha512-PsNAbcyv9CcecAUagQefwX8fQn9LQ4nZkpDboBOttmyffnInRy8R8dSg6hxxl2Re5QhHBf6FYIDhIj5v982ATQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.52.5.tgz", - "integrity": "sha512-Fw4tysRutyQc/wwkmcyoqFtJhh0u31K+Q6jYjeicsGJJ7bbEq8LwPWV/w0cnzOqR2m694/Af6hpFayLJZkG2VQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.52.5.tgz", - "integrity": "sha512-a+3wVnAYdQClOTlyapKmyI6BLPAFYs0JM8HRpgYZQO02rMR09ZcV9LbQB+NL6sljzG38869YqThrRnfPMCDtZg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.52.5.tgz", - "integrity": "sha512-AvttBOMwO9Pcuuf7m9PkC1PUIKsfaAJ4AYhy944qeTJgQOqJYJ9oVl2nYgY7Rk0mkbsuOpCAYSs6wLYB2Xiw0Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.52.5.tgz", - "integrity": "sha512-DkDk8pmXQV2wVrF6oq5tONK6UHLz/XcEVow4JTTerdeV1uqPeHxwcg7aFsfnSm9L+OO8WJsWotKM2JJPMWrQtA==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.52.5.tgz", - "integrity": "sha512-W/b9ZN/U9+hPQVvlGwjzi+Wy4xdoH2I8EjaCkMvzpI7wJUs8sWJ03Rq96jRnHkSrcHTpQe8h5Tg3ZzUPGauvAw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.52.5.tgz", - "integrity": "sha512-sjQLr9BW7R/ZiXnQiWPkErNfLMkkWIoCz7YMn27HldKsADEKa5WYdobaa1hmN6slu9oWQbB6/jFpJ+P2IkVrmw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.52.5.tgz", - "integrity": "sha512-hq3jU/kGyjXWTvAh2awn8oHroCbrPm8JqM7RUpKjalIRWWXE01CQOf/tUNWNHjmbMHg/hmNCwc/Pz3k1T/j/Lg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.52.5.tgz", - "integrity": "sha512-gn8kHOrku8D4NGHMK1Y7NA7INQTRdVOntt1OCYypZPRt6skGbddska44K8iocdpxHTMMNui5oH4elPH4QOLrFQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.52.5.tgz", - "integrity": "sha512-hXGLYpdhiNElzN770+H2nlx+jRog8TyynpTVzdlc6bndktjKWyZyiCsuDAlpd+j+W+WNqfcyAWz9HxxIGfZm1Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.52.5.tgz", - "integrity": "sha512-arCGIcuNKjBoKAXD+y7XomR9gY6Mw7HnFBv5Rw7wQRvwYLR7gBAgV7Mb2QTyjXfTveBNFAtPt46/36vV9STLNg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.52.5.tgz", - "integrity": "sha512-QoFqB6+/9Rly/RiPjaomPLmR/13cgkIGfA40LHly9zcH1S0bN2HVFYk3a1eAyHQyjs3ZJYlXvIGtcCs5tko9Cw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.52.5.tgz", - "integrity": "sha512-w0cDWVR6MlTstla1cIfOGyl8+qb93FlAVutcor14Gf5Md5ap5ySfQ7R9S/NjNaMLSFdUnKGEasmVnu3lCMqB7w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.52.5.tgz", - "integrity": "sha512-Aufdpzp7DpOTULJCuvzqcItSGDH73pF3ko/f+ckJhxQyHtp67rHw3HMNxoIdDMUITJESNE6a8uh4Lo4SLouOUg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.52.5.tgz", - "integrity": "sha512-UGBUGPFp1vkj6p8wCRraqNhqwX/4kNQPS57BCFc8wYh0g94iVIW33wJtQAx3G7vrjjNtRaxiMUylM0ktp/TRSQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.52.5.tgz", - "integrity": "sha512-TAcgQh2sSkykPRWLrdyy2AiceMckNf5loITqXxFI5VuQjS5tSuw3WlwdN8qv8vzjLAUTvYaH/mVjSFpbkFbpTg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@tailwindcss/node": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.16.tgz", - "integrity": "sha512-BX5iaSsloNuvKNHRN3k2RcCuTEgASTo77mofW0vmeHkfrDWaoFAFvNHpEgtu0eqyypcyiBkDWzSMxJhp3AUVcw==", - "dev": true, - "dependencies": { - "@jridgewell/remapping": "^2.3.4", - "enhanced-resolve": "^5.18.3", - "jiti": "^2.6.1", - "lightningcss": "1.30.2", - "magic-string": "^0.30.19", - "source-map-js": "^1.2.1", - "tailwindcss": "4.1.16" - } - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.16.tgz", - "integrity": "sha512-2OSv52FRuhdlgyOQqgtQHuCgXnS8nFSYRp2tJ+4WZXKgTxqPy7SMSls8c3mPT5pkZ17SBToGM5LHEJBO7miEdg==", - "dev": true, - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.1.16", - "@tailwindcss/oxide-darwin-arm64": "4.1.16", - "@tailwindcss/oxide-darwin-x64": "4.1.16", - "@tailwindcss/oxide-freebsd-x64": "4.1.16", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.16", - "@tailwindcss/oxide-linux-arm64-gnu": "4.1.16", - "@tailwindcss/oxide-linux-arm64-musl": "4.1.16", - "@tailwindcss/oxide-linux-x64-gnu": "4.1.16", - "@tailwindcss/oxide-linux-x64-musl": "4.1.16", - "@tailwindcss/oxide-wasm32-wasi": "4.1.16", - "@tailwindcss/oxide-win32-arm64-msvc": "4.1.16", - "@tailwindcss/oxide-win32-x64-msvc": "4.1.16" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.16.tgz", - "integrity": "sha512-8+ctzkjHgwDJ5caq9IqRSgsP70xhdhJvm+oueS/yhD5ixLhqTw9fSL1OurzMUhBwE5zK26FXLCz2f/RtkISqHA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.16.tgz", - "integrity": "sha512-C3oZy5042v2FOALBZtY0JTDnGNdS6w7DxL/odvSny17ORUnaRKhyTse8xYi3yKGyfnTUOdavRCdmc8QqJYwFKA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.16.tgz", - "integrity": "sha512-vjrl/1Ub9+JwU6BP0emgipGjowzYZMjbWCDqwA2Z4vCa+HBSpP4v6U2ddejcHsolsYxwL5r4bPNoamlV0xDdLg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.16.tgz", - "integrity": "sha512-TSMpPYpQLm+aR1wW5rKuUuEruc/oOX3C7H0BTnPDn7W/eMw8W+MRMpiypKMkXZfwH8wqPIRKppuZoedTtNj2tg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.16.tgz", - "integrity": "sha512-p0GGfRg/w0sdsFKBjMYvvKIiKy/LNWLWgV/plR4lUgrsxFAoQBFrXkZ4C0w8IOXfslB9vHK/JGASWD2IefIpvw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.16.tgz", - "integrity": "sha512-DoixyMmTNO19rwRPdqviTrG1rYzpxgyYJl8RgQvdAQUzxC1ToLRqtNJpU/ATURSKgIg6uerPw2feW0aS8SNr/w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.16.tgz", - "integrity": "sha512-H81UXMa9hJhWhaAUca6bU2wm5RRFpuHImrwXBUvPbYb+3jo32I9VIwpOX6hms0fPmA6f2pGVlybO6qU8pF4fzQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.16.tgz", - "integrity": "sha512-ZGHQxDtFC2/ruo7t99Qo2TTIvOERULPl5l0K1g0oK6b5PGqjYMga+FcY1wIUnrUxY56h28FxybtDEla+ICOyew==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.16.tgz", - "integrity": "sha512-Oi1tAaa0rcKf1Og9MzKeINZzMLPbhxvm7rno5/zuP1WYmpiG0bEHq4AcRUiG2165/WUzvxkW4XDYCscZWbTLZw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.16.tgz", - "integrity": "sha512-B01u/b8LteGRwucIBmCQ07FVXLzImWESAIMcUU6nvFt/tYsQ6IHz8DmZ5KtvmwxD+iTYBtM1xwoGXswnlu9v0Q==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "dev": true, - "optional": true, - "dependencies": { - "@emnapi/core": "^1.5.0", - "@emnapi/runtime": "^1.5.0", - "@emnapi/wasi-threads": "^1.1.0", - "@napi-rs/wasm-runtime": "^1.0.7", - "@tybys/wasm-util": "^0.10.1", - "tslib": "^2.4.0" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.16.tgz", - "integrity": "sha512-zX+Q8sSkGj6HKRTMJXuPvOcP8XfYON24zJBRPlszcH1Np7xuHXhWn8qfFjIujVzvH3BHU+16jBXwgpl20i+v9A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.16.tgz", - "integrity": "sha512-m5dDFJUEejbFqP+UXVstd4W/wnxA4F61q8SoL+mqTypId2T2ZpuxosNSgowiCnLp2+Z+rivdU0AqpfgiD7yCBg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tailwindcss/vite": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.16.tgz", - "integrity": "sha512-bbguNBcDxsRmi9nnlWJxhfDWamY3lmcyACHcdO1crxfzuLpOhHLLtEIN/nCbbAtj5rchUgQD17QVAKi1f7IsKg==", - "dev": true, - "dependencies": { - "@tailwindcss/node": "4.1.16", - "@tailwindcss/oxide": "4.1.16", - "tailwindcss": "4.1.16" - }, - "peerDependencies": { - "vite": "^5.2.0 || ^6 || ^7" - } - }, - "node_modules/@tanstack/form-core": { - "version": "0.41.4", - "resolved": "https://registry.npmjs.org/@tanstack/form-core/-/form-core-0.41.4.tgz", - "integrity": "sha512-XZJtN7mWJmi3apsc2J+GpWbcsXbv0pWBkZKP47ZW1QD/2Tj1UWsM6JjcaAkzIlrBdaoEFYmrHToLKr/Ddk8BVg==", - "dependencies": { - "@tanstack/store": "^0.7.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@tanstack/react-form": { - "version": "0.41.4", - "resolved": "https://registry.npmjs.org/@tanstack/react-form/-/react-form-0.41.4.tgz", - "integrity": "sha512-uIfIDZJNqR1dLW03TNByK/woyKd2jfXIrEBq6DPJbqupqyfYXTDo5TMd/7koTYLO4dgTM5wd+2v3uBX3M2bRaA==", - "dependencies": { - "@remix-run/node": "^2.15.0", - "@tanstack/form-core": "0.41.4", - "@tanstack/react-store": "^0.7.0", - "decode-formdata": "^0.8.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "@tanstack/start": "^1.43.13", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@tanstack/start": { - "optional": true - } - } - }, - "node_modules/@tanstack/react-store": { - "version": "0.7.7", - "resolved": "https://registry.npmjs.org/@tanstack/react-store/-/react-store-0.7.7.tgz", - "integrity": "sha512-qqT0ufegFRDGSof9D/VqaZgjNgp4tRPHZIJq2+QIHkMUtHjaJ0lYrrXjeIUJvjnTbgPfSD1XgOMEt0lmANn6Zg==", - "dependencies": { - "@tanstack/store": "0.7.7", - "use-sync-external-store": "^1.5.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" - } - }, - "node_modules/@tanstack/store": { - "version": "0.7.7", - "resolved": "https://registry.npmjs.org/@tanstack/store/-/store-0.7.7.tgz", - "integrity": "sha512-xa6pTan1bcaqYDS9BDpSiS63qa6EoDkPN9RsRaxHuDdVDNntzq3xNwR5YKTU/V3SkSyC9T4YVOPh2zRQN0nhIQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/tannerlinsley" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.28.2" - } - }, - "node_modules/@types/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "24.9.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.9.1.tgz", - "integrity": "sha512-QoiaXANRkSXK6p0Duvt56W208du4P9Uye9hWLWgGMDTEoKPhuenzNcC4vGUmrNkiOKTlIrBoyNQYNpSwfEZXSg==", - "dependencies": { - "undici-types": "~7.16.0" - } - }, - "node_modules/@types/react": { - "version": "19.2.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.2.tgz", - "integrity": "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA==", - "dev": true, - "dependencies": { - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.2.2", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.2.tgz", - "integrity": "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw==", - "dev": true, - "peerDependencies": { - "@types/react": "^19.2.0" - } - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", - "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.28.0", - "@babel/plugin-transform-react-jsx-self": "^7.27.1", - "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-beta.27", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.17.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" - } - }, - "node_modules/@web3-storage/multipart-parser": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@web3-storage/multipart-parser/-/multipart-parser-1.0.0.tgz", - "integrity": "sha512-BEO6al7BYqcnfX15W2cnGR+Q566ACXAT9UQykORCWW80lmkpWsnEob6zJS1ZVBKsSJC8+7vJkHwlp+lXG1UCdw==" - }, - "node_modules/@zxing/text-encoding": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@zxing/text-encoding/-/text-encoding-0.9.0.tgz", - "integrity": "sha512-U/4aVJ2mxI0aDNI8Uq0wEhMgY+u4CNtEb0om3+y3+niDAsoTCOB33UF0sxpzqzdqXLqmvc+vZyAt4O8pPdfkwA==", - "optional": true - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": 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" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "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/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true - }, - "node_modules/baseline-browser-mapping": { - "version": "2.8.20", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.8.20.tgz", - "integrity": "sha512-JMWsdF+O8Orq3EMukbUN1QfbLK9mX2CkUmQBcW2T0s8OmdAUL5LLM/6wFwSrqXzlXB13yhyK9gTKS1rIizOduQ==", - "dev": true, - "bin": { - "baseline-browser-mapping": "dist/cli.js" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/browserslist": { - "version": "4.27.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.27.0.tgz", - "integrity": "sha512-AXVQwdhot1eqLihwasPElhX2tAZiBjWdJ9i/Zcj2S6QYIjkx62OKSfnobkriB81C3l4w0rVy3Nt4jaTBltYEpw==", - "dev": true, - "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": { - "baseline-browser-mapping": "^2.8.19", - "caniuse-lite": "^1.0.30001751", - "electron-to-chromium": "^1.5.238", - "node-releases": "^2.0.26", - "update-browserslist-db": "^1.1.4" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/call-bind-apply-helpers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", - "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/call-bound": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", - "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "get-intrinsic": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001751", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001751.tgz", - "integrity": "sha512-A0QJhug0Ly64Ii3eIqHu5X51ebln3k4yTUkY1j8drqpWHVreg/VLijN48cZ1bYPiqOQuqpkIKnzr/Ul8V+p6Cw==", - "dev": true, - "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/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/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==", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "engines": { - "node": ">=6" - } - }, - "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/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/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", - "engines": { - "node": ">=6.6.0" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true - }, - "node_modules/data-uri-to-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz", - "integrity": "sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==", - "engines": { - "node": ">= 6" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decode-formdata": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/decode-formdata/-/decode-formdata-0.8.0.tgz", - "integrity": "sha512-iUzDgnWsw5ToSkFY7VPFA5Gfph6ROoOxOB7Ybna4miUSzLZ4KaSJk6IAB2AdW6+C9vCVWhjjNA4gjT6wF3eZHQ==" - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "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": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/dunder-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", - "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.1", - "es-errors": "^1.3.0", - "gopd": "^1.2.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.239", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.239.tgz", - "integrity": "sha512-1y5w0Zsq39MSPmEjHjbizvhYoTaulVtivpxkp5q5kaPmQtsK6/2nvAzGRxNMS9DoYySp9PkW0MAQDwU1m764mg==", - "dev": true - }, - "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/enhanced-resolve": { - "version": "5.18.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", - "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/es-define-property": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", - "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-errors": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", - "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/esbuild": { - "version": "0.25.11", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.11.tgz", - "integrity": "sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.11", - "@esbuild/android-arm": "0.25.11", - "@esbuild/android-arm64": "0.25.11", - "@esbuild/android-x64": "0.25.11", - "@esbuild/darwin-arm64": "0.25.11", - "@esbuild/darwin-x64": "0.25.11", - "@esbuild/freebsd-arm64": "0.25.11", - "@esbuild/freebsd-x64": "0.25.11", - "@esbuild/linux-arm": "0.25.11", - "@esbuild/linux-arm64": "0.25.11", - "@esbuild/linux-ia32": "0.25.11", - "@esbuild/linux-loong64": "0.25.11", - "@esbuild/linux-mips64el": "0.25.11", - "@esbuild/linux-ppc64": "0.25.11", - "@esbuild/linux-riscv64": "0.25.11", - "@esbuild/linux-s390x": "0.25.11", - "@esbuild/linux-x64": "0.25.11", - "@esbuild/netbsd-arm64": "0.25.11", - "@esbuild/netbsd-x64": "0.25.11", - "@esbuild/openbsd-arm64": "0.25.11", - "@esbuild/openbsd-x64": "0.25.11", - "@esbuild/openharmony-arm64": "0.25.11", - "@esbuild/sunos-x64": "0.25.11", - "@esbuild/win32-arm64": "0.25.11", - "@esbuild/win32-ia32": "0.25.11", - "@esbuild/win32-x64": "0.25.11" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-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" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.38.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.38.0.tgz", - "integrity": "sha512-t5aPOpmtJcZcz5UJyY2GbvpDlsK5E8JqRqoKtfiKE3cNh437KIqfJr3A3AKf5k64NPx6d0G3dno6XDY05PqPtw==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.1", - "@eslint/core": "^0.16.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.38.0", - "@eslint/plugin-kit": "^0.4.0", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", - "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.24.tgz", - "integrity": "sha512-nLHIW7TEq3aLrEYWpVaJ1dRgFR+wLDPN8e8FpYAql/bMV2oBEfC37K0gLEGgv9fy66juNShSMV8OkTqzltcG/w==", - "dev": true, - "peerDependencies": { - "eslint": ">=8.40" - } - }, - "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", - "dev": true, - "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/firebase": { - "version": "11.10.0", - "resolved": "https://registry.npmjs.org/firebase/-/firebase-11.10.0.tgz", - "integrity": "sha512-nKBXoDzF0DrXTBQJlZa+sbC5By99ysYU1D6PkMRYknm0nCW7rJly47q492Ht7Ndz5MeYSBuboKuhS1e6mFC03w==", - "dependencies": { - "@firebase/ai": "1.4.1", - "@firebase/analytics": "0.10.17", - "@firebase/analytics-compat": "0.2.23", - "@firebase/app": "0.13.2", - "@firebase/app-check": "0.10.1", - "@firebase/app-check-compat": "0.3.26", - "@firebase/app-compat": "0.4.2", - "@firebase/app-types": "0.9.3", - "@firebase/auth": "1.10.8", - "@firebase/auth-compat": "0.5.28", - "@firebase/data-connect": "0.3.10", - "@firebase/database": "1.0.20", - "@firebase/database-compat": "2.0.11", - "@firebase/firestore": "4.8.0", - "@firebase/firestore-compat": "0.3.53", - "@firebase/functions": "0.12.9", - "@firebase/functions-compat": "0.3.26", - "@firebase/installations": "0.6.18", - "@firebase/installations-compat": "0.2.18", - "@firebase/messaging": "0.12.22", - "@firebase/messaging-compat": "0.2.22", - "@firebase/performance": "0.7.7", - "@firebase/performance-compat": "0.2.20", - "@firebase/remote-config": "0.6.5", - "@firebase/remote-config-compat": "0.2.18", - "@firebase/storage": "0.13.14", - "@firebase/storage-compat": "0.3.24", - "@firebase/util": "1.12.1" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", - "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/generator-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", - "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", - "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", - "dependencies": { - "call-bind-apply-helpers": "^1.0.2", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "function-bind": "^1.1.2", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-proto": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", - "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", - "dependencies": { - "dunder-proto": "^1.0.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", - "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", - "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true - }, - "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/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": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", - "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", - "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.10.tgz", - "integrity": "sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==" - }, - "node_modules/idb": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/idb/-/idb-7.1.1.tgz", - "integrity": "sha512-gchesWBzyvGHRO9W8tzUWFDycow5gwjvFKfyV9FF32Y7F50yZMp7mP+T2mJIWFx49zicqyC4uefHM17o6xKIVQ==" - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "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/is-arguments": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.2.0.tgz", - "integrity": "sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==", - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", - "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", - "dependencies": { - "call-bound": "^1.0.4", - "generator-function": "^2.0.0", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/jiti": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz", - "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", - "dev": true, - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lightningcss": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz", - "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==", - "dev": true, - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-android-arm64": "1.30.2", - "lightningcss-darwin-arm64": "1.30.2", - "lightningcss-darwin-x64": "1.30.2", - "lightningcss-freebsd-x64": "1.30.2", - "lightningcss-linux-arm-gnueabihf": "1.30.2", - "lightningcss-linux-arm64-gnu": "1.30.2", - "lightningcss-linux-arm64-musl": "1.30.2", - "lightningcss-linux-x64-gnu": "1.30.2", - "lightningcss-linux-x64-musl": "1.30.2", - "lightningcss-win32-arm64-msvc": "1.30.2", - "lightningcss-win32-x64-msvc": "1.30.2" - } - }, - "node_modules/lightningcss-android-arm64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz", - "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz", - "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz", - "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz", - "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz", - "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz", - "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz", - "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz", - "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz", - "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz", - "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.30.2", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz", - "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.camelcase": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", - "integrity": "sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/long": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz", - "integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==" - }, - "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==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/magic-string": { - "version": "0.30.19", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.19.tgz", - "integrity": "sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/math-intrinsics": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", - "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/mrmime": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", - "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/nanostores": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/nanostores/-/nanostores-0.11.4.tgz", - "integrity": "sha512-k1oiVNN4hDK8NcNERSZLQiMfRzEGtfnvZvdBvey3SQbgn8Dcrk0h1I6vpxApjb10PFUflZrgJ2WEZyJQ+5v7YQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "engines": { - "node": "^18.0.0 || >=20.0.0" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.26", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.26.tgz", - "integrity": "sha512-S2M9YimhSjBSvYnlr5/+umAnPHE++ODwt5e2Ij6FoX45HA/s4vHdkDx1eax2pAPeAOqu4s9b7ppahsyEFdVqQA==", - "dev": true - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true - }, - "node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", - "dev": true, - "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.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/protobufjs": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.5.4.tgz", - "integrity": "sha512-CvexbZtbov6jW2eXAvLukXjXUW1TzFaivC46BpWc/3BpcCysb5Vffu+B3XHMm8lVEuy2Mm4XGex8hBSg1yapPg==", - "hasInstallScript": true, - "dependencies": { - "@protobufjs/aspromise": "^1.1.2", - "@protobufjs/base64": "^1.1.2", - "@protobufjs/codegen": "^2.0.4", - "@protobufjs/eventemitter": "^1.1.0", - "@protobufjs/fetch": "^1.1.0", - "@protobufjs/float": "^1.0.2", - "@protobufjs/inquire": "^1.1.0", - "@protobufjs/path": "^1.1.2", - "@protobufjs/pool": "^1.1.0", - "@protobufjs/utf8": "^1.1.0", - "@types/node": ">=13.7.0", - "long": "^5.0.0" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/react": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.0.tgz", - "integrity": "sha512-tmbWg6W31tQLeB5cdIBOicJDJRR2KzXsV7uSK9iNfLWQ5bIZfxuPEHp7M8wiHyHnn0DD1i7w3Zmin0FtkrwoCQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "19.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.0.tgz", - "integrity": "sha512-UlbRu4cAiGaIewkPyiRGJk0imDN2T3JjieT6spoL2UeSf5od4n5LB/mQ4ejmxhCFT1tYe8IvaFulzynWovsEFQ==", - "dependencies": { - "scheduler": "^0.27.0" - }, - "peerDependencies": { - "react": "^19.2.0" - } - }, - "node_modules/react-refresh": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", - "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-router": { - "version": "7.9.4", - "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.9.4.tgz", - "integrity": "sha512-SD3G8HKviFHg9xj7dNODUKDFgpG4xqD5nhyd0mYoB5iISepuZAvzSr8ywxgxKJ52yRzf/HWtVHc9AWwoTbljvA==", - "dependencies": { - "cookie": "^1.0.1", - "set-cookie-parser": "^2.6.0" - }, - "engines": { - "node": ">=20.0.0" - }, - "peerDependencies": { - "react": ">=18", - "react-dom": ">=18" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - } - } - }, - "node_modules/react-router/node_modules/cookie": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", - "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", - "engines": { - "node": ">=18" - } - }, - "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" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/rollup": { - "version": "4.52.5", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.52.5.tgz", - "integrity": "sha512-3GuObel8h7Kqdjt0gxkEzaifHTqLVW56Y/bjN7PSQtkKr0w3V/QYSdt6QWYtd7A1xUtYQigtdUfgj1RvWVtorw==", - "dev": true, - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.52.5", - "@rollup/rollup-android-arm64": "4.52.5", - "@rollup/rollup-darwin-arm64": "4.52.5", - "@rollup/rollup-darwin-x64": "4.52.5", - "@rollup/rollup-freebsd-arm64": "4.52.5", - "@rollup/rollup-freebsd-x64": "4.52.5", - "@rollup/rollup-linux-arm-gnueabihf": "4.52.5", - "@rollup/rollup-linux-arm-musleabihf": "4.52.5", - "@rollup/rollup-linux-arm64-gnu": "4.52.5", - "@rollup/rollup-linux-arm64-musl": "4.52.5", - "@rollup/rollup-linux-loong64-gnu": "4.52.5", - "@rollup/rollup-linux-ppc64-gnu": "4.52.5", - "@rollup/rollup-linux-riscv64-gnu": "4.52.5", - "@rollup/rollup-linux-riscv64-musl": "4.52.5", - "@rollup/rollup-linux-s390x-gnu": "4.52.5", - "@rollup/rollup-linux-x64-gnu": "4.52.5", - "@rollup/rollup-linux-x64-musl": "4.52.5", - "@rollup/rollup-openharmony-arm64": "4.52.5", - "@rollup/rollup-win32-arm64-msvc": "4.52.5", - "@rollup/rollup-win32-ia32-msvc": "4.52.5", - "@rollup/rollup-win32-x64-gnu": "4.52.5", - "@rollup/rollup-win32-x64-msvc": "4.52.5", - "fsevents": "~2.3.2" - } - }, - "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.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/set-cookie-parser": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", - "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==" - }, - "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/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.7.6", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", - "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", - "engines": { - "node": ">= 12" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/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/stream-slice": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/stream-slice/-/stream-slice-0.1.2.tgz", - "integrity": "sha512-QzQxpoacatkreL6jsxnVb7X5R/pGw9OUv2qWTYWnmLpg4NdN31snPy/f3TdQE1ZUXaThRvj1Zw4/OGg0ZkaLMA==" - }, - "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/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-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tailwind-merge": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.3.1.tgz", - "integrity": "sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } - }, - "node_modules/tailwindcss": { - "version": "4.1.16", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.16.tgz", - "integrity": "sha512-pONL5awpaQX4LN5eiv7moSiSPd/DLDzKVRJz8Q9PgzmAdd1R4307GQS2ZpfiN7ZmekdQrfhZZiSE5jkLR4WNaA==", - "dev": true - }, - "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" - }, - "node_modules/turbo-stream": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.1.tgz", - "integrity": "sha512-v8kOJXpG3WoTN/+at8vK7erSzo6nW6CIaeOvNOkHQVDajfz1ZVeSxCbc6tOH4hrGZW7VUCV0TOXd8CPzYnYkrw==" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/undici": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.22.0.tgz", - "integrity": "sha512-hU/10obOIu62MGYjdskASR3CUAiYaFTtC9Pa6vHyf//mAipSvSQg6od2CnJswq7fvzNS3zJhxoRkgNVaHurWKw==", - "engines": { - "node": ">=18.17" - } - }, - "node_modules/undici-types": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.16.0.tgz", - "integrity": "sha512-Zz+aZWSj8LE6zoxD+xrjh4VfkIG8Ya6LvYkZqtUQGJPZjYl53ypCaUwWqo7eI0x66KBGeRo+mlBEkMSeSZ38Nw==" - }, - "node_modules/update-browserslist-db": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.4.tgz", - "integrity": "sha512-q0SPT4xyU84saUX+tomz1WLkxUbuaJnR1xWt17M7fJtEJigJeWUNGUqrauFXsHnqev9y9JTRGwk13tFBuKby4A==", - "dev": true, - "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.2.0", - "picocolors": "^1.1.1" - }, - "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==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/use-sync-external-store": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.6.0.tgz", - "integrity": "sha512-Pp6GSwGP/NrPIrxVFAIkOQeyw8lFenOHijQWkUTrDvrF4ALqylP2C/KCkeS9dpUM3KvYRQhna5vt7IL95+ZQ9w==", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.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==", - "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/vite": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.1.tgz", - "integrity": "sha512-+Oxm7q9hDoLMyJOYfUYBuHQo+dkAloi33apOPP56pzj+vsdJDzr+j1NISE5pyaAuKL4A3UD34qd0lx5+kfKp2g==", - "dev": true, - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/web-encoding": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/web-encoding/-/web-encoding-1.1.5.tgz", - "integrity": "sha512-HYLeVCdJ0+lBYV2FvNZmv3HJ2Nt0QYXqZojk3d9FJOLkwnuhzM9tmamh8d7HPM8QqjKH8DeHkFTx+CFlWpZZDA==", - "dependencies": { - "util": "^0.12.3" - }, - "optionalDependencies": { - "@zxing/text-encoding": "0.9.0" - } - }, - "node_modules/web-streams-polyfill": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", - "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", - "engines": { - "node": ">= 8" - } - }, - "node_modules/web-vitals": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-4.2.4.tgz", - "integrity": "sha512-r4DIlprAGwJ7YM11VZp4R884m0Vmgr6EAKe3P+kO0PPj3Unqyvv59rczf6UiGcb9Z8QxZVcqKNwv/g0WNdWwsw==" - }, - "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/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.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/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==", - "dev": true - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/yargs-parser": { - "version": "21.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", - "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "3.25.76", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", - "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - } - } -} diff --git a/examples/react/package.json b/examples/react/package.json index 83f01fb4..97511c05 100644 --- a/examples/react/package.json +++ b/examples/react/package.json @@ -11,8 +11,10 @@ "deploy": "pnpm run build && firebase deploy --only hosting:fir-ui-2025-react" }, "dependencies": { - "@invertase/firebaseui-react": "0.0.3", - "@invertase/firebaseui-core": "0.0.3", + "@invertase/firebaseui-react": "0.0.4", + "@invertase/firebaseui-core": "0.0.4", + "@invertase/firebaseui-styles": "0.0.9", + "@invertase/firebaseui-translations": "0.0.4", "firebase": "^11.6.0", "react": "catalog:", "react-dom": "catalog:", diff --git a/examples/shadcn/.firebaserc b/examples/shadcn/.firebaserc new file mode 100644 index 00000000..855f8283 --- /dev/null +++ b/examples/shadcn/.firebaserc @@ -0,0 +1,5 @@ +{ + "projects": { + "default": "fir-ui-2025" + } +} diff --git a/examples/shadcn/firebase.json b/examples/shadcn/firebase.json new file mode 100644 index 00000000..b89a6f38 --- /dev/null +++ b/examples/shadcn/firebase.json @@ -0,0 +1,13 @@ +{ + "hosting": { + "site": "fir-ui-shadcn", + "public": "dist", + "ignore": ["firebase.json", "**/.*", "**/node_modules/**"], + "rewrites": [ + { + "source": "**", + "destination": "/index.html" + } + ] + } +} diff --git a/examples/shadcn/package.json b/examples/shadcn/package.json index d383600f..bdd178b0 100644 --- a/examples/shadcn/package.json +++ b/examples/shadcn/package.json @@ -5,12 +5,16 @@ "type": "module", "scripts": { "dev": "vite", + "build": "vite build", + "lint": "eslint .", + "preview": "vite preview", + "deploy": "pnpm run build && firebase deploy --only hosting:fir-ui-shadcn", "shadcn:add-all": "tsx add-all.ts" }, "dependencies": { - "@invertase/firebaseui-core": "0.0.3", - "@invertase/firebaseui-react": "0.0.3", - "@invertase/firebaseui-styles": "0.0.7", + "@invertase/firebaseui-react": "0.0.4", + "@invertase/firebaseui-core": "0.0.4", + "@invertase/firebaseui-styles": "0.0.9", "@invertase/firebaseui-translations": "0.0.4", "@hookform/resolvers": "^5.2.2", "@radix-ui/react-accordion": "^1.2.12", diff --git a/examples/shadcn/src/firebase/config.ts b/examples/shadcn/src/firebase/config.ts index ef4305c0..2d20a8ab 100644 --- a/examples/shadcn/src/firebase/config.ts +++ b/examples/shadcn/src/firebase/config.ts @@ -14,4 +14,11 @@ * limitations under the License. */ -export const firebaseConfig = {}; +export const firebaseConfig = { + apiKey: "AIzaSyA7xdkFMs7iUC6XWFYjjSxf_XbVV4F1mX4", + authDomain: "fir-ui-2025.firebaseapp.com", + projectId: "fir-ui-2025", + storageBucket: "fir-ui-2025.firebasestorage.app", + messagingSenderId: "616577669988", + appId: "1:616577669988:web:7e67401f952fa9288df871", +}; diff --git a/examples/shadcn/src/firebase/firebase.ts b/examples/shadcn/src/firebase/firebase.ts index 362c468c..ddfc3b2c 100644 --- a/examples/shadcn/src/firebase/firebase.ts +++ b/examples/shadcn/src/firebase/firebase.ts @@ -16,10 +16,10 @@ "use client"; -import { initializeApp, getApps } from "firebase/app"; -import { firebaseConfig } from "./config"; +import { countryCodes, initializeUI, oneTapSignIn } from "@invertase/firebaseui-core"; +import { getApps, initializeApp } from "firebase/app"; import { connectAuthEmulator, getAuth } from "firebase/auth"; -import { autoAnonymousLogin, initializeUI, oneTapSignIn, countryCodes } from "@invertase/firebaseui-core"; +import { firebaseConfig } from "./config"; export const firebaseApp = getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0]; @@ -28,9 +28,9 @@ export const auth = getAuth(firebaseApp); export const ui = initializeUI({ app: firebaseApp, behaviors: [ - autoAnonymousLogin(), + // autoAnonymousLogin(), oneTapSignIn({ - clientId: "200312857118-lscdui98fkaq7ffr81446blafjn5o6r0.apps.googleusercontent.com", + clientId: "616577669988-led6l3rqek9ckn9t1unj4l8l67070fhp.apps.googleusercontent.com", }), countryCodes({ allowedCountries: ["US", "CA", "GB"], diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4ec8b919..b015b4a0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -335,11 +335,17 @@ importers: examples/react: dependencies: '@invertase/firebaseui-core': - specifier: 0.0.3 - version: 0.0.3(firebase@11.10.0) + specifier: 0.0.4 + version: 0.0.4(firebase@11.10.0) '@invertase/firebaseui-react': - specifier: 0.0.3 - version: 0.0.3(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3) + specifier: 0.0.4 + version: 0.0.4(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3) + '@invertase/firebaseui-styles': + specifier: 0.0.9 + version: 0.0.9(typescript@5.9.3) + '@invertase/firebaseui-translations': + specifier: 0.0.4 + version: 0.0.4 firebase: specifier: ^11.6.0 version: 11.10.0 @@ -396,14 +402,14 @@ importers: specifier: ^5.2.2 version: 5.2.2(react-hook-form@7.65.0(react@19.1.1)) '@invertase/firebaseui-core': - specifier: 0.0.3 - version: 0.0.3(firebase@11.10.0) + specifier: 0.0.4 + version: 0.0.4(firebase@11.10.0) '@invertase/firebaseui-react': - specifier: 0.0.3 - version: 0.0.3(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3) + specifier: 0.0.4 + version: 0.0.4(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3) '@invertase/firebaseui-styles': - specifier: 0.0.7 - version: 0.0.7(typescript@5.9.3) + specifier: 0.0.9 + version: 0.0.9(typescript@5.9.3) '@invertase/firebaseui-translations': specifier: 0.0.4 version: 0.0.4 @@ -2878,6 +2884,11 @@ packages: peerDependencies: firebase: ^11 || ^12 + '@invertase/firebaseui-core@0.0.4': + resolution: {integrity: sha512-s8o0AcbjoLciaHFCz0mBCgf7fxlWj40GTw4SZYnlNJzJoMZwNh1XGtFW++zq1Gied/y0QNszIBh3KVaVrYuviQ==} + peerDependencies: + firebase: ^11 || ^12 + '@invertase/firebaseui-react@0.0.3': resolution: {integrity: sha512-8+nolJQtF+T/n4a3VD8Jo0G/E3Q7xA+23BznCaqLFzV/itSm9u3FunER+kfO1mxwCx6Vwi+uEmnqrCD9Oxb4AQ==} peerDependencies: @@ -2885,12 +2896,22 @@ packages: react: ^19 react-dom: ^19 + '@invertase/firebaseui-react@0.0.4': + resolution: {integrity: sha512-wMUmgqtnBpsv/9sXJ2fQyql0vLFmIs2L25U8UV4yZoivT8vOa5Fa/7Fst3mJN9x2N1Xc5h5MWYyO3n8vqrIyIQ==} + peerDependencies: + firebase: ^11 || ^12 + react: ^19 + react-dom: ^19 + '@invertase/firebaseui-styles@0.0.3': resolution: {integrity: sha512-0obT/2OZfoayTE2GTw3botbOKYCHVmeozjvb4xNs1NCd5MZyc9nmN8y1PkgZ7vTsTIi6LBmqteFXk5yCIxp4MA==} '@invertase/firebaseui-styles@0.0.7': resolution: {integrity: sha512-NbtwZAnIjjqQZt4KxXyhfW28/ABNZ7KoldgPgQ0mOIE35JXbCmTBIrIoyIMkwYtH2KTeHMMLnsPLY0b8MVCmRQ==} + '@invertase/firebaseui-styles@0.0.9': + resolution: {integrity: sha512-uqBNOhPOC6WKwNVZMZsXoOSYTsK20UkG2na1M/Dc/w2B9qwBqtQaJZdn46759tx4wit+Cj9sQnlkdU2okeot5Q==} + '@invertase/firebaseui-translations@0.0.4': resolution: {integrity: sha512-sG8DToRfe7phgF5PXL02hZ9fwQcnwLdJvkfVaz4HuCBne94EH0dBgHhrF0oElRxLae93S2endufa94Yy7IoKsA==} @@ -12359,6 +12380,15 @@ snapshots: qrcode-generator: 2.0.4 zod: 4.1.12 + '@invertase/firebaseui-core@0.0.4(firebase@11.10.0)': + dependencies: + '@invertase/firebaseui-translations': 0.0.4 + firebase: 11.10.0 + libphonenumber-js: 1.12.25 + nanostores: 1.0.1 + qrcode-generator: 2.0.4 + zod: 4.1.12 + '@invertase/firebaseui-react@0.0.3(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3)': dependencies: '@invertase/firebaseui-core': 0.0.3(firebase@11.10.0) @@ -12378,6 +12408,25 @@ snapshots: - nanostores - typescript + '@invertase/firebaseui-react@0.0.4(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3)': + dependencies: + '@invertase/firebaseui-core': 0.0.4(firebase@11.10.0) + '@invertase/firebaseui-styles': 0.0.9(typescript@5.9.3) + '@nanostores/react': 1.0.0(nanostores@1.0.1)(react@19.1.1) + '@radix-ui/react-slot': 1.2.3(@types/react@19.1.16)(react@19.1.1) + '@tanstack/react-form': 1.20.0(react-dom@19.1.1(react@19.1.1))(react@19.1.1) + clsx: 2.1.1 + firebase: 11.10.0 + react: 19.1.1 + react-dom: 19.1.1(react@19.1.1) + tailwind-merge: 3.3.1 + zod: 4.1.12 + transitivePeerDependencies: + - '@tanstack/react-start' + - '@types/react' + - nanostores + - typescript + '@invertase/firebaseui-styles@0.0.3(typescript@5.9.3)': dependencies: cva: 1.0.0-beta.4(typescript@5.9.3) @@ -12390,6 +12439,12 @@ snapshots: transitivePeerDependencies: - typescript + '@invertase/firebaseui-styles@0.0.9(typescript@5.9.3)': + dependencies: + cva: 1.0.0-beta.4(typescript@5.9.3) + transitivePeerDependencies: + - typescript + '@invertase/firebaseui-translations@0.0.4': {} '@isaacs/balanced-match@4.0.1': {} From 1b9cf4278ebaa7f72420f94112e9ca1b084f2f07 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 4 Nov 2025 12:41:47 +0000 Subject: [PATCH 33/56] chore(shadcn): added public images to example --- .../shadcn/public/firebase-logo-inverted.png | Bin 0 -> 10096 bytes examples/shadcn/public/firebase-logo.png | Bin 0 -> 10920 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 examples/shadcn/public/firebase-logo-inverted.png create mode 100644 examples/shadcn/public/firebase-logo.png diff --git a/examples/shadcn/public/firebase-logo-inverted.png b/examples/shadcn/public/firebase-logo-inverted.png new file mode 100644 index 0000000000000000000000000000000000000000..b6f4ef80a14fc7bcf413348af51d1957b39e9cb3 GIT binary patch literal 10096 zcmc(Dg;!h86E9NSD_9e>6fKlu!J)WQyf_UGDWSM)ae}*-;_k(Zlt7C+1VU3>0;RaW ze1GS?zv10;_S~I0`2Vb8P%N zESd8Px`ResqqJ(%G>2sa&RBU`>b@AYH>(=bQLQ|517CQgtgbI_Z;(T$g4d|r8~=%` zz{+enEXg((ueJL#A1M}$Jy?@|#fF>n7Tqk7ID$M>g<*;`)^Le*KSk@;cd_yxdoOEE zX$qN5aNOg_hTK1~P~<-vuGggeCOFI9}6x%^-_C8sJQ**wWO^cG0}|N+zB| z^oz%l9VFWC&$j)3uBlki3pmbfa5Ag0{%hK_Rt@Ci!k6K!#wYhxjeI{s`N86LJAH~~ zB}nVmO6ZWF95Q%>N`hauEJtZoJfvE&o-qO5iJQGIJGUI&^*^|At4E%i<s?Jm25dZ-6XK_K=l zm=;HeG8};3eHzqhIMwVdBoNmOXU+fOR>oSVDIL#nu%lfwL?>xc+~9d?2@gwV9nTyT zE}eQJxp-W-5yid}?wSf|f+pz?4k(ULX)RiQo$34h>U|De5+Oo>Bvew@5Vw-&CCQx( z14{K%>9z)ZM&tNTg#iWosYq8jS(8k}9!x0#{Zy&+YSUNSr*FhMN96vYVd{01@2O(nu3cbm3CjU4s~gq+KJ#k21u3M65ji%qi?Y2O(x;{rp(& zLzYN+>x6UoKSDUx3nH{SDE9x(BXn@6C-05uQM6cy@zVfoYIT}&%UiHjI2h}(@Jv5f z^or%Z2Y)!2b|gDq*4VIId9iP%mGmshPt@qM-j3gNUujj587Wa15mc& zRu4{$;ou22_2=Q@l?x1n@O*((0BT!fxnh+P7GSr5!1;#YPpB~OWCDZ?@BIFY31gmk zPE;7lk)$#8kh!)@ziyiu~Ik7WnxD z{Cs;6d1REI=K5*s-aXI~6O4AYOgoyFJog#dzow*tnzk&r-=#6Yx zRkTHSfgk)|AcO^j*6wqQ*KSkb|CED6TgOMPPL$5Y26PGGLZcLrzq>Ia^x;cCMJk#( zNyb=B`Xw6KX4~!$dw(66yt?su1WaC4U#?qm&+iktDi15ZQE!@#-QBK8*phh4%A1MnSeSz z;_<=_ke#ukL{ie}XEM2~k$*wic$-Q`(f;=&*z<3qO#^n#L@6a?LE{aOxSJUru!Te; zBr&L^eedCl527s9{Qmk0c6w7@kO|_`l;`-jgjB+nR!c4yCy7LxrqgN>?+ zVYjs>SN}+ac^*a#N~CBkk+7^`y9e}kv*ft;r_r<8*>dOT`W+_HR|-Il}}DZK=Y%dp&H(*n;=YNW^eAG>BMuLxCntHBhJ zl-^U8v*X!y-CR)vOj~pP#iVctrMN*e8;_+(ih;(rokKMQF zHG%(j$a9TD)p2|VOb(f*IHQ(xG-UA6Z>xa%p{r>Bm)0V}B_HbTqJ8k70sx9Hvn(30uef(65 zG^{U-9PV$ce%ajC0f%^r`9<`hx>Hnt_w$NsvKZ$!ZR1uIJOIV)d~NMc8T-kH>j(Iw z?bl)%+QhlgxmU|op;Alaoqwr3K|_;t0y8rV`##H}a=Q)EZ;u+t#Q|*_h{v&5{qMq( zrollkLTIGk@`(=3Y?bG|k*qW3R!z8Tu<7UZ50^@1Ps@B%zf4vFzXvtk**~tI9N@34 zc_CN+zeS0Uq;BG%q$*4k24TnTYt)7MeG%ZEXHKTRQnda^x3y>PK;WC5G#S+dv9)Zr zu@1hCS5NxM;BcyRfIbr%rfN4DhLXm&isLtjJOc^QRIs9HOVWzdVdt!mZ$9ya5Q_jNMvOktXm_p~2I@{KVA9HK zj>5_o@@*?+itMK!L4ov#BH03DL&2&E%lu&-C}3X z5$8=IHYyb${*tKEtNxyd8BTf>N1m1WXp%pr9!tT_ znLxrr`!f(`L41=lW`c!Tb?YQ+m|MKDXfkr7Q8ky!V25KA_hFw-Rs>KW{bgg(3*1+c zZ&>32qHq##o$wrbWWgQF3|OPe_0{y1u8y1r-@K&qul+!%v<##<^EaYEEnj6-p==Gd&lLWN{`*&|g_yHCy0K*T4(%#ERSTRsK20Ci@ zGY(H{W*R)_Vw`E{7%!|76kV<`mBp z*?XC8uc`1EkObW}6yl}GAF9g#A%?qsVlvWzOL+RL2vp9ZqbpQvFcHpQc|yBByOtV> z3PGjPBa#d&;E$8Osls9^&wPz*G)tN|L|a)~xmsfQ02RhA^Qa=pf;*kb(8bDGt`6u| zM>I#8rsueXt*83>hiaXwOI28wJ$@r~DdvCYdfnkcVDYgHsx^N|;e4g~PM&Nl@_x1A z2Hm9_i{HQ|C9qF83aKa%kdk4fQLQ9EO-xQ4EcNiYP$haL!QuBsmr>Q6*upi;vdOMQ zK$k?iOrX@&gepk$3&ts>HPm2oeYVTzmviT86sLM3ha3^z9}J?~HZqIALvvo%WoYES zmefi zwoeU)RUQ`mh_|~_tFhBRSDY$m$r?+BXzd1hVx$0^lD>`(hiB43O!k_o0w1W~ebP&1 zxU-+@K%pcH?$sv~Yao@gG0>-~37_q^)#cC$1%bnk67ebMCJRyk1 zJ{02gb=Di>7Vms{WDtxNsmq2(MFOSFiibLm5(=R4;?o_iGMahN{ky7JQj|k*I{o|o zQ__A{@)CGx4{r-vQZB87POLUbXZ?NjZ_cd=n-_UVp2A|mVJ_ayyR(PF4I^&_}zfb#Ji3|=nmBnoXO}I#g6N0$PO;`x{x}R@< zXw9L7RXJ;^CAg1YPFq$N5}2sPk>1wQ$$8CVoO)Q~&!2wIw|@1yoSRb#ctSbq8{~Pf ztEQNnLeRNBmO-YJmpAR*ck$jcI>nxYg^KR|&hjI!DdFQ;{qEjcA)<@TLh};_Wqd>! zVIsczN~b1>(#>&bgs!kDS?XORxU%k!5z4@8b1 zr2h^aNqn8%2~95M_O1Kn$|0-cSe*s2Qy-sF--v;_%O82*2|xPUD)eTjQ%arcR1V~; zd|$j`d+4FUjiV!%wC5h+{2Cb@Fu-HcEb99vvXRvyoBT)x@5ifV+52^bUWL;@ecoFR zQQz#^l@zkD!n=mJ_Qzj8wyVCLf02VHN1%=!4#u82hZB(@N;a{tE`nIfM+S%Wm+3IU zhD7yV=1}0i0jJe!yZwl0&-J8};=N1>$1*_eO_1aB_O=bOklu*{^aBE+Vo)>hsiX&9 z#y-)mCBk$P)P9QFy9a|#>H=Qzz;3c2ez$*v8fPrulb+V%&+R3b0tGG9`34)l=bh{E z#X0zI;U&4;H4L{$wEC0j2v6R`6bkk?;J8UHg8OWZ^UNCzit*P)9+WqJ@e%rOO3t+6 zMkGCbR%mR-e8Q>%xygcstWfb>7&Uq-MpmBiJtPb(9TA)6;;$QN6REK?8&Vf{;E)}k@f^Z2VZ1#dXnlIcx@E?fHtfm} zr}STuB*e@_V_%<^iC5fr+4P_wlP~*vJ_cG%g`G7+PD?gK9I-P=p7pD8+K_PQni3}T z3-@3CV28HC=RQy|?odlM5bdqJO#56GB+PX5WB#!<7yneg1KE()*H2RhO+-UOlrXaB zH%x08%Qt9NgaOKaf2EmAl6n>fb=GD`H2y&zR9S?!O1DsEbzeqF->UpB8J0gpJYLtw z_ZEqSI)_{dv_mYeMA-Dm@Ymy7r5!on435)NC)pFA79T%P^gEyHWiE1Hrri$sXVu!F z#ZfXGowUCeFcFyb#WfrpJ6iD5W+~a^@muk)o;|mD&Gc~svZ*W(cr35pFW)#cGr)ve zUP&Xqd)nr-Mad)sF!M@p*V};xwMf+siLAB)faj!qGgq%ElbiWGF&de-A{(8gfy?As zs*JbBjVLim+BnJ8>oYhIIUMWgzD)@OrWiI|pdZM;{tEo)62#g)^P|$!Jie#@b>2s2 zfOut7_tJ9D<;D3q#k7-g=xnle6?4|`u{DdxZv5fP{)PcD!h+Si*0;%; z8HcO@zrrVwB;)w`7Fw+rAo@7Q2SJjb%W~7{)R3}YbN@BFLNzgqSojnUmmVOV&y8vn z_rD(!8V~G|tDvKiQtW=sug-B%ivsbyA=FR@*StzOovO)mwk{Pd_g+jvs_&$4f}n0` zroE~}(8q}Z8=yHa2Hbq(p$DQT+cVe$V%`#Ijm^Y&3CU;jN(RO&gH`Jh<~vN3Fzn1$ zC8<`n5$k1!ELEx`gQ9?dYb)whHG&i;4*GVt!`zipvxWykc<@u=5err7n1+v{+LKwH zBNkLK%q#%hmIjSvZ63Y`NHqH=k#=5!(BGH}{#S;=jPM9HB<9)3+v8HQA4N=wgLkNdBa#>CU3R~n>U5ZYh&0NDNfZ@1=~1%2LUGiW2F;T>LT<{k{hU*3Wg zML@8I_3Ulj|zu;+_Mwuk1ktaMdk^%LPm>Tui4(MF0YL-Y3`B0pQC#R7{;y7d4 zjEP)jl7oKNNV%J;ihkb=->D!3e&lf@pt}#=k2`JQBLc zBKh|sS@!@0IKUb~c=jN4*=+3ZEC=P0Q6N-m{u$xWvA0Gj{$Dfr|Ic&F_81F1igzRD z0{2x*w&uXne)}QJh6&ipyK~Tfw9F`S@XGA6tf70gxz~@WJa1oUFoW9nhx=LWX# zjQsgRc=y30$BmcV|HQFa=HXC(joW8eKrE_#Fz7I88h3qa8Vl;cHz8dP4+|c*e>6g= zf<@LpG66qK*iE2vT}T{%kkUQ+_3gPbe9>*WrEP$1yE3SayBvs$(!SEG5@)wC`t#iy zok;Vqmq9lkU)!K=z*P~!j7})Rl2Pz&|N97QHXiyYn2k^g%P91}N$5`EZg$s&MA{6) zX;wowa1*GkFFg*+%@cCZl}5UzB`k&C`jEZwliFR89?MUGDRaDuZx();!zt*;IQ=mZx2HNOguOZHVxVqDwW;($Kz&cM`8U2n=XnVBqIq_a5{}8KuTBdQ^O;&YST0#S3+qI1ui0Ndl27PUsxQyuG zq}zFU^LUzXvXnYj1+9TVtr>X`^iS#Dhb(1eZ@?E~zs?eL2G1f7YdVco>9;3pMkpYt zU}uiOg{k0Eq`~6-c+Pd_bXR|f)CHShqV2AScl}-$kx~%7X-gXI$$Hr|L$?vWjwB@A z{f~fs`}O$BzsttT8pU-~E8J+oTR7OHps98x=yZuK$hsCIw}*dR9$7*WoL*V>WlqJPb?Cq`1Bk)SnpiN4wryX}BIQn_ zE_TEmp#e9R*baGW`P1~IGz?JCT!m3+(|;VoIVEM+7&|gItT#!$bLD>_45(5E!PMIq zYKOg5>ZW5xdPWuX^DkB!Jh;jyj0W?B;GbH!@v`QMw$AYE8kf{-6-#TJknV}=DIRHJ zfGT^?o`?=A!f&01hZS78|APOJtxoBgRHV;!iB8ANz*Cap=I`K9RYq1_^bK@ry{oQ9 zwAVQQCK*mY3f!N()CxQE=~XN(aYF92IEW1&M|Y?KVfrrsjLIrQE?YljxU3s>f}JXC z>bF1&{jSzrghQX*{&I$_rsJq8gwNko3{4{G5$0&>?n-$=4Pl^x6<*Y6WAk7 zRU>X)Xo3kEwC=CA*vKo6JgVtv%|2Ufc_-IA3L402`1QKx@kig4wpxc|1z`KiNHy=V z*j-QVIK5->BT;DATKyI}?MQ6JE)sgWeS&SeeFMAbx`m3#!B#(8`ZEj1w9upMk zI`o##_{%l08#`!6=?y+m$an5YfcqFq65jehTXSUCmd<&llVPJa#^(l?Ix16rKIB4q z`J*FaMWl@TWxF@hi!&faAKo%sk)Zohdng(2%8bmzZw1$tdyKdH{vY&tnnYQVbzhOJ z$(1MhOQ(ES(Oyl{6R8=3x>&y{Nxk)$(5bSgTlD50Y9+a)=PY!-D;J^rcPHAje3K!1 ztZB}QvFR`1I&Vk?hYwtv4c5DpCvs&2a{`H$*LQD(QvGABvg$_%5NBeCgF;77U`n+! z@i@Zij_##pvjc438H3SJ~ExDl;DU7P3PB*bN2AeWsd3Qf8Nw? zh~mvG_^x$>E-6N(fXD223wWh z%Ia*$u>$A;s<$>;gzN2F$jRYl34hRf%f zWi;o|I~w7ioV-ivKA1G)HqQx!Od{TdB;?&a&fPyd_d)(b5-d3NJn2S; zgZ)eqmdNtXY^!V&1XOz)oaLN1HhX;N^6IvB!s*}|*-o#l@$Z=z*H!2kLMamFwf6oE z$e-gQe(9DF`^f^EnHOV!gCqg$Vuk{uj~J3->y;rt*{t%^xFab_e@|;wa@!SPUUowg z^s&j~n#A&i`^Q0}~YJ^&yu966s8y zdZ&@#5OXAD^u9Cs7_p~|t_8vN4RHN*u-AL}GgUJHN_E8pWW9zXXW(1pQD2OkN6EIS zgGu#LSHvuwVM%1 zWXybXV;h4Z~cvu_uB;Cwgc^yFnd*1)|wnRC-B=|V7EXs|iisg+=@ zFVu>g3xJSqtN-dloy;vR+l3#N3U*}%jN336^ zdfO?M_BkQ#D6-VdjEPp(yCw|3MaID{I=G$*EGZbfqrW%g^4dtJH{n8Bi1St3707F= zO_aZ1qM6q}aM%_6avt$tO;j(KkcpYn8C8gM>hmZ_p##pl1n^yB>~G67 zE|?U+K^7_j=h+im=9na+VIlDFAAHhH^G88XhOfpR&d-^X{F}Bbj47?NT~%VODWBQJ zWcXP88cdU_D>u2*{P`YNAjguqtDo{G`VQT#y62Xb;pPRXhF@b#2rkW&%8f|XH|<$- zE!}#fJ!&B3+JSdZSEX$Yw`zg9V}X7IIp+Hk;b+-FO!ucPD`~zf>b53)&%OR%t~}@1 z((&C#u&?6PuWyD`6dLV&)^vV8?(xlfo0taPDcI05kvdJadJ$rb@e`%Z|OKL`8Ge{hva; z;tw?8V7NOIlMAo;3w;Mv7_PiXrHUAA#C27 zFQhk1ySv6V2-76aai2X`oln^pu&u3cPY&IeFku9bC>o>&@?P=t zsz@>}8uv#1qwqJYJMJp7UeMfyb#{p%_39~X286Ugo<==7r?u8=aoAQ#a+az1wYb2HYlJf?|b#F7)YD_(4V@w%Lf zjD`j9v9Cq^6VLM7E`$mQeMhX_s_jI8OnE*!e92>jQ7P*Kp7uYGG7`hNh?#k%4E literal 0 HcmV?d00001 diff --git a/examples/shadcn/public/firebase-logo.png b/examples/shadcn/public/firebase-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1cf73144090adbd7a01a4e92ad08a39eaab5d31b GIT binary patch literal 10920 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 q^=005khd+ literal 0 HcmV?d00001 From 93142455688bc33bc11a328d12577c45d92526a6 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 4 Nov 2025 12:50:43 +0000 Subject: [PATCH 34/56] chore(shadn): updated shadcn app to include shadcn components --- examples/shadcn/src/components/header.tsx | 55 +++++++++++ examples/shadcn/src/main.tsx | 67 ++++++------- examples/shadcn/src/routes.ts | 97 +++++++++++++++++++ .../email-link-auth-screen-w-oauth.tsx | 37 +++++++ .../src/screens/email-link-auth-screen.tsx | 22 +++++ .../screens/forgot-password-auth-screen.tsx | 22 +++++ .../src/screens/mfa-enrollment-screen.tsx | 22 +++++ examples/shadcn/src/screens/oauth-screen.tsx | 39 ++++++++ .../src/screens/phone-auth-screen-w-oauth.tsx | 45 +++++++++ .../shadcn/src/screens/phone-auth-screen.tsx | 31 ++++++ .../sign-in-auth-screen-w-handlers.tsx | 33 +++++++ .../screens/sign-in-auth-screen-w-oauth.tsx | 47 +++++++++ .../sign-up-auth-screen-w-handlers.tsx | 30 ++++++ .../screens/sign-up-auth-screen-w-oauth.tsx | 45 +++++++++ .../src/screens/sign-up-auth-screen.tsx | 22 +++++ 15 files changed, 575 insertions(+), 39 deletions(-) create mode 100644 examples/shadcn/src/components/header.tsx create mode 100644 examples/shadcn/src/routes.ts create mode 100644 examples/shadcn/src/screens/email-link-auth-screen-w-oauth.tsx create mode 100644 examples/shadcn/src/screens/email-link-auth-screen.tsx create mode 100644 examples/shadcn/src/screens/forgot-password-auth-screen.tsx create mode 100644 examples/shadcn/src/screens/mfa-enrollment-screen.tsx create mode 100644 examples/shadcn/src/screens/oauth-screen.tsx create mode 100644 examples/shadcn/src/screens/phone-auth-screen-w-oauth.tsx create mode 100644 examples/shadcn/src/screens/phone-auth-screen.tsx create mode 100644 examples/shadcn/src/screens/sign-in-auth-screen-w-handlers.tsx create mode 100644 examples/shadcn/src/screens/sign-in-auth-screen-w-oauth.tsx create mode 100644 examples/shadcn/src/screens/sign-up-auth-screen-w-handlers.tsx create mode 100644 examples/shadcn/src/screens/sign-up-auth-screen-w-oauth.tsx create mode 100644 examples/shadcn/src/screens/sign-up-auth-screen.tsx diff --git a/examples/shadcn/src/components/header.tsx b/examples/shadcn/src/components/header.tsx new file mode 100644 index 00000000..5f231c30 --- /dev/null +++ b/examples/shadcn/src/components/header.tsx @@ -0,0 +1,55 @@ +/** + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +"use client"; + +import { NavLink } from "react-router"; +import { useUser } from "../firebase/hooks"; +import { signOut } from "firebase/auth"; +import { auth } from "../firebase/firebase"; + +export function Header() { + const user = useUser(); + + async function onSignOut() { + await signOut(auth); + // TODO: Use the router instead of window.location.href + window.location.href = "/"; + } + + return ( +
+
+
+ FirebaseUI +
+
+
    + {user ? ( +
  • + +
  • + ) : ( +
  • + Sign In +
  • + )} +
+
+
+
+ ); +} diff --git a/examples/shadcn/src/main.tsx b/examples/shadcn/src/main.tsx index 38e1ccd9..f2fb091d 100644 --- a/examples/shadcn/src/main.tsx +++ b/examples/shadcn/src/main.tsx @@ -4,6 +4,7 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at + * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software @@ -13,48 +14,36 @@ * limitations under the License. */ -import { BrowserRouter, Route, Routes } from "react-router"; +import { BrowserRouter, Routes, Route } from "react-router"; -import { FirebaseUIProvider } from "@invertase/firebaseui-react"; import ReactDOM from "react-dom/client"; - -import { ui } from "./firebase/firebase"; - +import { FirebaseUIProvider } from "@invertase/firebaseui-react"; +import { ui, auth } from "./firebase/firebase"; import App from "./App"; -import { Header } from "./components/header"; - -/** Sign In */ -import { EmailLinkAuthScreen } from "@/components/email-link-auth-screen"; -import { ForgotPasswordAuthScreen } from "@/components/forgot-password-auth-screen"; -import { SignInAuthScreen } from "@/components/sign-in-auth-screen"; -import { SignUpAuthScreen } from "@/components/sign-up-auth-screen"; +import { hiddenRoutes, routes } from "./routes"; const root = document.getElementById("root")!; -ReactDOM.createRoot(root).render( - -
- - - } /> - } /> - {/* } /> */} - {/* } /> */} - } /> - {/* } /> */} - {/* } /> */} - {/* } /> */} - } /> - {/* } /> */} - {/* } /> */} - } /> - - - -); +const allRoutes = [...routes, ...hiddenRoutes]; + +// Hacky way to ensure we have an auth state before showing the app... +auth.authStateReady().then(() => { + ReactDOM.createRoot(root).render( + + + + } /> + {allRoutes.map((route) => ( + } /> + ))} + + + + ); +}); diff --git a/examples/shadcn/src/routes.ts b/examples/shadcn/src/routes.ts new file mode 100644 index 00000000..a83309ac --- /dev/null +++ b/examples/shadcn/src/routes.ts @@ -0,0 +1,97 @@ +import SignInAuthScreenPage from "./screens/sign-in-auth-screen"; +import SignInAuthScreenWithHandlersPage from "./screens/sign-in-auth-screen-w-handlers"; +import SignInAuthScreenWithOAuthPage from "./screens/sign-in-auth-screen-w-oauth"; +import SignUpAuthScreenPage from "./screens/sign-up-auth-screen"; +import SignUpAuthScreenWithHandlersPage from "./screens/sign-up-auth-screen-w-handlers"; +import SignUpAuthScreenWithOAuthPage from "./screens/sign-up-auth-screen-w-oauth"; +import EmailLinkAuthScreenPage from "./screens/email-link-auth-screen"; +import EmailLinkAuthScreenWithOAuthPage from "./screens/email-link-auth-screen-w-oauth"; +import ForgotPasswordAuthScreenPage from "./screens/forgot-password-auth-screen"; +import OAuthScreenPage from "./screens/oauth-screen"; +import PhoneAuthScreenPage from "./screens/phone-auth-screen"; +import PhoneAuthScreenWithOAuthPage from "./screens/phone-auth-screen-w-oauth"; +import MultiFactorAuthEnrollmentScreenPage from "./screens/mfa-enrollment-screen"; + +export const routes = [ + { + name: "Sign In Screen", + description: "A simple sign in screen with email and password", + path: "/screens/sign-in-auth-screen", + component: SignInAuthScreenPage, + }, + { + name: "Sign In Screen (with handlers)", + description: "A simple sign in screen with email and password, with forgot password and register handlers", + path: "/screens/sign-in-auth-screen-w-handlers", + component: SignInAuthScreenWithHandlersPage, + }, + { + name: "Sign In Screen (with OAuth)", + description: "A simple sign in screen with email and password, with oAuth buttons", + path: "/screens/sign-in-auth-screen-w-oauth", + component: SignInAuthScreenWithOAuthPage, + }, + { + name: "Sign Up Screen", + description: "A simple sign up screen with email and password", + path: "/screens/sign-up-auth-screen", + component: SignUpAuthScreenPage, + }, + { + name: "Sign Up Screen (with handlers)", + description: "A simple sign up screen with email and password, sign in handlers", + path: "/screens/sign-up-auth-screen-w-handlers", + component: SignUpAuthScreenWithHandlersPage, + }, + { + name: "Sign Up Screen (with OAuth)", + description: "A simple sign in screen with email and password, with oAuth buttons", + path: "/screens/sign-up-auth-screen-w-oauth", + component: SignUpAuthScreenWithOAuthPage, + }, + { + name: "Email Link Auth Screen", + description: "A screen allowing a user to send an email link for sign in", + path: "/screens/email-link-auth-screen", + component: EmailLinkAuthScreenPage, + }, + { + name: "Email Link Auth Screen (with OAuth)", + description: "A screen allowing a user to send an email link for sign in, with oAuth buttons", + path: "/screens/email-link-auth-screen-w-oauth", + component: EmailLinkAuthScreenWithOAuthPage, + }, + { + name: "Forgot Password Screen", + description: "A screen allowing a user to reset their password", + path: "/screens/forgot-password-screen", + component: ForgotPasswordAuthScreenPage, + }, + { + name: "OAuth Screen", + description: "A screen which allows a user to sign in with OAuth only", + path: "/screens/oauth-screen", + component: OAuthScreenPage, + }, + { + name: "Phone Auth Screen", + description: "A screen allowing a user to sign in with a phone number", + path: "/screens/phone-auth-screen", + component: PhoneAuthScreenPage, + }, + { + name: "Phone Auth Screen (with OAuth)", + description: "A screen allowing a user to sign in with a phone number, with oAuth buttons", + path: "/screens/phone-auth-screen-w-oauth", + component: PhoneAuthScreenWithOAuthPage, + }, +] as const; + +export const hiddenRoutes = [ + { + name: "MFA Enrollment Screen", + description: "A screen allowing a user to enroll in multi-factor authentication", + path: "/screens/mfa-enrollment-screen", + component: MultiFactorAuthEnrollmentScreenPage, + }, +] as const; diff --git a/examples/shadcn/src/screens/email-link-auth-screen-w-oauth.tsx b/examples/shadcn/src/screens/email-link-auth-screen-w-oauth.tsx new file mode 100644 index 00000000..f6435c3c --- /dev/null +++ b/examples/shadcn/src/screens/email-link-auth-screen-w-oauth.tsx @@ -0,0 +1,37 @@ +/** + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +"use client"; + +import { GoogleSignInButton } from "@/components/google-sign-in-button"; +import { FacebookSignInButton } from "@/components/facebook-sign-in-button"; +import { AppleSignInButton } from "@/components/apple-sign-in-button"; +import { GitHubSignInButton } from "@/components/github-sign-in-button"; +import { MicrosoftSignInButton } from "@/components/microsoft-sign-in-button"; +import { TwitterSignInButton } from "@/components/twitter-sign-in-button"; +import { EmailLinkAuthScreen } from "@/components/email-link-auth-screen"; + +export default function EmailLinkAuthScreenWithOAuthPage() { + return ( + + + + + + + + + ); +} diff --git a/examples/shadcn/src/screens/email-link-auth-screen.tsx b/examples/shadcn/src/screens/email-link-auth-screen.tsx new file mode 100644 index 00000000..fd1bf583 --- /dev/null +++ b/examples/shadcn/src/screens/email-link-auth-screen.tsx @@ -0,0 +1,22 @@ +/** + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +"use client"; + +import { EmailLinkAuthScreen } from "@/components/email-link-auth-screen"; + +export default function EmailLinkAuthScreenPage() { + return ; +} diff --git a/examples/shadcn/src/screens/forgot-password-auth-screen.tsx b/examples/shadcn/src/screens/forgot-password-auth-screen.tsx new file mode 100644 index 00000000..24647d5c --- /dev/null +++ b/examples/shadcn/src/screens/forgot-password-auth-screen.tsx @@ -0,0 +1,22 @@ +/** + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +"use client"; + +import { ForgotPasswordAuthScreen } from "@/components/forgot-password-auth-screen"; + +export default function ForgotPasswordAuthScreenPage() { + return ; +} diff --git a/examples/shadcn/src/screens/mfa-enrollment-screen.tsx b/examples/shadcn/src/screens/mfa-enrollment-screen.tsx new file mode 100644 index 00000000..9212d145 --- /dev/null +++ b/examples/shadcn/src/screens/mfa-enrollment-screen.tsx @@ -0,0 +1,22 @@ +/** + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +"use client"; + +import { MultiFactorAuthEnrollmentScreen } from "@/components/multi-factor-auth-enrollment-screen"; + +export default function MultiFactorAuthEnrollmentScreenPage() { + return ; +} diff --git a/examples/shadcn/src/screens/oauth-screen.tsx b/examples/shadcn/src/screens/oauth-screen.tsx new file mode 100644 index 00000000..d9b1cf17 --- /dev/null +++ b/examples/shadcn/src/screens/oauth-screen.tsx @@ -0,0 +1,39 @@ +/** + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +"use client"; + +import { GoogleSignInButton } from "@/components/google-sign-in-button"; +import { FacebookSignInButton } from "@/components/facebook-sign-in-button"; +import { AppleSignInButton } from "@/components/apple-sign-in-button"; +import { GitHubSignInButton } from "@/components/github-sign-in-button"; +import { MicrosoftSignInButton } from "@/components/microsoft-sign-in-button"; +import { TwitterSignInButton } from "@/components/twitter-sign-in-button"; +import { OAuthScreen } from "@/components/oauth-screen"; + +export default function OAuthScreenPage() { + const [themed, setThemed] = useState(false); + + return ( + + + + + + + + + ); +} diff --git a/examples/shadcn/src/screens/phone-auth-screen-w-oauth.tsx b/examples/shadcn/src/screens/phone-auth-screen-w-oauth.tsx new file mode 100644 index 00000000..75fef1fa --- /dev/null +++ b/examples/shadcn/src/screens/phone-auth-screen-w-oauth.tsx @@ -0,0 +1,45 @@ +/** + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +"use client"; + +import { GoogleSignInButton } from "@/components/google-sign-in-button"; +import { FacebookSignInButton } from "@/components/facebook-sign-in-button"; +import { AppleSignInButton } from "@/components/apple-sign-in-button"; +import { GitHubSignInButton } from "@/components/github-sign-in-button"; +import { MicrosoftSignInButton } from "@/components/microsoft-sign-in-button"; +import { TwitterSignInButton } from "@/components/twitter-sign-in-button"; +import { PhoneAuthScreen } from "@/components/phone-auth-screen"; +import { useNavigate } from "react-router"; + +export default function PhoneAuthScreenWithOAuthPage() { + const navigate = useNavigate(); + + return ( + { + console.log(credential); + navigate("/"); + }} + > + + + + + + + + ); +} diff --git a/examples/shadcn/src/screens/phone-auth-screen.tsx b/examples/shadcn/src/screens/phone-auth-screen.tsx new file mode 100644 index 00000000..84176aa4 --- /dev/null +++ b/examples/shadcn/src/screens/phone-auth-screen.tsx @@ -0,0 +1,31 @@ +/** + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +"use client"; + +import { PhoneAuthScreen } from "@/components/phone-auth-screen"; + +export default function PhoneAuthScreenPage() { + const navigate = useNavigate(); + + return ( + { + console.log(credential); + navigate("/"); + }} + /> + ); +} diff --git a/examples/shadcn/src/screens/sign-in-auth-screen-w-handlers.tsx b/examples/shadcn/src/screens/sign-in-auth-screen-w-handlers.tsx new file mode 100644 index 00000000..14edb88a --- /dev/null +++ b/examples/shadcn/src/screens/sign-in-auth-screen-w-handlers.tsx @@ -0,0 +1,33 @@ +/** + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +"use client"; + +import { SignInAuthScreen } from "@/components/sign-in-auth-screen"; +import { useNavigate } from "react-router"; + +export default function SignInAuthScreenWithHandlersPage() { + const navigate = useNavigate(); + return ( + { + navigate("/screens/forgot-password-auth-screen"); + }} + onRegisterClick={() => { + navigate("/screens/sign-up-auth-screen"); + }} + /> + ); +} diff --git a/examples/shadcn/src/screens/sign-in-auth-screen-w-oauth.tsx b/examples/shadcn/src/screens/sign-in-auth-screen-w-oauth.tsx new file mode 100644 index 00000000..2a474e9a --- /dev/null +++ b/examples/shadcn/src/screens/sign-in-auth-screen-w-oauth.tsx @@ -0,0 +1,47 @@ +/** + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +"use client"; + +import { GoogleSignInButton } from "@/components/google-sign-in-button"; +import { FacebookSignInButton } from "@/components/facebook-sign-in-button"; +import { AppleSignInButton } from "@/components/apple-sign-in-button"; +import { GitHubSignInButton } from "@/components/github-sign-in-button"; +import { MicrosoftSignInButton } from "@/components/microsoft-sign-in-button"; +import { TwitterSignInButton } from "@/components/twitter-sign-in-button"; +import { SignInAuthScreen } from "@/components/sign-in-auth-screen"; +import { useNavigate } from "react-router"; + +export default function SignInAuthScreenWithOAuthPage() { + const navigate = useNavigate(); + + return ( + { + console.log(credential); + navigate("/"); + }} + > +
+ + + + + + +
+
+ ); +} diff --git a/examples/shadcn/src/screens/sign-up-auth-screen-w-handlers.tsx b/examples/shadcn/src/screens/sign-up-auth-screen-w-handlers.tsx new file mode 100644 index 00000000..73f23f70 --- /dev/null +++ b/examples/shadcn/src/screens/sign-up-auth-screen-w-handlers.tsx @@ -0,0 +1,30 @@ +/** + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +"use client"; + +import { SignUpAuthScreen } from "@/components/sign-up-auth-screen"; +import { useNavigate } from "react-router"; + +export default function SignUpAuthScreenWithHandlersPage() { + const navigate = useNavigate(); + return ( + { + navigate("/screens/sign-in-auth-screen"); + }} + /> + ); +} diff --git a/examples/shadcn/src/screens/sign-up-auth-screen-w-oauth.tsx b/examples/shadcn/src/screens/sign-up-auth-screen-w-oauth.tsx new file mode 100644 index 00000000..22a17926 --- /dev/null +++ b/examples/shadcn/src/screens/sign-up-auth-screen-w-oauth.tsx @@ -0,0 +1,45 @@ +/** + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +"use client"; + +import { GoogleSignInButton } from "@/components/google-sign-in-button"; +import { FacebookSignInButton } from "@/components/facebook-sign-in-button"; +import { AppleSignInButton } from "@/components/apple-sign-in-button"; +import { GitHubSignInButton } from "@/components/github-sign-in-button"; +import { MicrosoftSignInButton } from "@/components/microsoft-sign-in-button"; +import { TwitterSignInButton } from "@/components/twitter-sign-in-button"; +import { SignUpAuthScreen } from "@/components/sign-up-auth-screen"; +import { useNavigate } from "react-router"; + +export default function SignUpAuthScreenWithOAuthPage() { + const navigate = useNavigate(); + + return ( + { + console.log(credential); + navigate("/"); + }} + > + + + + + + + + ); +} diff --git a/examples/shadcn/src/screens/sign-up-auth-screen.tsx b/examples/shadcn/src/screens/sign-up-auth-screen.tsx new file mode 100644 index 00000000..d64721bf --- /dev/null +++ b/examples/shadcn/src/screens/sign-up-auth-screen.tsx @@ -0,0 +1,22 @@ +/** + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +"use client"; + +import { SignUpAuthScreen } from "@/components/sign-up-auth-screen"; + +export default function SignUpAuthScreenPage() { + return ; +} From 4ca281f7547ed7bbd8af74359c94775f1a0c5467 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Tue, 4 Nov 2025 13:40:30 +0000 Subject: [PATCH 35/56] chore(*): re-added package shadcn components --- .../src/components/country-selector.tsx | 4 +- .../components/forgot-password-auth-form.tsx | 2 +- .../multi-factor-auth-assertion-form.tsx | 8 +- .../shadcn/src/components/redirect-error.tsx | 2 +- .../src/components/sign-in-auth-form.tsx | 2 +- .../src/components/sign-up-auth-form.tsx | 32 +++---- .../components/sign-up-auth-screen.test.tsx | 92 +------------------ .../src/components/sign-up-auth-screen.tsx | 19 +--- .../sms-multi-factor-assertion-form.tsx | 4 +- .../sms-multi-factor-enrollment-form.tsx | 2 +- .../totp-multi-factor-assertion-form.tsx | 4 +- .../totp-multi-factor-enrollment-form.tsx | 4 +- 12 files changed, 38 insertions(+), 137 deletions(-) diff --git a/packages/shadcn/src/components/country-selector.tsx b/packages/shadcn/src/components/country-selector.tsx index b3fc77cc..371c4840 100644 --- a/packages/shadcn/src/components/country-selector.tsx +++ b/packages/shadcn/src/components/country-selector.tsx @@ -1,13 +1,13 @@ "use client"; import { forwardRef, useCallback, useImperativeHandle, useState } from "react"; -import type { CountryCode, CountryData } from "@firebase-ui/core"; +import type { CountryCode, CountryData } from "@invertase/firebaseui-core"; import { type CountrySelectorRef, type CountrySelectorProps, useCountries, useDefaultCountry, -} from "@firebase-ui/react"; +} from "@invertase/firebaseui-react"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; diff --git a/packages/shadcn/src/components/forgot-password-auth-form.tsx b/packages/shadcn/src/components/forgot-password-auth-form.tsx index d13e28ab..ed2ff39d 100644 --- a/packages/shadcn/src/components/forgot-password-auth-form.tsx +++ b/packages/shadcn/src/components/forgot-password-auth-form.tsx @@ -15,7 +15,7 @@ import { useState } from "react"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; -import { Policies } from "@/components/policies"; +import { Policies } from "./policies"; export type { ForgotPasswordAuthFormProps }; diff --git a/packages/shadcn/src/components/multi-factor-auth-assertion-form.tsx b/packages/shadcn/src/components/multi-factor-auth-assertion-form.tsx index 3237bb16..258e0c1d 100644 --- a/packages/shadcn/src/components/multi-factor-auth-assertion-form.tsx +++ b/packages/shadcn/src/components/multi-factor-auth-assertion-form.tsx @@ -2,11 +2,11 @@ import { PhoneMultiFactorGenerator, TotpMultiFactorGenerator, type MultiFactorInfo } from "firebase/auth"; import { type ComponentProps, useState } from "react"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI } from "@invertase/firebaseui-react"; -import { SmsMultiFactorAssertionForm } from "@/components/sms-multi-factor-assertion-form"; -import { TotpMultiFactorAssertionForm } from "@/components/totp-multi-factor-assertion-form"; +import { SmsMultiFactorAssertionForm } from "./sms-multi-factor-assertion-form"; +import { TotpMultiFactorAssertionForm } from "./totp-multi-factor-assertion-form"; import { Button } from "@/components/ui/button"; export function MultiFactorAuthAssertionForm() { diff --git a/packages/shadcn/src/components/redirect-error.tsx b/packages/shadcn/src/components/redirect-error.tsx index db0fa527..4a51241a 100644 --- a/packages/shadcn/src/components/redirect-error.tsx +++ b/packages/shadcn/src/components/redirect-error.tsx @@ -1,6 +1,6 @@ "use client"; -import { useRedirectError } from "@firebase-ui/react"; +import { useRedirectError } from "@invertase/firebaseui-react"; export function RedirectError() { const error = useRedirectError(); diff --git a/packages/shadcn/src/components/sign-in-auth-form.tsx b/packages/shadcn/src/components/sign-in-auth-form.tsx index 9aca8d4f..2d4e5076 100644 --- a/packages/shadcn/src/components/sign-in-auth-form.tsx +++ b/packages/shadcn/src/components/sign-in-auth-form.tsx @@ -9,7 +9,7 @@ import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; -import { Policies } from "@/components/policies"; +import { Policies } from "./policies"; export type { SignInAuthFormProps }; diff --git a/packages/shadcn/src/components/sign-up-auth-form.tsx b/packages/shadcn/src/components/sign-up-auth-form.tsx index 411c04cb..920c5d6b 100644 --- a/packages/shadcn/src/components/sign-up-auth-form.tsx +++ b/packages/shadcn/src/components/sign-up-auth-form.tsx @@ -15,7 +15,7 @@ import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; -import { Policies } from "@/components/policies"; +import { Policies } from "./policies"; export type { SignUpAuthFormProps }; @@ -47,21 +47,6 @@ export function SignUpAuthForm(props: SignUpAuthFormProps) { return (
- {requireDisplayName ? ( - ( - - {getTranslation(ui, "labels", "displayName")} - - - - - - )} - /> - ) : null} )} /> + {requireDisplayName ? ( + ( + + {getTranslation(ui, "labels", "displayName")} + + + + + + )} + /> + ) : null} + )} +
+

Multi-factor Authentication

+ {mfa.enrolledFactors.map((factor) => { + return ( +
+ {factor.factorId} - {factor.displayName} +
+ ); + })} + +
+
); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 83a6c221..359f6850 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -402,8 +402,8 @@ importers: specifier: ^5.2.2 version: 5.2.2(react-hook-form@7.65.0(react@19.1.1)) '@invertase/firebaseui-core': - specifier: 0.0.4 - version: 0.0.4(firebase@11.10.0) + specifier: 0.0.5 + version: 0.0.5(firebase@11.10.0) '@invertase/firebaseui-react': specifier: workspace:* version: link:../../packages/react @@ -2889,6 +2889,11 @@ packages: peerDependencies: firebase: ^11 || ^12 + '@invertase/firebaseui-core@0.0.5': + resolution: {integrity: sha512-MZuzqFSWys/u5WFwMqf3p3RO2HxYG1qvyw0brDmnQTwA6GgLgIFo+PaCSYiBHs61EMtqidCsOKKx1h/VySvlvw==} + peerDependencies: + firebase: ^11 || ^12 + '@invertase/firebaseui-react@0.0.3': resolution: {integrity: sha512-8+nolJQtF+T/n4a3VD8Jo0G/E3Q7xA+23BznCaqLFzV/itSm9u3FunER+kfO1mxwCx6Vwi+uEmnqrCD9Oxb4AQ==} peerDependencies: @@ -10001,7 +10006,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2003.7(chokidar@4.0.3) - '@angular-devkit/build-webpack': 0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2))(webpack@5.101.2(esbuild@0.25.9)) + '@angular-devkit/build-webpack': 0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)))(webpack@5.101.2(esbuild@0.25.9)) '@angular-devkit/core': 20.3.7(chokidar@4.0.3) '@angular/build': 20.3.7(1849c53c536bd3612d435156c655d6b9) '@angular/compiler-cli': 20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3) @@ -10051,8 +10056,8 @@ snapshots: tslib: 2.8.1 typescript: 5.9.3 webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-middleware: 7.4.2(webpack@5.101.2) - webpack-dev-server: 5.2.2(webpack@5.101.2) + webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) + webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) webpack-merge: 6.0.1 webpack-subresource-integrity: 5.1.0(webpack@5.101.2(esbuild@0.25.9)) optionalDependencies: @@ -10092,7 +10097,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2003.7(chokidar@4.0.3) - '@angular-devkit/build-webpack': 0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2))(webpack@5.101.2(esbuild@0.25.9)) + '@angular-devkit/build-webpack': 0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)))(webpack@5.101.2(esbuild@0.25.9)) '@angular-devkit/core': 20.3.7(chokidar@4.0.3) '@angular/build': 20.3.7(1be407f5110624cbb4aee41c10128f32) '@angular/compiler-cli': 20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3) @@ -10142,8 +10147,8 @@ snapshots: tslib: 2.8.1 typescript: 5.9.3 webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-middleware: 7.4.2(webpack@5.101.2) - webpack-dev-server: 5.2.2(webpack@5.101.2) + webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) + webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) webpack-merge: 6.0.1 webpack-subresource-integrity: 5.1.0(webpack@5.101.2(esbuild@0.25.9)) optionalDependencies: @@ -10177,12 +10182,12 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2))(webpack@5.101.2(esbuild@0.25.9))': + '@angular-devkit/build-webpack@0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)))(webpack@5.101.2(esbuild@0.25.9))': dependencies: '@angular-devkit/architect': 0.2003.7(chokidar@4.0.3) rxjs: 7.8.2 webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-server: 5.2.2(webpack@5.101.2) + webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) transitivePeerDependencies: - chokidar @@ -12389,6 +12394,15 @@ snapshots: qrcode-generator: 2.0.4 zod: 4.1.12 + '@invertase/firebaseui-core@0.0.5(firebase@11.10.0)': + dependencies: + '@invertase/firebaseui-translations': 0.0.4 + firebase: 11.10.0 + libphonenumber-js: 1.12.25 + nanostores: 1.0.1 + qrcode-generator: 2.0.4 + zod: 4.1.12 + '@invertase/firebaseui-react@0.0.3(@types/react@19.1.16)(firebase@11.10.0)(nanostores@1.0.1)(react-dom@19.1.1(react@19.1.1))(react@19.1.1)(typescript@5.9.3)': dependencies: '@invertase/firebaseui-core': 0.0.3(firebase@11.10.0) @@ -20288,7 +20302,7 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@7.4.2(webpack@5.101.2): + webpack-dev-middleware@7.4.2(webpack@5.101.2(esbuild@0.25.9)): dependencies: colorette: 2.0.20 memfs: 4.50.0 @@ -20299,7 +20313,7 @@ snapshots: optionalDependencies: webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-server@5.2.2(webpack@5.101.2): + webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -20327,7 +20341,7 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.101.2) + webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) ws: 8.18.3 optionalDependencies: webpack: 5.101.2(esbuild@0.25.9) From d2de02766e59bc5c3f542a6b0388e55c84791eec Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Wed, 5 Nov 2025 10:09:44 +0000 Subject: [PATCH 40/56] chore(shadcn): added deploy script for hosting --- examples/shadcn/firebase.json | 2 +- examples/shadcn/package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/shadcn/firebase.json b/examples/shadcn/firebase.json index b89a6f38..99fb533d 100644 --- a/examples/shadcn/firebase.json +++ b/examples/shadcn/firebase.json @@ -1,6 +1,6 @@ { "hosting": { - "site": "fir-ui-shadcn", + "site": "fir-ui-2025-shadcn", "public": "dist", "ignore": ["firebase.json", "**/.*", "**/node_modules/**"], "rewrites": [ diff --git a/examples/shadcn/package.json b/examples/shadcn/package.json index 2d8fa877..7bb1c21f 100644 --- a/examples/shadcn/package.json +++ b/examples/shadcn/package.json @@ -8,7 +8,7 @@ "build": "vite build", "lint": "eslint .", "preview": "vite preview", - "deploy": "pnpm run build && firebase deploy --only hosting:fir-ui-shadcn", + "deploy": "pnpm run build && firebase deploy --only hosting:fir-ui-2025-shadcn", "shadcn:add-all": "tsx add-all.ts" }, "dependencies": { From 3f16533322c36daccbc6c7e6d5b853e7e2672e55 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Wed, 5 Nov 2025 10:12:39 +0000 Subject: [PATCH 41/56] chore(shadcn): updated screen redirects --- examples/shadcn/src/screens/mfa-enrollment-screen.tsx | 11 ++++++++++- examples/shadcn/src/screens/oauth-screen.tsx | 1 + examples/shadcn/src/screens/phone-auth-screen.tsx | 2 +- .../src/screens/sign-in-auth-screen-w-handlers.tsx | 5 ++++- .../src/screens/sign-in-auth-screen-w-oauth.tsx | 1 - examples/shadcn/src/screens/sign-in-auth-screen.tsx | 11 ++++++++++- .../src/screens/sign-up-auth-screen-w-handlers.tsx | 4 ++-- examples/shadcn/src/screens/sign-up-auth-screen.tsx | 10 +++++++++- 8 files changed, 37 insertions(+), 8 deletions(-) diff --git a/examples/shadcn/src/screens/mfa-enrollment-screen.tsx b/examples/shadcn/src/screens/mfa-enrollment-screen.tsx index 9212d145..b03a7a36 100644 --- a/examples/shadcn/src/screens/mfa-enrollment-screen.tsx +++ b/examples/shadcn/src/screens/mfa-enrollment-screen.tsx @@ -16,7 +16,16 @@ "use client"; import { MultiFactorAuthEnrollmentScreen } from "@/components/multi-factor-auth-enrollment-screen"; +import { useNavigate } from "react-router"; export default function MultiFactorAuthEnrollmentScreenPage() { - return ; + const navigate = useNavigate(); + + return ( + { + navigate("/"); + }} + /> + ); } diff --git a/examples/shadcn/src/screens/oauth-screen.tsx b/examples/shadcn/src/screens/oauth-screen.tsx index d9b1cf17..65e21a84 100644 --- a/examples/shadcn/src/screens/oauth-screen.tsx +++ b/examples/shadcn/src/screens/oauth-screen.tsx @@ -15,6 +15,7 @@ "use client"; +import { useState } from "react"; import { GoogleSignInButton } from "@/components/google-sign-in-button"; import { FacebookSignInButton } from "@/components/facebook-sign-in-button"; import { AppleSignInButton } from "@/components/apple-sign-in-button"; diff --git a/examples/shadcn/src/screens/phone-auth-screen.tsx b/examples/shadcn/src/screens/phone-auth-screen.tsx index 84176aa4..48176c6e 100644 --- a/examples/shadcn/src/screens/phone-auth-screen.tsx +++ b/examples/shadcn/src/screens/phone-auth-screen.tsx @@ -16,7 +16,7 @@ "use client"; import { PhoneAuthScreen } from "@/components/phone-auth-screen"; - +import { useNavigate } from "react-router"; export default function PhoneAuthScreenPage() { const navigate = useNavigate(); diff --git a/examples/shadcn/src/screens/sign-in-auth-screen-w-handlers.tsx b/examples/shadcn/src/screens/sign-in-auth-screen-w-handlers.tsx index 14edb88a..f9183a84 100644 --- a/examples/shadcn/src/screens/sign-in-auth-screen-w-handlers.tsx +++ b/examples/shadcn/src/screens/sign-in-auth-screen-w-handlers.tsx @@ -22,8 +22,11 @@ export default function SignInAuthScreenWithHandlersPage() { const navigate = useNavigate(); return ( { + navigate("/"); + }} onForgotPasswordClick={() => { - navigate("/screens/forgot-password-auth-screen"); + navigate("/screens/forgot-password-screen"); }} onRegisterClick={() => { navigate("/screens/sign-up-auth-screen"); diff --git a/examples/shadcn/src/screens/sign-in-auth-screen-w-oauth.tsx b/examples/shadcn/src/screens/sign-in-auth-screen-w-oauth.tsx index 2a474e9a..bfec98e0 100644 --- a/examples/shadcn/src/screens/sign-in-auth-screen-w-oauth.tsx +++ b/examples/shadcn/src/screens/sign-in-auth-screen-w-oauth.tsx @@ -30,7 +30,6 @@ export default function SignInAuthScreenWithOAuthPage() { return ( { - console.log(credential); navigate("/"); }} > diff --git a/examples/shadcn/src/screens/sign-in-auth-screen.tsx b/examples/shadcn/src/screens/sign-in-auth-screen.tsx index 8ea7daba..3dd8c7a3 100644 --- a/examples/shadcn/src/screens/sign-in-auth-screen.tsx +++ b/examples/shadcn/src/screens/sign-in-auth-screen.tsx @@ -16,7 +16,16 @@ "use client"; import { SignInAuthScreen } from "@/components/sign-in-auth-screen"; +import { useNavigate } from "react-router"; export default function SignInAuthScreenPage() { - return ; + const navigate = useNavigate(); + + return ( + { + navigate("/"); + }} + /> + ); } diff --git a/examples/shadcn/src/screens/sign-up-auth-screen-w-handlers.tsx b/examples/shadcn/src/screens/sign-up-auth-screen-w-handlers.tsx index 73f23f70..dfe601c1 100644 --- a/examples/shadcn/src/screens/sign-up-auth-screen-w-handlers.tsx +++ b/examples/shadcn/src/screens/sign-up-auth-screen-w-handlers.tsx @@ -22,8 +22,8 @@ export default function SignUpAuthScreenWithHandlersPage() { const navigate = useNavigate(); return ( { - navigate("/screens/sign-in-auth-screen"); + onSignUp={(credential) => { + navigate("/"); }} /> ); diff --git a/examples/shadcn/src/screens/sign-up-auth-screen.tsx b/examples/shadcn/src/screens/sign-up-auth-screen.tsx index d64721bf..ca8ce198 100644 --- a/examples/shadcn/src/screens/sign-up-auth-screen.tsx +++ b/examples/shadcn/src/screens/sign-up-auth-screen.tsx @@ -16,7 +16,15 @@ "use client"; import { SignUpAuthScreen } from "@/components/sign-up-auth-screen"; +import { useNavigate } from "react-router"; export default function SignUpAuthScreenPage() { - return ; + const navigate = useNavigate(); + return ( + { + navigate("/"); + }} + /> + ); } From 98f8bb482d9022b703fb9e08f05b8e2c25bf1bf4 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Wed, 5 Nov 2025 10:14:00 +0000 Subject: [PATCH 42/56] fix(shadcn): ensure hooks use the current user --- examples/shadcn/src/firebase/hooks.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/shadcn/src/firebase/hooks.ts b/examples/shadcn/src/firebase/hooks.ts index 550392fe..99825689 100644 --- a/examples/shadcn/src/firebase/hooks.ts +++ b/examples/shadcn/src/firebase/hooks.ts @@ -22,7 +22,8 @@ import { useEffect } from "react"; import { auth } from "./firebase"; export function useUser(initalUser?: User | null) { - const [user, setUser] = useState(initalUser ?? null); + // Initialize with current user if available, or the provided initial user + const [user, setUser] = useState(initalUser ?? auth.currentUser); useEffect(() => { const unsubscribe = onAuthStateChanged(auth, setUser); From 7f00bb04d18b5e420a044adb131e37b112250118 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Wed, 5 Nov 2025 11:49:28 +0000 Subject: [PATCH 43/56] chore(shadcn): updated client id for onetap in test app --- examples/react/src/firebase/firebase.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/react/src/firebase/firebase.ts b/examples/react/src/firebase/firebase.ts index b3c9267e..0df4841d 100644 --- a/examples/react/src/firebase/firebase.ts +++ b/examples/react/src/firebase/firebase.ts @@ -30,7 +30,7 @@ export const ui = initializeUI({ behaviors: [ // autoAnonymousLogin(), oneTapSignIn({ - clientId: "200312857118-lscdui98fkaq7ffr81446blafjn5o6r0.apps.googleusercontent.com", + clientId: "616577669988-led6l3rqek9ckn9t1unj4l8l67070fhp.apps.googleusercontent.com", }), countryCodes({ allowedCountries: ["US", "CA", "GB"], From 18fe144a4753fc881a876a9c878a93a8bd2943e3 Mon Sep 17 00:00:00 2001 From: Elliot Hesp Date: Wed, 5 Nov 2025 11:56:29 +0000 Subject: [PATCH 44/56] chore: Update example app --- examples/shadcn/index.html | 3 + examples/shadcn/src/App.tsx | 173 ++++++++++------ .../src/components/email-link-auth-form.tsx | 11 +- .../src/components/email-link-auth-screen.tsx | 24 ++- .../components/forgot-password-auth-form.tsx | 6 +- .../forgot-password-auth-screen.tsx | 2 +- .../multi-factor-auth-assertion-form.tsx | 38 ++-- .../multi-factor-auth-enrollment-form.tsx | 14 +- .../multi-factor-auth-enrollment-screen.tsx | 8 +- .../shadcn/src/components/oauth-button.tsx | 2 + .../shadcn/src/components/oauth-screen.tsx | 19 +- .../shadcn/src/components/phone-auth-form.tsx | 19 +- .../src/components/phone-auth-screen.tsx | 10 +- .../shadcn/src/components/redirect-error.tsx | 2 +- .../src/components/sign-in-auth-form.tsx | 35 ++-- .../src/components/sign-in-auth-screen.tsx | 10 +- .../src/components/sign-up-auth-form.tsx | 8 +- .../src/components/sign-up-auth-screen.tsx | 20 +- .../sms-multi-factor-assertion-form.tsx | 4 +- .../sms-multi-factor-enrollment-form.tsx | 2 +- .../totp-multi-factor-assertion-form.tsx | 4 +- .../totp-multi-factor-enrollment-form.tsx | 4 +- examples/shadcn/src/components/ui/alert.tsx | 66 ++++++ examples/shadcn/src/components/ui/item.tsx | 193 ++++++++++++++++++ examples/shadcn/src/firebase/hooks.ts | 4 +- examples/shadcn/src/index.css | 68 +++--- examples/shadcn/src/main.tsx | 63 +++++- examples/shadcn/src/routes.ts | 7 + ...forgot-password-auth-screen-w-handlers.tsx | 25 +++ .../src/screens/mfa-enrollment-screen.tsx | 11 +- examples/shadcn/src/screens/oauth-screen.tsx | 23 ++- .../shadcn/src/screens/phone-auth-screen.tsx | 1 + .../sign-in-auth-screen-w-handlers.tsx | 2 +- .../sign-up-auth-screen-w-handlers.tsx | 6 +- pnpm-lock.yaml | 22 +- 35 files changed, 681 insertions(+), 228 deletions(-) create mode 100644 examples/shadcn/src/components/ui/alert.tsx create mode 100644 examples/shadcn/src/components/ui/item.tsx create mode 100644 examples/shadcn/src/screens/forgot-password-auth-screen-w-handlers.tsx diff --git a/examples/shadcn/index.html b/examples/shadcn/index.html index 1d79ade8..039621e4 100644 --- a/examples/shadcn/index.html +++ b/examples/shadcn/index.html @@ -8,6 +8,9 @@ +
diff --git a/examples/shadcn/src/App.tsx b/examples/shadcn/src/App.tsx index 35e3525d..46aa27df 100644 --- a/examples/shadcn/src/App.tsx +++ b/examples/shadcn/src/App.tsx @@ -20,6 +20,21 @@ import { useUser } from "./firebase/hooks"; import { auth } from "./firebase/firebase"; import { multiFactor, sendEmailVerification, signOut } from "firebase/auth"; +import { + Item, + ItemActions, + ItemContent, + ItemDescription, + ItemFooter, + ItemGroup, + ItemMedia, + ItemSeparator, + ItemTitle, +} from "@/components/ui/item"; +import { Button } from "./components/ui/button"; +import { ArrowRightIcon, LockIcon, UserIcon } from "lucide-react"; +import React from "react"; + function App() { const user = useUser(); @@ -36,83 +51,117 @@ function UnauthenticatedApp() {
Firebase UI Firebase UI -

+

Welcome to Firebase UI, choose an example screen below to get started!

-
+ {routes.map((route) => ( - -
-

{route.name}

-

{route.description}

-
-
- -
- + + + + {route.name} + {route.description} + + + + + + + + + ))} -
+
); } function AuthenticatedApp() { const user = useUser()!; + console.log(user); const mfa = multiFactor(user); const navigate = useNavigate(); return ( -
-
-

Welcome, {user.displayName || user.email || user.phoneNumber}

- {user.emailVerified ? ( -
Email verified
- ) : ( - - )} -
-

Multi-factor Authentication

- {mfa.enrolledFactors.map((factor) => { - return ( -
- {factor.factorId} - {factor.displayName} -
- ); - })} - -
- -
+
+ + + + + + + Welcome, {user.displayName || user.email || user.phoneNumber} + New login detected from unknown device. + + + + + {user.email ? ( + + {user.emailVerified ? ( + + Your email is verified. + + ) : ( + <> + Your email is not verified. + + + + + )} + + ) : null} + + + + + + + + Multi-factor Authentication + + Any multi-factor authentication factors you have enrolled will be listed here. + + + + + + {mfa.enrolledFactors.length > 0 && ( + + {mfa.enrolledFactors.map((factor) => { + return ( +
+ {factor.factorId} - {factor.displayName} +
+ ); + })} +
+ )} +
+
); } diff --git a/examples/shadcn/src/components/email-link-auth-form.tsx b/examples/shadcn/src/components/email-link-auth-form.tsx index 81ada095..1a946d9e 100644 --- a/examples/shadcn/src/components/email-link-auth-form.tsx +++ b/examples/shadcn/src/components/email-link-auth-form.tsx @@ -16,7 +16,8 @@ import { useState } from "react"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; -import { Policies } from "./policies"; +import { Policies } from "@/components/policies"; +import { Alert, AlertDescription, AlertTitle } from "@/components/ui/alert"; export type { EmailLinkAuthFormProps }; @@ -49,15 +50,15 @@ export function EmailLinkAuthForm(props: EmailLinkAuthFormProps) { if (emailSent) { return ( -
-
{getTranslation(ui, "messages", "signInLinkSent")}
-
+ + {getTranslation(ui, "messages", "signInLinkSent")} + ); } return ( - + +
{titleText} {subtitleText} - - {children ? ( + {mfaResolver ? ( + props.onSignIn?.(credential)} /> + ) : ( <> - {getTranslation(ui, "messages", "dividerOr")} -
{children}
+ + {children ? ( + <> + +
+ {children} + +
+ + ) : null} - ) : null} + )}
diff --git a/examples/shadcn/src/components/forgot-password-auth-form.tsx b/examples/shadcn/src/components/forgot-password-auth-form.tsx index ed2ff39d..28c721b6 100644 --- a/examples/shadcn/src/components/forgot-password-auth-form.tsx +++ b/examples/shadcn/src/components/forgot-password-auth-form.tsx @@ -53,7 +53,7 @@ export function ForgotPasswordAuthForm(props: ForgotPasswordAuthFormProps) { return ( - + {form.formState.errors.root && {form.formState.errors.root.message}} {props.onBackToSignInClick ? ( - ) : null} diff --git a/examples/shadcn/src/components/forgot-password-auth-screen.tsx b/examples/shadcn/src/components/forgot-password-auth-screen.tsx index fb5805ad..98991d51 100644 --- a/examples/shadcn/src/components/forgot-password-auth-screen.tsx +++ b/examples/shadcn/src/components/forgot-password-auth-screen.tsx @@ -15,7 +15,7 @@ export function ForgotPasswordAuthScreen(props: ForgotPasswordAuthScreenProps) { const subtitleText = getTranslation(ui, "prompts", "enterEmailToReset"); return ( -
+
{titleText} diff --git a/examples/shadcn/src/components/multi-factor-auth-assertion-form.tsx b/examples/shadcn/src/components/multi-factor-auth-assertion-form.tsx index 81f81d3c..0bb9a995 100644 --- a/examples/shadcn/src/components/multi-factor-auth-assertion-form.tsx +++ b/examples/shadcn/src/components/multi-factor-auth-assertion-form.tsx @@ -3,8 +3,8 @@ import { PhoneMultiFactorGenerator, TotpMultiFactorGenerator, - type MultiFactorInfo, type UserCredential, + type MultiFactorInfo, } from "firebase/auth"; import { type ComponentProps, useState } from "react"; import { getTranslation } from "@invertase/firebaseui-core"; @@ -18,7 +18,7 @@ export type MultiFactorAuthAssertionFormProps = { onSuccess?: (credential: UserCredential) => void; }; -export function MultiFactorAuthAssertionForm(props: MultiFactorAuthAssertionFormProps) { +export function MultiFactorAuthAssertionForm({ onSuccess }: MultiFactorAuthAssertionFormProps) { const ui = useUI(); const resolver = ui.multiFactorResolver; @@ -33,31 +33,17 @@ export function MultiFactorAuthAssertionForm(props: MultiFactorAuthAssertionForm if (hint) { if (hint.factorId === PhoneMultiFactorGenerator.FACTOR_ID) { - return ( - { - props.onSuccess?.(credential); - }} - /> - ); + return onSuccess?.(credential)} />; } if (hint.factorId === TotpMultiFactorGenerator.FACTOR_ID) { - return ( - { - props.onSuccess?.(credential); - }} - /> - ); + return onSuccess?.(credential)} />; } } return ( -
-

Select a multi-factor authentication method

+
+

TODO:Select a multi-factor authentication method

{resolver.hints.map((hint) => { if (hint.factorId === TotpMultiFactorGenerator.FACTOR_ID) { return setHint(hint)} />; @@ -76,11 +62,19 @@ export function MultiFactorAuthAssertionForm(props: MultiFactorAuthAssertionForm function TotpButton(props: ComponentProps) { const ui = useUI(); const labelText = getTranslation(ui, "labels", "mfaTotpVerification"); - return ; + return ( + + ); } function SmsButton(props: ComponentProps) { const ui = useUI(); const labelText = getTranslation(ui, "labels", "mfaSmsVerification"); - return ; + return ( + + ); } diff --git a/examples/shadcn/src/components/multi-factor-auth-enrollment-form.tsx b/examples/shadcn/src/components/multi-factor-auth-enrollment-form.tsx index 6513b8e4..5935c159 100644 --- a/examples/shadcn/src/components/multi-factor-auth-enrollment-form.tsx +++ b/examples/shadcn/src/components/multi-factor-auth-enrollment-form.tsx @@ -41,7 +41,7 @@ export function MultiFactorAuthEnrollmentForm(props: MultiFactorAuthEnrollmentFo } return ( -
+
{hints.map((hint) => { if (hint === FactorId.TOTP) { return setHint(hint)} />; @@ -60,11 +60,19 @@ export function MultiFactorAuthEnrollmentForm(props: MultiFactorAuthEnrollmentFo function TotpButton(props: ComponentProps) { const ui = useUI(); const labelText = getTranslation(ui, "labels", "mfaTotpVerification"); - return ; + return ( + + ); } function SmsButton(props: ComponentProps) { const ui = useUI(); const labelText = getTranslation(ui, "labels", "mfaSmsVerification"); - return ; + return ( + + ); } diff --git a/examples/shadcn/src/components/multi-factor-auth-enrollment-screen.tsx b/examples/shadcn/src/components/multi-factor-auth-enrollment-screen.tsx index fa624739..c226b87e 100644 --- a/examples/shadcn/src/components/multi-factor-auth-enrollment-screen.tsx +++ b/examples/shadcn/src/components/multi-factor-auth-enrollment-screen.tsx @@ -1,22 +1,21 @@ "use client"; -import React, { type PropsWithChildren } from "react"; import { getTranslation } from "@invertase/firebaseui-core"; import { useUI, type MultiFactorAuthEnrollmentFormProps } from "@invertase/firebaseui-react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { MultiFactorAuthEnrollmentForm } from "@/components/multi-factor-auth-enrollment-form"; -export type MultiFactorAuthEnrollmentScreenProps = PropsWithChildren; +export type MultiFactorAuthEnrollmentScreenProps = MultiFactorAuthEnrollmentFormProps; -export function MultiFactorAuthEnrollmentScreen({ children, ...props }: MultiFactorAuthEnrollmentScreenProps) { +export function MultiFactorAuthEnrollmentScreen(props: MultiFactorAuthEnrollmentScreenProps) { const ui = useUI(); const titleText = getTranslation(ui, "labels", "multiFactorEnrollment"); const subtitleText = getTranslation(ui, "prompts", "mfaEnrollmentPrompt"); return ( -
+
{titleText} @@ -24,7 +23,6 @@ export function MultiFactorAuthEnrollmentScreen({ children, ...props }: MultiFac - {children ?
{children}
: null}
diff --git a/examples/shadcn/src/components/oauth-button.tsx b/examples/shadcn/src/components/oauth-button.tsx index d32360a0..3707c201 100644 --- a/examples/shadcn/src/components/oauth-button.tsx +++ b/examples/shadcn/src/components/oauth-button.tsx @@ -18,6 +18,8 @@ export function OAuthButton({ provider, children, themed }: OAuthButtonProps) { onClick={callback} data-provider={provider.providerId} data-themed={themed} + className="w-full" + variant={themed ? "default" : "outline"} > {children} diff --git a/examples/shadcn/src/components/oauth-screen.tsx b/examples/shadcn/src/components/oauth-screen.tsx index 6b021505..de30235c 100644 --- a/examples/shadcn/src/components/oauth-screen.tsx +++ b/examples/shadcn/src/components/oauth-screen.tsx @@ -1,6 +1,7 @@ "use client"; import { getTranslation } from "@invertase/firebaseui-core"; +import { type UserCredential } from "firebase/auth"; import { type PropsWithChildren } from "react"; import { useUI } from "@invertase/firebaseui-react"; import { Card, CardContent, CardHeader, CardDescription, CardTitle } from "@/components/ui/card"; @@ -8,9 +9,11 @@ import { Policies } from "@/components/policies"; import { MultiFactorAuthAssertionForm } from "@/components/multi-factor-auth-assertion-form"; import { RedirectError } from "@/components/redirect-error"; -export type OAuthScreenProps = PropsWithChildren; +export type OAuthScreenProps = PropsWithChildren<{ + onSignIn?: (credential: UserCredential) => void; +}>; -export function OAuthScreen({ children }: OAuthScreenProps) { +export function OAuthScreen({ children, onSignIn }: OAuthScreenProps) { const ui = useUI(); const titleText = getTranslation(ui, "labels", "signIn"); @@ -18,7 +21,7 @@ export function OAuthScreen({ children }: OAuthScreenProps) { const mfaResolver = ui.multiFactorResolver; return ( -
+
{titleText} @@ -26,11 +29,15 @@ export function OAuthScreen({ children }: OAuthScreenProps) { {mfaResolver ? ( - + { + onSignIn?.(credential); + }} + /> ) : ( <> -
- {children} +
{children}
+
diff --git a/examples/shadcn/src/components/phone-auth-form.tsx b/examples/shadcn/src/components/phone-auth-form.tsx index 3e5b2d37..f13c6729 100644 --- a/examples/shadcn/src/components/phone-auth-form.tsx +++ b/examples/shadcn/src/components/phone-auth-form.tsx @@ -1,7 +1,6 @@ "use client"; import { - CountrySelector, type PhoneAuthFormProps, usePhoneAuthNumberFormSchema, usePhoneAuthVerifyFormSchema, @@ -27,7 +26,8 @@ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from " import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; import { Policies } from "@/components/policies"; -import { type CountrySelectorRef } from "@/components/country-selector"; +import { CountrySelector, type CountrySelectorRef } from "@/components/country-selector"; +import { InputOTP, InputOTPGroup, InputOTPSlot } from "@/components/ui/input-otp"; type VerifyPhoneNumberFormProps = { verificationId: string; @@ -59,7 +59,7 @@ function VerifyPhoneNumberForm(props: VerifyPhoneNumberFormProps) { return (
- + {getTranslation(ui, "labels", "verificationCode")} - + + + + + + + + + + @@ -114,7 +123,7 @@ function PhoneNumberForm(props: PhoneNumberFormProps) { return ( - + +
{titleText} @@ -27,13 +27,17 @@ export function PhoneAuthScreen({ children, ...props }: PhoneAuthScreenProps) { {mfaResolver ? ( - + { + props.onSignIn?.(credential); + }} + /> ) : ( <> {children ? ( <> - {getTranslation(ui, "messages", "dividerOr")} +
{children} diff --git a/examples/shadcn/src/components/redirect-error.tsx b/examples/shadcn/src/components/redirect-error.tsx index 4a51241a..b76348cb 100644 --- a/examples/shadcn/src/components/redirect-error.tsx +++ b/examples/shadcn/src/components/redirect-error.tsx @@ -9,5 +9,5 @@ export function RedirectError() { return null; } - return
{error}
; + return
{error}
; } diff --git a/examples/shadcn/src/components/sign-in-auth-form.tsx b/examples/shadcn/src/components/sign-in-auth-form.tsx index 2d4e5076..69b5fff3 100644 --- a/examples/shadcn/src/components/sign-in-auth-form.tsx +++ b/examples/shadcn/src/components/sign-in-auth-form.tsx @@ -1,7 +1,12 @@ "use client"; import type { SignInAuthFormSchema } from "@invertase/firebaseui-core"; -import { useSignInAuthFormAction, useSignInAuthFormSchema, useUI, type SignInAuthFormProps } from "@invertase/firebaseui-react"; +import { + useSignInAuthFormAction, + useSignInAuthFormSchema, + useUI, + type SignInAuthFormProps, +} from "@invertase/firebaseui-react"; import { useForm } from "react-hook-form"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; @@ -9,7 +14,7 @@ import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; -import { Policies } from "./policies"; +import { Policies } from "@/components/policies"; export type { SignInAuthFormProps }; @@ -38,7 +43,7 @@ export function SignInAuthForm(props: SignInAuthFormProps) { return ( - + ( - {getTranslation(ui, "labels", "password")} + + {getTranslation(ui, "labels", "password")} + {props.onForgotPasswordClick ? ( + + ) : null} + -
- - {props.onForgotPasswordClick ? ( - - ) : null} -
+
@@ -79,8 +84,10 @@ export function SignInAuthForm(props: SignInAuthFormProps) { {form.formState.errors.root && {form.formState.errors.root.message}} {props.onSignUpClick ? ( <> - ) : null} diff --git a/examples/shadcn/src/components/sign-in-auth-screen.tsx b/examples/shadcn/src/components/sign-in-auth-screen.tsx index 8cef065e..08726956 100644 --- a/examples/shadcn/src/components/sign-in-auth-screen.tsx +++ b/examples/shadcn/src/components/sign-in-auth-screen.tsx @@ -19,7 +19,7 @@ export function SignInAuthScreen({ children, ...props }: SignInAuthScreenProps) const mfaResolver = ui.multiFactorResolver; return ( -
+
{titleText} @@ -27,13 +27,17 @@ export function SignInAuthScreen({ children, ...props }: SignInAuthScreenProps) {mfaResolver ? ( - + { + props.onSignIn?.(credential); + }} + /> ) : ( <> {children ? ( <> - {getTranslation(ui, "messages", "dividerOr")} +
{children}
) : null} diff --git a/examples/shadcn/src/components/sign-up-auth-form.tsx b/examples/shadcn/src/components/sign-up-auth-form.tsx index 920c5d6b..0181af85 100644 --- a/examples/shadcn/src/components/sign-up-auth-form.tsx +++ b/examples/shadcn/src/components/sign-up-auth-form.tsx @@ -46,7 +46,7 @@ export function SignUpAuthForm(props: SignUpAuthFormProps) { return ( - + {form.formState.errors.root && {form.formState.errors.root.message}} {props.onBackToSignInClick ? ( - ) : null} diff --git a/examples/shadcn/src/components/sign-up-auth-screen.tsx b/examples/shadcn/src/components/sign-up-auth-screen.tsx index a0382264..043308aa 100644 --- a/examples/shadcn/src/components/sign-up-auth-screen.tsx +++ b/examples/shadcn/src/components/sign-up-auth-screen.tsx @@ -6,6 +6,7 @@ import { useUI, type SignUpAuthScreenProps } from "@invertase/firebaseui-react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Separator } from "@/components/ui/separator"; import { SignUpAuthForm } from "@/components/sign-up-auth-form"; +import { MultiFactorAuthAssertionForm } from "@/components/multi-factor-auth-assertion-form"; export type { SignUpAuthScreenProps }; @@ -14,22 +15,29 @@ export function SignUpAuthScreen({ children, ...props }: SignUpAuthScreenProps) const titleText = getTranslation(ui, "labels", "signUp"); const subtitleText = getTranslation(ui, "prompts", "enterDetailsToCreate"); + const mfaResolver = ui.multiFactorResolver; return ( -
+
{titleText} {subtitleText} - - {children ? ( + {mfaResolver ? ( + props.onSignUp?.(credential)} /> + ) : ( <> - {getTranslation(ui, "messages", "dividerOr")} -
{children}
+ + {children ? ( + <> + +
{children}
+ + ) : null} - ) : null} + )}
diff --git a/examples/shadcn/src/components/sms-multi-factor-assertion-form.tsx b/examples/shadcn/src/components/sms-multi-factor-assertion-form.tsx index b7a79a63..d4ee6978 100644 --- a/examples/shadcn/src/components/sms-multi-factor-assertion-form.tsx +++ b/examples/shadcn/src/components/sms-multi-factor-assertion-form.tsx @@ -1,7 +1,7 @@ "use client"; import { useRef, useState } from "react"; -import { type MultiFactorInfo, type UserCredential } from "firebase/auth"; +import { type UserCredential, type MultiFactorInfo } from "firebase/auth"; import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { @@ -95,7 +95,7 @@ function SmsMultiFactorAssertionVerifyForm(props: SmsMultiFactorAssertionVerifyF return (
- + - + - + - +
- + svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current", + { + variants: { + variant: { + default: "bg-card text-card-foreground", + destructive: + "text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90", + }, + }, + defaultVariants: { + variant: "default", + }, + } +) + +function Alert({ + className, + variant, + ...props +}: React.ComponentProps<"div"> & VariantProps) { + return ( +
+ ) +} + +function AlertTitle({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function AlertDescription({ + className, + ...props +}: React.ComponentProps<"div">) { + return ( +
+ ) +} + +export { Alert, AlertTitle, AlertDescription } diff --git a/examples/shadcn/src/components/ui/item.tsx b/examples/shadcn/src/components/ui/item.tsx new file mode 100644 index 00000000..d97de21e --- /dev/null +++ b/examples/shadcn/src/components/ui/item.tsx @@ -0,0 +1,193 @@ +import * as React from "react" +import { Slot } from "@radix-ui/react-slot" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" +import { Separator } from "@/components/ui/separator" + +function ItemGroup({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function ItemSeparator({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +const itemVariants = cva( + "group/item flex items-center border border-transparent text-sm rounded-md transition-colors [a]:hover:bg-accent/50 [a]:transition-colors duration-100 flex-wrap outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", + { + variants: { + variant: { + default: "bg-transparent", + outline: "border-border", + muted: "bg-muted/50", + }, + size: { + default: "p-4 gap-4 ", + sm: "py-3 px-4 gap-2.5", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + } +) + +function Item({ + className, + variant = "default", + size = "default", + asChild = false, + ...props +}: React.ComponentProps<"div"> & + VariantProps & { asChild?: boolean }) { + const Comp = asChild ? Slot : "div" + return ( + + ) +} + +const itemMediaVariants = cva( + "flex shrink-0 items-center justify-center gap-2 group-has-[[data-slot=item-description]]/item:self-start [&_svg]:pointer-events-none group-has-[[data-slot=item-description]]/item:translate-y-0.5", + { + variants: { + variant: { + default: "bg-transparent", + icon: "size-8 border rounded-sm bg-muted [&_svg:not([class*='size-'])]:size-4", + image: + "size-10 rounded-sm overflow-hidden [&_img]:size-full [&_img]:object-cover", + }, + }, + defaultVariants: { + variant: "default", + }, + } +) + +function ItemMedia({ + className, + variant = "default", + ...props +}: React.ComponentProps<"div"> & VariantProps) { + return ( +
+ ) +} + +function ItemContent({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function ItemTitle({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function ItemDescription({ className, ...props }: React.ComponentProps<"p">) { + return ( +

a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4", + className + )} + {...props} + /> + ) +} + +function ItemActions({ className, ...props }: React.ComponentProps<"div">) { + return ( +

+ ) +} + +function ItemHeader({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +function ItemFooter({ className, ...props }: React.ComponentProps<"div">) { + return ( +
+ ) +} + +export { + Item, + ItemMedia, + ItemContent, + ItemActions, + ItemGroup, + ItemSeparator, + ItemTitle, + ItemDescription, + ItemHeader, + ItemFooter, +} diff --git a/examples/shadcn/src/firebase/hooks.ts b/examples/shadcn/src/firebase/hooks.ts index 550392fe..3d89e07e 100644 --- a/examples/shadcn/src/firebase/hooks.ts +++ b/examples/shadcn/src/firebase/hooks.ts @@ -21,8 +21,8 @@ import { type User } from "firebase/auth"; import { useEffect } from "react"; import { auth } from "./firebase"; -export function useUser(initalUser?: User | null) { - const [user, setUser] = useState(initalUser ?? null); +export function useUser() { + const [user, setUser] = useState(auth.currentUser); useEffect(() => { const unsubscribe = onAuthStateChanged(auth, setUser); diff --git a/examples/shadcn/src/index.css b/examples/shadcn/src/index.css index e87ca4ff..618b2bd4 100644 --- a/examples/shadcn/src/index.css +++ b/examples/shadcn/src/index.css @@ -1,7 +1,7 @@ @import "tailwindcss"; @import "tw-animate-css"; -@custom-variant dark (&:is(.dark *)); +@custom-variant dark (&:where(.dark, .dark *)); @theme inline { --radius-sm: calc(var(--radius) - 4px); @@ -122,82 +122,60 @@ @layer components { button[data-provider='apple.com'][data-themed='true'] { --apple-primary: #000000; - --color-primary: var(--apple-primary); - --color-primary-hover: --alpha(var(--apple-primary) / 85%); - --color-primary-surface: #FFFFFF; - --color-border: var(--apple-primary); + --primary: var(--apple-primary); + --primary-foreground: var(--color-white); } button[data-provider='facebook.com'][data-themed='true'] { --facebook-primary: #1877F2; - --color-primary: var(--facebook-primary); - --color-primary-hover: --alpha(var(--facebook-primary) / 85%); - --color-primary-surface: var(--color-white); - --color-border: var(--facebook-primary); + --primary: var(--facebook-primary); + --primary-foreground: var(--color-white); } button[data-provider='github.com'][data-themed='true'] { --github-primary: #000000; - --color-primary: var(--github-primary); - --color-primary-hover: --alpha(var(--github-primary) / 85%); - --color-primary-surface: #FFFFFF; - --color-border: var(--github-primary); + --primary: var(--github-primary); + --primary-foreground: var(--color-white); } button[data-provider='google.com'][data-themed='true'] { --google-primary: #131314; - --color-primary: var(--google-primary); - --color-primary-hover: --alpha(var(--google-primary) / 85%); - --color-primary-surface: #FFFFFF; - --color-border: var(--google-primary); + --primary: var(--google-primary); + --primary-foreground: var(--color-white); } button[data-provider='google.com'][data-themed='neutral'] { --google-primary: #F2F2F2; - --color-primary: var(--google-primary); - --color-primary-hover: --alpha(var(--google-primary) / 85%); - --color-primary-surface: #1F1F1F; - --color-border: transparent; + --primary: var(--google-primary); + --primary-foreground: var(--color-black); } button[data-provider='microsoft.com'][data-themed='true'] { --microsoft-primary: #2F2F2F; - --color-primary: var(--microsoft-primary); - --color-primary-hover: --alpha(var(--microsoft-primary) / 85%); - --color-primary-surface: #FFFFFF; - --color-border: var(--microsoft-primary); + --primary: var(--microsoft-primary); + --primary-foreground: var(--color-white); } button[data-provider='twitter.com'][data-themed='true'] { --twitter-primary: #1DA1F2; - --color-primary: var(--twitter-primary); - --color-primary-hover: --alpha(var(--twitter-primary) / 85%); - --color-primary-surface: #FFFFFF; - --color-border: var(--twitter-primary); + --primary: var(--twitter-primary); + --primary-foreground: var(--color-white); } } @variant dark { button[data-provider='apple.com'][data-themed='true'] { --apple-primary: var(--color-white); - --color-primary: var(--apple-primary); - --color-primary-hover: --alpha(var(--apple-primary) / 85%); - --color-primary-surface: var(--color-black); - --color-border: var(--color-white); + --primary: var(--apple-primary); + --primary-foreground: var(--color-black); } button[data-provider='github.com'][data-themed='true'] { --github-primary: var(--color-white); - --color-primary: var(--github-primary); - --color-primary-hover: --alpha(var(--github-primary) / 85%); - --color-primary-surface: var(--color-black); - --color-border: var(--color-white); + --primary: var(--github-primary); + --primary-foreground: var(--color-black); } button[data-provider='google.com'][data-themed='true'] { --google-primary: #FFFFFF; - --color-primary: var(--google-primary); - --color-primary-hover: --alpha(var(--google-primary) / 85%); - --color-primary-surface: #1F1F1F; - --color-border: #747775; + --primary: var(--google-primary); + --primary-foreground: var(--color-black); } button[data-provider='microsoft.com'][data-themed='true'] { --microsoft-primary: var(--color-white); - --color-primary: var(--microsoft-primary); - --color-primary-hover: --alpha(var(--microsoft-primary) / 85%); - --color-primary-surface: #5E5E5E; - --color-border: var(--color-white); + --primary: var(--microsoft-primary); + --primary-foreground: var(--color-black); } } \ No newline at end of file diff --git a/examples/shadcn/src/main.tsx b/examples/shadcn/src/main.tsx index f2fb091d..d64b4d18 100644 --- a/examples/shadcn/src/main.tsx +++ b/examples/shadcn/src/main.tsx @@ -14,12 +14,13 @@ * limitations under the License. */ -import { BrowserRouter, Routes, Route } from "react-router"; +import { BrowserRouter, Routes, Route, Outlet, Link } from "react-router"; import ReactDOM from "react-dom/client"; import { FirebaseUIProvider } from "@invertase/firebaseui-react"; import { ui, auth } from "./firebase/firebase"; import App from "./App"; +import { Button } from "@/components/ui/button"; import { hiddenRoutes, routes } from "./routes"; const root = document.getElementById("root")!; @@ -37,13 +38,67 @@ auth.authStateReady().then(() => { privacyPolicyUrl: "https://www.google.com", }} > + } /> - {allRoutes.map((route) => ( - } /> - ))} + }> + {allRoutes.map((route) => ( + } /> + ))} + ); }); + +function ScreeRoute() { + return ( +
+ + + +
+ +
+
+ ); +} + +function ThemeToggle() { + return ( + + ); +} diff --git a/examples/shadcn/src/routes.ts b/examples/shadcn/src/routes.ts index a83309ac..1f5d535a 100644 --- a/examples/shadcn/src/routes.ts +++ b/examples/shadcn/src/routes.ts @@ -11,6 +11,7 @@ import OAuthScreenPage from "./screens/oauth-screen"; import PhoneAuthScreenPage from "./screens/phone-auth-screen"; import PhoneAuthScreenWithOAuthPage from "./screens/phone-auth-screen-w-oauth"; import MultiFactorAuthEnrollmentScreenPage from "./screens/mfa-enrollment-screen"; +import ForgotPasswordAuthScreenWithHandlersPage from "./screens/forgot-password-auth-screen-w-handlers"; export const routes = [ { @@ -67,6 +68,12 @@ export const routes = [ path: "/screens/forgot-password-screen", component: ForgotPasswordAuthScreenPage, }, + { + name: "Forgot Password Screen (with handlers)", + description: "A screen allowing a user to reset their password, with handlers", + path: "/screens/forgot-password-auth-screen-w-handlers", + component: ForgotPasswordAuthScreenWithHandlersPage, + }, { name: "OAuth Screen", description: "A screen which allows a user to sign in with OAuth only", diff --git a/examples/shadcn/src/screens/forgot-password-auth-screen-w-handlers.tsx b/examples/shadcn/src/screens/forgot-password-auth-screen-w-handlers.tsx new file mode 100644 index 00000000..501efbc2 --- /dev/null +++ b/examples/shadcn/src/screens/forgot-password-auth-screen-w-handlers.tsx @@ -0,0 +1,25 @@ +/** + * Copyright 2025 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +"use client"; + +import { ForgotPasswordAuthScreen } from "@/components/forgot-password-auth-screen"; +import { useNavigate } from "react-router"; + +export default function ForgotPasswordAuthScreenWithHandlersPage() { + const navigate = useNavigate(); + + return navigate("/screens/sign-in-auth-screen")} />; +} diff --git a/examples/shadcn/src/screens/mfa-enrollment-screen.tsx b/examples/shadcn/src/screens/mfa-enrollment-screen.tsx index 9212d145..b03a7a36 100644 --- a/examples/shadcn/src/screens/mfa-enrollment-screen.tsx +++ b/examples/shadcn/src/screens/mfa-enrollment-screen.tsx @@ -16,7 +16,16 @@ "use client"; import { MultiFactorAuthEnrollmentScreen } from "@/components/multi-factor-auth-enrollment-screen"; +import { useNavigate } from "react-router"; export default function MultiFactorAuthEnrollmentScreenPage() { - return ; + const navigate = useNavigate(); + + return ( + { + navigate("/"); + }} + /> + ); } diff --git a/examples/shadcn/src/screens/oauth-screen.tsx b/examples/shadcn/src/screens/oauth-screen.tsx index d9b1cf17..edc26760 100644 --- a/examples/shadcn/src/screens/oauth-screen.tsx +++ b/examples/shadcn/src/screens/oauth-screen.tsx @@ -22,18 +22,25 @@ import { GitHubSignInButton } from "@/components/github-sign-in-button"; import { MicrosoftSignInButton } from "@/components/microsoft-sign-in-button"; import { TwitterSignInButton } from "@/components/twitter-sign-in-button"; import { OAuthScreen } from "@/components/oauth-screen"; +import { useState } from "react"; export default function OAuthScreenPage() { const [themed, setThemed] = useState(false); return ( - - - - - - - - + <> + + + + + + + + +
+ setThemed(!themed)} /> + +
+ ); } diff --git a/examples/shadcn/src/screens/phone-auth-screen.tsx b/examples/shadcn/src/screens/phone-auth-screen.tsx index 84176aa4..d85868e4 100644 --- a/examples/shadcn/src/screens/phone-auth-screen.tsx +++ b/examples/shadcn/src/screens/phone-auth-screen.tsx @@ -16,6 +16,7 @@ "use client"; import { PhoneAuthScreen } from "@/components/phone-auth-screen"; +import { useNavigate } from "react-router"; export default function PhoneAuthScreenPage() { const navigate = useNavigate(); diff --git a/examples/shadcn/src/screens/sign-in-auth-screen-w-handlers.tsx b/examples/shadcn/src/screens/sign-in-auth-screen-w-handlers.tsx index 14edb88a..19595212 100644 --- a/examples/shadcn/src/screens/sign-in-auth-screen-w-handlers.tsx +++ b/examples/shadcn/src/screens/sign-in-auth-screen-w-handlers.tsx @@ -25,7 +25,7 @@ export default function SignInAuthScreenWithHandlersPage() { onForgotPasswordClick={() => { navigate("/screens/forgot-password-auth-screen"); }} - onRegisterClick={() => { + onSignUpClick={() => { navigate("/screens/sign-up-auth-screen"); }} /> diff --git a/examples/shadcn/src/screens/sign-up-auth-screen-w-handlers.tsx b/examples/shadcn/src/screens/sign-up-auth-screen-w-handlers.tsx index 73f23f70..2b53baf1 100644 --- a/examples/shadcn/src/screens/sign-up-auth-screen-w-handlers.tsx +++ b/examples/shadcn/src/screens/sign-up-auth-screen-w-handlers.tsx @@ -22,9 +22,13 @@ export default function SignUpAuthScreenWithHandlersPage() { const navigate = useNavigate(); return ( { + onBackToSignInClick={() => { navigate("/screens/sign-in-auth-screen"); }} + onSignUp={(credential) => { + console.log(credential); + navigate("/"); + }} /> ); } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 359f6850..8cdb3b43 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10006,7 +10006,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2003.7(chokidar@4.0.3) - '@angular-devkit/build-webpack': 0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)))(webpack@5.101.2(esbuild@0.25.9)) + '@angular-devkit/build-webpack': 0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2))(webpack@5.101.2(esbuild@0.25.9)) '@angular-devkit/core': 20.3.7(chokidar@4.0.3) '@angular/build': 20.3.7(1849c53c536bd3612d435156c655d6b9) '@angular/compiler-cli': 20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3) @@ -10056,8 +10056,8 @@ snapshots: tslib: 2.8.1 typescript: 5.9.3 webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) - webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) + webpack-dev-middleware: 7.4.2(webpack@5.101.2) + webpack-dev-server: 5.2.2(webpack@5.101.2) webpack-merge: 6.0.1 webpack-subresource-integrity: 5.1.0(webpack@5.101.2(esbuild@0.25.9)) optionalDependencies: @@ -10097,7 +10097,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2003.7(chokidar@4.0.3) - '@angular-devkit/build-webpack': 0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)))(webpack@5.101.2(esbuild@0.25.9)) + '@angular-devkit/build-webpack': 0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2))(webpack@5.101.2(esbuild@0.25.9)) '@angular-devkit/core': 20.3.7(chokidar@4.0.3) '@angular/build': 20.3.7(1be407f5110624cbb4aee41c10128f32) '@angular/compiler-cli': 20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3) @@ -10147,8 +10147,8 @@ snapshots: tslib: 2.8.1 typescript: 5.9.3 webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) - webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) + webpack-dev-middleware: 7.4.2(webpack@5.101.2) + webpack-dev-server: 5.2.2(webpack@5.101.2) webpack-merge: 6.0.1 webpack-subresource-integrity: 5.1.0(webpack@5.101.2(esbuild@0.25.9)) optionalDependencies: @@ -10182,12 +10182,12 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)))(webpack@5.101.2(esbuild@0.25.9))': + '@angular-devkit/build-webpack@0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2))(webpack@5.101.2(esbuild@0.25.9))': dependencies: '@angular-devkit/architect': 0.2003.7(chokidar@4.0.3) rxjs: 7.8.2 webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) + webpack-dev-server: 5.2.2(webpack@5.101.2) transitivePeerDependencies: - chokidar @@ -20302,7 +20302,7 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@7.4.2(webpack@5.101.2(esbuild@0.25.9)): + webpack-dev-middleware@7.4.2(webpack@5.101.2): dependencies: colorette: 2.0.20 memfs: 4.50.0 @@ -20313,7 +20313,7 @@ snapshots: optionalDependencies: webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)): + webpack-dev-server@5.2.2(webpack@5.101.2): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -20341,7 +20341,7 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) + webpack-dev-middleware: 7.4.2(webpack@5.101.2) ws: 8.18.3 optionalDependencies: webpack: 5.101.2(esbuild@0.25.9) From 3df21be4a006c2a726f08a6658272a9a397c37a5 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Wed, 5 Nov 2025 12:26:40 +0000 Subject: [PATCH 45/56] fix(shadcn): fixed typo in main tsx example --- examples/shadcn/src/main.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/shadcn/src/main.tsx b/examples/shadcn/src/main.tsx index d64b4d18..f4c574a2 100644 --- a/examples/shadcn/src/main.tsx +++ b/examples/shadcn/src/main.tsx @@ -41,7 +41,7 @@ auth.authStateReady().then(() => { } /> - }> + }> {allRoutes.map((route) => ( } /> ))} @@ -52,7 +52,7 @@ auth.authStateReady().then(() => { ); }); -function ScreeRoute() { +function ScreenRoute() { return (
From 6935ba3510b4374249c34e8d96023874bcf04058 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Wed, 5 Nov 2025 13:21:59 +0000 Subject: [PATCH 46/56] chore(*): release packages --- packages/core/package.json | 2 +- packages/react/package.json | 2 +- packages/styles/package.json | 2 +- packages/translations/package.json | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/core/package.json b/packages/core/package.json index 794008f6..61695e3e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@invertase/firebaseui-core", - "version": "0.0.5", + "version": "0.0.6", "description": "Core authentication service for Firebase UI", "type": "module", "main": "./dist/index.cjs", diff --git a/packages/react/package.json b/packages/react/package.json index 83e5ae87..79f39756 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@invertase/firebaseui-react", - "version": "0.0.4", + "version": "0.0.5", "type": "module", "main": "./dist/index.cjs", "module": "./dist/index.js", diff --git a/packages/styles/package.json b/packages/styles/package.json index d233ef3e..55e4a4ac 100644 --- a/packages/styles/package.json +++ b/packages/styles/package.json @@ -1,6 +1,6 @@ { "name": "@invertase/firebaseui-styles", - "version": "0.0.9", + "version": "0.0.10", "type": "module", "zshy": { "exports": { diff --git a/packages/translations/package.json b/packages/translations/package.json index b4c668a3..0b1b5ad0 100644 --- a/packages/translations/package.json +++ b/packages/translations/package.json @@ -1,6 +1,6 @@ { "name": "@invertase/firebaseui-translations", - "version": "0.0.4", + "version": "0.0.5", "description": "Translations for Firebase UI", "type": "module", "main": "./dist/index.cjs", From 96cdd92bdaa19c147558759b61d8e9d10306eb23 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Wed, 5 Nov 2025 16:59:53 +0000 Subject: [PATCH 47/56] fix(shadcn): updated mfa assertion form re-render --- .../multi-factor-auth-assertion-form.tsx | 44 +++++++------------ packages/shadcn/registry-spec.json | 2 +- .../multi-factor-auth-assertion-form.tsx | 44 +++++++------------ pnpm-lock.yaml | 6 +-- 4 files changed, 38 insertions(+), 58 deletions(-) diff --git a/examples/shadcn/src/components/multi-factor-auth-assertion-form.tsx b/examples/shadcn/src/components/multi-factor-auth-assertion-form.tsx index 0bb9a995..c7fbf321 100644 --- a/examples/shadcn/src/components/multi-factor-auth-assertion-form.tsx +++ b/examples/shadcn/src/components/multi-factor-auth-assertion-form.tsx @@ -1,27 +1,25 @@ "use client"; -import { - PhoneMultiFactorGenerator, - TotpMultiFactorGenerator, - type UserCredential, - type MultiFactorInfo, -} from "firebase/auth"; +import { PhoneMultiFactorGenerator, TotpMultiFactorGenerator, type MultiFactorInfo } from "firebase/auth"; import { type ComponentProps, useState } from "react"; import { getTranslation } from "@invertase/firebaseui-core"; import { useUI } from "@invertase/firebaseui-react"; +import { useEffect } from "react"; -import { SmsMultiFactorAssertionForm } from "./sms-multi-factor-assertion-form"; -import { TotpMultiFactorAssertionForm } from "./totp-multi-factor-assertion-form"; +import { SmsMultiFactorAssertionForm } from "@/components/sms-multi-factor-assertion-form"; +import { TotpMultiFactorAssertionForm } from "@/components/totp-multi-factor-assertion-form"; import { Button } from "@/components/ui/button"; -export type MultiFactorAuthAssertionFormProps = { - onSuccess?: (credential: UserCredential) => void; -}; - -export function MultiFactorAuthAssertionForm({ onSuccess }: MultiFactorAuthAssertionFormProps) { +export function MultiFactorAuthAssertionForm() { const ui = useUI(); const resolver = ui.multiFactorResolver; + useEffect(() => { + return () => { + ui.setMultiFactorResolver(); + }; + }, []); + if (!resolver) { throw new Error("MultiFactorAuthAssertionForm requires a multi-factor resolver"); } @@ -33,17 +31,17 @@ export function MultiFactorAuthAssertionForm({ onSuccess }: MultiFactorAuthAsser if (hint) { if (hint.factorId === PhoneMultiFactorGenerator.FACTOR_ID) { - return onSuccess?.(credential)} />; + return ; } if (hint.factorId === TotpMultiFactorGenerator.FACTOR_ID) { - return onSuccess?.(credential)} />; + return ; } } return ( -
-

TODO:Select a multi-factor authentication method

+
+

Select a multi-factor authentication method

{resolver.hints.map((hint) => { if (hint.factorId === TotpMultiFactorGenerator.FACTOR_ID) { return setHint(hint)} />; @@ -62,19 +60,11 @@ export function MultiFactorAuthAssertionForm({ onSuccess }: MultiFactorAuthAsser function TotpButton(props: ComponentProps) { const ui = useUI(); const labelText = getTranslation(ui, "labels", "mfaTotpVerification"); - return ( - - ); + return ; } function SmsButton(props: ComponentProps) { const ui = useUI(); const labelText = getTranslation(ui, "labels", "mfaSmsVerification"); - return ( - - ); + return ; } diff --git a/packages/shadcn/registry-spec.json b/packages/shadcn/registry-spec.json index e1e00f9c..6f98e3b1 100644 --- a/packages/shadcn/registry-spec.json +++ b/packages/shadcn/registry-spec.json @@ -249,7 +249,7 @@ "type": "registry:block", "title": "Multi-Factor Auth Assertion Screen", "description": "A screen allowing users to complete multi-factor authentication during sign-in with TOTP or SMS options.", - "dependencies": ["{{ DEP | @firebase-ui/react }}"], + "dependencies": ["{{ DEP | @invertase/firebaseui-react }}"], "registryDependencies": ["card", "{{ DOMAIN }}/r/multi-factor-auth-assertion-form.json"], "files": [ { diff --git a/packages/shadcn/src/components/multi-factor-auth-assertion-form.tsx b/packages/shadcn/src/components/multi-factor-auth-assertion-form.tsx index 0bb9a995..c7fbf321 100644 --- a/packages/shadcn/src/components/multi-factor-auth-assertion-form.tsx +++ b/packages/shadcn/src/components/multi-factor-auth-assertion-form.tsx @@ -1,27 +1,25 @@ "use client"; -import { - PhoneMultiFactorGenerator, - TotpMultiFactorGenerator, - type UserCredential, - type MultiFactorInfo, -} from "firebase/auth"; +import { PhoneMultiFactorGenerator, TotpMultiFactorGenerator, type MultiFactorInfo } from "firebase/auth"; import { type ComponentProps, useState } from "react"; import { getTranslation } from "@invertase/firebaseui-core"; import { useUI } from "@invertase/firebaseui-react"; +import { useEffect } from "react"; -import { SmsMultiFactorAssertionForm } from "./sms-multi-factor-assertion-form"; -import { TotpMultiFactorAssertionForm } from "./totp-multi-factor-assertion-form"; +import { SmsMultiFactorAssertionForm } from "@/components/sms-multi-factor-assertion-form"; +import { TotpMultiFactorAssertionForm } from "@/components/totp-multi-factor-assertion-form"; import { Button } from "@/components/ui/button"; -export type MultiFactorAuthAssertionFormProps = { - onSuccess?: (credential: UserCredential) => void; -}; - -export function MultiFactorAuthAssertionForm({ onSuccess }: MultiFactorAuthAssertionFormProps) { +export function MultiFactorAuthAssertionForm() { const ui = useUI(); const resolver = ui.multiFactorResolver; + useEffect(() => { + return () => { + ui.setMultiFactorResolver(); + }; + }, []); + if (!resolver) { throw new Error("MultiFactorAuthAssertionForm requires a multi-factor resolver"); } @@ -33,17 +31,17 @@ export function MultiFactorAuthAssertionForm({ onSuccess }: MultiFactorAuthAsser if (hint) { if (hint.factorId === PhoneMultiFactorGenerator.FACTOR_ID) { - return onSuccess?.(credential)} />; + return ; } if (hint.factorId === TotpMultiFactorGenerator.FACTOR_ID) { - return onSuccess?.(credential)} />; + return ; } } return ( -
-

TODO:Select a multi-factor authentication method

+
+

Select a multi-factor authentication method

{resolver.hints.map((hint) => { if (hint.factorId === TotpMultiFactorGenerator.FACTOR_ID) { return setHint(hint)} />; @@ -62,19 +60,11 @@ export function MultiFactorAuthAssertionForm({ onSuccess }: MultiFactorAuthAsser function TotpButton(props: ComponentProps) { const ui = useUI(); const labelText = getTranslation(ui, "labels", "mfaTotpVerification"); - return ( - - ); + return ; } function SmsButton(props: ComponentProps) { const ui = useUI(); const labelText = getTranslation(ui, "labels", "mfaSmsVerification"); - return ( - - ); + return ; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8cdb3b43..ac02755a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -402,16 +402,16 @@ importers: specifier: ^5.2.2 version: 5.2.2(react-hook-form@7.65.0(react@19.1.1)) '@invertase/firebaseui-core': - specifier: 0.0.5 + specifier: '*' version: 0.0.5(firebase@11.10.0) '@invertase/firebaseui-react': specifier: workspace:* version: link:../../packages/react '@invertase/firebaseui-styles': - specifier: 0.0.9 + specifier: '*' version: 0.0.9(typescript@5.9.3) '@invertase/firebaseui-translations': - specifier: 0.0.4 + specifier: '*' version: 0.0.4 '@radix-ui/react-accordion': specifier: ^1.2.12 From b92d23a51b40cbd913f8596863f7f7789cec1c13 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Wed, 5 Nov 2025 17:00:44 +0000 Subject: [PATCH 48/56] chore(*): regen shadcn components --- examples/shadcn/src/components/ui/label.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/examples/shadcn/src/components/ui/label.tsx b/examples/shadcn/src/components/ui/label.tsx index fb5fbc3e..ef7133a7 100644 --- a/examples/shadcn/src/components/ui/label.tsx +++ b/examples/shadcn/src/components/ui/label.tsx @@ -1,5 +1,3 @@ -"use client" - import * as React from "react" import * as LabelPrimitive from "@radix-ui/react-label" From 9ec3764d5117ca75a5d0d972233cfb07e7aaf9cf Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Wed, 5 Nov 2025 17:12:13 +0000 Subject: [PATCH 49/56] chore(shadcn): regn components --- examples/shadcn/package.json | 2 +- .../src/components/email-link-auth-screen.tsx | 28 ++++++++-------- .../multi-factor-auth-assertion-form.tsx | 5 +-- .../multi-factor-auth-assertion-screen.tsx | 30 +++++++++++++++++ .../shadcn/src/components/oauth-screen.tsx | 26 ++++++--------- .../src/components/phone-auth-screen.tsx | 32 ++++++++----------- .../src/components/sign-in-auth-form.tsx | 9 ++---- .../src/components/sign-in-auth-screen.tsx | 26 ++++++--------- .../src/components/sign-up-auth-form.tsx | 19 +++++++++-- .../src/components/sign-up-auth-screen.tsx | 22 ++++++------- .../totp-multi-factor-enrollment-form.tsx | 2 +- examples/shadcn/src/components/ui/label.tsx | 2 ++ 12 files changed, 112 insertions(+), 91 deletions(-) create mode 100644 examples/shadcn/src/components/multi-factor-auth-assertion-screen.tsx diff --git a/examples/shadcn/package.json b/examples/shadcn/package.json index 7df65435..1638ff51 100644 --- a/examples/shadcn/package.json +++ b/examples/shadcn/package.json @@ -14,7 +14,7 @@ "dependencies": { "@hookform/resolvers": "^5.2.2", "@invertase/firebaseui-core": "*", - "@invertase/firebaseui-react": "*", + "@invertase/firebaseui-react": "workspace:*", "@invertase/firebaseui-styles": "*", "@invertase/firebaseui-translations": "*", "@radix-ui/react-accordion": "^1.2.12", diff --git a/examples/shadcn/src/components/email-link-auth-screen.tsx b/examples/shadcn/src/components/email-link-auth-screen.tsx index 4a12e8a5..88828712 100644 --- a/examples/shadcn/src/components/email-link-auth-screen.tsx +++ b/examples/shadcn/src/components/email-link-auth-screen.tsx @@ -6,7 +6,7 @@ import { useUI, type EmailLinkAuthScreenProps } from "@invertase/firebaseui-reac import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Separator } from "@/components/ui/separator"; import { EmailLinkAuthForm } from "@/components/email-link-auth-form"; -import { MultiFactorAuthAssertionForm } from "@/components/multi-factor-auth-assertion-form"; +import { MultiFactorAuthAssertionScreen } from "@/components/multi-factor-auth-assertion-screen"; import { RedirectError } from "@/components/redirect-error"; export type { EmailLinkAuthScreenProps }; @@ -18,6 +18,10 @@ export function EmailLinkAuthScreen({ children, ...props }: EmailLinkAuthScreenP const subtitleText = getTranslation(ui, "prompts", "signInToAccount"); const mfaResolver = ui.multiFactorResolver; + if (mfaResolver) { + return ; + } + return (
@@ -26,22 +30,16 @@ export function EmailLinkAuthScreen({ children, ...props }: EmailLinkAuthScreenP {subtitleText} - {mfaResolver ? ( - props.onSignIn?.(credential)} /> - ) : ( + + {children ? ( <> - - {children ? ( - <> - -
- {children} - -
- - ) : null} + +
+ {children} + +
- )} + ) : null}
diff --git a/examples/shadcn/src/components/multi-factor-auth-assertion-form.tsx b/examples/shadcn/src/components/multi-factor-auth-assertion-form.tsx index c7fbf321..a1285267 100644 --- a/examples/shadcn/src/components/multi-factor-auth-assertion-form.tsx +++ b/examples/shadcn/src/components/multi-factor-auth-assertion-form.tsx @@ -13,6 +13,7 @@ import { Button } from "@/components/ui/button"; export function MultiFactorAuthAssertionForm() { const ui = useUI(); const resolver = ui.multiFactorResolver; + const mfaAssertionFactorPrompt = getTranslation(ui, "prompts", "mfaAssertionFactorPrompt"); useEffect(() => { return () => { @@ -40,8 +41,8 @@ export function MultiFactorAuthAssertionForm() { } return ( -
-

Select a multi-factor authentication method

+
+

{mfaAssertionFactorPrompt}

{resolver.hints.map((hint) => { if (hint.factorId === TotpMultiFactorGenerator.FACTOR_ID) { return setHint(hint)} />; diff --git a/examples/shadcn/src/components/multi-factor-auth-assertion-screen.tsx b/examples/shadcn/src/components/multi-factor-auth-assertion-screen.tsx new file mode 100644 index 00000000..17a1dda7 --- /dev/null +++ b/examples/shadcn/src/components/multi-factor-auth-assertion-screen.tsx @@ -0,0 +1,30 @@ +"use client"; + +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type MultiFactorAuthAssertionScreenProps } from "@invertase/firebaseui-react"; + +import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; +import { MultiFactorAuthAssertionForm } from "@/components/multi-factor-auth-assertion-form"; + +export type MultiFactorAuthEnrollmentScreenProps = MultiFactorAuthAssertionScreenProps; + +export function MultiFactorAuthAssertionScreen(props: MultiFactorAuthEnrollmentScreenProps) { + const ui = useUI(); + + const titleText = getTranslation(ui, "labels", "multiFactorAssertion"); + const subtitleText = getTranslation(ui, "prompts", "mfaAssertionPrompt"); + + return ( +
+ + + {titleText} + {subtitleText} + + + + + +
+ ); +} diff --git a/examples/shadcn/src/components/oauth-screen.tsx b/examples/shadcn/src/components/oauth-screen.tsx index de30235c..1281d74e 100644 --- a/examples/shadcn/src/components/oauth-screen.tsx +++ b/examples/shadcn/src/components/oauth-screen.tsx @@ -6,7 +6,7 @@ import { type PropsWithChildren } from "react"; import { useUI } from "@invertase/firebaseui-react"; import { Card, CardContent, CardHeader, CardDescription, CardTitle } from "@/components/ui/card"; import { Policies } from "@/components/policies"; -import { MultiFactorAuthAssertionForm } from "@/components/multi-factor-auth-assertion-form"; +import { MultiFactorAuthAssertionScreen } from "@/components/multi-factor-auth-assertion-screen"; import { RedirectError } from "@/components/redirect-error"; export type OAuthScreenProps = PropsWithChildren<{ @@ -20,6 +20,10 @@ export function OAuthScreen({ children, onSignIn }: OAuthScreenProps) { const subtitleText = getTranslation(ui, "prompts", "signInToAccount"); const mfaResolver = ui.multiFactorResolver; + if (mfaResolver) { + return ; + } + return (
@@ -28,21 +32,11 @@ export function OAuthScreen({ children, onSignIn }: OAuthScreenProps) { {subtitleText} - {mfaResolver ? ( - { - onSignIn?.(credential); - }} - /> - ) : ( - <> -
{children}
-
- - -
- - )} +
{children}
+
+ + +
diff --git a/examples/shadcn/src/components/phone-auth-screen.tsx b/examples/shadcn/src/components/phone-auth-screen.tsx index c70767ac..ad31fae7 100644 --- a/examples/shadcn/src/components/phone-auth-screen.tsx +++ b/examples/shadcn/src/components/phone-auth-screen.tsx @@ -6,7 +6,7 @@ import { useUI } from "@invertase/firebaseui-react"; import { Card, CardContent, CardHeader, CardDescription, CardTitle } from "@/components/ui/card"; import { Separator } from "@/components/ui/separator"; import { PhoneAuthForm, type PhoneAuthFormProps } from "@/components/phone-auth-form"; -import { MultiFactorAuthAssertionForm } from "@/components/multi-factor-auth-assertion-form"; +import { MultiFactorAuthAssertionScreen } from "@/components/multi-factor-auth-assertion-screen"; import { RedirectError } from "@/components/redirect-error"; export type PhoneAuthScreenProps = PropsWithChildren; @@ -18,6 +18,10 @@ export function PhoneAuthScreen({ children, ...props }: PhoneAuthScreenProps) { const subtitleText = getTranslation(ui, "prompts", "signInToAccount"); const mfaResolver = ui.multiFactorResolver; + if (mfaResolver) { + return ; + } + return (
@@ -26,26 +30,16 @@ export function PhoneAuthScreen({ children, ...props }: PhoneAuthScreenProps) { {subtitleText} - {mfaResolver ? ( - { - props.onSignIn?.(credential); - }} - /> - ) : ( + + {children ? ( <> - - {children ? ( - <> - -
- {children} - -
- - ) : null} + +
+ {children} + +
- )} + ) : null}
diff --git a/examples/shadcn/src/components/sign-in-auth-form.tsx b/examples/shadcn/src/components/sign-in-auth-form.tsx index 69b5fff3..2ea850f5 100644 --- a/examples/shadcn/src/components/sign-in-auth-form.tsx +++ b/examples/shadcn/src/components/sign-in-auth-form.tsx @@ -1,12 +1,7 @@ "use client"; import type { SignInAuthFormSchema } from "@invertase/firebaseui-core"; -import { - useSignInAuthFormAction, - useSignInAuthFormSchema, - useUI, - type SignInAuthFormProps, -} from "@invertase/firebaseui-react"; +import { useSignInAuthFormAction, useSignInAuthFormSchema, useUI, type SignInAuthFormProps } from "@invertase/firebaseui-react"; import { useForm } from "react-hook-form"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; @@ -14,7 +9,7 @@ import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; -import { Policies } from "@/components/policies"; +import { Policies } from "./policies"; export type { SignInAuthFormProps }; diff --git a/examples/shadcn/src/components/sign-in-auth-screen.tsx b/examples/shadcn/src/components/sign-in-auth-screen.tsx index 08726956..322c3484 100644 --- a/examples/shadcn/src/components/sign-in-auth-screen.tsx +++ b/examples/shadcn/src/components/sign-in-auth-screen.tsx @@ -6,7 +6,7 @@ import { useUI, type SignInAuthScreenProps } from "@invertase/firebaseui-react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Separator } from "@/components/ui/separator"; import { SignInAuthForm } from "@/components/sign-in-auth-form"; -import { MultiFactorAuthAssertionForm } from "@/components/multi-factor-auth-assertion-form"; +import { MultiFactorAuthAssertionScreen } from "@/components/multi-factor-auth-assertion-screen"; export type { SignInAuthScreenProps }; @@ -18,6 +18,10 @@ export function SignInAuthScreen({ children, ...props }: SignInAuthScreenProps) const mfaResolver = ui.multiFactorResolver; + if (mfaResolver) { + return ; + } + return (
@@ -26,23 +30,13 @@ export function SignInAuthScreen({ children, ...props }: SignInAuthScreenProps) {subtitleText} - {mfaResolver ? ( - { - props.onSignIn?.(credential); - }} - /> - ) : ( + + {children ? ( <> - - {children ? ( - <> - -
{children}
- - ) : null} + +
{children}
- )} + ) : null}
diff --git a/examples/shadcn/src/components/sign-up-auth-form.tsx b/examples/shadcn/src/components/sign-up-auth-form.tsx index 0181af85..b915fda2 100644 --- a/examples/shadcn/src/components/sign-up-auth-form.tsx +++ b/examples/shadcn/src/components/sign-up-auth-form.tsx @@ -47,6 +47,21 @@ export function SignUpAuthForm(props: SignUpAuthFormProps) { return ( + {requireDisplayName ? ( + ( + + {getTranslation(ui, "labels", "displayName")} + + + + + + )} + /> + ) : null} {form.formState.errors.root && {form.formState.errors.root.message}} - {props.onBackToSignInClick ? ( -
diff --git a/examples/shadcn/src/components/ui/label.tsx b/examples/shadcn/src/components/ui/label.tsx index ef7133a7..fb5fbc3e 100644 --- a/examples/shadcn/src/components/ui/label.tsx +++ b/examples/shadcn/src/components/ui/label.tsx @@ -1,3 +1,5 @@ +"use client" + import * as React from "react" import * as LabelPrimitive from "@radix-ui/react-label" From 77fc0c74162044d404b1f23089b33aa4119daf81 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Wed, 5 Nov 2025 17:34:18 +0000 Subject: [PATCH 50/56] chore(*): release packages --- packages/angular/src/lib/components/logos/microsoft.ts | 7 +------ packages/core/package.json | 2 +- packages/react/package.json | 2 +- .../src/components/multi-factor-auth-assertion-screen.tsx | 4 ++-- packages/styles/package.json | 2 +- packages/translations/package.json | 2 +- 6 files changed, 7 insertions(+), 12 deletions(-) diff --git a/packages/angular/src/lib/components/logos/microsoft.ts b/packages/angular/src/lib/components/logos/microsoft.ts index 88006faf..2b054beb 100644 --- a/packages/angular/src/lib/components/logos/microsoft.ts +++ b/packages/angular/src/lib/components/logos/microsoft.ts @@ -22,12 +22,7 @@ import { Component, input } from "@angular/core"; selector: "fui-microsoft-logo", standalone: true, template: ` - - - - - - + `, }) export class MicrosoftLogoComponent { diff --git a/packages/core/package.json b/packages/core/package.json index 61695e3e..44d4fdae 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@invertase/firebaseui-core", - "version": "0.0.6", + "version": "0.0.7", "description": "Core authentication service for Firebase UI", "type": "module", "main": "./dist/index.cjs", diff --git a/packages/react/package.json b/packages/react/package.json index 79f39756..9290f6ef 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@invertase/firebaseui-react", - "version": "0.0.5", + "version": "0.0.6", "type": "module", "main": "./dist/index.cjs", "module": "./dist/index.js", diff --git a/packages/shadcn/src/components/multi-factor-auth-assertion-screen.tsx b/packages/shadcn/src/components/multi-factor-auth-assertion-screen.tsx index 3b4b2b90..17a1dda7 100644 --- a/packages/shadcn/src/components/multi-factor-auth-assertion-screen.tsx +++ b/packages/shadcn/src/components/multi-factor-auth-assertion-screen.tsx @@ -1,7 +1,7 @@ "use client"; -import { getTranslation } from "@firebase-ui/core"; -import { useUI, type MultiFactorAuthAssertionScreenProps } from "@firebase-ui/react"; +import { getTranslation } from "@invertase/firebaseui-core"; +import { useUI, type MultiFactorAuthAssertionScreenProps } from "@invertase/firebaseui-react"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { MultiFactorAuthAssertionForm } from "@/components/multi-factor-auth-assertion-form"; diff --git a/packages/styles/package.json b/packages/styles/package.json index 55e4a4ac..5a87acf4 100644 --- a/packages/styles/package.json +++ b/packages/styles/package.json @@ -1,6 +1,6 @@ { "name": "@invertase/firebaseui-styles", - "version": "0.0.10", + "version": "0.0.11", "type": "module", "zshy": { "exports": { diff --git a/packages/translations/package.json b/packages/translations/package.json index 0b1b5ad0..6bb33fbf 100644 --- a/packages/translations/package.json +++ b/packages/translations/package.json @@ -1,6 +1,6 @@ { "name": "@invertase/firebaseui-translations", - "version": "0.0.5", + "version": "0.0.6", "description": "Translations for Firebase UI", "type": "module", "main": "./dist/index.cjs", From ab9b5f2b1a0dfc04686765e81872b46990fa0518 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Wed, 5 Nov 2025 17:45:52 +0000 Subject: [PATCH 51/56] fix(*): updated react package deps --- .../src/lib/components/logos/microsoft.ts | 7 +++++- .../multi-factor-auth-assertion-screen.tsx | 2 +- pnpm-lock.yaml | 22 +++++++++---------- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/packages/angular/src/lib/components/logos/microsoft.ts b/packages/angular/src/lib/components/logos/microsoft.ts index 2b054beb..88006faf 100644 --- a/packages/angular/src/lib/components/logos/microsoft.ts +++ b/packages/angular/src/lib/components/logos/microsoft.ts @@ -22,7 +22,12 @@ import { Component, input } from "@angular/core"; selector: "fui-microsoft-logo", standalone: true, template: ` - + + + + + + `, }) export class MicrosoftLogoComponent { diff --git a/packages/react/src/auth/screens/multi-factor-auth-assertion-screen.tsx b/packages/react/src/auth/screens/multi-factor-auth-assertion-screen.tsx index b449b5b2..1d6ff4b9 100644 --- a/packages/react/src/auth/screens/multi-factor-auth-assertion-screen.tsx +++ b/packages/react/src/auth/screens/multi-factor-auth-assertion-screen.tsx @@ -1,4 +1,4 @@ -import { getTranslation } from "@firebase-ui/core"; +import { getTranslation } from "@invertase/firebaseui-core"; import { Card, CardContent, CardHeader, CardSubtitle, CardTitle } from "~/components/card"; import { useUI } from "~/hooks"; import { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ac02755a..345da5b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10006,7 +10006,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2003.7(chokidar@4.0.3) - '@angular-devkit/build-webpack': 0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2))(webpack@5.101.2(esbuild@0.25.9)) + '@angular-devkit/build-webpack': 0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)))(webpack@5.101.2(esbuild@0.25.9)) '@angular-devkit/core': 20.3.7(chokidar@4.0.3) '@angular/build': 20.3.7(1849c53c536bd3612d435156c655d6b9) '@angular/compiler-cli': 20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3) @@ -10056,8 +10056,8 @@ snapshots: tslib: 2.8.1 typescript: 5.9.3 webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-middleware: 7.4.2(webpack@5.101.2) - webpack-dev-server: 5.2.2(webpack@5.101.2) + webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) + webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) webpack-merge: 6.0.1 webpack-subresource-integrity: 5.1.0(webpack@5.101.2(esbuild@0.25.9)) optionalDependencies: @@ -10097,7 +10097,7 @@ snapshots: dependencies: '@ampproject/remapping': 2.3.0 '@angular-devkit/architect': 0.2003.7(chokidar@4.0.3) - '@angular-devkit/build-webpack': 0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2))(webpack@5.101.2(esbuild@0.25.9)) + '@angular-devkit/build-webpack': 0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)))(webpack@5.101.2(esbuild@0.25.9)) '@angular-devkit/core': 20.3.7(chokidar@4.0.3) '@angular/build': 20.3.7(1be407f5110624cbb4aee41c10128f32) '@angular/compiler-cli': 20.3.7(@angular/compiler@20.3.7)(typescript@5.9.3) @@ -10147,8 +10147,8 @@ snapshots: tslib: 2.8.1 typescript: 5.9.3 webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-middleware: 7.4.2(webpack@5.101.2) - webpack-dev-server: 5.2.2(webpack@5.101.2) + webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) + webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) webpack-merge: 6.0.1 webpack-subresource-integrity: 5.1.0(webpack@5.101.2(esbuild@0.25.9)) optionalDependencies: @@ -10182,12 +10182,12 @@ snapshots: - webpack-cli - yaml - '@angular-devkit/build-webpack@0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2))(webpack@5.101.2(esbuild@0.25.9))': + '@angular-devkit/build-webpack@0.2003.7(chokidar@4.0.3)(webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)))(webpack@5.101.2(esbuild@0.25.9))': dependencies: '@angular-devkit/architect': 0.2003.7(chokidar@4.0.3) rxjs: 7.8.2 webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-server: 5.2.2(webpack@5.101.2) + webpack-dev-server: 5.2.2(webpack@5.101.2(esbuild@0.25.9)) transitivePeerDependencies: - chokidar @@ -20302,7 +20302,7 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@7.4.2(webpack@5.101.2): + webpack-dev-middleware@7.4.2(webpack@5.101.2(esbuild@0.25.9)): dependencies: colorette: 2.0.20 memfs: 4.50.0 @@ -20313,7 +20313,7 @@ snapshots: optionalDependencies: webpack: 5.101.2(esbuild@0.25.9) - webpack-dev-server@5.2.2(webpack@5.101.2): + webpack-dev-server@5.2.2(webpack@5.101.2(esbuild@0.25.9)): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -20341,7 +20341,7 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 7.4.2(webpack@5.101.2) + webpack-dev-middleware: 7.4.2(webpack@5.101.2(esbuild@0.25.9)) ws: 8.18.3 optionalDependencies: webpack: 5.101.2(esbuild@0.25.9) From 6fce4ef8bcb6c8cedbdf9914b0ef0270bb427347 Mon Sep 17 00:00:00 2001 From: Darren Ackers Date: Thu, 6 Nov 2025 11:26:04 +0000 Subject: [PATCH 52/56] chore(*): ran formatting --- examples/nextjs/lib/examples/2/page.tsx | 9 +- examples/nextjs/next.config.ts | 6 +- .../src/components/sign-in-auth-form.tsx | 7 +- examples/shadcn/src/components/ui/alert.tsx | 39 ++---- examples/shadcn/src/components/ui/button.tsx | 30 ++--- examples/shadcn/src/components/ui/card.tsx | 62 ++-------- examples/shadcn/src/components/ui/form.tsx | 111 +++++++----------- .../shadcn/src/components/ui/input-otp.tsx | 39 +++--- examples/shadcn/src/components/ui/input.tsx | 8 +- examples/shadcn/src/components/ui/item.tsx | 89 +++++--------- examples/shadcn/src/components/ui/label.tsx | 17 ++- examples/shadcn/src/components/ui/select.tsx | 75 ++++-------- .../shadcn/src/components/ui/separator.tsx | 10 +- .../lib/auth/forms/phone-auth-form.spec.ts | 7 +- packages/core/vite.config.ts | 5 +- .../src/auth/forms/email-link-auth-form.tsx | 7 +- .../mfa/sms-multi-factor-assertion-form.tsx | 7 +- .../src/auth/forms/sign-up-auth-form.tsx | 7 +- .../src/components/sign-in-auth-form.tsx | 7 +- 19 files changed, 210 insertions(+), 332 deletions(-) diff --git a/examples/nextjs/lib/examples/2/page.tsx b/examples/nextjs/lib/examples/2/page.tsx index f308e09b..69a89811 100644 --- a/examples/nextjs/lib/examples/2/page.tsx +++ b/examples/nextjs/lib/examples/2/page.tsx @@ -17,7 +17,14 @@ "use client"; import { useState } from "react"; -import { EmailPasswordForm, RegisterForm, Card, CardHeader, CardTitle, CardSubtitle } from "@invertase/firebaseui-react"; +import { + EmailPasswordForm, + RegisterForm, + Card, + CardHeader, + CardTitle, + CardSubtitle, +} from "@invertase/firebaseui-react"; export default function Example2() { const [showRegister, setShowRegister] = useState(false); diff --git a/examples/nextjs/next.config.ts b/examples/nextjs/next.config.ts index 957b73be..8dddeb6b 100644 --- a/examples/nextjs/next.config.ts +++ b/examples/nextjs/next.config.ts @@ -17,11 +17,11 @@ import type { NextConfig } from "next"; const nextConfig: NextConfig = { - output: 'export', + output: "export", trailingSlash: true, images: { - unoptimized: true - } + unoptimized: true, + }, }; export default nextConfig; diff --git a/examples/shadcn/src/components/sign-in-auth-form.tsx b/examples/shadcn/src/components/sign-in-auth-form.tsx index 2ea850f5..3109ba05 100644 --- a/examples/shadcn/src/components/sign-in-auth-form.tsx +++ b/examples/shadcn/src/components/sign-in-auth-form.tsx @@ -1,7 +1,12 @@ "use client"; import type { SignInAuthFormSchema } from "@invertase/firebaseui-core"; -import { useSignInAuthFormAction, useSignInAuthFormSchema, useUI, type SignInAuthFormProps } from "@invertase/firebaseui-react"; +import { + useSignInAuthFormAction, + useSignInAuthFormSchema, + useUI, + type SignInAuthFormProps, +} from "@invertase/firebaseui-react"; import { useForm } from "react-hook-form"; import { standardSchemaResolver } from "@hookform/resolvers/standard-schema"; import { FirebaseUIError, getTranslation } from "@invertase/firebaseui-core"; diff --git a/examples/shadcn/src/components/ui/alert.tsx b/examples/shadcn/src/components/ui/alert.tsx index 14213546..c6f7846f 100644 --- a/examples/shadcn/src/components/ui/alert.tsx +++ b/examples/shadcn/src/components/ui/alert.tsx @@ -1,7 +1,7 @@ -import * as React from "react" -import { cva, type VariantProps } from "class-variance-authority" +import * as React from "react"; +import { cva, type VariantProps } from "class-variance-authority"; -import { cn } from "@/lib/utils" +import { cn } from "@/lib/utils"; const alertVariants = cva( "relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current", @@ -17,40 +17,23 @@ const alertVariants = cva( variant: "default", }, } -) +); -function Alert({ - className, - variant, - ...props -}: React.ComponentProps<"div"> & VariantProps) { - return ( -
- ) +function Alert({ className, variant, ...props }: React.ComponentProps<"div"> & VariantProps) { + return
; } function AlertTitle({ className, ...props }: React.ComponentProps<"div">) { return (
- ) + ); } -function AlertDescription({ - className, - ...props -}: React.ComponentProps<"div">) { +function AlertDescription({ className, ...props }: React.ComponentProps<"div">) { return (
- ) + ); } -export { Alert, AlertTitle, AlertDescription } +export { Alert, AlertTitle, AlertDescription }; diff --git a/examples/shadcn/src/components/ui/button.tsx b/examples/shadcn/src/components/ui/button.tsx index 21409a06..1ee14790 100644 --- a/examples/shadcn/src/components/ui/button.tsx +++ b/examples/shadcn/src/components/ui/button.tsx @@ -1,8 +1,8 @@ -import * as React from "react" -import { Slot } from "@radix-ui/react-slot" -import { cva, type VariantProps } from "class-variance-authority" +import * as React from "react"; +import { Slot } from "@radix-ui/react-slot"; +import { cva, type VariantProps } from "class-variance-authority"; -import { cn } from "@/lib/utils" +import { cn } from "@/lib/utils"; const buttonVariants = cva( "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", @@ -14,10 +14,8 @@ const buttonVariants = cva( "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60", outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50", - secondary: - "bg-secondary text-secondary-foreground hover:bg-secondary/80", - ghost: - "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50", + secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50", link: "text-primary underline-offset-4 hover:underline", }, size: { @@ -34,7 +32,7 @@ const buttonVariants = cva( size: "default", }, } -) +); function Button({ className, @@ -44,17 +42,11 @@ function Button({ ...props }: React.ComponentProps<"button"> & VariantProps & { - asChild?: boolean + asChild?: boolean; }) { - const Comp = asChild ? Slot : "button" + const Comp = asChild ? Slot : "button"; - return ( - - ) + return ; } -export { Button, buttonVariants } +export { Button, buttonVariants }; diff --git a/examples/shadcn/src/components/ui/card.tsx b/examples/shadcn/src/components/ui/card.tsx index 681ad980..9939da87 100644 --- a/examples/shadcn/src/components/ui/card.tsx +++ b/examples/shadcn/src/components/ui/card.tsx @@ -1,18 +1,15 @@ -import * as React from "react" +import * as React from "react"; -import { cn } from "@/lib/utils" +import { cn } from "@/lib/utils"; function Card({ className, ...props }: React.ComponentProps<"div">) { return (
- ) + ); } function CardHeader({ className, ...props }: React.ComponentProps<"div">) { @@ -25,68 +22,35 @@ function CardHeader({ className, ...props }: React.ComponentProps<"div">) { )} {...props} /> - ) + ); } function CardTitle({ className, ...props }: React.ComponentProps<"div">) { - return ( -
- ) + return
; } function CardDescription({ className, ...props }: React.ComponentProps<"div">) { - return ( -
- ) + return
; } function CardAction({ className, ...props }: React.ComponentProps<"div">) { return (
- ) + ); } function CardContent({ className, ...props }: React.ComponentProps<"div">) { - return ( -
- ) + return
; } function CardFooter({ className, ...props }: React.ComponentProps<"div">) { return ( -
- ) +
+ ); } -export { - Card, - CardHeader, - CardFooter, - CardTitle, - CardAction, - CardDescription, - CardContent, -} +export { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent }; diff --git a/examples/shadcn/src/components/ui/form.tsx b/examples/shadcn/src/components/ui/form.tsx index 7d7474cc..cbf27883 100644 --- a/examples/shadcn/src/components/ui/form.tsx +++ b/examples/shadcn/src/components/ui/form.tsx @@ -1,6 +1,6 @@ -import * as React from "react" -import * as LabelPrimitive from "@radix-ui/react-label" -import { Slot } from "@radix-ui/react-slot" +import * as React from "react"; +import * as LabelPrimitive from "@radix-ui/react-label"; +import { Slot } from "@radix-ui/react-slot"; import { Controller, FormProvider, @@ -9,23 +9,21 @@ import { type ControllerProps, type FieldPath, type FieldValues, -} from "react-hook-form" +} from "react-hook-form"; -import { cn } from "@/lib/utils" -import { Label } from "@/components/ui/label" +import { cn } from "@/lib/utils"; +import { Label } from "@/components/ui/label"; -const Form = FormProvider +const Form = FormProvider; type FormFieldContextValue< TFieldValues extends FieldValues = FieldValues, TName extends FieldPath = FieldPath, > = { - name: TName -} + name: TName; +}; -const FormFieldContext = React.createContext( - {} as FormFieldContextValue -) +const FormFieldContext = React.createContext({} as FormFieldContextValue); const FormField = < TFieldValues extends FieldValues = FieldValues, @@ -37,21 +35,21 @@ const FormField = < - ) -} + ); +}; const useFormField = () => { - const fieldContext = React.useContext(FormFieldContext) - const itemContext = React.useContext(FormItemContext) - const { getFieldState } = useFormContext() - const formState = useFormState({ name: fieldContext.name }) - const fieldState = getFieldState(fieldContext.name, formState) + const fieldContext = React.useContext(FormFieldContext); + const itemContext = React.useContext(FormItemContext); + const { getFieldState } = useFormContext(); + const formState = useFormState({ name: fieldContext.name }); + const fieldState = getFieldState(fieldContext.name, formState); if (!fieldContext) { - throw new Error("useFormField should be used within ") + throw new Error("useFormField should be used within "); } - const { id } = itemContext + const { id } = itemContext; return { id, @@ -60,36 +58,27 @@ const useFormField = () => { formDescriptionId: `${id}-form-item-description`, formMessageId: `${id}-form-item-message`, ...fieldState, - } -} + }; +}; type FormItemContextValue = { - id: string -} + id: string; +}; -const FormItemContext = React.createContext( - {} as FormItemContextValue -) +const FormItemContext = React.createContext({} as FormItemContextValue); function FormItem({ className, ...props }: React.ComponentProps<"div">) { - const id = React.useId() + const id = React.useId(); return ( -
+
- ) + ); } -function FormLabel({ - className, - ...props -}: React.ComponentProps) { - const { error, formItemId } = useFormField() +function FormLabel({ className, ...props }: React.ComponentProps) { + const { error, formItemId } = useFormField(); return (