payload-auth 1.8.0-canary.1 → 1.8.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/better-auth/adapter/generate-schema/generate-schema-builder.d.ts +1 -1
- package/dist/better-auth/adapter/generate-schema/generate-schema-builder.d.ts.map +1 -1
- package/dist/better-auth/adapter/generate-schema/generate-schema-builder.js +51 -54
- package/dist/better-auth/adapter/generate-schema/get-payload-schema.d.ts.map +1 -1
- package/dist/better-auth/adapter/generate-schema/get-payload-schema.js +4 -4
- package/dist/better-auth/adapter/generate-schema/index.d.ts +1 -1
- package/dist/better-auth/adapter/generate-schema/index.d.ts.map +1 -1
- package/dist/better-auth/adapter/generate-schema/index.js +4 -4
- package/dist/better-auth/adapter/generate-schema/utils.js +4 -4
- package/dist/better-auth/adapter/index.d.ts +2 -2
- package/dist/better-auth/adapter/index.d.ts.map +1 -1
- package/dist/better-auth/adapter/index.js +59 -59
- package/dist/better-auth/adapter/transform/index.d.ts +3 -3
- package/dist/better-auth/adapter/transform/index.d.ts.map +1 -1
- package/dist/better-auth/adapter/transform/index.js +86 -61
- package/dist/better-auth/adapter/types.d.ts +4 -4
- package/dist/better-auth/adapter/types.d.ts.map +1 -1
- package/dist/better-auth/adapter/types.js +1 -1
- package/dist/better-auth/generated-types.d.ts +27 -1
- package/dist/better-auth/generated-types.d.ts.map +1 -1
- package/dist/better-auth/generated-types.js +1 -1
- package/dist/better-auth/index.d.ts +3 -3
- package/dist/better-auth/index.d.ts.map +1 -1
- package/dist/better-auth/index.js +1 -1
- package/dist/better-auth/plugin/constants.d.ts +10 -0
- package/dist/better-auth/plugin/constants.d.ts.map +1 -1
- package/dist/better-auth/plugin/constants.js +163 -153
- package/dist/better-auth/plugin/helpers/check-plugin-exists.d.ts +1 -1
- package/dist/better-auth/plugin/helpers/check-plugin-exists.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/check-plugin-exists.js +1 -1
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/generate-verify-email-url.js +7 -7
- package/dist/better-auth/plugin/helpers/get-admin-access.d.ts +2 -2
- package/dist/better-auth/plugin/helpers/get-admin-access.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/get-admin-access.js +2 -2
- package/dist/better-auth/plugin/helpers/get-all-roles.d.ts +2 -2
- package/dist/better-auth/plugin/helpers/get-all-roles.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/get-all-roles.js +4 -4
- package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts +2 -2
- package/dist/better-auth/plugin/helpers/get-better-auth-schema.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/get-better-auth-schema.js +3 -3
- package/dist/better-auth/plugin/helpers/get-collection-slug.d.ts +2 -2
- package/dist/better-auth/plugin/helpers/get-collection-slug.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/get-collection-slug.js +7 -7
- package/dist/better-auth/plugin/helpers/get-collection.d.ts +2 -2
- package/dist/better-auth/plugin/helpers/get-collection.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/get-collection.js +1 -1
- package/dist/better-auth/plugin/helpers/get-ip.d.ts +1 -1
- package/dist/better-auth/plugin/helpers/get-ip.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/get-ip.js +14 -14
- package/dist/better-auth/plugin/helpers/get-signed-cookie.d.ts +1 -1
- package/dist/better-auth/plugin/helpers/get-signed-cookie.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/get-signed-cookie.js +13 -13
- package/dist/better-auth/plugin/helpers/index.d.ts +1 -1
- package/dist/better-auth/plugin/helpers/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/index.js +1 -1
- package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts +2 -2
- package/dist/better-auth/plugin/helpers/prepare-session-data.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/prepare-session-data.js +2 -2
- package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts +2 -2
- package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.d.ts.map +1 -1
- package/dist/better-auth/plugin/helpers/sync-resolved-schema-with-collection-map.js +1 -1
- package/dist/better-auth/plugin/index.d.ts +7 -11
- package/dist/better-auth/plugin/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/index.js +3 -26
- package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts +3 -3
- package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/apply-disabled-default-auth-config.js +9 -9
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/accounts/hooks/sync-password-to-user.js +6 -6
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/accounts/index.js +19 -20
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-after-read.js +1 -1
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/hooks/get-url-before-change.js +2 -2
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts +3 -3
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/admin-invitations/index.js +21 -21
- package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/api-keys.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/api-keys.js +26 -26
- package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/device-code.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/device-code.js +6 -6
- package/dist/better-auth/plugin/lib/build-collections/index.d.ts +3 -3
- package/dist/better-auth/plugin/lib/build-collections/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/index.js +10 -4
- package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/invitations.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/invitations.js +14 -14
- package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/jwks.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/jwks.js +8 -8
- package/dist/better-auth/plugin/lib/build-collections/members.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/members.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/members.js +11 -12
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/oauth-access-tokens.js +15 -15
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/oauth-applications.js +16 -16
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/oauth-consents.js +11 -12
- package/dist/better-auth/plugin/lib/build-collections/organization-roles.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/organization-roles.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/organization-roles.js +65 -0
- package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/organizations.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/organizations.js +61 -13
- package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/passkeys.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/passkeys.js +15 -16
- package/dist/better-auth/plugin/lib/build-collections/rate-limit.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/rate-limit.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/rate-limit.js +54 -0
- package/dist/better-auth/plugin/lib/build-collections/scim-provider.d.ts +4 -0
- package/dist/better-auth/plugin/lib/build-collections/scim-provider.d.ts.map +1 -0
- package/dist/better-auth/plugin/lib/build-collections/scim-provider.js +65 -0
- package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/sessions.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/sessions.js +21 -22
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/sso-providers.js +12 -13
- package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/subscriptions.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/subscriptions.js +17 -18
- package/dist/better-auth/plugin/lib/build-collections/team-members.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/team-members.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/team-members.js +14 -9
- package/dist/better-auth/plugin/lib/build-collections/teams.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/teams.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/teams.js +9 -9
- package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/two-factors.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/two-factors.js +9 -9
- package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/better-auth-strategy.js +4 -4
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts +5 -5
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/generate-invite-url.js +9 -9
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts +4 -4
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/index.js +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/refresh-token.js +17 -17
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts +3 -3
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/send-invite-url.js +7 -7
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts +3 -3
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/endpoints/set-admin-role.js +7 -7
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-login.js +10 -11
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/after-logout.js +9 -9
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-delete.js +3 -3
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/before-login.js +2 -2
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts +6 -6
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/index.js +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/on-verified-change.js +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/hooks/sync-account.js +12 -12
- package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/users/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/users/index.js +38 -38
- package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts +3 -3
- package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/utils/collection-schema.js +3 -3
- package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/utils/filter-properties.js +53 -53
- package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts +1 -1
- package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/utils/get-timestamp-fields.js +7 -7
- package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts +3 -3
- package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/utils/model-field-transformations.js +1 -1
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts +1 -2
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/utils/payload-access.js +12 -12
- package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts +4 -4
- package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/utils/transform-schema-fields-to-payload.js +17 -17
- package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts +2 -2
- package/dist/better-auth/plugin/lib/build-collections/verifications.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/build-collections/verifications.js +10 -10
- package/dist/better-auth/plugin/lib/get-payload-auth.d.ts +3 -3
- package/dist/better-auth/plugin/lib/get-payload-auth.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/get-payload-auth.js +1 -1
- package/dist/better-auth/plugin/lib/init-better-auth.d.ts +4 -4
- package/dist/better-auth/plugin/lib/init-better-auth.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/init-better-auth.js +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts +2 -2
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/admin-plugin.js +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/api-key-plugin.js +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.d.ts +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/device-authorization-plugin.js +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts +4 -5
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/index.js +11 -11
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/oidc-plugin.js +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/organizations-plugin.js +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/passkey-plugin.js +2 -2
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/sso-plugin.js +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/two-factor-plugin.js +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.d.ts +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-after-role-middleware.js +6 -6
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.d.ts +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/admin-before-role-middleware.js +6 -6
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.d.ts +3 -3
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/apply-save-to-jwt-returned.js +3 -3
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/ensure-password-set-before-create.js +6 -7
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/password.js +6 -7
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts +3 -3
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/require-admin-invite-for-sign-up-middleware.js +9 -10
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/sanitize-better-auth-options/utils/use-admin-invite-after-email-sign-up-middleware.js +12 -12
- package/dist/better-auth/plugin/lib/set-login-methods.d.ts +3 -3
- package/dist/better-auth/plugin/lib/set-login-methods.d.ts.map +1 -1
- package/dist/better-auth/plugin/lib/set-login-methods.js +4 -5
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts +5 -5
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.js +20 -20
- package/dist/better-auth/plugin/payload/components/admin-buttons/index.scss +6 -1
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts +5 -5
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.js +30 -30
- package/dist/better-auth/plugin/payload/components/admin-invite-button/index.scss +6 -2
- package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.d.ts +3 -3
- package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/login-form/alternative-methods.js +32 -32
- package/dist/better-auth/plugin/payload/components/login-form/context.d.ts +9 -9
- package/dist/better-auth/plugin/payload/components/login-form/context.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/login-form/context.js +18 -18
- package/dist/better-auth/plugin/payload/components/login-form/credentials-form.d.ts +3 -3
- package/dist/better-auth/plugin/payload/components/login-form/credentials-form.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/login-form/credentials-form.js +32 -32
- package/dist/better-auth/plugin/payload/components/login-form/index.d.ts +4 -3
- package/dist/better-auth/plugin/payload/components/login-form/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/login-form/index.js +3 -3
- package/dist/better-auth/plugin/payload/components/login-form/index.scss +1 -2
- package/dist/better-auth/plugin/payload/components/logout-button.d.ts +1 -1
- package/dist/better-auth/plugin/payload/components/logout-button.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/logout-button.js +7 -7
- package/dist/better-auth/plugin/payload/components/passkeys/add-button.d.ts +2 -2
- package/dist/better-auth/plugin/payload/components/passkeys/add-button.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/passkeys/add-button.js +17 -17
- package/dist/better-auth/plugin/payload/components/passkeys/client.d.ts +2 -3
- package/dist/better-auth/plugin/payload/components/passkeys/client.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/passkeys/client.js +9 -9
- package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts +4 -4
- package/dist/better-auth/plugin/payload/components/passkeys/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/passkeys/index.js +4 -4
- package/dist/better-auth/plugin/payload/components/passkeys/index.scss +8 -1
- package/dist/better-auth/plugin/payload/components/passkeys/list.d.ts +3 -3
- package/dist/better-auth/plugin/payload/components/passkeys/list.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/passkeys/list.js +12 -12
- package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts +8 -8
- package/dist/better-auth/plugin/payload/components/passkeys/types.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/passkeys/types.js +1 -1
- package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts +1 -2
- package/dist/better-auth/plugin/payload/components/rsc-redirect.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/rsc-redirect.js +5 -5
- package/dist/better-auth/plugin/payload/components/token-field.d.ts +2 -3
- package/dist/better-auth/plugin/payload/components/token-field.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/token-field.js +5 -6
- package/dist/better-auth/plugin/payload/components/two-factor-auth/index.d.ts +5 -5
- package/dist/better-auth/plugin/payload/components/two-factor-auth/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/components/two-factor-auth/index.js +41 -40
- package/dist/better-auth/plugin/payload/components/two-factor-auth/index.scss +6 -3
- package/dist/better-auth/plugin/payload/exports/client.d.ts +6 -7
- package/dist/better-auth/plugin/payload/exports/client.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/exports/client.js +3 -4
- package/dist/better-auth/plugin/payload/exports/rsc.d.ts +8 -8
- package/dist/better-auth/plugin/payload/exports/rsc.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/exports/rsc.js +5 -5
- package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts +1 -1
- package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/utils/generate-admin-invite-url.js +2 -2
- package/dist/better-auth/plugin/payload/utils/get-safe-redirect.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/utils/get-safe-redirect.js +10 -11
- package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts +5 -6
- package/dist/better-auth/plugin/payload/views/admin-login/client.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/admin-login/client.js +6 -7
- package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts +5 -5
- package/dist/better-auth/plugin/payload/views/admin-login/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/admin-login/index.js +21 -21
- package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts +7 -7
- package/dist/better-auth/plugin/payload/views/admin-signup/client.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/admin-signup/client.js +29 -29
- package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts +5 -5
- package/dist/better-auth/plugin/payload/views/admin-signup/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/admin-signup/index.js +14 -14
- package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts +3 -4
- package/dist/better-auth/plugin/payload/views/forgot-password/client.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/forgot-password/client.js +22 -22
- package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts +7 -7
- package/dist/better-auth/plugin/payload/views/forgot-password/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/forgot-password/index.js +10 -10
- package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts +4 -4
- package/dist/better-auth/plugin/payload/views/reset-password/client.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/reset-password/client.js +22 -22
- package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts +7 -7
- package/dist/better-auth/plugin/payload/views/reset-password/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/reset-password/index.js +12 -12
- package/dist/better-auth/plugin/payload/views/two-factor-verify/client.d.ts +4 -2
- package/dist/better-auth/plugin/payload/views/two-factor-verify/client.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/two-factor-verify/client.js +17 -17
- package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts +5 -5
- package/dist/better-auth/plugin/payload/views/two-factor-verify/index.d.ts.map +1 -1
- package/dist/better-auth/plugin/payload/views/two-factor-verify/index.js +10 -10
- package/dist/better-auth/plugin/types.d.ts +28 -30
- package/dist/better-auth/plugin/types.d.ts.map +1 -1
- package/dist/better-auth/plugin/types.js +1 -1
- package/dist/better-auth/plugin/utils/set.d.ts.map +1 -1
- package/dist/better-auth/plugin/utils/set.js +4 -4
- package/dist/better-auth/scripts/generate-types.js +58 -61
- package/dist/better-auth/types.d.ts +2 -2
- package/dist/better-auth/types.d.ts.map +1 -1
- package/dist/better-auth/types.js +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/shared/components/icons.d.ts +2 -3
- package/dist/shared/components/icons.d.ts.map +1 -1
- package/dist/shared/components/icons.js +17 -18
- package/dist/shared/components/logo.d.ts +2 -3
- package/dist/shared/components/logo.d.ts.map +1 -1
- package/dist/shared/components/logo.js +3 -3
- package/dist/shared/form/components/submit.d.ts +1 -1
- package/dist/shared/form/components/submit.d.ts.map +1 -1
- package/dist/shared/form/components/submit.js +2 -2
- package/dist/shared/form/fields/text-field.d.ts.map +1 -1
- package/dist/shared/form/fields/text-field.js +2 -2
- package/dist/shared/form/index.d.ts +13 -19
- package/dist/shared/form/index.d.ts.map +1 -1
- package/dist/shared/form/index.js +4 -4
- package/dist/shared/form/ui/header/index.d.ts +6 -6
- package/dist/shared/form/ui/header/index.d.ts.map +1 -1
- package/dist/shared/form/ui/header/index.js +4 -5
- package/dist/shared/form/ui/header/index.scss +1 -1
- package/dist/shared/form/ui/index.d.ts +26 -23
- package/dist/shared/form/ui/index.d.ts.map +1 -1
- package/dist/shared/form/ui/index.js +33 -20
- package/dist/shared/form/validation.d.ts +1 -1
- package/dist/shared/form/validation.d.ts.map +1 -1
- package/dist/shared/form/validation.js +27 -22
- package/dist/shared/index.d.ts +2 -2
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +1 -1
- package/dist/shared/payload/fields/field-copy-button/index.css +2 -2
- package/dist/shared/payload/fields/field-copy-button/index.d.ts +2 -2
- package/dist/shared/payload/fields/field-copy-button/index.d.ts.map +1 -1
- package/dist/shared/payload/fields/field-copy-button/index.js +2 -2
- package/dist/shared/payload/fields/generate-uuid-button/index.d.ts +2 -2
- package/dist/shared/payload/fields/generate-uuid-button/index.d.ts.map +1 -1
- package/dist/shared/payload/fields/generate-uuid-button/index.js +2 -2
- package/dist/shared/payload/fields/index.d.ts +2 -2
- package/dist/shared/payload/fields/index.d.ts.map +1 -1
- package/dist/shared/payload/fields/index.js +1 -1
- package/dist/shared/utils/regex.d.ts.map +1 -1
- package/dist/shared/utils/regex.js +1 -1
- package/dist/shared/utils/try-catch.d.ts.map +1 -1
- package/dist/shared/utils/try-catch.js +1 -1
- package/dist/shared/utils/value-or-default.d.ts.map +1 -1
- package/dist/shared/utils/value-or-default.js +2 -2
- package/package.json +28 -27
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
|
|
1
|
+
"use client";
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
3
3
|
import "./index.scss";
|
|
4
|
-
import
|
|
5
|
-
import { XIcon, Copy } from "lucide-react";
|
|
6
|
-
import { Button, Modal, toast, useModal, useTranslation, useFormFields, useField } from "@payloadcms/ui";
|
|
7
|
-
import { createAuthClient } from "better-auth/react";
|
|
4
|
+
import { Button, Modal, toast, useField, useFormFields, useModal, useTranslation } from "@payloadcms/ui";
|
|
8
5
|
import { twoFactorClient } from "better-auth/client/plugins";
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { passwordField } from "../../../../../shared/form/validation";
|
|
6
|
+
import { createAuthClient } from "better-auth/react";
|
|
7
|
+
import { Copy, XIcon } from "lucide-react";
|
|
12
8
|
import { QRCodeSVG } from "qrcode.react";
|
|
9
|
+
import React, { useMemo, useState } from "react";
|
|
10
|
+
import { z } from "zod";
|
|
13
11
|
import { useAppForm } from "../../../../../shared/form";
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
import { Form, FormInputWrap } from "../../../../../shared/form/ui";
|
|
13
|
+
import { passwordField } from "../../../../../shared/form/validation";
|
|
14
|
+
const baseClass = "two-factor-auth-modal";
|
|
15
|
+
export function TwoFactorAuth({ baseURL, basePath }) {
|
|
16
|
+
const [totpURI, setTotpURI] = useState("");
|
|
17
17
|
const [backupCodes, setBackupCodes] = useState(null);
|
|
18
|
-
const [formState, setFormState] = useState(
|
|
18
|
+
const [formState, setFormState] = useState("enable");
|
|
19
19
|
const { openModal, closeModal } = useModal();
|
|
20
20
|
const { t } = useTranslation();
|
|
21
21
|
const twoFactorEnabledField = useFormFields(([fields])=>fields.twoFactorEnabled);
|
|
22
22
|
const twoFactorEnabled = Boolean(twoFactorEnabledField?.value);
|
|
23
23
|
const { setValue: setTwoFactorEnabled } = useField({
|
|
24
|
-
path:
|
|
24
|
+
path: "twoFactorEnabled"
|
|
25
25
|
});
|
|
26
26
|
const authClient = useMemo(()=>createAuthClient({
|
|
27
27
|
baseURL,
|
|
@@ -34,9 +34,9 @@ export const TwoFactorAuth = ({ baseURL, basePath })=>{
|
|
|
34
34
|
if (!totpURI) return;
|
|
35
35
|
try {
|
|
36
36
|
await navigator.clipboard.writeText(totpURI);
|
|
37
|
-
toast.success(
|
|
37
|
+
toast.success("Copied");
|
|
38
38
|
} catch {
|
|
39
|
-
toast.error(
|
|
39
|
+
toast.error("Failed to copy");
|
|
40
40
|
}
|
|
41
41
|
};
|
|
42
42
|
// Form Schemas
|
|
@@ -46,13 +46,13 @@ export const TwoFactorAuth = ({ baseURL, basePath })=>{
|
|
|
46
46
|
})
|
|
47
47
|
});
|
|
48
48
|
const otpSchema = z.object({
|
|
49
|
-
otp: z.string().length(6,
|
|
49
|
+
otp: z.string().length(6, "Code must be 6 digits").refine((val)=>/^\d{6}$/.test(val), "Code must be numeric")
|
|
50
50
|
});
|
|
51
51
|
const EnableForm = ()=>{
|
|
52
52
|
const [isLoading, setIsLoading] = useState(false);
|
|
53
53
|
const form = useAppForm({
|
|
54
54
|
defaultValues: {
|
|
55
|
-
password:
|
|
55
|
+
password: ""
|
|
56
56
|
},
|
|
57
57
|
onSubmit: async ({ value })=>{
|
|
58
58
|
setIsLoading(true);
|
|
@@ -65,12 +65,12 @@ export const TwoFactorAuth = ({ baseURL, basePath })=>{
|
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
67
|
setTotpURI(data.totpURI);
|
|
68
|
-
if (data &&
|
|
68
|
+
if (data && "backupCodes" in data && data.backupCodes) {
|
|
69
69
|
setBackupCodes(Array.isArray(data.backupCodes) ? data.backupCodes : String(data.backupCodes).split(/\s+/).filter(Boolean));
|
|
70
70
|
} else {
|
|
71
71
|
setBackupCodes(null);
|
|
72
72
|
}
|
|
73
|
-
setFormState(
|
|
73
|
+
setFormState("verify");
|
|
74
74
|
},
|
|
75
75
|
validators: {
|
|
76
76
|
onSubmit: passwordSchema
|
|
@@ -108,7 +108,7 @@ export const TwoFactorAuth = ({ baseURL, basePath })=>{
|
|
|
108
108
|
const [isLoading, setIsLoading] = useState(false);
|
|
109
109
|
const form = useAppForm({
|
|
110
110
|
defaultValues: {
|
|
111
|
-
otp:
|
|
111
|
+
otp: ""
|
|
112
112
|
},
|
|
113
113
|
onSubmit: async ({ value })=>{
|
|
114
114
|
setIsLoading(true);
|
|
@@ -120,12 +120,12 @@ export const TwoFactorAuth = ({ baseURL, basePath })=>{
|
|
|
120
120
|
toast.error(error.message);
|
|
121
121
|
return;
|
|
122
122
|
}
|
|
123
|
-
if (data &&
|
|
123
|
+
if (data && "backupCodes" in data && data.backupCodes) {
|
|
124
124
|
setBackupCodes(Array.isArray(data.backupCodes) ? data.backupCodes : String(data.backupCodes).split(/\s+/).filter(Boolean));
|
|
125
125
|
}
|
|
126
|
-
toast.success(
|
|
126
|
+
toast.success("Two‑factor verified & enabled");
|
|
127
127
|
setTwoFactorEnabled(true);
|
|
128
|
-
setFormState(
|
|
128
|
+
setFormState("backupCodes");
|
|
129
129
|
},
|
|
130
130
|
validators: {
|
|
131
131
|
onSubmit: otpSchema
|
|
@@ -162,16 +162,16 @@ export const TwoFactorAuth = ({ baseURL, basePath })=>{
|
|
|
162
162
|
const DisableForm = ()=>{
|
|
163
163
|
const form = useAppForm({
|
|
164
164
|
defaultValues: {
|
|
165
|
-
password:
|
|
165
|
+
password: ""
|
|
166
166
|
},
|
|
167
167
|
onSubmit: async ({ value })=>{
|
|
168
168
|
await authClient.twoFactor.disable({
|
|
169
169
|
password: value.password
|
|
170
170
|
}, {
|
|
171
171
|
onSuccess () {
|
|
172
|
-
toast.success(
|
|
172
|
+
toast.success("Two‑factor disabled");
|
|
173
173
|
setTwoFactorEnabled(false);
|
|
174
|
-
closeModal(
|
|
174
|
+
closeModal("two-factor-auth-modal");
|
|
175
175
|
return undefined;
|
|
176
176
|
},
|
|
177
177
|
onError (ctx) {
|
|
@@ -216,16 +216,16 @@ export const TwoFactorAuth = ({ baseURL, basePath })=>{
|
|
|
216
216
|
children: [
|
|
217
217
|
twoFactorEnabled ? /*#__PURE__*/ _jsx(Button, {
|
|
218
218
|
onClick: ()=>{
|
|
219
|
-
setFormState(
|
|
220
|
-
openModal(
|
|
219
|
+
setFormState("disable");
|
|
220
|
+
openModal("two-factor-auth-modal");
|
|
221
221
|
},
|
|
222
222
|
size: "medium",
|
|
223
223
|
buttonStyle: "pill",
|
|
224
224
|
children: "Disable Two-Factor"
|
|
225
225
|
}) : /*#__PURE__*/ _jsx(Button, {
|
|
226
226
|
onClick: ()=>{
|
|
227
|
-
setFormState(
|
|
228
|
-
openModal(
|
|
227
|
+
setFormState("enable");
|
|
228
|
+
openModal("two-factor-auth-modal");
|
|
229
229
|
},
|
|
230
230
|
size: "medium",
|
|
231
231
|
buttonStyle: "pill",
|
|
@@ -239,7 +239,7 @@ export const TwoFactorAuth = ({ baseURL, basePath })=>{
|
|
|
239
239
|
className: `${baseClass}__wrapper`,
|
|
240
240
|
children: [
|
|
241
241
|
/*#__PURE__*/ _jsx(Button, {
|
|
242
|
-
onClick: ()=>closeModal(
|
|
242
|
+
onClick: ()=>closeModal("two-factor-auth-modal"),
|
|
243
243
|
buttonStyle: "icon-label",
|
|
244
244
|
size: "small",
|
|
245
245
|
className: `${baseClass}__close-button`,
|
|
@@ -250,10 +250,10 @@ export const TwoFactorAuth = ({ baseURL, basePath })=>{
|
|
|
250
250
|
/*#__PURE__*/ _jsxs("div", {
|
|
251
251
|
className: `${baseClass}__content`,
|
|
252
252
|
style: {
|
|
253
|
-
maxWidth:
|
|
253
|
+
maxWidth: "38rem"
|
|
254
254
|
},
|
|
255
255
|
children: [
|
|
256
|
-
formState ===
|
|
256
|
+
formState === "enable" && /*#__PURE__*/ _jsxs(_Fragment, {
|
|
257
257
|
children: [
|
|
258
258
|
/*#__PURE__*/ _jsx("h2", {
|
|
259
259
|
children: "Enable Two‑Factor"
|
|
@@ -261,7 +261,7 @@ export const TwoFactorAuth = ({ baseURL, basePath })=>{
|
|
|
261
261
|
/*#__PURE__*/ _jsx(EnableForm, {})
|
|
262
262
|
]
|
|
263
263
|
}),
|
|
264
|
-
formState ===
|
|
264
|
+
formState === "verify" && /*#__PURE__*/ _jsxs(_Fragment, {
|
|
265
265
|
children: [
|
|
266
266
|
/*#__PURE__*/ _jsx("h2", {
|
|
267
267
|
children: "Verify Two‑Factor"
|
|
@@ -289,7 +289,8 @@ export const TwoFactorAuth = ({ baseURL, basePath })=>{
|
|
|
289
289
|
size: 18,
|
|
290
290
|
className: "two-factor-auth-modal__copy-icon"
|
|
291
291
|
}),
|
|
292
|
-
"
|
|
292
|
+
" ",
|
|
293
|
+
"Copy URI"
|
|
293
294
|
]
|
|
294
295
|
}),
|
|
295
296
|
/*#__PURE__*/ _jsx(VerifyForm, {})
|
|
@@ -297,7 +298,7 @@ export const TwoFactorAuth = ({ baseURL, basePath })=>{
|
|
|
297
298
|
})
|
|
298
299
|
]
|
|
299
300
|
}),
|
|
300
|
-
formState ===
|
|
301
|
+
formState === "backupCodes" && backupCodes && /*#__PURE__*/ _jsxs(_Fragment, {
|
|
301
302
|
children: [
|
|
302
303
|
/*#__PURE__*/ _jsx("h2", {
|
|
303
304
|
children: "Backup Codes"
|
|
@@ -318,7 +319,7 @@ export const TwoFactorAuth = ({ baseURL, basePath })=>{
|
|
|
318
319
|
]
|
|
319
320
|
}),
|
|
320
321
|
/*#__PURE__*/ _jsx(Button, {
|
|
321
|
-
onClick: ()=>closeModal(
|
|
322
|
+
onClick: ()=>closeModal("two-factor-auth-modal"),
|
|
322
323
|
buttonStyle: "primary",
|
|
323
324
|
size: "large",
|
|
324
325
|
className: "two-factor-auth-modal__backup-codes-close-button",
|
|
@@ -326,7 +327,7 @@ export const TwoFactorAuth = ({ baseURL, basePath })=>{
|
|
|
326
327
|
})
|
|
327
328
|
]
|
|
328
329
|
}),
|
|
329
|
-
formState ===
|
|
330
|
+
formState === "disable" && /*#__PURE__*/ _jsxs(_Fragment, {
|
|
330
331
|
children: [
|
|
331
332
|
/*#__PURE__*/ _jsx("h2", {
|
|
332
333
|
children: "Two‑Factor Authentication"
|
|
@@ -341,6 +342,6 @@ export const TwoFactorAuth = ({ baseURL, basePath })=>{
|
|
|
341
342
|
})
|
|
342
343
|
]
|
|
343
344
|
});
|
|
344
|
-
}
|
|
345
|
+
}
|
|
345
346
|
|
|
346
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9jb21wb25lbnRzL3R3by1mYWN0b3ItYXV0aC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiJ3VzZSBjbGllbnQnXG5cbmltcG9ydCAnLi9pbmRleC5zY3NzJ1xuXG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFhJY29uLCBDb3B5IH0gZnJvbSAnbHVjaWRlLXJlYWN0J1xuaW1wb3J0IHsgQnV0dG9uLCBNb2RhbCwgdG9hc3QsIHVzZU1vZGFsLCB1c2VUcmFuc2xhdGlvbiwgdXNlRm9ybUZpZWxkcywgdXNlRmllbGQgfSBmcm9tICdAcGF5bG9hZGNtcy91aSdcbmltcG9ydCB7IGNyZWF0ZUF1dGhDbGllbnQgfSBmcm9tICdiZXR0ZXItYXV0aC9yZWFjdCdcbmltcG9ydCB7IHR3b0ZhY3RvckNsaWVudCB9IGZyb20gJ2JldHRlci1hdXRoL2NsaWVudC9wbHVnaW5zJ1xuaW1wb3J0IHsgRm9ybSwgRm9ybUlucHV0V3JhcCB9IGZyb20gJ0Avc2hhcmVkL2Zvcm0vdWknXG5pbXBvcnQgeyB6IH0gZnJvbSAnem9kJ1xuaW1wb3J0IHsgcGFzc3dvcmRGaWVsZCB9IGZyb20gJ0Avc2hhcmVkL2Zvcm0vdmFsaWRhdGlvbidcbmltcG9ydCB7IFFSQ29kZVNWRyB9IGZyb20gJ3FyY29kZS5yZWFjdCdcbmltcG9ydCB7IHVzZUFwcEZvcm0gfSBmcm9tICdAL3NoYXJlZC9mb3JtJ1xuXG5jb25zdCBiYXNlQ2xhc3MgPSAndHdvLWZhY3Rvci1hdXRoLW1vZGFsJ1xuXG50eXBlIFR3b0ZhY3RvckF1dGhQcm9wcyA9IHtcbiAgYmFzZVVSTD86IHN0cmluZ1xuICBiYXNlUGF0aD86IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgVHdvRmFjdG9yQXV0aDogUmVhY3QuRkM8VHdvRmFjdG9yQXV0aFByb3BzPiA9ICh7IGJhc2VVUkwsIGJhc2VQYXRoIH0pID0+IHtcbiAgY29uc3QgW3RvdHBVUkksIHNldFRvdHBVUkldID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtiYWNrdXBDb2Rlcywgc2V0QmFja3VwQ29kZXNdID0gdXNlU3RhdGU8c3RyaW5nW10gfCBudWxsPihudWxsKVxuICBjb25zdCBbZm9ybVN0YXRlLCBzZXRGb3JtU3RhdGVdID0gdXNlU3RhdGU8J2VuYWJsZScgfCAndmVyaWZ5JyB8ICdiYWNrdXBDb2RlcycgfCAnZGlzYWJsZSc+KCdlbmFibGUnKVxuICBjb25zdCB7IG9wZW5Nb2RhbCwgY2xvc2VNb2RhbCB9ID0gdXNlTW9kYWwoKVxuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKClcbiAgY29uc3QgdHdvRmFjdG9yRW5hYmxlZEZpZWxkID0gdXNlRm9ybUZpZWxkcygoW2ZpZWxkc10pID0+IGZpZWxkcy50d29GYWN0b3JFbmFibGVkKVxuICBjb25zdCB0d29GYWN0b3JFbmFibGVkID0gQm9vbGVhbih0d29GYWN0b3JFbmFibGVkRmllbGQ/LnZhbHVlKVxuICBjb25zdCB7IHNldFZhbHVlOiBzZXRUd29GYWN0b3JFbmFibGVkIH0gPSB1c2VGaWVsZCh7IHBhdGg6ICd0d29GYWN0b3JFbmFibGVkJyB9KVxuXG4gIGNvbnN0IGF1dGhDbGllbnQgPSB1c2VNZW1vKCgpID0+IGNyZWF0ZUF1dGhDbGllbnQoeyBiYXNlVVJMLCBiYXNlUGF0aCwgcGx1Z2luczogW3R3b0ZhY3RvckNsaWVudCgpXSB9KSwgW10pXG5cbiAgY29uc3QgY29weVVSSSA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAoIXRvdHBVUkkpIHJldHVyblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0b3RwVVJJKVxuICAgICAgdG9hc3Quc3VjY2VzcygnQ29waWVkJylcbiAgICB9IGNhdGNoIHtcbiAgICAgIHRvYXN0LmVycm9yKCdGYWlsZWQgdG8gY29weScpXG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBTY2hlbWFzXG4gIGNvbnN0IHBhc3N3b3JkU2NoZW1hID0gei5vYmplY3Qoe1xuICAgIHBhc3N3b3JkOiBwYXNzd29yZEZpZWxkKHsgdCB9KVxuICB9KVxuXG4gIGNvbnN0IG90cFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBvdHA6IHpcbiAgICAgIC5zdHJpbmcoKVxuICAgICAgLmxlbmd0aCg2LCAnQ29kZSBtdXN0IGJlIDYgZGlnaXRzJylcbiAgICAgIC5yZWZpbmUoKHZhbCkgPT4gL15cXGR7Nn0kLy50ZXN0KHZhbCksICdDb2RlIG11c3QgYmUgbnVtZXJpYycpXG4gIH0pXG5cbiAgY29uc3QgRW5hYmxlRm9ybSA9ICgpID0+IHtcbiAgICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gICAgY29uc3QgZm9ybSA9IHVzZUFwcEZvcm0oe1xuICAgICAgZGVmYXVsdFZhbHVlczogeyBwYXNzd29yZDogJycgfSxcbiAgICAgIG9uU3VibWl0OiBhc3luYyAoeyB2YWx1ZSB9OiB7IHZhbHVlOiB7IHBhc3N3b3JkOiBzdHJpbmcgfSB9KSA9PiB7XG4gICAgICAgIHNldElzTG9hZGluZyh0cnVlKVxuICAgICAgICBjb25zdCB7IGRhdGEsIGVycm9yIH0gPSBhd2FpdCBhdXRoQ2xpZW50LnR3b0ZhY3Rvci5lbmFibGUoeyBwYXNzd29yZDogdmFsdWUucGFzc3dvcmQgfSlcbiAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICB0b2FzdC5lcnJvcihlcnJvci5tZXNzYWdlKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIHNldFRvdHBVUkkoZGF0YS50b3RwVVJJKVxuICAgICAgICBpZiAoZGF0YSAmJiAnYmFja3VwQ29kZXMnIGluIGRhdGEgJiYgZGF0YS5iYWNrdXBDb2Rlcykge1xuICAgICAgICAgIHNldEJhY2t1cENvZGVzKEFycmF5LmlzQXJyYXkoZGF0YS5iYWNrdXBDb2RlcykgPyBkYXRhLmJhY2t1cENvZGVzIDogU3RyaW5nKGRhdGEuYmFja3VwQ29kZXMpLnNwbGl0KC9cXHMrLykuZmlsdGVyKEJvb2xlYW4pKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldEJhY2t1cENvZGVzKG51bGwpXG4gICAgICAgIH1cbiAgICAgICAgc2V0Rm9ybVN0YXRlKCd2ZXJpZnknKVxuICAgICAgfSxcbiAgICAgIHZhbGlkYXRvcnM6IHsgb25TdWJtaXQ6IHBhc3N3b3JkU2NoZW1hIH1cbiAgICB9KVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxGb3JtXG4gICAgICAgIG9uU3VibWl0PXsoZSkgPT4ge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIHZvaWQgZm9ybS5oYW5kbGVTdWJtaXQoKVxuICAgICAgICB9fVxuICAgICAgICBjbGFzc05hbWU9XCJ0d28tZmFjdG9yLWVuYWJsZS1mb3JtXCI+XG4gICAgICAgIDxGb3JtSW5wdXRXcmFwIGNsYXNzTmFtZT1cInR3by1mYWN0b3ItZW5hYmxlLWZvcm1fX2lucHV0V3JhcFwiPlxuICAgICAgICAgIDxmb3JtLkFwcEZpZWxkXG4gICAgICAgICAgICBuYW1lPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgY2hpbGRyZW49eyhmaWVsZDogYW55KSA9PiA8ZmllbGQuVGV4dEZpZWxkIHR5cGU9XCJwYXNzd29yZFwiIGNsYXNzTmFtZT1cInBhc3N3b3JkXCIgbGFiZWw9XCJQYXNzd29yZFwiIHJlcXVpcmVkIC8+fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvRm9ybUlucHV0V3JhcD5cbiAgICAgICAgPGZvcm0uQXBwRm9ybSBjaGlsZHJlbj17PGZvcm0uU3VibWl0IGxhYmVsPVwiRW5hYmxlXCIgbG9hZGluZ0xhYmVsPVwiRW5hYmxpbmdcIiAvPn0gLz5cbiAgICAgIDwvRm9ybT5cbiAgICApXG4gIH1cblxuICBjb25zdCBWZXJpZnlGb3JtID0gKCkgPT4ge1xuICAgIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgICBjb25zdCBmb3JtID0gdXNlQXBwRm9ybSh7XG4gICAgICBkZWZhdWx0VmFsdWVzOiB7IG90cDogJycgfSxcbiAgICAgIG9uU3VibWl0OiBhc3luYyAoeyB2YWx1ZSB9OiB7IHZhbHVlOiB7IG90cDogc3RyaW5nIH0gfSkgPT4ge1xuICAgICAgICBzZXRJc0xvYWRpbmcodHJ1ZSlcbiAgICAgICAgY29uc3QgeyBkYXRhLCBlcnJvciB9ID0gYXdhaXQgYXV0aENsaWVudC50d29GYWN0b3IudmVyaWZ5VG90cCh7IGNvZGU6IHZhbHVlLm90cCB9KVxuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgIHRvYXN0LmVycm9yKGVycm9yLm1lc3NhZ2UpXG4gICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGEgJiYgJ2JhY2t1cENvZGVzJyBpbiBkYXRhICYmIGRhdGEuYmFja3VwQ29kZXMpIHtcbiAgICAgICAgICBzZXRCYWNrdXBDb2RlcyhBcnJheS5pc0FycmF5KGRhdGEuYmFja3VwQ29kZXMpID8gZGF0YS5iYWNrdXBDb2RlcyA6IFN0cmluZyhkYXRhLmJhY2t1cENvZGVzKS5zcGxpdCgvXFxzKy8pLmZpbHRlcihCb29sZWFuKSlcbiAgICAgICAgfVxuICAgICAgICB0b2FzdC5zdWNjZXNzKCdUd2/igJFmYWN0b3IgdmVyaWZpZWQgJiBlbmFibGVkJylcbiAgICAgICAgc2V0VHdvRmFjdG9yRW5hYmxlZCh0cnVlKVxuICAgICAgICBzZXRGb3JtU3RhdGUoJ2JhY2t1cENvZGVzJylcbiAgICAgIH0sXG4gICAgICB2YWxpZGF0b3JzOiB7IG9uU3VibWl0OiBvdHBTY2hlbWEgfVxuICAgIH0pXG5cbiAgICByZXR1cm4gKFxuICAgICAgPEZvcm1cbiAgICAgICAgb25TdWJtaXQ9eyhlKSA9PiB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgdm9pZCBmb3JtLmhhbmRsZVN1Ym1pdCgpXG4gICAgICAgIH19XG4gICAgICAgIGNsYXNzTmFtZT1cInR3by1mYWN0b3ItdmVyaWZ5LWZvcm1cIj5cbiAgICAgICAgPEZvcm1JbnB1dFdyYXAgY2xhc3NOYW1lPVwidGZfX2lucHV0V3JhcFwiPlxuICAgICAgICAgIDxmb3JtLkFwcEZpZWxkXG4gICAgICAgICAgICBuYW1lPVwib3RwXCJcbiAgICAgICAgICAgIGNoaWxkcmVuPXsoZmllbGQ6IGFueSkgPT4gPGZpZWxkLlRleHRGaWVsZCB0eXBlPVwidGV4dFwiIGNsYXNzTmFtZT1cInRleHQgb3RwXCIgbGFiZWw9XCI24oCRZGlnaXQgQ29kZVwiIHJlcXVpcmVkIC8+fVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvRm9ybUlucHV0V3JhcD5cbiAgICAgICAgPGZvcm0uQXBwRm9ybSBjaGlsZHJlbj17PGZvcm0uU3VibWl0IGxhYmVsPVwiVmVyaWZ5XCIgbG9hZGluZ0xhYmVsPVwiVmVyaWZ5aW5nXCIgLz59IC8+XG4gICAgICA8L0Zvcm0+XG4gICAgKVxuICB9XG5cbiAgY29uc3QgRGlzYWJsZUZvcm0gPSAoKSA9PiB7XG4gICAgY29uc3QgZm9ybSA9IHVzZUFwcEZvcm0oe1xuICAgICAgZGVmYXVsdFZhbHVlczogeyBwYXNzd29yZDogJycgfSxcbiAgICAgIG9uU3VibWl0OiBhc3luYyAoeyB2YWx1ZSB9OiB7IHZhbHVlOiB7IHBhc3N3b3JkOiBzdHJpbmcgfSB9KSA9PiB7XG4gICAgICAgIGF3YWl0IGF1dGhDbGllbnQudHdvRmFjdG9yLmRpc2FibGUoXG4gICAgICAgICAgeyBwYXNzd29yZDogdmFsdWUucGFzc3dvcmQgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvblN1Y2Nlc3MoKSB7XG4gICAgICAgICAgICAgIHRvYXN0LnN1Y2Nlc3MoJ1R3b+KAkWZhY3RvciBkaXNhYmxlZCcpXG4gICAgICAgICAgICAgIHNldFR3b0ZhY3RvckVuYWJsZWQoZmFsc2UpXG4gICAgICAgICAgICAgIGNsb3NlTW9kYWwoJ3R3by1mYWN0b3ItYXV0aC1tb2RhbCcpXG4gICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvbkVycm9yKGN0eDogYW55KSB7XG4gICAgICAgICAgICAgIHRvYXN0LmVycm9yKGN0eC5lcnJvci5tZXNzYWdlKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgKVxuICAgICAgfSxcbiAgICAgIHZhbGlkYXRvcnM6IHsgb25TdWJtaXQ6IHBhc3N3b3JkU2NoZW1hIH1cbiAgICB9KVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxGb3JtXG4gICAgICAgIG9uU3VibWl0PXsoZSkgPT4ge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgICAgICAgIHZvaWQgZm9ybS5oYW5kbGVTdWJtaXQoKVxuICAgICAgICB9fVxuICAgICAgICBjbGFzc05hbWU9XCJ0d28tZmFjdG9yLWRpc2FibGUtZm9ybSBtdC00XCI+XG4gICAgICAgIDxGb3JtSW5wdXRXcmFwIGNsYXNzTmFtZT1cInR3by1mYWN0b3ItZGlzYWJsZS1mb3JtX19pbnB1dFdyYXBcIj5cbiAgICAgICAgICA8Zm9ybS5BcHBGaWVsZFxuICAgICAgICAgICAgbmFtZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgIGNoaWxkcmVuPXsoZmllbGQ6IGFueSkgPT4gPGZpZWxkLlRleHRGaWVsZCB0eXBlPVwicGFzc3dvcmRcIiBjbGFzc05hbWU9XCJwYXNzd29yZFwiIGxhYmVsPVwiUGFzc3dvcmRcIiByZXF1aXJlZCAvPn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0Zvcm1JbnB1dFdyYXA+XG4gICAgICAgIDxmb3JtLkFwcEZvcm0gY2hpbGRyZW49ezxmb3JtLlN1Ym1pdCBsYWJlbD1cIkRpc2FibGUgVHdv4oCRRmFjdG9yXCIgbG9hZGluZ0xhYmVsPVwiRGlzYWJsaW5nXCIgLz59IC8+XG4gICAgICA8L0Zvcm0+XG4gICAgKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT1cInR3by1mYWN0b3ItYXV0aC1maWVsZFwiPlxuICAgICAge3R3b0ZhY3RvckVuYWJsZWQgPyAoXG4gICAgICAgIDxCdXR0b25cbiAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICBzZXRGb3JtU3RhdGUoJ2Rpc2FibGUnKVxuICAgICAgICAgICAgb3Blbk1vZGFsKCd0d28tZmFjdG9yLWF1dGgtbW9kYWwnKVxuICAgICAgICAgIH19XG4gICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiXG4gICAgICAgICAgYnV0dG9uU3R5bGU9XCJwaWxsXCI+XG4gICAgICAgICAgRGlzYWJsZSBUd28tRmFjdG9yXG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgKSA6IChcbiAgICAgICAgPEJ1dHRvblxuICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgIHNldEZvcm1TdGF0ZSgnZW5hYmxlJylcbiAgICAgICAgICAgIG9wZW5Nb2RhbCgndHdvLWZhY3Rvci1hdXRoLW1vZGFsJylcbiAgICAgICAgICB9fVxuICAgICAgICAgIHNpemU9XCJtZWRpdW1cIlxuICAgICAgICAgIGJ1dHRvblN0eWxlPVwicGlsbFwiPlxuICAgICAgICAgIEVuYWJsZSBUd28tRmFjdG9yXG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgKX1cbiAgICAgIDxNb2RhbCBzbHVnPVwidHdvLWZhY3Rvci1hdXRoLW1vZGFsXCIgY2xhc3NOYW1lPXtiYXNlQ2xhc3N9IGNsb3NlT25CbHVyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fd3JhcHBlcmB9PlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGNsb3NlTW9kYWwoJ3R3by1mYWN0b3ItYXV0aC1tb2RhbCcpfVxuICAgICAgICAgICAgYnV0dG9uU3R5bGU9XCJpY29uLWxhYmVsXCJcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Nsb3NlLWJ1dHRvbmB9PlxuICAgICAgICAgICAgPFhJY29uIHNpemU9ezI0fSAvPlxuICAgICAgICAgIDwvQnV0dG9uPlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2NvbnRlbnRgfSBzdHlsZT17eyBtYXhXaWR0aDogJzM4cmVtJyB9fT5cbiAgICAgICAgICAgIHtmb3JtU3RhdGUgPT09ICdlbmFibGUnICYmIChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8aDI+RW5hYmxlIFR3b+KAkUZhY3RvcjwvaDI+XG4gICAgICAgICAgICAgICAgPEVuYWJsZUZvcm0gLz5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge2Zvcm1TdGF0ZSA9PT0gJ3ZlcmlmeScgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxoMj5WZXJpZnkgVHdv4oCRRmFjdG9yPC9oMj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInR3by1mYWN0b3ItYXV0aC1tb2RhbF9fdmVyaWZ5LWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgICA8cD5TY2FuIHRoZSBRUiBjb2RlIHdpdGggeW91ciBhdXRoZW50aWNhdG9yIGFwcCBvciBjb3B5IHRoZSBVUkkuPC9wPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0d28tZmFjdG9yLWF1dGgtbW9kYWxfX3FyY29kZVwiPlxuICAgICAgICAgICAgICAgICAgICA8UVJDb2RlU1ZHIHZhbHVlPXt0b3RwVVJJfSBzaXplPXsyMDB9IC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxCdXR0b24gc2l6ZT1cInNtYWxsXCIgYnV0dG9uU3R5bGU9XCJ0cmFuc3BhcmVudFwiIG9uQ2xpY2s9e2NvcHlVUkl9IGNsYXNzTmFtZT1cInR3by1mYWN0b3ItYXV0aC1tb2RhbF9fY29weS1idG5cIj5cbiAgICAgICAgICAgICAgICAgICAgPENvcHkgc2l6ZT17MTh9IGNsYXNzTmFtZT1cInR3by1mYWN0b3ItYXV0aC1tb2RhbF9fY29weS1pY29uXCIgLz4gQ29weSBVUklcbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgICAgPFZlcmlmeUZvcm0gLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge2Zvcm1TdGF0ZSA9PT0gJ2JhY2t1cENvZGVzJyAmJiBiYWNrdXBDb2RlcyAmJiAoXG4gICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgPGgyPkJhY2t1cCBDb2RlczwvaDI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0d28tZmFjdG9yLWF1dGgtbW9kYWxfX2JhY2t1cC1jb2Rlc1wiPlxuICAgICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICB7YmFja3VwQ29kZXMubWFwKChjb2RlLCBpKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17aX0gY2xhc3NOYW1lPVwidHdvLWZhY3Rvci1hdXRoLW1vZGFsX19iYWNrdXAtY29kZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge2NvZGV9XG4gICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidHdvLWZhY3Rvci1hdXRoLW1vZGFsX19iYWNrdXAtZGVzY1wiPlxuICAgICAgICAgICAgICAgICAgICBTdG9yZSB0aGVzZSBjb2RlcyBpbiBhIHNhZmUgcGxhY2UuIEVhY2ggY29kZSBjYW4gYmUgdXNlZCBvbmNlIGlmIHlvdSBsb3NlIGFjY2VzcyB0byB5b3VyIGF1dGhlbnRpY2F0b3IuXG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gY2xvc2VNb2RhbCgndHdvLWZhY3Rvci1hdXRoLW1vZGFsJyl9XG4gICAgICAgICAgICAgICAgICBidXR0b25TdHlsZT1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgc2l6ZT1cImxhcmdlXCJcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInR3by1mYWN0b3ItYXV0aC1tb2RhbF9fYmFja3VwLWNvZGVzLWNsb3NlLWJ1dHRvblwiPlxuICAgICAgICAgICAgICAgICAgU2F2ZWQgdGhlbSFcbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAge2Zvcm1TdGF0ZSA9PT0gJ2Rpc2FibGUnICYmIChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8aDI+VHdv4oCRRmFjdG9yIEF1dGhlbnRpY2F0aW9uPC9oMj5cbiAgICAgICAgICAgICAgICA8RGlzYWJsZUZvcm0gLz5cbiAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvTW9kYWw+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJuYW1lcyI6WyJSZWFjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsIlhJY29uIiwiQ29weSIsIkJ1dHRvbiIsIk1vZGFsIiwidG9hc3QiLCJ1c2VNb2RhbCIsInVzZVRyYW5zbGF0aW9uIiwidXNlRm9ybUZpZWxkcyIsInVzZUZpZWxkIiwiY3JlYXRlQXV0aENsaWVudCIsInR3b0ZhY3RvckNsaWVudCIsIkZvcm0iLCJGb3JtSW5wdXRXcmFwIiwieiIsInBhc3N3b3JkRmllbGQiLCJRUkNvZGVTVkciLCJ1c2VBcHBGb3JtIiwiYmFzZUNsYXNzIiwiVHdvRmFjdG9yQXV0aCIsImJhc2VVUkwiLCJiYXNlUGF0aCIsInRvdHBVUkkiLCJzZXRUb3RwVVJJIiwiYmFja3VwQ29kZXMiLCJzZXRCYWNrdXBDb2RlcyIsImZvcm1TdGF0ZSIsInNldEZvcm1TdGF0ZSIsIm9wZW5Nb2RhbCIsImNsb3NlTW9kYWwiLCJ0IiwidHdvRmFjdG9yRW5hYmxlZEZpZWxkIiwiZmllbGRzIiwidHdvRmFjdG9yRW5hYmxlZCIsIkJvb2xlYW4iLCJ2YWx1ZSIsInNldFZhbHVlIiwic2V0VHdvRmFjdG9yRW5hYmxlZCIsInBhdGgiLCJhdXRoQ2xpZW50IiwicGx1Z2lucyIsImNvcHlVUkkiLCJuYXZpZ2F0b3IiLCJjbGlwYm9hcmQiLCJ3cml0ZVRleHQiLCJzdWNjZXNzIiwiZXJyb3IiLCJwYXNzd29yZFNjaGVtYSIsIm9iamVjdCIsInBhc3N3b3JkIiwib3RwU2NoZW1hIiwib3RwIiwic3RyaW5nIiwibGVuZ3RoIiwicmVmaW5lIiwidmFsIiwidGVzdCIsIkVuYWJsZUZvcm0iLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJmb3JtIiwiZGVmYXVsdFZhbHVlcyIsIm9uU3VibWl0IiwiZGF0YSIsInR3b0ZhY3RvciIsImVuYWJsZSIsIm1lc3NhZ2UiLCJBcnJheSIsImlzQXJyYXkiLCJTdHJpbmciLCJzcGxpdCIsImZpbHRlciIsInZhbGlkYXRvcnMiLCJlIiwicHJldmVudERlZmF1bHQiLCJoYW5kbGVTdWJtaXQiLCJjbGFzc05hbWUiLCJBcHBGaWVsZCIsIm5hbWUiLCJjaGlsZHJlbiIsImZpZWxkIiwiVGV4dEZpZWxkIiwidHlwZSIsImxhYmVsIiwicmVxdWlyZWQiLCJBcHBGb3JtIiwiU3VibWl0IiwibG9hZGluZ0xhYmVsIiwiVmVyaWZ5Rm9ybSIsInZlcmlmeVRvdHAiLCJjb2RlIiwiRGlzYWJsZUZvcm0iLCJkaXNhYmxlIiwib25TdWNjZXNzIiwidW5kZWZpbmVkIiwib25FcnJvciIsImN0eCIsImRpdiIsIm9uQ2xpY2siLCJzaXplIiwiYnV0dG9uU3R5bGUiLCJzbHVnIiwiY2xvc2VPbkJsdXIiLCJzdHlsZSIsIm1heFdpZHRoIiwiaDIiLCJwIiwidWwiLCJtYXAiLCJpIiwibGkiXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBLE9BQU8sZUFBYztBQUVyQixPQUFPQSxTQUFTQyxPQUFPLEVBQUVDLFFBQVEsUUFBUSxRQUFPO0FBQ2hELFNBQVNDLEtBQUssRUFBRUMsSUFBSSxRQUFRLGVBQWM7QUFDMUMsU0FBU0MsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLEtBQUssRUFBRUMsUUFBUSxFQUFFQyxjQUFjLEVBQUVDLGFBQWEsRUFBRUMsUUFBUSxRQUFRLGlCQUFnQjtBQUN4RyxTQUFTQyxnQkFBZ0IsUUFBUSxvQkFBbUI7QUFDcEQsU0FBU0MsZUFBZSxRQUFRLDZCQUE0QjtBQUM1RCxTQUFTQyxJQUFJLEVBQUVDLGFBQWEsUUFBUSxnQ0FBa0I7QUFDdEQsU0FBU0MsQ0FBQyxRQUFRLE1BQUs7QUFDdkIsU0FBU0MsYUFBYSxRQUFRLHdDQUEwQjtBQUN4RCxTQUFTQyxTQUFTLFFBQVEsZUFBYztBQUN4QyxTQUFTQyxVQUFVLFFBQVEsNkJBQWU7QUFFMUMsTUFBTUMsWUFBWTtBQU9sQixPQUFPLE1BQU1DLGdCQUE4QyxDQUFDLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFO0lBQy9FLE1BQU0sQ0FBQ0MsU0FBU0MsV0FBVyxHQUFHdkIsU0FBUztJQUN2QyxNQUFNLENBQUN3QixhQUFhQyxlQUFlLEdBQUd6QixTQUEwQjtJQUNoRSxNQUFNLENBQUMwQixXQUFXQyxhQUFhLEdBQUczQixTQUEwRDtJQUM1RixNQUFNLEVBQUU0QixTQUFTLEVBQUVDLFVBQVUsRUFBRSxHQUFHdkI7SUFDbEMsTUFBTSxFQUFFd0IsQ0FBQyxFQUFFLEdBQUd2QjtJQUNkLE1BQU13Qix3QkFBd0J2QixjQUFjLENBQUMsQ0FBQ3dCLE9BQU8sR0FBS0EsT0FBT0MsZ0JBQWdCO0lBQ2pGLE1BQU1BLG1CQUFtQkMsUUFBUUgsdUJBQXVCSTtJQUN4RCxNQUFNLEVBQUVDLFVBQVVDLG1CQUFtQixFQUFFLEdBQUc1QixTQUFTO1FBQUU2QixNQUFNO0lBQW1CO0lBRTlFLE1BQU1DLGFBQWF4QyxRQUFRLElBQU1XLGlCQUFpQjtZQUFFVTtZQUFTQztZQUFVbUIsU0FBUztnQkFBQzdCO2FBQWtCO1FBQUMsSUFBSSxFQUFFO0lBRTFHLE1BQU04QixVQUFVO1FBQ2QsSUFBSSxDQUFDbkIsU0FBUztRQUNkLElBQUk7WUFDRixNQUFNb0IsVUFBVUMsU0FBUyxDQUFDQyxTQUFTLENBQUN0QjtZQUNwQ2pCLE1BQU13QyxPQUFPLENBQUM7UUFDaEIsRUFBRSxPQUFNO1lBQ054QyxNQUFNeUMsS0FBSyxDQUFDO1FBQ2Q7SUFDRjtJQUVBLGVBQWU7SUFDZixNQUFNQyxpQkFBaUJqQyxFQUFFa0MsTUFBTSxDQUFDO1FBQzlCQyxVQUFVbEMsY0FBYztZQUFFZTtRQUFFO0lBQzlCO0lBRUEsTUFBTW9CLFlBQVlwQyxFQUFFa0MsTUFBTSxDQUFDO1FBQ3pCRyxLQUFLckMsRUFDRnNDLE1BQU0sR0FDTkMsTUFBTSxDQUFDLEdBQUcseUJBQ1ZDLE1BQU0sQ0FBQyxDQUFDQyxNQUFRLFVBQVVDLElBQUksQ0FBQ0QsTUFBTTtJQUMxQztJQUVBLE1BQU1FLGFBQWE7UUFDakIsTUFBTSxDQUFDQyxXQUFXQyxhQUFhLEdBQUczRCxTQUFTO1FBQzNDLE1BQU00RCxPQUFPM0MsV0FBVztZQUN0QjRDLGVBQWU7Z0JBQUVaLFVBQVU7WUFBRztZQUM5QmEsVUFBVSxPQUFPLEVBQUUzQixLQUFLLEVBQW1DO2dCQUN6RHdCLGFBQWE7Z0JBQ2IsTUFBTSxFQUFFSSxJQUFJLEVBQUVqQixLQUFLLEVBQUUsR0FBRyxNQUFNUCxXQUFXeUIsU0FBUyxDQUFDQyxNQUFNLENBQUM7b0JBQUVoQixVQUFVZCxNQUFNYyxRQUFRO2dCQUFDO2dCQUNyRlUsYUFBYTtnQkFDYixJQUFJYixPQUFPO29CQUNUekMsTUFBTXlDLEtBQUssQ0FBQ0EsTUFBTW9CLE9BQU87b0JBQ3pCO2dCQUNGO2dCQUNBM0MsV0FBV3dDLEtBQUt6QyxPQUFPO2dCQUN2QixJQUFJeUMsUUFBUSxpQkFBaUJBLFFBQVFBLEtBQUt2QyxXQUFXLEVBQUU7b0JBQ3JEQyxlQUFlMEMsTUFBTUMsT0FBTyxDQUFDTCxLQUFLdkMsV0FBVyxJQUFJdUMsS0FBS3ZDLFdBQVcsR0FBRzZDLE9BQU9OLEtBQUt2QyxXQUFXLEVBQUU4QyxLQUFLLENBQUMsT0FBT0MsTUFBTSxDQUFDckM7Z0JBQ25ILE9BQU87b0JBQ0xULGVBQWU7Z0JBQ2pCO2dCQUNBRSxhQUFhO1lBQ2Y7WUFDQTZDLFlBQVk7Z0JBQUVWLFVBQVVmO1lBQWU7UUFDekM7UUFFQSxxQkFDRSxNQUFDbkM7WUFDQ2tELFVBQVUsQ0FBQ1c7Z0JBQ1RBLEVBQUVDLGNBQWM7Z0JBQ2hCLEtBQUtkLEtBQUtlLFlBQVk7WUFDeEI7WUFDQUMsV0FBVTs7OEJBQ1YsS0FBQy9EO29CQUFjK0QsV0FBVTs4QkFDdkIsY0FBQSxLQUFDaEIsS0FBS2lCLFFBQVE7d0JBQ1pDLE1BQUs7d0JBQ0xDLFVBQVUsQ0FBQ0Msc0JBQWUsS0FBQ0EsTUFBTUMsU0FBUztnQ0FBQ0MsTUFBSztnQ0FBV04sV0FBVTtnQ0FBV08sT0FBTTtnQ0FBV0MsUUFBUTs7Ozs4QkFHN0csS0FBQ3hCLEtBQUt5QixPQUFPO29CQUFDTix3QkFBVSxLQUFDbkIsS0FBSzBCLE1BQU07d0JBQUNILE9BQU07d0JBQVNJLGNBQWE7Ozs7O0lBR3ZFO0lBRUEsTUFBTUMsYUFBYTtRQUNqQixNQUFNLENBQUM5QixXQUFXQyxhQUFhLEdBQUczRCxTQUFTO1FBQzNDLE1BQU00RCxPQUFPM0MsV0FBVztZQUN0QjRDLGVBQWU7Z0JBQUVWLEtBQUs7WUFBRztZQUN6QlcsVUFBVSxPQUFPLEVBQUUzQixLQUFLLEVBQThCO2dCQUNwRHdCLGFBQWE7Z0JBQ2IsTUFBTSxFQUFFSSxJQUFJLEVBQUVqQixLQUFLLEVBQUUsR0FBRyxNQUFNUCxXQUFXeUIsU0FBUyxDQUFDeUIsVUFBVSxDQUFDO29CQUFFQyxNQUFNdkQsTUFBTWdCLEdBQUc7Z0JBQUM7Z0JBQ2hGUSxhQUFhO2dCQUNiLElBQUliLE9BQU87b0JBQ1R6QyxNQUFNeUMsS0FBSyxDQUFDQSxNQUFNb0IsT0FBTztvQkFDekI7Z0JBQ0Y7Z0JBQ0EsSUFBSUgsUUFBUSxpQkFBaUJBLFFBQVFBLEtBQUt2QyxXQUFXLEVBQUU7b0JBQ3JEQyxlQUFlMEMsTUFBTUMsT0FBTyxDQUFDTCxLQUFLdkMsV0FBVyxJQUFJdUMsS0FBS3ZDLFdBQVcsR0FBRzZDLE9BQU9OLEtBQUt2QyxXQUFXLEVBQUU4QyxLQUFLLENBQUMsT0FBT0MsTUFBTSxDQUFDckM7Z0JBQ25IO2dCQUNBN0IsTUFBTXdDLE9BQU8sQ0FBQztnQkFDZFIsb0JBQW9CO2dCQUNwQlYsYUFBYTtZQUNmO1lBQ0E2QyxZQUFZO2dCQUFFVixVQUFVWjtZQUFVO1FBQ3BDO1FBRUEscUJBQ0UsTUFBQ3RDO1lBQ0NrRCxVQUFVLENBQUNXO2dCQUNUQSxFQUFFQyxjQUFjO2dCQUNoQixLQUFLZCxLQUFLZSxZQUFZO1lBQ3hCO1lBQ0FDLFdBQVU7OzhCQUNWLEtBQUMvRDtvQkFBYytELFdBQVU7OEJBQ3ZCLGNBQUEsS0FBQ2hCLEtBQUtpQixRQUFRO3dCQUNaQyxNQUFLO3dCQUNMQyxVQUFVLENBQUNDLHNCQUFlLEtBQUNBLE1BQU1DLFNBQVM7Z0NBQUNDLE1BQUs7Z0NBQU9OLFdBQVU7Z0NBQVdPLE9BQU07Z0NBQWVDLFFBQVE7Ozs7OEJBRzdHLEtBQUN4QixLQUFLeUIsT0FBTztvQkFBQ04sd0JBQVUsS0FBQ25CLEtBQUswQixNQUFNO3dCQUFDSCxPQUFNO3dCQUFTSSxjQUFhOzs7OztJQUd2RTtJQUVBLE1BQU1JLGNBQWM7UUFDbEIsTUFBTS9CLE9BQU8zQyxXQUFXO1lBQ3RCNEMsZUFBZTtnQkFBRVosVUFBVTtZQUFHO1lBQzlCYSxVQUFVLE9BQU8sRUFBRTNCLEtBQUssRUFBbUM7Z0JBQ3pELE1BQU1JLFdBQVd5QixTQUFTLENBQUM0QixPQUFPLENBQ2hDO29CQUFFM0MsVUFBVWQsTUFBTWMsUUFBUTtnQkFBQyxHQUMzQjtvQkFDRTRDO3dCQUNFeEYsTUFBTXdDLE9BQU8sQ0FBQzt3QkFDZFIsb0JBQW9CO3dCQUNwQlIsV0FBVzt3QkFDWCxPQUFPaUU7b0JBQ1Q7b0JBQ0FDLFNBQVFDLEdBQVE7d0JBQ2QzRixNQUFNeUMsS0FBSyxDQUFDa0QsSUFBSWxELEtBQUssQ0FBQ29CLE9BQU87b0JBQy9CO2dCQUNGO1lBRUo7WUFDQU0sWUFBWTtnQkFBRVYsVUFBVWY7WUFBZTtRQUN6QztRQUVBLHFCQUNFLE1BQUNuQztZQUNDa0QsVUFBVSxDQUFDVztnQkFDVEEsRUFBRUMsY0FBYztnQkFDaEIsS0FBS2QsS0FBS2UsWUFBWTtZQUN4QjtZQUNBQyxXQUFVOzs4QkFDVixLQUFDL0Q7b0JBQWMrRCxXQUFVOzhCQUN2QixjQUFBLEtBQUNoQixLQUFLaUIsUUFBUTt3QkFDWkMsTUFBSzt3QkFDTEMsVUFBVSxDQUFDQyxzQkFBZSxLQUFDQSxNQUFNQyxTQUFTO2dDQUFDQyxNQUFLO2dDQUFXTixXQUFVO2dDQUFXTyxPQUFNO2dDQUFXQyxRQUFROzs7OzhCQUc3RyxLQUFDeEIsS0FBS3lCLE9BQU87b0JBQUNOLHdCQUFVLEtBQUNuQixLQUFLMEIsTUFBTTt3QkFBQ0gsT0FBTTt3QkFBcUJJLGNBQWE7Ozs7O0lBR25GO0lBRUEscUJBQ0UsTUFBQ1U7UUFBSXJCLFdBQVU7O1lBQ1ozQyxpQ0FDQyxLQUFDOUI7Z0JBQ0MrRixTQUFTO29CQUNQdkUsYUFBYTtvQkFDYkMsVUFBVTtnQkFDWjtnQkFDQXVFLE1BQUs7Z0JBQ0xDLGFBQVk7MEJBQU87K0JBSXJCLEtBQUNqRztnQkFDQytGLFNBQVM7b0JBQ1B2RSxhQUFhO29CQUNiQyxVQUFVO2dCQUNaO2dCQUNBdUUsTUFBSztnQkFDTEMsYUFBWTswQkFBTzs7MEJBSXZCLEtBQUNoRztnQkFBTWlHLE1BQUs7Z0JBQXdCekIsV0FBVzFEO2dCQUFXb0YsV0FBVzswQkFDbkUsY0FBQSxNQUFDTDtvQkFBSXJCLFdBQVcsR0FBRzFELFVBQVUsU0FBUyxDQUFDOztzQ0FDckMsS0FBQ2Y7NEJBQ0MrRixTQUFTLElBQU1yRSxXQUFXOzRCQUMxQnVFLGFBQVk7NEJBQ1pELE1BQUs7NEJBQ0x2QixXQUFXLEdBQUcxRCxVQUFVLGNBQWMsQ0FBQztzQ0FDdkMsY0FBQSxLQUFDakI7Z0NBQU1rRyxNQUFNOzs7c0NBR2YsTUFBQ0Y7NEJBQUlyQixXQUFXLEdBQUcxRCxVQUFVLFNBQVMsQ0FBQzs0QkFBRXFGLE9BQU87Z0NBQUVDLFVBQVU7NEJBQVE7O2dDQUNqRTlFLGNBQWMsMEJBQ2I7O3NEQUNFLEtBQUMrRTtzREFBRzs7c0RBQ0osS0FBQ2hEOzs7Z0NBR0ovQixjQUFjLDBCQUNiOztzREFDRSxLQUFDK0U7c0RBQUc7O3NEQUNKLE1BQUNSOzRDQUFJckIsV0FBVTs7OERBQ2IsS0FBQzhCOzhEQUFFOzs4REFDSCxLQUFDVDtvREFBSXJCLFdBQVU7OERBQ2IsY0FBQSxLQUFDNUQ7d0RBQVVtQixPQUFPYjt3REFBUzZFLE1BQU07Ozs4REFFbkMsTUFBQ2hHO29EQUFPZ0csTUFBSztvREFBUUMsYUFBWTtvREFBY0YsU0FBU3pEO29EQUFTbUMsV0FBVTs7c0VBQ3pFLEtBQUMxRTs0REFBS2lHLE1BQU07NERBQUl2QixXQUFVOzt3REFBcUM7Ozs4REFFakUsS0FBQ1k7Ozs7O2dDQUlOOUQsY0FBYyxpQkFBaUJGLDZCQUM5Qjs7c0RBQ0UsS0FBQ2lGO3NEQUFHOztzREFDSixNQUFDUjs0Q0FBSXJCLFdBQVU7OzhEQUNiLEtBQUMrQjs4REFDRW5GLFlBQVlvRixHQUFHLENBQUMsQ0FBQ2xCLE1BQU1tQixrQkFDdEIsS0FBQ0M7NERBQVdsQyxXQUFVO3NFQUNuQmM7MkRBRE1tQjs7OERBS2IsS0FBQ0g7b0RBQUU5QixXQUFVOzhEQUFxQzs7OztzREFJcEQsS0FBQ3pFOzRDQUNDK0YsU0FBUyxJQUFNckUsV0FBVzs0Q0FDMUJ1RSxhQUFZOzRDQUNaRCxNQUFLOzRDQUNMdkIsV0FBVTtzREFBbUQ7Ozs7Z0NBS2xFbEQsY0FBYywyQkFDYjs7c0RBQ0UsS0FBQytFO3NEQUFHOztzREFDSixLQUFDZDs7Ozs7Ozs7OztBQVFqQixFQUFDIn0=
|
|
347
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9jb21wb25lbnRzL3R3by1mYWN0b3ItYXV0aC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCBcIi4vaW5kZXguc2Nzc1wiO1xuXG5pbXBvcnQge1xuICBCdXR0b24sXG4gIE1vZGFsLFxuICB0b2FzdCxcbiAgdXNlRmllbGQsXG4gIHVzZUZvcm1GaWVsZHMsXG4gIHVzZU1vZGFsLFxuICB1c2VUcmFuc2xhdGlvblxufSBmcm9tIFwiQHBheWxvYWRjbXMvdWlcIjtcbmltcG9ydCB7IHR3b0ZhY3RvckNsaWVudCB9IGZyb20gXCJiZXR0ZXItYXV0aC9jbGllbnQvcGx1Z2luc1wiO1xuaW1wb3J0IHsgY3JlYXRlQXV0aENsaWVudCB9IGZyb20gXCJiZXR0ZXItYXV0aC9yZWFjdFwiO1xuaW1wb3J0IHsgQ29weSwgWEljb24gfSBmcm9tIFwibHVjaWRlLXJlYWN0XCI7XG5pbXBvcnQgeyBRUkNvZGVTVkcgfSBmcm9tIFwicXJjb2RlLnJlYWN0XCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbywgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5pbXBvcnQgeyB1c2VBcHBGb3JtIH0gZnJvbSBcIkAvc2hhcmVkL2Zvcm1cIjtcbmltcG9ydCB7IEZvcm0sIEZvcm1JbnB1dFdyYXAgfSBmcm9tIFwiQC9zaGFyZWQvZm9ybS91aVwiO1xuaW1wb3J0IHsgcGFzc3dvcmRGaWVsZCB9IGZyb20gXCJAL3NoYXJlZC9mb3JtL3ZhbGlkYXRpb25cIjtcblxuY29uc3QgYmFzZUNsYXNzID0gXCJ0d28tZmFjdG9yLWF1dGgtbW9kYWxcIjtcblxuaW50ZXJmYWNlIFR3b0ZhY3RvckF1dGhQcm9wcyB7XG4gIGJhc2VVUkw/OiBzdHJpbmc7XG4gIGJhc2VQYXRoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gVHdvRmFjdG9yQXV0aCh7IGJhc2VVUkwsIGJhc2VQYXRoIH06IFR3b0ZhY3RvckF1dGhQcm9wcykge1xuICBjb25zdCBbdG90cFVSSSwgc2V0VG90cFVSSV0gPSB1c2VTdGF0ZShcIlwiKTtcbiAgY29uc3QgW2JhY2t1cENvZGVzLCBzZXRCYWNrdXBDb2Rlc10gPSB1c2VTdGF0ZTxzdHJpbmdbXSB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbZm9ybVN0YXRlLCBzZXRGb3JtU3RhdGVdID0gdXNlU3RhdGU8XG4gICAgXCJlbmFibGVcIiB8IFwidmVyaWZ5XCIgfCBcImJhY2t1cENvZGVzXCIgfCBcImRpc2FibGVcIlxuICA+KFwiZW5hYmxlXCIpO1xuICBjb25zdCB7IG9wZW5Nb2RhbCwgY2xvc2VNb2RhbCB9ID0gdXNlTW9kYWwoKTtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigpO1xuICBjb25zdCB0d29GYWN0b3JFbmFibGVkRmllbGQgPSB1c2VGb3JtRmllbGRzKFxuICAgIChbZmllbGRzXSkgPT4gZmllbGRzLnR3b0ZhY3RvckVuYWJsZWRcbiAgKTtcbiAgY29uc3QgdHdvRmFjdG9yRW5hYmxlZCA9IEJvb2xlYW4odHdvRmFjdG9yRW5hYmxlZEZpZWxkPy52YWx1ZSk7XG4gIGNvbnN0IHsgc2V0VmFsdWU6IHNldFR3b0ZhY3RvckVuYWJsZWQgfSA9IHVzZUZpZWxkKHtcbiAgICBwYXRoOiBcInR3b0ZhY3RvckVuYWJsZWRcIlxuICB9KTtcblxuICBjb25zdCBhdXRoQ2xpZW50ID0gdXNlTWVtbyhcbiAgICAoKSA9PiBjcmVhdGVBdXRoQ2xpZW50KHsgYmFzZVVSTCwgYmFzZVBhdGgsIHBsdWdpbnM6IFt0d29GYWN0b3JDbGllbnQoKV0gfSksXG4gICAgW11cbiAgKTtcblxuICBjb25zdCBjb3B5VVJJID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmICghdG90cFVSSSkgcmV0dXJuO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBuYXZpZ2F0b3IuY2xpcGJvYXJkLndyaXRlVGV4dCh0b3RwVVJJKTtcbiAgICAgIHRvYXN0LnN1Y2Nlc3MoXCJDb3BpZWRcIik7XG4gICAgfSBjYXRjaCB7XG4gICAgICB0b2FzdC5lcnJvcihcIkZhaWxlZCB0byBjb3B5XCIpO1xuICAgIH1cbiAgfTtcblxuICAvLyBGb3JtIFNjaGVtYXNcbiAgY29uc3QgcGFzc3dvcmRTY2hlbWEgPSB6Lm9iamVjdCh7XG4gICAgcGFzc3dvcmQ6IHBhc3N3b3JkRmllbGQoeyB0IH0pXG4gIH0pO1xuXG4gIGNvbnN0IG90cFNjaGVtYSA9IHoub2JqZWN0KHtcbiAgICBvdHA6IHpcbiAgICAgIC5zdHJpbmcoKVxuICAgICAgLmxlbmd0aCg2LCBcIkNvZGUgbXVzdCBiZSA2IGRpZ2l0c1wiKVxuICAgICAgLnJlZmluZSgodmFsKSA9PiAvXlxcZHs2fSQvLnRlc3QodmFsKSwgXCJDb2RlIG11c3QgYmUgbnVtZXJpY1wiKVxuICB9KTtcblxuICBjb25zdCBFbmFibGVGb3JtID0gKCkgPT4ge1xuICAgIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgZm9ybSA9IHVzZUFwcEZvcm0oe1xuICAgICAgZGVmYXVsdFZhbHVlczogeyBwYXNzd29yZDogXCJcIiB9LFxuICAgICAgb25TdWJtaXQ6IGFzeW5jICh7IHZhbHVlIH06IHsgdmFsdWU6IHsgcGFzc3dvcmQ6IHN0cmluZyB9IH0pID0+IHtcbiAgICAgICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuICAgICAgICBjb25zdCB7IGRhdGEsIGVycm9yIH0gPSBhd2FpdCBhdXRoQ2xpZW50LnR3b0ZhY3Rvci5lbmFibGUoe1xuICAgICAgICAgIHBhc3N3b3JkOiB2YWx1ZS5wYXNzd29yZFxuICAgICAgICB9KTtcbiAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKTtcbiAgICAgICAgaWYgKGVycm9yKSB7XG4gICAgICAgICAgdG9hc3QuZXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHNldFRvdHBVUkkoZGF0YS50b3RwVVJJKTtcbiAgICAgICAgaWYgKGRhdGEgJiYgXCJiYWNrdXBDb2Rlc1wiIGluIGRhdGEgJiYgZGF0YS5iYWNrdXBDb2Rlcykge1xuICAgICAgICAgIHNldEJhY2t1cENvZGVzKFxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheShkYXRhLmJhY2t1cENvZGVzKVxuICAgICAgICAgICAgICA/IGRhdGEuYmFja3VwQ29kZXNcbiAgICAgICAgICAgICAgOiBTdHJpbmcoZGF0YS5iYWNrdXBDb2Rlcykuc3BsaXQoL1xccysvKS5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldEJhY2t1cENvZGVzKG51bGwpO1xuICAgICAgICB9XG4gICAgICAgIHNldEZvcm1TdGF0ZShcInZlcmlmeVwiKTtcbiAgICAgIH0sXG4gICAgICB2YWxpZGF0b3JzOiB7IG9uU3VibWl0OiBwYXNzd29yZFNjaGVtYSB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEZvcm1cbiAgICAgICAgb25TdWJtaXQ9eyhlKSA9PiB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHZvaWQgZm9ybS5oYW5kbGVTdWJtaXQoKTtcbiAgICAgICAgfX1cbiAgICAgICAgY2xhc3NOYW1lPVwidHdvLWZhY3Rvci1lbmFibGUtZm9ybVwiXG4gICAgICA+XG4gICAgICAgIDxGb3JtSW5wdXRXcmFwIGNsYXNzTmFtZT1cInR3by1mYWN0b3ItZW5hYmxlLWZvcm1fX2lucHV0V3JhcFwiPlxuICAgICAgICAgIDxmb3JtLkFwcEZpZWxkXG4gICAgICAgICAgICBuYW1lPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgY2hpbGRyZW49eyhmaWVsZDogYW55KSA9PiAoXG4gICAgICAgICAgICAgIDxmaWVsZC5UZXh0RmllbGRcbiAgICAgICAgICAgICAgICB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICBsYWJlbD1cIlBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0Zvcm1JbnB1dFdyYXA+XG4gICAgICAgIDxmb3JtLkFwcEZvcm1cbiAgICAgICAgICBjaGlsZHJlbj17PGZvcm0uU3VibWl0IGxhYmVsPVwiRW5hYmxlXCIgbG9hZGluZ0xhYmVsPVwiRW5hYmxpbmdcIiAvPn1cbiAgICAgICAgLz5cbiAgICAgIDwvRm9ybT5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IFZlcmlmeUZvcm0gPSAoKSA9PiB7XG4gICAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgICBjb25zdCBmb3JtID0gdXNlQXBwRm9ybSh7XG4gICAgICBkZWZhdWx0VmFsdWVzOiB7IG90cDogXCJcIiB9LFxuICAgICAgb25TdWJtaXQ6IGFzeW5jICh7IHZhbHVlIH06IHsgdmFsdWU6IHsgb3RwOiBzdHJpbmcgfSB9KSA9PiB7XG4gICAgICAgIHNldElzTG9hZGluZyh0cnVlKTtcbiAgICAgICAgY29uc3QgeyBkYXRhLCBlcnJvciB9ID0gYXdhaXQgYXV0aENsaWVudC50d29GYWN0b3IudmVyaWZ5VG90cCh7XG4gICAgICAgICAgY29kZTogdmFsdWUub3RwXG4gICAgICAgIH0pO1xuICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgICB0b2FzdC5lcnJvcihlcnJvci5tZXNzYWdlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRhdGEgJiYgXCJiYWNrdXBDb2Rlc1wiIGluIGRhdGEgJiYgZGF0YS5iYWNrdXBDb2Rlcykge1xuICAgICAgICAgIHNldEJhY2t1cENvZGVzKFxuICAgICAgICAgICAgQXJyYXkuaXNBcnJheShkYXRhLmJhY2t1cENvZGVzKVxuICAgICAgICAgICAgICA/IGRhdGEuYmFja3VwQ29kZXNcbiAgICAgICAgICAgICAgOiBTdHJpbmcoZGF0YS5iYWNrdXBDb2Rlcykuc3BsaXQoL1xccysvKS5maWx0ZXIoQm9vbGVhbilcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRvYXN0LnN1Y2Nlc3MoXCJUd2/igJFmYWN0b3IgdmVyaWZpZWQgJiBlbmFibGVkXCIpO1xuICAgICAgICBzZXRUd29GYWN0b3JFbmFibGVkKHRydWUpO1xuICAgICAgICBzZXRGb3JtU3RhdGUoXCJiYWNrdXBDb2Rlc1wiKTtcbiAgICAgIH0sXG4gICAgICB2YWxpZGF0b3JzOiB7IG9uU3VibWl0OiBvdHBTY2hlbWEgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxGb3JtXG4gICAgICAgIG9uU3VibWl0PXsoZSkgPT4ge1xuICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICB2b2lkIGZvcm0uaGFuZGxlU3VibWl0KCk7XG4gICAgICAgIH19XG4gICAgICAgIGNsYXNzTmFtZT1cInR3by1mYWN0b3ItdmVyaWZ5LWZvcm1cIlxuICAgICAgPlxuICAgICAgICA8Rm9ybUlucHV0V3JhcCBjbGFzc05hbWU9XCJ0Zl9faW5wdXRXcmFwXCI+XG4gICAgICAgICAgPGZvcm0uQXBwRmllbGRcbiAgICAgICAgICAgIG5hbWU9XCJvdHBcIlxuICAgICAgICAgICAgY2hpbGRyZW49eyhmaWVsZDogYW55KSA9PiAoXG4gICAgICAgICAgICAgIDxmaWVsZC5UZXh0RmllbGRcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dCBvdHBcIlxuICAgICAgICAgICAgICAgIGxhYmVsPVwiNuKAkWRpZ2l0IENvZGVcIlxuICAgICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvRm9ybUlucHV0V3JhcD5cbiAgICAgICAgPGZvcm0uQXBwRm9ybVxuICAgICAgICAgIGNoaWxkcmVuPXs8Zm9ybS5TdWJtaXQgbGFiZWw9XCJWZXJpZnlcIiBsb2FkaW5nTGFiZWw9XCJWZXJpZnlpbmdcIiAvPn1cbiAgICAgICAgLz5cbiAgICAgIDwvRm9ybT5cbiAgICApO1xuICB9O1xuXG4gIGNvbnN0IERpc2FibGVGb3JtID0gKCkgPT4ge1xuICAgIGNvbnN0IGZvcm0gPSB1c2VBcHBGb3JtKHtcbiAgICAgIGRlZmF1bHRWYWx1ZXM6IHsgcGFzc3dvcmQ6IFwiXCIgfSxcbiAgICAgIG9uU3VibWl0OiBhc3luYyAoeyB2YWx1ZSB9OiB7IHZhbHVlOiB7IHBhc3N3b3JkOiBzdHJpbmcgfSB9KSA9PiB7XG4gICAgICAgIGF3YWl0IGF1dGhDbGllbnQudHdvRmFjdG9yLmRpc2FibGUoXG4gICAgICAgICAgeyBwYXNzd29yZDogdmFsdWUucGFzc3dvcmQgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBvblN1Y2Nlc3MoKSB7XG4gICAgICAgICAgICAgIHRvYXN0LnN1Y2Nlc3MoXCJUd2/igJFmYWN0b3IgZGlzYWJsZWRcIik7XG4gICAgICAgICAgICAgIHNldFR3b0ZhY3RvckVuYWJsZWQoZmFsc2UpO1xuICAgICAgICAgICAgICBjbG9zZU1vZGFsKFwidHdvLWZhY3Rvci1hdXRoLW1vZGFsXCIpO1xuICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uRXJyb3IoY3R4OiBhbnkpIHtcbiAgICAgICAgICAgICAgdG9hc3QuZXJyb3IoY3R4LmVycm9yLm1lc3NhZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgICB2YWxpZGF0b3JzOiB7IG9uU3VibWl0OiBwYXNzd29yZFNjaGVtYSB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEZvcm1cbiAgICAgICAgb25TdWJtaXQ9eyhlKSA9PiB7XG4gICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgIHZvaWQgZm9ybS5oYW5kbGVTdWJtaXQoKTtcbiAgICAgICAgfX1cbiAgICAgICAgY2xhc3NOYW1lPVwidHdvLWZhY3Rvci1kaXNhYmxlLWZvcm0gbXQtNFwiXG4gICAgICA+XG4gICAgICAgIDxGb3JtSW5wdXRXcmFwIGNsYXNzTmFtZT1cInR3by1mYWN0b3ItZGlzYWJsZS1mb3JtX19pbnB1dFdyYXBcIj5cbiAgICAgICAgICA8Zm9ybS5BcHBGaWVsZFxuICAgICAgICAgICAgbmFtZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgIGNoaWxkcmVuPXsoZmllbGQ6IGFueSkgPT4gKFxuICAgICAgICAgICAgICA8ZmllbGQuVGV4dEZpZWxkXG4gICAgICAgICAgICAgICAgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgbGFiZWw9XCJQYXNzd29yZFwiXG4gICAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9Gb3JtSW5wdXRXcmFwPlxuICAgICAgICA8Zm9ybS5BcHBGb3JtXG4gICAgICAgICAgY2hpbGRyZW49e1xuICAgICAgICAgICAgPGZvcm0uU3VibWl0IGxhYmVsPVwiRGlzYWJsZSBUd2/igJFGYWN0b3JcIiBsb2FkaW5nTGFiZWw9XCJEaXNhYmxpbmdcIiAvPlxuICAgICAgICAgIH1cbiAgICAgICAgLz5cbiAgICAgIDwvRm9ybT5cbiAgICApO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiBjbGFzc05hbWU9XCJ0d28tZmFjdG9yLWF1dGgtZmllbGRcIj5cbiAgICAgIHt0d29GYWN0b3JFbmFibGVkID8gKFxuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgc2V0Rm9ybVN0YXRlKFwiZGlzYWJsZVwiKTtcbiAgICAgICAgICAgIG9wZW5Nb2RhbChcInR3by1mYWN0b3ItYXV0aC1tb2RhbFwiKTtcbiAgICAgICAgICB9fVxuICAgICAgICAgIHNpemU9XCJtZWRpdW1cIlxuICAgICAgICAgIGJ1dHRvblN0eWxlPVwicGlsbFwiXG4gICAgICAgID5cbiAgICAgICAgICBEaXNhYmxlIFR3by1GYWN0b3JcbiAgICAgICAgPC9CdXR0b24+XG4gICAgICApIDogKFxuICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgc2V0Rm9ybVN0YXRlKFwiZW5hYmxlXCIpO1xuICAgICAgICAgICAgb3Blbk1vZGFsKFwidHdvLWZhY3Rvci1hdXRoLW1vZGFsXCIpO1xuICAgICAgICAgIH19XG4gICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiXG4gICAgICAgICAgYnV0dG9uU3R5bGU9XCJwaWxsXCJcbiAgICAgICAgPlxuICAgICAgICAgIEVuYWJsZSBUd28tRmFjdG9yXG4gICAgICAgIDwvQnV0dG9uPlxuICAgICAgKX1cbiAgICAgIDxNb2RhbCBzbHVnPVwidHdvLWZhY3Rvci1hdXRoLW1vZGFsXCIgY2xhc3NOYW1lPXtiYXNlQ2xhc3N9IGNsb3NlT25CbHVyPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fd3JhcHBlcmB9PlxuICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGNsb3NlTW9kYWwoXCJ0d28tZmFjdG9yLWF1dGgtbW9kYWxcIil9XG4gICAgICAgICAgICBidXR0b25TdHlsZT1cImljb24tbGFiZWxcIlxuICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fY2xvc2UtYnV0dG9uYH1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8WEljb24gc2l6ZT17MjR9IC8+XG4gICAgICAgICAgPC9CdXR0b24+XG5cbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2NvbnRlbnRgfVxuICAgICAgICAgICAgc3R5bGU9e3sgbWF4V2lkdGg6IFwiMzhyZW1cIiB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtmb3JtU3RhdGUgPT09IFwiZW5hYmxlXCIgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxoMj5FbmFibGUgVHdv4oCRRmFjdG9yPC9oMj5cbiAgICAgICAgICAgICAgICA8RW5hYmxlRm9ybSAvPlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7Zm9ybVN0YXRlID09PSBcInZlcmlmeVwiICYmIChcbiAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICA8aDI+VmVyaWZ5IFR3b+KAkUZhY3RvcjwvaDI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0d28tZmFjdG9yLWF1dGgtbW9kYWxfX3ZlcmlmeS1ibG9ja1wiPlxuICAgICAgICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgICAgIFNjYW4gdGhlIFFSIGNvZGUgd2l0aCB5b3VyIGF1dGhlbnRpY2F0b3IgYXBwIG9yIGNvcHkgdGhlXG4gICAgICAgICAgICAgICAgICAgIFVSSS5cbiAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHdvLWZhY3Rvci1hdXRoLW1vZGFsX19xcmNvZGVcIj5cbiAgICAgICAgICAgICAgICAgICAgPFFSQ29kZVNWRyB2YWx1ZT17dG90cFVSSX0gc2l6ZT17MjAwfSAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtjb3B5VVJJfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0d28tZmFjdG9yLWF1dGgtbW9kYWxfX2NvcHktYnRuXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPENvcHlcbiAgICAgICAgICAgICAgICAgICAgICBzaXplPXsxOH1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0d28tZmFjdG9yLWF1dGgtbW9kYWxfX2NvcHktaWNvblwiXG4gICAgICAgICAgICAgICAgICAgIC8+e1wiIFwifVxuICAgICAgICAgICAgICAgICAgICBDb3B5IFVSSVxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgICA8VmVyaWZ5Rm9ybSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7Zm9ybVN0YXRlID09PSBcImJhY2t1cENvZGVzXCIgJiYgYmFja3VwQ29kZXMgJiYgKFxuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIDxoMj5CYWNrdXAgQ29kZXM8L2gyPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHdvLWZhY3Rvci1hdXRoLW1vZGFsX19iYWNrdXAtY29kZXNcIj5cbiAgICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAge2JhY2t1cENvZGVzLm1hcCgoY29kZSwgaSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidHdvLWZhY3Rvci1hdXRoLW1vZGFsX19iYWNrdXAtY29kZVwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge2NvZGV9XG4gICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidHdvLWZhY3Rvci1hdXRoLW1vZGFsX19iYWNrdXAtZGVzY1wiPlxuICAgICAgICAgICAgICAgICAgICBTdG9yZSB0aGVzZSBjb2RlcyBpbiBhIHNhZmUgcGxhY2UuIEVhY2ggY29kZSBjYW4gYmUgdXNlZFxuICAgICAgICAgICAgICAgICAgICBvbmNlIGlmIHlvdSBsb3NlIGFjY2VzcyB0byB5b3VyIGF1dGhlbnRpY2F0b3IuXG4gICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gY2xvc2VNb2RhbChcInR3by1mYWN0b3ItYXV0aC1tb2RhbFwiKX1cbiAgICAgICAgICAgICAgICAgIGJ1dHRvblN0eWxlPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICBzaXplPVwibGFyZ2VcIlxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidHdvLWZhY3Rvci1hdXRoLW1vZGFsX19iYWNrdXAtY29kZXMtY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBTYXZlZCB0aGVtIVxuICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgICB7Zm9ybVN0YXRlID09PSBcImRpc2FibGVcIiAmJiAoXG4gICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgPGgyPlR3b+KAkUZhY3RvciBBdXRoZW50aWNhdGlvbjwvaDI+XG4gICAgICAgICAgICAgICAgPERpc2FibGVGb3JtIC8+XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L01vZGFsPlxuICAgIDwvZGl2PlxuICApO1xufVxuIl0sIm5hbWVzIjpbIkJ1dHRvbiIsIk1vZGFsIiwidG9hc3QiLCJ1c2VGaWVsZCIsInVzZUZvcm1GaWVsZHMiLCJ1c2VNb2RhbCIsInVzZVRyYW5zbGF0aW9uIiwidHdvRmFjdG9yQ2xpZW50IiwiY3JlYXRlQXV0aENsaWVudCIsIkNvcHkiLCJYSWNvbiIsIlFSQ29kZVNWRyIsIlJlYWN0IiwidXNlTWVtbyIsInVzZVN0YXRlIiwieiIsInVzZUFwcEZvcm0iLCJGb3JtIiwiRm9ybUlucHV0V3JhcCIsInBhc3N3b3JkRmllbGQiLCJiYXNlQ2xhc3MiLCJUd29GYWN0b3JBdXRoIiwiYmFzZVVSTCIsImJhc2VQYXRoIiwidG90cFVSSSIsInNldFRvdHBVUkkiLCJiYWNrdXBDb2RlcyIsInNldEJhY2t1cENvZGVzIiwiZm9ybVN0YXRlIiwic2V0Rm9ybVN0YXRlIiwib3Blbk1vZGFsIiwiY2xvc2VNb2RhbCIsInQiLCJ0d29GYWN0b3JFbmFibGVkRmllbGQiLCJmaWVsZHMiLCJ0d29GYWN0b3JFbmFibGVkIiwiQm9vbGVhbiIsInZhbHVlIiwic2V0VmFsdWUiLCJzZXRUd29GYWN0b3JFbmFibGVkIiwicGF0aCIsImF1dGhDbGllbnQiLCJwbHVnaW5zIiwiY29weVVSSSIsIm5hdmlnYXRvciIsImNsaXBib2FyZCIsIndyaXRlVGV4dCIsInN1Y2Nlc3MiLCJlcnJvciIsInBhc3N3b3JkU2NoZW1hIiwib2JqZWN0IiwicGFzc3dvcmQiLCJvdHBTY2hlbWEiLCJvdHAiLCJzdHJpbmciLCJsZW5ndGgiLCJyZWZpbmUiLCJ2YWwiLCJ0ZXN0IiwiRW5hYmxlRm9ybSIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsImZvcm0iLCJkZWZhdWx0VmFsdWVzIiwib25TdWJtaXQiLCJkYXRhIiwidHdvRmFjdG9yIiwiZW5hYmxlIiwibWVzc2FnZSIsIkFycmF5IiwiaXNBcnJheSIsIlN0cmluZyIsInNwbGl0IiwiZmlsdGVyIiwidmFsaWRhdG9ycyIsImUiLCJwcmV2ZW50RGVmYXVsdCIsImhhbmRsZVN1Ym1pdCIsImNsYXNzTmFtZSIsIkFwcEZpZWxkIiwibmFtZSIsImNoaWxkcmVuIiwiZmllbGQiLCJUZXh0RmllbGQiLCJ0eXBlIiwibGFiZWwiLCJyZXF1aXJlZCIsIkFwcEZvcm0iLCJTdWJtaXQiLCJsb2FkaW5nTGFiZWwiLCJWZXJpZnlGb3JtIiwidmVyaWZ5VG90cCIsImNvZGUiLCJEaXNhYmxlRm9ybSIsImRpc2FibGUiLCJvblN1Y2Nlc3MiLCJ1bmRlZmluZWQiLCJvbkVycm9yIiwiY3R4IiwiZGl2Iiwib25DbGljayIsInNpemUiLCJidXR0b25TdHlsZSIsInNsdWciLCJjbG9zZU9uQmx1ciIsInN0eWxlIiwibWF4V2lkdGgiLCJoMiIsInAiLCJ1bCIsIm1hcCIsImkiLCJsaSJdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUEsT0FBTyxlQUFlO0FBRXRCLFNBQ0VBLE1BQU0sRUFDTkMsS0FBSyxFQUNMQyxLQUFLLEVBQ0xDLFFBQVEsRUFDUkMsYUFBYSxFQUNiQyxRQUFRLEVBQ1JDLGNBQWMsUUFDVCxpQkFBaUI7QUFDeEIsU0FBU0MsZUFBZSxRQUFRLDZCQUE2QjtBQUM3RCxTQUFTQyxnQkFBZ0IsUUFBUSxvQkFBb0I7QUFDckQsU0FBU0MsSUFBSSxFQUFFQyxLQUFLLFFBQVEsZUFBZTtBQUMzQyxTQUFTQyxTQUFTLFFBQVEsZUFBZTtBQUN6QyxPQUFPQyxTQUFTQyxPQUFPLEVBQUVDLFFBQVEsUUFBUSxRQUFRO0FBQ2pELFNBQVNDLENBQUMsUUFBUSxNQUFNO0FBQ3hCLFNBQVNDLFVBQVUsUUFBUSw2QkFBZ0I7QUFDM0MsU0FBU0MsSUFBSSxFQUFFQyxhQUFhLFFBQVEsZ0NBQW1CO0FBQ3ZELFNBQVNDLGFBQWEsUUFBUSx3Q0FBMkI7QUFFekQsTUFBTUMsWUFBWTtBQU9s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
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
background-color: var(--theme-elevation-50);
|
|
28
28
|
min-width: 340px;
|
|
29
29
|
max-width: 90vw;
|
|
30
|
-
box-shadow: 0 8px 32px rgba(0,0,0,0.18);
|
|
30
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
&__close-button {
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
right: 0;
|
|
37
37
|
margin-block: 0 !important;
|
|
38
38
|
padding: 10px !important;
|
|
39
|
+
|
|
39
40
|
svg {
|
|
40
41
|
width: 24px;
|
|
41
42
|
height: 24px;
|
|
@@ -47,11 +48,13 @@
|
|
|
47
48
|
flex-direction: column;
|
|
48
49
|
gap: 1.5rem;
|
|
49
50
|
padding: 1.5rem 1.5rem 1rem 1.5rem;
|
|
51
|
+
|
|
50
52
|
h2 {
|
|
51
53
|
font-size: 1.5rem;
|
|
52
54
|
font-weight: 600;
|
|
53
55
|
margin: 0;
|
|
54
56
|
}
|
|
57
|
+
|
|
55
58
|
p {
|
|
56
59
|
margin: 0;
|
|
57
60
|
color: var(--theme-elevation-500);
|
|
@@ -66,7 +69,7 @@
|
|
|
66
69
|
}
|
|
67
70
|
|
|
68
71
|
&__backup-codes {
|
|
69
|
-
>
|
|
72
|
+
>ul {
|
|
70
73
|
padding: 1rem;
|
|
71
74
|
background-color: var(--theme-elevation-50);
|
|
72
75
|
border: 1px solid var(--theme-elevation-100);
|
|
@@ -110,4 +113,4 @@
|
|
|
110
113
|
vertical-align: middle;
|
|
111
114
|
}
|
|
112
115
|
}
|
|
113
|
-
}
|
|
116
|
+
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { AdminButtons } from
|
|
2
|
-
import { AdminInviteButton } from
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
export { AdminButtons, AdminInviteButton, LogoutButton, TwoFactorAuth };
|
|
7
|
-
export { LoginFormProvider, CredentialsForm, AlternativeMethods, useLoginForm };
|
|
1
|
+
import { AdminButtons } from "../components/admin-buttons";
|
|
2
|
+
import { AdminInviteButton } from "../components/admin-invite-button";
|
|
3
|
+
import { AlternativeMethods, CredentialsForm, LoginFormProvider, useLoginForm } from "../components/login-form";
|
|
4
|
+
import { LogoutButton } from "../components/logout-button";
|
|
5
|
+
import { TwoFactorAuth } from "../components/two-factor-auth";
|
|
6
|
+
export { AdminButtons, AdminInviteButton, AlternativeMethods, CredentialsForm, LoginFormProvider, LogoutButton, TwoFactorAuth, useLoginForm };
|
|
8
7
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/exports/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/exports/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE9D,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,aAAa,EACb,YAAY,EACb,CAAC"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { AdminButtons } from "../components/admin-buttons";
|
|
2
2
|
import { AdminInviteButton } from "../components/admin-invite-button";
|
|
3
|
+
import { AlternativeMethods, CredentialsForm, LoginFormProvider, useLoginForm } from "../components/login-form";
|
|
3
4
|
import { LogoutButton } from "../components/logout-button";
|
|
4
5
|
import { TwoFactorAuth } from "../components/two-factor-auth";
|
|
5
|
-
|
|
6
|
-
export { AdminButtons, AdminInviteButton, LogoutButton, TwoFactorAuth };
|
|
7
|
-
export { LoginFormProvider, CredentialsForm, AlternativeMethods, useLoginForm };
|
|
6
|
+
export { AdminButtons, AdminInviteButton, AlternativeMethods, CredentialsForm, LoginFormProvider, LogoutButton, TwoFactorAuth, useLoginForm };
|
|
8
7
|
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9leHBvcnRzL2NsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZG1pbkJ1dHRvbnMgfSBmcm9tIFwiLi4vY29tcG9uZW50cy9hZG1pbi1idXR0b25zXCI7XG5pbXBvcnQgeyBBZG1pbkludml0ZUJ1dHRvbiB9IGZyb20gXCIuLi9jb21wb25lbnRzL2FkbWluLWludml0ZS1idXR0b25cIjtcbmltcG9ydCB7XG4gIEFsdGVybmF0aXZlTWV0aG9kcyxcbiAgQ3JlZGVudGlhbHNGb3JtLFxuICBMb2dpbkZvcm1Qcm92aWRlcixcbiAgdXNlTG9naW5Gb3JtXG59IGZyb20gXCIuLi9jb21wb25lbnRzL2xvZ2luLWZvcm1cIjtcbmltcG9ydCB7IExvZ291dEJ1dHRvbiB9IGZyb20gXCIuLi9jb21wb25lbnRzL2xvZ291dC1idXR0b25cIjtcbmltcG9ydCB7IFR3b0ZhY3RvckF1dGggfSBmcm9tIFwiLi4vY29tcG9uZW50cy90d28tZmFjdG9yLWF1dGhcIjtcblxuZXhwb3J0IHtcbiAgQWRtaW5CdXR0b25zLFxuICBBZG1pbkludml0ZUJ1dHRvbixcbiAgQWx0ZXJuYXRpdmVNZXRob2RzLFxuICBDcmVkZW50aWFsc0Zvcm0sXG4gIExvZ2luRm9ybVByb3ZpZGVyLFxuICBMb2dvdXRCdXR0b24sXG4gIFR3b0ZhY3RvckF1dGgsXG4gIHVzZUxvZ2luRm9ybVxufTtcbiJdLCJuYW1lcyI6WyJBZG1pbkJ1dHRvbnMiLCJBZG1pbkludml0ZUJ1dHRvbiIsIkFsdGVybmF0aXZlTWV0aG9kcyIsIkNyZWRlbnRpYWxzRm9ybSIsIkxvZ2luRm9ybVByb3ZpZGVyIiwidXNlTG9naW5Gb3JtIiwiTG9nb3V0QnV0dG9uIiwiVHdvRmFjdG9yQXV0aCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsWUFBWSxRQUFRLDhCQUE4QjtBQUMzRCxTQUFTQyxpQkFBaUIsUUFBUSxvQ0FBb0M7QUFDdEUsU0FDRUMsa0JBQWtCLEVBQ2xCQyxlQUFlLEVBQ2ZDLGlCQUFpQixFQUNqQkMsWUFBWSxRQUNQLDJCQUEyQjtBQUNsQyxTQUFTQyxZQUFZLFFBQVEsOEJBQThCO0FBQzNELFNBQVNDLGFBQWEsUUFBUSxnQ0FBZ0M7QUFFOUQsU0FDRVAsWUFBWSxFQUNaQyxpQkFBaUIsRUFDakJDLGtCQUFrQixFQUNsQkMsZUFBZSxFQUNmQyxpQkFBaUIsRUFDakJFLFlBQVksRUFDWkMsYUFBYSxFQUNiRixZQUFZLEdBQ1oifQ==
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
import
|
|
8
|
-
export {
|
|
1
|
+
import { Passkeys } from "../components/passkeys";
|
|
2
|
+
import RSCRedirect from "../components/rsc-redirect";
|
|
3
|
+
import AdminLogin from "../views/admin-login";
|
|
4
|
+
import AdminSignup from "../views/admin-signup";
|
|
5
|
+
import ForgotPassword from "../views/forgot-password";
|
|
6
|
+
import ResetPassword from "../views/reset-password";
|
|
7
|
+
import TwoFactorVerify from "../views/two-factor-verify";
|
|
8
|
+
export { AdminLogin, AdminSignup, ForgotPassword, Passkeys, ResetPassword, RSCRedirect, TwoFactorVerify };
|
|
9
9
|
//# sourceMappingURL=rsc.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rsc.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/exports/rsc.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"rsc.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/exports/rsc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,UAAU,MAAM,sBAAsB,CAAC;AAC9C,OAAO,WAAW,MAAM,uBAAuB,CAAC;AAChD,OAAO,cAAc,MAAM,0BAA0B,CAAC;AACtD,OAAO,aAAa,MAAM,yBAAyB,CAAC;AACpD,OAAO,eAAe,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EACL,UAAU,EACV,WAAW,EACX,cAAc,EACd,QAAQ,EACR,aAAa,EACb,WAAW,EACX,eAAe,EAChB,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Passkeys } from "../components/passkeys";
|
|
2
|
+
import RSCRedirect from "../components/rsc-redirect";
|
|
2
3
|
import AdminLogin from "../views/admin-login";
|
|
4
|
+
import AdminSignup from "../views/admin-signup";
|
|
3
5
|
import ForgotPassword from "../views/forgot-password";
|
|
4
6
|
import ResetPassword from "../views/reset-password";
|
|
5
|
-
import RSCRedirect from "../components/rsc-redirect";
|
|
6
7
|
import TwoFactorVerify from "../views/two-factor-verify";
|
|
7
|
-
|
|
8
|
-
export { AdminSignup, AdminLogin, ForgotPassword, ResetPassword, RSCRedirect, TwoFactorVerify, Passkeys };
|
|
8
|
+
export { AdminLogin, AdminSignup, ForgotPassword, Passkeys, ResetPassword, RSCRedirect, TwoFactorVerify };
|
|
9
9
|
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC9leHBvcnRzL3JzYy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQYXNza2V5cyB9IGZyb20gXCIuLi9jb21wb25lbnRzL3Bhc3NrZXlzXCI7XG5pbXBvcnQgUlNDUmVkaXJlY3QgZnJvbSBcIi4uL2NvbXBvbmVudHMvcnNjLXJlZGlyZWN0XCI7XG5pbXBvcnQgQWRtaW5Mb2dpbiBmcm9tIFwiLi4vdmlld3MvYWRtaW4tbG9naW5cIjtcbmltcG9ydCBBZG1pblNpZ251cCBmcm9tIFwiLi4vdmlld3MvYWRtaW4tc2lnbnVwXCI7XG5pbXBvcnQgRm9yZ290UGFzc3dvcmQgZnJvbSBcIi4uL3ZpZXdzL2ZvcmdvdC1wYXNzd29yZFwiO1xuaW1wb3J0IFJlc2V0UGFzc3dvcmQgZnJvbSBcIi4uL3ZpZXdzL3Jlc2V0LXBhc3N3b3JkXCI7XG5pbXBvcnQgVHdvRmFjdG9yVmVyaWZ5IGZyb20gXCIuLi92aWV3cy90d28tZmFjdG9yLXZlcmlmeVwiO1xuXG5leHBvcnQge1xuICBBZG1pbkxvZ2luLFxuICBBZG1pblNpZ251cCxcbiAgRm9yZ290UGFzc3dvcmQsXG4gIFBhc3NrZXlzLFxuICBSZXNldFBhc3N3b3JkLFxuICBSU0NSZWRpcmVjdCxcbiAgVHdvRmFjdG9yVmVyaWZ5XG59O1xuIl0sIm5hbWVzIjpbIlBhc3NrZXlzIiwiUlNDUmVkaXJlY3QiLCJBZG1pbkxvZ2luIiwiQWRtaW5TaWdudXAiLCJGb3Jnb3RQYXNzd29yZCIsIlJlc2V0UGFzc3dvcmQiLCJUd29GYWN0b3JWZXJpZnkiXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFFBQVEsUUFBUSx5QkFBeUI7QUFDbEQsT0FBT0MsaUJBQWlCLDZCQUE2QjtBQUNyRCxPQUFPQyxnQkFBZ0IsdUJBQXVCO0FBQzlDLE9BQU9DLGlCQUFpQix3QkFBd0I7QUFDaEQsT0FBT0Msb0JBQW9CLDJCQUEyQjtBQUN0RCxPQUFPQyxtQkFBbUIsMEJBQTBCO0FBQ3BELE9BQU9DLHFCQUFxQiw2QkFBNkI7QUFFekQsU0FDRUosVUFBVSxFQUNWQyxXQUFXLEVBQ1hDLGNBQWMsRUFDZEosUUFBUSxFQUNSSyxhQUFhLEVBQ2JKLFdBQVcsRUFDWEssZUFBZSxHQUNmIn0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { GenerateAdminInviteUrlFn } from
|
|
1
|
+
import type { GenerateAdminInviteUrlFn } from "@/better-auth/plugin/types";
|
|
2
2
|
export declare const generateAdminInviteUrl: GenerateAdminInviteUrlFn;
|
|
3
3
|
//# sourceMappingURL=generate-admin-invite-url.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-admin-invite-url.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/utils/generate-admin-invite-url.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,
|
|
1
|
+
{"version":3,"file":"generate-admin-invite-url.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/utils/generate-admin-invite-url.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAE3E,eAAO,MAAM,sBAAsB,EAAE,wBAUpC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { adminRoutes } from "../../constants";
|
|
2
2
|
export const generateAdminInviteUrl = ({ payload, token })=>{
|
|
3
3
|
if (!payload?.config?.serverURL) {
|
|
4
|
-
payload.logger.warn(
|
|
4
|
+
payload.logger.warn("payload.config.serverURL is not set. Set it to generate a full URL for the admin invite link.");
|
|
5
5
|
}
|
|
6
6
|
return `${payload.getAdminURL()}${adminRoutes.adminSignup}?token=${token}`;
|
|
7
7
|
};
|
|
8
8
|
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC91dGlscy9nZW5lcmF0ZS1hZG1pbi1pbnZpdGUtdXJsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkbWluUm91dGVzIH0gZnJvbSBcIkAvYmV0dGVyLWF1dGgvcGx1Z2luL2NvbnN0YW50c1wiO1xuaW1wb3J0IHR5cGUgeyBHZW5lcmF0ZUFkbWluSW52aXRlVXJsRm4gfSBmcm9tIFwiQC9iZXR0ZXItYXV0aC9wbHVnaW4vdHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IGdlbmVyYXRlQWRtaW5JbnZpdGVVcmw6IEdlbmVyYXRlQWRtaW5JbnZpdGVVcmxGbiA9ICh7XG4gIHBheWxvYWQsXG4gIHRva2VuXG59KSA9PiB7XG4gIGlmICghcGF5bG9hZD8uY29uZmlnPy5zZXJ2ZXJVUkwpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci53YXJuKFxuICAgICAgXCJwYXlsb2FkLmNvbmZpZy5zZXJ2ZXJVUkwgaXMgbm90IHNldC4gU2V0IGl0IHRvIGdlbmVyYXRlIGEgZnVsbCBVUkwgZm9yIHRoZSBhZG1pbiBpbnZpdGUgbGluay5cIlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGAke3BheWxvYWQuZ2V0QWRtaW5VUkwoKX0ke2FkbWluUm91dGVzLmFkbWluU2lnbnVwfT90b2tlbj0ke3Rva2VufWA7XG59O1xuIl0sIm5hbWVzIjpbImFkbWluUm91dGVzIiwiZ2VuZXJhdGVBZG1pbkludml0ZVVybCIsInBheWxvYWQiLCJ0b2tlbiIsImNvbmZpZyIsInNlcnZlclVSTCIsImxvZ2dlciIsIndhcm4iLCJnZXRBZG1pblVSTCIsImFkbWluU2lnbnVwIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxXQUFXLFFBQVEsa0JBQWlDO0FBRzdELE9BQU8sTUFBTUMseUJBQW1ELENBQUMsRUFDL0RDLE9BQU8sRUFDUEMsS0FBSyxFQUNOO0lBQ0MsSUFBSSxDQUFDRCxTQUFTRSxRQUFRQyxXQUFXO1FBQy9CSCxRQUFRSSxNQUFNLENBQUNDLElBQUksQ0FDakI7SUFFSjtJQUNBLE9BQU8sR0FBR0wsUUFBUU0sV0FBVyxLQUFLUixZQUFZUyxXQUFXLENBQUMsT0FBTyxFQUFFTixPQUFPO0FBQzVFLEVBQUUifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-safe-redirect.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/utils/get-safe-redirect.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"get-safe-redirect.d.ts","sourceRoot":"","sources":["../../../../../src/better-auth/plugin/payload/utils/get-safe-redirect.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,GAC1B,eAAe,MAAM,GAAG,MAAM,EAAE,EAChC,WAAU,MAAY,KACrB,MA8BF,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export const getSafeRedirect = (redirectParam, fallback =
|
|
2
|
-
if (typeof redirectParam !==
|
|
1
|
+
export const getSafeRedirect = (redirectParam, fallback = "/")=>{
|
|
2
|
+
if (typeof redirectParam !== "string") {
|
|
3
3
|
return fallback;
|
|
4
4
|
}
|
|
5
5
|
// Normalize and decode the path
|
|
@@ -7,17 +7,16 @@ export const getSafeRedirect = (redirectParam, fallback = '/')=>{
|
|
|
7
7
|
try {
|
|
8
8
|
redirectPath = decodeURIComponent(redirectParam.trim());
|
|
9
9
|
} catch {
|
|
10
|
-
return fallback // invalid encoding
|
|
11
|
-
;
|
|
10
|
+
return fallback; // invalid encoding
|
|
12
11
|
}
|
|
13
12
|
const isSafeRedirect = // Must start with a single forward slash (e.g., "/admin")
|
|
14
|
-
redirectPath.startsWith(
|
|
15
|
-
!redirectPath.startsWith(
|
|
16
|
-
!redirectPath.startsWith(
|
|
17
|
-
!redirectPath.startsWith(
|
|
18
|
-
!redirectPath.toLowerCase().startsWith(
|
|
19
|
-
!redirectPath.toLowerCase().startsWith(
|
|
13
|
+
redirectPath.startsWith("/") && // Prevent protocol-relative URLs (e.g., "//example.com")
|
|
14
|
+
!redirectPath.startsWith("//") && // Prevent encoded slashes that could resolve to protocol-relative
|
|
15
|
+
!redirectPath.startsWith("/%2F") && // Prevent backslash-based escape attempts (e.g., "/\\/example.com", "/\\\\example.com", "/\\example.com")
|
|
16
|
+
!redirectPath.startsWith("/\\/") && !redirectPath.startsWith("/\\\\") && !redirectPath.startsWith("/\\") && // Prevent javascript-based schemes (e.g., "/javascript:alert(1)")
|
|
17
|
+
!redirectPath.toLowerCase().startsWith("/javascript:") && // Prevent attempts to redirect to full URLs using "/http:" or "/https:"
|
|
18
|
+
!redirectPath.toLowerCase().startsWith("/http");
|
|
20
19
|
return isSafeRedirect ? redirectPath : fallback;
|
|
21
20
|
};
|
|
22
21
|
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9iZXR0ZXItYXV0aC9wbHVnaW4vcGF5bG9hZC91dGlscy9nZXQtc2FmZS1yZWRpcmVjdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZ2V0U2FmZVJlZGlyZWN0ID0gKFxuICByZWRpcmVjdFBhcmFtOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgZmFsbGJhY2s6IHN0cmluZyA9IFwiL1wiXG4pOiBzdHJpbmcgPT4ge1xuICBpZiAodHlwZW9mIHJlZGlyZWN0UGFyYW0gIT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gZmFsbGJhY2s7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgYW5kIGRlY29kZSB0aGUgcGF0aFxuICBsZXQgcmVkaXJlY3RQYXRoOiBzdHJpbmc7XG4gIHRyeSB7XG4gICAgcmVkaXJlY3RQYXRoID0gZGVjb2RlVVJJQ29tcG9uZW50KHJlZGlyZWN0UGFyYW0udHJpbSgpKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbGxiYWNrOyAvLyBpbnZhbGlkIGVuY29kaW5nXG4gIH1cblxuICBjb25zdCBpc1NhZmVSZWRpcmVjdCA9XG4gICAgLy8gTXVzdCBzdGFydCB3aXRoIGEgc2luZ2xlIGZvcndhcmQgc2xhc2ggKGUuZy4sIFwiL2FkbWluXCIpXG4gICAgcmVkaXJlY3RQYXRoLnN0YXJ0c1dpdGgoXCIvXCIpICYmXG4gICAgLy8gUHJldmVudCBwcm90b2NvbC1yZWxhdGl2ZSBVUkxzIChlLmcuLCBcIi8vZXhhbXBsZS5jb21cIilcbiAgICAhcmVkaXJlY3RQYXRoLnN0YXJ0c1dpdGgoXCIvL1wiKSAmJlxuICAgIC8vIFByZXZlbnQgZW5jb2RlZCBzbGFzaGVzIHRoYXQgY291bGQgcmVzb2x2ZSB0byBwcm90b2NvbC1yZWxhdGl2ZVxuICAgICFyZWRpcmVjdFBhdGguc3RhcnRzV2l0aChcIi8lMkZcIikgJiZcbiAgICAvLyBQcmV2ZW50IGJhY2tzbGFzaC1iYXNlZCBlc2NhcGUgYXR0ZW1wdHMgKGUuZy4sIFwiL1xcXFwvZXhhbXBsZS5jb21cIiwgXCIvXFxcXFxcXFxleGFtcGxlLmNvbVwiLCBcIi9cXFxcZXhhbXBsZS5jb21cIilcbiAgICAhcmVkaXJlY3RQYXRoLnN0YXJ0c1dpdGgoXCIvXFxcXC9cIikgJiZcbiAgICAhcmVkaXJlY3RQYXRoLnN0YXJ0c1dpdGgoXCIvXFxcXFxcXFxcIikgJiZcbiAgICAhcmVkaXJlY3RQYXRoLnN0YXJ0c1dpdGgoXCIvXFxcXFwiKSAmJlxuICAgIC8vIFByZXZlbnQgamF2YXNjcmlwdC1iYXNlZCBzY2hlbWVzIChlLmcuLCBcIi9qYXZhc2NyaXB0OmFsZXJ0KDEpXCIpXG4gICAgIXJlZGlyZWN0UGF0aC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoXCIvamF2YXNjcmlwdDpcIikgJiZcbiAgICAvLyBQcmV2ZW50IGF0dGVtcHRzIHRvIHJlZGlyZWN0IHRvIGZ1bGwgVVJMcyB1c2luZyBcIi9odHRwOlwiIG9yIFwiL2h0dHBzOlwiXG4gICAgIXJlZGlyZWN0UGF0aC50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoXCIvaHR0cFwiKTtcblxuICByZXR1cm4gaXNTYWZlUmVkaXJlY3QgPyByZWRpcmVjdFBhdGggOiBmYWxsYmFjaztcbn07XG4iXSwibmFtZXMiOlsiZ2V0U2FmZVJlZGlyZWN0IiwicmVkaXJlY3RQYXJhbSIsImZhbGxiYWNrIiwicmVkaXJlY3RQYXRoIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwidHJpbSIsImlzU2FmZVJlZGlyZWN0Iiwic3RhcnRzV2l0aCIsInRvTG93ZXJDYXNlIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU1BLGtCQUFrQixDQUM3QkMsZUFDQUMsV0FBbUIsR0FBRztJQUV0QixJQUFJLE9BQU9ELGtCQUFrQixVQUFVO1FBQ3JDLE9BQU9DO0lBQ1Q7SUFFQSxnQ0FBZ0M7SUFDaEMsSUFBSUM7SUFDSixJQUFJO1FBQ0ZBLGVBQWVDLG1CQUFtQkgsY0FBY0ksSUFBSTtJQUN0RCxFQUFFLE9BQU07UUFDTixPQUFPSCxVQUFVLG1CQUFtQjtJQUN0QztJQUVBLE1BQU1JLGlCQUNKLDBEQUEwRDtJQUMxREgsYUFBYUksVUFBVSxDQUFDLFFBQ3hCLHlEQUF5RDtJQUN6RCxDQUFDSixhQUFhSSxVQUFVLENBQUMsU0FDekIsa0VBQWtFO0lBQ2xFLENBQUNKLGFBQWFJLFVBQVUsQ0FBQyxXQUN6QiwwR0FBMEc7SUFDMUcsQ0FBQ0osYUFBYUksVUFBVSxDQUFDLFdBQ3pCLENBQUNKLGFBQWFJLFVBQVUsQ0FBQyxZQUN6QixDQUFDSixhQUFhSSxVQUFVLENBQUMsVUFDekIsa0VBQWtFO0lBQ2xFLENBQUNKLGFBQWFLLFdBQVcsR0FBR0QsVUFBVSxDQUFDLG1CQUN2Qyx3RUFBd0U7SUFDeEUsQ0FBQ0osYUFBYUssV0FBVyxHQUFHRCxVQUFVLENBQUM7SUFFekMsT0FBT0QsaUJBQWlCSCxlQUFlRDtBQUN6QyxFQUFFIn0=
|
|
@@ -1,13 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
type AdminLoginClientProps = {
|
|
1
|
+
import type { LoginMethod } from "@/better-auth/plugin/types";
|
|
2
|
+
interface AdminLoginClientProps {
|
|
4
3
|
loginMethods: LoginMethod[];
|
|
5
4
|
plugins?: {
|
|
6
5
|
username?: boolean;
|
|
7
6
|
passkey?: boolean;
|
|
8
7
|
magicLink?: boolean;
|
|
9
8
|
};
|
|
10
|
-
loginIdentifiers: (
|
|
9
|
+
loginIdentifiers: ("email" | "username")[];
|
|
11
10
|
prefill?: {
|
|
12
11
|
email?: string;
|
|
13
12
|
password?: string;
|
|
@@ -18,7 +17,7 @@ type AdminLoginClientProps = {
|
|
|
18
17
|
};
|
|
19
18
|
baseURL?: string;
|
|
20
19
|
basePath?: string;
|
|
21
|
-
}
|
|
22
|
-
export declare
|
|
20
|
+
}
|
|
21
|
+
export declare function AdminLoginClient({ loginMethods, searchParams, loginIdentifiers, baseURL, basePath, plugins, prefill }: AdminLoginClientProps): import("react").JSX.Element;
|
|
23
22
|
export {};
|
|
24
23
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/views/admin-login/client.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../../../src/better-auth/plugin/payload/views/admin-login/client.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,UAAU,qBAAqB;IAC7B,YAAY,EAAE,WAAW,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE;QACR,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,gBAAgB,EAAE,CAAC,OAAO,GAAG,UAAU,CAAC,EAAE,CAAC;IAC3C,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,YAAY,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAA;KAAE,CAAC;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,OAAO,EACP,QAAQ,EACR,OAAO,EACP,OAAO,EACR,EAAE,qBAAqB,+BAqBvB"}
|