@tinyrack/tinyauth-server 0.5.0 โ 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entities/oauth-client.entity.d.ts +36 -0
- package/dist/entities/oauth-client.entity.d.ts.map +1 -1
- package/dist/entities/oauth-client.entity.js +4 -0
- package/dist/entities/oauth-client.entity.js.map +1 -1
- package/dist/entities/oauth-code.entity.d.ts +36 -0
- package/dist/entities/oauth-code.entity.d.ts.map +1 -1
- package/dist/entities/oauth-device-code.entity.d.ts +36 -0
- package/dist/entities/oauth-device-code.entity.d.ts.map +1 -1
- package/dist/entities/oauth-device-code.entity.js +12 -0
- package/dist/entities/oauth-device-code.entity.js.map +1 -1
- package/dist/entities/revoked-token.entity.d.ts +36 -0
- package/dist/entities/revoked-token.entity.d.ts.map +1 -1
- package/dist/entities/user-consent.entity.d.ts +36 -0
- package/dist/entities/user-consent.entity.d.ts.map +1 -1
- package/dist/entrypoints/app.d.ts +326 -16
- package/dist/entrypoints/app.d.ts.map +1 -1
- package/dist/entrypoints/app.js +33 -7
- package/dist/entrypoints/app.js.map +1 -1
- package/dist/entrypoints/database/postgres/compiled-functions.d.ts +19 -7
- package/dist/entrypoints/database/postgres/compiled-functions.d.ts.map +1 -1
- package/dist/entrypoints/database/postgres/compiled-functions.js +213 -39
- package/dist/entrypoints/database/postgres/compiled-functions.js.map +1 -1
- package/dist/entrypoints/database/sqlite/compiled-functions.d.ts +19 -7
- package/dist/entrypoints/database/sqlite/compiled-functions.d.ts.map +1 -1
- package/dist/entrypoints/database/sqlite/compiled-functions.js +213 -39
- package/dist/entrypoints/database/sqlite/compiled-functions.js.map +1 -1
- package/dist/lib/config/admin.d.ts +9 -0
- package/dist/lib/config/admin.d.ts.map +1 -0
- package/dist/lib/config/admin.js +13 -0
- package/dist/lib/config/admin.js.map +1 -0
- package/dist/lib/config/auth.d.ts +85 -0
- package/dist/lib/config/auth.d.ts.map +1 -1
- package/dist/lib/config/auth.js +61 -0
- package/dist/lib/config/auth.js.map +1 -1
- package/dist/lib/config/client.d.ts +22 -0
- package/dist/lib/config/client.d.ts.map +1 -1
- package/dist/lib/config/client.js +18 -0
- package/dist/lib/config/client.js.map +1 -1
- package/dist/lib/config/index.d.ts +2 -0
- package/dist/lib/config/index.d.ts.map +1 -1
- package/dist/lib/config/index.js +1 -0
- package/dist/lib/config/index.js.map +1 -1
- package/dist/lib/config/resolved.d.ts +41 -0
- package/dist/lib/config/resolved.d.ts.map +1 -1
- package/dist/lib/config/resolved.js +2 -0
- package/dist/lib/config/resolved.js.map +1 -1
- package/dist/lib/config/server.d.ts.map +1 -1
- package/dist/lib/config/server.js +12 -0
- package/dist/lib/config/server.js.map +1 -1
- package/dist/lib/swagger-tags.d.ts +1 -0
- package/dist/lib/swagger-tags.d.ts.map +1 -1
- package/dist/lib/swagger-tags.js +1 -0
- package/dist/lib/swagger-tags.js.map +1 -1
- package/dist/middleware/auth.d.ts +3 -0
- package/dist/middleware/auth.d.ts.map +1 -1
- package/dist/middleware/auth.js +26 -0
- package/dist/middleware/auth.js.map +1 -1
- package/dist/middleware/session.d.ts +33 -1
- package/dist/middleware/session.d.ts.map +1 -1
- package/dist/middleware/session.js +84 -3
- package/dist/middleware/session.js.map +1 -1
- package/dist/migrations/postgres/Migration20260620025358_add_oauth_client_skip_consent.d.ts +6 -0
- package/dist/migrations/postgres/Migration20260620025358_add_oauth_client_skip_consent.d.ts.map +1 -0
- package/dist/migrations/postgres/Migration20260620025358_add_oauth_client_skip_consent.js +11 -0
- package/dist/migrations/postgres/Migration20260620025358_add_oauth_client_skip_consent.js.map +1 -0
- package/dist/migrations/postgres/Migration20260624190500_add_oauth_device_denied_at.d.ts +6 -0
- package/dist/migrations/postgres/Migration20260624190500_add_oauth_device_denied_at.d.ts.map +1 -0
- package/dist/migrations/postgres/Migration20260624190500_add_oauth_device_denied_at.js +11 -0
- package/dist/migrations/postgres/Migration20260624190500_add_oauth_device_denied_at.js.map +1 -0
- package/dist/migrations/postgres/Migration20260624223000_add_oauth_device_poll_state.d.ts +6 -0
- package/dist/migrations/postgres/Migration20260624223000_add_oauth_device_poll_state.d.ts.map +1 -0
- package/dist/migrations/postgres/Migration20260624223000_add_oauth_device_poll_state.js +14 -0
- package/dist/migrations/postgres/Migration20260624223000_add_oauth_device_poll_state.js.map +1 -0
- package/dist/migrations/postgres/index.d.ts.map +1 -1
- package/dist/migrations/postgres/index.js +6 -0
- package/dist/migrations/postgres/index.js.map +1 -1
- package/dist/migrations/sqlite/Migration20260620025358_add_oauth_client_skip_consent.d.ts +6 -0
- package/dist/migrations/sqlite/Migration20260620025358_add_oauth_client_skip_consent.d.ts.map +1 -0
- package/dist/migrations/sqlite/Migration20260620025358_add_oauth_client_skip_consent.js +10 -0
- package/dist/migrations/sqlite/Migration20260620025358_add_oauth_client_skip_consent.js.map +1 -0
- package/dist/migrations/sqlite/Migration20260624190500_add_oauth_device_denied_at.d.ts +6 -0
- package/dist/migrations/sqlite/Migration20260624190500_add_oauth_device_denied_at.d.ts.map +1 -0
- package/dist/migrations/sqlite/Migration20260624190500_add_oauth_device_denied_at.js +10 -0
- package/dist/migrations/sqlite/Migration20260624190500_add_oauth_device_denied_at.js.map +1 -0
- package/dist/migrations/sqlite/Migration20260624223000_add_oauth_device_poll_state.d.ts +6 -0
- package/dist/migrations/sqlite/Migration20260624223000_add_oauth_device_poll_state.d.ts.map +1 -0
- package/dist/migrations/sqlite/Migration20260624223000_add_oauth_device_poll_state.js +12 -0
- package/dist/migrations/sqlite/Migration20260624223000_add_oauth_device_poll_state.js.map +1 -0
- package/dist/migrations/sqlite/index.d.ts.map +1 -1
- package/dist/migrations/sqlite/index.js +6 -0
- package/dist/migrations/sqlite/index.js.map +1 -1
- package/dist/repositories/oauth-device-code.repository.d.ts +4 -0
- package/dist/repositories/oauth-device-code.repository.d.ts.map +1 -1
- package/dist/repositories/oauth-device-code.repository.js +19 -0
- package/dist/repositories/oauth-device-code.repository.js.map +1 -1
- package/dist/repositories/user.repository.d.ts +4 -2
- package/dist/repositories/user.repository.d.ts.map +1 -1
- package/dist/repositories/user.repository.js +11 -7
- package/dist/repositories/user.repository.js.map +1 -1
- package/dist/routes/.well-known/openid-configuration/get.d.ts.map +1 -1
- package/dist/routes/.well-known/openid-configuration/get.js +4 -0
- package/dist/routes/.well-known/openid-configuration/get.js.map +1 -1
- package/dist/routes/api/admin/index.d.ts +185 -0
- package/dist/routes/api/admin/index.d.ts.map +1 -0
- package/dist/routes/api/admin/index.js +13 -0
- package/dist/routes/api/admin/index.js.map +1 -0
- package/dist/routes/api/admin/me/get.d.ts +26 -0
- package/dist/routes/api/admin/me/get.d.ts.map +1 -0
- package/dist/routes/api/admin/me/get.js +29 -0
- package/dist/routes/api/admin/me/get.js.map +1 -0
- package/dist/routes/api/admin/users/index.d.ts +162 -0
- package/dist/routes/api/admin/users/index.d.ts.map +1 -0
- package/dist/routes/api/admin/users/index.js +166 -0
- package/dist/routes/api/admin/users/index.js.map +1 -0
- package/dist/routes/api/auth/accounts/get.d.ts +28 -0
- package/dist/routes/api/auth/accounts/get.d.ts.map +1 -0
- package/dist/routes/api/auth/accounts/get.js +47 -0
- package/dist/routes/api/auth/accounts/get.js.map +1 -0
- package/dist/routes/api/auth/accounts/remove.post.d.ts +30 -0
- package/dist/routes/api/auth/accounts/remove.post.d.ts.map +1 -0
- package/dist/routes/api/auth/accounts/remove.post.js +30 -0
- package/dist/routes/api/auth/accounts/remove.post.js.map +1 -0
- package/dist/routes/api/auth/accounts/select.post.d.ts +31 -0
- package/dist/routes/api/auth/accounts/select.post.d.ts.map +1 -0
- package/dist/routes/api/auth/accounts/select.post.js +26 -0
- package/dist/routes/api/auth/accounts/select.post.js.map +1 -0
- package/dist/routes/api/auth/email/verify/post.d.ts +1 -0
- package/dist/routes/api/auth/email/verify/post.d.ts.map +1 -1
- package/dist/routes/api/auth/index.d.ts +86 -0
- package/dist/routes/api/auth/index.d.ts.map +1 -1
- package/dist/routes/api/auth/index.js +6 -0
- package/dist/routes/api/auth/index.js.map +1 -1
- package/dist/routes/api/auth/login/post.d.ts +1 -0
- package/dist/routes/api/auth/login/post.d.ts.map +1 -1
- package/dist/routes/api/auth/login/post.js +15 -16
- package/dist/routes/api/auth/login/post.js.map +1 -1
- package/dist/routes/api/auth/passkey/verify/post.d.ts +1 -0
- package/dist/routes/api/auth/passkey/verify/post.d.ts.map +1 -1
- package/dist/routes/api/auth/register/post.d.ts +1 -0
- package/dist/routes/api/auth/register/post.d.ts.map +1 -1
- package/dist/routes/api/auth/totp/recovery/verify/post.d.ts +1 -0
- package/dist/routes/api/auth/totp/recovery/verify/post.d.ts.map +1 -1
- package/dist/routes/api/auth/totp/verify/post.d.ts +1 -0
- package/dist/routes/api/auth/totp/verify/post.d.ts.map +1 -1
- package/dist/routes/api/config/get.d.ts +3 -0
- package/dist/routes/api/config/get.d.ts.map +1 -1
- package/dist/routes/api/config/get.js +7 -1
- package/dist/routes/api/config/get.js.map +1 -1
- package/dist/routes/api/config/index.d.ts +3 -0
- package/dist/routes/api/config/index.d.ts.map +1 -1
- package/dist/routes/api/consent/index.d.ts +10 -0
- package/dist/routes/api/consent/index.d.ts.map +1 -1
- package/dist/routes/api/consent/post.d.ts +10 -0
- package/dist/routes/api/consent/post.d.ts.map +1 -1
- package/dist/routes/api/consent/post.js +52 -1
- package/dist/routes/api/consent/post.js.map +1 -1
- package/dist/routes/api/index.d.ts +310 -26
- package/dist/routes/api/index.d.ts.map +1 -1
- package/dist/routes/api/index.js +2 -0
- package/dist/routes/api/index.js.map +1 -1
- package/dist/routes/api/user/index.d.ts +3 -0
- package/dist/routes/api/user/index.d.ts.map +1 -1
- package/dist/routes/api/user/passkeys/register/verify/post.d.ts +1 -0
- package/dist/routes/api/user/passkeys/register/verify/post.d.ts.map +1 -1
- package/dist/routes/api/user/session/get.d.ts +1 -0
- package/dist/routes/api/user/session/get.d.ts.map +1 -1
- package/dist/routes/api/user/totp/confirm/post.d.ts +1 -0
- package/dist/routes/api/user/totp/confirm/post.d.ts.map +1 -1
- package/dist/routes/index.d.ts +303 -16
- package/dist/routes/index.d.ts.map +1 -1
- package/dist/routes/oauth/.well-known/openid-configuration/get.d.ts.map +1 -1
- package/dist/routes/oauth/.well-known/openid-configuration/get.js +1 -0
- package/dist/routes/oauth/.well-known/openid-configuration/get.js.map +1 -1
- package/dist/routes/oauth/authorize/get.d.ts +2 -0
- package/dist/routes/oauth/authorize/get.d.ts.map +1 -1
- package/dist/routes/oauth/authorize/get.js +12 -1
- package/dist/routes/oauth/authorize/get.js.map +1 -1
- package/dist/routes/oauth/client-auth.js +1 -1
- package/dist/routes/oauth/client-auth.js.map +1 -1
- package/dist/routes/oauth/cors.d.ts.map +1 -1
- package/dist/routes/oauth/cors.js +8 -3
- package/dist/routes/oauth/cors.js.map +1 -1
- package/dist/routes/oauth/device/get-post.d.ts +2 -1
- package/dist/routes/oauth/device/get-post.d.ts.map +1 -1
- package/dist/routes/oauth/device/get-post.js +15 -9
- package/dist/routes/oauth/device/get-post.js.map +1 -1
- package/dist/routes/oauth/device-authorization/post.d.ts.map +1 -1
- package/dist/routes/oauth/device-authorization/post.js +2 -0
- package/dist/routes/oauth/device-authorization/post.js.map +1 -1
- package/dist/routes/oauth/end-session/get.d.ts.map +1 -1
- package/dist/routes/oauth/end-session/get.js +17 -8
- package/dist/routes/oauth/end-session/get.js.map +1 -1
- package/dist/routes/oauth/index.d.ts +5 -2
- package/dist/routes/oauth/index.d.ts.map +1 -1
- package/dist/routes/oauth/revoke/post.d.ts.map +1 -1
- package/dist/routes/oauth/revoke/post.js +2 -0
- package/dist/routes/oauth/revoke/post.js.map +1 -1
- package/dist/routes/oauth/token/post.d.ts +1 -1
- package/dist/routes/oauth/token/post.d.ts.map +1 -1
- package/dist/routes/oauth/token/post.js +10 -6
- package/dist/routes/oauth/token/post.js.map +1 -1
- package/dist/routes/oauth/userinfo/get.d.ts.map +1 -1
- package/dist/routes/oauth/userinfo/get.js +12 -6
- package/dist/routes/oauth/userinfo/get.js.map +1 -1
- package/dist/schemas/error.d.ts +56 -6
- package/dist/schemas/error.d.ts.map +1 -1
- package/dist/schemas/error.js +4 -2
- package/dist/schemas/error.js.map +1 -1
- package/dist/schemas/field.d.ts +1 -4
- package/dist/schemas/field.d.ts.map +1 -1
- package/dist/schemas/field.js +3 -1
- package/dist/schemas/field.js.map +1 -1
- package/dist/schemas/response.d.ts +97 -0
- package/dist/schemas/response.d.ts.map +1 -1
- package/dist/schemas/response.js +32 -0
- package/dist/schemas/response.js.map +1 -1
- package/dist/seeders/config.seeder.js +1 -0
- package/dist/seeders/config.seeder.js.map +1 -1
- package/dist/services/account-selection.service.d.ts +39 -0
- package/dist/services/account-selection.service.d.ts.map +1 -0
- package/dist/services/account-selection.service.js +77 -0
- package/dist/services/account-selection.service.js.map +1 -0
- package/dist/services/container.d.ts +23 -0
- package/dist/services/container.d.ts.map +1 -1
- package/dist/services/jwt.service.js +3 -3
- package/dist/services/jwt.service.js.map +1 -1
- package/dist/services/oauth-authorize.service.d.ts +24 -1
- package/dist/services/oauth-authorize.service.d.ts.map +1 -1
- package/dist/services/oauth-authorize.service.js +233 -8
- package/dist/services/oauth-authorize.service.js.map +1 -1
- package/dist/services/oauth-client.service.d.ts.map +1 -1
- package/dist/services/oauth-client.service.js +1 -0
- package/dist/services/oauth-client.service.js.map +1 -1
- package/dist/services/oauth-token.service.d.ts +2 -3
- package/dist/services/oauth-token.service.d.ts.map +1 -1
- package/dist/services/oauth-token.service.js +18 -10
- package/dist/services/oauth-token.service.js.map +1 -1
- package/dist/services/user-consent.service.d.ts +1 -0
- package/dist/services/user-consent.service.d.ts.map +1 -1
- package/dist/services/user-consent.service.js +4 -1
- package/dist/services/user-consent.service.js.map +1 -1
- package/dist/services/user.service.d.ts +28 -1
- package/dist/services/user.service.d.ts.map +1 -1
- package/dist/services/user.service.js +104 -0
- package/dist/services/user.service.js.map +1 -1
- package/package.json +1 -1
- package/public/assets/2fa-BoyBKrjD.js +2 -0
- package/public/assets/2fa-BoyBKrjD.js.map +1 -0
- package/public/assets/2fa-DfWvDjDW.js +2 -0
- package/public/assets/2fa-DfWvDjDW.js.map +1 -0
- package/public/assets/2fa-IkQlgUP0.js +2 -0
- package/public/assets/2fa-IkQlgUP0.js.map +1 -0
- package/public/assets/2fa-SSKfXB7c.js +2 -0
- package/public/assets/2fa-SSKfXB7c.js.map +1 -0
- package/public/assets/CheckCircle.es-MnJIACCe.js +2 -0
- package/public/assets/CheckCircle.es-MnJIACCe.js.map +1 -0
- package/public/assets/EnvelopeSimple.es-BZ7u3LYh.js +2 -0
- package/public/assets/EnvelopeSimple.es-BZ7u3LYh.js.map +1 -0
- package/public/assets/Fingerprint.es-CW755VWD.js +2 -0
- package/public/assets/Fingerprint.es-CW755VWD.js.map +1 -0
- package/public/assets/IconBase.es-d5KP98Ac.js +2 -0
- package/public/assets/IconBase.es-d5KP98Ac.js.map +1 -0
- package/public/assets/Key.es-l5aSxw0I.js +2 -0
- package/public/assets/Key.es-l5aSxw0I.js.map +1 -0
- package/public/assets/Link.es-B-IJS4Q5.js +2 -0
- package/public/assets/Link.es-B-IJS4Q5.js.map +1 -0
- package/public/assets/Lock.es-Cb_uwQly.js +2 -0
- package/public/assets/Lock.es-Cb_uwQly.js.map +1 -0
- package/public/assets/ShieldCheck.es-CscPsYbC.js +2 -0
- package/public/assets/ShieldCheck.es-CscPsYbC.js.map +1 -0
- package/public/assets/Trash.es-BepW9BwV.js +2 -0
- package/public/assets/Trash.es-BepW9BwV.js.map +1 -0
- package/public/assets/Warning.es-BPpZIJYZ.js +2 -0
- package/public/assets/Warning.es-BPpZIJYZ.js.map +1 -0
- package/public/assets/X.es-IwdB4hWT.js +2 -0
- package/public/assets/X.es-IwdB4hWT.js.map +1 -0
- package/public/assets/admin-D2CMlWzS.js +2 -0
- package/public/assets/admin-D2CMlWzS.js.map +1 -0
- package/public/assets/admin-users-CTAQJl7w.js +2 -0
- package/public/assets/admin-users-CTAQJl7w.js.map +1 -0
- package/public/assets/alert-CSXqgDVi.js +2 -0
- package/public/assets/alert-CSXqgDVi.js.map +1 -0
- package/public/assets/consent-C5Qo0iLd.js +2 -0
- package/public/assets/consent-C5Qo0iLd.js.map +1 -0
- package/public/assets/consent-DwuWkp63.js +2 -0
- package/public/assets/consent-DwuWkp63.js.map +1 -0
- package/public/assets/email-CIttZRBe.js +2 -0
- package/public/assets/email-CIttZRBe.js.map +1 -0
- package/public/assets/email-SSKfXB7c.js +2 -0
- package/public/assets/email-SSKfXB7c.js.map +1 -0
- package/public/assets/error-D60wkdWN.js +2 -0
- package/public/assets/error-D60wkdWN.js.map +1 -0
- package/public/assets/footer-link-Ib1Hd-fr.js +2 -0
- package/public/assets/footer-link-Ib1Hd-fr.js.map +1 -0
- package/public/assets/forgot-SSKfXB7c.js +2 -0
- package/public/assets/forgot-SSKfXB7c.js.map +1 -0
- package/public/assets/forgot-x-UDyHXT.js +2 -0
- package/public/assets/forgot-x-UDyHXT.js.map +1 -0
- package/public/assets/icon-input-8iU7PNzd.js +2 -0
- package/public/assets/icon-input-8iU7PNzd.js.map +1 -0
- package/public/assets/index-CsT6OVnP.js +11 -0
- package/public/assets/index-CsT6OVnP.js.map +1 -0
- package/public/assets/index-D6-1JDnX.css +2 -0
- package/public/assets/login-DhbnCudI.js +2 -0
- package/public/assets/login-DhbnCudI.js.map +1 -0
- package/public/assets/login-SSKfXB7c.js +2 -0
- package/public/assets/login-SSKfXB7c.js.map +1 -0
- package/public/assets/modal-BjnpKlXn.js +2 -0
- package/public/assets/modal-BjnpKlXn.js.map +1 -0
- package/public/assets/mutationOptions-Dfvzj6n2.js +2 -0
- package/public/assets/mutationOptions-Dfvzj6n2.js.map +1 -0
- package/public/assets/page-header-BYMFSGfT.js +2 -0
- package/public/assets/page-header-BYMFSGfT.js.map +1 -0
- package/public/assets/page-layout-C475gs09.js +2 -0
- package/public/assets/page-layout-C475gs09.js.map +1 -0
- package/public/assets/passkey-BdISbWr7.js +2 -0
- package/public/assets/passkey-BdISbWr7.js.map +1 -0
- package/public/assets/passkey-Bv7zPLAZ.js +2 -0
- package/public/assets/passkey-Bv7zPLAZ.js.map +1 -0
- package/public/assets/passkey-e6uvApHa.js +2 -0
- package/public/assets/passkey-e6uvApHa.js.map +1 -0
- package/public/assets/password-CkeV4qxb.js +2 -0
- package/public/assets/password-CkeV4qxb.js.map +1 -0
- package/public/assets/password-SSKfXB7c.js +2 -0
- package/public/assets/password-SSKfXB7c.js.map +1 -0
- package/public/assets/password-reset-XZJTgJi3.js +2 -0
- package/public/assets/password-reset-XZJTgJi3.js.map +1 -0
- package/public/assets/pin-input-BM1UizHr.js +2 -0
- package/public/assets/pin-input-BM1UizHr.js.map +1 -0
- package/public/assets/profile-D2cuVYgE.js +2 -0
- package/public/assets/profile-D2cuVYgE.js.map +1 -0
- package/public/assets/profile-TKdT20x5.js +2 -0
- package/public/assets/profile-TKdT20x5.js.map +1 -0
- package/public/assets/promise-OpBtq8tG.js +2 -0
- package/public/assets/promise-OpBtq8tG.js.map +1 -0
- package/public/assets/recovery-DM8h2gbb.js +2 -0
- package/public/assets/recovery-DM8h2gbb.js.map +1 -0
- package/public/assets/register-SSKfXB7c.js +2 -0
- package/public/assets/register-SSKfXB7c.js.map +1 -0
- package/public/assets/register-vWW_43cD.js +2 -0
- package/public/assets/register-vWW_43cD.js.map +1 -0
- package/public/assets/reset-CgACYrdp.js +2 -0
- package/public/assets/reset-CgACYrdp.js.map +1 -0
- package/public/assets/reset-SSKfXB7c.js +2 -0
- package/public/assets/reset-SSKfXB7c.js.map +1 -0
- package/public/assets/routes-CAIeH5mq.js +2 -0
- package/public/assets/routes-CAIeH5mq.js.map +1 -0
- package/public/assets/select-BCP5fwfB.js +2 -0
- package/public/assets/select-BCP5fwfB.js.map +1 -0
- package/public/assets/select-SSKfXB7c.js +2 -0
- package/public/assets/select-SSKfXB7c.js.map +1 -0
- package/public/assets/standard-schema-o4V-s4uY.js +2 -0
- package/public/assets/standard-schema-o4V-s4uY.js.map +1 -0
- package/public/assets/submit-button-Xx6DwLyh.js +2 -0
- package/public/assets/submit-button-Xx6DwLyh.js.map +1 -0
- package/public/assets/terms-DPWrbYY2.js +2 -0
- package/public/assets/terms-DPWrbYY2.js.map +1 -0
- package/public/assets/terms-TKdT20x5.js +2 -0
- package/public/assets/terms-TKdT20x5.js.map +1 -0
- package/public/assets/terms-checkbox-list-CdrbHxiF.js +2 -0
- package/public/assets/terms-checkbox-list-CdrbHxiF.js.map +1 -0
- package/public/assets/totp-CKZ6N1NS.js +2 -0
- package/public/assets/totp-CKZ6N1NS.js.map +1 -0
- package/public/assets/totp-D-PVOsGQ.js +2 -0
- package/public/assets/totp-D-PVOsGQ.js.map +1 -0
- package/public/assets/totp-NlqqRp4a.js +2 -0
- package/public/assets/totp-NlqqRp4a.js.map +1 -0
- package/public/assets/use-theme-cVUDAjtt.js +2 -0
- package/public/assets/use-theme-cVUDAjtt.js.map +1 -0
- package/public/assets/use-totp-setup-BH75uEbE.js +3 -0
- package/public/assets/use-totp-setup-BH75uEbE.js.map +1 -0
- package/public/assets/useMutation-DVMopbtG.js +2 -0
- package/public/assets/useMutation-DVMopbtG.js.map +1 -0
- package/public/assets/users-B7ofdp72.js +2 -0
- package/public/assets/users-B7ofdp72.js.map +1 -0
- package/public/assets/zod-BItJDQBQ.js +66 -0
- package/public/assets/zod-BItJDQBQ.js.map +1 -0
- package/public/index.html +6 -2
- package/public/assets/index-5_9rzim1.css +0 -2
- package/public/assets/index-BTGeW26-.js +0 -75
- package/public/assets/index-BTGeW26-.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as e,c as t,i as n,n as r,o as i,s as a,u as o}from"./IconBase.es-d5KP98Ac.js";var s=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(e){return this.listeners.add(e),this.onSubscribe(),()=>{this.listeners.delete(e),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}},c=new class extends s{#e;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e();return window.addEventListener(`visibilitychange`,t,!1),()=>{window.removeEventListener(`visibilitychange`,t)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(e=>{typeof e==`boolean`?this.setFocused(e):this.onFocus()})}setFocused(e){this.#e!==e&&(this.#e=e,this.onFocus())}onFocus(){let e=this.isFocused();this.listeners.forEach(t=>{t(e)})}isFocused(){return typeof this.#e==`boolean`?this.#e:globalThis.document?.visibilityState!==`hidden`}},l={setTimeout:(e,t)=>setTimeout(e,t),clearTimeout:e=>clearTimeout(e),setInterval:(e,t)=>setInterval(e,t),clearInterval:e=>clearInterval(e)},u=new class{#e=l;setTimeoutProvider(e){this.#e=e}setTimeout(e,t){return this.#e.setTimeout(e,t)}clearTimeout(e){this.#e.clearTimeout(e)}setInterval(e,t){return this.#e.setInterval(e,t)}clearInterval(e){this.#e.clearInterval(e)}};function d(e){setTimeout(e,0)}var f=typeof window>`u`||`Deno`in globalThis;function p(){}function m(e,t){return typeof e==`function`?e(t):e}function h(e){return typeof e==`number`&&e>=0&&e!==1/0}function g(e,t){return Math.max(e+(t||0)-Date.now(),0)}function _(e,t){return typeof e==`function`?e(t):e}function v(e,t){return typeof e==`function`?e(t):e}function y(e,t){let{type:n=`all`,exact:r,fetchStatus:i,predicate:a,queryKey:o,stale:s}=e;if(o){if(r){if(t.queryHash!==x(o,t.options))return!1}else if(!C(t.queryKey,o))return!1}if(n!==`all`){let e=t.isActive();if(n===`active`&&!e||n===`inactive`&&e)return!1}return!(typeof s==`boolean`&&t.isStale()!==s||i&&i!==t.state.fetchStatus||a&&!a(t))}function b(e,t){let{exact:n,status:r,predicate:i,mutationKey:a}=e;if(a){if(!t.options.mutationKey)return!1;if(n){if(S(t.options.mutationKey)!==S(a))return!1}else if(!C(t.options.mutationKey,a))return!1}return!(r&&t.state.status!==r||i&&!i(t))}function x(e,t){return(t?.queryKeyHashFn||S)(e)}function S(e){return JSON.stringify(e,(e,t)=>te(t)?Object.keys(t).sort().reduce((e,n)=>(e[n]=t[n],e),{}):t)}function C(e,t){return e===t?!0:typeof e==typeof t&&e&&t&&typeof e==`object`&&typeof t==`object`?Object.keys(t).every(n=>C(e[n],t[n])):!1}var w=Object.prototype.hasOwnProperty;function T(e,t,n=0){if(e===t)return e;if(n>500)return t;let r=ee(e)&&ee(t);if(!r&&!(te(e)&&te(t)))return t;let i=(r?e:Object.keys(e)).length,a=r?t:Object.keys(t),o=a.length,s=r?Array(o):{},c=0;for(let l=0;l<o;l++){let o=r?l:a[l],u=e[o],d=t[o];if(u===d){s[o]=u,(r?l<i:w.call(e,o))&&c++;continue}if(u===null||d===null||typeof u!=`object`||typeof d!=`object`){s[o]=d;continue}let f=T(u,d,n+1);s[o]=f,f===u&&c++}return i===o&&c===i?e:s}function E(e,t){if(!t||Object.keys(e).length!==Object.keys(t).length)return!1;for(let n in e)if(e[n]!==t[n])return!1;return!0}function ee(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function te(e){if(!ne(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!ne(n)||!n.hasOwnProperty(`isPrototypeOf`)||Object.getPrototypeOf(e)!==Object.prototype)}function ne(e){return Object.prototype.toString.call(e)===`[object Object]`}function re(e){return new Promise(t=>{u.setTimeout(t,e)})}function ie(e,t,n){return typeof n.structuralSharing==`function`?n.structuralSharing(e,t):n.structuralSharing===!1?t:T(e,t)}function ae(e,t,n=0){let r=[...e,t];return n&&r.length>n?r.slice(1):r}function oe(e,t,n=0){let r=[t,...e];return n&&r.length>n?r.slice(0,-1):r}var se=Symbol();function ce(e,t){return!e.queryFn&&t?.initialPromise?()=>t.initialPromise:!e.queryFn||e.queryFn===se?()=>Promise.reject(Error(`Missing queryFn: '${e.queryHash}'`)):e.queryFn}function le(e,t){return typeof e==`function`?e(...t):!!e}function ue(e,t,n){let r=!1,i;return Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(i??=t(),r?i:(r=!0,i.aborted?n():i.addEventListener(`abort`,n,{once:!0}),i))}),e}var D=(()=>{let e=()=>f;return{isServer(){return e()},setIsServer(t){e=t}}})();function O(){let e,t,n=new Promise((n,r)=>{e=n,t=r});n.status=`pending`,n.catch(()=>{});function r(e){Object.assign(n,e),delete n.resolve,delete n.reject}return n.resolve=t=>{r({status:`fulfilled`,value:t}),e(t)},n.reject=e=>{r({status:`rejected`,reason:e}),t(e)},n}var k=d;function A(){let e=[],t=0,n=e=>{e()},r=e=>{e()},i=k,a=r=>{t?e.push(r):i(()=>{n(r)})},o=()=>{let t=e;e=[],t.length&&i(()=>{r(()=>{t.forEach(e=>{n(e)})})})};return{batch:e=>{let n;t++;try{n=e()}finally{t--,t||o()}return n},batchCalls:e=>(...t)=>{a(()=>{e(...t)})},schedule:a,setNotifyFunction:e=>{n=e},setBatchNotifyFunction:e=>{r=e},setScheduler:e=>{i=e}}}var j=A(),de=new class extends s{#e=!0;#t;#n;constructor(){super(),this.#n=e=>{if(typeof window<`u`&&window.addEventListener){let t=()=>e(!0),n=()=>e(!1);return window.addEventListener(`online`,t,!1),window.addEventListener(`offline`,n,!1),()=>{window.removeEventListener(`online`,t),window.removeEventListener(`offline`,n)}}}}onSubscribe(){this.#t||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#t?.(),this.#t=void 0)}setEventListener(e){this.#n=e,this.#t?.(),this.#t=e(this.setOnline.bind(this))}setOnline(e){this.#e!==e&&(this.#e=e,this.listeners.forEach(t=>{t(e)}))}isOnline(){return this.#e}};function M(e){return Math.min(1e3*2**e,3e4)}function N(e){return(e??`online`)===`online`?de.isOnline():!0}var P=class extends Error{constructor(e){super(`CancelledError`),this.revert=e?.revert,this.silent=e?.silent}};function F(e){let t=!1,n=0,r,i=O(),a=()=>i.status!==`pending`,o=t=>{if(!a()){let n=new P(t);p(n),e.onCancel?.(n)}},s=()=>{t=!0},l=()=>{t=!1},u=()=>c.isFocused()&&(e.networkMode===`always`||de.isOnline())&&e.canRun(),d=()=>N(e.networkMode)&&e.canRun(),f=e=>{a()||(r?.(),i.resolve(e))},p=e=>{a()||(r?.(),i.reject(e))},m=()=>new Promise(t=>{r=e=>{(a()||u())&&t(e)},e.onPause?.()}).then(()=>{r=void 0,a()||e.onContinue?.()}),h=()=>{if(a())return;let r,i=n===0?e.initialPromise:void 0;try{r=i??e.fn()}catch(e){r=Promise.reject(e)}Promise.resolve(r).then(f).catch(r=>{if(a())return;let i=e.retry??(D.isServer()?0:3),o=e.retryDelay??M,s=typeof o==`function`?o(n,r):o,c=i===!0||typeof i==`number`&&n<i||typeof i==`function`&&i(n,r);if(t||!c){p(r);return}n++,e.onFail?.(n,r),re(s).then(()=>u()?void 0:m()).then(()=>{t?p(r):h()})})};return{promise:i,status:()=>i.status,cancel:o,continue:()=>(r?.(),i),cancelRetry:s,continueRetry:l,canStart:d,start:()=>(d()?h():m().then(h),i)}}var I=class{#e;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),h(this.gcTime)&&(this.#e=u.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(e){this.gcTime=Math.max(this.gcTime||0,e??(D.isServer()?1/0:300*1e3))}clearGcTimeout(){this.#e!==void 0&&(u.clearTimeout(this.#e),this.#e=void 0)}};function fe(e){return{onFetch:(t,n)=>{let r=t.options,i=t.fetchOptions?.meta?.fetchMore?.direction,a=t.state.data?.pages||[],o=t.state.data?.pageParams||[],s={pages:[],pageParams:[]},c=0,l=async()=>{let n=!1,l=e=>{ue(e,()=>t.signal,()=>n=!0)},u=ce(t.options,t.fetchOptions),d=async(e,r,i)=>{if(n)return Promise.reject(t.signal.reason);if(r==null&&e.pages.length)return Promise.resolve(e);let a=await u((()=>{let e={client:t.client,queryKey:t.queryKey,pageParam:r,direction:i?`backward`:`forward`,meta:t.options.meta};return l(e),e})()),{maxPages:o}=t.options,s=i?oe:ae;return{pages:s(e.pages,a,o),pageParams:s(e.pageParams,r,o)}};if(i&&a.length){let e=i===`backward`,t=e?me:pe,n={pages:a,pageParams:o};s=await d(n,t(r,n),e)}else{let t=e??a.length;do{let e=c===0?o[0]??r.initialPageParam:pe(r,s);if(c>0&&e==null)break;s=await d(s,e),c++}while(c<t)}return s};t.options.persister?t.fetchFn=()=>t.options.persister?.(l,{client:t.client,queryKey:t.queryKey,meta:t.options.meta,signal:t.signal},n):t.fetchFn=l}}}function pe(e,{pages:t,pageParams:n}){let r=t.length-1;return t.length>0?e.getNextPageParam(t[r],t,n[r],n):void 0}function me(e,{pages:t,pageParams:n}){return t.length>0?e.getPreviousPageParam?.(t[0],t,n[0],n):void 0}var he=class extends I{#e;#t;#n;#r;#i;#a;#o;#s;constructor(e){super(),this.#s=!1,this.#o=e.defaultOptions,this.setOptions(e.options),this.observers=[],this.#i=e.client,this.#r=this.#i.getQueryCache(),this.queryKey=e.queryKey,this.queryHash=e.queryHash,this.#t=R(this.options),this.state=e.state??this.#t,this.scheduleGc()}get meta(){return this.options.meta}get queryType(){return this.#e}get promise(){return this.#a?.promise}setOptions(e){if(this.options={...this.#o,...e},e?._type&&(this.#e=e._type),this.updateGcTime(this.options.gcTime),this.state&&this.state.data===void 0){let e=R(this.options);e.data!==void 0&&(this.setState(L(e.data,e.dataUpdatedAt)),this.#t=e)}}optionalRemove(){!this.observers.length&&this.state.fetchStatus===`idle`&&this.#r.remove(this)}setData(e,t){let n=ie(this.state.data,e,this.options);return this.#l({data:n,type:`success`,dataUpdatedAt:t?.updatedAt,manual:t?.manual}),n}setState(e){this.#l({type:`setState`,state:e})}cancel(e){let t=this.#a?.promise;return this.#a?.cancel(e),t?t.then(p).catch(p):Promise.resolve()}destroy(){super.destroy(),this.cancel({silent:!0})}get resetState(){return this.#t}reset(){this.destroy(),this.setState(this.resetState)}isActive(){return this.observers.some(e=>v(e.options.enabled,this)!==!1)}isDisabled(){return this.getObserversCount()>0?!this.isActive():this.options.queryFn===se||!this.isFetched()}isFetched(){return this.state.dataUpdateCount+this.state.errorUpdateCount>0}isStatic(){return this.getObserversCount()>0?this.observers.some(e=>_(e.options.staleTime,this)===`static`):!1}isStale(){return this.getObserversCount()>0?this.observers.some(e=>e.getCurrentResult().isStale):this.state.data===void 0||this.state.isInvalidated}isStaleByTime(e=0){return this.state.data===void 0?!0:e===`static`?!1:this.state.isInvalidated?!0:!g(this.state.dataUpdatedAt,e)}onFocus(){this.observers.find(e=>e.shouldFetchOnWindowFocus())?.refetch({cancelRefetch:!1}),this.#a?.continue()}onOnline(){this.observers.find(e=>e.shouldFetchOnReconnect())?.refetch({cancelRefetch:!1}),this.#a?.continue()}addObserver(e){this.observers.includes(e)||(this.observers.push(e),this.clearGcTimeout(),this.#r.notify({type:`observerAdded`,query:this,observer:e}))}removeObserver(e){this.observers.includes(e)&&(this.observers=this.observers.filter(t=>t!==e),this.observers.length||(this.#a&&(this.#s||this.#c()?this.#a.cancel({revert:!0}):this.#a.cancelRetry()),this.scheduleGc()),this.#r.notify({type:`observerRemoved`,query:this,observer:e}))}getObserversCount(){return this.observers.length}#c(){return this.state.fetchStatus===`paused`&&this.state.status===`pending`}invalidate(){this.state.isInvalidated||this.#l({type:`invalidate`})}async fetch(e,t){if(this.state.fetchStatus!==`idle`&&this.#a?.status()!==`rejected`){if(this.state.data!==void 0&&t?.cancelRefetch)this.cancel({silent:!0});else if(this.#a)return this.#a.continueRetry(),this.#a.promise}if(e&&this.setOptions(e),!this.options.queryFn){let e=this.observers.find(e=>e.options.queryFn);e&&this.setOptions(e.options)}let n=new AbortController,r=e=>{Object.defineProperty(e,"signal",{enumerable:!0,get:()=>(this.#s=!0,n.signal)})},i=()=>{let e=ce(this.options,t),n=(()=>{let e={client:this.#i,queryKey:this.queryKey,meta:this.meta};return r(e),e})();return this.#s=!1,this.options.persister?this.options.persister(e,n,this):e(n)},a=(()=>{let e={fetchOptions:t,options:this.options,queryKey:this.queryKey,client:this.#i,state:this.state,fetchFn:i};return r(e),e})();(this.#e===`infinite`?fe(this.options.pages):this.options.behavior)?.onFetch(a,this),this.#n=this.state,(this.state.fetchStatus===`idle`||this.state.fetchMeta!==a.fetchOptions?.meta)&&this.#l({type:`fetch`,meta:a.fetchOptions?.meta}),this.#a=F({initialPromise:t?.initialPromise,fn:a.fetchFn,onCancel:e=>{e instanceof P&&e.revert&&this.setState({...this.#n,fetchStatus:`idle`}),n.abort()},onFail:(e,t)=>{this.#l({type:`failed`,failureCount:e,error:t})},onPause:()=>{this.#l({type:`pause`})},onContinue:()=>{this.#l({type:`continue`})},retry:a.options.retry,retryDelay:a.options.retryDelay,networkMode:a.options.networkMode,canRun:()=>!0});try{let e=await this.#a.start();if(e===void 0)throw Error(`${this.queryHash} data is undefined`);return this.setData(e),this.#r.config.onSuccess?.(e,this),this.#r.config.onSettled?.(e,this.state.error,this),e}catch(e){if(e instanceof P){if(e.silent)return this.#a.promise;if(e.revert){if(this.state.data===void 0)throw e;return this.state.data}}throw this.#l({type:`error`,error:e}),this.#r.config.onError?.(e,this),this.#r.config.onSettled?.(this.state.data,e,this),e}finally{this.scheduleGc()}}#l(e){let t=t=>{switch(e.type){case`failed`:return{...t,fetchFailureCount:e.failureCount,fetchFailureReason:e.error};case`pause`:return{...t,fetchStatus:`paused`};case`continue`:return{...t,fetchStatus:`fetching`};case`fetch`:return{...t,...ge(t.data,this.options),fetchMeta:e.meta??null};case`success`:let n={...t,...L(e.data,e.dataUpdatedAt),dataUpdateCount:t.dataUpdateCount+1,...!e.manual&&{fetchStatus:`idle`,fetchFailureCount:0,fetchFailureReason:null}};return this.#n=e.manual?n:void 0,n;case`error`:let r=e.error;return{...t,error:r,errorUpdateCount:t.errorUpdateCount+1,errorUpdatedAt:Date.now(),fetchFailureCount:t.fetchFailureCount+1,fetchFailureReason:r,fetchStatus:`idle`,status:`error`,isInvalidated:!0};case`invalidate`:return{...t,isInvalidated:!0};case`setState`:return{...t,...e.state}}};this.state=t(this.state),j.batch(()=>{this.observers.forEach(e=>{e.onQueryUpdate()}),this.#r.notify({query:this,type:`updated`,action:e})})}};function ge(e,t){return{fetchFailureCount:0,fetchFailureReason:null,fetchStatus:N(t.networkMode)?`fetching`:`paused`,...e===void 0&&{error:null,status:`pending`}}}function L(e,t){return{data:e,dataUpdatedAt:t??Date.now(),error:null,isInvalidated:!1,status:`success`}}function R(e){let t=typeof e.initialData==`function`?e.initialData():e.initialData,n=t!==void 0,r=n?typeof e.initialDataUpdatedAt==`function`?e.initialDataUpdatedAt():e.initialDataUpdatedAt:0;return{data:t,dataUpdateCount:0,dataUpdatedAt:n?r??Date.now():0,error:null,errorUpdateCount:0,errorUpdatedAt:0,fetchFailureCount:0,fetchFailureReason:null,fetchMeta:null,isInvalidated:!1,status:n?`success`:`pending`,fetchStatus:`idle`}}var z=class extends s{constructor(e,t){super(),this.options=t,this.#e=e,this.#s=null,this.#o=O(),this.bindMethods(),this.setOptions(t)}#e;#t=void 0;#n=void 0;#r=void 0;#i;#a;#o;#s;#c;#l;#u;#d;#f;#p;#m=new Set;bindMethods(){this.refetch=this.refetch.bind(this)}onSubscribe(){this.listeners.size===1&&(this.#t.addObserver(this),ve(this.#t,this.options)?this.#h():this.updateResult(),this.#y())}onUnsubscribe(){this.hasListeners()||this.destroy()}shouldFetchOnReconnect(){return ye(this.#t,this.options,this.options.refetchOnReconnect)}shouldFetchOnWindowFocus(){return ye(this.#t,this.options,this.options.refetchOnWindowFocus)}destroy(){this.listeners=new Set,this.#b(),this.#x(),this.#t.removeObserver(this)}setOptions(e){let t=this.options,n=this.#t;if(this.options=this.#e.defaultQueryOptions(e),this.options.enabled!==void 0&&typeof this.options.enabled!=`boolean`&&typeof this.options.enabled!=`function`&&typeof v(this.options.enabled,this.#t)!=`boolean`)throw Error(`Expected enabled to be a boolean or a callback that returns a boolean`);this.#S(),this.#t.setOptions(this.options),t._defaulted&&!E(this.options,t)&&this.#e.getQueryCache().notify({type:`observerOptionsUpdated`,query:this.#t,observer:this});let r=this.hasListeners();r&&be(this.#t,n,this.options,t)&&this.#h(),this.updateResult(),r&&(this.#t!==n||v(this.options.enabled,this.#t)!==v(t.enabled,this.#t)||_(this.options.staleTime,this.#t)!==_(t.staleTime,this.#t))&&this.#g();let i=this.#_();r&&(this.#t!==n||v(this.options.enabled,this.#t)!==v(t.enabled,this.#t)||i!==this.#p)&&this.#v(i)}getOptimisticResult(e){let t=this.#e.getQueryCache().build(this.#e,e),n=this.createResult(t,e);return Se(this,n)&&(this.#r=n,this.#a=this.options,this.#i=this.#t.state),n}getCurrentResult(){return this.#r}trackResult(e,t){return new Proxy(e,{get:(e,n)=>(this.trackProp(n),t?.(n),n===`promise`&&(this.trackProp(`data`),!this.options.experimental_prefetchInRender&&this.#o.status===`pending`&&this.#o.reject(Error(`experimental_prefetchInRender feature flag is not enabled`))),Reflect.get(e,n))})}trackProp(e){this.#m.add(e)}getCurrentQuery(){return this.#t}refetch({...e}={}){return this.fetch({...e})}fetchOptimistic(e){let t=this.#e.defaultQueryOptions(e),n=this.#e.getQueryCache().build(this.#e,t);return n.fetch().then(()=>this.createResult(n,t))}fetch(e){return this.#h({...e,cancelRefetch:e.cancelRefetch??!0}).then(()=>(this.updateResult(),this.#r))}#h(e){this.#S();let t=this.#t.fetch(this.options,e);return e?.throwOnError||(t=t.catch(p)),t}#g(){this.#b();let e=_(this.options.staleTime,this.#t);if(D.isServer()||this.#r.isStale||!h(e))return;let t=g(this.#r.dataUpdatedAt,e)+1;this.#d=u.setTimeout(()=>{this.#r.isStale||this.updateResult()},t)}#_(){return(typeof this.options.refetchInterval==`function`?this.options.refetchInterval(this.#t):this.options.refetchInterval)??!1}#v(e){this.#x(),this.#p=e,!(D.isServer()||v(this.options.enabled,this.#t)===!1||!h(this.#p)||this.#p===0)&&(this.#f=u.setInterval(()=>{(this.options.refetchIntervalInBackground||c.isFocused())&&this.#h()},this.#p))}#y(){this.#g(),this.#v(this.#_())}#b(){this.#d!==void 0&&(u.clearTimeout(this.#d),this.#d=void 0)}#x(){this.#f!==void 0&&(u.clearInterval(this.#f),this.#f=void 0)}createResult(e,t){let n=this.#t,r=this.options,i=this.#r,a=this.#i,o=this.#a,s=e===n?this.#n:e.state,{state:c}=e,l={...c},u=!1,d;if(t._optimisticResults){let i=this.hasListeners(),a=!i&&ve(e,t),o=i&&be(e,n,t,r);(a||o)&&(l={...l,...ge(c.data,e.options)}),t._optimisticResults===`isRestoring`&&(l.fetchStatus=`idle`)}let{error:f,errorUpdatedAt:p,status:m}=l;d=l.data;let h=!1;if(t.placeholderData!==void 0&&d===void 0&&m===`pending`){let e;i?.isPlaceholderData&&t.placeholderData===o?.placeholderData?(e=i.data,h=!0):e=typeof t.placeholderData==`function`?t.placeholderData(this.#u?.state.data,this.#u):t.placeholderData,e!==void 0&&(m=`success`,d=ie(i?.data,e,t),u=!0)}if(t.select&&d!==void 0&&!h)if(i&&d===a?.data&&t.select===this.#c)d=this.#l;else try{this.#c=t.select,d=t.select(d),d=ie(i?.data,d,t),this.#l=d,this.#s=null}catch(e){this.#s=e}this.#s&&(f=this.#s,d=this.#l,p=Date.now(),m=`error`);let g=l.fetchStatus===`fetching`,_=m===`pending`,y=m===`error`,b=_&&g,x=d!==void 0,S={status:m,fetchStatus:l.fetchStatus,isPending:_,isSuccess:m===`success`,isError:y,isInitialLoading:b,isLoading:b,data:d,dataUpdatedAt:l.dataUpdatedAt,error:f,errorUpdatedAt:p,failureCount:l.fetchFailureCount,failureReason:l.fetchFailureReason,errorUpdateCount:l.errorUpdateCount,isFetched:e.isFetched(),isFetchedAfterMount:l.dataUpdateCount>s.dataUpdateCount||l.errorUpdateCount>s.errorUpdateCount,isFetching:g,isRefetching:g&&!_,isLoadingError:y&&!x,isPaused:l.fetchStatus===`paused`,isPlaceholderData:u,isRefetchError:y&&x,isStale:xe(e,t),refetch:this.refetch,promise:this.#o,isEnabled:v(t.enabled,e)!==!1};if(this.options.experimental_prefetchInRender){let t=S.data!==void 0,r=S.status===`error`&&!t,i=e=>{r?e.reject(S.error):t&&e.resolve(S.data)},a=()=>{i(this.#o=S.promise=O())},o=this.#o;switch(o.status){case`pending`:e.queryHash===n.queryHash&&i(o);break;case`fulfilled`:(r||S.data!==o.value)&&a();break;case`rejected`:(!r||S.error!==o.reason)&&a();break}}return S}updateResult(){let e=this.#r,t=this.createResult(this.#t,this.options);this.#i=this.#t.state,this.#a=this.options,this.#i.data!==void 0&&(this.#u=this.#t),!E(t,e)&&(this.#r=t,this.#C({listeners:(()=>{if(!e)return!0;let{notifyOnChangeProps:t}=this.options,n=typeof t==`function`?t():t;if(n===`all`||!n&&!this.#m.size)return!0;let r=new Set(n??this.#m);return this.options.throwOnError&&r.add(`error`),Object.keys(this.#r).some(t=>{let n=t;return this.#r[n]!==e[n]&&r.has(n)})})()}))}#S(){let e=this.#e.getQueryCache().build(this.#e,this.options);if(e===this.#t)return;let t=this.#t;this.#t=e,this.#n=e.state,this.hasListeners()&&(t?.removeObserver(this),e.addObserver(this))}onQueryUpdate(){this.updateResult(),this.hasListeners()&&this.#y()}#C(e){j.batch(()=>{e.listeners&&this.listeners.forEach(e=>{e(this.#r)}),this.#e.getQueryCache().notify({query:this.#t,type:`observerResultsUpdated`})})}};function _e(e,t){return v(t.enabled,e)!==!1&&e.state.data===void 0&&!(e.state.status===`error`&&v(t.retryOnMount,e)===!1)}function ve(e,t){return _e(e,t)||e.state.data!==void 0&&ye(e,t,t.refetchOnMount)}function ye(e,t,n){if(v(t.enabled,e)!==!1&&_(t.staleTime,e)!==`static`){let r=typeof n==`function`?n(e):n;return r===`always`||r!==!1&&xe(e,t)}return!1}function be(e,t,n,r){return(e!==t||v(r.enabled,e)===!1)&&(!n.suspense||e.state.status!==`error`)&&xe(e,n)}function xe(e,t){return v(t.enabled,e)!==!1&&e.isStaleByTime(_(t.staleTime,e))}function Se(e,t){return!E(e.getCurrentResult(),t)}var B=o(a(),1),Ce=i(),we=B.createContext(void 0),Te=e=>{let t=B.useContext(we);if(e)return e;if(!t)throw Error(`No QueryClient set, use QueryClientProvider to set one`);return t},Ee=({client:e,children:t})=>(B.useEffect(()=>(e.mount(),()=>{e.unmount()}),[e]),(0,Ce.jsx)(we.Provider,{value:e,children:t})),De=B.createContext(!1),Oe=()=>B.useContext(De);De.Provider;function ke(){let e=!1;return{clearReset:()=>{e=!1},reset:()=>{e=!0},isReset:()=>e}}var Ae=B.createContext(ke()),je=()=>B.useContext(Ae),Me=(e,t,n)=>{let r=n?.state.error&&typeof e.throwOnError==`function`?le(e.throwOnError,[n.state.error,n]):e.throwOnError;(e.suspense||e.experimental_prefetchInRender||r)&&(t.isReset()||(e.retryOnMount=!1))},Ne=e=>{B.useEffect(()=>{e.clearReset()},[e])},Pe=({result:e,errorResetBoundary:t,throwOnError:n,query:r,suspense:i})=>e.isError&&!t.isReset()&&!e.isFetching&&r&&(i&&e.data===void 0||le(n,[e.error,r])),Fe=(e,t)=>t.state.data===void 0,Ie=e=>{if(e.suspense){let t=1e3,n=e=>e===`static`?e:Math.max(e??t,t),r=e.staleTime;e.staleTime=typeof r==`function`?(...e)=>n(r(...e)):n(r),typeof e.gcTime==`number`&&(e.gcTime=Math.max(e.gcTime,t))}},Le=(e,t)=>e.isLoading&&e.isFetching&&!t,Re=(e,t)=>e?.suspense&&t.isPending,ze=(e,t,n)=>t.fetchOptimistic(e).catch(()=>{n.clearReset()});function Be(e,t,n){let r=Oe(),i=je(),a=Te(n),o=a.defaultQueryOptions(e);a.getDefaultOptions().queries?._experimental_beforeQuery?.(o);let s=a.getQueryCache().get(o.queryHash),c=e.subscribed!==!1;o._optimisticResults=r?`isRestoring`:c?`optimistic`:void 0,Ie(o),Me(o,i,s),Ne(i);let l=!a.getQueryCache().get(o.queryHash),[u]=B.useState(()=>new t(a,o)),d=u.getOptimisticResult(o),f=!r&&c;if(B.useSyncExternalStore(B.useCallback(e=>{let t=f?u.subscribe(j.batchCalls(e)):p;return u.updateResult(),t},[u,f]),()=>u.getCurrentResult(),()=>u.getCurrentResult()),B.useEffect(()=>{u.setOptions(o)},[o,u]),Re(o,d))throw ze(o,u,i);if(Pe({result:d,errorResetBoundary:i,throwOnError:o.throwOnError,query:s,suspense:o.suspense}))throw d.error;return a.getDefaultOptions().queries?._experimental_afterQuery?.(o,d),o.experimental_prefetchInRender&&!D.isServer()&&Le(d,r)&&(l?ze(o,u,i):s?.promise)?.catch(p).finally(()=>{u.updateResult()}),o.notifyOnChangeProps?d:u.trackResult(d)}function Ve(e,t){return Be({...e,enabled:!0,suspense:!0,throwOnError:Fe,placeholderData:void 0},z,t)}function He(e){return e}var Ue=B.use,We=typeof window<`u`?B.useLayoutEffect:B.useEffect;function Ge(e){let t=B.useRef({value:e,prev:null}),n=t.current.value;return e!==n&&(t.current={value:e,prev:n}),t.current.prev}function Ke(e,t,n={},r={}){B.useEffect(()=>{if(!e.current||r.disabled||typeof IntersectionObserver!=`function`)return;let i=new IntersectionObserver(([e])=>{t(e)},n);return i.observe(e.current),()=>{i.disconnect()}},[t,n,r.disabled,e])}function qe(e){let t=B.useRef(null);return B.useImperativeHandle(e,()=>t.current,[]),t}function Je(e){return e[e.length-1]}function Ye(e){return typeof e==`function`}function Xe(e,t){return Ye(e)?e(t):e}var Ze=Object.prototype.hasOwnProperty,Qe=Object.prototype.propertyIsEnumerable;function $e(e){for(let t in e)if(Ze.call(e,t))return!0;return!1}var et=()=>Object.create(null),tt=(e,t)=>nt(e,t,et);function nt(e,t,n=()=>({}),r=0){if(e===t)return e;if(r>500)return t;let i=t,a=ot(e)&&ot(i);if(!a&&!(it(e)&&it(i)))return i;let o=a?e:rt(e);if(!o)return i;let s=a?i:rt(i);if(!s)return i;let c=o.length,l=s.length,u=a?Array(l):n(),d=0;for(let t=0;t<l;t++){let o=a?t:s[t],l=e[o],f=i[o];if(l===f){u[o]=l,(a?t<c:Ze.call(e,o))&&d++;continue}if(l===null||f===null||typeof l!=`object`||typeof f!=`object`){u[o]=f;continue}let p=nt(l,f,n,r+1);u[o]=p,p===l&&d++}return c===l&&d===c?e:u}function rt(e){let t=Object.getOwnPropertyNames(e);for(let n of t)if(!Qe.call(e,n))return!1;let n=Object.getOwnPropertySymbols(e);if(n.length===0)return t;let r=t;for(let t of n){if(!Qe.call(e,t))return!1;r.push(t)}return r}function it(e){if(!at(e))return!1;let t=e.constructor;if(t===void 0)return!0;let n=t.prototype;return!(!at(n)||!n.hasOwnProperty(`isPrototypeOf`))}function at(e){return Object.prototype.toString.call(e)===`[object Object]`}function ot(e){return Array.isArray(e)&&e.length===Object.keys(e).length}function V(e,t,n){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return!1;for(let r=0,i=e.length;r<i;r++)if(!V(e[r],t[r],n))return!1;return!0}if(it(e)&&it(t)){let r=n?.ignoreUndefined??!0;if(n?.partial){for(let i in t)if((!r||t[i]!==void 0)&&!V(e[i],t[i],n))return!1;return!0}let i=0;if(!r)i=Object.keys(e).length;else for(let t in e)e[t]!==void 0&&i++;let a=0;for(let o in t)if((!r||t[o]!==void 0)&&(a++,a>i||!V(e[o],t[o],n)))return!1;return i===a}return!1}function st(e){let t,n,r=new Promise((e,r)=>{t=e,n=r});return r.status=`pending`,r.resolve=n=>{r.status=`resolved`,r.value=n,t(n),e?.(n)},r.reject=e=>{r.status=`rejected`,n(e)},r}function ct(e){return typeof e?.message==`string`?e.message.startsWith(`Failed to fetch dynamically imported module`)||e.message.startsWith(`error loading dynamically imported module`)||e.message.startsWith(`Importing a module script failed`):!1}function lt(e){return!!(e&&typeof e==`object`&&typeof e.then==`function`)}function ut(e){return e.replace(/[\x00-\x1f\x7f]/g,``)}function dt(e){let t;try{t=decodeURI(e)}catch{t=e.replaceAll(/%[0-9A-F]{2}/gi,e=>{try{return decodeURI(e)}catch{return e}})}return ut(t)}var ft=[`http:`,`https:`,`mailto:`,`tel:`];function pt(e,t){if(!e)return!1;try{let n=new URL(e);return!t.has(n.protocol)}catch{return!1}}function mt(e){if(!e||!/[%\\\x00-\x1f\x7f]/.test(e)&&!e.startsWith(`//`))return{path:e,handledProtocolRelativeURL:!1};let t=/%25|%5C/gi,n=0,r=``,i;for(;(i=t.exec(e))!==null;)r+=dt(e.slice(n,i.index))+i[0],n=t.lastIndex;r+=dt(n?e.slice(n):e);let a=!1;return r.startsWith(`//`)&&(a=!0,r=`/`+r.replace(/^\/+/,``)),{path:r,handledProtocolRelativeURL:a}}function ht(e){return/\s|[^\u0000-\u007F]/.test(e)?e.replace(/\s|[^\u0000-\u007F]/gu,encodeURIComponent):e}function gt(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function _t(){throw Error(`Invariant failed`)}function vt(e){let t=new Map,n,r,i=e=>{e.next&&(e.prev?(e.prev.next=e.next,e.next.prev=e.prev,e.next=void 0,r&&(r.next=e,e.prev=r)):(e.next.prev=void 0,n=e.next,e.next=void 0,r&&(e.prev=r,r.next=e)),r=e)};return{get(e){let n=t.get(e);if(n)return i(n),n.value},set(a,o){if(t.size>=e&&n){let e=n;t.delete(e.key),e.next&&(n=e.next,e.next.prev=void 0),e===r&&(r=void 0)}let s=t.get(a);if(s)s.value=o,i(s);else{let e={key:a,value:o,prev:r};r&&(r.next=e),r=e,n||=e,t.set(a,e)}},clear(){t.clear(),n=void 0,r=void 0}}}var H=4,yt=5;function bt(e){let t=e.indexOf(`{`);if(t===-1)return null;let n=e.indexOf(`}`,t);return n===-1||t+1>=e.length?null:[t,n]}function xt(e,t,n=new Uint16Array(6)){let r=e.indexOf(`/`,t),i=r===-1?e.length:r,a=e.substring(t,i);if(!a||!a.includes(`$`))return n[0]=0,n[1]=t,n[2]=t,n[3]=i,n[4]=i,n[5]=i,n;if(a===`$`){let r=e.length;return n[0]=2,n[1]=t,n[2]=t,n[3]=r,n[4]=r,n[5]=r,n}if(a.charCodeAt(0)===36)return n[0]=1,n[1]=t,n[2]=t+1,n[3]=i,n[4]=i,n[5]=i,n;let o=bt(a);if(o){let[r,s]=o,c=a.charCodeAt(r+1);if(c===45){if(r+2<a.length&&a.charCodeAt(r+2)===36){let e=r+3,a=s;if(e<a)return n[0]=3,n[1]=t+r,n[2]=t+e,n[3]=t+a,n[4]=t+s+1,n[5]=i,n}}else if(c===36){let a=r+1,o=r+2;return o===s?(n[0]=2,n[1]=t+r,n[2]=t+a,n[3]=t+o,n[4]=t+s+1,n[5]=e.length,n):(n[0]=1,n[1]=t+r,n[2]=t+o,n[3]=t+s,n[4]=t+s+1,n[5]=i,n)}}return n[0]=0,n[1]=t,n[2]=t,n[3]=i,n[4]=i,n[5]=i,n}function St(e,t,n,r,i,a,o){o?.(n);let s=r;{let r=n.fullPath??n.from,o=r.length,c=n.options?.caseSensitive??e,l=n.options?.params?.parse??n.options?.parseParams;for(;s<o;){let e=xt(r,s,t),o,u=s,d=e[5];switch(s=d+1,a++,e[0]){case 0:{let t=r.substring(e[2],e[3]);if(c){let e=i.static?.get(t);if(e)o=e;else{i.static??=new Map;let e=W(n.fullPath??n.from);e.parent=i,e.depth=a,o=e,i.static.set(t,e)}}else{let e=t.toLowerCase(),r=i.staticInsensitive?.get(e);if(r)o=r;else{i.staticInsensitive??=new Map;let t=W(n.fullPath??n.from);t.parent=i,t.depth=a,o=t,i.staticInsensitive.set(e,t)}}break}case 1:{let t=r.substring(u,e[1]),s=r.substring(e[4],d),f=c&&!!(t||s),p=t?f?t:t.toLowerCase():void 0,m=s?f?s:s.toLowerCase():void 0,h=!l&&i.dynamic?.find(e=>!e.parse&&e.caseSensitive===f&&e.prefix===p&&e.suffix===m);if(h)o=h;else{let e=wt(1,n.fullPath??n.from,f,p,m);o=e,e.depth=a,e.parent=i,i.dynamic??=[],i.dynamic.push(e)}break}case 3:{let t=r.substring(u,e[1]),s=r.substring(e[4],d),f=c&&!!(t||s),p=t?f?t:t.toLowerCase():void 0,m=s?f?s:s.toLowerCase():void 0,h=!l&&i.optional?.find(e=>!e.parse&&e.caseSensitive===f&&e.prefix===p&&e.suffix===m);if(h)o=h;else{let e=wt(3,n.fullPath??n.from,f,p,m);o=e,e.parent=i,e.depth=a,i.optional??=[],i.optional.push(e)}break}case 2:{let t=r.substring(u,e[1]),s=r.substring(e[4],d),l=c&&!!(t||s),f=t?l?t:t.toLowerCase():void 0,p=s?l?s:s.toLowerCase():void 0,m=wt(2,n.fullPath??n.from,l,f,p);o=m,m.parent=i,m.depth=a,i.wildcard??=[],i.wildcard.push(m)}}i=o}if(l&&n.children&&!n.isRoot&&n.id&&n.id.charCodeAt(n.id.lastIndexOf(`/`)+1)===95){let e=W(n.fullPath??n.from);e.kind=yt,e.parent=i,a++,e.depth=a,i.pathless??=[],i.pathless.push(e),i=e}let u=(n.path||!n.children)&&!n.isRoot;if(u&&r.endsWith(`/`)){let e=W(n.fullPath??n.from);e.kind=H,e.parent=i,a++,e.depth=a,i.index=e,i=e}i.parse=l??null,i.priority=n.options?.params?.priority??0,u&&!i.route&&(i.route=n,i.fullPath=n.fullPath??n.from)}if(n.children)for(let r of n.children)St(e,t,r,s,i,a,o)}function Ct(e,t){if(e.parse&&!t.parse)return-1;if(!e.parse&&t.parse)return 1;if(e.parse&&t.parse&&(e.priority||t.priority))return t.priority-e.priority;if(e.prefix&&t.prefix&&e.prefix!==t.prefix){if(e.prefix.startsWith(t.prefix))return-1;if(t.prefix.startsWith(e.prefix))return 1}if(e.suffix&&t.suffix&&e.suffix!==t.suffix){if(e.suffix.endsWith(t.suffix))return-1;if(t.suffix.endsWith(e.suffix))return 1}return e.prefix&&!t.prefix?-1:!e.prefix&&t.prefix?1:e.suffix&&!t.suffix?-1:!e.suffix&&t.suffix?1:e.caseSensitive&&!t.caseSensitive?-1:!e.caseSensitive&&t.caseSensitive?1:0}function U(e){if(e.pathless)for(let t of e.pathless)U(t);if(e.static)for(let t of e.static.values())U(t);if(e.staticInsensitive)for(let t of e.staticInsensitive.values())U(t);if(e.dynamic?.length){e.dynamic.sort(Ct);for(let t of e.dynamic)U(t)}if(e.optional?.length){e.optional.sort(Ct);for(let t of e.optional)U(t)}if(e.wildcard?.length){e.wildcard.sort(Ct);for(let t of e.wildcard)U(t)}}function W(e){return{kind:0,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:e,parent:null,parse:null,priority:0}}function wt(e,t,n,r,i){return{kind:e,depth:0,pathless:null,index:null,static:null,staticInsensitive:null,dynamic:null,optional:null,wildcard:null,route:null,fullPath:t,parent:null,parse:null,priority:0,caseSensitive:n,prefix:r,suffix:i}}function Tt(e,t){let n=W(`/`),r=new Uint16Array(6);for(let t of e)St(!1,r,t,1,n,0);U(n),t.masksTree=n,t.flatCache=vt(1e3)}function Et(e,t){e||=`/`;let n=t.flatCache.get(e);if(n)return n;let r=jt(e,t.masksTree);return t.flatCache.set(e,r),r}function Dt(e,t,n,r,i){e||=`/`,r||=`/`;let a=t?`case\0${e}`:e,o=i.singleCache.get(a);return o||(o=W(`/`),St(t,new Uint16Array(6),{from:e},1,o,0),i.singleCache.set(a,o)),jt(r,o,n)}function Ot(e,t,n=!1){let r=n?e:`nofuzz\0${e}`,i=t.matchCache.get(r);if(i!==void 0)return i;e||=`/`;let a;try{a=jt(e,t.segmentTree,n)}catch(e){if(e instanceof URIError)a=null;else throw e}return a&&(a.branch=Nt(a.route)),t.matchCache.set(r,a),a}function kt(e){return e===`/`?e:e.replace(/\/{1,}$/,``)}function At(e,t=!1,n){let r=W(e.fullPath),i=new Uint16Array(6),a={},o={},s=0;return St(t,i,e,1,r,0,e=>{if(n?.(e,s),e.id in a&&_t(),a[e.id]=e,s!==0&&e.path){let t=kt(e.fullPath);(!o[t]||e.fullPath.endsWith(`/`))&&(o[t]=e)}s++}),U(r),{processedTree:{segmentTree:r,singleCache:vt(1e3),matchCache:vt(1e3),flatCache:null,masksTree:null},routesById:a,routesByPath:o}}function jt(e,t,n=!1){let r=e.split(`/`),i=Ft(e,r,t,n);if(!i)return null;let[a]=Mt(e,r,i);return{route:i.node.route,rawParams:a}}function Mt(e,t,n){let r=Pt(n.node),i=null,a=Object.create(null),o=n.extract?.part??0,s=n.extract?.node??0,c=n.extract?.path??0,l=n.extract?.segment??0;for(;s<r.length;o++,s++,c++,l++){let u=r[s];if(u.kind===H)break;if(u.kind===yt){l--,o--,c--;continue}let d=t[o],f=c;if(d&&(c+=d.length),u.kind===1){i??=n.node.fullPath.split(`/`);let e=i[l],t=u.prefix?.length??0;if(e.charCodeAt(t)===123){let n=u.suffix?.length??0,r=e.substring(t+2,e.length-n-1),i=d.substring(t,d.length-n);a[r]=decodeURIComponent(i)}else{let t=e.substring(1);a[t]=decodeURIComponent(d)}}else if(u.kind===3){if(n.skipped&1<<s){o--,c=f-1;continue}i??=n.node.fullPath.split(`/`);let e=i[l],t=u.prefix?.length??0,r=u.suffix?.length??0,p=e.substring(t+3,e.length-r-1),m=u.suffix||u.prefix?d.substring(t,d.length-r):d;m&&(a[p]=decodeURIComponent(m))}else if(u.kind===2){let t=u,n=e.substring(f+(t.prefix?.length??0),e.length-(t.suffix?.length??0)),r=decodeURIComponent(n);a[`*`]=r,a._splat=r;break}}return n.rawParams&&Object.assign(a,n.rawParams),[a,{part:o,node:s,path:c,segment:l}]}function Nt(e){let t=[e];for(;e.parentRoute;)e=e.parentRoute,t.push(e);return t.reverse(),t}function Pt(e){let t=Array(e.depth+1);do t[e.depth]=e,e=e.parent;while(e);return t}function Ft(e,t,n,r){if(e===`/`&&n.index)return{node:n.index,skipped:0};let i=!Je(t),a=i&&e!==`/`,o=t.length-+!!i,s=[{node:n,index:1,skipped:0,depth:1,statics:0,dynamics:0,optionals:0}],c=null,l=null;for(;s.length;){let n=s.pop(),{node:i,index:u,skipped:d,depth:f,statics:p,dynamics:m,optionals:h}=n,{extract:g,rawParams:_}=n;if(i.kind===2&&i.route&&!zt(l,n))continue;if(i.parse){if(!Rt(e,t,n))continue;_=n.rawParams,g=n.extract}r&&i.route&&i.kind!==H&&zt(c,n)&&(c=n);let v=u===o;if(v&&(i.route&&(!a||i.kind===H||i.kind===2)&&zt(l,n)&&(l=n),!i.optional&&!i.wildcard&&!i.index&&!i.pathless))continue;let y=v?void 0:t[u],b;if(v&&i.index){let n={node:i.index,index:u,skipped:d,depth:f+1,statics:p,dynamics:m,optionals:h,extract:g,rawParams:_},r=!0;if(i.index.parse&&(Rt(e,t,n)||(r=!1)),r){if(!m&&!h&&!d&&Lt(p,o))return n;zt(l,n)&&(l=n)}}if(i.wildcard)for(let e=i.wildcard.length-1;e>=0;e--){let n=i.wildcard[e],{prefix:r,suffix:a}=n;if(!(r&&(v||!(n.caseSensitive?y:b??=y.toLowerCase()).startsWith(r)))){if(a){if(v)continue;let e=t.slice(u).join(`/`).slice(-a.length);if((n.caseSensitive?e:e.toLowerCase())!==a)continue}s.push({node:n,index:o,skipped:d,depth:f+1,statics:p,dynamics:m,optionals:h,extract:g,rawParams:_})}}if(i.optional){let e=d|1<<f,t=f+1;for(let n=i.optional.length-1;n>=0;n--){let r=i.optional[n];s.push({node:r,index:u,skipped:e,depth:t,statics:p,dynamics:m,optionals:h,extract:g,rawParams:_})}if(!v)for(let e=i.optional.length-1;e>=0;e--){let n=i.optional[e],{prefix:r,suffix:a}=n;if(r||a){let e=n.caseSensitive?y:b??=y.toLowerCase();if(r&&!e.startsWith(r)||a&&!e.endsWith(a))continue}s.push({node:n,index:u+1,skipped:d,depth:t,statics:p,dynamics:m,optionals:h+It(o,u),extract:g,rawParams:_})}}if(!v&&i.dynamic&&y)for(let e=i.dynamic.length-1;e>=0;e--){let t=i.dynamic[e],{prefix:n,suffix:r}=t;if(n||r){let e=t.caseSensitive?y:b??=y.toLowerCase();if(n&&!e.startsWith(n)||r&&!e.endsWith(r))continue}s.push({node:t,index:u+1,skipped:d,depth:f+1,statics:p,dynamics:m+It(o,u),optionals:h,extract:g,rawParams:_})}if(!v&&i.staticInsensitive){let e=i.staticInsensitive.get(b??=y.toLowerCase());e&&s.push({node:e,index:u+1,skipped:d,depth:f+1,statics:p+It(o,u),dynamics:m,optionals:h,extract:g,rawParams:_})}if(!v&&i.static){let e=i.static.get(y);e&&s.push({node:e,index:u+1,skipped:d,depth:f+1,statics:p+It(o,u),dynamics:m,optionals:h,extract:g,rawParams:_})}if(i.pathless){let e=f+1;for(let t=i.pathless.length-1;t>=0;t--){let n=i.pathless[t];s.push({node:n,index:u,skipped:d,depth:e,statics:p,dynamics:m,optionals:h,extract:g,rawParams:_})}}}if(l)return l;if(r&&c){let n=c.index;for(let e=0;e<c.index;e++)n+=t[e].length;let r=n===e.length?`/`:e.slice(n);return c.rawParams??=Object.create(null),c.rawParams[`**`]=decodeURIComponent(r),c}return null}function It(e,t){return 2**(e-t-1)}function Lt(e,t){return e===2**(t-1)-1}function Rt(e,t,n){let r,i;try{[r,i]=Mt(e,t,n)}catch{return null}if(n.rawParams=r,n.extract=i,!n.node.parse)return!0;try{if(n.node.parse(r)===!1)return null}catch{}return!0}function zt(e,t){return e?t.statics>e.statics||t.statics===e.statics&&(t.dynamics>e.dynamics||t.dynamics===e.dynamics&&(t.optionals>e.optionals||t.optionals===e.optionals&&((t.node.kind===H)>(e.node.kind===H)||t.node.kind===H==(e.node.kind===H)&&t.depth>e.depth))):!0}function Bt(e){return Vt(e.filter(e=>e!==void 0).join(`/`))}function Vt(e){return e.replace(/\/{2,}/g,`/`)}function Ht(e){return e===`/`?e:e.replace(/^\/{1,}/,``)}function Ut(e){let t=e.length;return t>1&&e[t-1]===`/`?e.replace(/\/{1,}$/,``):e}function Wt(e){return Ut(Ht(e))}function Gt(e,t){return e?.endsWith(`/`)&&e!==`/`&&e!==`${t}/`?e.slice(0,-1):e}function Kt(e,t,n){return Gt(e,n)===Gt(t,n)}function qt({base:e,to:t,trailingSlash:n=`never`,cache:r}){let i=t.startsWith(`/`),a=!i&&t===`.`,o;if(r){o=i?t:a?e:e+`\0`+t;let n=r.get(o);if(n)return n}let s;if(a)s=e.split(`/`);else if(i)s=t.split(`/`);else{for(s=e.split(`/`);s.length>1&&Je(s)===``;)s.pop();let n=t.split(`/`);for(let e=0,t=n.length;e<t;e++){let r=n[e];r===``?e?e===t-1&&s.push(r):s=[r]:r===`..`?s.pop():r===`.`||s.push(r)}}s.length>1&&(Je(s)===``?n===`never`&&s.pop():n===`always`&&s.push(``));let c=Vt(s.join(`/`))||`/`;return o&&r&&r.set(o,c),c}function Jt(e){let t=new Map(e.map(e=>[encodeURIComponent(e),e])),n=Array.from(t.keys()).map(e=>e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)).join(`|`),r=new RegExp(n,`g`);return e=>e.replace(r,e=>t.get(e)??e)}function Yt(e,t,n){let r=t[e];return typeof r==`string`?e===`_splat`?/^[a-zA-Z0-9\-._~!/]*$/.test(r)?r:r.split(`/`).map(e=>Zt(e,n)).join(`/`):Zt(r,n):r}function Xt({path:e,params:t,decoder:n,...r}){let i=!1,a=Object.create(null);if(!e||e===`/`)return{interpolatedPath:`/`,usedParams:a,isMissingParams:i};if(!e.includes(`$`))return{interpolatedPath:e,usedParams:a,isMissingParams:i};let o=e.length,s=0,c,l=``;for(;s<o;){let r=s;c=xt(e,r,c);let o=c[5];if(s=o+1,r===o)continue;let u=c[0];if(u===0){l+=`/`+e.substring(r,o);continue}if(u===2){let s=t._splat;a._splat=s,a[`*`]=s;let u=e.substring(r,c[1]),d=e.substring(c[4],o);if(!s){i=!0,(u||d)&&(l+=`/`+u+d);continue}let f=Yt(`_splat`,t,n);l+=`/`+u+f+d;continue}if(u===1){let s=e.substring(c[2],c[3]);!i&&!(s in t)&&(i=!0),a[s]=t[s];let u=e.substring(r,c[1]),d=e.substring(c[4],o),f=Yt(s,t,n)??`undefined`;l+=`/`+u+f+d;continue}if(u===3){let i=e.substring(c[2],c[3]),s=t[i];if(s==null)continue;a[i]=s;let u=e.substring(r,c[1]),d=e.substring(c[4],o),f=Yt(i,t,n)??``;l+=`/`+u+f+d;continue}}return e.endsWith(`/`)&&(l+=`/`),{usedParams:a,interpolatedPath:l||`/`,isMissingParams:i}}function Zt(e,t){let n=encodeURIComponent(e);return t?.(n)??n}var Qt=`Error preloading route! โ๏ธ`;function $t({children:e,fallback:t=null}){return en()?(0,Ce.jsx)(B.Fragment,{children:e}):(0,Ce.jsx)(B.Fragment,{children:t})}function en(){return B.useSyncExternalStore(tn,()=>!0,()=>!1)}function tn(){return()=>{}}var nn=B.createContext(null);function rn(e){return B.useContext(nn)}var an=t((t=>{var n=a(),r=e();function i(e,t){return e===t&&(e!==0||1/e==1/t)||e!==e&&t!==t}var o=typeof Object.is==`function`?Object.is:i,s=r.useSyncExternalStore,c=n.useRef,l=n.useEffect,u=n.useMemo,d=n.useDebugValue;t.useSyncExternalStoreWithSelector=function(e,t,n,r,i){var a=c(null);if(a.current===null){var f={hasValue:!1,value:null};a.current=f}else f=a.current;a=u(function(){function e(e){if(!a){if(a=!0,s=e,e=r(e),i!==void 0&&f.hasValue){var t=f.value;if(i(t,e))return c=t}return c=e}if(t=c,o(s,e))return t;var n=r(e);return i!==void 0&&i(t,n)?(s=e,t):(s=e,c=n)}var a=!1,s,c,l=n===void 0?null:n;return[function(){return e(t())},l===null?void 0:function(){return e(l())}]},[t,n,r,i]);var p=s(e,a[0],a[1]);return l(function(){f.hasValue=!0,f.value=p},[p]),d(p),p}})),on=t(((e,t)=>{t.exports=an()}))();function sn(e,t){return e===t}function cn(e,t,n=sn){let r=(0,B.useCallback)(t=>{if(!e)return()=>{};let{unsubscribe:n}=e.subscribe(t);return n},[e]),i=(0,B.useCallback)(()=>e?.get(),[e]);return(0,on.useSyncExternalStoreWithSelector)(r,i,i,t,n)}var ln=t((e=>{var t=a();function n(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function r(){}var i={d:{f:r,r:function(){throw Error(n(522))},D:r,C:r,L:r,m:r,X:r,S:r,M:r},p:0,findDOMNode:null},o=Symbol.for(`react.portal`);function s(e,t,n){var r=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:o,key:r==null?null:``+r,children:e,containerInfo:t,implementation:n}}var c=t.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;function l(e,t){if(e===`font`)return``;if(typeof t==`string`)return t===`use-credentials`?t:``}e.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE=i,e.createPortal=function(e,t){var r=2<arguments.length&&arguments[2]!==void 0?arguments[2]:null;if(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)throw Error(n(299));return s(e,t,null,r)},e.flushSync=function(e){var t=c.T,n=i.p;try{if(c.T=null,i.p=2,e)return e()}finally{c.T=t,i.p=n,i.d.f()}},e.preconnect=function(e,t){typeof e==`string`&&(t?(t=t.crossOrigin,t=typeof t==`string`?t===`use-credentials`?t:``:void 0):t=null,i.d.C(e,t))},e.prefetchDNS=function(e){typeof e==`string`&&i.d.D(e)},e.preinit=function(e,t){if(typeof e==`string`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin),a=typeof t.integrity==`string`?t.integrity:void 0,o=typeof t.fetchPriority==`string`?t.fetchPriority:void 0;n===`style`?i.d.S(e,typeof t.precedence==`string`?t.precedence:void 0,{crossOrigin:r,integrity:a,fetchPriority:o}):n===`script`&&i.d.X(e,{crossOrigin:r,integrity:a,fetchPriority:o,nonce:typeof t.nonce==`string`?t.nonce:void 0})}},e.preinitModule=function(e,t){if(typeof e==`string`)if(typeof t==`object`&&t){if(t.as==null||t.as===`script`){var n=l(t.as,t.crossOrigin);i.d.M(e,{crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0})}}else t??i.d.M(e)},e.preload=function(e,t){if(typeof e==`string`&&typeof t==`object`&&t&&typeof t.as==`string`){var n=t.as,r=l(n,t.crossOrigin);i.d.L(e,n,{crossOrigin:r,integrity:typeof t.integrity==`string`?t.integrity:void 0,nonce:typeof t.nonce==`string`?t.nonce:void 0,type:typeof t.type==`string`?t.type:void 0,fetchPriority:typeof t.fetchPriority==`string`?t.fetchPriority:void 0,referrerPolicy:typeof t.referrerPolicy==`string`?t.referrerPolicy:void 0,imageSrcSet:typeof t.imageSrcSet==`string`?t.imageSrcSet:void 0,imageSizes:typeof t.imageSizes==`string`?t.imageSizes:void 0,media:typeof t.media==`string`?t.media:void 0})}},e.preloadModule=function(e,t){if(typeof e==`string`)if(t){var n=l(t.as,t.crossOrigin);i.d.m(e,{as:typeof t.as==`string`&&t.as!==`script`?t.as:void 0,crossOrigin:n,integrity:typeof t.integrity==`string`?t.integrity:void 0})}else i.d.m(e)},e.requestFormReset=function(e){i.d.r(e)},e.unstable_batchedUpdates=function(e,t){return e(t)},e.useFormState=function(e,t,n){return c.H.useFormState(e,t,n)},e.useFormStatus=function(){return c.H.useHostTransitionStatus()},e.version=`19.2.7`})),un=t(((e,t)=>{function n(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>`u`||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!=`function`))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(n)}catch(e){console.error(e)}}n(),t.exports=ln()})),dn=un();function fn(e,t){let n=rn(),r=qe(t),{activeProps:i,inactiveProps:a,activeOptions:o,to:s,preload:c,preloadDelay:l,preloadIntentProximity:u,hashScrollIntoView:d,replace:f,startTransition:p,resetScroll:m,viewTransition:h,children:g,target:_,disabled:v,style:y,className:b,onClick:x,onBlur:S,onFocus:C,onMouseEnter:w,onMouseLeave:T,onTouchStart:E,ignoreBlocker:ee,params:te,search:ne,hash:re,state:ie,mask:ae,reloadDocument:oe,unsafeRelative:se,from:ce,_fromLocation:le,...ue}=e,D=en(),O=B.useMemo(()=>e,[n,e.from,e._fromLocation,e.hash,e.to,e.search,e.params,e.state,e.mask,e.unsafeRelative]),k=cn(n.stores.location,e=>e,(e,t)=>e.href===t.href),A=B.useMemo(()=>{let e={_fromLocation:k,...O};return n.buildLocation(e)},[n,k,O]),j=A.maskedLocation?A.maskedLocation.publicHref:A.publicHref,de=A.maskedLocation?A.maskedLocation.external:A.external,M=B.useMemo(()=>yn(j,de,n.history,v),[v,de,j,n.history]),N=B.useMemo(()=>{if(M?.external)return pt(M.href,n.protocolAllowlist)?void 0:M.href;if(!bn(s)&&!(typeof s!=`string`||s.indexOf(`:`)===-1))try{return new URL(s),pt(s,n.protocolAllowlist)?void 0:s}catch{}},[s,M,n.protocolAllowlist]),P=B.useMemo(()=>{if(N)return!1;if(o?.exact){if(!Kt(k.pathname,A.pathname,n.basepath))return!1}else{let e=Gt(k.pathname,n.basepath),t=Gt(A.pathname,n.basepath);if(!(e.startsWith(t)&&(e.length===t.length||e[t.length]===`/`)))return!1}return(o?.includeSearch??!0)&&!V(k.search,A.search,{partial:!o?.exact,ignoreUndefined:!o?.explicitUndefined})?!1:o?.includeHash?D&&k.hash===A.hash:!0},[o?.exact,o?.explicitUndefined,o?.includeHash,o?.includeSearch,k,N,D,A.hash,A.pathname,A.search,n.basepath]),F=P?Xe(i,{})??mn:pn,I=P?pn:Xe(a,{})??pn,fe=[b,F.className,I.className].filter(Boolean).join(` `),pe=(y||F.style||I.style)&&{...y,...F.style,...I.style},[me,he]=B.useState(!1),ge=B.useRef(!1),L=e.reloadDocument||N?!1:c??n.options.defaultPreload,R=l??n.options.defaultPreloadDelay??0,z=B.useCallback(()=>{n.preloadRoute({...O,_builtLocation:A}).catch(e=>{console.warn(e),console.warn(Qt)})},[n,O,A]);Ke(r,B.useCallback(e=>{e?.isIntersecting&&z()},[z]),vn,{disabled:!!v||L!==`viewport`}),B.useEffect(()=>{ge.current||!v&&L===`render`&&(z(),ge.current=!0)},[v,z,L]);let _e=e=>{let t=e.currentTarget.getAttribute(`target`),r=_===void 0?t:_;if(!v&&!Sn(e)&&!e.defaultPrevented&&(!r||r===`_self`)&&e.button===0){e.preventDefault(),(0,dn.flushSync)(()=>{he(!0)});let t=n.subscribe(`onResolved`,()=>{t(),he(!1)});n.navigate({...O,replace:f,resetScroll:m,hashScrollIntoView:d,startTransition:p,viewTransition:h,ignoreBlocker:ee})}};if(N)return{...ue,ref:r,href:N,...g&&{children:g},..._&&{target:_},...v&&{disabled:v},...y&&{style:y},...b&&{className:b},...x&&{onClick:x},...S&&{onBlur:S},...C&&{onFocus:C},...w&&{onMouseEnter:w},...T&&{onMouseLeave:T},...E&&{onTouchStart:E}};let ve=e=>{if(v||L!==`intent`)return;if(!R){z();return}let t=e.currentTarget;if(G.has(t))return;let n=setTimeout(()=>{G.delete(t),z()},R);G.set(t,n)},ye=e=>{v||L!==`intent`||z()},be=e=>{if(v||!L||!R)return;let t=e.currentTarget,n=G.get(t);n&&(clearTimeout(n),G.delete(t))};return{...ue,...F,...I,href:M?.href,ref:r,onClick:K([x,_e]),onBlur:K([S,be]),onFocus:K([C,ve]),onMouseEnter:K([w,ve]),onMouseLeave:K([T,be]),onTouchStart:K([E,ye]),disabled:!!v,target:_,...pe&&{style:pe},...fe&&{className:fe},...v&&hn,...P&&gn,...D&&me&&_n}}var pn={},mn={className:`active`},hn={role:`link`,"aria-disabled":!0},gn={"data-status":`active`,"aria-current":`page`},_n={"data-transitioning":`transitioning`},G=new WeakMap,vn={rootMargin:`100px`},K=e=>t=>{for(let n of e)if(n){if(t.defaultPrevented)return;n(t)}};function yn(e,t,n,r){if(!r)return t?{href:e,external:!0}:{href:n.createHref(e)||`/`,external:!1}}function bn(e){if(typeof e!=`string`)return!1;let t=e.charCodeAt(0);return t===47?e.charCodeAt(1)!==47:t===46}var xn=B.forwardRef((e,t)=>{let{_asChild:n,...r}=e,{type:i,...a}=fn(r,t),o=typeof r.children==`function`?r.children({isActive:a[`data-status`]===`active`}):r.children;if(!n){let{disabled:e,...t}=a;return B.createElement(`a`,t,o)}return B.createElement(n,a,o)});function Sn(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}var q=e=>typeof e==`string`,Cn=()=>{let e,t,n=new Promise((n,r)=>{e=n,t=r});return n.resolve=e,n.reject=t,n},wn=e=>e==null?``:String(e),Tn=(e,t,n)=>{e.forEach(e=>{t[e]&&(n[e]=t[e])})},En=/###/g,Dn=e=>e&&e.includes(`###`)?e.replace(En,`.`):e,On=e=>!e||q(e),kn=(e,t,n)=>{let r=q(t)?t.split(`.`):t,i=0;for(;i<r.length-1;){if(On(e))return{};let t=Dn(r[i]);!e[t]&&n&&(e[t]=new n),e=Object.prototype.hasOwnProperty.call(e,t)?e[t]:{},++i}return On(e)?{}:{obj:e,k:Dn(r[i])}},An=(e,t,n)=>{let{obj:r,k:i}=kn(e,t,Object);if(r!==void 0||t.length===1){r[i]=n;return}let a=t[t.length-1],o=t.slice(0,t.length-1),s=kn(e,o,Object);for(;s.obj===void 0&&o.length;)a=`${o[o.length-1]}.${a}`,o=o.slice(0,o.length-1),s=kn(e,o,Object),s?.obj&&s.obj[`${s.k}.${a}`]!==void 0&&(s.obj=void 0);s.obj[`${s.k}.${a}`]=n},jn=(e,t,n,r)=>{let{obj:i,k:a}=kn(e,t,Object);i[a]=i[a]||[],i[a].push(n)},Mn=(e,t)=>{let{obj:n,k:r}=kn(e,t);if(n&&Object.prototype.hasOwnProperty.call(n,r))return n[r]},Nn=(e,t,n)=>{let r=Mn(e,n);return r===void 0?Mn(t,n):r},Pn=(e,t,n)=>{for(let r in t)r!==`__proto__`&&r!==`constructor`&&(r in e?q(e[r])||e[r]instanceof String||q(t[r])||t[r]instanceof String?n&&(e[r]=t[r]):Pn(e[r],t[r],n):e[r]=t[r]);return e},J=e=>e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,`\\$&`),Fn={"&":`&`,"<":`<`,">":`>`,'"':`"`,"'":`'`,"/":`/`},In=e=>q(e)?e.replace(/[&<>"'\/]/g,e=>Fn[e]):e,Ln=class{constructor(e){this.capacity=e,this.regExpMap=new Map,this.regExpQueue=[]}getRegExp(e){let t=this.regExpMap.get(e);if(t!==void 0)return t;let n=new RegExp(e);return this.regExpQueue.length===this.capacity&&this.regExpMap.delete(this.regExpQueue.shift()),this.regExpMap.set(e,n),this.regExpQueue.push(e),n}},Rn=[` `,`,`,`?`,`!`,`;`],zn=new Ln(20),Bn=(e,t,n)=>{t||=``,n||=``;let r=Rn.filter(e=>!t.includes(e)&&!n.includes(e));if(r.length===0)return!0;let i=zn.getRegExp(`(${r.map(e=>e===`?`?`\\?`:e).join(`|`)})`),a=!i.test(e);if(!a){let t=e.indexOf(n);t>0&&!i.test(e.substring(0,t))&&(a=!0)}return a},Vn=(e,t,n=`.`)=>{if(!e)return;if(e[t])return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0;let r=t.split(n),i=e;for(let e=0;e<r.length;){if(!i||typeof i!=`object`)return;let t,a=``;for(let o=e;o<r.length;++o)if(o!==e&&(a+=n),a+=r[o],t=i[a],t!==void 0){if([`string`,`number`,`boolean`].includes(typeof t)&&o<r.length-1)continue;e+=o-e+1;break}i=t}return i},Hn=e=>e?.replace(/_/g,`-`),Un={type:`logger`,log(e){this.output(`log`,e)},warn(e){this.output(`warn`,e)},error(e){this.output(`error`,e)},output(e,t){console?.[e]?.apply?.(console,t)}},Y=new class e{constructor(e,t={}){this.init(e,t)}init(e,t={}){this.prefix=t.prefix||`i18next:`,this.logger=e||Un,this.options=t,this.debug=t.debug}log(...e){return this.forward(e,`log`,``,!0)}warn(...e){return this.forward(e,`warn`,``,!0)}error(...e){return this.forward(e,`error`,``)}deprecate(...e){return this.forward(e,`warn`,`WARNING DEPRECATED: `,!0)}forward(e,t,n,r){return r&&!this.debug?null:(e=e.map(e=>q(e)?e.replace(/[\r\n\x00-\x1F\x7F]/g,` `):e),q(e[0])&&(e[0]=`${n}${this.prefix} ${e[0]}`),this.logger[t](e))}create(t){return new e(this.logger,{prefix:`${this.prefix}:${t}:`,...this.options})}clone(t){return t||=this.options,t.prefix=t.prefix||this.prefix,new e(this.logger,t)}},Wn=class{constructor(){this.observers={}}on(e,t){return e.split(` `).forEach(e=>{this.observers[e]||(this.observers[e]=new Map);let n=this.observers[e].get(t)||0;this.observers[e].set(t,n+1)}),this}off(e,t){if(this.observers[e]){if(!t){delete this.observers[e];return}this.observers[e].delete(t)}}once(e,t){let n=(...r)=>{t(...r),this.off(e,n)};return this.on(e,n),this}emit(e,...t){this.observers[e]&&Array.from(this.observers[e].entries()).forEach(([e,n])=>{for(let r=0;r<n;r++)e(...t)}),this.observers[`*`]&&Array.from(this.observers[`*`].entries()).forEach(([n,r])=>{for(let i=0;i<r;i++)n(e,...t)})}},Gn=class extends Wn{constructor(e,t={ns:[`translation`],defaultNS:`translation`}){super(),this.data=e||{},this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.options.ignoreJSONStructure===void 0&&(this.options.ignoreJSONStructure=!0)}addNamespaces(e){this.options.ns.includes(e)||this.options.ns.push(e)}removeNamespaces(e){let t=this.options.ns.indexOf(e);t>-1&&this.options.ns.splice(t,1)}getResource(e,t,n,r={}){let i=r.keySeparator===void 0?this.options.keySeparator:r.keySeparator,a=r.ignoreJSONStructure===void 0?this.options.ignoreJSONStructure:r.ignoreJSONStructure,o;e.includes(`.`)?o=e.split(`.`):(o=[e,t],n&&(Array.isArray(n)?o.push(...n):q(n)&&i?o.push(...n.split(i)):o.push(n)));let s=Mn(this.data,o);return!s&&!t&&!n&&e.includes(`.`)&&(e=o[0],t=o[1],n=o.slice(2).join(`.`)),s||!a||!q(n)?s:Vn(this.data?.[e]?.[t],n,i)}addResource(e,t,n,r,i={silent:!1}){let a=i.keySeparator===void 0?this.options.keySeparator:i.keySeparator,o=[e,t];n&&(o=o.concat(a?n.split(a):n)),e.includes(`.`)&&(o=e.split(`.`),r=t,t=o[1]),this.addNamespaces(t),An(this.data,o,r),i.silent||this.emit(`added`,e,t,n,r)}addResources(e,t,n,r={silent:!1}){for(let r in n)(q(n[r])||Array.isArray(n[r]))&&this.addResource(e,t,r,n[r],{silent:!0});r.silent||this.emit(`added`,e,t,n)}addResourceBundle(e,t,n,r,i,a={silent:!1,skipCopy:!1}){let o=[e,t];e.includes(`.`)&&(o=e.split(`.`),r=n,n=t,t=o[1]),this.addNamespaces(t);let s=Mn(this.data,o)||{};a.skipCopy||(n=JSON.parse(JSON.stringify(n))),r?Pn(s,n,i):s={...s,...n},An(this.data,o,s),a.silent||this.emit(`added`,e,t,n)}removeResourceBundle(e,t){this.hasResourceBundle(e,t)&&delete this.data[e][t],this.removeNamespaces(t),this.emit(`removed`,e,t)}hasResourceBundle(e,t){return this.getResource(e,t)!==void 0}getResourceBundle(e,t){return t||=this.options.defaultNS,this.getResource(e,t)}getDataByLanguage(e){return this.data[e]}hasLanguageSomeTranslations(e){let t=this.getDataByLanguage(e);return!!(t&&Object.keys(t)||[]).find(e=>t[e]&&Object.keys(t[e]).length>0)}toJSON(){return this.data}},Kn={processors:{},addPostProcessor(e){this.processors[e.name]=e},handle(e,t,n,r,i){return e.forEach(e=>{t=this.processors[e]?.process(t,n,r,i)??t}),t}},qn=Symbol(`i18next/PATH_KEY`);function Jn(){let e=[],t=Object.create(null),n;return t.get=(r,i)=>(n?.revoke?.(),i===qn?e:(e.push(i),n=Proxy.revocable(r,t),n.proxy)),Proxy.revocable(Object.create(null),t).proxy}function X(e,t){let{[qn]:n}=e(Jn()),r=t?.keySeparator??`.`,i=t?.nsSeparator??`:`,a=t?.enableSelector===`strict`;if(n.length>1&&i){let e=t?.ns,o=a?Array.isArray(e)?e:e?[e]:null:Array.isArray(e)?e:null;if(o&&(a?o:o.length>1?o.slice(1):[]).includes(n[0]))return`${n[0]}${i}${n.slice(1).join(r)}`}return n.join(r)}var Yn=e=>!q(e)&&typeof e!=`boolean`&&typeof e!=`number`,Xn=class e extends Wn{constructor(e,t={}){super(),Tn([`resourceStore`,`languageUtils`,`pluralResolver`,`interpolator`,`backendConnector`,`i18nFormat`,`utils`],e,this),this.options=t,this.options.keySeparator===void 0&&(this.options.keySeparator=`.`),this.logger=Y.create(`translator`),this.checkedLoadedFor={}}changeLanguage(e){e&&(this.language=e)}exists(e,t={interpolation:{}}){let n={...t};if(e==null)return!1;let r=this.resolve(e,n);if(r?.res===void 0)return!1;let i=Yn(r.res);return!(n.returnObjects===!1&&i)}extractFromKey(e,t){let n=t.nsSeparator===void 0?this.options.nsSeparator:t.nsSeparator;n===void 0&&(n=`:`);let r=t.keySeparator===void 0?this.options.keySeparator:t.keySeparator,i=t.ns||this.options.defaultNS||[],a=n&&e.includes(n),o=!this.options.userDefinedKeySeparator&&!t.keySeparator&&!this.options.userDefinedNsSeparator&&!t.nsSeparator&&!Bn(e,n,r);if(a&&!o){let t=e.match(this.interpolator.nestingRegexp);if(t&&t.length>0)return{key:e,namespaces:q(i)?[i]:i};let a=e.split(n);(n!==r||n===r&&this.options.ns.includes(a[0]))&&(i=a.shift()),e=a.join(r)}return{key:e,namespaces:q(i)?[i]:i}}translate(t,n,r){let i=typeof n==`object`?{...n}:n;if(typeof i!=`object`&&this.options.overloadTranslationOptionHandler&&(i=this.options.overloadTranslationOptionHandler(arguments)),typeof i==`object`&&(i={...i}),i||={},t==null)return``;typeof t==`function`&&(t=X(t,{...this.options,...i})),Array.isArray(t)||(t=[String(t)]),t=t.map(e=>typeof e==`function`?X(e,{...this.options,...i}):String(e));let a=i.returnDetails===void 0?this.options.returnDetails:i.returnDetails,o=i.keySeparator===void 0?this.options.keySeparator:i.keySeparator,{key:s,namespaces:c}=this.extractFromKey(t[t.length-1],i),l=c[c.length-1],u=i.nsSeparator===void 0?this.options.nsSeparator:i.nsSeparator;u===void 0&&(u=`:`);let d=i.lng||this.language,f=i.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(d?.toLowerCase()===`cimode`)return f?a?{res:`${l}${u}${s}`,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:`${l}${u}${s}`:a?{res:s,usedKey:s,exactUsedKey:s,usedLng:d,usedNS:l,usedParams:this.getUsedParamsDetails(i)}:s;let p=this.resolve(t,i),m=p?.res,h=p?.usedKey||s,g=p?.exactUsedKey||s,_=[`[object Number]`,`[object Function]`,`[object RegExp]`],v=i.joinArrays===void 0?this.options.joinArrays:i.joinArrays,y=!this.i18nFormat||this.i18nFormat.handleAsObject,b=i.count!==void 0&&!q(i.count),x=e.hasDefaultValue(i),S=b?this.pluralResolver.getSuffix(d,i.count,i):``,C=i.ordinal&&b?this.pluralResolver.getSuffix(d,i.count,{ordinal:!1}):``,w=b&&!i.ordinal&&i.count===0,T=w&&i[`defaultValue${this.options.pluralSeparator}zero`]||i[`defaultValue${S}`]||i[`defaultValue${C}`]||i.defaultValue,E=m;y&&!m&&x&&(E=T);let ee=Yn(E),te=Object.prototype.toString.apply(E);if(y&&E&&ee&&!_.includes(te)&&!(q(v)&&Array.isArray(E))){if(!i.returnObjects&&!this.options.returnObjects){this.options.returnedObjectHandler||this.logger.warn(`accessing an object - but returnObjects options is not enabled!`);let e=this.options.returnedObjectHandler?this.options.returnedObjectHandler(h,E,{...i,ns:c}):`key '${s} (${this.language})' returned an object instead of string.`;return a?(p.res=e,p.usedParams=this.getUsedParamsDetails(i),p):e}if(o){let e=Array.isArray(E),t=e?[]:{},n=e?g:h;for(let e in E)if(Object.prototype.hasOwnProperty.call(E,e)){let r=`${n}${o}${e}`;x&&!m?t[e]=this.translate(r,{...i,defaultValue:Yn(T)?T[e]:void 0,joinArrays:!1,ns:c}):t[e]=this.translate(r,{...i,joinArrays:!1,ns:c}),t[e]===r&&(t[e]=E[e])}m=t}}else if(y&&q(v)&&Array.isArray(m))m=m.join(v),m&&=this.extendTranslation(m,t,i,r);else{let e=!1,n=!1;!this.isValidLookup(m)&&x&&(e=!0,m=T),this.isValidLookup(m)||(n=!0,m=s);let a=(i.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey)&&n?void 0:m,c=x&&T!==m&&this.options.updateMissing;if(n||e||c){if(this.logger.log(c?`updateKey`:`missingKey`,d,l,b&&!c?`${s}${this.pluralResolver.getSuffix(d,i.count,i)}`:s,c?T:m),o){let e=this.resolve(s,{...i,keySeparator:!1});e&&e.res&&this.logger.warn(`Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.`)}let e=[],t=this.languageUtils.getFallbackCodes(this.options.fallbackLng,i.lng||this.language);if(this.options.saveMissingTo===`fallback`&&t&&t[0])for(let n=0;n<t.length;n++)e.push(t[n]);else this.options.saveMissingTo===`all`?e=this.languageUtils.toResolveHierarchy(i.lng||this.language):e.push(i.lng||this.language);let n=(e,t,n)=>{let r=x&&n!==m?n:a;this.options.missingKeyHandler?this.options.missingKeyHandler(e,l,t,r,c,i):this.backendConnector?.saveMissing&&this.backendConnector.saveMissing(e,l,t,r,c,i),this.emit(`missingKey`,e,l,t,m)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?e.forEach(e=>{let t=this.pluralResolver.getSuffixes(e,i);w&&i[`defaultValue${this.options.pluralSeparator}zero`]&&!t.includes(`${this.options.pluralSeparator}zero`)&&t.push(`${this.options.pluralSeparator}zero`),t.forEach(t=>{n([e],s+t,i[`defaultValue${t}`]||T)})}):n(e,s,T))}m=this.extendTranslation(m,t,i,p,r),n&&m===s&&this.options.appendNamespaceToMissingKey&&(m=`${l}${u}${s}`),(n||e)&&this.options.parseMissingKeyHandler&&(m=this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey?`${l}${u}${s}`:s,e?m:void 0,i))}return a?(p.res=m,p.usedParams=this.getUsedParamsDetails(i),p):m}extendTranslation(e,t,n,r,i){if(this.i18nFormat?.parse)e=this.i18nFormat.parse(e,{...this.options.interpolation.defaultVariables,...n},n.lng||this.language||r.usedLng,r.usedNS,r.usedKey,{resolved:r});else if(!n.skipInterpolation){n.interpolation&&this.interpolator.init({...n,interpolation:{...this.options.interpolation,...n.interpolation}});let a=q(e)&&(n?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:n.interpolation.skipOnVariables),o;if(a){let t=e.match(this.interpolator.nestingRegexp);o=t&&t.length}let s=n.replace&&!q(n.replace)?n.replace:n;if(this.options.interpolation.defaultVariables&&(s={...this.options.interpolation.defaultVariables,...s}),e=this.interpolator.interpolate(e,s,n.lng||this.language||r.usedLng,n),a){let t=e.match(this.interpolator.nestingRegexp),r=t&&t.length;o<r&&(n.nest=!1)}!n.lng&&r&&r.res&&(n.lng=this.language||r.usedLng),n.nest!==!1&&(e=this.interpolator.nest(e,(...e)=>i?.[0]===e[0]&&!n.context?(this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`),null):this.translate(...e,t),n)),n.interpolation&&this.interpolator.reset()}let a=n.postProcess||this.options.postProcess,o=q(a)?[a]:a;return e!=null&&o?.length&&n.applyPostProcessor!==!1&&(e=Kn.handle(o,e,t,this.options&&this.options.postProcessPassResolved?{i18nResolved:{...r,usedParams:this.getUsedParamsDetails(n)},...n}:n,this)),e}resolve(e,t={}){let n,r,i,a,o;return q(e)&&(e=[e]),Array.isArray(e)&&(e=e.map(e=>typeof e==`function`?X(e,{...this.options,...t}):e)),e.forEach(e=>{if(this.isValidLookup(n))return;let s=this.extractFromKey(e,t),c=s.key;r=c;let l=s.namespaces;this.options.fallbackNS&&(l=l.concat(this.options.fallbackNS));let u=t.count!==void 0&&!q(t.count),d=u&&!t.ordinal&&t.count===0,f=t.context!==void 0&&(q(t.context)||typeof t.context==`number`)&&t.context!==``,p=t.lngs?t.lngs:this.languageUtils.toResolveHierarchy(t.lng||this.language,t.fallbackLng);l.forEach(e=>{this.isValidLookup(n)||(o=e,!this.checkedLoadedFor[`${p[0]}-${e}`]&&this.utils?.hasLoadedNamespace&&!this.utils?.hasLoadedNamespace(o)&&(this.checkedLoadedFor[`${p[0]}-${e}`]=!0,this.logger.warn(`key "${r}" for languages "${p.join(`, `)}" won't get resolved as namespace "${o}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`)),p.forEach(r=>{if(this.isValidLookup(n))return;a=r;let o=[c];if(this.i18nFormat?.addLookupKeys)this.i18nFormat.addLookupKeys(o,c,r,e,t);else{let e;u&&(e=this.pluralResolver.getSuffix(r,t.count,t));let n=`${this.options.pluralSeparator}zero`,i=`${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;if(u&&(t.ordinal&&e.startsWith(i)&&o.push(c+e.replace(i,this.options.pluralSeparator)),o.push(c+e),d&&o.push(c+n)),f){let r=`${c}${this.options.contextSeparator||`_`}${t.context}`;o.push(r),u&&(t.ordinal&&e.startsWith(i)&&o.push(r+e.replace(i,this.options.pluralSeparator)),o.push(r+e),d&&o.push(r+n))}}let s;for(;s=o.pop();)this.isValidLookup(n)||(i=s,n=this.getResource(r,e,s,t))}))})}),{res:n,usedKey:r,exactUsedKey:i,usedLng:a,usedNS:o}}isValidLookup(e){return e!==void 0&&!(!this.options.returnNull&&e===null)&&!(!this.options.returnEmptyString&&e===``)}getResource(e,t,n,r={}){return this.i18nFormat?.getResource?this.i18nFormat.getResource(e,t,n,r):this.resourceStore.getResource(e,t,n,r)}getUsedParamsDetails(e={}){let t=[`defaultValue`,`ordinal`,`context`,`replace`,`lng`,`lngs`,`fallbackLng`,`ns`,`keySeparator`,`nsSeparator`,`returnObjects`,`returnDetails`,`joinArrays`,`postProcess`,`interpolation`],n=e.replace&&!q(e.replace),r=n?e.replace:e;if(n&&e.count!==void 0&&(r.count=e.count),this.options.interpolation.defaultVariables&&(r={...this.options.interpolation.defaultVariables,...r}),!n){r={...r};for(let e of t)delete r[e]}return r}static hasDefaultValue(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)&&t.startsWith(`defaultValue`)&&e[t]!==void 0)return!0;return!1}},Zn=class{constructor(e){this.options=e,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Y.create(`languageUtils`)}getScriptPartFromCode(e){if(e=Hn(e),!e||!e.includes(`-`))return null;let t=e.split(`-`);return t.length===2||(t.pop(),t[t.length-1].toLowerCase()===`x`)?null:this.formatLanguageCode(t.join(`-`))}getLanguagePartFromCode(e){if(e=Hn(e),!e||!e.includes(`-`))return e;let t=e.split(`-`);return this.formatLanguageCode(t[0])}formatLanguageCode(e){if(q(e)&&e.includes(`-`)){let t;try{t=Intl.getCanonicalLocales(e)[0]}catch{}return t&&this.options.lowerCaseLng&&(t=t.toLowerCase()),t||(this.options.lowerCaseLng?e.toLowerCase():e)}return this.options.cleanCode||this.options.lowerCaseLng?e.toLowerCase():e}isSupportedCode(e){return(this.options.load===`languageOnly`||this.options.nonExplicitSupportedLngs)&&(e=this.getLanguagePartFromCode(e)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.includes(e)}getBestMatchFromCodes(e){if(!e)return null;let t;return e.forEach(e=>{if(t)return;let n=this.formatLanguageCode(e);(!this.options.supportedLngs||this.isSupportedCode(n))&&(t=n)}),!t&&this.options.supportedLngs&&e.forEach(e=>{if(t)return;let n=this.getScriptPartFromCode(e);if(this.isSupportedCode(n))return t=n;let r=this.getLanguagePartFromCode(e);if(this.isSupportedCode(r))return t=r;t=this.options.supportedLngs.find(e=>e===r?!0:!e.includes(`-`)&&!r.includes(`-`)?!1:!!(e.includes(`-`)&&!r.includes(`-`)&&e.slice(0,e.indexOf(`-`))===r||e.startsWith(r)&&r.length>1))}),t||=this.getFallbackCodes(this.options.fallbackLng)[0],t}getFallbackCodes(e,t){if(!e)return[];if(typeof e==`function`&&(e=e(t)),q(e)&&(e=[e]),Array.isArray(e))return e;if(!t)return e.default||[];let n=e[t];return n||=e[this.getScriptPartFromCode(t)],n||=e[this.formatLanguageCode(t)],n||=e[this.getLanguagePartFromCode(t)],n||=e.default,n||[]}toResolveHierarchy(e,t){let n=this.getFallbackCodes((t===!1?[]:t)||this.options.fallbackLng||[],e),r=[],i=e=>{e&&(this.isSupportedCode(e)?r.push(e):this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`))};return q(e)&&(e.includes(`-`)||e.includes(`_`))?(this.options.load!==`languageOnly`&&i(this.formatLanguageCode(e)),this.options.load!==`languageOnly`&&this.options.load!==`currentOnly`&&i(this.getScriptPartFromCode(e)),this.options.load!==`currentOnly`&&i(this.getLanguagePartFromCode(e))):q(e)&&i(this.formatLanguageCode(e)),n.forEach(e=>{r.includes(e)||i(this.formatLanguageCode(e))}),r}},Qn={zero:0,one:1,two:2,few:3,many:4,other:5},$n={select:e=>e===1?`one`:`other`,resolvedOptions:()=>({pluralCategories:[`one`,`other`]})},er=class{constructor(e,t={}){this.languageUtils=e,this.options=t,this.logger=Y.create(`pluralResolver`),this.pluralRulesCache={}}clearCache(){this.pluralRulesCache={}}getRule(e,t={}){let n=Hn(e===`dev`?`en`:e),r=t.ordinal?`ordinal`:`cardinal`,i=JSON.stringify({cleanedCode:n,type:r});if(i in this.pluralRulesCache)return this.pluralRulesCache[i];let a;try{a=new Intl.PluralRules(n,{type:r})}catch{if(typeof Intl>`u`)return this.logger.error(`No Intl support, please use an Intl polyfill!`),$n;if(!e.match(/-|_/))return $n;let n=this.languageUtils.getLanguagePartFromCode(e);a=this.getRule(n,t)}return this.pluralRulesCache[i]=a,a}needsPlural(e,t={}){let n=this.getRule(e,t);return n||=this.getRule(`dev`,t),n?.resolvedOptions().pluralCategories.length>1}getPluralFormsOfKey(e,t,n={}){return this.getSuffixes(e,n).map(e=>`${t}${e}`)}getSuffixes(e,t={}){let n=this.getRule(e,t);return n||=this.getRule(`dev`,t),n?n.resolvedOptions().pluralCategories.sort((e,t)=>Qn[e]-Qn[t]).map(e=>`${this.options.prepend}${t.ordinal?`ordinal${this.options.prepend}`:``}${e}`):[]}getSuffix(e,t,n={}){let r=this.getRule(e,n);return r?`${this.options.prepend}${n.ordinal?`ordinal${this.options.prepend}`:``}${r.select(t)}`:(this.logger.warn(`no plural rule found for: ${e}`),this.getSuffix(`dev`,t,n))}},tr=(e,t,n,r=`.`,i=!0)=>{let a=Nn(e,t,n);return!a&&i&&q(n)&&(a=Vn(e,n,r),a===void 0&&(a=Vn(t,n,r))),a},nr=e=>e.replace(/\$/g,`$$$$`),rr=class{constructor(e={}){this.logger=Y.create(`interpolator`),this.options=e,this.format=e?.interpolation?.format||(e=>e),this.init(e)}init(e={}){e.interpolation||={escapeValue:!0};let{escape:t,escapeValue:n,useRawValueToEscape:r,prefix:i,prefixEscaped:a,suffix:o,suffixEscaped:s,formatSeparator:c,unescapeSuffix:l,unescapePrefix:u,nestingPrefix:d,nestingPrefixEscaped:f,nestingSuffix:p,nestingSuffixEscaped:m,nestingOptionsSeparator:h,maxReplaces:g,alwaysFormat:_}=e.interpolation;this.escape=t===void 0?In:t,this.escapeValue=n===void 0?!0:n,this.useRawValueToEscape=r===void 0?!1:r,this.prefix=i?J(i):a||`{{`,this.suffix=o?J(o):s||`}}`,this.formatSeparator=c||`,`,this.unescapePrefix=l?``:u?J(u):`-`,this.unescapeSuffix=this.unescapePrefix?``:l?J(l):``,this.nestingPrefix=d?J(d):f||J(`$t(`),this.nestingSuffix=p?J(p):m||J(`)`),this.nestingOptionsSeparator=h||`,`,this.maxReplaces=g||1e3,this.alwaysFormat=_===void 0?!1:_,this.resetRegExp()}reset(){this.options&&this.init(this.options)}resetRegExp(){let e=(e,t)=>e?.source===t?(e.lastIndex=0,e):new RegExp(t,`g`);this.regexp=e(this.regexp,`${this.prefix}(.+?)${this.suffix}`),this.regexpUnescape=e(this.regexpUnescape,`${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`),this.nestingRegexp=e(this.nestingRegexp,`${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`)}interpolate(e,t,n,r){let i,a,o,s=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{},c=e=>{if(!e.includes(this.formatSeparator)){let i=tr(t,s,e,this.options.keySeparator,this.options.ignoreJSONStructure);return this.alwaysFormat?this.format(i,void 0,n,{...r,...t,interpolationkey:e}):i}let i=e.split(this.formatSeparator),a=i.shift().trim(),o=i.join(this.formatSeparator).trim();return this.format(tr(t,s,a,this.options.keySeparator,this.options.ignoreJSONStructure),o,n,{...r,...t,interpolationkey:a})};this.resetRegExp(),!this.escapeValue&&typeof e==`string`&&/\$t\([^)]*\{[^}]*\{\{/.test(e)&&this.logger.warn(`nesting options string contains interpolated variables with escapeValue: false โ if any of those values are attacker-controlled they can inject additional nesting options (e.g. redirect lng/ns). Sanitise untrusted input before passing it to t(), or keep escapeValue: true.`);let l=r?.missingInterpolationHandler||this.options.missingInterpolationHandler,u=r?.interpolation?.skipOnVariables===void 0?this.options.interpolation.skipOnVariables:r.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:e=>nr(e)},{regex:this.regexp,safeValue:e=>this.escapeValue?nr(this.escape(e)):nr(e)}].forEach(t=>{for(o=0;i=t.regex.exec(e);){let n=i[1].trim();if(a=c(n),a===void 0)if(typeof l==`function`){let t=l(e,i,r);a=q(t)?t:``}else if(r&&Object.prototype.hasOwnProperty.call(r,n))a=``;else if(u){a=i[0];continue}else this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`),a=``;else !q(a)&&!this.useRawValueToEscape&&(a=wn(a));let s=t.safeValue(a);if(e=e.replace(i[0],s),u?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=i[0].length):t.regex.lastIndex=0,o++,o>=this.maxReplaces)break}}),e}nest(e,t,n={}){let r,i,a,o=(e,t)=>{let n=this.nestingOptionsSeparator;if(!e.includes(n))return e;let r=e.split(RegExp(`${J(n)}[ ]*{`)),i=`{${r[1]}`;e=r[0],i=this.interpolate(i,a);let o=i.match(/'/g),s=i.match(/"/g);((o?.length??0)%2==0&&!s||(s?.length??0)%2!=0)&&(i=i.replace(/'/g,`"`));try{a=JSON.parse(i),t&&(a={...t,...a})}catch(t){return this.logger.warn(`failed parsing options string in nesting for key ${e}`,t),`${e}${n}${i}`}return a.defaultValue&&a.defaultValue.includes(this.prefix)&&delete a.defaultValue,e};for(;r=this.nestingRegexp.exec(e);){let s=[];a={...n},a=a.replace&&!q(a.replace)?a.replace:a,a.applyPostProcessor=!1,delete a.defaultValue;let c=/{.*}/.test(r[1])?r[1].lastIndexOf(`}`)+1:r[1].indexOf(this.formatSeparator);if(c!==-1&&(s=r[1].slice(c).split(this.formatSeparator).map(e=>e.trim()).filter(Boolean),r[1]=r[1].slice(0,c)),i=t(o.call(this,r[1].trim(),a),a),i&&r[0]===e&&!q(i))return i;q(i)||(i=wn(i)),i||=(this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`),``),s.length&&(i=s.reduce((e,t)=>this.format(e,t,n.lng,{...n,interpolationkey:r[1].trim()}),i.trim())),e=e.replace(r[0],i),this.regexp.lastIndex=0}return e}},ir=e=>{let t=e.toLowerCase().trim(),n={};if(e.includes(`(`)){let r=e.split(`(`);t=r[0].toLowerCase().trim();let i=r[1].slice(0,-1);t===`currency`&&!i.includes(`:`)?n.currency||=i.trim():t===`relativetime`&&!i.includes(`:`)?n.range||=i.trim():i.split(`;`).forEach(e=>{if(e){let[t,...r]=e.split(`:`),i=r.join(`:`).trim().replace(/^'+|'+$/g,``),a=t.trim();n[a]||(n[a]=i),i===`false`&&(n[a]=!1),i===`true`&&(n[a]=!0),isNaN(i)||(n[a]=parseInt(i,10))}})}return{formatName:t,formatOptions:n}},ar=e=>{let t={};return(n,r,i)=>{let a=i;i&&i.interpolationkey&&i.formatParams&&i.formatParams[i.interpolationkey]&&i[i.interpolationkey]&&(a={...a,[i.interpolationkey]:void 0});let o=r+JSON.stringify(a),s=t[o];return s||(s=e(Hn(r),i),t[o]=s),s(n)}},or=e=>(t,n,r)=>e(Hn(n),r)(t),sr=class{constructor(e={}){this.logger=Y.create(`formatter`),this.options=e,this.init(e)}init(e,t={interpolation:{}}){this.formatSeparator=t.interpolation.formatSeparator||`,`;let n=t.cacheInBuiltFormats?ar:or;this.formats={number:n((e,t)=>{let n=new Intl.NumberFormat(e,{...t});return e=>n.format(e)}),currency:n((e,t)=>{let n=new Intl.NumberFormat(e,{...t,style:`currency`});return e=>n.format(e)}),datetime:n((e,t)=>{let n=new Intl.DateTimeFormat(e,{...t});return e=>n.format(e)}),relativetime:n((e,t)=>{let n=new Intl.RelativeTimeFormat(e,{...t});return e=>n.format(e,t.range||`day`)}),list:n((e,t)=>{let n=new Intl.ListFormat(e,{...t});return e=>n.format(e)})}}add(e,t){this.formats[e.toLowerCase().trim()]=t}addCached(e,t){this.formats[e.toLowerCase().trim()]=ar(t)}format(e,t,n,r={}){if(!t||e==null)return e;let i=t.split(this.formatSeparator);if(i.length>1&&i[0].indexOf(`(`)>1&&!i[0].includes(`)`)&&i.find(e=>e.includes(`)`))){let e=i.findIndex(e=>e.includes(`)`));i[0]=[i[0],...i.splice(1,e)].join(this.formatSeparator)}return i.reduce((e,t)=>{let{formatName:i,formatOptions:a}=ir(t);if(this.formats[i]){let t=e;try{let o=r?.formatParams?.[r.interpolationkey]||{},s=o.locale||o.lng||r.locale||r.lng||n;t=this.formats[i](e,s,{...a,...r,...o})}catch(e){this.logger.warn(e)}return t}else this.logger.warn(`there was no format function for ${i}`);return e},e)}},cr=(e,t)=>{e.pending[t]!==void 0&&(delete e.pending[t],e.pendingCount--)},lr=class extends Wn{constructor(e,t,n,r={}){super(),this.backend=e,this.store=t,this.services=n,this.languageUtils=n.languageUtils,this.options=r,this.logger=Y.create(`backendConnector`),this.waitingReads=[],this.maxParallelReads=r.maxParallelReads||10,this.readingCalls=0,this.maxRetries=r.maxRetries>=0?r.maxRetries:5,this.retryTimeout=r.retryTimeout>=1?r.retryTimeout:350,this.state={},this.queue=[],this.backend?.init?.(n,r.backend,r)}queueLoad(e,t,n,r){let i={},a={},o={},s={};return e.forEach(e=>{let r=!0;t.forEach(t=>{let o=`${e}|${t}`;!n.reload&&this.store.hasResourceBundle(e,t)?this.state[o]=2:this.state[o]<0||(this.state[o]===1?a[o]===void 0&&(a[o]=!0):(this.state[o]=1,r=!1,a[o]===void 0&&(a[o]=!0),i[o]===void 0&&(i[o]=!0),s[t]===void 0&&(s[t]=!0)))}),r||(o[e]=!0)}),(Object.keys(i).length||Object.keys(a).length)&&this.queue.push({pending:a,pendingCount:Object.keys(a).length,loaded:{},errors:[],callback:r}),{toLoad:Object.keys(i),pending:Object.keys(a),toLoadLanguages:Object.keys(o),toLoadNamespaces:Object.keys(s)}}loaded(e,t,n){let r=e.split(`|`),i=r[0],a=r[1];t&&this.emit(`failedLoading`,i,a,t),!t&&n&&this.store.addResourceBundle(i,a,n,void 0,void 0,{skipCopy:!0}),this.state[e]=t?-1:2,t&&n&&(this.state[e]=0);let o={};this.queue.forEach(n=>{jn(n.loaded,[i],a),cr(n,e),t&&n.errors.push(t),n.pendingCount===0&&!n.done&&(Object.keys(n.loaded).forEach(e=>{o[e]||(o[e]={});let t=n.loaded[e];t.length&&t.forEach(t=>{o[e][t]===void 0&&(o[e][t]=!0)})}),n.done=!0,n.errors.length?n.callback(n.errors):n.callback())}),this.emit(`loaded`,o),this.queue=this.queue.filter(e=>!e.done)}read(e,t,n,r=0,i=this.retryTimeout,a){if(!e.length)return a(null,{});if(this.readingCalls>=this.maxParallelReads){this.waitingReads.push({lng:e,ns:t,fcName:n,tried:r,wait:i,callback:a});return}this.readingCalls++;let o=(o,s)=>{if(this.readingCalls--,this.waitingReads.length>0){let e=this.waitingReads.shift();this.read(e.lng,e.ns,e.fcName,e.tried,e.wait,e.callback)}if(o&&s&&r<this.maxRetries){setTimeout(()=>{this.read(e,t,n,r+1,i*2,a)},i);return}a(o,s)},s=this.backend[n].bind(this.backend);if(s.length===2){try{let n=s(e,t);n&&typeof n.then==`function`?n.then(e=>o(null,e)).catch(o):o(null,n)}catch(e){o(e)}return}return s(e,t,o)}prepareLoading(e,t,n={},r){if(!this.backend)return this.logger.warn(`No backend was added via i18next.use. Will not load resources.`),r&&r();q(e)&&(e=this.languageUtils.toResolveHierarchy(e)),q(t)&&(t=[t]);let i=this.queueLoad(e,t,n,r);if(!i.toLoad.length)return i.pending.length||r(),null;i.toLoad.forEach(e=>{this.loadOne(e)})}load(e,t,n){this.prepareLoading(e,t,{},n)}reload(e,t,n){this.prepareLoading(e,t,{reload:!0},n)}loadOne(e,t=``){let n=e.split(`|`),r=n[0],i=n[1];this.read(r,i,`read`,void 0,void 0,(n,a)=>{n&&this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`,n),!n&&a&&this.logger.log(`${t}loaded namespace ${i} for language ${r}`,a),this.loaded(e,n,a)})}saveMissing(e,t,n,r,i,a={},o=()=>{}){if(this.services?.utils?.hasLoadedNamespace&&!this.services?.utils?.hasLoadedNamespace(t)){this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`,`This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!`);return}if(!(n==null||n===``)){if(this.backend?.create){let s={...a,isUpdate:i},c=this.backend.create.bind(this.backend);if(c.length<6)try{let i;i=c.length===5?c(e,t,n,r,s):c(e,t,n,r),i&&typeof i.then==`function`?i.then(e=>o(null,e)).catch(o):o(null,i)}catch(e){o(e)}else c(e,t,n,r,o,s)}!e||!e[0]||this.store.addResource(e[0],t,n,r)}}},ur=()=>({debug:!1,initAsync:!0,ns:[`translation`],defaultNS:[`translation`],fallbackLng:[`dev`],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:`all`,preload:!1,keySeparator:`.`,nsSeparator:`:`,pluralSeparator:`_`,contextSeparator:`_`,enableSelector:!1,partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:`fallback`,saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!1,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:e=>{let t={};if(typeof e[1]==`object`&&(t=e[1]),q(e[1])&&(t.defaultValue=e[1]),q(e[2])&&(t.tDescription=e[2]),typeof e[2]==`object`||typeof e[3]==`object`){let n=e[3]||e[2];Object.keys(n).forEach(e=>{t[e]=n[e]})}return t},interpolation:{escapeValue:!0,prefix:`{{`,suffix:`}}`,formatSeparator:`,`,unescapePrefix:`-`,nestingPrefix:`$t(`,nestingSuffix:`)`,nestingOptionsSeparator:`,`,maxReplaces:1e3,skipOnVariables:!0},cacheInBuiltFormats:!0}),dr=e=>(q(e.ns)&&(e.ns=[e.ns]),q(e.fallbackLng)&&(e.fallbackLng=[e.fallbackLng]),q(e.fallbackNS)&&(e.fallbackNS=[e.fallbackNS]),e.supportedLngs&&!e.supportedLngs.includes(`cimode`)&&(e.supportedLngs=e.supportedLngs.concat([`cimode`])),e),fr=()=>{},pr=e=>{Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach(t=>{typeof e[t]==`function`&&(e[t]=e[t].bind(e))})},Z=class e extends Wn{constructor(e={},t){if(super(),this.options=dr(e),this.services={},this.logger=Y,this.modules={external:[]},pr(this),t&&!this.isInitialized&&!e.isClone){if(!this.options.initAsync)return this.init(e,t),this;setTimeout(()=>{this.init(e,t)},0)}}init(e={},t){this.isInitializing=!0,typeof e==`function`&&(t=e,e={}),e.defaultNS==null&&e.ns&&(q(e.ns)?e.defaultNS=e.ns:e.ns.includes(`translation`)||(e.defaultNS=e.ns[0]));let n=ur();this.options={...n,...this.options,...dr(e)},this.options.interpolation={...n.interpolation,...this.options.interpolation},e.keySeparator!==void 0&&(this.options.userDefinedKeySeparator=e.keySeparator),e.nsSeparator!==void 0&&(this.options.userDefinedNsSeparator=e.nsSeparator),typeof this.options.overloadTranslationOptionHandler!=`function`&&(this.options.overloadTranslationOptionHandler=n.overloadTranslationOptionHandler);let r=e=>e?typeof e==`function`?new e:e:null;if(!this.options.isClone){this.modules.logger?Y.init(r(this.modules.logger),this.options):Y.init(null,this.options);let e;e=this.modules.formatter?this.modules.formatter:sr;let t=new Zn(this.options);this.store=new Gn(this.options.resources,this.options);let n=this.services;n.logger=Y,n.resourceStore=this.store,n.languageUtils=t,n.pluralResolver=new er(t,{prepend:this.options.pluralSeparator}),e&&(n.formatter=r(e),n.formatter.init&&n.formatter.init(n,this.options),this.options.interpolation.format=n.formatter.format.bind(n.formatter)),n.interpolator=new rr(this.options),n.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},n.backendConnector=new lr(r(this.modules.backend),n.resourceStore,n,this.options),n.backendConnector.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.languageDetector&&(n.languageDetector=r(this.modules.languageDetector),n.languageDetector.init&&n.languageDetector.init(n,this.options.detection,this.options)),this.modules.i18nFormat&&(n.i18nFormat=r(this.modules.i18nFormat),n.i18nFormat.init&&n.i18nFormat.init(this)),this.translator=new Xn(this.services,this.options),this.translator.on(`*`,(e,...t)=>{this.emit(e,...t)}),this.modules.external.forEach(e=>{e.init&&e.init(this)})}if(this.format=this.options.interpolation.format,t||=fr,this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){let e=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);e.length>0&&e[0]!==`dev`&&(this.options.lng=e[0])}!this.services.languageDetector&&!this.options.lng&&this.logger.warn(`init: no languageDetector is used and no lng is defined`),[`getResource`,`hasResourceBundle`,`getResourceBundle`,`getDataByLanguage`].forEach(e=>{this[e]=(...t)=>this.store[e](...t)}),[`addResource`,`addResources`,`addResourceBundle`,`removeResourceBundle`].forEach(e=>{this[e]=(...t)=>(this.store[e](...t),this)});let i=Cn(),a=()=>{let e=(e,n)=>{this.isInitializing=!1,this.isInitialized&&!this.initializedStoreOnce&&this.logger.warn(`init: i18next is already initialized. You should call init just once!`),this.isInitialized=!0,this.options.isClone||this.logger.log(`initialized`,this.options),this.emit(`initialized`,this.options),i.resolve(n),t(e,n)};if((this.languages||this.isLanguageChangingTo)&&!this.isInitialized)return e(null,this.t.bind(this));this.changeLanguage(this.options.lng,e)};return this.options.resources||!this.options.initAsync?a():setTimeout(a,0),i}loadResources(e,t=fr){let n=t,r=q(e)?e:this.language;if(typeof e==`function`&&(n=e),!this.options.resources||this.options.partialBundledLanguages){if(r?.toLowerCase()===`cimode`&&(!this.options.preload||this.options.preload.length===0))return n();let e=[],t=t=>{t&&t!==`cimode`&&this.services.languageUtils.toResolveHierarchy(t).forEach(t=>{t!==`cimode`&&(e.includes(t)||e.push(t))})};r?t(r):this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach(e=>t(e)),this.options.preload?.forEach?.(e=>t(e)),this.services.backendConnector.load(e,this.options.ns,e=>{!e&&!this.resolvedLanguage&&this.language&&this.setResolvedLanguage(this.language),n(e)})}else n(null)}reloadResources(e,t,n){let r=Cn();return typeof e==`function`&&(n=e,e=void 0),typeof t==`function`&&(n=t,t=void 0),e||=this.languages,t||=this.options.ns,n||=fr,this.services.backendConnector.reload(e,t,e=>{r.resolve(),n(e)}),r}use(e){if(!e)throw Error(`You are passing an undefined module! Please check the object you are passing to i18next.use()`);if(!e.type)throw Error(`You are passing a wrong module! Please check the object you are passing to i18next.use()`);return e.type===`backend`&&(this.modules.backend=e),(e.type===`logger`||e.log&&e.warn&&e.error)&&(this.modules.logger=e),e.type===`languageDetector`&&(this.modules.languageDetector=e),e.type===`i18nFormat`&&(this.modules.i18nFormat=e),e.type===`postProcessor`&&Kn.addPostProcessor(e),e.type===`formatter`&&(this.modules.formatter=e),e.type===`3rdParty`&&this.modules.external.push(e),this}setResolvedLanguage(e){if(!(!e||!this.languages)&&![`cimode`,`dev`].includes(e)){for(let e=0;e<this.languages.length;e++){let t=this.languages[e];if(![`cimode`,`dev`].includes(t)&&this.store.hasLanguageSomeTranslations(t)){this.resolvedLanguage=t;break}}!this.resolvedLanguage&&!this.languages.includes(e)&&this.store.hasLanguageSomeTranslations(e)&&(this.resolvedLanguage=e,this.languages.unshift(e))}}changeLanguage(e,t){this.isLanguageChangingTo=e;let n=Cn();this.emit(`languageChanging`,e);let r=e=>{this.language=e,this.languages=this.services.languageUtils.toResolveHierarchy(e),this.resolvedLanguage=void 0,this.setResolvedLanguage(e)},i=(i,a)=>{a?this.isLanguageChangingTo===e&&(r(a),this.translator.changeLanguage(a),this.isLanguageChangingTo=void 0,this.emit(`languageChanged`,a),this.logger.log(`languageChanged`,a)):this.isLanguageChangingTo=void 0,n.resolve((...e)=>this.t(...e)),t&&t(i,(...e)=>this.t(...e))},a=t=>{!e&&!t&&this.services.languageDetector&&(t=[]);let n=q(t)?t:t&&t[0],a=this.store.hasLanguageSomeTranslations(n)?n:this.services.languageUtils.getBestMatchFromCodes(q(t)?[t]:t);a&&(this.language||r(a),this.translator.language||this.translator.changeLanguage(a),this.services.languageDetector?.cacheUserLanguage?.(a)),this.loadResources(a,e=>{i(e,a)})};return!e&&this.services.languageDetector&&!this.services.languageDetector.async?a(this.services.languageDetector.detect()):!e&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect.length===0?this.services.languageDetector.detect().then(a):this.services.languageDetector.detect(a):a(e),n}getFixedT(e,t,n,r){let i=r?.scopeNs,a=(e,t,...r)=>{let o;o=typeof t==`object`?{...t}:this.options.overloadTranslationOptionHandler([e,t].concat(r)),o.lng=o.lng||a.lng,o.lngs=o.lngs||a.lngs;let s=o.ns!==void 0&&o.ns!==null;o.ns=o.ns||a.ns,o.keyPrefix!==``&&(o.keyPrefix=o.keyPrefix||n||a.keyPrefix);let c={...this.options,...o};Array.isArray(i)&&!s&&(c.ns=i),typeof o.keyPrefix==`function`&&(o.keyPrefix=X(o.keyPrefix,c));let l=this.options.keySeparator||`.`,u;return o.keyPrefix&&Array.isArray(e)?u=e.map(e=>(typeof e==`function`&&(e=X(e,c)),`${o.keyPrefix}${l}${e}`)):(typeof e==`function`&&(e=X(e,c)),u=o.keyPrefix?`${o.keyPrefix}${l}${e}`:e),this.t(u,o)};return q(e)?a.lng=e:a.lngs=e,a.ns=t,a.keyPrefix=n,a}t(...e){return this.translator?.translate(...e)}exists(...e){return this.translator?.exists(...e)}setDefaultNamespace(e){this.options.defaultNS=e}hasLoadedNamespace(e,t={}){if(!this.isInitialized)return this.logger.warn(`hasLoadedNamespace: i18next was not initialized`,this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn(`hasLoadedNamespace: i18n.languages were undefined or empty`,this.languages),!1;let n=t.lng||this.resolvedLanguage||this.languages[0],r=this.options?this.options.fallbackLng:!1,i=this.languages[this.languages.length-1];if(n.toLowerCase()===`cimode`)return!0;let a=(e,t)=>{let n=this.services.backendConnector.state[`${e}|${t}`];return n===-1||n===0||n===2};if(t.precheck){let e=t.precheck(this,a);if(e!==void 0)return e}return!!(this.hasResourceBundle(n,e)||!this.services.backendConnector.backend||this.options.resources&&!this.options.partialBundledLanguages||a(n,e)&&(!r||a(i,e)))}loadNamespaces(e,t){let n=Cn();return this.options.ns?(q(e)&&(e=[e]),e.forEach(e=>{this.options.ns.includes(e)||this.options.ns.push(e)}),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}loadLanguages(e,t){let n=Cn();q(e)&&(e=[e]);let r=this.options.preload||[],i=e.filter(e=>!r.includes(e)&&this.services.languageUtils.isSupportedCode(e));return i.length?(this.options.preload=r.concat(i),this.loadResources(e=>{n.resolve(),t&&t(e)}),n):(t&&t(),Promise.resolve())}dir(e){if(e||=this.resolvedLanguage||(this.languages?.length>0?this.languages[0]:this.language),!e)return`rtl`;try{let t=new Intl.Locale(e);if(t&&t.getTextInfo){let e=t.getTextInfo();if(e&&e.direction)return e.direction}}catch{}let t=`ar.shu.sqr.ssh.xaa.yhd.yud.aao.abh.abv.acm.acq.acw.acx.acy.adf.ads.aeb.aec.afb.ajp.apc.apd.arb.arq.ars.ary.arz.auz.avl.ayh.ayl.ayn.ayp.bbz.pga.he.iw.ps.pbt.pbu.pst.prp.prd.ug.ur.ydd.yds.yih.ji.yi.hbo.men.xmn.fa.jpr.peo.pes.prs.dv.sam.ckb`.split(`.`),n=this.services?.languageUtils||new Zn(ur());return e.toLowerCase().indexOf(`-latn`)>1?`ltr`:t.includes(n.getLanguagePartFromCode(e))||e.toLowerCase().indexOf(`-arab`)>1?`rtl`:`ltr`}static createInstance(t={},n){let r=new e(t,n);return r.createInstance=e.createInstance,r}cloneInstance(t={},n=fr){let r=t.forkResourceStore;r&&delete t.forkResourceStore;let i={...this.options,...t,isClone:!0},a=new e(i);if((t.debug!==void 0||t.prefix!==void 0)&&(a.logger=a.logger.clone(t)),[`store`,`services`,`language`].forEach(e=>{a[e]=this[e]}),a.services={...this.services},a.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},r&&(a.store=new Gn(Object.keys(this.store.data).reduce((e,t)=>(e[t]={...this.store.data[t]},e[t]=Object.keys(e[t]).reduce((n,r)=>(n[r]={...e[t][r]},n),e[t]),e),{}),i),a.services.resourceStore=a.store),t.interpolation){let e={...ur().interpolation,...this.options.interpolation,...t.interpolation},n={...i,interpolation:e};a.services.interpolator=new rr(n)}return a.translator=new Xn(a.services,i),a.translator.on(`*`,(e,...t)=>{a.emit(e,...t)}),a.init(i,n),a.translator.options=i,a.translator.backendConnector.services.utils={hasLoadedNamespace:a.hasLoadedNamespace.bind(a)},a}toJSON(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}.createInstance();Z.createInstance,Z.dir,Z.init,Z.loadResources,Z.reloadResources,Z.use,Z.changeLanguage,Z.getFixedT,Z.t,Z.exists,Z.setDefaultNamespace,Z.hasLoadedNamespace,Z.loadNamespaces,Z.loadLanguages;var mr={"common.language.auto":`Auto`,"common.language.select":`Select language`,"common.theme.auto":`Auto`,"common.theme.dark":`Dark`,"common.theme.light":`Light`,"common.theme.select":`Select theme`,"common.yes":`Yes`,"common.no":`No`,"common.none":`None`,"login.email.placeholder":`hello@example.com`,"login.error.failed":`Login failed. Please check your email and password.`,"login.password.placeholder":`Enter your password`,"login.submit":`Log in`,"login.submitting":`Logging in...`,"login.title":`Welcome back!`,"login.link.register":`Sign up`,"login.link.forgotPassword":`Forgot password?`,"login.selectMethod.subtitle":``,"login.method.password":`Email`,"login.method.passkey":`Passkey`,"login.password.backToMethods":`Other sign in options`,"login.footer.noAccount":`Don't have an account?`,"profile.email.label":`Email`,"profile.id.label":`User ID`,"profile.logout":`Log out`,"profile.title":`My Profile`,"profile.account.title":`Account Information`,"profile.account.description":`Your basic account details`,"profile.security.title":`Security`,"profile.security.description":`Manage your security settings`,"admin.eyebrow":`Admin`,"admin.dashboardTitle":`Admin dashboard`,"admin.dashboardDescription":`Manage TinyAuth users and clients from one place.`,"admin.readonlyNotice":`Config-managed users and clients are read-only.`,"admin.accessRequired":`Admin access required`,"admin.accessRequiredDescription":`Your account does not have permission to access the admin console.`,"admin.nav.dashboard":`Dashboard`,"admin.nav.users":`Users`,"admin.signedInAs":`Signed in as`,"admin.commandPlaceholder":`Search users, clients, policies...`,"admin.environment":`Live`,"admin.metrics.totalUsers":`Total users`,"admin.metrics.admins":`Admins`,"admin.metrics.configUsers":`Config users`,"admin.metrics.databaseUsers":`Database users`,"admin.policy.title":`Policy`,"admin.policy.heading":`Guardrails are active`,"admin.policy.configReadonly":`Config read-only`,"admin.backToDashboard":`Back to dashboard`,"admin.users.title":`Users`,"admin.users.description":`Manage database-backed users and review config-managed users.`,"admin.users.directory":`User directory`,"admin.users.searchPlaceholder":`Search users by email or ID`,"admin.users.create":`Create user`,"admin.users.role":`Role`,"admin.users.source":`Source`,"admin.users.emailVerified":`Email verified`,"admin.users.secondFactor":`2FA`,"admin.users.status":`Status`,"admin.users.active":`Active`,"admin.users.deleted":`Deleted`,"admin.users.total":`{{count}} users`,"admin.users.open":`Open users`,"register.email.placeholder":`hello@example.com`,"register.error.emailExists":`Email already exists`,"register.error.emailNotAllowed":`This email address is not allowed for registration.`,"register.error.registrationDisabled":`Registration is currently disabled.`,"register.link.login":`Sign in`,"register.footer.haveAccount":`Already have an account?`,"register.password.placeholder":`Enter your password`,"register.submit":`Create account`,"register.submitting":`Creating account...`,"register.subtitle":`Create a new account to get started`,"register.title":`Create account`,"validation.email.invalid":`Invalid email format`,"validation.password.max":`Password must be at most {{count}} characters`,"validation.password.min":`Password must be at least {{count}} characters`,"validation.password.required":`Please enter your password`,"validation.token.required":`Please enter verification token`,"validation.confirmPassword.required":`Please confirm your password`,"validation.confirmPassword.mismatch":`Passwords do not match`,"validation.confirmText.mismatch":`The confirmation text does not match`,"validation.terms.required":`Please agree to the required terms`,"register.success.subtitle":`We sent you a verification email`,"register.success.description":`Please check your email at {{email}} to verify your account.`,"verifyEmail.title":`Email Verification`,"verifyEmail.subtitle":`Enter your verification token below`,"verifyEmail.token.placeholder":`Enter the token from your email`,"verifyEmail.submit":`Verify`,"verifyEmail.submitting":`Verifying...`,"verifyEmail.resend":`Resend verification email`,"verifyEmail.resending":`Resending...`,"verifyEmail.success.title":`Verification complete!`,"verifyEmail.success.subtitle":`Your email has been successfully verified`,"verifyEmail.success.description":`You can now access all features.`,"verifyEmail.success.goToProfile":`Go to profile`,"verifyEmail.error.invalidToken":`Invalid or expired token`,"verifyEmail.resendSuccess":`Verification email has been resent`,"forgotPassword.title":`Forgot Password`,"forgotPassword.subtitle":`Enter your email to receive a password reset link`,"forgotPassword.email.placeholder":`hello@example.com`,"forgotPassword.submit":`Send reset link`,"forgotPassword.submitting":`Sending...`,"forgotPassword.backToLogin":`Back to login`,"forgotPassword.footer.rememberedPassword":`Remembered your password?`,"forgotPassword.success.title":`Email sent!`,"forgotPassword.success.subtitle":`Check your inbox`,"forgotPassword.success.description":`If an account exists for {{email}}, you will receive a password reset link.`,"forgotPassword.success.checkSpam":`If you don't see the email, please check your spam folder.`,"forgotPassword.error.notEditable":`This account cannot be modified`,"resetPassword.title":`Reset Password`,"resetPassword.subtitle":`Enter your new password below`,"resetPassword.token.placeholder":`Enter the token from your email`,"resetPassword.password.placeholder":`Enter your new password`,"resetPassword.confirmPassword.placeholder":`Confirm your new password`,"resetPassword.submit":`Reset password`,"resetPassword.submitting":`Resetting...`,"resetPassword.backToLogin":`Back to login`,"resetPassword.success.title":`Password reset!`,"resetPassword.success.subtitle":`Your password has been successfully changed`,"resetPassword.success.description":`You can now log in with your new password.`,"resetPassword.success.goToLogin":`Go to login`,"resetPassword.error.invalidToken":`Invalid or expired token`,"resetPassword.error.notEditable":`This account cannot be modified`,"consent.title":`Authorization Request`,"consent.subtitle":`{{app}} is requesting access to your account`,"consent.loggedInAs":`Logged in as`,"consent.permissions.title":`This application will be able to:`,"consent.allow":`Allow`,"consent.deny":`Deny`,"consent.error.title":`Error`,"consent.error.message":`Unable to load authorization details. The client may be invalid.`,"consent.error.back":`Go back`,"consent.scope.openid":`Access your unique user identifier`,"consent.scope.profile":`Access your profile information`,"consent.scope.email":`Access your email address`,"consent.scope.address":`Access your address information`,"consent.scope.phone":`Access your phone number`,"consent.scope.offline_access":`Maintain access when you are not present`,"oauth.error.failed":`OAuth login failed. Please try again.`,"oauth.error.accessDenied":`The authorization request was denied.`,"oauth.error.temporarilyUnavailable":`The service is temporarily unavailable. Please try again later.`,"oauth.error.serverError":`An error occurred on the authentication server. Please try again later.`,"oauth.error.registrationEmailNotAllowed":`This email address is not allowed for registration.`,"profile.linkedAccounts.title":`Linked Accounts`,"profile.linkedAccounts.description":`Connect your account with third-party services`,"profile.linkedAccounts.link":`Link`,"profile.linkedAccounts.unlink":`Unlink`,"profile.linkedAccounts.unlinking":`Unlinking...`,"profile.linkedAccounts.unlinkError":`Cannot unlink. You need at least one way to log in.`,"profile.linkedAccounts.unlinkModal.title":`Unlink Account`,"profile.linkedAccounts.unlinkModal.description":`You are about to unlink {{provider}} from your account.`,"profile.linkedAccounts.unlinkModal.warning":`You will no longer be able to log in using {{provider}}. Make sure you have another way to access your account.`,"profile.linkedAccounts.unlinkModal.cancel":`Cancel`,"profile.linkedAccounts.connected":`Connected`,"profile.linkedAccounts.notConnected":`Not connected`,"error.title":`Error`,"error.subtitle":`Something went wrong`,"error.defaultMessage":`An unexpected error occurred. Please try again later.`,"error.codeLabel":`Error Code`,"error.goToLogin":`Go to login`,"error.goBack":`Go back`,"error.footer.needHelp":`Need help?`,"error.footer.contactSupport":`Contact support`,"error.sessionExpired":`Your session has expired. Please log in again.`,"error.retry":`Retry`,"profile.password.title":`Password`,"profile.password.status.set":`Password is set`,"profile.password.status.notSet":`No password set`,"profile.password.set":`Set Password`,"profile.password.change":`Change Password`,"profile.password.remove":`Remove Password`,"profile.password.setModal.title":`Set Password`,"profile.password.setModal.description":`Set a password to enable email and password login.`,"profile.password.setModal.newPassword":`New Password`,"profile.password.setModal.newPasswordPlaceholder":`Enter new password`,"profile.password.setModal.confirmPassword":`Confirm Password`,"profile.password.setModal.confirmPasswordPlaceholder":`Confirm new password`,"profile.password.setModal.submit":`Set Password`,"profile.password.setModal.submitting":`Setting...`,"profile.password.setModal.cancel":`Cancel`,"profile.password.setModal.error":`Failed to set password`,"profile.password.changeModal.title":`Change Password`,"profile.password.changeModal.description":`Verify your current password and set a new one.`,"profile.password.changeModal.currentPassword":`Current Password`,"profile.password.changeModal.currentPasswordPlaceholder":`Enter current password`,"profile.password.changeModal.newPassword":`New Password`,"profile.password.changeModal.newPasswordPlaceholder":`Enter new password`,"profile.password.changeModal.confirmPassword":`Confirm Password`,"profile.password.changeModal.confirmPasswordPlaceholder":`Confirm new password`,"profile.password.changeModal.submit":`Change Password`,"profile.password.changeModal.submitting":`Changing...`,"profile.password.changeModal.cancel":`Cancel`,"profile.password.changeModal.error":`Failed to change password`,"profile.password.changeModal.invalidCurrent":`Current password is incorrect`,"profile.password.removeModal.title":`Remove Password`,"profile.password.removeModal.description":`Removing your password will disable email and password login. You will only be able to log in with linked OAuth accounts.`,"profile.password.removeModal.currentPassword":`Current Password`,"profile.password.removeModal.currentPasswordPlaceholder":`Enter current password`,"profile.password.removeModal.submit":`Remove Password`,"profile.password.removeModal.submitting":`Removing...`,"profile.password.removeModal.cancel":`Cancel`,"profile.password.removeModal.error":`Failed to remove password`,"profile.password.removeModal.invalidCurrent":`Current password is incorrect`,"profile.password.removeModal.noOAuth":`You must have at least one OAuth account linked`,"profile.password.removeModal.noOAuthWith2FA":`Cannot remove password when 2FA is set up. Add an OAuth account first, or disable 2FA before removing password.`,"profile.password.removeDisabledReason":`Cannot remove password when 2FA is set up. Add an OAuth account first.`,"profile.password.configManaged":`This account is managed by configuration and the password cannot be changed`,"profile.totp.title":`Two-Factor Authentication`,"profile.totp.status.enabled":`Two-factor authentication is enabled`,"profile.totp.status.recoveryCodesMissing":`Recovery codes need to be regenerated`,"profile.totp.status.disabled":`Two-factor authentication is not enabled`,"profile.totp.enable":`Enable`,"profile.totp.disable":`Disable`,"profile.totp.regenerate":`Regenerate codes`,"profile.totp.recoveryCodesMissing":`Your existing recovery codes are no longer valid. Generate a new set now and store them safely.`,"profile.totp.setupModal.title":`Set Up Two-Factor Authentication`,"profile.totp.setupModal.requiredDescription":`You must set up two-factor authentication (TOTP) or passkey to continue.`,"profile.totp.setupModal.setupError":`Failed to start setup. Please try again.`,"profile.totp.setupModal.retry":`Retry`,"profile.totp.setupModal.cancel":`Cancel`,"profile.totp.setupModal.switchToPasskey":`Use Passkey Instead`,"profile.totp.disableModal.title":`Disable Two-Factor Authentication`,"profile.totp.disableModal.description":`Enter your current authentication code to disable two-factor authentication.`,"profile.totp.disableModal.warning":`Disabling two-factor authentication will make your account less secure.`,"profile.totp.disableModal.codeLabel":`Authentication Code`,"profile.totp.disableModal.cancel":`Cancel`,"profile.totp.disableModal.disable":`Disable`,"profile.totp.disableModal.disabling":`Disabling...`,"profile.totp.disableModal.error":`Invalid code. Please try again.`,"profile.totp.disableModal.cannotRemoveLastSecondFactor":`Cannot disable TOTP. At least one two-factor authentication method (TOTP or Passkey) is required.`,"profile.totp.regenerateModal.title":`Regenerate Recovery Codes`,"profile.totp.regenerateModal.description":`Enter your current authentication code to replace all existing recovery codes.`,"profile.totp.regenerateModal.submit":`Generate Recovery Codes`,"profile.totp.regenerateModal.submitting":`Generating...`,"profile.totp.regenerateModal.error":`Invalid code. Please try again.`,"profile.totp.regenerateModal.unexpectedError":`Unable to regenerate recovery codes right now. Please try again.`,"profile.totp.regenerateModal.recoveryTitle":`New Recovery Codes`,"profile.totp.regenerateModal.recoveryDescription":`These codes are shown once. Store them somewhere safe before closing this dialog.`,"validation.totp.length":`Code must be 6 digits`,"validation.totp.digits":`Code must contain only digits`,"validation.passkey.name.max":`Passkey name must be at most 100 characters`,"validation.passkey.name.required":`Passkey name is required`,"profile.passkey.title":`Passkeys`,"profile.passkey.status.enabled":`{{count}} passkey(s) registered`,"profile.passkey.status.disabled":`No passkeys registered`,"profile.passkey.add":`Add Passkey`,"profile.passkey.manage":`Manage`,"profile.passkey.setupModal.title":`Add Passkey`,"profile.passkey.setupModal.requiredDescription":`You must set up passkey or two-factor authentication (TOTP) to continue.`,"profile.passkey.setupModal.description":`A passkey lets you sign in securely using your fingerprint, face, or screen lock.`,"profile.passkey.setupModal.nameLabel":`Passkey Name (Optional)`,"profile.passkey.setupModal.namePlaceholder":`e.g., MacBook Pro, iPhone`,"profile.passkey.setupModal.nameHint":`Give your passkey a name to identify it later`,"profile.passkey.setupModal.continue":`Continue`,"profile.passkey.setupModal.cancel":`Cancel`,"profile.passkey.setupModal.switchToTotp":`Use TOTP Instead`,"profile.passkey.setupModal.waitingForDevice":`Follow the prompts from your browser or device...`,"profile.passkey.setupModal.error":`Failed to register passkey. Please try again.`,"profile.passkey.setupModal.cancelled":`Passkey registration was cancelled.`,"profile.passkey.manageModal.title":`Manage Passkeys`,"profile.passkey.manageModal.noPasskeys":`You don't have any passkeys registered yet.`,"profile.passkey.manageModal.close":`Close`,"profile.passkey.manageModal.addNew":`Add New Passkey`,"profile.passkey.manageModal.unnamedPasskey":`Unnamed Passkey`,"profile.passkey.manageModal.createdAt":`Added {{date}}`,"profile.passkey.manageModal.backedUp":`Synced`,"profile.passkey.manageModal.rename":`Rename`,"profile.passkey.manageModal.delete":`Delete`,"profile.passkey.manageModal.deleteConfirmInline":`Delete this passkey?`,"profile.passkey.manageModal.deleteError":`Cannot delete passkey. You need at least one way to log in.`,"profile.passkey.manageModal.cannotRemoveLastSecondFactor":`Cannot delete passkey. At least one two-factor authentication method (TOTP or Passkey) is required.`,"profile.passkey.manageModal.namePlaceholder":`Enter passkey name`,"profile.passkey.manageModal.cancelEdit":`Cancel`,"profile.passkey.manageModal.save":`Save`,"profile.passkey.manageModal.saving":`Saving...`,"profile.passkey.manageModal.renameError":`Failed to rename passkey. Please try again.`,"profile.dangerZone.title":`Danger Zone`,"profile.dangerZone.description":`Irreversible actions like deleting your account`,"profile.deleteAccount.title":`Delete Account`,"profile.deleteAccount.description":`Permanently delete your account`,"profile.deleteAccount.button":`Delete Account`,"profile.deleteAccount.modal.title":`Are you sure you want to delete your account?`,"profile.deleteAccount.modal.description":`This action cannot be undone. All your data will be permanently deleted after {{days}} days.`,"profile.deleteAccount.modal.warning":`You will not be able to sign up again with this email after deletion.`,"profile.deleteAccount.modal.confirmLabel":`Type "delete" to confirm`,"profile.deleteAccount.modal.confirmPlaceholder":`delete`,"profile.deleteAccount.modal.confirm":`Delete Account`,"profile.deleteAccount.modal.confirming":`Deleting...`,"profile.deleteAccount.modal.cancel":`Cancel`,"profile.deleteAccount.configManaged":`This account is managed by configuration and cannot be deleted`,"profile.deleteAccount.error":`Failed to delete account`,"verifyTotp.title":`Two-Factor Authentication`,"verifyTotp.subtitle":`Enter the code from your authenticator app`,"verifyTotp.submit":`Verify`,"verifyTotp.submitting":`Verifying...`,"verifyTotp.error.invalid":`Invalid code. Please try again.`,"verifyTotp.error.expired":`Session expired. Please log in again.`,"verifyTotp.redirecting":`Redirecting to login in {{seconds}} seconds...`,"verifyTotp.redirectNow":`Go to login now`,"verifyTotp.backToLogin":`Back to login`,"verifyTotp.useRecoveryCode":`Use a recovery code`,"verifyRecovery.title":`Recovery Code`,"verifyRecovery.subtitle":`Enter one of your recovery codes`,"verifyRecovery.placeholder":`XXXX-XXXX-XXXX-XXXX`,"verifyRecovery.submit":`Verify`,"verifyRecovery.submitting":`Verifying...`,"verifyRecovery.error.invalid":`Invalid recovery code. Please try again.`,"verifyRecovery.error.noCodesAvailable":`No recovery codes available. All codes have been used.`,"verifyRecovery.error.expired":`Session expired. Please log in again.`,"verifyRecovery.backToTotp":`Use authenticator app instead`,"verifyRecovery.backToLogin":`Back to login`,"verifyRecovery.redirecting":`Redirecting to login in {{seconds}} seconds...`,"verifyRecovery.redirectNow":`Go to login now`,"setupTotp.title":`Set Up Two-Factor Authentication`,"setupTotp.subtitle":`Add an extra layer of security to your account`,"setupTotp.required":`Two-factor authentication is required to continue`,"setupTotp.qrDescription":`Scan this QR code with your authenticator app (Google Authenticator, Authy, etc.)`,"setupTotp.manualEntry":`Can't scan? Enter this code manually`,"setupTotp.next":`Next`,"setupTotp.back":`Back`,"setupTotp.verify":`Verify`,"setupTotp.verifying":`Verifying...`,"setupTotp.verifyTitle":`Verify Authentication Code`,"setupTotp.verifySubtitle":`Enter the 6-digit code from your authenticator app`,"setupTotp.error.invalid":`Invalid code. Please try again.`,"setupTotp.error.setupFailed":`Failed to start setup. Please try again.`,"setupTotp.error.expired":`Session expired. Please log in again.`,"setupTotp.error.alreadyEnabled":`Two-factor authentication is already enabled.`,"setupTotp.redirecting":`Redirecting to login in {{seconds}} seconds...`,"setupTotp.redirectNow":`Go to login now`,"setupTotp.goToProfile":`Go to profile`,"setupTotp.retry":`Retry`,"setupTotp.backToLogin":`Back to login`,"setupTotp.recoveryCodes.title":`Save Your Recovery Codes`,"setupTotp.recoveryCodes.description":`If you lose access to your authenticator app, you can use these one-time recovery codes to sign in. Each code can only be used once.`,"setupTotp.recoveryCodes.warning":`Store these codes in a safe place. You will not be able to see them again.`,"setupTotp.recoveryCodes.copy":`Copy all codes`,"setupTotp.recoveryCodes.copied":`Copied!`,"setupTotp.recoveryCodes.confirmCheckbox":`I have saved these recovery codes in a safe place`,"setupTotp.recoveryCodes.confirm":`Complete setup`,"verifyPasskey.title":`Passkey Verification`,"verifyPasskey.subtitle":`Use your passkey to complete sign in`,"verifyPasskey.waiting":`Follow the prompts from your browser or device...`,"verifyPasskey.retry":`Try again`,"verifyPasskey.error.expired":`Session expired. Please log in again.`,"verifyPasskey.error.userMismatch":`This passkey belongs to a different account.`,"verifyPasskey.error.failed":`Passkey verification failed. Please try again.`,"verifyPasskey.backToLogin":`Back to login`,"verify2fa.title":`Two-Factor Authentication`,"verify2fa.subtitle":`Choose a verification method`,"verify2fa.totp.title":`Authenticator App`,"verify2fa.totp.description":`Use a 6-digit code from your app`,"verify2fa.passkey.title":`Passkey`,"verify2fa.passkey.description":`Use fingerprint, face, or security key`,"verify2fa.backToLogin":`Back to login`,"setup2fa.title":`Set Up Two-Factor Authentication`,"setup2fa.subtitle":`Choose your preferred 2FA method`,"setup2fa.required":`Two-factor authentication is required to continue`,"setup2fa.totp.title":`Authenticator App`,"setup2fa.totp.description":`Use Google Authenticator, Authy, etc.`,"setup2fa.passkey.title":`Passkey`,"setup2fa.passkey.description":`Use fingerprint, face, or security key`,"setup2fa.backToLogin":`Back to login`,"setupPasskey.title":`Set Up Passkey`,"setupPasskey.subtitle":`Register a passkey for secure authentication`,"setupPasskey.required":`Two-factor authentication is required to continue`,"setupPasskey.description":`A passkey lets you sign in securely using your fingerprint, face, or screen lock.`,"setupPasskey.name.label":`Passkey Name (Optional)`,"setupPasskey.name.placeholder":`e.g., MacBook Pro, iPhone`,"setupPasskey.name.hint":`Give your passkey a name to identify it later`,"setupPasskey.continue":`Continue`,"setupPasskey.registering":`Registering...`,"setupPasskey.waiting":`Follow the prompts from your browser or device...`,"setupPasskey.retry":`Try again`,"setupPasskey.error.failed":`Failed to register passkey. Please try again.`,"setupPasskey.error.cancelled":`Passkey registration was cancelled.`,"setupPasskey.backToLogin":`Back to login`,"terms.title":`Terms of Service`,"terms.required":`Required`,"terms.optional":`Optional`,"terms.agreeAll":`Agree to all`,"terms.agreeAllOptionalIncluded":`(including optional)`,"terms.versionUpdated":`Terms have been updated. Please agree to the new version.`,"terms.submit":`Agree and Continue`,"terms.error.title":`Error`,"terms.error.message":`Unable to load terms information.`,"terms.error.back":`Go back`,"terms.error.submitFailed":`Failed to submit consent. Please try again.`,"terms.view":`View`,"admin.users.includeDeleted":`Include deleted`,"admin.users.search":`Search`,"admin.users.actions":`Actions`,"admin.users.edit":`Edit`,"admin.users.delete":`Delete`,"admin.users.editUser":`Edit {{email}}`,"admin.users.deleteUser":`Delete {{email}}`,"admin.users.readonly":`Read-only`,"admin.users.password":`Password`,"admin.users.editTitle":`Edit user`,"admin.users.createSubmit":`Create`,"admin.users.save":`Save changes`,"admin.users.cancel":`Cancel`,"admin.users.deleteTitle":`Delete {{email}}?`,"admin.users.deleteDescription":`This soft-deletes the database-managed user and prevents future logins.`,"admin.users.deleteConfirm":`Delete user`,"admin.users.previous":`Previous`,"admin.users.next":`Next`,"admin.users.page":`Page {{page}}`,"admin.users.filter.all":`All`,"admin.users.filter.database":`Database`,"admin.users.filter.config":`Config`,"admin.users.filter.admins":`Admins`,"admin.users.clearFilters":`Clear filters`,"admin.users.pageSize":`Rows`,"admin.users.showingRange":`Showing {{from}}โ{{to}} of {{total}}`,"admin.users.emptyFiltered":`No users match the current filters.`,"admin.users.createdNotice":`Created {{email}}.`,"admin.users.updatedNotice":`Updated {{email}}.`,"admin.users.deletedNotice":`Deleted {{email}}.`,"admin.users.operationFailed":`Operation failed. Check the values and try again.`,"admin.users.createHint":`Create a database-managed user. Config users stay read-only.`,"admin.users.editHint":`Update account metadata for a database-managed user.`,"admin.users.deleteWarning":`This is a destructive admin action.`,"common.on":`On`,"admin.nav.open":`Open admin navigation`,"admin.nav.close":`Close admin navigation`,"admin.breadcrumbLabel":`Admin breadcrumb`,"admin.console":`Admin Console`,"admin.livePolicy":`Live policy`,"admin.roleBadge":`role: {{role}}`,"admin.metrics.totalUsersHint":`Managed identities`,"admin.metrics.adminsHint":`Privileged accounts`,"admin.metrics.databaseUsersHint":`Mutable records`,"admin.identityGraph":`Identity graph`,"admin.policy.description":`Config sources are protected from accidental mutation.`,"admin.users.verifiedLabel":`verified:`,"admin.users.directoryEyebrow":`Directory`,"admin.users.queryChip":`query: {{query}}`,"admin.users.currentPage":`current page`,"admin.disabled":`Admin console disabled`,"admin.disabledDescription":`The admin console is disabled for this deployment.`,"admin.users.secondFactorTotp":`TOTP`,"admin.users.secondFactorPasskey":`{{count}} passkey`,"admin.users.roleUser":`User`,"admin.users.roleAdmin":`Admin`,"admin.users.secondFactorPasskeys":`{{count}} passkeys`,"common.close":`Close`,"admin.mobileTitle":`TinyAuth Admin`,"admin.users.sourceDatabase":`Database`,"admin.users.sourceConfig":`Config`,"admin.users.activeOnPage":`Active on this page`,"admin.users.configOnPage":`Config on this page`,"admin.users.databaseOnPage":`Database on this page`},hr={"common.language.auto":`่ชๅ`,"common.language.select":`่จ่ชใ้ธๆ`,"common.theme.auto":`่ชๅ`,"common.theme.dark":`ใใผใฏ`,"common.theme.light":`ใฉใคใ`,"common.theme.select":`ใใผใใ้ธๆ`,"common.yes":`ใฏใ`,"common.no":`ใใใ`,"common.none":`ใชใ`,"login.email.placeholder":`hello@example.com`,"login.error.failed":`ใญใฐใคใณใซๅคฑๆใใพใใใใกใผใซใขใใฌในใจใในใฏใผใใ็ขบ่ชใใฆใใ ใใใ`,"login.password.placeholder":`ใในใฏใผใใๅ
ฅๅ`,"login.submit":`ใญใฐใคใณ`,"login.submitting":`ใญใฐใคใณไธญ...`,"login.title":`Welcome back!`,"login.link.register":`ๆฐ่ฆ็ป้ฒ`,"login.link.forgotPassword":`ใในใฏใผใใใๅฟใใงใใ๏ผ`,"login.selectMethod.subtitle":``,"login.method.password":`ใกใผใซ`,"login.method.passkey":`ใในใญใผ`,"login.password.backToMethods":`ไปใฎๆนๆณใงใญใฐใคใณ`,"login.footer.noAccount":`ใขใซใฆใณใใใๆใกใงใชใใงใใ๏ผ`,"profile.email.label":`ใกใผใซใขใใฌใน`,"profile.id.label":`ใฆใผใถใผID`,"profile.logout":`ใญใฐใขใฆใ`,"profile.title":`ใใคใใญใใฃใผใซ`,"profile.account.title":`ใขใซใฆใณใๆ
ๅ ฑ`,"profile.account.description":`ๅบๆฌใขใซใฆใณใๆ
ๅ ฑ`,"profile.security.title":`ใปใญใฅใชใใฃ`,"profile.security.description":`ใปใญใฅใชใใฃ่จญๅฎใ็ฎก็`,"admin.eyebrow":`็ฎก็่
`,"admin.dashboardTitle":`็ฎก็่
ใใใทใฅใใผใ`,"admin.dashboardDescription":`TinyAuth ใฎใฆใผใถใผใจใฏใฉใคใขใณใใไธๅ
็ฎก็ใใพใใ`,"admin.readonlyNotice":`configใงๅฎฃ่จใใใใฆใผใถใผใจใฏใฉใคใขใณใใฏ่ชญใฟๅใๅฐ็จใงใใ`,"admin.accessRequired":`็ฎก็่
ๆจฉ้ใๅฟ
่ฆใงใ`,"admin.accessRequiredDescription":`ใใฎใขใซใฆใณใใซใฏ็ฎก็่
ใณใณใฝใผใซใธใฎใขใฏใปในๆจฉใใใใพใใใ`,"admin.nav.dashboard":`ใใใทใฅใใผใ`,"admin.nav.users":`ใฆใผใถใผ`,"admin.signedInAs":`ใญใฐใคใณไธญ`,"admin.commandPlaceholder":`ใฆใผใถใผใใฏใฉใคใขใณใใใใชใทใผใๆค็ดข...`,"admin.environment":`ใฉใคใ`,"admin.metrics.totalUsers":`็ทใฆใผใถใผๆฐ`,"admin.metrics.admins":`็ฎก็่
`,"admin.metrics.configUsers":`Configใฆใผใถใผ`,"admin.metrics.databaseUsers":`DBใฆใผใถใผ`,"admin.policy.title":`ใใชใทใผ`,"admin.policy.heading":`ใฌใผใใฌใผใซๆๅน`,"admin.policy.configReadonly":`Config่ชญใฟๅใๅฐ็จ`,"admin.backToDashboard":`ใใใทใฅใใผใใธๆปใ`,"admin.users.title":`ใฆใผใถใผ`,"admin.users.description":`ใใผใฟใใผใน็ฎก็ใฆใผใถใผใ็ฎก็ใใconfig็ฎก็ใฆใผใถใผใ็ขบ่ชใใพใใ`,"admin.users.directory":`ใฆใผใถใผใใฃใฌใฏใใช`,"admin.users.searchPlaceholder":`ใกใผใซใพใใฏIDใงใฆใผใถใผๆค็ดข`,"admin.users.create":`ใฆใผใถใผใไฝๆ`,"admin.users.role":`ใญใผใซ`,"admin.users.source":`ใฝใผใน`,"admin.users.emailVerified":`ใกใผใซ่ช่จผ`,"admin.users.secondFactor":`2FA`,"admin.users.status":`ในใใผใฟใน`,"admin.users.active":`ๆๅน`,"admin.users.deleted":`ๅ้คๆธใฟ`,"admin.users.total":`{{count}} ใฆใผใถใผ`,"admin.users.open":`ใฆใผใถใผใ้ใ`,"register.email.placeholder":`hello@example.com`,"register.error.emailExists":`ใกใผใซใขใใฌในใฏใใงใซๅญๅจใใพใ`,"register.error.emailNotAllowed":`ใใฎใกใผใซใขใใฌในใงใฎ็ป้ฒใฏ่จฑๅฏใใใฆใใพใใใ`,"register.error.registrationDisabled":`็พๅจใ็ป้ฒใฏ็กๅนใซใชใฃใฆใใพใใ`,"register.link.login":`ใญใฐใคใณ`,"register.footer.haveAccount":`ใใงใซใขใซใฆใณใใใๆใกใงใใ๏ผ`,"register.password.placeholder":`ใในใฏใผใใๅ
ฅๅ`,"register.submit":`ใขใซใฆใณใไฝๆ`,"register.submitting":`ใขใซใฆใณใไฝๆไธญ...`,"register.subtitle":`ๆฐใใใขใซใฆใณใใไฝๆใใฆๅงใใพใใใ`,"register.title":`Create account`,"validation.email.invalid":`ๆญฃใใใกใผใซใขใใฌในใฎๅฝขๅผใงใฏใใใพใใ`,"validation.password.max":`ใในใฏใผใใฏ{{count}}ๆๅญไปฅไธใงใใๅฟ
่ฆใใใใพใ`,"validation.password.min":`ใในใฏใผใใฏ{{count}}ๆๅญไปฅไธใงใใๅฟ
่ฆใใใใพใ`,"validation.password.required":`ใในใฏใผใใๅ
ฅๅใใฆใใ ใใ`,"validation.token.required":`่ช่จผใใผใฏใณใๅ
ฅๅใใฆใใ ใใ`,"validation.confirmPassword.required":`ใในใฏใผใใฎ็ขบ่ชใๅ
ฅๅใใฆใใ ใใ`,"validation.confirmPassword.mismatch":`ใในใฏใผใใไธ่ดใใพใใ`,"validation.confirmText.mismatch":`็ขบ่ชใใญในใใไธ่ดใใพใใ`,"validation.terms.required":`ๅฟ
้ ่ฆ็ดใซๅๆใใฆใใ ใใ`,"register.success.subtitle":`็ขบ่ชใกใผใซใ้ไฟกใใพใใ`,"register.success.description":`{{email}}ใซ้ไฟกใใใใกใผใซใ็ขบ่ชใใฆใขใซใฆใณใใ่ช่จผใใฆใใ ใใใ`,"verifyEmail.title":`ใกใผใซ่ช่จผ`,"verifyEmail.subtitle":`ไปฅไธใซ่ช่จผใใผใฏใณใๅ
ฅๅใใฆใใ ใใ`,"verifyEmail.token.placeholder":`ใกใผใซใงๅใๅใฃใใใผใฏใณใๅ
ฅๅ`,"verifyEmail.submit":`่ช่จผใใ`,"verifyEmail.submitting":`่ช่จผไธญ...`,"verifyEmail.resend":`่ช่จผใกใผใซใๅ้ไฟก`,"verifyEmail.resending":`ๅ้ไฟกไธญ...`,"verifyEmail.success.title":`่ช่จผๅฎไบ๏ผ`,"verifyEmail.success.subtitle":`ใกใผใซใขใใฌในใๆญฃๅธธใซ่ช่จผใใใพใใ`,"verifyEmail.success.description":`ใในใฆใฎๆฉ่ฝใใๅฉ็จใใใ ใใพใใ`,"verifyEmail.success.goToProfile":`ใใญใใฃใผใซใธ`,"verifyEmail.error.invalidToken":`็กๅนใพใใฏๆ้ๅใใฎใใผใฏใณใงใ`,"verifyEmail.resendSuccess":`่ช่จผใกใผใซใๅ้ไฟกใใพใใ`,"forgotPassword.title":`ใในใฏใผใใๅฟใใ`,"forgotPassword.subtitle":`ใในใฏใผใใชใปใใใชใณใฏใๅใๅใใกใผใซใขใใฌในใๅ
ฅๅใใฆใใ ใใ`,"forgotPassword.email.placeholder":`hello@example.com`,"forgotPassword.submit":`ใชใปใใใชใณใฏใ้ไฟก`,"forgotPassword.submitting":`้ไฟกไธญ...`,"forgotPassword.backToLogin":`ใญใฐใคใณใซๆปใ`,"forgotPassword.footer.rememberedPassword":`ใในใฏใผใใๆใๅบใใพใใใ๏ผ`,"forgotPassword.success.title":`ใกใผใซ้ไฟกๅฎไบ๏ผ`,"forgotPassword.success.subtitle":`ๅไฟกใใฌใคใใ็ขบ่ชใใ ใใ`,"forgotPassword.success.description":`{{email}}ใฎใขใซใฆใณใใๅญๅจใใๅ ดๅใใในใฏใผใใชใปใใใชใณใฏใ้ไฟกใใใพใใ`,"forgotPassword.success.checkSpam":`ใกใผใซใๅฑใใฆใใชใๅ ดๅใฏใ่ฟทๆใกใผใซใใฉใซใใใ็ขบ่ชใใ ใใใ`,"forgotPassword.error.notEditable":`ใใฎใขใซใฆใณใใฏๅคๆดใงใใพใใ`,"resetPassword.title":`ใในใฏใผใใชใปใใ`,"resetPassword.subtitle":`ๆฐใใใในใฏใผใใๅ
ฅๅใใฆใใ ใใ`,"resetPassword.token.placeholder":`ใกใผใซใงๅใๅใฃใใใผใฏใณใๅ
ฅๅ`,"resetPassword.password.placeholder":`ๆฐใใใในใฏใผใใๅ
ฅๅ`,"resetPassword.confirmPassword.placeholder":`ๆฐใใใในใฏใผใใๅๅ
ฅๅ`,"resetPassword.submit":`ใในใฏใผใใใชใปใใ`,"resetPassword.submitting":`ใชใปใใไธญ...`,"resetPassword.backToLogin":`ใญใฐใคใณใซๆปใ`,"resetPassword.success.title":`ใในใฏใผใใชใปใใๅฎไบ๏ผ`,"resetPassword.success.subtitle":`ใในใฏใผใใๆญฃๅธธใซๅคๆดใใใพใใ`,"resetPassword.success.description":`ๆฐใใใในใฏใผใใงใญใฐใคใณใงใใพใใ`,"resetPassword.success.goToLogin":`ใญใฐใคใณใธ`,"resetPassword.error.invalidToken":`็กๅนใพใใฏๆ้ๅใใฎใใผใฏใณใงใ`,"resetPassword.error.notEditable":`ใใฎใขใซใฆใณใใฏๅคๆดใงใใพใใ`,"consent.title":`่ชๅฏใชใฏใจในใ`,"consent.subtitle":`{{app}}ใใใชใใฎใขใซใฆใณใใธใฎใขใฏใปในใ่ฆๆฑใใฆใใพใ`,"consent.loggedInAs":`ใญใฐใคใณไธญใฎใขใซใฆใณใ`,"consent.permissions.title":`ใใฎใขใใชใฑใผใทใงใณใฏไปฅไธใ่กใใใจใใงใใพใ๏ผ`,"consent.allow":`่จฑๅฏ`,"consent.deny":`ๆๅฆ`,"consent.error.title":`ใจใฉใผ`,"consent.error.message":`่ชๅฏๆ
ๅ ฑใ่ชญใฟ่พผใใพใใใงใใใใฏใฉใคใขใณใใ็กๅนใงใใๅฏ่ฝๆงใใใใพใใ`,"consent.error.back":`ๆปใ`,"consent.scope.openid":`ใฆใผใถใผ่ญๅฅๅญใธใฎใขใฏใปใน`,"consent.scope.profile":`ใใญใใฃใผใซๆ
ๅ ฑใธใฎใขใฏใปใน`,"consent.scope.email":`ใกใผใซใขใใฌในใธใฎใขใฏใปใน`,"consent.scope.address":`ไฝๆๆ
ๅ ฑใธใฎใขใฏใปใน`,"consent.scope.phone":`้ป่ฉฑ็ชๅทใธใฎใขใฏใปใน`,"consent.scope.offline_access":`ใชใใฉใคใณใขใฏใปในใฎ็ถญๆ`,"oauth.error.failed":`OAuthใญใฐใคใณใซๅคฑๆใใพใใใใใไธๅบฆใ่ฉฆใใใ ใใใ`,"oauth.error.accessDenied":`่ช่จผใชใฏใจในใใๆๅฆใใใพใใใ`,"oauth.error.temporarilyUnavailable":`ใตใผใในใไธๆ็ใซๅฉ็จใงใใพใใใใใฐใใใใฆใใๅๅบฆใ่ฉฆใใใ ใใใ`,"oauth.error.serverError":`่ช่จผใตใผใใผใงใจใฉใผใ็บ็ใใพใใใใใฐใใใใฆใใๅๅบฆใ่ฉฆใใใ ใใใ`,"oauth.error.registrationEmailNotAllowed":`ใใฎใกใผใซใขใใฌในใงใฎ็ป้ฒใฏ่จฑๅฏใใใฆใใพใใใ`,"profile.linkedAccounts.title":`้ฃๆบใขใซใฆใณใ`,"profile.linkedAccounts.description":`ๅค้จใตใผใในใจใขใซใฆใณใใ้ฃๆบ`,"profile.linkedAccounts.link":`้ฃๆบ`,"profile.linkedAccounts.unlink":`้ฃๆบ่งฃ้ค`,"profile.linkedAccounts.unlinking":`้ฃๆบ่งฃ้คไธญ...`,"profile.linkedAccounts.unlinkError":`้ฃๆบใ่งฃ้คใงใใพใใใๅฐใชใใจใ1ใคใฎใญใฐใคใณๆนๆณใๅฟ
่ฆใงใใ`,"profile.linkedAccounts.unlinkModal.title":`ใขใซใฆใณใ้ฃๆบ่งฃ้ค`,"profile.linkedAccounts.unlinkModal.description":`{{provider}}ใฎใขใซใฆใณใ้ฃๆบใ่งฃ้คใใพใใ`,"profile.linkedAccounts.unlinkModal.warning":`{{provider}}ใงใญใฐใคใณใงใใชใใชใใพใใไปใฎใญใฐใคใณๆนๆณใใใใใจใ็ขบ่ชใใฆใใ ใใใ`,"profile.linkedAccounts.unlinkModal.cancel":`ใญใฃใณใปใซ`,"profile.linkedAccounts.connected":`้ฃๆบๆธใฟ`,"profile.linkedAccounts.notConnected":`ๆช้ฃๆบ`,"error.title":`ใจใฉใผ`,"error.subtitle":`ๅ้กใ็บ็ใใพใใ`,"error.defaultMessage":`ไบๆใใชใใจใฉใผใ็บ็ใใพใใใๅพใงใใไธๅบฆใ่ฉฆใใใ ใใใ`,"error.codeLabel":`ใจใฉใผใณใผใ`,"error.goToLogin":`ใญใฐใคใณใธ`,"error.goBack":`ๆปใ`,"error.footer.needHelp":`ใใซใใๅฟ
่ฆใงใใ๏ผ`,"error.footer.contactSupport":`ใตใใผใใซ้ฃ็ตก`,"error.sessionExpired":`ใปใใทใงใณใๆ้ๅใใงใใๅๅบฆใญใฐใคใณใใฆใใ ใใใ`,"error.retry":`ๅ่ฉฆ่ก`,"profile.password.title":`ใในใฏใผใ`,"profile.password.status.set":`ใในใฏใผใใ่จญๅฎใใใฆใใพใ`,"profile.password.status.notSet":`ใในใฏใผใใ่จญๅฎใใใฆใใพใใ`,"profile.password.set":`ใในใฏใผใใ่จญๅฎ`,"profile.password.change":`ใในใฏใผใใๅคๆด`,"profile.password.remove":`ใในใฏใผใใๅ้ค`,"profile.password.setModal.title":`ใในใฏใผใใ่จญๅฎ`,"profile.password.setModal.description":`ใกใผใซใขใใฌในใจใในใฏใผใใงใญใฐใคใณใงใใใใใซใในใฏใผใใ่จญๅฎใใพใใ`,"profile.password.setModal.newPassword":`ๆฐใใใในใฏใผใ`,"profile.password.setModal.newPasswordPlaceholder":`ๆฐใใใในใฏใผใใๅ
ฅๅ`,"profile.password.setModal.confirmPassword":`ใในใฏใผใ็ขบ่ช`,"profile.password.setModal.confirmPasswordPlaceholder":`ๆฐใใใในใฏใผใใๅๅ
ฅๅ`,"profile.password.setModal.submit":`ใในใฏใผใใ่จญๅฎ`,"profile.password.setModal.submitting":`่จญๅฎไธญ...`,"profile.password.setModal.cancel":`ใญใฃใณใปใซ`,"profile.password.setModal.error":`ใในใฏใผใใฎ่จญๅฎใซๅคฑๆใใพใใ`,"profile.password.changeModal.title":`ใในใฏใผใใๅคๆด`,"profile.password.changeModal.description":`็พๅจใฎใในใฏใผใใ็ขบ่ชใใฆใๆฐใใใในใฏใผใใ่จญๅฎใใพใใ`,"profile.password.changeModal.currentPassword":`็พๅจใฎใในใฏใผใ`,"profile.password.changeModal.currentPasswordPlaceholder":`็พๅจใฎใในใฏใผใใๅ
ฅๅ`,"profile.password.changeModal.newPassword":`ๆฐใใใในใฏใผใ`,"profile.password.changeModal.newPasswordPlaceholder":`ๆฐใใใในใฏใผใใๅ
ฅๅ`,"profile.password.changeModal.confirmPassword":`ใในใฏใผใ็ขบ่ช`,"profile.password.changeModal.confirmPasswordPlaceholder":`ๆฐใใใในใฏใผใใๅๅ
ฅๅ`,"profile.password.changeModal.submit":`ใในใฏใผใใๅคๆด`,"profile.password.changeModal.submitting":`ๅคๆดไธญ...`,"profile.password.changeModal.cancel":`ใญใฃใณใปใซ`,"profile.password.changeModal.error":`ใในใฏใผใใฎๅคๆดใซๅคฑๆใใพใใ`,"profile.password.changeModal.invalidCurrent":`็พๅจใฎใในใฏใผใใๆญฃใใใใใพใใ`,"profile.password.removeModal.title":`ใในใฏใผใใๅ้ค`,"profile.password.removeModal.description":`ใในใฏใผใใๅ้คใใใจใใกใผใซใขใใฌในใจใในใฏใผใใงใญใฐใคใณใงใใชใใชใใพใใ้ฃๆบใใใOAuthใขใซใฆใณใใงใฎใฟใญใฐใคใณใงใใพใใ`,"profile.password.removeModal.currentPassword":`็พๅจใฎใในใฏใผใ`,"profile.password.removeModal.currentPasswordPlaceholder":`็พๅจใฎใในใฏใผใใๅ
ฅๅ`,"profile.password.removeModal.submit":`ใในใฏใผใใๅ้ค`,"profile.password.removeModal.submitting":`ๅ้คไธญ...`,"profile.password.removeModal.cancel":`ใญใฃใณใปใซ`,"profile.password.removeModal.error":`ใในใฏใผใใฎๅ้คใซๅคฑๆใใพใใ`,"profile.password.removeModal.invalidCurrent":`็พๅจใฎใในใฏใผใใๆญฃใใใใใพใใ`,"profile.password.removeModal.noOAuth":`ๅฐใชใใจใ1ใคใฎOAuthใขใซใฆใณใใ้ฃๆบใใใฆใใๅฟ
่ฆใใใใพใ`,"profile.password.removeModal.noOAuthWith2FA":`2FAใ่จญๅฎใใใฆใใๅ ดๅใใในใฏใผใใๅ้คใงใใพใใใใพใOAuthใขใซใฆใณใใ้ฃๆบใใใใ2FAใ็กๅนใซใใฆใใใในใฏใผใใๅ้คใใฆใใ ใใใ`,"profile.password.removeDisabledReason":`2FAใ่จญๅฎใใใฆใใๅ ดๅใใในใฏใผใใๅ้คใงใใพใใใใพใOAuthใขใซใฆใณใใ้ฃๆบใใฆใใ ใใใ`,"profile.password.configManaged":`ใใฎใขใซใฆใณใใฏ่จญๅฎใใกใคใซใง็ฎก็ใใใฆใใใใใใในใฏใผใใๅคๆดใงใใพใใ`,"profile.totp.title":`ไบ่ฆ็ด ่ช่จผ`,"profile.totp.status.enabled":`ไบ่ฆ็ด ่ช่จผใๆๅนใงใ`,"profile.totp.status.recoveryCodesMissing":`ใชใซใใชใผใณใผใใๅ็ๆใใๅฟ
่ฆใใใใพใ`,"profile.totp.status.disabled":`ไบ่ฆ็ด ่ช่จผใๆๅนใงใฏใใใพใใ`,"profile.totp.enable":`ๆๅนๅ`,"profile.totp.disable":`็กๅนๅ`,"profile.totp.regenerate":`ใณใผใใๅ็ๆ`,"profile.totp.recoveryCodesMissing":`ๆขๅญใฎใชใซใใชใผใณใผใใฏ็กๅนใงใใไปใใๆฐใใใณใผใใ็ๆใใฆๅฎๅ
จใชๅ ดๆใซไฟ็ฎกใใฆใใ ใใใ`,"profile.totp.setupModal.title":`ไบ่ฆ็ด ่ช่จผใฎ่จญๅฎ`,"profile.totp.setupModal.requiredDescription":`็ถ่กใใใซใฏใไบ่ฆ็ด ่ช่จผ๏ผTOTP๏ผใพใใฏใในใญใผใ่จญๅฎใใๅฟ
่ฆใใใใพใใ`,"profile.totp.setupModal.setupError":`่จญๅฎใ้ๅงใงใใพใใใงใใใใใไธๅบฆใ่ฉฆใใใ ใใใ`,"profile.totp.setupModal.retry":`ๅ่ฉฆ่ก`,"profile.totp.setupModal.cancel":`ใญใฃใณใปใซ`,"profile.totp.setupModal.switchToPasskey":`ไปฃใใใซใในใญใผใไฝฟ็จ`,"profile.totp.disableModal.title":`ไบ่ฆ็ด ่ช่จผใ็กๅนๅ`,"profile.totp.disableModal.description":`ไบ่ฆ็ด ่ช่จผใ็กๅนใซใใใซใฏใ็พๅจใฎ่ช่จผใณใผใใๅ
ฅๅใใฆใใ ใใใ`,"profile.totp.disableModal.warning":`ไบ่ฆ็ด ่ช่จผใ็กๅนใซใใใจใใขใซใฆใณใใฎใปใญใฅใชใใฃใไฝไธใใพใใ`,"profile.totp.disableModal.codeLabel":`่ช่จผใณใผใ`,"profile.totp.disableModal.cancel":`ใญใฃใณใปใซ`,"profile.totp.disableModal.disable":`็กๅนๅ`,"profile.totp.disableModal.disabling":`็กๅนๅไธญ...`,"profile.totp.disableModal.error":`็กๅนใชใณใผใใงใใใใไธๅบฆใ่ฉฆใใใ ใใใ`,"profile.totp.disableModal.cannotRemoveLastSecondFactor":`TOTPใ็กๅนใซใงใใพใใใๅฐใชใใจใ1ใคใฎไบ่ฆ็ด ่ช่จผๆนๆณ๏ผTOTPใพใใฏใในใญใผ๏ผใๅฟ
่ฆใงใใ`,"profile.totp.regenerateModal.title":`ใชใซใใชใผใณใผใใๅ็ๆ`,"profile.totp.regenerateModal.description":`ๆขๅญใฎใชใซใใชใผใณใผใใใในใฆ็ฝฎใๆใใใซใฏใ็พๅจใฎ่ช่จผใณใผใใๅ
ฅๅใใฆใใ ใใใ`,"profile.totp.regenerateModal.submit":`ใชใซใใชใผใณใผใใ็ๆ`,"profile.totp.regenerateModal.submitting":`็ๆไธญ...`,"profile.totp.regenerateModal.error":`็กๅนใชใณใผใใงใใใใไธๅบฆใ่ฉฆใใใ ใใใ`,"profile.totp.regenerateModal.unexpectedError":`็พๅจใฏใชใซใใชใผใณใผใใๅ็ๆใงใใพใใใใใไธๅบฆใ่ฉฆใใใ ใใใ`,"profile.totp.regenerateModal.recoveryTitle":`ๆฐใใใชใซใใชใผใณใผใ`,"profile.totp.regenerateModal.recoveryDescription":`ใใใใฎใณใผใใฏไธๅบฆใ ใ่กจ็คบใใใพใใใใฎใใคใขใญใฐใ้ใใๅใซๅฎๅ
จใชๅ ดๆใธไฟ็ฎกใใฆใใ ใใใ`,"validation.totp.length":`ใณใผใใฏ6ๆกใงใใๅฟ
่ฆใใใใพใ`,"validation.totp.digits":`ใณใผใใฏๆฐๅญใฎใฟใๅซใๅฟ
่ฆใใใใพใ`,"validation.passkey.name.max":`ใในใญใผๅใฏ100ๆๅญไปฅไธใงใใๅฟ
่ฆใใใใพใ`,"validation.passkey.name.required":`ใในใญใผๅใๅ
ฅๅใใฆใใ ใใ`,"profile.passkey.title":`ใในใญใผ`,"profile.passkey.status.enabled":`{{count}}ๅใฎใในใญใผใ็ป้ฒใใใฆใใพใ`,"profile.passkey.status.disabled":`ใในใญใผใ็ป้ฒใใใฆใใพใใ`,"profile.passkey.add":`ใในใญใผใ่ฟฝๅ `,"profile.passkey.manage":`็ฎก็`,"profile.passkey.setupModal.title":`ใในใญใผใ่ฟฝๅ `,"profile.passkey.setupModal.requiredDescription":`็ถ่กใใใซใฏใใในใญใผใพใใฏไบ่ฆ็ด ่ช่จผ๏ผTOTP๏ผใ่จญๅฎใใๅฟ
่ฆใใใใพใใ`,"profile.passkey.setupModal.description":`ใในใญใผใไฝฟ็จใใใจใๆ็ดใ้ก่ช่จผใใพใใฏ็ป้ขใญใใฏใงๅฎๅ
จใซใญใฐใคใณใงใใพใใ`,"profile.passkey.setupModal.nameLabel":`ใในใญใผๅ๏ผไปปๆ๏ผ`,"profile.passkey.setupModal.namePlaceholder":`ไพ๏ผMacBook ProใiPhone`,"profile.passkey.setupModal.nameHint":`ๅพใง่ญๅฅใงใใใใใซใในใญใผใซๅๅใไปใใฆใใ ใใ`,"profile.passkey.setupModal.continue":`็ถใใ`,"profile.passkey.setupModal.cancel":`ใญใฃใณใปใซ`,"profile.passkey.setupModal.switchToTotp":`ไปฃใใใซTOTPใไฝฟ็จ`,"profile.passkey.setupModal.waitingForDevice":`ใใฉใฆใถใพใใฏใใใคในใฎๆ็คบใซๅพใฃใฆใใ ใใ...`,"profile.passkey.setupModal.error":`ใในใญใผใฎ็ป้ฒใซๅคฑๆใใพใใใใใไธๅบฆใ่ฉฆใใใ ใใใ`,"profile.passkey.setupModal.cancelled":`ใในใญใผใฎ็ป้ฒใใญใฃใณใปใซใใใพใใใ`,"profile.passkey.manageModal.title":`ใในใญใผใ็ฎก็`,"profile.passkey.manageModal.noPasskeys":`็ป้ฒใใใใในใญใผใใใใพใใใ`,"profile.passkey.manageModal.close":`้ใใ`,"profile.passkey.manageModal.addNew":`ๆฐใใใในใญใผใ่ฟฝๅ `,"profile.passkey.manageModal.unnamedPasskey":`ๅๅใฎใชใใในใญใผ`,"profile.passkey.manageModal.createdAt":`{{date}}ใซ่ฟฝๅ `,"profile.passkey.manageModal.backedUp":`ๅๆๆธใฟ`,"profile.passkey.manageModal.rename":`ๅๅใๅคๆด`,"profile.passkey.manageModal.delete":`ๅ้ค`,"profile.passkey.manageModal.deleteConfirmInline":`ใใฎใในใญใผใๅ้คใใพใใ๏ผ`,"profile.passkey.manageModal.deleteError":`ใในใญใผใๅ้คใงใใพใใใๅฐใชใใจใ1ใคใฎใญใฐใคใณๆนๆณใๅฟ
่ฆใงใใ`,"profile.passkey.manageModal.cannotRemoveLastSecondFactor":`ใในใญใผใๅ้คใงใใพใใใๅฐใชใใจใ1ใคใฎไบ่ฆ็ด ่ช่จผๆนๆณ๏ผTOTPใพใใฏใในใญใผ๏ผใๅฟ
่ฆใงใใ`,"profile.passkey.manageModal.namePlaceholder":`ใในใญใผๅใๅ
ฅๅ`,"profile.passkey.manageModal.cancelEdit":`ใญใฃใณใปใซ`,"profile.passkey.manageModal.save":`ไฟๅญ`,"profile.passkey.manageModal.saving":`ไฟๅญไธญ...`,"profile.passkey.manageModal.renameError":`ใในใญใผๅใฎๅคๆดใซๅคฑๆใใพใใใใใไธๅบฆใ่ฉฆใใใ ใใใ`,"profile.dangerZone.title":`ๅฑ้บใพใผใณ`,"profile.dangerZone.description":`ใขใซใฆใณใๅ้คใชใฉใฎๅใๆถใใงใใชใๆไฝ`,"profile.deleteAccount.title":`ใขใซใฆใณใๅ้ค`,"profile.deleteAccount.description":`ใขใซใฆใณใใๅฎๅ
จใซๅ้คใใพใ`,"profile.deleteAccount.button":`ใขใซใฆใณใใๅ้ค`,"profile.deleteAccount.modal.title":`ๆฌๅฝใซใขใซใฆใณใใๅ้คใใพใใ๏ผ`,"profile.deleteAccount.modal.description":`ใใฎๆไฝใฏๅใๆถใใพใใใใในใฆใฎใใผใฟใฏ{{days}}ๆฅๅพใซๅฎๅ
จใซๅ้คใใใพใใ`,"profile.deleteAccount.modal.warning":`ๅ้คๅพใใใฎใกใผใซใขใใฌในใงๅ็ป้ฒใใใใจใฏใงใใพใใใ`,"profile.deleteAccount.modal.confirmLabel":`็ขบ่ชใฎใใใๅ้คใใจๅ
ฅๅใใฆใใ ใใ`,"profile.deleteAccount.modal.confirmPlaceholder":`ๅ้ค`,"profile.deleteAccount.modal.confirm":`ใขใซใฆใณใใๅ้ค`,"profile.deleteAccount.modal.confirming":`ๅ้คไธญ...`,"profile.deleteAccount.modal.cancel":`ใญใฃใณใปใซ`,"profile.deleteAccount.configManaged":`ใใฎใขใซใฆใณใใฏ่จญๅฎใใกใคใซใง็ฎก็ใใใฆใใใใๅ้คใงใใพใใ`,"profile.deleteAccount.error":`ใขใซใฆใณใใฎๅ้คใซๅคฑๆใใพใใ`,"verifyTotp.title":`ไบ่ฆ็ด ่ช่จผ`,"verifyTotp.subtitle":`่ช่จผใขใใชใฎใณใผใใๅ
ฅๅใใฆใใ ใใ`,"verifyTotp.submit":`็ขบ่ช`,"verifyTotp.submitting":`็ขบ่ชไธญ...`,"verifyTotp.error.invalid":`็กๅนใชใณใผใใงใใใใไธๅบฆใ่ฉฆใใใ ใใใ`,"verifyTotp.error.expired":`ใปใใทใงใณใๆ้ๅใใงใใๅๅบฆใญใฐใคใณใใฆใใ ใใใ`,"verifyTotp.redirecting":`{{seconds}}็งๅพใซใญใฐใคใณใใผใธใซ็งปๅใใพใ...`,"verifyTotp.redirectNow":`ไปใใใญใฐใคใณใใผใธใซ็งปๅ`,"verifyTotp.backToLogin":`ใญใฐใคใณใซๆปใ`,"verifyTotp.useRecoveryCode":`ใชใซใใชใผใณใผใใไฝฟ็จ`,"verifyRecovery.title":`ใชใซใใชใผใณใผใ`,"verifyRecovery.subtitle":`ใชใซใใชใผใณใผใใฎ1ใคใๅ
ฅๅใใฆใใ ใใ`,"verifyRecovery.placeholder":`XXXX-XXXX-XXXX-XXXX`,"verifyRecovery.submit":`็ขบ่ช`,"verifyRecovery.submitting":`็ขบ่ชไธญ...`,"verifyRecovery.error.invalid":`็กๅนใชใชใซใใชใผใณใผใใงใใใใไธๅบฆใ่ฉฆใใใ ใใใ`,"verifyRecovery.error.noCodesAvailable":`ๅฉ็จๅฏ่ฝใชใชใซใใชใผใณใผใใใใใพใใใใในใฆใฎใณใผใใไฝฟ็จๆธใฟใงใใ`,"verifyRecovery.error.expired":`ใปใใทใงใณใๆ้ๅใใงใใๅๅบฆใญใฐใคใณใใฆใใ ใใใ`,"verifyRecovery.backToTotp":`่ช่จผใขใใชใง่ช่จผใใ`,"verifyRecovery.backToLogin":`ใญใฐใคใณใซๆปใ`,"verifyRecovery.redirecting":`{{seconds}}็งๅพใซใญใฐใคใณใใผใธใซ็งปๅใใพใ...`,"verifyRecovery.redirectNow":`ไปใใใญใฐใคใณใใผใธใซ็งปๅ`,"setupTotp.title":`ไบ่ฆ็ด ่ช่จผใฎ่จญๅฎ`,"setupTotp.subtitle":`ใขใซใฆใณใใซใปใญใฅใชใใฃๅฑคใ่ฟฝๅ `,"setupTotp.required":`็ถ่กใใใซใฏไบ่ฆ็ด ่ช่จผใๅฟ
่ฆใงใ`,"setupTotp.qrDescription":`่ช่จผใขใใช๏ผGoogle AuthenticatorใAuthyใชใฉ๏ผใงQRใณใผใใในใญใฃใณใใฆใใ ใใ`,"setupTotp.manualEntry":`ในใญใฃใณใงใใชใๅ ดๅใฏๆๅใงใณใผใใๅ
ฅๅ`,"setupTotp.next":`ๆฌกใธ`,"setupTotp.back":`ๆปใ`,"setupTotp.verify":`็ขบ่ช`,"setupTotp.verifying":`็ขบ่ชไธญ...`,"setupTotp.verifyTitle":`่ช่จผใณใผใใฎ็ขบ่ช`,"setupTotp.verifySubtitle":`่ช่จผใขใใชใฎ6ๆกใฎใณใผใใๅ
ฅๅใใฆใใ ใใ`,"setupTotp.error.invalid":`็กๅนใชใณใผใใงใใใใไธๅบฆใ่ฉฆใใใ ใใใ`,"setupTotp.error.setupFailed":`่จญๅฎใ้ๅงใงใใพใใใงใใใใใไธๅบฆใ่ฉฆใใใ ใใใ`,"setupTotp.error.expired":`ใปใใทใงใณใๆ้ๅใใงใใๅๅบฆใญใฐใคใณใใฆใใ ใใใ`,"setupTotp.error.alreadyEnabled":`ไบ่ฆ็ด ่ช่จผใฏใใงใซๆๅนใซใชใฃใฆใใพใใ`,"setupTotp.redirecting":`{{seconds}}็งๅพใซใญใฐใคใณใใผใธใซ็งปๅใใพใ...`,"setupTotp.redirectNow":`ไปใใใญใฐใคใณใใผใธใซ็งปๅ`,"setupTotp.goToProfile":`ใใญใใฃใผใซใซ็งปๅ`,"setupTotp.retry":`ๅ่ฉฆ่ก`,"setupTotp.backToLogin":`ใญใฐใคใณใซๆปใ`,"setupTotp.recoveryCodes.title":`ใชใซใใชใผใณใผใใไฟๅญใใฆใใ ใใ`,"setupTotp.recoveryCodes.description":`่ช่จผใขใใชใซใขใฏใปในใงใใชใใชใฃใๅ ดๅใใใฎใฏใณใฟใคใ ใชใซใใชใผใณใผใใไฝฟ็จใใฆใญใฐใคใณใงใใพใใๅใณใผใใฏไธๅบฆใฎใฟไฝฟ็จใงใใพใใ`,"setupTotp.recoveryCodes.warning":`ใใใใฎใณใผใใๅฎๅ
จใชๅ ดๆใซไฟ็ฎกใใฆใใ ใใใๅๅบฆ่กจ็คบใใใใจใฏใงใใพใใใ`,"setupTotp.recoveryCodes.copy":`ใในใฆใฎใณใผใใใณใใผ`,"setupTotp.recoveryCodes.copied":`ใณใใผใใพใใ๏ผ`,"setupTotp.recoveryCodes.confirmCheckbox":`ใชใซใใชใผใณใผใใๅฎๅ
จใชๅ ดๆใซไฟๅญใใพใใ`,"setupTotp.recoveryCodes.confirm":`่จญๅฎๅฎไบ`,"verifyPasskey.title":`ใในใญใผ่ช่จผ`,"verifyPasskey.subtitle":`ใในใญใผใไฝฟ็จใใฆใญใฐใคใณใๅฎไบใใฆใใ ใใ`,"verifyPasskey.waiting":`ใใฉใฆใถใพใใฏใใใคในใฎๆ็คบใซๅพใฃใฆใใ ใใ...`,"verifyPasskey.retry":`ๅ่ฉฆ่ก`,"verifyPasskey.error.expired":`ใปใใทใงใณใๆ้ๅใใงใใๅๅบฆใญใฐใคใณใใฆใใ ใใใ`,"verifyPasskey.error.userMismatch":`ใใฎใในใญใผใฏๅฅใฎใขใซใฆใณใใซ็ป้ฒใใใฆใใพใใ`,"verifyPasskey.error.failed":`ใในใญใผ่ช่จผใซๅคฑๆใใพใใใใใไธๅบฆใ่ฉฆใใใ ใใใ`,"verifyPasskey.backToLogin":`ใญใฐใคใณใซๆปใ`,"verify2fa.title":`ไบ่ฆ็ด ่ช่จผ`,"verify2fa.subtitle":`่ช่จผๆนๆณใ้ธๆใใฆใใ ใใ`,"verify2fa.totp.title":`่ช่จผใขใใช`,"verify2fa.totp.description":`ใขใใชใฎ6ๆกใฎใณใผใใไฝฟ็จ`,"verify2fa.passkey.title":`ใในใญใผ`,"verify2fa.passkey.description":`ๆ็ดใ้ก่ช่จผใใพใใฏใปใญใฅใชใใฃใญใผใไฝฟ็จ`,"verify2fa.backToLogin":`ใญใฐใคใณใซๆปใ`,"setup2fa.title":`ไบ่ฆ็ด ่ช่จผใฎ่จญๅฎ`,"setup2fa.subtitle":`ใๅธๆใฎไบ่ฆ็ด ่ช่จผๆนๆณใ้ธๆใใฆใใ ใใ`,"setup2fa.required":`็ถ่กใใใซใฏไบ่ฆ็ด ่ช่จผใๅฟ
่ฆใงใ`,"setup2fa.totp.title":`่ช่จผใขใใช`,"setup2fa.totp.description":`Google AuthenticatorใAuthyใชใฉใไฝฟ็จ`,"setup2fa.passkey.title":`ใในใญใผ`,"setup2fa.passkey.description":`ๆ็ดใ้ก่ช่จผใใพใใฏใปใญใฅใชใใฃใญใผใไฝฟ็จ`,"setup2fa.backToLogin":`ใญใฐใคใณใซๆปใ`,"setupPasskey.title":`ใในใญใผใฎ่จญๅฎ`,"setupPasskey.subtitle":`ๅฎๅ
จใช่ช่จผใฎใใใซใในใญใผใ็ป้ฒ`,"setupPasskey.required":`็ถ่กใใใซใฏไบ่ฆ็ด ่ช่จผใๅฟ
่ฆใงใ`,"setupPasskey.description":`ใในใญใผใไฝฟ็จใใใจใๆ็ดใ้ก่ช่จผใใพใใฏ็ป้ขใญใใฏใงๅฎๅ
จใซใญใฐใคใณใงใใพใใ`,"setupPasskey.name.label":`ใในใญใผๅ๏ผไปปๆ๏ผ`,"setupPasskey.name.placeholder":`ไพ๏ผMacBook ProใiPhone`,"setupPasskey.name.hint":`ๅพใง่ญๅฅใงใใใใใซใในใญใผใซๅๅใไปใใฆใใ ใใ`,"setupPasskey.continue":`็ถใใ`,"setupPasskey.registering":`็ป้ฒไธญ...`,"setupPasskey.waiting":`ใใฉใฆใถใพใใฏใใใคในใฎๆ็คบใซๅพใฃใฆใใ ใใ...`,"setupPasskey.retry":`ๅ่ฉฆ่ก`,"setupPasskey.error.failed":`ใในใญใผใฎ็ป้ฒใซๅคฑๆใใพใใใใใไธๅบฆใ่ฉฆใใใ ใใใ`,"setupPasskey.error.cancelled":`ใในใญใผใฎ็ป้ฒใใญใฃใณใปใซใใใพใใใ`,"setupPasskey.backToLogin":`ใญใฐใคใณใซๆปใ`,"terms.title":`ๅฉ็จ่ฆ็ด`,"terms.required":`ๅฟ
้ `,"terms.optional":`ไปปๆ`,"terms.agreeAll":`ใในใฆใซๅๆ`,"terms.agreeAllOptionalIncluded":`(ไปปๆ่ฆ็ดใๅซใ)`,"terms.versionUpdated":`่ฆ็ดใๆดๆฐใใใพใใใๆฐใใใใผใธใงใณใซๅๆใใฆใใ ใใใ`,"terms.submit":`ๅๆใใฆ็ถใใ`,"terms.error.title":`ใจใฉใผ`,"terms.error.message":`่ฆ็ดๆ
ๅ ฑใ่ชญใฟ่พผใใพใใใงใใใ`,"terms.error.back":`ๆปใ`,"terms.error.submitFailed":`ๅๆใฎ้ไฟกใซๅคฑๆใใพใใใใใไธๅบฆใ่ฉฆใใใ ใใใ`,"terms.view":`่กจ็คบ`,"admin.users.includeDeleted":`ๅ้คๆธใฟใๅซใใ`,"admin.users.search":`ๆค็ดข`,"admin.users.actions":`ๆไฝ`,"admin.users.edit":`็ทจ้`,"admin.users.delete":`ๅ้ค`,"admin.users.editUser":`{{email}} ใ็ทจ้`,"admin.users.deleteUser":`{{email}} ใๅ้ค`,"admin.users.readonly":`่ชญใฟๅใๅฐ็จ`,"admin.users.password":`ใในใฏใผใ`,"admin.users.editTitle":`ใฆใผใถใผ็ทจ้`,"admin.users.createSubmit":`ไฝๆ`,"admin.users.save":`ๅคๆดใไฟๅญ`,"admin.users.cancel":`ใญใฃใณใปใซ`,"admin.users.deleteTitle":`{{email}} ใๅ้คใใพใใ?`,"admin.users.deleteDescription":`ใใผใฟใใผใน็ฎก็ใฆใผใถใผใsoft-deleteใใไปฅๅพใฎใญใฐใคใณใใใญใใฏใใพใใ`,"admin.users.deleteConfirm":`ใฆใผใถใผใๅ้ค`,"admin.users.previous":`ๅใธ`,"admin.users.next":`ๆฌกใธ`,"admin.users.page":`{{page}}ใใผใธ`,"admin.users.filter.all":`ใในใฆ`,"admin.users.filter.database":`DB`,"admin.users.filter.config":`Config`,"admin.users.filter.admins":`็ฎก็่
`,"admin.users.clearFilters":`ใใฃใซใฟใผใใฏใชใข`,"admin.users.pageSize":`่กๆฐ`,"admin.users.showingRange":`{{total}}ไปถไธญ {{from}}โ{{to}} ใ่กจ็คบ`,"admin.users.emptyFiltered":`็พๅจใฎใใฃใซใฟใผใซไธ่ดใใใฆใผใถใผใฏใใใพใใใ`,"admin.users.createdNotice":`{{email}} ใไฝๆใใพใใใ`,"admin.users.updatedNotice":`{{email}} ใๆดๆฐใใพใใใ`,"admin.users.deletedNotice":`{{email}} ใๅ้คใใพใใใ`,"admin.users.operationFailed":`ๆไฝใซๅคฑๆใใพใใใๅคใ็ขบ่ชใใฆๅ่ฉฆ่กใใฆใใ ใใใ`,"admin.users.createHint":`ใใผใฟใใผใน็ฎก็ใฆใผใถใผใไฝๆใใพใใConfigใฆใผใถใผใฏ่ชญใฟๅใๅฐ็จใฎใพใพใงใใ`,"admin.users.editHint":`ใใผใฟใใผใน็ฎก็ใฆใผใถใผใฎใขใซใฆใณใใกใฟใใผใฟใๆดๆฐใใพใใ`,"admin.users.deleteWarning":`ใใใฏ็ ดๅฃ็ใช็ฎก็่
ๆไฝใงใใ`,"common.on":`ใชใณ`,"admin.nav.open":`็ฎก็ใใใฒใผใทใงใณใ้ใ`,"admin.nav.close":`็ฎก็ใใใฒใผใทใงใณใ้ใใ`,"admin.breadcrumbLabel":`็ฎก็ใใณใใ`,"admin.console":`็ฎก็ใณใณใฝใผใซ`,"admin.livePolicy":`ใฉใคใใใชใทใผ`,"admin.roleBadge":`role: {{role}}`,"admin.metrics.totalUsersHint":`็ฎก็ๅฏพ่ฑก ID`,"admin.metrics.adminsHint":`็นๆจฉใขใซใฆใณใ`,"admin.metrics.databaseUsersHint":`ๅคๆดๅฏ่ฝใชใฌใณใผใ`,"admin.identityGraph":`ID ใฐใฉใ`,"admin.policy.description":`config ใฝใผในใฏ่ชคๅคๆดใใไฟ่ญทใใใฆใใพใใ`,"admin.users.verifiedLabel":`ๆค่จผๆธใฟ:`,"admin.users.directoryEyebrow":`ใใฃใฌใฏใใช`,"admin.users.queryChip":`query: {{query}}`,"admin.users.currentPage":`็พๅจใฎใใผใธ`,"admin.disabled":`็ฎก็ใณใณใฝใผใซใ็กๅนใงใ`,"admin.disabledDescription":`ใใฎใใใญใคใงใฏ็ฎก็ใณใณใฝใผใซใ็กๅนใซใชใฃใฆใใพใใ`,"admin.users.secondFactorTotp":`TOTP`,"admin.users.secondFactorPasskey":`ใในใญใผ {{count}} ไปถ`,"admin.users.roleUser":`ใฆใผใถใผ`,"admin.users.roleAdmin":`็ฎก็่
`,"admin.users.secondFactorPasskeys":`ใในใญใผ {{count}} ไปถ`,"common.close":`้ใใ`,"admin.mobileTitle":`TinyAuth ็ฎก็`,"admin.users.sourceDatabase":`ใใผใฟใใผใน`,"admin.users.sourceConfig":`่จญๅฎ`,"admin.users.activeOnPage":`็พๅจใฎใใผใธใฎๆๅน`,"admin.users.configOnPage":`็พๅจใฎใใผใธใฎ่จญๅฎใฆใผใถใผ`,"admin.users.databaseOnPage":`็พๅจใฎใใผใธใฎDBใฆใผใถใผ`},gr={"common.language.auto":`์๋`,"common.language.select":`์ธ์ด ์ ํ`,"common.theme.auto":`์๋`,"common.theme.dark":`๋คํฌ`,"common.theme.light":`๋ผ์ดํธ`,"common.theme.select":`ํ
๋ง ์ ํ`,"common.yes":`์`,"common.no":`์๋์ค`,"common.none":`์์`,"login.email.placeholder":`hello@example.com`,"login.error.failed":`๋ก๊ทธ์ธ์ ์คํจํ์ต๋๋ค. ์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ํ์ธํด์ฃผ์ธ์.`,"login.password.placeholder":`๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์`,"login.submit":`๋ก๊ทธ์ธ`,"login.submitting":`๋ก๊ทธ์ธ ์ค...`,"login.title":`Welcome back!`,"login.link.register":`ํ์๊ฐ์
`,"login.link.forgotPassword":`๋น๋ฐ๋ฒํธ๋ฅผ ์์ผ์
จ๋์?`,"login.selectMethod.subtitle":``,"login.method.password":`์ด๋ฉ์ผ`,"login.method.passkey":`ํจ์คํค`,"login.password.backToMethods":`๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ๋ก๊ทธ์ธ`,"login.footer.noAccount":`๊ณ์ ์ด ์์ผ์ ๊ฐ์?`,"profile.email.label":`์ด๋ฉ์ผ`,"profile.id.label":`์ฌ์ฉ์ ID`,"profile.logout":`๋ก๊ทธ์์`,"profile.title":`๋ด ์ ๋ณด`,"profile.account.title":`๊ณ์ ์ ๋ณด`,"profile.account.description":`๊ธฐ๋ณธ ๊ณ์ ์ ๋ณด์
๋๋ค`,"profile.security.title":`๋ณด์`,"profile.security.description":`๋ณด์ ์ค์ ์ ๊ด๋ฆฌํ์ธ์`,"admin.eyebrow":`๊ด๋ฆฌ์`,"admin.dashboardTitle":`๊ด๋ฆฌ์ ๋์๋ณด๋`,"admin.dashboardDescription":`TinyAuth ์ฌ์ฉ์์ ํด๋ผ์ด์ธํธ๋ฅผ ํ ๊ณณ์์ ๊ด๋ฆฌํฉ๋๋ค.`,"admin.readonlyNotice":`config์ ์ ์ธ๋ ์ฌ์ฉ์์ ํด๋ผ์ด์ธํธ๋ ์ฝ๊ธฐ ์ ์ฉ์
๋๋ค.`,"admin.accessRequired":`๊ด๋ฆฌ์ ๊ถํ ํ์`,"admin.accessRequiredDescription":`์ด ๊ณ์ ์๋ ๊ด๋ฆฌ์ ์ฝ์ ์ ๊ทผ ๊ถํ์ด ์์ต๋๋ค.`,"admin.nav.dashboard":`๋์๋ณด๋`,"admin.nav.users":`์ฌ์ฉ์`,"admin.signedInAs":`๋ก๊ทธ์ธ ๊ณ์ `,"admin.commandPlaceholder":`์ฌ์ฉ์, ํด๋ผ์ด์ธํธ, ์ ์ฑ
๊ฒ์...`,"admin.environment":`๋ผ์ด๋ธ`,"admin.metrics.totalUsers":`์ ์ฒด ์ฌ์ฉ์`,"admin.metrics.admins":`๊ด๋ฆฌ์`,"admin.metrics.configUsers":`Config ์ฌ์ฉ์`,"admin.metrics.databaseUsers":`DB ์ฌ์ฉ์`,"admin.policy.title":`์ ์ฑ
`,"admin.policy.heading":`๋ณดํธ ์ ์ฑ
ํ์ฑํ๋จ`,"admin.policy.configReadonly":`Config ์ฝ๊ธฐ ์ ์ฉ`,"admin.backToDashboard":`๋์๋ณด๋๋ก ๋์๊ฐ๊ธฐ`,"admin.users.title":`์ฌ์ฉ์`,"admin.users.description":`DB ๊ด๋ฆฌ ์ฌ์ฉ์๋ฅผ ๊ด๋ฆฌํ๊ณ config ๊ด๋ฆฌ ์ฌ์ฉ์๋ฅผ ํ์ธํฉ๋๋ค.`,"admin.users.directory":`์ฌ์ฉ์ ๋๋ ํฐ๋ฆฌ`,"admin.users.searchPlaceholder":`์ด๋ฉ์ผ ๋๋ ID๋ก ์ฌ์ฉ์ ๊ฒ์`,"admin.users.create":`์ฌ์ฉ์ ์์ฑ`,"admin.users.role":`์ญํ `,"admin.users.source":`์์ค`,"admin.users.emailVerified":`์ด๋ฉ์ผ ์ธ์ฆ`,"admin.users.secondFactor":`2FA`,"admin.users.status":`์ํ`,"admin.users.active":`ํ์ฑ`,"admin.users.deleted":`์ญ์ ๋จ`,"admin.users.total":`์ฌ์ฉ์ {{count}}๋ช
`,"admin.users.open":`์ฌ์ฉ์ ์ด๊ธฐ`,"register.email.placeholder":`hello@example.com`,"register.error.emailExists":`์ด๋ฏธ ์กด์ฌํ๋ ์ด๋ฉ์ผ์
๋๋ค`,"register.error.emailNotAllowed":`์ด ์ด๋ฉ์ผ ์ฃผ์๋ก๋ ํ์๊ฐ์
์ด ํ์ฉ๋์ง ์์ต๋๋ค.`,"register.error.registrationDisabled":`ํ์ฌ ํ์๊ฐ์
์ด ๋นํ์ฑํ๋์ด ์์ต๋๋ค.`,"register.link.login":`๋ก๊ทธ์ธ`,"register.footer.haveAccount":`์ด๋ฏธ ๊ณ์ ์ด ์์ผ์ ๊ฐ์?`,"register.password.placeholder":`๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์`,"register.submit":`ํ์๊ฐ์
`,"register.submitting":`ํ์๊ฐ์
์ค...`,"register.subtitle":`์ ๊ณ์ ์ ๋ง๋ค์ด ์์ํ์ธ์`,"register.title":`Create account`,"validation.email.invalid":`์ฌ๋ฐ๋ฅธ ์ด๋ฉ์ผ ํ์์ด ์๋๋๋ค`,"validation.password.max":`๋น๋ฐ๋ฒํธ๋ ์ต๋ {{count}}์๊น์ง ๊ฐ๋ฅํฉ๋๋ค`,"validation.password.min":`๋น๋ฐ๋ฒํธ๋ ์ต์ {{count}}์ ์ด์์ด์ด์ผ ํฉ๋๋ค`,"validation.password.required":`๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํด์ฃผ์ธ์`,"validation.token.required":`์ธ์ฆ ํ ํฐ์ ์
๋ ฅํด์ฃผ์ธ์`,"validation.confirmPassword.required":`๋น๋ฐ๋ฒํธ ํ์ธ์ ์
๋ ฅํด์ฃผ์ธ์`,"validation.confirmPassword.mismatch":`๋น๋ฐ๋ฒํธ๊ฐ ์ผ์นํ์ง ์์ต๋๋ค`,"validation.confirmText.mismatch":`์
๋ ฅํ ํ
์คํธ๊ฐ ์ผ์นํ์ง ์์ต๋๋ค`,"validation.terms.required":`ํ์ ์ฝ๊ด์ ๋์ํด์ฃผ์ธ์`,"register.success.subtitle":`์ด๋ฉ์ผ ์ธ์ฆ ๋งํฌ๋ฅผ ๋ณด๋์ต๋๋ค`,"register.success.description":`{{email}}๋ก ์ ์ก๋ ์ด๋ฉ์ผ์ ํ์ธํ์ฌ ๊ณ์ ์ ์ธ์ฆํด์ฃผ์ธ์.`,"verifyEmail.title":`์ด๋ฉ์ผ ์ธ์ฆ`,"verifyEmail.subtitle":`์๋์ ์ธ์ฆ ํ ํฐ์ ์
๋ ฅํ์ธ์`,"verifyEmail.token.placeholder":`์ด๋ฉ์ผ๋ก ๋ฐ์ ํ ํฐ์ ์
๋ ฅํ์ธ์`,"verifyEmail.submit":`์ธ์ฆํ๊ธฐ`,"verifyEmail.submitting":`์ธ์ฆ ์ค...`,"verifyEmail.resend":`์ธ์ฆ ์ด๋ฉ์ผ ์ฌ์ ์ก`,"verifyEmail.resending":`์ฌ์ ์ก ์ค...`,"verifyEmail.success.title":`์ธ์ฆ ์๋ฃ!`,"verifyEmail.success.subtitle":`์ด๋ฉ์ผ์ด ์ฑ๊ณต์ ์ผ๋ก ์ธ์ฆ๋์์ต๋๋ค`,"verifyEmail.success.description":`์ด์ ๋ชจ๋ ๊ธฐ๋ฅ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.`,"verifyEmail.success.goToProfile":`ํ๋กํ๋ก ์ด๋`,"verifyEmail.error.invalidToken":`์ ํจํ์ง ์๊ฑฐ๋ ๋ง๋ฃ๋ ํ ํฐ์
๋๋ค`,"verifyEmail.resendSuccess":`์ธ์ฆ ์ด๋ฉ์ผ์ด ์ฌ์ ์ก๋์์ต๋๋ค`,"forgotPassword.title":`๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ`,"forgotPassword.subtitle":`๋น๋ฐ๋ฒํธ ์ฌ์ค์ ๋งํฌ๋ฅผ ๋ฐ์ ์ด๋ฉ์ผ์ ์
๋ ฅํ์ธ์`,"forgotPassword.email.placeholder":`hello@example.com`,"forgotPassword.submit":`์ฌ์ค์ ๋งํฌ ๋ณด๋ด๊ธฐ`,"forgotPassword.submitting":`์ ์ก ์ค...`,"forgotPassword.backToLogin":`๋ก๊ทธ์ธ์ผ๋ก ๋์๊ฐ๊ธฐ`,"forgotPassword.footer.rememberedPassword":`๋น๋ฐ๋ฒํธ๊ฐ ๊ธฐ์ต๋์
จ๋์?`,"forgotPassword.success.title":`์ด๋ฉ์ผ ์ ์ก ์๋ฃ!`,"forgotPassword.success.subtitle":`๋ฐ์ ํธ์งํจ์ ํ์ธํ์ธ์`,"forgotPassword.success.description":`{{email}}์ ํด๋นํ๋ ๊ณ์ ์ด ์กด์ฌํ๋ฉด ๋น๋ฐ๋ฒํธ ์ฌ์ค์ ๋งํฌ๊ฐ ์ ์ก๋ฉ๋๋ค.`,"forgotPassword.success.checkSpam":`์ด๋ฉ์ผ์ด ๋ณด์ด์ง ์์ผ๋ฉด ์คํธ ํด๋๋ฅผ ํ์ธํด์ฃผ์ธ์.`,"forgotPassword.error.notEditable":`์ด ๊ณ์ ์ ์์ ํ ์ ์์ต๋๋ค`,"resetPassword.title":`๋น๋ฐ๋ฒํธ ์ฌ์ค์ `,"resetPassword.subtitle":`์ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์`,"resetPassword.token.placeholder":`์ด๋ฉ์ผ๋ก ๋ฐ์ ํ ํฐ์ ์
๋ ฅํ์ธ์`,"resetPassword.password.placeholder":`์ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์`,"resetPassword.confirmPassword.placeholder":`์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ค์ ์
๋ ฅํ์ธ์`,"resetPassword.submit":`๋น๋ฐ๋ฒํธ ์ฌ์ค์ `,"resetPassword.submitting":`์ฌ์ค์ ์ค...`,"resetPassword.backToLogin":`๋ก๊ทธ์ธ์ผ๋ก ๋์๊ฐ๊ธฐ`,"resetPassword.success.title":`๋น๋ฐ๋ฒํธ ์ฌ์ค์ ์๋ฃ!`,"resetPassword.success.subtitle":`๋น๋ฐ๋ฒํธ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค`,"resetPassword.success.description":`์ ๋น๋ฐ๋ฒํธ๋ก ๋ก๊ทธ์ธํ ์ ์์ต๋๋ค.`,"resetPassword.success.goToLogin":`๋ก๊ทธ์ธ์ผ๋ก ์ด๋`,"resetPassword.error.invalidToken":`์ ํจํ์ง ์๊ฑฐ๋ ๋ง๋ฃ๋ ํ ํฐ์
๋๋ค`,"resetPassword.error.notEditable":`์ด ๊ณ์ ์ ์์ ํ ์ ์์ต๋๋ค`,"consent.title":`๊ถํ ์์ฒญ`,"consent.subtitle":`{{app}}์์ ๊ณ์ ์ ๋ํ ์ ๊ทผ์ ์์ฒญํฉ๋๋ค`,"consent.loggedInAs":`๋ก๊ทธ์ธ ๊ณ์ `,"consent.permissions.title":`์ด ์ ํ๋ฆฌ์ผ์ด์
์ ๋ค์์ ์ํํ ์ ์์ต๋๋ค:`,"consent.allow":`ํ์ฉ`,"consent.deny":`๊ฑฐ๋ถ`,"consent.error.title":`์ค๋ฅ`,"consent.error.message":`๊ถํ ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ฌ ์ ์์ต๋๋ค. ํด๋ผ์ด์ธํธ๊ฐ ์ ํจํ์ง ์์ ์ ์์ต๋๋ค.`,"consent.error.back":`๋์๊ฐ๊ธฐ`,"consent.scope.openid":`๊ณ ์ ์ฌ์ฉ์ ์๋ณ์์ ์ ๊ทผ`,"consent.scope.profile":`ํ๋กํ ์ ๋ณด์ ์ ๊ทผ`,"consent.scope.email":`์ด๋ฉ์ผ ์ฃผ์์ ์ ๊ทผ`,"consent.scope.address":`์ฃผ์ ์ ๋ณด์ ์ ๊ทผ`,"consent.scope.phone":`์ ํ๋ฒํธ์ ์ ๊ทผ`,"consent.scope.offline_access":`์คํ๋ผ์ธ ์ ๊ทผ ์ ์ง`,"oauth.error.failed":`OAuth ๋ก๊ทธ์ธ์ ์คํจํ์ต๋๋ค. ๋ค์ ์๋ํด์ฃผ์ธ์.`,"oauth.error.accessDenied":`์ฌ์ฉ์๊ฐ ๊ถํ ์์ฒญ์ ๊ฑฐ๋ถํ์ต๋๋ค.`,"oauth.error.temporarilyUnavailable":`์๋น์ค๊ฐ ์ผ์์ ์ผ๋ก ์ด์ฉ ๋ถ๊ฐํฉ๋๋ค. ์ ์ ํ ๋ค์ ์๋ํด์ฃผ์ธ์.`,"oauth.error.serverError":`์ธ์ฆ ์๋ฒ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ์ ์ ํ ๋ค์ ์๋ํด์ฃผ์ธ์.`,"oauth.error.registrationEmailNotAllowed":`์ด ์ด๋ฉ์ผ ์ฃผ์๋ก๋ ํ์๊ฐ์
์ด ํ์ฉ๋์ง ์์ต๋๋ค.`,"profile.linkedAccounts.title":`์ฐ๊ฒฐ๋ ๊ณ์ `,"profile.linkedAccounts.description":`์ธ๋ถ ์๋น์ค์ ๊ณ์ ์ ์ฐ๊ฒฐํ์ธ์`,"profile.linkedAccounts.link":`์ฐ๊ฒฐ`,"profile.linkedAccounts.unlink":`์ฐ๊ฒฐ ํด์ `,"profile.linkedAccounts.unlinking":`์ฐ๊ฒฐ ํด์ ์ค...`,"profile.linkedAccounts.unlinkError":`์ฐ๊ฒฐ์ ํด์ ํ ์ ์์ต๋๋ค. ์ต์ ํ๋์ ๋ก๊ทธ์ธ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค.`,"profile.linkedAccounts.unlinkModal.title":`๊ณ์ ์ฐ๊ฒฐ ํด์ `,"profile.linkedAccounts.unlinkModal.description":`{{provider}} ๊ณ์ ์ฐ๊ฒฐ์ ํด์ ํฉ๋๋ค.`,"profile.linkedAccounts.unlinkModal.warning":`{{provider}}๋ก ๋ ์ด์ ๋ก๊ทธ์ธํ ์ ์๊ฒ ๋ฉ๋๋ค. ๋ค๋ฅธ ๋ก๊ทธ์ธ ๋ฐฉ๋ฒ์ด ์๋์ง ํ์ธํ์ธ์.`,"profile.linkedAccounts.unlinkModal.cancel":`์ทจ์`,"profile.linkedAccounts.connected":`์ฐ๊ฒฐ๋จ`,"profile.linkedAccounts.notConnected":`์ฐ๊ฒฐ๋์ง ์์`,"error.title":`์ค๋ฅ`,"error.subtitle":`๋ฌธ์ ๊ฐ ๋ฐ์ํ์ต๋๋ค`,"error.defaultMessage":`์์์น ๋ชปํ ์ค๋ฅ๊ฐ ๋ฐ์ํ์ต๋๋ค. ๋์ค์ ๋ค์ ์๋ํด์ฃผ์ธ์.`,"error.codeLabel":`์ค๋ฅ ์ฝ๋`,"error.goToLogin":`๋ก๊ทธ์ธ์ผ๋ก ์ด๋`,"error.goBack":`๋ค๋ก ๊ฐ๊ธฐ`,"error.footer.needHelp":`๋์์ด ํ์ํ์ ๊ฐ์?`,"error.footer.contactSupport":`์ง์ํ ๋ฌธ์`,"error.sessionExpired":`์ธ์
์ด ๋ง๋ฃ๋์์ต๋๋ค. ๋ค์ ๋ก๊ทธ์ธํด์ฃผ์ธ์.`,"error.retry":`๋ค์ ์๋`,"profile.password.title":`๋น๋ฐ๋ฒํธ`,"profile.password.status.set":`๋น๋ฐ๋ฒํธ๊ฐ ์ค์ ๋์ด ์์ต๋๋ค`,"profile.password.status.notSet":`๋น๋ฐ๋ฒํธ๊ฐ ์ค์ ๋์ด ์์ง ์์ต๋๋ค`,"profile.password.set":`๋น๋ฐ๋ฒํธ ์ค์ `,"profile.password.change":`๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ`,"profile.password.remove":`๋น๋ฐ๋ฒํธ ์ญ์ `,"profile.password.setModal.title":`๋น๋ฐ๋ฒํธ ์ค์ `,"profile.password.setModal.description":`์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ๋ก ๋ก๊ทธ์ธํ ์ ์๋๋ก ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํ์ธ์.`,"profile.password.setModal.newPassword":`์ ๋น๋ฐ๋ฒํธ`,"profile.password.setModal.newPasswordPlaceholder":`์ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์`,"profile.password.setModal.confirmPassword":`๋น๋ฐ๋ฒํธ ํ์ธ`,"profile.password.setModal.confirmPasswordPlaceholder":`์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ค์ ์
๋ ฅํ์ธ์`,"profile.password.setModal.submit":`๋น๋ฐ๋ฒํธ ์ค์ `,"profile.password.setModal.submitting":`์ค์ ์ค...`,"profile.password.setModal.cancel":`์ทจ์`,"profile.password.setModal.error":`๋น๋ฐ๋ฒํธ ์ค์ ์ ์คํจํ์ต๋๋ค`,"profile.password.changeModal.title":`๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ`,"profile.password.changeModal.description":`ํ์ฌ ๋น๋ฐ๋ฒํธ๋ฅผ ํ์ธํ ํ ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํฉ๋๋ค.`,"profile.password.changeModal.currentPassword":`ํ์ฌ ๋น๋ฐ๋ฒํธ`,"profile.password.changeModal.currentPasswordPlaceholder":`ํ์ฌ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์`,"profile.password.changeModal.newPassword":`์ ๋น๋ฐ๋ฒํธ`,"profile.password.changeModal.newPasswordPlaceholder":`์ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์`,"profile.password.changeModal.confirmPassword":`๋น๋ฐ๋ฒํธ ํ์ธ`,"profile.password.changeModal.confirmPasswordPlaceholder":`์ ๋น๋ฐ๋ฒํธ๋ฅผ ๋ค์ ์
๋ ฅํ์ธ์`,"profile.password.changeModal.submit":`๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ`,"profile.password.changeModal.submitting":`๋ณ๊ฒฝ ์ค...`,"profile.password.changeModal.cancel":`์ทจ์`,"profile.password.changeModal.error":`๋น๋ฐ๋ฒํธ ๋ณ๊ฒฝ์ ์คํจํ์ต๋๋ค`,"profile.password.changeModal.invalidCurrent":`ํ์ฌ ๋น๋ฐ๋ฒํธ๊ฐ ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค`,"profile.password.removeModal.title":`๋น๋ฐ๋ฒํธ ์ญ์ `,"profile.password.removeModal.description":`๋น๋ฐ๋ฒํธ๋ฅผ ์ญ์ ํ๋ฉด ์ด๋ฉ์ผ๊ณผ ๋น๋ฐ๋ฒํธ๋ก ๋ก๊ทธ์ธํ ์ ์๊ฒ ๋ฉ๋๋ค. ์ฐ๊ฒฐ๋ OAuth ๊ณ์ ์ผ๋ก๋ง ๋ก๊ทธ์ธํ ์ ์์ต๋๋ค.`,"profile.password.removeModal.currentPassword":`ํ์ฌ ๋น๋ฐ๋ฒํธ`,"profile.password.removeModal.currentPasswordPlaceholder":`ํ์ฌ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ์ธ์`,"profile.password.removeModal.submit":`๋น๋ฐ๋ฒํธ ์ญ์ `,"profile.password.removeModal.submitting":`์ญ์ ์ค...`,"profile.password.removeModal.cancel":`์ทจ์`,"profile.password.removeModal.error":`๋น๋ฐ๋ฒํธ ์ญ์ ์ ์คํจํ์ต๋๋ค`,"profile.password.removeModal.invalidCurrent":`ํ์ฌ ๋น๋ฐ๋ฒํธ๊ฐ ์ฌ๋ฐ๋ฅด์ง ์์ต๋๋ค`,"profile.password.removeModal.noOAuth":`์ต์ ํ๋์ OAuth ๊ณ์ ์ด ์ฐ๊ฒฐ๋์ด ์์ด์ผ ํฉ๋๋ค`,"profile.password.removeModal.noOAuthWith2FA":`2FA๊ฐ ์ค์ ๋ ์ํ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค. OAuth ๊ณ์ ์ ๋จผ์ ์ฐ๊ฒฐํ๊ฑฐ๋, 2FA๋ฅผ ๋นํ์ฑํํ ํ ๋น๋ฐ๋ฒํธ๋ฅผ ์ญ์ ํ์ธ์.`,"profile.password.removeDisabledReason":`2FA๊ฐ ์ค์ ๋ ๊ฒฝ์ฐ ๋น๋ฐ๋ฒํธ๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค. OAuth ๊ณ์ ์ ๋จผ์ ์ฐ๊ฒฐํด์ฃผ์ธ์.`,"profile.password.configManaged":`์ด ๊ณ์ ์ ์ค์ ํ์ผ๋ก ๊ด๋ฆฌ๋์ด ๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค`,"profile.totp.title":`2๋จ๊ณ ์ธ์ฆ`,"profile.totp.status.enabled":`2๋จ๊ณ ์ธ์ฆ์ด ํ์ฑํ๋์ด ์์ต๋๋ค`,"profile.totp.status.recoveryCodesMissing":`๋ณต๊ตฌ ์ฝ๋๋ฅผ ๋ค์ ์์ฑํด์ผ ํฉ๋๋ค`,"profile.totp.status.disabled":`2๋จ๊ณ ์ธ์ฆ์ด ํ์ฑํ๋์ด ์์ง ์์ต๋๋ค`,"profile.totp.enable":`ํ์ฑํ`,"profile.totp.disable":`๋นํ์ฑํ`,"profile.totp.regenerate":`์ฝ๋ ์ฌ์์ฑ`,"profile.totp.recoveryCodesMissing":`๊ธฐ์กด ๋ณต๊ตฌ ์ฝ๋๋ ๋ ์ด์ ์ ํจํ์ง ์์ต๋๋ค. ์ง๊ธ ์ ๋ณต๊ตฌ ์ฝ๋๋ฅผ ์์ฑํ๊ณ ์์ ํ ๊ณณ์ ๋ณด๊ดํ์ธ์.`,"profile.totp.setupModal.title":`2๋จ๊ณ ์ธ์ฆ ์ค์ `,"profile.totp.setupModal.requiredDescription":`๊ณ์ํ๋ ค๋ฉด 2๋จ๊ณ ์ธ์ฆ(TOTP) ๋๋ ํจ์คํค๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค.`,"profile.totp.setupModal.setupError":`์ค์ ์ ์์ํ์ง ๋ชปํ์ต๋๋ค. ๋ค์ ์๋ํด์ฃผ์ธ์.`,"profile.totp.setupModal.retry":`๋ค์ ์๋`,"profile.totp.setupModal.cancel":`์ทจ์`,"profile.totp.setupModal.switchToPasskey":`ํจ์คํค ์ฌ์ฉํ๊ธฐ`,"profile.totp.disableModal.title":`2๋จ๊ณ ์ธ์ฆ ๋นํ์ฑํ`,"profile.totp.disableModal.description":`2๋จ๊ณ ์ธ์ฆ์ ๋นํ์ฑํํ๋ ค๋ฉด ํ์ฌ ์ธ์ฆ ์ฝ๋๋ฅผ ์
๋ ฅํ์ธ์.`,"profile.totp.disableModal.warning":`2๋จ๊ณ ์ธ์ฆ์ ๋นํ์ฑํํ๋ฉด ๊ณ์ ๋ณด์์ด ์ฝํด์ง๋๋ค.`,"profile.totp.disableModal.codeLabel":`์ธ์ฆ ์ฝ๋`,"profile.totp.disableModal.cancel":`์ทจ์`,"profile.totp.disableModal.disable":`๋นํ์ฑํ`,"profile.totp.disableModal.disabling":`๋นํ์ฑํ ์ค...`,"profile.totp.disableModal.error":`์๋ชป๋ ์ฝ๋์
๋๋ค. ๋ค์ ์๋ํด์ฃผ์ธ์.`,"profile.totp.disableModal.cannotRemoveLastSecondFactor":`TOTP๋ฅผ ๋นํ์ฑํํ ์ ์์ต๋๋ค. ์ต์ ํ๋์ 2๋จ๊ณ ์ธ์ฆ ๋ฐฉ๋ฒ(TOTP ๋๋ ํจ์คํค)์ด ํ์ํฉ๋๋ค.`,"profile.totp.regenerateModal.title":`๋ณต๊ตฌ ์ฝ๋ ์ฌ์์ฑ`,"profile.totp.regenerateModal.description":`๊ธฐ์กด ๋ณต๊ตฌ ์ฝ๋๋ฅผ ๋ชจ๋ ๊ต์ฒดํ๋ ค๋ฉด ํ์ฌ ์ธ์ฆ ์ฝ๋๋ฅผ ์
๋ ฅํ์ธ์.`,"profile.totp.regenerateModal.submit":`๋ณต๊ตฌ ์ฝ๋ ์์ฑ`,"profile.totp.regenerateModal.submitting":`์์ฑ ์ค...`,"profile.totp.regenerateModal.error":`์๋ชป๋ ์ฝ๋์
๋๋ค. ๋ค์ ์๋ํด์ฃผ์ธ์.`,"profile.totp.regenerateModal.unexpectedError":`์ง๊ธ์ ๋ณต๊ตฌ ์ฝ๋๋ฅผ ๋ค์ ์์ฑํ ์ ์์ต๋๋ค. ๋ค์ ์๋ํด์ฃผ์ธ์.`,"profile.totp.regenerateModal.recoveryTitle":`์ ๋ณต๊ตฌ ์ฝ๋`,"profile.totp.regenerateModal.recoveryDescription":`์ด ์ฝ๋๋ ํ ๋ฒ๋ง ํ์๋ฉ๋๋ค. ์ด ์ฐฝ์ ๋ซ๊ธฐ ์ ์ ์์ ํ ๊ณณ์ ๋ณด๊ดํ์ธ์.`,"validation.totp.length":`์ฝ๋๋ 6์๋ฆฌ์ฌ์ผ ํฉ๋๋ค`,"validation.totp.digits":`์ฝ๋๋ ์ซ์๋ง ํฌํจํด์ผ ํฉ๋๋ค`,"validation.passkey.name.max":`ํจ์คํค ์ด๋ฆ์ 100์ ์ดํ์ฌ์ผ ํฉ๋๋ค`,"validation.passkey.name.required":`ํจ์คํค ์ด๋ฆ์ ์
๋ ฅํด์ฃผ์ธ์`,"profile.passkey.title":`ํจ์คํค`,"profile.passkey.status.enabled":`{{count}}๊ฐ์ ํจ์คํค๊ฐ ๋ฑ๋ก๋์ด ์์ต๋๋ค`,"profile.passkey.status.disabled":`๋ฑ๋ก๋ ํจ์คํค๊ฐ ์์ต๋๋ค`,"profile.passkey.add":`ํจ์คํค ์ถ๊ฐ`,"profile.passkey.manage":`๊ด๋ฆฌ`,"profile.passkey.setupModal.title":`ํจ์คํค ์ถ๊ฐ`,"profile.passkey.setupModal.requiredDescription":`๊ณ์ํ๋ ค๋ฉด ํจ์คํค ๋๋ 2๋จ๊ณ ์ธ์ฆ(TOTP)์ ์ค์ ํด์ผ ํฉ๋๋ค.`,"profile.passkey.setupModal.description":`ํจ์คํค๋ฅผ ์ฌ์ฉํ๋ฉด ์ง๋ฌธ, ์ผ๊ตด ์ธ์ ๋๋ ํ๋ฉด ์ ๊ธ์ผ๋ก ์์ ํ๊ฒ ๋ก๊ทธ์ธํ ์ ์์ต๋๋ค.`,"profile.passkey.setupModal.nameLabel":`ํจ์คํค ์ด๋ฆ (์ ํ)`,"profile.passkey.setupModal.namePlaceholder":`์: MacBook Pro, iPhone`,"profile.passkey.setupModal.nameHint":`๋์ค์ ์๋ณํ ์ ์๋๋ก ํจ์คํค์ ์ด๋ฆ์ ์ง์ ํ์ธ์`,"profile.passkey.setupModal.continue":`๊ณ์`,"profile.passkey.setupModal.cancel":`์ทจ์`,"profile.passkey.setupModal.switchToTotp":`2๋จ๊ณ ์ธ์ฆ ์ฌ์ฉํ๊ธฐ`,"profile.passkey.setupModal.waitingForDevice":`๋ธ๋ผ์ฐ์ ๋๋ ๊ธฐ๊ธฐ์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์...`,"profile.passkey.setupModal.error":`ํจ์คํค ๋ฑ๋ก์ ์คํจํ์ต๋๋ค. ๋ค์ ์๋ํด์ฃผ์ธ์.`,"profile.passkey.setupModal.cancelled":`ํจ์คํค ๋ฑ๋ก์ด ์ทจ์๋์์ต๋๋ค.`,"profile.passkey.manageModal.title":`ํจ์คํค ๊ด๋ฆฌ`,"profile.passkey.manageModal.noPasskeys":`๋ฑ๋ก๋ ํจ์คํค๊ฐ ์์ต๋๋ค.`,"profile.passkey.manageModal.close":`๋ซ๊ธฐ`,"profile.passkey.manageModal.addNew":`์ ํจ์คํค ์ถ๊ฐ`,"profile.passkey.manageModal.unnamedPasskey":`์ด๋ฆ ์๋ ํจ์คํค`,"profile.passkey.manageModal.createdAt":`{{date}}์ ์ถ๊ฐ๋จ`,"profile.passkey.manageModal.backedUp":`๋๊ธฐํ๋จ`,"profile.passkey.manageModal.rename":`์ด๋ฆ ๋ณ๊ฒฝ`,"profile.passkey.manageModal.delete":`์ญ์ `,"profile.passkey.manageModal.deleteConfirmInline":`์ด ํจ์คํค๋ฅผ ์ญ์ ํ ๊น์?`,"profile.passkey.manageModal.deleteError":`ํจ์คํค๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค. ์ต์ ํ๋์ ๋ก๊ทธ์ธ ๋ฐฉ๋ฒ์ด ํ์ํฉ๋๋ค.`,"profile.passkey.manageModal.cannotRemoveLastSecondFactor":`ํจ์คํค๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค. ์ต์ ํ๋์ 2๋จ๊ณ ์ธ์ฆ ๋ฐฉ๋ฒ(TOTP ๋๋ ํจ์คํค)์ด ํ์ํฉ๋๋ค.`,"profile.passkey.manageModal.namePlaceholder":`ํจ์คํค ์ด๋ฆ ์
๋ ฅ`,"profile.passkey.manageModal.cancelEdit":`์ทจ์`,"profile.passkey.manageModal.save":`์ ์ฅ`,"profile.passkey.manageModal.saving":`์ ์ฅ ์ค...`,"profile.passkey.manageModal.renameError":`ํจ์คํค ์ด๋ฆ ๋ณ๊ฒฝ์ ์คํจํ์ต๋๋ค. ๋ค์ ์๋ํด์ฃผ์ธ์.`,"profile.dangerZone.title":`์ํ ์์ญ`,"profile.dangerZone.description":`๊ณ์ ์ญ์ ์ ๊ฐ์ ๋๋๋ฆด ์ ์๋ ์์
`,"profile.deleteAccount.title":`๊ณ์ ์ญ์ `,"profile.deleteAccount.description":`๊ณ์ ์ ์๊ตฌ์ ์ผ๋ก ์ญ์ ํฉ๋๋ค`,"profile.deleteAccount.button":`๊ณ์ ์ญ์ `,"profile.deleteAccount.modal.title":`์ ๋ง ๊ณ์ ์ ์ญ์ ํ์๊ฒ ์ต๋๊น?`,"profile.deleteAccount.modal.description":`์ด ์์
์ ๋๋๋ฆด ์ ์์ต๋๋ค. ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ {{days}}์ผ ํ์ ์๊ตฌ์ ์ผ๋ก ์ญ์ ๋ฉ๋๋ค.`,"profile.deleteAccount.modal.warning":`์ญ์ ํ์๋ ์ด ์ด๋ฉ์ผ๋ก ๋ค์ ๊ฐ์
ํ ์ ์์ต๋๋ค.`,"profile.deleteAccount.modal.confirmLabel":`ํ์ธ์ ์ํด "์ญ์ "๋ฅผ ์
๋ ฅํ์ธ์`,"profile.deleteAccount.modal.confirmPlaceholder":`์ญ์ `,"profile.deleteAccount.modal.confirm":`๊ณ์ ์ญ์ `,"profile.deleteAccount.modal.confirming":`์ญ์ ์ค...`,"profile.deleteAccount.modal.cancel":`์ทจ์`,"profile.deleteAccount.configManaged":`์ด ๊ณ์ ์ ์ค์ ํ์ผ๋ก ๊ด๋ฆฌ๋์ด ์ญ์ ํ ์ ์์ต๋๋ค`,"profile.deleteAccount.error":`๊ณ์ ์ญ์ ์ ์คํจํ์ต๋๋ค`,"verifyTotp.title":`2๋จ๊ณ ์ธ์ฆ`,"verifyTotp.subtitle":`์ธ์ฆ ์ฑ์ ์ฝ๋๋ฅผ ์
๋ ฅํ์ธ์`,"verifyTotp.submit":`ํ์ธ`,"verifyTotp.submitting":`ํ์ธ ์ค...`,"verifyTotp.error.invalid":`์๋ชป๋ ์ฝ๋์
๋๋ค. ๋ค์ ์๋ํด์ฃผ์ธ์.`,"verifyTotp.error.expired":`์ธ์
์ด ๋ง๋ฃ๋์์ต๋๋ค. ๋ค์ ๋ก๊ทธ์ธํด์ฃผ์ธ์.`,"verifyTotp.redirecting":`{{seconds}}์ด ํ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค...`,"verifyTotp.redirectNow":`์ง๊ธ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ์ด๋`,"verifyTotp.backToLogin":`๋ก๊ทธ์ธ์ผ๋ก ๋์๊ฐ๊ธฐ`,"verifyTotp.useRecoveryCode":`๋ณต๊ตฌ ์ฝ๋ ์ฌ์ฉ`,"verifyRecovery.title":`๋ณต๊ตฌ ์ฝ๋`,"verifyRecovery.subtitle":`๋ณต๊ตฌ ์ฝ๋ ์ค ํ๋๋ฅผ ์
๋ ฅํ์ธ์`,"verifyRecovery.placeholder":`XXXX-XXXX-XXXX-XXXX`,"verifyRecovery.submit":`ํ์ธ`,"verifyRecovery.submitting":`ํ์ธ ์ค...`,"verifyRecovery.error.invalid":`์ ํจํ์ง ์์ ๋ณต๊ตฌ ์ฝ๋์
๋๋ค. ๋ค์ ์๋ํด์ฃผ์ธ์.`,"verifyRecovery.error.noCodesAvailable":`์ฌ์ฉ ๊ฐ๋ฅํ ๋ณต๊ตฌ ์ฝ๋๊ฐ ์์ต๋๋ค. ๋ชจ๋ ์ฝ๋๊ฐ ์ฌ์ฉ๋์์ต๋๋ค.`,"verifyRecovery.error.expired":`์ธ์
์ด ๋ง๋ฃ๋์์ต๋๋ค. ๋ค์ ๋ก๊ทธ์ธํด์ฃผ์ธ์.`,"verifyRecovery.backToTotp":`์ธ์ฆ ์ฑ์ผ๋ก ์ธ์ฆํ๊ธฐ`,"verifyRecovery.backToLogin":`๋ก๊ทธ์ธ์ผ๋ก ๋์๊ฐ๊ธฐ`,"verifyRecovery.redirecting":`{{seconds}}์ด ํ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค...`,"verifyRecovery.redirectNow":`์ง๊ธ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ์ด๋`,"setupTotp.title":`2๋จ๊ณ ์ธ์ฆ ์ค์ `,"setupTotp.subtitle":`๊ณ์ ์ ์ถ๊ฐ ๋ณด์ ๊ณ์ธต์ ์ถ๊ฐํ์ธ์`,"setupTotp.required":`๊ณ์ํ๋ ค๋ฉด 2๋จ๊ณ ์ธ์ฆ์ด ํ์ํฉ๋๋ค`,"setupTotp.qrDescription":`์ธ์ฆ ์ฑ(Google Authenticator, Authy ๋ฑ)์ผ๋ก QR ์ฝ๋๋ฅผ ์ค์บํ์ธ์`,"setupTotp.manualEntry":`์ค์บํ ์ ์๋์? ์๋์ผ๋ก ์ฝ๋๋ฅผ ์
๋ ฅํ์ธ์`,"setupTotp.next":`๋ค์`,"setupTotp.back":`๋ค๋ก`,"setupTotp.verify":`ํ์ธ`,"setupTotp.verifying":`ํ์ธ ์ค...`,"setupTotp.verifyTitle":`์ธ์ฆ ์ฝ๋ ํ์ธ`,"setupTotp.verifySubtitle":`์ธ์ฆ ์ฑ์ 6์๋ฆฌ ์ฝ๋๋ฅผ ์
๋ ฅํ์ธ์`,"setupTotp.error.invalid":`์๋ชป๋ ์ฝ๋์
๋๋ค. ๋ค์ ์๋ํด์ฃผ์ธ์.`,"setupTotp.error.setupFailed":`์ค์ ์ ์์ํ์ง ๋ชปํ์ต๋๋ค. ๋ค์ ์๋ํด์ฃผ์ธ์.`,"setupTotp.error.expired":`์ธ์
์ด ๋ง๋ฃ๋์์ต๋๋ค. ๋ค์ ๋ก๊ทธ์ธํด์ฃผ์ธ์.`,"setupTotp.error.alreadyEnabled":`2๋จ๊ณ ์ธ์ฆ์ด ์ด๋ฏธ ํ์ฑํ๋์ด ์์ต๋๋ค.`,"setupTotp.redirecting":`{{seconds}}์ด ํ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค...`,"setupTotp.redirectNow":`์ง๊ธ ๋ก๊ทธ์ธ ํ์ด์ง๋ก ์ด๋`,"setupTotp.goToProfile":`ํ๋กํ๋ก ์ด๋`,"setupTotp.retry":`๋ค์ ์๋`,"setupTotp.backToLogin":`๋ก๊ทธ์ธ์ผ๋ก ๋์๊ฐ๊ธฐ`,"setupTotp.recoveryCodes.title":`๋ณต๊ตฌ ์ฝ๋๋ฅผ ์ ์ฅํ์ธ์`,"setupTotp.recoveryCodes.description":`์ธ์ฆ ์ฑ์ ์ ๊ทผํ ์ ์๊ฒ ๋ ๊ฒฝ์ฐ, ์ด ์ผํ์ฉ ๋ณต๊ตฌ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธํ ์ ์์ต๋๋ค. ๊ฐ ์ฝ๋๋ ํ ๋ฒ๋ง ์ฌ์ฉํ ์ ์์ต๋๋ค.`,"setupTotp.recoveryCodes.warning":`์ด ์ฝ๋๋ฅผ ์์ ํ ๊ณณ์ ๋ณด๊ดํ์ธ์. ๋ค์ ํ์ธํ ์ ์์ต๋๋ค.`,"setupTotp.recoveryCodes.copy":`๋ชจ๋ ์ฝ๋ ๋ณต์ฌ`,"setupTotp.recoveryCodes.copied":`๋ณต์ฌ๋์์ต๋๋ค!`,"setupTotp.recoveryCodes.confirmCheckbox":`๋ณต๊ตฌ ์ฝ๋๋ฅผ ์์ ํ ๊ณณ์ ์ ์ฅํ์ต๋๋ค`,"setupTotp.recoveryCodes.confirm":`์ค์ ์๋ฃ`,"verifyPasskey.title":`ํจ์คํค ์ธ์ฆ`,"verifyPasskey.subtitle":`ํจ์คํค๋ฅผ ์ฌ์ฉํ์ฌ ๋ก๊ทธ์ธ์ ์๋ฃํ์ธ์`,"verifyPasskey.waiting":`๋ธ๋ผ์ฐ์ ๋๋ ๊ธฐ๊ธฐ์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์...`,"verifyPasskey.retry":`๋ค์ ์๋`,"verifyPasskey.error.expired":`์ธ์
์ด ๋ง๋ฃ๋์์ต๋๋ค. ๋ค์ ๋ก๊ทธ์ธํด์ฃผ์ธ์.`,"verifyPasskey.error.userMismatch":`์ด ํจ์คํค๋ ๋ค๋ฅธ ๊ณ์ ์ ๋ฑ๋ก๋์ด ์์ต๋๋ค.`,"verifyPasskey.error.failed":`ํจ์คํค ์ธ์ฆ์ ์คํจํ์ต๋๋ค. ๋ค์ ์๋ํด์ฃผ์ธ์.`,"verifyPasskey.backToLogin":`๋ก๊ทธ์ธ์ผ๋ก ๋์๊ฐ๊ธฐ`,"verify2fa.title":`2๋จ๊ณ ์ธ์ฆ`,"verify2fa.subtitle":`์ธ์ฆ ๋ฐฉ๋ฒ์ ์ ํํ์ธ์`,"verify2fa.totp.title":`์ธ์ฆ ์ฑ`,"verify2fa.totp.description":`์ฑ์ 6์๋ฆฌ ์ฝ๋ ์ฌ์ฉ`,"verify2fa.passkey.title":`ํจ์คํค`,"verify2fa.passkey.description":`์ง๋ฌธ, ์ผ๊ตด ์ธ์ ๋๋ ๋ณด์ ํค ์ฌ์ฉ`,"verify2fa.backToLogin":`๋ก๊ทธ์ธ์ผ๋ก ๋์๊ฐ๊ธฐ`,"setup2fa.title":`2๋จ๊ณ ์ธ์ฆ ์ค์ `,"setup2fa.subtitle":`์ํ๋ 2๋จ๊ณ ์ธ์ฆ ๋ฐฉ๋ฒ์ ์ ํํ์ธ์`,"setup2fa.required":`๊ณ์ํ๋ ค๋ฉด 2๋จ๊ณ ์ธ์ฆ์ด ํ์ํฉ๋๋ค`,"setup2fa.totp.title":`์ธ์ฆ ์ฑ`,"setup2fa.totp.description":`Google Authenticator, Authy ๋ฑ ์ฌ์ฉ`,"setup2fa.passkey.title":`ํจ์คํค`,"setup2fa.passkey.description":`์ง๋ฌธ, ์ผ๊ตด ์ธ์ ๋๋ ๋ณด์ ํค ์ฌ์ฉ`,"setup2fa.backToLogin":`๋ก๊ทธ์ธ์ผ๋ก ๋์๊ฐ๊ธฐ`,"setupPasskey.title":`ํจ์คํค ์ค์ `,"setupPasskey.subtitle":`์์ ํ ์ธ์ฆ์ ์ํด ํจ์คํค๋ฅผ ๋ฑ๋กํ์ธ์`,"setupPasskey.required":`๊ณ์ํ๋ ค๋ฉด 2๋จ๊ณ ์ธ์ฆ์ด ํ์ํฉ๋๋ค`,"setupPasskey.description":`ํจ์คํค๋ฅผ ์ฌ์ฉํ๋ฉด ์ง๋ฌธ, ์ผ๊ตด ์ธ์ ๋๋ ํ๋ฉด ์ ๊ธ์ผ๋ก ์์ ํ๊ฒ ๋ก๊ทธ์ธํ ์ ์์ต๋๋ค.`,"setupPasskey.name.label":`ํจ์คํค ์ด๋ฆ (์ ํ)`,"setupPasskey.name.placeholder":`์: MacBook Pro, iPhone`,"setupPasskey.name.hint":`๋์ค์ ์๋ณํ ์ ์๋๋ก ํจ์คํค์ ์ด๋ฆ์ ์ง์ ํ์ธ์`,"setupPasskey.continue":`๊ณ์`,"setupPasskey.registering":`๋ฑ๋ก ์ค...`,"setupPasskey.waiting":`๋ธ๋ผ์ฐ์ ๋๋ ๊ธฐ๊ธฐ์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์...`,"setupPasskey.retry":`๋ค์ ์๋`,"setupPasskey.error.failed":`ํจ์คํค ๋ฑ๋ก์ ์คํจํ์ต๋๋ค. ๋ค์ ์๋ํด์ฃผ์ธ์.`,"setupPasskey.error.cancelled":`ํจ์คํค ๋ฑ๋ก์ด ์ทจ์๋์์ต๋๋ค.`,"setupPasskey.backToLogin":`๋ก๊ทธ์ธ์ผ๋ก ๋์๊ฐ๊ธฐ`,"terms.title":`์ฝ๊ด ๋์`,"terms.required":`ํ์`,"terms.optional":`์ ํ`,"terms.agreeAll":`์ ์ฒด ๋์`,"terms.agreeAllOptionalIncluded":`(์ ํ ์ฝ๊ด ํฌํจ)`,"terms.versionUpdated":`์ฝ๊ด์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ์ ๋ฒ์ ์ ๋์ํด์ฃผ์ธ์.`,"terms.submit":`๋์ํ๊ณ ๊ณ์ํ๊ธฐ`,"terms.error.title":`์ค๋ฅ`,"terms.error.message":`์ฝ๊ด ์ ๋ณด๋ฅผ ๋ถ๋ฌ์ฌ ์ ์์ต๋๋ค.`,"terms.error.back":`๋์๊ฐ๊ธฐ`,"terms.error.submitFailed":`์ฝ๊ด ๋์ ์ฒ๋ฆฌ์ ์คํจํ์ต๋๋ค. ๋ค์ ์๋ํด์ฃผ์ธ์.`,"terms.view":`๋ณด๊ธฐ`,"admin.users.includeDeleted":`์ญ์ ๋ ์ฌ์ฉ์ ํฌํจ`,"admin.users.search":`๊ฒ์`,"admin.users.actions":`์์
`,"admin.users.edit":`์์ `,"admin.users.delete":`์ญ์ `,"admin.users.editUser":`{{email}} ์์ `,"admin.users.deleteUser":`{{email}} ์ญ์ `,"admin.users.readonly":`์ฝ๊ธฐ ์ ์ฉ`,"admin.users.password":`๋น๋ฐ๋ฒํธ`,"admin.users.editTitle":`์ฌ์ฉ์ ์์ `,"admin.users.createSubmit":`์์ฑ`,"admin.users.save":`๋ณ๊ฒฝ ์ ์ฅ`,"admin.users.cancel":`์ทจ์`,"admin.users.deleteTitle":`{{email}} ์ญ์ ?`,"admin.users.deleteDescription":`DB ๊ด๋ฆฌ ์ฌ์ฉ์๋ฅผ soft-delete ์ฒ๋ฆฌํ๊ณ ์ดํ ๋ก๊ทธ์ธ์ ์ฐจ๋จํฉ๋๋ค.`,"admin.users.deleteConfirm":`์ฌ์ฉ์ ์ญ์ `,"admin.users.previous":`์ด์ `,"admin.users.next":`๋ค์`,"admin.users.page":`{{page}}ํ์ด์ง`,"admin.users.filter.all":`์ ์ฒด`,"admin.users.filter.database":`DB`,"admin.users.filter.config":`Config`,"admin.users.filter.admins":`๊ด๋ฆฌ์`,"admin.users.clearFilters":`ํํฐ ์ด๊ธฐํ`,"admin.users.pageSize":`ํ ์`,"admin.users.showingRange":`{{total}}๋ช
์ค {{from}}โ{{to}} ํ์`,"admin.users.emptyFiltered":`ํ์ฌ ํํฐ์ ์ผ์นํ๋ ์ฌ์ฉ์๊ฐ ์์ต๋๋ค.`,"admin.users.createdNotice":`{{email}} ์ฌ์ฉ์๋ฅผ ์์ฑํ์ต๋๋ค.`,"admin.users.updatedNotice":`{{email}} ์ฌ์ฉ์๋ฅผ ์์ ํ์ต๋๋ค.`,"admin.users.deletedNotice":`{{email}} ์ฌ์ฉ์๋ฅผ ์ญ์ ํ์ต๋๋ค.`,"admin.users.operationFailed":`์์
์ ์คํจํ์ต๋๋ค. ๊ฐ์ ํ์ธํ ๋ค ๋ค์ ์๋ํ์ธ์.`,"admin.users.createHint":`DB ๊ด๋ฆฌ ์ฌ์ฉ์๋ฅผ ์์ฑํฉ๋๋ค. Config ์ฌ์ฉ์๋ ๊ณ์ ์ฝ๊ธฐ ์ ์ฉ์
๋๋ค.`,"admin.users.editHint":`DB ๊ด๋ฆฌ ์ฌ์ฉ์์ ๊ณ์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ์์ ํฉ๋๋ค.`,"admin.users.deleteWarning":`ํ๊ดด์ ์ธ ๊ด๋ฆฌ์ ์์
์
๋๋ค.`,"common.on":`์ผ์ง`,"admin.nav.open":`๊ด๋ฆฌ์ ํ์ ์ด๊ธฐ`,"admin.nav.close":`๊ด๋ฆฌ์ ํ์ ๋ซ๊ธฐ`,"admin.breadcrumbLabel":`๊ด๋ฆฌ์ ๊ฒฝ๋ก`,"admin.console":`๊ด๋ฆฌ์ ์ฝ์`,"admin.livePolicy":`์ค์๊ฐ ์ ์ฑ
`,"admin.roleBadge":`์ญํ : {{role}}`,"admin.metrics.totalUsersHint":`๊ด๋ฆฌ ID`,"admin.metrics.adminsHint":`๊ถํ ๊ณ์ `,"admin.metrics.databaseUsersHint":`์์ ๊ฐ๋ฅ ๋ ์ฝ๋`,"admin.identityGraph":`ID ๊ทธ๋ํ`,"admin.policy.description":`config ์์ค๋ ์ค์๋ก ์์ ๋์ง ์๋๋ก ๋ณดํธ๋ฉ๋๋ค.`,"admin.users.verifiedLabel":`๊ฒ์ฆ:`,"admin.users.directoryEyebrow":`๋๋ ํฐ๋ฆฌ`,"admin.users.queryChip":`๊ฒ์: {{query}}`,"admin.users.currentPage":`ํ์ฌ ํ์ด์ง`,"admin.disabled":`๊ด๋ฆฌ์ ์ฝ์์ด ๋นํ์ฑํ๋จ`,"admin.disabledDescription":`์ด ๋ฐฐํฌ์์๋ ๊ด๋ฆฌ์ ์ฝ์์ด ๋นํ์ฑํ๋์ด ์์ต๋๋ค.`,"admin.users.secondFactorTotp":`TOTP`,"admin.users.secondFactorPasskey":`ํจ์คํค {{count}}๊ฐ`,"admin.users.roleUser":`์ฌ์ฉ์`,"admin.users.roleAdmin":`๊ด๋ฆฌ์`,"admin.users.secondFactorPasskeys":`ํจ์คํค {{count}}๊ฐ`,"common.close":`๋ซ๊ธฐ`,"admin.mobileTitle":`TinyAuth ๊ด๋ฆฌ์`,"admin.users.sourceDatabase":`๋ฐ์ดํฐ๋ฒ ์ด์ค`,"admin.users.sourceConfig":`์ค์ `,"admin.users.activeOnPage":`ํ์ฌ ํ์ด์ง ํ์ฑ`,"admin.users.configOnPage":`ํ์ฌ ํ์ด์ง ์ค์ ์ฌ์ฉ์`,"admin.users.databaseOnPage":`ํ์ฌ ํ์ด์ง DB ์ฌ์ฉ์`},_r=`tinyauth-language`,Q={ko:{translation:gr,label:`ํ๊ตญ์ด`},en:{translation:mr,label:`English`},ja:{translation:hr,label:`ๆฅๆฌ่ช`}},vr={ko:Q.ko.label,en:Q.en.label,ja:Q.ja.label};function $(e){return e in Q}function yr(e){return e.filter($)}function br(e,t){let n=navigator.language.split(`-`)[0];return n&&$(n)&&e.includes(n)?n:$(t)?t:`en`}function xr(e,t,n){let r=localStorage.getItem(_r);return r&&$(r)&&e.includes(r)?r:t===`auto`?br(e,n):$(t)&&e.includes(t)?t:n}function Sr(e){let{supportedLanguages:t,defaultLanguage:r,fallbackLanguage:i}=e,a=yr(t),o={};for(let e of a)o[e]={translation:Q[e].translation};let s=$(i)?i:`en`;o[s]||(o[s]={translation:Q[s].translation});let c=xr(a,r,s);return Z.use(n).init({resources:o,lng:c,fallbackLng:s,supportedLngs:a,interpolation:{escapeValue:!1},react:{useSuspense:!1}}),Z}var Cr=Z,wr=/^[\w!#$%&'*.^`|~+-]+$/,Tr=(e,t,n={})=>{if(!wr.test(e))throw Error(`Invalid cookie name`);let r=`${e}=${t}`;if(e.startsWith(`__Secure-`)&&!n.secure)throw Error(`__Secure- Cookie must have Secure attributes`);if(e.startsWith(`__Host-`)){if(!n.secure)throw Error(`__Host- Cookie must have Secure attributes`);if(n.path!==`/`)throw Error(`__Host- Cookie must have Path attributes with "/"`);if(n.domain)throw Error(`__Host- Cookie must not have Domain attributes`)}for(let e of[`domain`,`path`,`sameSite`,`priority`])if(n[e]&&/[;\r\n]/.test(n[e]))throw Error(`${e} must not contain ";", "\\r", or "\\n"`);if(n&&typeof n.maxAge==`number`&&n.maxAge>=0){if(n.maxAge>3456e4)throw Error(`Cookies Max-Age SHOULD NOT be greater than 400 days (34560000 seconds) in duration.`);r+=`; Max-Age=${n.maxAge|0}`}if(n.domain&&n.prefix!==`host`&&(r+=`; Domain=${n.domain}`),n.path&&(r+=`; Path=${n.path}`),n.expires){if(n.expires.getTime()-Date.now()>3456e7)throw Error(`Cookies Expires SHOULD NOT be greater than 400 days (34560000 seconds) in the future.`);r+=`; Expires=${n.expires.toUTCString()}`}if(n.httpOnly&&(r+=`; HttpOnly`),n.secure&&(r+=`; Secure`),n.sameSite&&(r+=`; SameSite=${n.sameSite.charAt(0).toUpperCase()+n.sameSite.slice(1)}`),n.priority&&(r+=`; Priority=${n.priority.charAt(0).toUpperCase()+n.priority.slice(1)}`),n.partitioned){if(!n.secure)throw Error(`Partitioned Cookie must have Secure attributes`);r+=`; Partitioned`}return r},Er=(e,t,n)=>(t=encodeURIComponent(t),Tr(e,t,n)),Dr=(e,t)=>(e=e.replace(/\/+$/,``),e+=`/`,t=t.replace(/^\/+/,``),e+t),Or=(e,t)=>{for(let[n,r]of Object.entries(t)){let t=RegExp(`/:`+n+`(?:{[^/]+})?\\??`);e=e.replace(t,r?`/${r}`:``)}return e},kr=e=>{let t=new URLSearchParams;for(let[n,r]of Object.entries(e))if(r!==void 0)if(Array.isArray(r))for(let e of r)t.append(n,e);else t.set(n,r);return t},Ar=(e,t)=>{switch(t){case`ws`:return e.replace(/^http/,`ws`);case`http`:return e.replace(/^ws/,`http`)}},jr=e=>/^https?:\/\/[^\/]+?\/index(?=\?|$)/.test(e)?e.replace(/\/index(?=\?|$)/,`/`):e.replace(/\/index(?=\?|$)/,``);function Mr(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Nr(e,t){if(!Mr(e)&&!Mr(t))return t;let n={...e};for(let e in t){let r=t[e];Mr(n[e])&&Mr(r)?n[e]=Nr(n[e],r):n[e]=r}return n}var Pr=(e,t)=>new Proxy(()=>{},{get(n,r){if(!(typeof r!=`string`||r===`then`))return Pr(e,[...t,r])},apply(n,r,i){return e({path:t,args:i})}}),Fr=class{url;method;buildSearchParams;queryParams=void 0;pathParams={};rBody;cType=void 0;constructor(e,t,n){this.url=e,this.method=t,this.buildSearchParams=n.buildSearchParams}fetch=async(e,t)=>{if(e){if(e.query&&(this.queryParams=this.buildSearchParams(e.query)),e.form){let t=new FormData;for(let[n,r]of Object.entries(e.form))if(r!==void 0)if(Array.isArray(r))for(let e of r)t.append(n,e);else t.append(n,r);this.rBody=t}e.json&&(this.rBody=JSON.stringify(e.json),this.cType=`application/json`),e.param&&(this.pathParams=e.param)}let n=this.method.toUpperCase(),r={...e?.header,...typeof t?.headers==`function`?await t.headers():t?.headers};if(e?.cookie){let t=[];for(let[n,r]of Object.entries(e.cookie))t.push(Er(n,r,{path:`/`}));r.Cookie=t.join(`,`)}this.cType&&(r[`Content-Type`]=this.cType);let i=new Headers(r??void 0),a=this.url;a=jr(a),a=Or(a,this.pathParams),this.queryParams&&(a=a+`?`+this.queryParams.toString()),n=this.method.toUpperCase();let o=!(n===`GET`||n===`HEAD`);return(t?.fetch||fetch)(a,{body:o?this.rBody:void 0,method:n,headers:i,...t?.init})}},Ir=((e,t)=>Pr(function n(r){let i=t?.buildSearchParams??kr,a=[...r.path],o=a.slice(-3).reverse();if(o[0]===`toString`)return o[1]===`name`?o[2]||``:n.toString();if(o[0]===`valueOf`)return o[1]===`name`?o[2]||``:n;let s=``;if(/^\$/.test(o[0])){let e=a.pop();e&&(s=e.replace(/^\$/,``))}let c=Dr(e,a.join(`/`));if(s===`url`||s===`path`){let t=c;return r.args[0]&&(r.args[0].param&&(t=Or(c,r.args[0].param)),r.args[0].query&&(t=t+`?`+i(r.args[0].query).toString())),t=jr(t),s===`url`?new URL(t):t.slice(e.replace(/\/+$/,``).length).replace(/^\/?/,`/`)}if(s===`ws`){let e=Ar(r.args[0]&&r.args[0].param?Or(c,r.args[0].param):c,`ws`),n=new URL(e),i=r.args[0]?.query;return i&&Object.entries(i).forEach(([e,t])=>{Array.isArray(t)?t.forEach(t=>n.searchParams.append(e,t)):n.searchParams.set(e,t)}),((...e)=>t?.webSocket!==void 0&&typeof t.webSocket==`function`?t.webSocket(...e):new WebSocket(...e))(n.toString())}let l=new Fr(c,s,{buildSearchParams:i});if(s){t??={};let e=Nr(t,{...r.args[1]});return l.fetch(r.args[0],e)}return l},[]))(`/`,{fetch:async(e,t)=>{let n=new Headers(t?.headers);n.has(`Accept-Language`)||n.set(`Accept-Language`,Cr.language);let i=await fetch(e,{...t,headers:n});if(!i.ok)throw await r.fromResponse(i);return i}});async function Lr(e){return await e.json()}var Rr={session:()=>[`/api/user/session`],accounts:e=>[`/api/auth/accounts`,e],config:()=>[`/api/config`],oauth:{accounts:()=>[`/api/user/oauth-accounts`]},consent:(e,t)=>[`/api/consent`,e,t],passkeys:()=>[`/api/user/passkeys`],terms:e=>[`/api/terms`,e]},zr=He({queryKey:Rr.config(),queryFn:async()=>Lr(await Ir.api.config.$get()),select:e=>({...e,available_2fa_setup_methods:(()=>{let t=[];return e.auth.password.totp.enabled&&t.push(`totp`),e.auth.passkey.enabled&&t.push(`passkey`),t})()}),staleTime:1e3*60}),Br=`tinyauth-theme-mode`;function Vr(){return typeof window>`u`?`light`:window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}function Hr(){if(typeof window>`u`)return null;let e=localStorage.getItem(Br);return e===`light`||e===`dark`||e===`system`?e:null}function Ur(e){document.documentElement.setAttribute(`data-theme`,e)}function Wr(e,t,n){return e===`system`?Vr()===`dark`?n:t:e===`dark`?n:t}var Gr=`tinyauth-theme-mode-change`;function Kr(e){return window.addEventListener(Gr,e),window.addEventListener(`storage`,e),()=>{window.removeEventListener(Gr,e),window.removeEventListener(`storage`,e)}}function qr(){return Hr()}function Jr(){return null}function Yr(){let{data:e}=Ve(zr),t=e.branding.light_theme,n=e.branding.dark_theme,r=e.branding.theme_mode,i=r===`system`,a=(0,B.useSyncExternalStore)(Kr,qr,Jr),o=(0,B.useMemo)(()=>i?a??r:r,[i,a,r]),s=(0,B.useMemo)(()=>Wr(o,t,n),[o,t,n]);return(0,B.useEffect)(()=>{Ur(s)},[s]),(0,B.useEffect)(()=>{if(o!==`system`)return;let e=window.matchMedia(`(prefers-color-scheme: dark)`),r=()=>{Ur(Wr(`system`,t,n))};return e.addEventListener(`change`,r),()=>e.removeEventListener(`change`,r)},[o,t,n]),{themeMode:o,darkTheme:n,canToggleTheme:i,cycleThemeMode:(0,B.useCallback)(()=>{if(!i)return;let e=a??`system`,t;t=e===`system`?`light`:e===`light`?`dark`:`system`,t===`system`?localStorage.removeItem(Br):localStorage.setItem(Br,t),window.dispatchEvent(new CustomEvent(Gr))},[i,a]),isAutoMode:a===null,detectedTheme:(0,B.useMemo)(()=>Vr()===`dark`?n:t,[n,t])}}export{Be as $,Tt as A,s as At,Xe as B,Wt as C,C as Ct,Et as D,le as Dt,Nt as E,E as Et,gt as F,Je as G,pt as H,st as I,Ue as J,tt as K,mt as L,vt as M,_t as N,Ot as O,se as Ot,ft as P,Ve as Q,V as R,qt as S,p as St,Ut as T,_ as Tt,ct as U,$e as V,lt as W,Ge as X,We as Y,He as Z,$t as _,m as _t,Lr as a,Pe as at,Xt as b,b as bt,br as c,Oe as ct,Sr as d,z as dt,Fe as et,xn as f,he as ft,nn as g,j as gt,rn as h,de as ht,Ir as i,Me as it,At as j,Dt as k,c as kt,yr as l,Ee as lt,cn as m,F as mt,zr as n,ze as nt,vr as o,Ne as ot,un as p,I as pt,nt as q,Rr as r,Re as rt,_r as s,je as st,Yr as t,Ie as tt,Cr as u,Te as ut,Vt as v,S as vt,Ht as w,T as wt,Bt as x,y as xt,Jt as y,x as yt,ht as z};
|
|
2
|
+
//# sourceMappingURL=use-theme-cVUDAjtt.js.map
|