diff --git a/dev_notes.md b/dev_notes.md
index 4c4b2b076..0e0b64c1c 100644
--- a/dev_notes.md
+++ b/dev_notes.md
@@ -2,6 +2,10 @@
 
 ## CURRENT WORK
 
+### Missing i18n (zh/ko) for Svelte 5 Migration:
+
+- `t.common.close`
+
 ## Stage 1 - essentials
 
 [x] finished
diff --git a/frontend/src/api/fetch.ts b/frontend/src/api/fetch.ts
index 4817cabb9..578ea7d4e 100644
--- a/frontend/src/api/fetch.ts
+++ b/frontend/src/api/fetch.ts
@@ -1,5 +1,5 @@
 import {CSRF_TOKEN} from "../utils/constants";
-import {type ErrorResponse} from "$api/response/errorResponse.ts";
+import {type ErrorResponse} from "$api/response/error.ts";
 
 export interface IResponse<T> {
     body: undefined | T,
diff --git a/frontend/src/api/query_params/logout.ts b/frontend/src/api/query_params/logout.ts
new file mode 100644
index 000000000..0773f40c7
--- /dev/null
+++ b/frontend/src/api/query_params/logout.ts
@@ -0,0 +1,5 @@
+export interface LogoutParams {
+    post_logout_redirect_uri?: string | null,
+    id_token_hint?: string | null,
+    state?: string | null,
+}
\ No newline at end of file
diff --git a/frontend/src/api/response/errorResponse.ts b/frontend/src/api/response/common/error.ts
similarity index 65%
rename from frontend/src/api/response/errorResponse.ts
rename to frontend/src/api/response/common/error.ts
index 6a797fa26..584bb29ce 100644
--- a/frontend/src/api/response/errorResponse.ts
+++ b/frontend/src/api/response/common/error.ts
@@ -1,4 +1,4 @@
-export interface ErrorResponse {
+export interface Error {
     timestamp: number,
     error: string,
     message: string,
diff --git a/frontend/src/api/response/common/language.ts b/frontend/src/api/response/common/language.ts
new file mode 100644
index 000000000..a415787ea
--- /dev/null
+++ b/frontend/src/api/response/common/language.ts
@@ -0,0 +1 @@
+export type Language = 'en' | 'de' | 'zhhans' | 'ko';
\ No newline at end of file
diff --git a/frontend/src/api/response/common/password_policy.ts b/frontend/src/api/response/common/password_policy.ts
new file mode 100644
index 000000000..25c479dfa
--- /dev/null
+++ b/frontend/src/api/response/common/password_policy.ts
@@ -0,0 +1,10 @@
+export interface PasswordPolicyResponse {
+    length_min: number,
+    length_max: number,
+    include_lower_case?: number,
+    include_upper_case?: number,
+    include_digits?: number,
+    include_special?: number,
+    valid_days?: number,
+    not_recently_used?: number,
+}
\ No newline at end of file
diff --git a/frontend/src/api/response/common/session.ts b/frontend/src/api/response/common/session.ts
new file mode 100644
index 000000000..5ea45d2fb
--- /dev/null
+++ b/frontend/src/api/response/common/session.ts
@@ -0,0 +1,9 @@
+export interface SessionResponse {
+    id: string,
+    user_id?: string,
+    is_mfa: boolean,
+    state: 'Open' | 'Init' | 'Auth' | 'LoggedOut' | 'Unknown',
+    exp: number,
+    last_seen: number,
+    remote_ip?: string,
+}
\ No newline at end of file
diff --git a/frontend/src/api/response/common/user.ts b/frontend/src/api/response/common/user.ts
new file mode 100644
index 000000000..e6efd4e6a
--- /dev/null
+++ b/frontend/src/api/response/common/user.ts
@@ -0,0 +1,41 @@
+import type {Language} from "$api/response/common/language.ts";
+
+export type UserAccountTypeResponse =
+    'New'
+    | 'Password'
+    | 'Passkey'
+    | 'Federated'
+    | 'FederatedPasskey'
+    | 'FederatedPassword';
+
+export interface UserResponse {
+    id: string,
+    email: string,
+    given_name: string,
+    family_name?: string,
+    language: Language,
+    roles: string[],
+    groups?: string[],
+    enabled: boolean,
+    email_verified: boolean,
+    password_expires?: number,
+    created_at: number,
+    last_login?: number,
+    last_failed_login?: number,
+    failed_login_attempts?: number,
+    user_expires?: number,
+    account_type: UserAccountTypeResponse,
+    webauthn_user_id?: string,
+    user_values: UserValuesResponse,
+    auth_provider_id?: string,
+    federation_uid?: string,
+}
+
+export interface UserValuesResponse {
+    birthdate?: string,
+    phone?: string,
+    street?: string,
+    zip?: number,
+    city?: string,
+    country?: string,
+}
diff --git a/frontend/src/api/templates/AuthProvider.ts b/frontend/src/api/templates/AuthProvider.ts
new file mode 100644
index 000000000..366fa34a2
--- /dev/null
+++ b/frontend/src/api/templates/AuthProvider.ts
@@ -0,0 +1,6 @@
+export type AuthProvidersTemplate = AuthProviderTemplate[];
+
+export interface AuthProviderTemplate {
+    id: string,
+    name: string,
+}
\ No newline at end of file
diff --git a/frontend/src/api/templates/PasswordReset.ts b/frontend/src/api/templates/PasswordReset.ts
new file mode 100644
index 000000000..f2177dcc9
--- /dev/null
+++ b/frontend/src/api/templates/PasswordReset.ts
@@ -0,0 +1,9 @@
+import type {PasswordPolicyResponse} from "$api/response/common/password_policy.ts";
+
+export interface PasswordResetTemplate {
+    csrf_token: string,
+    magic_link_id: string,
+    needs_mfa: boolean,
+    password_policy: PasswordPolicyResponse,
+    user_id: string,
+}
\ No newline at end of file
diff --git a/frontend/src/app.html b/frontend/src/app.html
index 65ddd8714..bc6520165 100644
--- a/frontend/src/app.html
+++ b/frontend/src/app.html
@@ -45,9 +45,6 @@
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
diff --git a/frontend/src/components/account/AccDevices.svelte b/frontend/src/components/account/AccDevices.svelte
index 5d038504e..cb1073e02 100644
--- a/frontend/src/components/account/AccDevices.svelte
+++ b/frontend/src/components/account/AccDevices.svelte
@@ -1,7 +1,7 @@
 <script>
     import Devices from "../common/Devices.svelte";
 
-    let {sessionInfo = $bindable()} = $props();
+    let {session = $bindable()} = $props();
 
 </script>
 
@@ -10,7 +10,7 @@
     This is component is only a wrapper because the same Devices
     is reused in the admin ui
     -->
-    <Devices userId={sessionInfo.user_id}/>
+    <Devices userId={session.user_id}/>
 </div>
 
 <style>
diff --git a/frontend/src/components/account/AccInfo.svelte b/frontend/src/components/account/AccInfo.svelte
index 5fc26cdfe..0551c1586 100644
--- a/frontend/src/components/account/AccInfo.svelte
+++ b/frontend/src/components/account/AccInfo.svelte
@@ -1,25 +1,16 @@
 <script>
     import CheckIcon from "$lib/CheckIcon.svelte";
     import {buildWebIdUri, formatDateFromTs, saveProviderToken} from "../../utils/helpers";
-    import {onMount} from "svelte";
     import Button from "$lib/Button.svelte";
     import {deleteUserProviderLink, postUserProviderLink} from "../../utils/dataFetching.js";
-    import Modal from "$lib/Modal.svelte";
+    import Modal from "$lib5/Modal.svelte";
     import getPkce from "oauth-pkce";
     import {PKCE_VERIFIER_UPSTREAM} from "../../utils/constants.js";
     import {useI18n} from "$state/i18n.svelte";
 
-    /**
-     * @typedef {Object} Props
-     * @property {any} [user]
-     * @property {any} authProvider - webIdData will stay undefined if it is not enabled in the backend
-     * @property {any} webIdData
-     * @property {boolean} [viewModePhone]
-     */
-
-    /** @type {Props} */
     let {
-        user = $bindable({}),
+        user = $bindable(),
+        providers,
         authProvider,
         webIdData,
         viewModePhone = false
@@ -29,7 +20,6 @@
 
     let unlinkErr = $state(false);
     let showModal = $state(false);
-    let providersAvailable = $state([]);
 
     let isFederated = $derived(user.account_type?.startsWith('federated'));
     let accType = $derived(isFederated ? `${user.account_type}: ${authProvider?.name || ''}` : user.account_type);
@@ -37,16 +27,6 @@
     let classRow = $derived(viewModePhone ? 'rowPhone' : 'row');
     let classLabel = $derived(viewModePhone ? 'labelPhone' : 'label');
 
-    onMount(() => {
-        // value for dev testing only
-        // let tpl = '[{"id": "7F6N7fb3el3P5XimjJSaeD2o", "name": "Rauthy IAM"}]';
-        let tpl = document?.getElementsByTagName("template").namedItem("auth_providers")?.innerHTML;
-        // the additional comparison is just for local dev and no big deal in prod
-        if (tpl && tpl !== '{{ auth_providers|safe }}') {
-            providersAvailable = JSON.parse(tpl);
-        }
-    })
-
     function linkProvider(id) {
         getPkce(64, (error, {challenge, verifier}) => {
             if (!error) {
@@ -130,7 +110,7 @@
                         </div>
                     {/if}
                 </div>
-            {:else if providersAvailable.length > 0}
+            {:else if providers.length > 0}
                 <div
                         role="button"
                         tabindex="0"
@@ -144,7 +124,7 @@
                     <p>{t.account.providerLinkDesc}</p>
 
                     <div class="providers">
-                        {#each providersAvailable as provider (provider.id)}
+                        {#each providers as provider (provider.id)}
                             <Button on:click={() => linkProvider(provider.id)} level={3}>
                                 <div class="flex-inline">
                                     <img
diff --git a/frontend/src/components/account/AccMFA.svelte b/frontend/src/components/account/AccMFA.svelte
index d4f7c7c76..25ec6d78a 100644
--- a/frontend/src/components/account/AccMFA.svelte
+++ b/frontend/src/components/account/AccMFA.svelte
@@ -24,7 +24,7 @@
     import Tooltip from "$lib/Tooltip.svelte";
     import {useI18n} from "$state/i18n.svelte";
 
-    let {sessionInfo, user = {}} = $props();
+    let {session, user = {}} = $props();
 
     let t = useI18n();
 
@@ -59,7 +59,7 @@
     }
 
     async function fetchPasskeys() {
-        let res = await getUserPasskeys(sessionInfo.user_id);
+        let res = await getUserPasskeys(session.user_id);
         let body = await res.json();
         if (res.ok) {
             passkeys = body;
diff --git a/frontend/src/components/account/AccMain.svelte b/frontend/src/components/account/AccMain.svelte
index 0f260a7f6..5538036d2 100644
--- a/frontend/src/components/account/AccMain.svelte
+++ b/frontend/src/components/account/AccMain.svelte
@@ -1,6 +1,6 @@
-<script>
+<script lang="ts">
     import { run } from 'svelte/legacy';
-    import {getAuthProvidersTemplate, redirectToLogout} from "../../utils/helpers";
+    import {redirectToLogout} from "../../utils/helpers";
     import AccInfo from "./AccInfo.svelte";
     import AccNav from "./AccNav.svelte";
     import AccEdit from "./AccEdit.svelte";
@@ -9,30 +9,33 @@
     import LangSelector from "$lib5/LangSelector.svelte";
     import AccPassword from "./AccPassword.svelte";
     import AccWebId from "./AccWebId.svelte";
-    import {onMount} from "svelte";
     import AccDevices from "./AccDevices.svelte";
     import {useI18n} from "$state/i18n.svelte";
+    import type {SessionResponse} from "$api/response/common/session.js";
+    import type {UserResponse} from "$api/response/common/user.ts";
+    import {TPL_AUTH_PROVIDERS} from "../../utils/constants";
+    import Template from "$lib5/Template.svelte";
+    import type {AuthProvidersTemplate} from "$api/templates/AuthProvider.ts";
 
-    /**
-     * @typedef {Object} Props
-     * @property {any} [sessionInfo]
-     * @property {any} [user]
-     * @property {any} webIdData - webIdData will stay undefined if it is not enabled in the backend
-     */
-
-    /** @type {Props} */
     let {
-        sessionInfo,
-        user = $bindable({}),
+        session: session,
+        user = $bindable(),
         webIdData = $bindable()
+    }: {
+        session: SessionResponse,
+        user: UserResponse,
+        webIdData: any,
     } = $props();
 
     let t = useI18n();
 
-    let innerWidth = $state();
-    let providers = $state();
-    let authProvider = $state();
-
+    let innerWidth: undefined | number = $state();
+    let providers: AuthProvidersTemplate = $state([]);
+    let authProvider = $derived.by(() => {
+        if (user.account_type?.startsWith('federated')) {
+            return providers.filter(p => p.id === user.auth_provider_id)[0];
+        }
+    });
 
     let op = tweened(1.0, {
         duration: 100,
@@ -41,37 +44,29 @@
     let content = $state(t.account.navInfo);
     let selected = $state(t.account.navInfo);
 
-    onMount(async () => {
-        providers = await getAuthProvidersTemplate();
-    });
-
     function animate() {
         op.set(0)
             .then(() => content = selected)
             .then(() => op.set(1.0));
     }
-    let viewModePhone = $derived(innerWidth < 500);
+    let viewModePhone = $derived(innerWidth && innerWidth < 500);
     run(() => {
         if (selected) {
             animate();
         }
     });
-    run(() => {
+
+    $effect(() => {
         if (selected === t.account.navLogout) {
             redirectToLogout();
         }
     });
-    run(() => {
-        if (providers) {
-            if (user.account_type?.startsWith('federated')) {
-                authProvider = providers.filter(p => p.id === user.auth_provider_id)[0];
-            }
-        }
-    });
 </script>
 
 <svelte:window bind:innerWidth/>
 
+<Template id={TPL_AUTH_PROVIDERS} bind:value={providers}/>
+
 {#if viewModePhone}
     <div class="wrapper">
         <LangSelector absolute absoluteRight updateBackend/>
@@ -86,17 +81,17 @@
             <div class="innerPhone">
                 <div style="opacity: {$op}">
                     {#if content === t.account.navInfo}
-                        <AccInfo bind:user {webIdData} viewModePhone {authProvider}/>
+                        <AccInfo bind:user {webIdData} viewModePhone {providers} {authProvider}/>
                     {:else if content === t.account.navEdit}
                         <AccEdit bind:user viewModePhone/>
                     {:else if content === t.common.password}
                         <AccPassword {user} {authProvider} viewModePhone/>
                     {:else if content === t.account.navMfa}
-                        <AccMFA {sessionInfo} {user}/>
+                        <AccMFA {session} {user}/>
                     {:else if content === 'WebID'}
                         <AccWebId bind:webIdData />
                     {:else if content === t.account.devices}
-                        <AccDevices bind:sessionInfo/>
+                        <AccDevices bind:session/>
                     {/if}
                 </div>
             </div>
@@ -116,17 +111,17 @@
             <div class="inner">
                 <div style="opacity: {$op}">
                     {#if content === t.account.navInfo}
-                        <AccInfo bind:user {webIdData} {authProvider}/>
+                        <AccInfo bind:user {webIdData} {providers} {authProvider}/>
                     {:else if content === t.account.navEdit}
                         <AccEdit bind:user/>
                     {:else if content === t.common.password}
                         <AccPassword {user} {authProvider}/>
                     {:else if content === t.account.navMfa}
-                        <AccMFA {sessionInfo} {user}/>
+                        <AccMFA {session} {user}/>
                     {:else if content === 'WebID'}
                         <AccWebId bind:webIdData/>
                     {:else if content === t.account.devices}
-                        <AccDevices bind:sessionInfo/>
+                        <AccDevices bind:session/>
                     {/if}
                 </div>
             </div>
diff --git a/frontend/src/global_state/is_dev.svelte.ts b/frontend/src/global_state/is_dev.svelte.ts
index debb82b80..b384d97f9 100644
--- a/frontend/src/global_state/is_dev.svelte.ts
+++ b/frontend/src/global_state/is_dev.svelte.ts
@@ -1,14 +1,15 @@
 let _isDev = $state(typeof (process) !== 'undefined' && process.env.DEV_MODE === 'true');
 
 export function initIsDev() {
-    if (typeof (process) !== 'undefined') {
-        _isDev = process.env.DEV_MODE === 'true';
-    } else if (typeof (window) !== 'undefined') {
-        // We can take advantage of the fast that SSR template values will not exist during local dev.
-        // TODO needs adjustment as soon as this has been converted into a template
-        let elem = window.document.getElementsByName('rauthy-csrf-token')[0];
-        _isDev = elem.id === '{{ csrf_token }}';
-    }
+    _isDev = process.env.DEV_MODE === 'true'
+    // if (typeof (process) !== 'undefined') {
+    //     _isDev = process.env.DEV_MODE === 'true';
+    // } else if (typeof (window) !== 'undefined') {
+    //     // We can take advantage of the fast that SSR template values will not exist during local dev.
+    //     // TODO needs adjustment as soon as this has been converted into a template
+    //     let elem = window.document.getElementById(TPL_CS);
+    //     _isDev = elem.id === '{{ csrf_token }}';
+    // }
 }
 
 export function useIsDev() {
diff --git a/frontend/src/i18n/de.ts b/frontend/src/i18n/de.ts
index 110b083b6..0182ec892 100644
--- a/frontend/src/i18n/de.ts
+++ b/frontend/src/i18n/de.ts
@@ -3,6 +3,7 @@ import {type I18n} from "./interface.ts";
 export const I18nDe: I18n = {
     common: {
         cancel: "Abbrechen",
+        close: "Schließen",
         email: "E-Mail",
         errTooShort: "Eingabe zu kurz",
         errTooLong: "Eingabe zu lang",
diff --git a/frontend/src/i18n/en.ts b/frontend/src/i18n/en.ts
index ec79158ad..76a2a6f0e 100644
--- a/frontend/src/i18n/en.ts
+++ b/frontend/src/i18n/en.ts
@@ -3,6 +3,7 @@ import {type I18n} from "./interface.ts";
 export const I18nEn: I18n = {
     common: {
         cancel: "Cancel",
+        close: "Close",
         email: "E-Mail",
         errTooShort: "Input too short",
         errTooLong: "Input too long",
diff --git a/frontend/src/i18n/interface.ts b/frontend/src/i18n/interface.ts
index 9cfb0ffac..db63777ad 100644
--- a/frontend/src/i18n/interface.ts
+++ b/frontend/src/i18n/interface.ts
@@ -1,6 +1,7 @@
 export interface I18n {
     common: {
         cancel: string,
+        close: string,
         email: string,
         errTooShort: string,
         errTooLong: string,
diff --git a/frontend/src/i18n/ko.ts b/frontend/src/i18n/ko.ts
index 032e3b9bf..89d0090b6 100644
--- a/frontend/src/i18n/ko.ts
+++ b/frontend/src/i18n/ko.ts
@@ -3,6 +3,7 @@ import {type I18n} from "./interface.ts";
 export const I18nKo: I18n = {
     common: {
         cancel: "취소",
+        close: "Close",
         email: "이메일",
         errTooShort: "입력이 너무 짧습니다.",
         errTooLong: "입력이 너무 깁니다.",
diff --git a/frontend/src/i18n/zh.ts b/frontend/src/i18n/zh.ts
index 32ec36949..d44c8e603 100644
--- a/frontend/src/i18n/zh.ts
+++ b/frontend/src/i18n/zh.ts
@@ -3,6 +3,7 @@ import {type I18n} from "./interface.ts";
 export const I18nZh: I18n = {
     common: {
         cancel: "取消",
+        close: "Close",
         email: "电子邮箱",
         errTooShort: "输入过短",
         errTooLong: "输入过长",
diff --git a/frontend/src/lib/Modal.svelte b/frontend/src/lib/Modal.svelte
index 3903161d9..ffb63c023 100644
--- a/frontend/src/lib/Modal.svelte
+++ b/frontend/src/lib/Modal.svelte
@@ -57,6 +57,7 @@
         border-radius: 3px;
         border: none;
         padding: 0;
+        /*background: transparent;*/
     }
 
     dialog::backdrop {
@@ -64,6 +65,7 @@
     }
 
     dialog > div {
+        margin: auto;
         padding: 1rem;
     }
 
diff --git a/frontend/src/lib_svelte5/Button.svelte b/frontend/src/lib_svelte5/Button.svelte
new file mode 100644
index 000000000..760ca8b57
--- /dev/null
+++ b/frontend/src/lib_svelte5/Button.svelte
@@ -0,0 +1,282 @@
+<script lang="ts">
+    import {fade} from "svelte/transition";
+    import type {Snippet} from 'svelte'
+    import Loading from "$lib5/Loading.svelte";
+
+    let {
+        type = 'button',
+        role = 'button',
+        ref = $bindable(),
+        id,
+        ariaLabel,
+        ariaControls,
+        ariaCurrent,
+        level = 1,
+        width,
+        isDisabled = false,
+        isLoading = false,
+        invisible = false,
+        invisibleOutline = false,
+        popovertarget,
+        popovertargetaction,
+        onclick,
+        onLeft,
+        onRight,
+        onUp,
+        onDown,
+        children,
+        ...rest
+    }: {
+        type?: "button" | "submit" | "reset" | null | undefined,
+        role?: string,
+        ref?: undefined | HTMLButtonElement,
+        id?: string,
+        ariaLabel?: string,
+        ariaControls?: string,
+        ariaCurrent?: "time" | "page" | "step" | "location" | "date" | undefined,
+        level?: number,
+        width?: string,
+        isDisabled?: boolean,
+        isLoading?: boolean,
+        invisible?: boolean,
+        invisibleOutline?: boolean,
+        popovertarget?: string,
+        popovertargetaction?: 'toggle' | 'show' | 'hide' | null | undefined,
+        children: Snippet,
+
+        onclick?: (ev: Event) => void,
+        onLeft?: () => void,
+        onRight?: () => void,
+        onUp?: () => void,
+        onDown?: () => void,
+    } = $props();
+
+    let cls = $derived.by(() => {
+        if (invisible) {
+            return 'invisible';
+        }
+        switch (level) {
+            case -1:
+                return 'l1d';
+            case -2:
+                return 'l2d';
+            case -3:
+                return 'l3d';
+            case 2:
+                return 'l2';
+            case 3:
+                return 'l3';
+            default:
+                return 'l1';
+        }
+    });
+    let showText = $state(!isLoading);
+    let disabled = $derived(isDisabled || isLoading);
+
+    $effect(() => {
+        if (isLoading) {
+            setTimeout(() => {
+                showText = false;
+            }, 120);
+        } else {
+            setTimeout(() => {
+                showText = true;
+            }, 120);
+        }
+    })
+
+    function loadingColor() {
+        switch (level) {
+            case -1:
+                return 'var(--btn-text)';
+            case -2:
+                return 'hsl(var(--error))';
+            case -3:
+                return 'hsl(var(--error))';
+            case 2:
+                return 'hsl(var(--action))';
+            case 3:
+                return 'hsl(var(--action))';
+            default:
+                return 'var(--btn-text)';
+        }
+    }
+
+    function onkeydown(ev: KeyboardEvent) {
+        switch (ev.code) {
+            case 'Enter':
+                onclick?.(ev);
+                break;
+            case 'ArrowLeft':
+                onLeft?.();
+                break;
+            case 'ArrowRight':
+                onRight?.();
+                break;
+            case 'ArrowUp':
+                onUp?.();
+                break;
+            case 'ArrowDown':
+                onDown?.();
+                break;
+        }
+    }
+
+</script>
+
+<button
+        bind:this={ref}
+        {role}
+        {type}
+        {id}
+        aria-label={ariaLabel}
+        aria-controls={ariaControls}
+        aria-current={ariaCurrent}
+        class={cls}
+        class:invisibleOutline
+        style:width
+        data-isloading={isLoading}
+        {onclick}
+        {onkeydown}
+        {disabled}
+        aria-disabled={disabled}
+        {popovertarget}
+        {popovertargetaction}
+        {...rest}
+>
+    {#if isLoading}
+        <div class="load">
+            <Loading background={false} color={loadingColor()}/>
+        </div>
+    {:else if showText}
+        <div in:fade class="font-label">
+            {@render children()}
+        </div>
+    {/if}
+</button>
+
+<style>
+    button {
+        height: 2rem;
+        padding: 0 .5rem;
+        font-weight: bold;
+        font-size: .9rem;
+        outline: none;
+        border: none;
+        border-radius: var(--border-radius);
+        cursor: pointer;
+        transition: all 150ms;
+    }
+
+    button:hover {
+        box-shadow: 1px 1px 2px hsl(var(--bg-high));
+    }
+
+    button:focus-visible {
+        outline: 2px solid hsl(var(--accent));
+    }
+
+    .invisible, .invisible:hover {
+        margin: 0;
+        padding: 0;
+        outline: none;
+        background: none;
+        box-shadow: none;
+        color: hsla(var(--action), .93);
+    }
+
+    .invisible:hover {
+        color: hsl(var(--action));
+    }
+
+    .invisible > div {
+        color: hsl(var(--text));
+        transition: color 150ms;
+    }
+
+    .invisible:hover > div {
+        color: hsl(var(--action));
+    }
+
+    .invisible .font-label {
+        margin-bottom: -.5rem;
+    }
+
+    .invisibleOutline:focus {
+        outline: none;
+    }
+
+    button[aria-disabled="true"],
+    button[aria-disabled="true"]:hover,
+    button[aria-disabled="true"]:focus {
+        color: hsl(var(--bg-high));
+    }
+
+    button[aria-disabled="true"],
+    button[data-isloading="true"] {
+        cursor: not-allowed;
+    }
+
+    .l1, .l2, .l3 {
+        border: 1px solid hsla(var(--action), .5);
+    }
+
+    .l1 {
+        color: var(--btn-text);
+        background: hsla(var(--action), .93);
+    }
+
+    .l1:hover {
+        background: hsl(var(--action));
+    }
+
+    .l1[aria-disabled="true"] {
+        background: hsla(var(--text), .5);
+    }
+
+    .l2 {
+        color: hsl(var(--action));
+        border: 1px solid hsl(var(--action));
+        background: transparent;
+    }
+
+    .l3 {
+        color: hsla(var(--action), .9);
+        border: none;
+        background: transparent;
+    }
+
+    .l3:hover {
+        color: hsl(var(--action));
+    }
+
+    .l1d, .l2d, .l3d {
+        border: 1px solid hsla(var(--error), .5);
+    }
+
+    .l1d {
+        color: var(--btn-text);
+        background: hsla(var(--error), .93);
+    }
+
+    .l1d:hover {
+        background: hsl(var(--error));
+    }
+
+    .l2d {
+        color: hsl(var(--error));
+        border: 1px solid hsl(var(--error));
+        background: transparent;
+    }
+
+    .l3d {
+        color: hsl(var(--error));
+        border: none;
+        background: transparent;
+    }
+
+    .load {
+        display: flex;
+        justify-content: center;
+    }
+</style>
diff --git a/frontend/src/lib_svelte5/Loading.svelte b/frontend/src/lib_svelte5/Loading.svelte
new file mode 100644
index 000000000..52c133bd2
--- /dev/null
+++ b/frontend/src/lib_svelte5/Loading.svelte
@@ -0,0 +1,100 @@
+<script lang="ts">
+    import {fade} from 'svelte/transition';
+
+    let {
+        background = false,
+        color = 'hsl(var(--text))',
+        global = false,
+        offset = 0,
+    }: {
+        background?: boolean;
+        color?: string;
+        global?: boolean;
+        offset?: number;
+    } = $props();
+
+</script>
+
+<div
+        class="container"
+        class:global
+        class:local={!global}
+        class:background
+        transition:fade="{{ duration: 100 }}"
+>
+    <div class="loading" style="margin-top: {offset}px;">
+        <div class="loading-1" style:background={color}></div>
+        <div class="loading-2" style:background={color}></div>
+        <div class="loading-3" style:background={color}></div>
+    </div>
+</div>
+
+<style>
+    .container {
+        display: flex;
+        flex: 1;
+        justify-content: center;
+        align-items: center;
+        z-index: 1;
+    }
+
+    @keyframes fade-in {
+        from {
+            opacity: 0;
+        }
+        to {
+            opacity: 1;
+        }
+    }
+
+    @keyframes fade-out {
+        from {
+            opacity: 1;
+        }
+        to {
+            opacity: 0;
+        }
+    }
+
+    .loading {
+        width: 3.3rem;
+        height: 1.1rem;
+        aspect-ratio: 3;
+        display: flex;
+        justify-content: space-evenly;
+        align-items: center;
+    }
+
+    .loading-1, .loading-2, .loading-3 {
+        height: 66%;
+        aspect-ratio: 1;
+        border-radius: 50%;
+        animation: 1s infinite alternate fade-in;
+        opacity: 0;
+    }
+
+    .loading-2 {
+        animation-delay: 333ms;
+    }
+
+    .loading-3 {
+        animation-delay: 666ms;
+    }
+
+    .global {
+        position: absolute;
+        top: 0;
+        left: 0;
+        width: 100vw;
+        height: 100vh;
+    }
+
+    .local {
+        min-width: 70px;
+        max-width: 70px;
+    }
+
+    .background {
+        background: rgba(127, 127, 127, .5);
+    }
+</style>
diff --git a/frontend/src/lib_svelte5/Modal.svelte b/frontend/src/lib_svelte5/Modal.svelte
new file mode 100644
index 000000000..d0f1a7b11
--- /dev/null
+++ b/frontend/src/lib_svelte5/Modal.svelte
@@ -0,0 +1,154 @@
+<script lang="ts">
+    import type {Snippet} from "svelte";
+    import {useI18n} from "$state/i18n.svelte.ts";
+    import Button from "$lib5/Button.svelte";
+    import IconStop from "$lib5/icons/IconStop.svelte";
+
+    let {
+        showModal = $bindable(),
+        closeModal = $bindable(),
+        onClose,
+        strict = false,
+        prerender = false,
+        children,
+    }: {
+        showModal?: boolean,
+        closeModal?: () => void,
+        onClose?: () => void,
+        strict?: boolean,
+        prerender?: boolean,
+        children: Snippet,
+    } = $props();
+
+    let t = useI18n();
+    let refDialog: undefined | HTMLDialogElement;
+
+    $effect(() => {
+        closeModal = close;
+    });
+
+    $effect(() => {
+        if (showModal) {
+            refDialog?.showModal();
+        }
+    })
+
+    function close(ev?: Event) {
+        ev?.preventDefault();
+        refDialog?.close();
+        showModal = false;
+    }
+
+    function outsideClick() {
+        if (!strict) {
+            close();
+        }
+    }
+
+    function stopPropagation(ev: Event) {
+        ev.stopPropagation();
+    }
+</script>
+
+<!--
+According to MDN docs, a dialog element must not have a tabindex.
+We need the onclick listener here to make easy click-outside work.
+-->
+<!--svelte-ignore a11y_click_events_have_key_events-->
+<!--svelte-ignore a11y_no_noninteractive_element_interactions-->
+<dialog
+        bind:this={refDialog}
+        aria-modal="true"
+        data-strict={strict}
+        onclose={() => {
+            showModal = false;
+            onClose?.();
+        }}
+        onclick={outsideClick}
+>
+    <div role="none" onclick={stopPropagation}>
+        {#if !strict}
+            <div class="relative">
+                <div class="absolute close">
+                    <Button ariaLabel={t.common.close} invisible onclick={close}>
+                        <span class="closeIcon">
+                            <IconStop color="currentColor" width="1.2rem"/>
+                        </span>
+                    </Button>
+                </div>
+            </div>
+        {/if}
+        <!--
+        Just make sure that whatever we have in here will be loaded / fetched lazy.
+        There is no need to load resources like images if the dialog is closed anyway.
+        If `renderUpfront === true`, this will render and possibly fetch data upfront,
+        even when the dialog is still hidden. May make sense in some cases.
+        -->
+        {#if prerender || showModal}
+            {@render children()}
+        {/if}
+    </div>
+</dialog>
+
+<style>
+    dialog {
+        margin: auto;
+        padding: 0;
+        border: 1px solid hsl(var(--bg-high));
+        border-radius: var(--border-radius);
+        color: hsl(var(--text));
+        background: hsl(var(--bg));
+    }
+
+    dialog[data-strict="true"]::backdrop {
+        background: hsla(var(--bg), 0.8);
+    }
+
+    dialog[data-strict="false"]::backdrop {
+        background: hsla(var(--bg), 0.2);
+    }
+
+    dialog > div {
+        max-width: 100dvw;
+        max-height: 100dvh;
+        padding: 1rem;
+        box-shadow: 0 15px 15px black;
+        overflow: auto;
+    }
+
+    dialog[open] {
+        animation: var(--animate-zoom);
+    }
+
+    .close {
+        top: -1.4rem;
+        right: -1rem;
+        cursor: pointer;
+    }
+
+    .closeIcon {
+        color: hsla(var(--text), .5);
+        transition: color 150ms;
+    }
+
+    .closeIcon:hover {
+        color: hsl(var(--error));
+    }
+
+    @media (max-width: 600px) {
+        dialog {
+            max-height: calc(100dvh - .5rem);
+            max-width: calc(100dvw - .5rem);
+        }
+
+        dialog > div {
+            padding: .5rem;
+        }
+
+        .close {
+            top: -.8rem;
+            right: -.4rem;
+            cursor: pointer;
+        }
+    }
+</style>
diff --git a/frontend/src/lib_svelte5/Template.svelte b/frontend/src/lib_svelte5/Template.svelte
index 3db9846be..a046270d8 100644
--- a/frontend/src/lib_svelte5/Template.svelte
+++ b/frontend/src/lib_svelte5/Template.svelte
@@ -3,12 +3,14 @@
     import {useIsDev} from "$state/is_dev.svelte.ts";
     import {fetchGet} from "$api/fetch.ts";
 
+    type T = $$Generic;
+
     let {
         id,
         value = $bindable(),
     }: {
         id: string,
-        value: boolean | string | object,
+        value: boolean | string | number | T,
     } = $props();
 
     onMount(async () => {
diff --git a/frontend/src/lib_svelte5/icons/IconStop.svelte b/frontend/src/lib_svelte5/icons/IconStop.svelte
new file mode 100644
index 000000000..961ab0f76
--- /dev/null
+++ b/frontend/src/lib_svelte5/icons/IconStop.svelte
@@ -0,0 +1,21 @@
+<script lang="ts">
+    import type {IconProps} from "$types/icon.ts";
+
+    let {
+        opacity = 0.9,
+        width = '1.5rem',
+        color = 'hsl(var(--error))',
+    }: IconProps = $props();
+</script>
+
+<svg
+        fill="none"
+        viewBox="0 0 24 24"
+        stroke="currentColor"
+        stroke-width={2}
+        {width}
+        {color}
+        {opacity}
+>
+    <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/>
+</svg>
diff --git a/frontend/src/routes/+page.svelte b/frontend/src/routes/+page.svelte
index 27aee88d5..7ce5a138d 100644
--- a/frontend/src/routes/+page.svelte
+++ b/frontend/src/routes/+page.svelte
@@ -1,26 +1,17 @@
 <script lang="ts">
-    import {onMount} from "svelte";
     import Button from "$lib/Button.svelte";
     import LangSelector from "$lib5/LangSelector.svelte";
     import AppVersion from "../components/AppVersion.svelte";
     import Main from "$lib5/Main.svelte";
     import ContentCenter from "$lib5/ContentCenter.svelte";
-    import {useIsDev} from "$state/is_dev.svelte";
     import {useI18n} from "$state/i18n.svelte";
     import Template from "$lib5/Template.svelte";
+    import {TPL_IS_REG_OPEN} from "../utils/constants";
 
     const btnWidth = "9rem";
 
     let t = useI18n();
-    let renderReg = $state(false);
-
-    onMount(() => {
-        let isDev = useIsDev();
-        const data = window.document.getElementsByName('rauthy-data')[0].id
-        if ('true' === data || isDev) {
-            renderReg = true;
-        }
-    });
+    let isRegOpen = $state(false);
 
     function redirectToAdmin() {
         window.location.href = '/auth/v1/admin';
@@ -39,10 +30,12 @@
     <title>Rauthy</title>
 </svelte:head>
 
+<Template id={TPL_IS_REG_OPEN} bind:value={isRegOpen}/>
+
 <Main>
     <ContentCenter>
         <div class="btn">
-            {#if renderReg}
+            {#if isRegOpen}
                 <Button on:click={redirectToReg} width={btnWidth}>{t.index.register}</Button>
             {/if}
             <Button on:click={redirectToAccount} width={btnWidth}>{t.index.accountLogin}</Button>
diff --git a/frontend/src/routes/account/+page.svelte b/frontend/src/routes/account/+page.svelte
index 0c87c1039..68346ccf7 100644
--- a/frontend/src/routes/account/+page.svelte
+++ b/frontend/src/routes/account/+page.svelte
@@ -1,38 +1,44 @@
-<script>
+<script lang="ts">
     import {onMount} from "svelte";
     import {getSessionInfo, getUser, getUserWebIdData} from "../../utils/dataFetching.js";
-    import Loading from "../../components/Loading.svelte";
     import AccMain from "../../components/account/AccMain.svelte";
     import {redirectToLogin} from "../../utils/helpers";
     import Main from "$lib5/Main.svelte";
     import ContentCenter from "$lib5/ContentCenter.svelte";
     import {useI18n} from "$state/i18n.svelte";
+    import {type SessionResponse} from "$api/response/common/session.ts";
+    import {type UserResponse} from "$api/response/common/user.ts";
+    import Loading from "$lib5/Loading.svelte";
 
     let t = useI18n();
 
-    let sessionInfo = $state();
-    let user = $state();
+    let session: undefined | SessionResponse = $state();
+    let user: undefined | UserResponse = $state();
     let webIdData = $state();
     let isReady = $state(false);
 
     onMount(async () => {
         let res = await getSessionInfo();
         if (res.ok) {
-            sessionInfo = await res.json();
+            session = await res.json();
+            if (!session) {
+                console.error('did not receive valid session response');
+                return;
+            }
 
-            res = await getUser(sessionInfo.user_id);
+            res = await getUser(session.user_id);
             if (res.ok) {
                 user = await res.json();
             } else {
                 redirectToLogin('account');
             }
 
-            res = await getUserWebIdData(sessionInfo.user_id);
+            res = await getUserWebIdData(session.user_id);
             if (res.ok) {
                 webIdData = await res.json();
             } else if (res.status === 404) {
                 webIdData = {
-                    user_id: sessionInfo.user_id,
+                    user_id: session.user_id,
                     is_open: false,
                 };
             } else {
@@ -59,8 +65,8 @@
     <ContentCenter>
         {#if !isReady}
             <Loading/>
-        {:else}
-            <AccMain {sessionInfo} bind:user bind:webIdData/>
+        {:else if session && user}
+            <AccMain {session} bind:user bind:webIdData/>
         {/if}
     </ContentCenter>
 </Main>
diff --git a/frontend/src/routes/device/+page.svelte b/frontend/src/routes/device/+page.svelte
index a8124fa72..41abf65cd 100644
--- a/frontend/src/routes/device/+page.svelte
+++ b/frontend/src/routes/device/+page.svelte
@@ -8,11 +8,12 @@
     import Input from "$lib/inputs/Input.svelte";
     import Button from "$lib/Button.svelte";
     import * as yup from "yup";
-    import {REGEX_URI} from "../../utils/constants.js";
+    import {REGEX_URI, TPL_DEVICE_USER_CODE_LENGTH} from "../../utils/constants.js";
     import {fetchSolvePow} from "../../utils/pow.ts";
     import Main from "$lib5/Main.svelte";
     import ContentCenter from "$lib5/ContentCenter.svelte";
     import {useI18n} from "$state/i18n.svelte";
+    import Template from "$lib5/Template.svelte";
 
     const btnWidthInline = '8rem';
 
@@ -46,10 +47,6 @@
         }
     });
 
-    onMount(() => {
-        userCodeLength = Number.parseInt(window.document.getElementsByName('rauthy-data')[0].id);
-    })
-
     onMount(async () => {
         const params = getQueryParams();
         if (params.code) {
@@ -126,6 +123,8 @@
     <title>{t?.device.title || 'Device Authorization'}</title>
 </svelte:head>
 
+<Template id={TPL_DEVICE_USER_CODE_LENGTH} bind:value={userCodeLength}/>
+
 <Main>
     <ContentCenter>
         {#if !sessionInfo}
diff --git a/frontend/src/routes/oidc/authorize/+page.svelte b/frontend/src/routes/oidc/authorize/+page.svelte
index 4389f496b..a7af08059 100644
--- a/frontend/src/routes/oidc/authorize/+page.svelte
+++ b/frontend/src/routes/oidc/authorize/+page.svelte
@@ -21,11 +21,20 @@
     import PasswordInput from "$lib/inputs/PasswordInput.svelte";
     import LangSelector from "$lib5/LangSelector.svelte";
     import getPkce from "oauth-pkce";
-    import {PKCE_VERIFIER_UPSTREAM} from "../../../utils/constants.js";
+    import {
+        PKCE_VERIFIER_UPSTREAM,
+        TPL_AUTH_PROVIDERS,
+        TPL_CLIENT_NAME,
+        TPL_CLIENT_URL,
+        TPL_CSRF_TOKEN,
+        TPL_IS_REG_OPEN,
+        TPL_LOGIN_ACTION
+    } from "../../../utils/constants.js";
     import IconHome from "$lib/icons/IconHome.svelte";
     import Main from "$lib5/Main.svelte";
     import ContentCenter from "$lib5/ContentCenter.svelte";
     import {useI18n} from "$state/i18n.svelte";
+    import Template from "$lib5/Template.svelte";
 
     let t = useI18n();
 
@@ -56,6 +65,8 @@
 
     let isLoading = false;
     let err = '';
+    let loginAction = '';
+    let csrfToken = '';
     let needsPassword = false;
     let clientMfaForce = false;
     let showReset = false;
@@ -107,29 +118,19 @@
         passwordInput.focus();
     }
 
-    onMount(async () => {
-        const data = window.document.getElementsByName('rauthy-data')[0].id.split('\n');
-        clientName = data[0];
-        clientUri = data[1];
-        isRegOpen = data[2] === "true";
-
-        const action = window.document.getElementsByName('rauthy-action')[0].id;
-        if ('Refresh' === action) {
+    $: if (loginAction) {
+        if ('Refresh' === loginAction) {
             refresh = true;
-        } else if (action?.startsWith('MfaLogin ')) {
-            existingMfaUser = action.replace('MfaLogin ', '');
+        } else if (loginAction?.startsWith('MfaLogin ')) {
+            existingMfaUser = loginAction.replace('MfaLogin ', '');
         }
+    }
 
-        csrf = window.document.getElementsByName('rauthy-csrf-token')[0].id;
-        saveCsrfToken(csrf);
-
-        // demo value for testing - only un-comment in local dev, not for production build
-        // const provider_tpl = document.getElementsByTagName('template').namedItem('auth_providers').innerHTML || '[{"id": "z6rC5VvymQOev50Pwq0oL0KD", "name": "dev-test", "use_pkce": true}]';
-        const providerTpl = document.getElementsByTagName('template').namedItem('auth_providers').innerHTML;
-        if (providerTpl) {
-            providers = JSON.parse(providerTpl);
-        }
+    $: if (csrfToken) {
+        saveCsrfToken(csrfToken);
+    }
 
+    onMount(async () => {
         const params = getQueryParams();
         clientId = params.client_id;
         redirectUri = params.redirect_uri;
@@ -320,6 +321,13 @@
     <title>Login {clientName || clientId}</title>
 </svelte:head>
 
+<Template id={TPL_AUTH_PROVIDERS} bind:value={providers}/>
+<Template id={TPL_CLIENT_NAME} bind:value={clientName}/>
+<Template id={TPL_CLIENT_URL} bind:value={clientUri}/>
+<Template id={TPL_CSRF_TOKEN} bind:value={csrfToken}/>
+<Template id={TPL_LOGIN_ACTION} bind:value={loginAction}/>
+<Template id={TPL_IS_REG_OPEN} bind:value={isRegOpen}/>
+
 <Main>
     <ContentCenter>
         <div class="container">
diff --git a/frontend/src/routes/oidc/callback/+page.svelte b/frontend/src/routes/oidc/callback/+page.svelte
index cbec692e3..892aabb02 100644
--- a/frontend/src/routes/oidc/callback/+page.svelte
+++ b/frontend/src/routes/oidc/callback/+page.svelte
@@ -1,5 +1,4 @@
 <script>
-    import Loading from "$lib/Loading.svelte";
     import {
         deleteVerifierFromStorage,
         getQueryParams,
@@ -61,5 +60,3 @@
 <svelte:head>
     <title>Login</title>
 </svelte:head>
-
-<Loading/>
diff --git a/frontend/src/routes/oidc/logout/+page.svelte b/frontend/src/routes/oidc/logout/+page.svelte
index 75ef09d7c..d5a3a4592 100644
--- a/frontend/src/routes/oidc/logout/+page.svelte
+++ b/frontend/src/routes/oidc/logout/+page.svelte
@@ -1,4 +1,4 @@
-<script>
+<script lang="ts">
     import {onMount} from "svelte";
     import {getQueryParams, purgeStorage, saveCsrfToken} from "../../../utils/helpers";
     import {logout} from "../../../utils/dataFetching.js";
@@ -7,61 +7,64 @@
     import Main from "$lib5/Main.svelte";
     import ContentCenter from "$lib5/ContentCenter.svelte";
     import LangSelector from "$lib5/LangSelector.svelte";
+    import type {LogoutParams} from "$api/query_params/logout.ts";
+    import Template from "$lib5/Template.svelte";
+    import {TPL_CSRF_TOKEN} from "../../../utils/constants";
 
     let t = useI18n();
     let err = '';
-    let postLogoutUri = '';
     let isLoading = $state(false);
 
-    onMount(async () => {
-        const params = getQueryParams();
-        postLogoutUri = params.post_logout_redirect_uri;
-        const token = params.id_token_hint;
-        const state = params.state;
-
-        const csrf = window.document.getElementsByName('rauthy-csrf-token')[0].id
-        saveCsrfToken(csrf);
-
-        const immediateLogout = window.document.getElementsByName('rauthy-action')[0].id
-        if ('true' === immediateLogout) {
-            isLoading = true;
+    let csrfToken = $state('');
+    let logoutData: LogoutParams = $state({});
 
-            const req = {
-                id_token_hint: token,
-                post_logout_redirect_uri: postLogoutUri,
-                state: state,
-            };
+    // TODO remove the csrfToken from this component completely after finishing
+    // [#692](https://github.com/sebadob/rauthy/issues/692)
+    $effect(() => {
+        if (csrfToken) {
+            saveCsrfToken(csrfToken);
+        }
+    });
 
-            let res = await logout(req);
-            await handleRes(res);
+    $effect(() => {
+        if (logoutData.id_token_hint) {
+            handleLogout();
         }
     });
 
+    onMount(async () => {
+        const params = getQueryParams();
+        logoutData = {
+            post_logout_redirect_uri: params.post_logout_redirect_uri,
+            id_token_hint: params.id_token_hint,
+            state: params.state,
+        };
+    });
+
     async function handleCancel() {
-        window.location.href = '/auth/v1';
+        window.location.replace('/auth/v1');
     }
 
     async function handleLogout() {
         isLoading = true;
-        let res = await logout({});
-        await handleRes(res);
-    }
 
-    async function handleRes(res) {
+        let res = await logout(logoutData);
         purgeStorage();
-        if (res.ok && res.headers.get('location')) {
-            window.location.replace(res.headers.get('location'));
+        let loc = res.headers.get('location');
+        if (loc) {
+            window.location.replace(loc);
         } else {
             await handleCancel();
         }
     }
-
 </script>
 
 <svelte:head>
     <title>{t?.logout.logout || 'Logout'}</title>
 </svelte:head>
 
+<Template id={TPL_CSRF_TOKEN} bind:value={csrfToken}/>
+
 <Main>
     <ContentCenter>
         <div class="container">
diff --git a/frontend/src/routes/users/register/+page.svelte b/frontend/src/routes/users/register/+page.svelte
index b4271ee72..174cec56c 100644
--- a/frontend/src/routes/users/register/+page.svelte
+++ b/frontend/src/routes/users/register/+page.svelte
@@ -3,7 +3,7 @@
     import * as yup from "yup";
     import {extractFormErrors, getQueryParams} from "../../../utils/helpers";
     import Button from "$lib/Button.svelte";
-    import {REGEX_NAME, REGEX_NAME_NULLABLE} from "../../../utils/constants.js";
+    import {REGEX_NAME, REGEX_NAME_NULLABLE, TPL_RESTRICTED_EMAIL_DOMAIN} from "../../../utils/constants.js";
     import {registerUser} from "../../../utils/dataFetching.js";
     import {onMount, tick} from "svelte";
     import Input from "$lib/inputs/Input.svelte";
@@ -11,11 +11,11 @@
     import {fetchSolvePow} from "../../../utils/pow.ts";
     import Main from "$lib5/Main.svelte";
     import ContentCenter from "$lib5/ContentCenter.svelte";
-    import {useIsDev} from "$state/is_dev.svelte";
     import {useI18n} from "$state/i18n.svelte";
+    import Template from "$lib5/Template.svelte";
 
     let t = useI18n();
-    let restrictedDomain = $state();
+    let restrictedDomain = $state('');
     let redirectUri;
     let isLoading = $state(false);
     let err = $state('');
@@ -39,11 +39,6 @@
     });
 
     onMount(() => {
-        const data = window.document.getElementsByName('rauthy-data')[0].id;
-        if (useIsDev() && data !== '{{ data }}') {
-            restrictedDomain = data;
-        }
-
         const params = getQueryParams();
         redirectUri = params.redirect_uri;
     });
@@ -114,6 +109,8 @@
     <title>{t?.register || 'Register'}</title>
 </svelte:head>
 
+<Template id={TPL_RESTRICTED_EMAIL_DOMAIN} bind:value={restrictedDomain}/>
+
 <Main>
     <ContentCenter>
         <div class="container">
diff --git a/frontend/src/routes/users/{id}/email_confirm/email_confirm/+page.svelte b/frontend/src/routes/users/{id}/email_confirm/email_confirm/+page.svelte
index 4453eb1ed..d6efe0b9a 100644
--- a/frontend/src/routes/users/{id}/email_confirm/email_confirm/+page.svelte
+++ b/frontend/src/routes/users/{id}/email_confirm/email_confirm/+page.svelte
@@ -1,29 +1,25 @@
 <script>
-    import {onMount} from "svelte";
     import LangSelector from "$lib5/LangSelector.svelte";
     import Button from "$lib/Button.svelte";
     import Main from "$lib5/Main.svelte";
     import ContentCenter from "$lib5/ContentCenter.svelte";
     import {useI18n} from "$state/i18n.svelte";
+    import Template from "$lib5/Template.svelte";
+    import {TPL_EMAIL_NEW, TPL_EMAIL_OLD} from "../../../../../utils/constants.js";
 
     let t = useI18n();
     let emailOld = $state('old@mail.org');
     let emailNew = $state('new@mail.org');
 
-    onMount(async () => {
-        const data = document.getElementsByName('rauthy-data')[0].id;
-        const arr = [];
-        data.split(',').forEach(i => arr.push(i));
-        emailOld = arr[0];
-        emailNew = arr[1];
-    })
-
 </script>
 
 <svelte:head>
     <title>{t.emailChange.title || 'E-Mail Change Confirm'}</title>
 </svelte:head>
 
+<Template id={TPL_EMAIL_OLD} bind:value={emailOld}/>
+<Template id={TPL_EMAIL_NEW} bind:value={emailNew}/>
+
 <Main>
     <ContentCenter>
         <div class="container">
diff --git a/frontend/src/routes/users/{id}/reset/reset/+page.svelte b/frontend/src/routes/users/{id}/reset/reset/+page.svelte
index dedaaff6f..aefc221ab 100644
--- a/frontend/src/routes/users/{id}/reset/reset/+page.svelte
+++ b/frontend/src/routes/users/{id}/reset/reset/+page.svelte
@@ -1,4 +1,4 @@
-<script>
+<script lang="ts">
     import {run} from 'svelte/legacy';
     import * as yup from "yup";
     import {onMount} from "svelte";
@@ -15,7 +15,6 @@
         webauthnRegStartAccReset,
         webauthnRegFinishAccReset,
     } from "../../../../../utils/dataFetching.js";
-    import Loading from "$lib/Loading.svelte";
     import Button from "$lib/Button.svelte";
     import PasswordPolicy from "../../../../../components/passwordReset/PasswordPolicy.svelte";
     import Input from "$lib/inputs/Input.svelte";
@@ -23,28 +22,26 @@
     import WebauthnRequest from "../../../../../components/webauthn/WebauthnRequest.svelte";
     import {slide} from "svelte/transition";
     import LangSelector from "$lib5/LangSelector.svelte";
-    import {REGEX_NAME} from "../../../../../utils/constants.js";
+    import {REGEX_NAME, TPL_PASSWORD_RESET} from "../../../../../utils/constants.js";
     import {useIsDev} from "$state/is_dev.svelte";
     import {useI18n} from "$state/i18n.svelte";
+    import Main from "$lib5/Main.svelte";
+    import ContentCenter from "$lib5/ContentCenter.svelte";
+    import type {PasswordResetTemplate} from "$api/templates/PasswordReset";
+    import Template from "$lib5/Template.svelte";
 
     const btnWidth = '150px';
     const inputWidth = '320px';
 
     let t = useI18n();
-    let csrf = '';
-    let policy = $state();
-    let isReady = $state(true);
-    // let isReady = false;
-    let isMfa = false;
+
+    let data: undefined | PasswordResetTemplate = $state();
 
     let isLoading = $state(false);
     let err = $state('');
-    let userId = '';
     let requestType = $state('');
-    // let requestType = $state("password_reset")
     let accountTypeNew = $state('');
-    let magicLinkId = '';
-    let redirectUri = $state();
+    let redirectUri = $state('');
     let success = $state(false);
     let accepted = $state(false);
     let showCopy = $state(false);
@@ -63,39 +60,12 @@
     onMount(async () => {
         let isDev = useIsDev();
 
-        let policy_vals;
-        if (isDev) {
-            policy_vals = '10, 128, 1, 1, 1, 1, 3';
-        } else {
-            policy_vals = document.getElementsByName('rauthy-data')[0].id;
-        }
-        const arr = [];
-        policy_vals
-            .split(',')
-            .forEach(v => arr.push(v));
-        policy = {
-            length_min: Number.parseInt(arr[0]),
-            length_max: Number.parseInt(arr[1]),
-            include_lower_case: Number.parseInt(arr[2]),
-            include_upper_case: Number.parseInt(arr[3]),
-            include_digits: Number.parseInt(arr[4]),
-            include_special: Number.parseInt(arr[5]),
-            not_recently_used: Number.parseInt(arr[6]),
-        };
-        isMfa = arr[7] == "true";
-
-        csrf = window.document.getElementsByName('rauthy-csrf-token')[0].id
-        userId = window.location.href.split("/users/")[1].split("/")[0];
-        magicLinkId = window.location.href.split("/reset/")[1].split("?")[0];
-
         if (isDev) {
             requestType = 'password_reset';
         } else {
             const params = getQueryParams();
             requestType = params['type'];
         }
-
-        isReady = true;
     })
 
     function navigateToAccount() {
@@ -103,18 +73,26 @@
     }
 
     function generate() {
-        const len = policy.length_min > 24 ? policy.length_min : 24;
-        let pwd = generatePassword(
-            len, policy.include_lower_case,
-            policy.include_upper_case,
-            policy.include_digits,
-            policy.include_special,
-        );
-        formValues.password = pwd;
-        formValues.passwordConfirm = pwd;
+        if (data) {
+            const len = data.password_policy.length_min > 24 ? data.password_policy.length_min : 24;
+            let pwd = generatePassword(
+                len,
+                data.password_policy.include_lower_case,
+                data.password_policy.include_upper_case,
+                data.password_policy.include_digits,
+                data.password_policy.include_special,
+            );
+            formValues.password = pwd;
+            formValues.passwordConfirm = pwd;
+        }
     }
 
     async function handleRegisterPasskey() {
+        if (!data) {
+            console.error('template data is undefined');
+            return;
+        }
+
         err = '';
 
         try {
@@ -131,11 +109,11 @@
             return;
         }
 
-        let data = {
+        let payload = {
             passkey_name: passkeyName,
-            magic_link_id: magicLinkId,
+            magic_link_id: data.magic_link_id,
         };
-        let res = await webauthnRegStartAccReset(userId, data, csrf);
+        let res = await webauthnRegStartAccReset(data.user_id, payload, data.csrf_token);
         if (res.status === 200) {
             let challenge = await res.json();
 
@@ -158,7 +136,7 @@
             let challengePk = await navigator.credentials.create(challenge);
 
             // the backend expects base64 url safe string instead of array buffers
-            let data = {
+            let payload = {
                 passkey_name: passkeyName,
                 data: {
                     id: challengePk.id,
@@ -169,11 +147,11 @@
                     },
                     type: challengePk.type,
                 },
-                magic_link_id: magicLinkId,
+                magic_link_id: data.magic_link_id,
             }
 
             // send the keys' pk to the backend and finish the registration
-            res = await webauthnRegFinishAccReset(userId, data, csrf);
+            res = await webauthnRegFinishAccReset(userId, payload, data.csrf_token);
             if (res.status === 201) {
                 formValues = {
                     passkeyName: '',
@@ -219,8 +197,8 @@
             err = '';
         }
 
-        if (isMfa) {
-            let res = await webauthnAuthStart(userId, {purpose: 'PasswordReset'});
+        if (data?.needs_mfa) {
+            let res = await webauthnAuthStart(data?.user_id, {purpose: 'PasswordReset'});
             let body = await res.json();
             if (!res.ok) {
                 err = body.message;
@@ -228,7 +206,7 @@
                 return;
             }
 
-            if (body.user_id !== userId) {
+            if (body.user_id !== data.user_id) {
                 err = 'MFA user ID does not match - this should never happen';
                 isLoading = false;
                 return;
@@ -240,16 +218,19 @@
         }
     }
 
-    async function onSubmitFinish(mfaCode) {
+    async function onSubmitFinish(mfaCode?: string) {
+        if (!data) {
+            return;
+        }
+
         isLoading = true;
 
-        const data = {
+        const payload = {
             password: formValues.password,
-            magic_link_id: magicLinkId,
+            magic_link_id: data.magic_link_id,
             mfa_code: mfaCode,
         };
-
-        const res = await resetPassword(userId, data, csrf);
+        const res = await resetPassword(data.user_id, payload, data?.csrf_token);
         if (res.ok) {
             err = '';
             formValues = {
@@ -332,192 +313,196 @@
     {:else}
         <title>Password</title>
     {/if}
-
 </svelte:head>
 
-{#if !isReady}
-    <Loading/>
-{/if}
-
-<div class="container">
-    {#if requestType.startsWith('new_user')}
-        {#if webauthnData}
-            <WebauthnRequest
-                    bind:data={webauthnData}
-                    onSuccess={onWebauthnSuccess}
-                    onError={onWebauthnError}
-            />
-        {/if}
-
-        <h1>{t.passwordReset.newAccount}</h1>
-        <p>{t.passwordReset.newAccDesc1}</p>
-        <p>{t.passwordReset.newAccDesc2}<a href={t.passwordReset.fidoLink} target="_blank">FIDO Alliance</a></p>
-
-        <div style:margin-bottom="1rem">
-            <Button
-                    on:click={() => accountTypeNew = "passkey"}
-                    width={btnWidth}
-                    bind:isLoading
-                    level={2}
-                    isDisabled={success}
-            >
-                {t.passwordReset.passwordless}
-            </Button>
-            <Button
-                    on:click={() => accountTypeNew = "password"}
-                    width={btnWidth}
-                    bind:isLoading
-                    level={3}
-                    isDisabled={success}
-            >
-                {t.passwordReset.password}
-            </Button>
-        </div>
-
-        {#if accountTypeNew === "password"}
-            <div transition:slide>
-                <PasswordPolicy bind:accepted {policy} password={formValues.password}/>
-
-                <PasswordInput
-                        bind:value={formValues.password}
-                        error={formErrors.password}
-                        autocomplete="new-password"
-                        placeholder={t.passwordReset.password}
-                        width={inputWidth}
-                        {showCopy}
-                        disabled={success}
-                >
-                    {t.passwordReset.password.toUpperCase()}
-                </PasswordInput>
-                <PasswordInput
-                        bind:value={formValues.passwordConfirm}
-                        error={formErrors.passwordConfirm}
-                        autocomplete="new-password"
-                        placeholder={t.passwordReset.passwordConfirm}
-                        width={inputWidth}
-                        {showCopy}
-                        disabled={success}
-                >
-                    {t.passwordReset.passwordConfirm.toUpperCase()}
-                </PasswordInput>
-
-                <Button
-                        on:click={generate}
-                        width={btnWidth}
-                        level={3}
-                        isDisabled={success}
-                >
-                    {t.passwordReset.generate}
-                </Button>
-                <Button
-                        on:click={passwordReset}
-                        width={btnWidth}
-                        bind:isLoading level={2}
-                        isDisabled={success}
-                >
-                    {t.common.save}
-                </Button>
-
-                {#if success}
-                    <div class="success">
-                        {t.passwordReset.success1}
-                        <br>
-                        {t.passwordReset.success2}
-                    </div>
-                {/if}
-            </div>
-        {:else if accountTypeNew === "passkey"}
-            <div transition:slide>
-                <Input
-                        bind:value={formValues.passkeyName}
-                        bind:error={formErrors.passkeyName}
-                        autocomplete="off"
-                        placeholder={t.mfa.passkeyName}
-                        on:enter={handleRegisterPasskey}
-                        width={inputWidth}
-                        disabled={success}
-                >
-                    {t.mfa.passkeyName}
-                </Input>
-                <Button
-                        on:click={handleRegisterPasskey} width={btnWidth}
-                        level={success ? 2 : 1}
-                        isDisabled={success}
-                >
-                    {t.mfa.register}
-                </Button>
-
-                {#if success}
-                    <div class="success">
-                        <p>{t.passwordReset.successPasskey1}</p>
-                        <p>{t.passwordReset.successPasskey2}</p>
-                        <Button on:click={navigateToAccount} width={btnWidth} level={1}>
-                            {t.passwordReset.accountLogin}
+<Template id={TPL_PASSWORD_RESET} bind:value={data}/>
+
+<Main>
+    <ContentCenter>
+        {#if data}
+            <div class="container">
+                {#if requestType.startsWith('new_user')}
+                    {#if webauthnData}
+                        <WebauthnRequest
+                                bind:data={webauthnData}
+                                onSuccess={onWebauthnSuccess}
+                                onError={onWebauthnError}
+                        />
+                    {/if}
+
+                    <h1>{t.passwordReset.newAccount}</h1>
+                    <p>{t.passwordReset.newAccDesc1}</p>
+                    <p>{t.passwordReset.newAccDesc2}<a href={t.passwordReset.fidoLink} target="_blank">FIDO Alliance</a>
+                    </p>
+
+                    <div style:margin-bottom="1rem">
+                        <Button
+                                on:click={() => accountTypeNew = "passkey"}
+                                width={btnWidth}
+                                bind:isLoading
+                                level={2}
+                                isDisabled={success}
+                        >
+                            {t.passwordReset.passwordless}
+                        </Button>
+                        <Button
+                                on:click={() => accountTypeNew = "password"}
+                                width={btnWidth}
+                                bind:isLoading
+                                level={3}
+                                isDisabled={success}
+                        >
+                            {t.passwordReset.password}
                         </Button>
                     </div>
+
+                    {#if accountTypeNew === "password"}
+                        <div transition:slide>
+                            <PasswordPolicy bind:accepted policy={data.password_policy} password={formValues.password}/>
+
+                            <PasswordInput
+                                    bind:value={formValues.password}
+                                    error={formErrors.password}
+                                    autocomplete="new-password"
+                                    placeholder={t.passwordReset.password}
+                                    width={inputWidth}
+                                    {showCopy}
+                                    disabled={success}
+                            >
+                                {t.passwordReset.password.toUpperCase()}
+                            </PasswordInput>
+                            <PasswordInput
+                                    bind:value={formValues.passwordConfirm}
+                                    error={formErrors.passwordConfirm}
+                                    autocomplete="new-password"
+                                    placeholder={t.passwordReset.passwordConfirm}
+                                    width={inputWidth}
+                                    {showCopy}
+                                    disabled={success}
+                            >
+                                {t.passwordReset.passwordConfirm.toUpperCase()}
+                            </PasswordInput>
+
+                            <Button
+                                    on:click={generate}
+                                    width={btnWidth}
+                                    level={3}
+                                    isDisabled={success}
+                            >
+                                {t.passwordReset.generate}
+                            </Button>
+                            <Button
+                                    on:click={passwordReset}
+                                    width={btnWidth}
+                                    bind:isLoading level={2}
+                                    isDisabled={success}
+                            >
+                                {t.common.save}
+                            </Button>
+
+                            {#if success}
+                                <div class="success">
+                                    {t.passwordReset.success1}
+                                    <br>
+                                    {t.passwordReset.success2}
+                                </div>
+                            {/if}
+                        </div>
+                    {:else if accountTypeNew === "passkey"}
+                        <div transition:slide>
+                            <Input
+                                    bind:value={formValues.passkeyName}
+                                    bind:error={formErrors.passkeyName}
+                                    autocomplete="off"
+                                    placeholder={t.mfa.passkeyName}
+                                    on:enter={handleRegisterPasskey}
+                                    width={inputWidth}
+                                    disabled={success}
+                            >
+                                {t.mfa.passkeyName}
+                            </Input>
+                            <Button
+                                    on:click={handleRegisterPasskey} width={btnWidth}
+                                    level={success ? 2 : 1}
+                                    isDisabled={success}
+                            >
+                                {t.mfa.register}
+                            </Button>
+
+                            {#if success}
+                                <div class="success">
+                                    <p>{t.passwordReset.successPasskey1}</p>
+                                    <p>{t.passwordReset.successPasskey2}</p>
+                                    <Button on:click={navigateToAccount} width={btnWidth} level={1}>
+                                        {t.passwordReset.accountLogin}
+                                    </Button>
+                                </div>
+                            {/if}
+                        </div>
+                    {/if}
+                {:else if requestType.startsWith('password_reset')}
+                    {#if webauthnData}
+                        <WebauthnRequest
+                                bind:data={webauthnData}
+                                purpose="PasswordReset"
+                                onSuccess={onWebauthnSuccess}
+                                onError={onWebauthnError}
+                        />
+                    {/if}
+
+                    <h1>Password Reset</h1>
+
+                    <PasswordPolicy bind:accepted policy={data.password_policy} password={formValues.password}/>
+
+                    <PasswordInput
+                            bind:value={formValues.password}
+                            error={formErrors.password}
+                            autocomplete="new-password"
+                            placeholder={t.passwordReset.password}
+                            width={inputWidth}
+                            {showCopy}
+                    >
+                        {t.passwordReset.password.toUpperCase()}
+                    </PasswordInput>
+                    <PasswordInput
+                            bind:value={formValues.passwordConfirm}
+                            error={formErrors.passwordConfirm}
+                            autocomplete="new-password"
+                            placeholder={t.passwordReset.passwordConfirm}
+                            width={inputWidth}
+                            {showCopy}
+                    >
+                        {t.passwordReset.passwordConfirm.toUpperCase()}
+                    </PasswordInput>
+
+                    <Button on:click={generate} width={btnWidth} level={3}>
+                        {t.passwordReset.generate}
+                    </Button>
+                    <Button on:click={passwordReset} width={btnWidth} bind:isLoading level={2}>
+                        {t.common.save}
+                    </Button>
+
+                    {#if success}
+                        <div class="success">
+                            {t.passwordReset.success1}
+                            {t.passwordReset.success2}
+                            <br>
+                            {t.passwordReset.success3}
+                            <br>
+                            <a href={redirectUri || '/auth/v1/account'}>Link</a>
+                        </div>
+                    {/if}
                 {/if}
-            </div>
-        {/if}
-    {:else if requestType.startsWith('password_reset')}
-        {#if webauthnData}
-            <WebauthnRequest
-                    bind:data={webauthnData}
-                    purpose="PasswordReset"
-                    onSuccess={onWebauthnSuccess}
-                    onError={onWebauthnError}
-            />
-        {/if}
 
-        <h1>Password Reset</h1>
-
-        <PasswordPolicy bind:accepted {policy} password={formValues.password}/>
-
-        <PasswordInput
-                bind:value={formValues.password}
-                error={formErrors.password}
-                autocomplete="new-password"
-                placeholder={t.passwordReset.password}
-                width={inputWidth}
-                {showCopy}
-        >
-            {t.passwordReset.password.toUpperCase()}
-        </PasswordInput>
-        <PasswordInput
-                bind:value={formValues.passwordConfirm}
-                error={formErrors.passwordConfirm}
-                autocomplete="new-password"
-                placeholder={t.passwordReset.passwordConfirm}
-                width={inputWidth}
-                {showCopy}
-        >
-            {t.passwordReset.passwordConfirm.toUpperCase()}
-        </PasswordInput>
-
-        <Button on:click={generate} width={btnWidth} level={3}>
-            {t.passwordReset.generate}
-        </Button>
-        <Button on:click={passwordReset} width={btnWidth} bind:isLoading level={2}>
-            {t.common.save}
-        </Button>
-
-        {#if success}
-            <div class="success">
-                {t.passwordReset.success1}
-                {t.passwordReset.success2}
-                <br>
-                {t.passwordReset.success3}
-                <br>
-                <a href={redirectUri || '/auth/v1/account'}>Link</a>
+                {#if err}
+                    <div class="err">
+                        {err}
+                    </div>
+                {/if}
             </div>
         {/if}
-    {/if}
-
-    {#if err}
-        <div class="err">
-            {err}
-        </div>
-    {/if}
-</div>
+    </ContentCenter>
+</Main>
 
 <LangSelector absolute/>
 
@@ -530,13 +515,6 @@
         color: var(--col-act2);
     }
 
-    .container {
-        display: flex;
-        flex-direction: column;
-        justify-content: center;
-        max-width: 20.5rem;
-    }
-
     .err {
         margin: 0 5px;
         color: var(--col-err);
diff --git a/frontend/src/types/icon.ts b/frontend/src/types/icon.ts
new file mode 100644
index 000000000..422eec9be
--- /dev/null
+++ b/frontend/src/types/icon.ts
@@ -0,0 +1,5 @@
+export interface IconProps {
+    opacity?: number;
+    width?: string;
+    color?: string;
+}
\ No newline at end of file
diff --git a/frontend/src/utils/constants.js b/frontend/src/utils/constants.js
index fa055b29c..55154483d 100644
--- a/frontend/src/utils/constants.js
+++ b/frontend/src/utils/constants.js
@@ -119,7 +119,17 @@ export const PKCE_CHALLENGES = [{
 
 // All TPL_* values match a possibly existing `<template>` id
 // -> src/models/src/html_templates.rs -> HtmlTemplate
-export const TPL_AUTH_PROVIDERS = 'auth_providers';
-export const TPL_ERROR_DETAILS = 'error_details';
-export const TPL_ERROR_TEXT = 'error_text';
-export const TPL_STATUS_CODE = 'status_code';
+export const TPL_AUTH_PROVIDERS = 'tpl_auth_providers';
+export const TPL_CLIENT_NAME = 'tpl_client_name';
+export const TPL_CLIENT_URL = 'tpl_client_url';
+export const TPL_CSRF_TOKEN = 'tpl_csrf_token';
+export const TPL_EMAIL_OLD = 'tpl_email_old';
+export const TPL_EMAIL_NEW = 'tpl_email_new';
+export const TPL_ERROR_DETAILS = 'tpl_error_details';
+export const TPL_ERROR_TEXT = 'tpl_error_text';
+export const TPL_DEVICE_USER_CODE_LENGTH = 'tpl_device_user_code_length';
+export const TPL_IS_REG_OPEN = 'tpl_is_reg_open';
+export const TPL_LOGIN_ACTION = 'tpl_login_action';
+export const TPL_PASSWORD_RESET = 'tpl_password_reset';
+export const TPL_STATUS_CODE = 'tpl_status_code';
+export const TPL_RESTRICTED_EMAIL_DOMAIN = 'tpl_restricted_email_domain';
diff --git a/frontend/src/utils/dataFetching.js b/frontend/src/utils/dataFetching.js
index cf6e38532..469caf764 100644
--- a/frontend/src/utils/dataFetching.js
+++ b/frontend/src/utils/dataFetching.js
@@ -94,7 +94,7 @@ export async function getSessionInfoXsrf(accessToken) {
 }
 
 export async function logout(data) {
-    let body = new URLSearchParams();
+    let body = new FormData();
     for (let key in data) {
         body.append(key, data[key]);
     }
diff --git a/frontend/src/utils/helpers.ts b/frontend/src/utils/helpers.ts
index 9942e475b..97ccd3b36 100644
--- a/frontend/src/utils/helpers.ts
+++ b/frontend/src/utils/helpers.ts
@@ -202,10 +202,10 @@ export const formatDateFromTs = (ts: number, fmtIso: boolean) => {
 
 export const generatePassword = (
     length: number,
-    minLowerCase: number,
-    minUpperCase: number,
-    minDigit: number,
-    minSpecial: number,
+    minLowerCase?: number,
+    minUpperCase?: number,
+    minDigit?: number,
+    minSpecial?: number,
 ) => {
     const lowerCaseNeeded = minLowerCase || 1;
     const upperCaseNeeded = minUpperCase || 1;
diff --git a/frontend/svelte.config.js b/frontend/svelte.config.js
index a6f2beebd..ade2c4bf1 100644
--- a/frontend/svelte.config.js
+++ b/frontend/svelte.config.js
@@ -30,6 +30,7 @@ const config = {
             // switch to the original `lib` via global search and replace.
             $lib5: 'src/lib_svelte5',
             $state: 'src/global_state',
+            $types: 'src/types',
         },
         csp: isDev ? {} : {
             directives: {
diff --git a/frontend/vite.config.js b/frontend/vite.config.js
index a19e50272..0294943f5 100644
--- a/frontend/vite.config.js
+++ b/frontend/vite.config.js
@@ -30,7 +30,7 @@ const config = {
             '/auth/v1/oidc/callback': backend,
             '/auth/v1/oidc/certs': backend,
             '/auth/v1/oidc/device': backend,
-            // '/auth/v1/oidc/logout': backend,
+            '/auth/v1/oidc/logout': backend,
             '/auth/v1/oidc/rotate_jwk': backend,
             '/auth/v1/oidc/sessioninfo': backend,
             '/auth/v1/oidc/token': backend,
diff --git a/rauthy.cfg b/rauthy.cfg
index 250b314c1..5b8397fb4 100644
--- a/rauthy.cfg
+++ b/rauthy.cfg
@@ -76,7 +76,7 @@ USERINFO_STRICT=true
 # Can be used when 'OPEN_USER_REG=true' to restrict the domains for a registration. For instance, set it to
 # 'USER_REG_DOMAIN_RESTRICTION=gmail.com' to allow only registrations with 'user@gmail.com'.
 # default: ''
-#USER_REG_DOMAIN_RESTRICTION=@some-mail-domain.com
+#USER_REG_DOMAIN_RESTRICTION=some-mail-domain.com
 
 # If `OPEN_USER_REG=true`, you can blacklist certain domains
 # on the open registration endpoint.
diff --git a/src/api/src/html.rs b/src/api/src/html.rs
index 45b551323..c75f4de7b 100644
--- a/src/api/src/html.rs
+++ b/src/api/src/html.rs
@@ -1,4 +1,4 @@
-use crate::Assets;
+use crate::{Assets, ReqPrincipal};
 use actix_web::http::header;
 use actix_web::{get, web, HttpRequest, HttpResponse};
 use rauthy_common::constants::{DEV_MODE, HEADER_HTML};
@@ -18,13 +18,15 @@ use std::borrow::Cow;
 // Returns the inner template value, as it would be rendered during prod, inside the body,
 // which is different depending on the id.
 #[get("/template/{id}")]
-pub async fn get_template(id: web::Path<String>) -> Result<HttpResponse, ErrorResponse> {
+pub async fn get_template(
+    id: web::Path<String>,
+    principal: ReqPrincipal,
+) -> Result<HttpResponse, ErrorResponse> {
     if !*DEV_MODE {
         return Ok(HttpResponse::NotFound().finish());
     }
 
-    // TODO make sure to check the session in case of sensitive id's like csrf token
-    let tpl = HtmlTemplate::build_from_str(id.as_str()).await?;
+    let tpl = HtmlTemplate::build_from_str(id.as_str(), principal.into_inner().session).await?;
     Ok(HttpResponse::Ok().body(tpl.inner().to_string()))
 }
 
diff --git a/src/api/src/oidc.rs b/src/api/src/oidc.rs
index 5a0ab1a00..7f822d903 100644
--- a/src/api/src/oidc.rs
+++ b/src/api/src/oidc.rs
@@ -149,23 +149,21 @@ pub async fn get_authorize(
     }
 
     let auth_providers_json = AuthProviderTemplate::get_all_json_template().await?;
-    let tpl_data = Some(format!(
-        "{}\n{}\n{}",
-        client.name.unwrap_or_default(),
-        client.client_uri.unwrap_or_default(),
-        *OPEN_USER_REG,
-    ));
 
     // if the user is still authenticated and everything is valid -> immediate refresh
     if !force_new_session && principal.validate_session_auth().is_ok() {
         let csrf = principal.get_session_csrf_token()?;
         let body = AuthorizeHtml::build(
-            &tpl_data,
-            csrf,
-            FrontendAction::Refresh,
             &colors,
             &lang,
-            &[HtmlTemplate::AuthProviders(auth_providers_json)],
+            &[
+                HtmlTemplate::AuthProviders(auth_providers_json),
+                HtmlTemplate::ClientName(client.name.unwrap_or_default()),
+                HtmlTemplate::ClientUrl(client.client_uri.unwrap_or_default()),
+                HtmlTemplate::CsrfToken(csrf.to_string()),
+                HtmlTemplate::IsRegOpen(*OPEN_USER_REG),
+                HtmlTemplate::LoginAction(FrontendAction::Refresh),
+            ],
         );
 
         if let Some(o) = origin_header {
@@ -193,12 +191,16 @@ pub async fn get_authorize(
     }
 
     let body = AuthorizeHtml::build(
-        &tpl_data,
-        &session.csrf_token,
-        action,
         &colors,
         &lang,
-        &[HtmlTemplate::AuthProviders(auth_providers_json)],
+        &[
+            HtmlTemplate::AuthProviders(auth_providers_json),
+            HtmlTemplate::ClientName(client.name.unwrap_or_default()),
+            HtmlTemplate::ClientUrl(client.client_uri.unwrap_or_default()),
+            HtmlTemplate::CsrfToken(session.csrf_token.clone()),
+            HtmlTemplate::IsRegOpen(*OPEN_USER_REG),
+            HtmlTemplate::LoginAction(action),
+        ],
     );
 
     let cookie = session.client_cookie();
@@ -616,17 +618,21 @@ pub async fn get_logout(
 
     // If we get any logout errors, maybe because there is no session anymore or whatever happens,
     // just redirect to rauthy's root page, since the user is not logged in anyway anymore.
-    let session = match principal.get_session() {
-        Ok(s) => s,
-        Err(_) => {
-            return HttpResponse::build(StatusCode::from_u16(302).unwrap())
-                .insert_header(("location", "/auth/v1/"))
-                .finish()
-        }
-    };
+    if principal.validate_session_auth().is_err() {
+        return HttpResponse::build(StatusCode::from_u16(302).unwrap())
+            .insert_header(("location", "/auth/v1/"))
+            .finish();
+    }
 
     let lang = Language::try_from(&req).unwrap_or_default();
-    let body = match logout::get_logout_html(params, session, &data, &lang).await {
+    let body = match logout::get_logout_html(
+        params,
+        principal.into_inner().session.unwrap(),
+        &data,
+        &lang,
+    )
+    .await
+    {
         Ok(t) => t,
         Err(_) => {
             return HttpResponse::build(StatusCode::from_u16(302).unwrap())
diff --git a/src/models/src/entity/sessions.rs b/src/models/src/entity/sessions.rs
index 7a19004c2..80c452517 100644
--- a/src/models/src/entity/sessions.rs
+++ b/src/models/src/entity/sessions.rs
@@ -23,6 +23,7 @@ use std::str::FromStr;
 use time::OffsetDateTime;
 use tracing::{error, warn};
 
+// TODO impl `Debug` manually to never possibly leak the full id / csrf_token
 #[derive(Debug, Clone, FromRow, Serialize, Deserialize)]
 pub struct Session {
     pub id: String,
diff --git a/src/models/src/entity/users.rs b/src/models/src/entity/users.rs
index b4e3b9380..9755934d9 100644
--- a/src/models/src/entity/users.rs
+++ b/src/models/src/entity/users.rs
@@ -13,7 +13,7 @@ use crate::entity::sessions::Session;
 use crate::entity::users_values::UserValues;
 use crate::entity::webauthn::{PasskeyEntity, WebauthnServiceReq};
 use crate::events::event::Event;
-use crate::html_templates::UserEmailChangeConfirmHtml;
+use crate::html_templates::{HtmlTemplate, UserEmailChangeConfirmHtml};
 use crate::language::Language;
 use actix_web::{web, HttpRequest};
 use argon2::PasswordHash;
@@ -1350,11 +1350,6 @@ impl User {
 
         let mut user = Self::find(user_id).await?;
 
-        // build response HTML
-        let colors = ColorEntity::find_rauthy().await?;
-        let lang = Language::try_from(&req).unwrap_or_default();
-        let html = UserEmailChangeConfirmHtml::build(&colors, &lang, &user.email, &new_email);
-
         // save data
         let old_email = user.email;
         user.email = new_email;
@@ -1376,6 +1371,18 @@ impl User {
             .await
             .unwrap();
 
+        // build response HTML
+        let colors = ColorEntity::find_rauthy().await?;
+        let lang = Language::try_from(&req).unwrap_or_default();
+        let html = UserEmailChangeConfirmHtml::build(
+            &colors,
+            &lang,
+            &[
+                HtmlTemplate::EmailOld(old_email),
+                HtmlTemplate::EmailNew(user.email),
+            ],
+        );
+
         Ok(html)
     }
 
diff --git a/src/models/src/html_templates.rs b/src/models/src/html_templates.rs
index c47728c40..fd80e9f54 100644
--- a/src/models/src/html_templates.rs
+++ b/src/models/src/html_templates.rs
@@ -1,14 +1,17 @@
 use crate::entity::auth_providers::AuthProviderTemplate;
 use crate::entity::colors::Colors;
 use crate::entity::password::PasswordPolicy;
+use crate::entity::sessions::Session;
 use crate::language::Language;
 use actix_web::http::StatusCode;
 use actix_web::{HttpResponse, HttpResponseBuilder};
+use rauthy_api_types::generic::PasswordPolicyResponse;
 use rauthy_common::constants::{
     DEVICE_GRANT_USER_CODE_LENGTH, HEADER_HTML, OPEN_USER_REG, USER_REG_DOMAIN_RESTRICTION,
 };
 use rauthy_error::{ErrorResponse, ErrorResponseType};
 use rinja_actix::Template;
+use serde::Serialize;
 use std::borrow::Cow;
 use std::fmt::{Debug, Display, Formatter};
 
@@ -29,27 +32,98 @@ impl Display for FrontendAction {
     }
 }
 
+#[derive(Debug, Serialize)]
+pub struct TplClientData {
+    pub name: String,
+    pub url: String,
+}
+
+#[derive(Debug, Serialize)]
+pub struct TplPasswordReset {
+    pub csrf_token: String,
+    pub magic_link_id: String,
+    pub needs_mfa: bool,
+    pub password_policy: PasswordPolicyResponse,
+    pub user_id: String,
+}
+
 // If you add new values to this template, make sure to also create a
 // matching constant in the UI and make proper use of it:
 // -> frontend/src/utils/constants.js -> TPL_* values
 #[derive(Debug)]
 pub enum HtmlTemplate {
-    /// Auth providers as JSON value
+    /// Auth providers as pre-built, cached JSON value
     AuthProviders(String),
+    ClientName(String),
+    ClientUrl(String),
+    CsrfToken(String),
+    EmailOld(String),
+    EmailNew(String),
     ErrorDetails(Cow<'static, str>),
     ErrorText(Cow<'static, str>),
+    DeviceUserCodeLength(u8),
+    IsRegOpen(bool),
+    LoginAction(FrontendAction),
+    PasswordReset(TplPasswordReset),
+    RestrictedEmailDomain(String),
     StatusCode(StatusCode),
 }
 
 impl HtmlTemplate {
-    pub async fn build_from_str(s: &str) -> Result<Self, ErrorResponse> {
-        // TODO make sure to check the session in case of sensitive id's like csrf token
-
+    /// This function is only used during local dev to async resolve template values that are
+    /// rendered into the HTML directly in prod.
+    ///
+    /// TODO maybe deactivate completely without debug_assertions?
+    pub async fn build_from_str(s: &str, session: Option<Session>) -> Result<Self, ErrorResponse> {
         match s {
-            "auth_providers" => {
+            "tpl_auth_providers" => {
                 let json = AuthProviderTemplate::get_all_json_template().await?;
                 Ok(Self::AuthProviders(json))
             }
+            "tpl_csrf_token" => {
+                if let Some(s) = session {
+                    Ok(Self::CsrfToken(s.csrf_token))
+                } else {
+                    Err(ErrorResponse::new(
+                        ErrorResponseType::BadRequest,
+                        "no session",
+                    ))
+                }
+            }
+            "tpl_device_user_code_length" => {
+                Ok(Self::DeviceUserCodeLength(*DEVICE_GRANT_USER_CODE_LENGTH))
+            }
+            "tpl_email_old" => Ok(Self::EmailOld("OLD@EMAIL.LOCAL".to_string())),
+            "tpl_email_new" => Ok(Self::EmailOld("NEW@EMAIL.LOCAL".to_string())),
+            "tpl_is_reg_open" => Ok(Self::IsRegOpen(*OPEN_USER_REG)),
+            // the LoginAction requires a complex logic + validation.
+            // Simply always return None during local dev.
+            "tpl_login_action" => Ok(Self::LoginAction(FrontendAction::None)),
+            // "tpl_client_name" => todo!("extract info from referrer?"),
+            // "tpl_client_url" => todo!("extract info from referrer?"),
+            "tpl_restricted_email_domain" => Ok(Self::RestrictedEmailDomain(
+                USER_REG_DOMAIN_RESTRICTION.clone().unwrap_or_default(),
+            )),
+            "tpl_password_reset" => {
+                if let Some(s) = session {
+                    let password_policy = PasswordPolicy::find().await?;
+
+                    // we can't easily return the complete and correct templates, but it should
+                    // be good enough to be able to work with it
+                    Ok(Self::PasswordReset(TplPasswordReset {
+                        csrf_token: "CSRF_TOKEN_TEMPLATE".to_string(),
+                        magic_link_id: "MAGIC_LINK:ID".to_string(),
+                        needs_mfa: false,
+                        password_policy: PasswordPolicyResponse::from(password_policy),
+                        user_id: s.user_id.unwrap_or_default(),
+                    }))
+                } else {
+                    Err(ErrorResponse::new(
+                        ErrorResponseType::BadRequest,
+                        "no session",
+                    ))
+                }
+            }
             _ => Err(ErrorResponse::new(
                 ErrorResponseType::NotFound,
                 "invalid template id",
@@ -57,21 +131,44 @@ impl HtmlTemplate {
         }
     }
 
+    /// Returns the `id` that will be used for the HTML `<template>` element.
     pub fn id(&self) -> &'static str {
         match self {
-            Self::AuthProviders(_) => "auth_providers",
-            Self::ErrorDetails(_) => "error_details",
-            Self::ErrorText(_) => "error_text",
-            Self::StatusCode(_) => "status_code",
+            Self::AuthProviders(_) => "tpl_auth_providers",
+            Self::ClientName(_) => "tpl_client_name",
+            Self::ClientUrl(_) => "tpl_client_url",
+            Self::CsrfToken(_) => "tpl_csrf_token",
+            Self::EmailOld(_) => "tpl_email_old",
+            Self::EmailNew(_) => "tpl_email_new",
+            Self::ErrorDetails(_) => "tpl_error_details",
+            Self::ErrorText(_) => "tpl_error_text",
+            Self::DeviceUserCodeLength(_) => "tpl_device_user_code_length",
+            Self::IsRegOpen(_) => "tpl_is_reg_open",
+            Self::LoginAction(_) => "tpl_login_action",
+            Self::PasswordReset(_) => "tpl_password_reset",
+            Self::RestrictedEmailDomain(_) => "tpl_restricted_email_domain",
+            Self::StatusCode(_) => "tpl_status_code",
         }
     }
 
-    pub fn inner(&self) -> &str {
+    // TODO find a way to borrow values dynamically, no matter the type
+    // -> does rinja accept generic traits like `Display`?
+    pub fn inner(&self) -> String {
         match self {
-            Self::AuthProviders(s) => s,
-            Self::ErrorDetails(s) => s.as_ref(),
-            Self::ErrorText(s) => s.as_ref(),
-            Self::StatusCode(s) => s.as_str(),
+            Self::AuthProviders(i) => i.to_string(),
+            Self::ClientName(i) => i.to_string(),
+            Self::ClientUrl(i) => i.to_string(),
+            Self::CsrfToken(i) => i.to_string(),
+            Self::EmailOld(i) => i.to_string(),
+            Self::EmailNew(i) => i.to_string(),
+            Self::ErrorDetails(i) => i.to_string(),
+            Self::ErrorText(i) => i.to_string(),
+            Self::DeviceUserCodeLength(i) => i.to_string(),
+            Self::IsRegOpen(i) => i.to_string(),
+            Self::LoginAction(i) => i.to_string(),
+            Self::PasswordReset(i) => serde_json::to_string(i).unwrap(),
+            Self::StatusCode(i) => i.to_string(),
+            Self::RestrictedEmailDomain(i) => i.to_string(),
         }
     }
 }
@@ -81,9 +178,6 @@ impl HtmlTemplate {
 pub struct IndexHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: bool,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -105,8 +199,6 @@ impl IndexHtml<'_> {
         let res = IndexHtml {
             lang: lang.as_str(),
             client_id: "rauthy",
-            csrf_token: "",
-            data: &OPEN_USER_REG.to_string(),
             col_act1: &colors.act1,
             col_act1a: &colors.act1a,
             col_act2: &colors.act2,
@@ -120,7 +212,7 @@ impl IndexHtml<'_> {
             col_ghigh: &colors.ghigh,
             col_text: &colors.text,
             col_bg: &colors.bg,
-            ..Default::default()
+            templates: &[HtmlTemplate::IsRegOpen(*OPEN_USER_REG)],
         };
 
         res.render().unwrap()
@@ -132,9 +224,6 @@ impl IndexHtml<'_> {
 pub struct AccountHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -170,7 +259,6 @@ impl AccountHtml<'_> {
             col_text: &colors.text,
             col_bg: &colors.bg,
             templates,
-            ..Default::default()
         };
         res.render().unwrap()
     }
@@ -181,9 +269,6 @@ impl AccountHtml<'_> {
 pub struct AdminHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -230,9 +315,6 @@ impl AdminHtml<'_> {
 pub struct DeviceHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: bool,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -254,8 +336,6 @@ impl DeviceHtml<'_> {
         let res = DeviceHtml {
             lang: lang.as_str(),
             client_id: "rauthy",
-            csrf_token: "",
-            data: &DEVICE_GRANT_USER_CODE_LENGTH.to_string(),
             col_act1: &colors.act1,
             col_act1a: &colors.act1a,
             col_act2: &colors.act2,
@@ -269,7 +349,9 @@ impl DeviceHtml<'_> {
             col_ghigh: &colors.ghigh,
             col_text: &colors.text,
             col_bg: &colors.bg,
-            ..Default::default()
+            templates: &[HtmlTemplate::DeviceUserCodeLength(
+                *DEVICE_GRANT_USER_CODE_LENGTH,
+            )],
         };
 
         res.render().unwrap()
@@ -281,9 +363,6 @@ impl DeviceHtml<'_> {
 pub struct FedCMHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: bool,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -305,8 +384,6 @@ impl FedCMHtml<'_> {
         let res = FedCMHtml {
             lang: "en",
             client_id: "rauthy",
-            csrf_token: "",
-            data: &DEVICE_GRANT_USER_CODE_LENGTH.to_string(),
             col_act1: &colors.act1,
             col_act1a: &colors.act1a,
             col_act2: &colors.act2,
@@ -332,9 +409,6 @@ impl FedCMHtml<'_> {
 pub struct ErrorHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: bool,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -381,7 +455,6 @@ impl ErrorHtml<'_> {
                 HtmlTemplate::StatusCode(status_code),
                 HtmlTemplate::ErrorText(details_text.into()),
             ],
-            ..Default::default()
         };
 
         res.render().unwrap()
@@ -405,9 +478,6 @@ impl ErrorHtml<'_> {
 pub struct Error1Html<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: bool,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -454,7 +524,6 @@ impl Error1Html<'_> {
                 HtmlTemplate::StatusCode(status_code),
                 HtmlTemplate::ErrorText(details_text.into()),
             ],
-            ..Default::default()
         };
 
         res.render().unwrap()
@@ -466,9 +535,6 @@ impl Error1Html<'_> {
 pub struct Error2Html<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: bool,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -515,7 +581,6 @@ impl Error2Html<'_> {
                 HtmlTemplate::StatusCode(status_code),
                 HtmlTemplate::ErrorText(details_text.into()),
             ],
-            ..Default::default()
         };
 
         res.render().unwrap()
@@ -527,9 +592,6 @@ impl Error2Html<'_> {
 pub struct Error3Html<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: bool,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -576,7 +638,6 @@ impl Error3Html<'_> {
                 HtmlTemplate::StatusCode(status_code),
                 HtmlTemplate::ErrorText(details_text.into()),
             ],
-            ..Default::default()
         };
 
         res.render().unwrap()
@@ -588,9 +649,6 @@ impl Error3Html<'_> {
 pub struct AdminApiKeysHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -637,9 +695,6 @@ impl AdminApiKeysHtml<'_> {
 pub struct AdminAttributesHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -686,9 +741,6 @@ impl AdminAttributesHtml<'_> {
 pub struct AdminBlacklistHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -735,9 +787,6 @@ impl AdminBlacklistHtml<'_> {
 pub struct AdminClientsHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -784,9 +833,6 @@ impl AdminClientsHtml<'_> {
 pub struct AdminConfigHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -833,9 +879,6 @@ impl AdminConfigHtml<'_> {
 pub struct AdminDocsHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -882,9 +925,6 @@ impl AdminDocsHtml<'_> {
 pub struct AdminEventsHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -931,9 +971,6 @@ impl AdminEventsHtml<'_> {
 pub struct AdminGroupsHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -980,9 +1017,6 @@ impl AdminGroupsHtml<'_> {
 pub struct AdminRolesHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -1029,9 +1063,6 @@ impl AdminRolesHtml<'_> {
 pub struct AdminScopesHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -1078,9 +1109,6 @@ impl AdminScopesHtml<'_> {
 pub struct AdminSessionsHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -1127,9 +1155,6 @@ impl AdminSessionsHtml<'_> {
 pub struct AdminUsersHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -1176,9 +1201,6 @@ impl AdminUsersHtml<'_> {
 pub struct AuthorizeHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -1196,19 +1218,10 @@ pub struct AuthorizeHtml<'a> {
 }
 
 impl AuthorizeHtml<'_> {
-    pub fn build(
-        client_name: &Option<String>,
-        csrf_token: &str,
-        action: FrontendAction,
-        colors: &Colors,
-        lang: &Language,
-        templates: &[HtmlTemplate],
-    ) -> String {
-        let mut res = AuthorizeHtml {
+    pub fn build(colors: &Colors, lang: &Language, templates: &[HtmlTemplate]) -> String {
+        let res = AuthorizeHtml {
             lang: lang.as_str(),
             client_id: "rauthy",
-            csrf_token,
-            action: &action.to_string(),
             col_act1: &colors.act1,
             col_act1a: &colors.act1a,
             col_act2: &colors.act2,
@@ -1223,13 +1236,8 @@ impl AuthorizeHtml<'_> {
             col_text: &colors.text,
             col_bg: &colors.bg,
             templates,
-            ..Default::default()
         };
 
-        if client_name.is_some() {
-            res.data = client_name.as_ref().unwrap();
-        }
-
         res.render().unwrap()
     }
 }
@@ -1239,9 +1247,6 @@ impl AuthorizeHtml<'_> {
 pub struct CallbackHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -1288,9 +1293,6 @@ impl CallbackHtml<'_> {
 pub struct ProvidersHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -1337,9 +1339,6 @@ impl crate::html_templates::ProvidersHtml<'_> {
 pub struct ProviderCallbackHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: &'a str,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -1386,9 +1385,6 @@ impl ProviderCallbackHtml<'_> {
 pub struct LogoutHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: bool,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -1406,12 +1402,10 @@ pub struct LogoutHtml<'a> {
 }
 
 impl LogoutHtml<'_> {
-    pub fn build(csrf_token: &str, set_logout: bool, colors: &Colors, lang: &Language) -> String {
+    pub fn build(csrf_token: String, colors: &Colors, lang: &Language) -> String {
         let res = LogoutHtml {
             lang: lang.as_str(),
             client_id: "rauthy",
-            csrf_token,
-            action: set_logout,
             col_act1: &colors.act1,
             col_act1a: &colors.act1a,
             col_act2: &colors.act2,
@@ -1425,7 +1419,7 @@ impl LogoutHtml<'_> {
             col_ghigh: &colors.ghigh,
             col_text: &colors.text,
             col_bg: &colors.bg,
-            ..Default::default()
+            templates: &[HtmlTemplate::CsrfToken(csrf_token)],
         };
 
         res.render().unwrap()
@@ -1437,9 +1431,6 @@ impl LogoutHtml<'_> {
 pub struct PwdResetHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: bool,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -1459,30 +1450,10 @@ pub struct PwdResetHtml<'a> {
 impl PwdResetHtml<'_> {
     // If the email is Some(_), this means that the user has webauthn enabled and does not need
     // to provide the email manually
-    pub fn build(
-        csrf_token: &str,
-        password_rules: &PasswordPolicy,
-        colors: &Colors,
-        lang: &Language,
-        needs_mfa: bool,
-    ) -> String {
-        let data = format!(
-            "{},{},{},{},{},{},{},{}",
-            password_rules.length_min,
-            password_rules.length_max,
-            password_rules.include_lower_case.unwrap_or(-1),
-            password_rules.include_upper_case.unwrap_or(-1),
-            password_rules.include_digits.unwrap_or(-1),
-            password_rules.include_special.unwrap_or(-1),
-            password_rules.not_recently_used.unwrap_or(-1),
-            needs_mfa,
-        );
-
+    pub fn build(colors: &Colors, lang: &Language, template: TplPasswordReset) -> String {
         let res = PwdResetHtml {
             lang: lang.as_str(),
             client_id: "rauthy",
-            csrf_token,
-            data: &data,
             col_act1: &colors.act1,
             col_act1a: &colors.act1a,
             col_act2: &colors.act2,
@@ -1496,7 +1467,7 @@ impl PwdResetHtml<'_> {
             col_ghigh: &colors.ghigh,
             col_text: &colors.text,
             col_bg: &colors.bg,
-            ..Default::default()
+            templates: &[HtmlTemplate::PasswordReset(template)],
         };
 
         res.render().unwrap()
@@ -1521,9 +1492,6 @@ impl TooManyRequestsHtml {
 pub struct UserEmailChangeConfirmHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: bool,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -1541,13 +1509,10 @@ pub struct UserEmailChangeConfirmHtml<'a> {
 }
 
 impl UserEmailChangeConfirmHtml<'_> {
-    pub fn build(colors: &Colors, lang: &Language, email_old: &str, email_new: &str) -> String {
-        let data = format!("{},{}", email_old, email_new,);
-
+    pub fn build(colors: &Colors, lang: &Language, templates: &[HtmlTemplate]) -> String {
         UserEmailChangeConfirmHtml {
             lang: lang.as_str(),
             client_id: "rauthy",
-            data: &data,
             col_act1: &colors.act1,
             col_act1a: &colors.act1a,
             col_act2: &colors.act2,
@@ -1561,7 +1526,7 @@ impl UserEmailChangeConfirmHtml<'_> {
             col_ghigh: &colors.ghigh,
             col_text: &colors.text,
             col_bg: &colors.bg,
-            ..Default::default()
+            templates,
         }
         .render()
         .expect("rendering email_confirm.html")
@@ -1573,9 +1538,6 @@ impl UserEmailChangeConfirmHtml<'_> {
 pub struct UserRegisterHtml<'a> {
     lang: &'a str,
     client_id: &'a str,
-    csrf_token: &'a str,
-    data: &'a str,
-    action: bool,
     col_act1: &'a str,
     col_act1a: &'a str,
     col_act2: &'a str,
@@ -1597,10 +1559,6 @@ impl UserRegisterHtml<'_> {
         UserRegisterHtml {
             lang: lang.as_str(),
             client_id: "rauthy",
-            data: USER_REG_DOMAIN_RESTRICTION
-                .as_ref()
-                .map(|s| s.as_str())
-                .unwrap_or(""),
             col_act1: &colors.act1,
             col_act1a: &colors.act1a,
             col_act2: &colors.act2,
@@ -1614,7 +1572,9 @@ impl UserRegisterHtml<'_> {
             col_ghigh: &colors.ghigh,
             col_text: &colors.text,
             col_bg: &colors.bg,
-            ..Default::default()
+            templates: &[HtmlTemplate::RestrictedEmailDomain(
+                USER_REG_DOMAIN_RESTRICTION.clone().unwrap_or_default(),
+            )],
         }
         .render()
         .expect("rendering register.html")
diff --git a/src/service/src/oidc/logout.rs b/src/service/src/oidc/logout.rs
index c6fd7f499..f47f038f8 100644
--- a/src/service/src/oidc/logout.rs
+++ b/src/service/src/oidc/logout.rs
@@ -13,17 +13,17 @@ use rauthy_models::{JwtIdClaims, JwtTokenType};
 /// Returns the Logout HTML Page for [GET /oidc/logout](crate::handlers::get_logout)
 pub async fn get_logout_html(
     logout_request: LogoutRequest,
-    session: &Session,
+    session: Session,
     data: &web::Data<AppState>,
     lang: &Language,
 ) -> Result<String, ErrorResponse> {
     let colors = ColorEntity::find_rauthy().await?;
 
     if logout_request.id_token_hint.is_none() {
-        return Ok(LogoutHtml::build(&session.csrf_token, false, &colors, lang));
+        return Ok(LogoutHtml::build(session.csrf_token, &colors, lang));
     }
 
-    // check if the provided token hint is a valid
+    // check if the provided token hint is valid
     let token_raw = logout_request.id_token_hint.unwrap();
     let claims = validation::validate_token::<JwtIdClaims>(data, &token_raw).await?;
 
@@ -67,5 +67,5 @@ pub async fn get_logout_html(
         // redirect uri is valid at this point
     }
 
-    Ok(LogoutHtml::build(&session.csrf_token, true, &colors, lang))
+    Ok(LogoutHtml::build(session.csrf_token, &colors, lang))
 }
diff --git a/src/service/src/password_reset.rs b/src/service/src/password_reset.rs
index addd98c86..54b7a190b 100644
--- a/src/service/src/password_reset.rs
+++ b/src/service/src/password_reset.rs
@@ -1,5 +1,6 @@
 use actix_web::{cookie, web, HttpRequest, HttpResponse};
 use chrono::Utc;
+use rauthy_api_types::generic::PasswordPolicyResponse;
 use rauthy_api_types::users::{
     PasswordResetRequest, WebauthnRegFinishRequest, WebauthnRegStartRequest,
 };
@@ -16,7 +17,7 @@ use rauthy_models::entity::users::User;
 use rauthy_models::entity::webauthn;
 use rauthy_models::entity::webauthn::WebauthnServiceReq;
 use rauthy_models::events::event::Event;
-use rauthy_models::html_templates::PwdResetHtml;
+use rauthy_models::html_templates::{PwdResetHtml, TplPasswordReset};
 use rauthy_models::language::Language;
 use tracing::{debug, error};
 
@@ -31,21 +32,21 @@ pub async fn handle_get_pwd_reset<'a>(
 
     let user = User::find(ml.user_id.clone()).await?;
 
-    // get the html and insert values
-    let rules = PasswordPolicy::find().await?;
     let colors = ColorEntity::find_rauthy().await?;
     let lang = Language::try_from(&req).unwrap_or_default();
 
     let content = if no_html {
         ml.csrf_token.clone()
     } else {
-        PwdResetHtml::build(
-            &ml.csrf_token,
-            &rules,
-            &colors,
-            &lang,
-            user.has_webauthn_enabled(),
-        )
+        let password_policy = PasswordPolicy::find().await?;
+        let tpl = TplPasswordReset {
+            csrf_token: ml.csrf_token.clone(),
+            magic_link_id: ml.id.clone(),
+            needs_mfa: user.has_webauthn_enabled(),
+            password_policy: PasswordPolicyResponse::from(password_policy),
+            user_id,
+        };
+        PwdResetHtml::build(&colors, &lang, tpl)
     };
 
     // generate a cookie value and save it to the magic link
diff --git a/static/v1/_app/immutable/assets/18.B9MTzT3c.css b/static/v1/_app/immutable/assets/18.B9MTzT3c.css
new file mode 100644
index 000000000..206e66f0f
--- /dev/null
+++ b/static/v1/_app/immutable/assets/18.B9MTzT3c.css
@@ -0,0 +1 @@
+.container.svelte-10pff2x{display:flex;flex:1;justify-content:center;align-items:center;z-index:1}.global.svelte-10pff2x{position:absolute;top:0;left:0;width:100vw;height:100vh}.background.svelte-10pff2x{background:#000000b3}.inner.svelte-10pff2x{display:flex;flex:1;align-items:center;justify-content:center}.circle.svelte-10pff2x{margin:3px;width:15px;aspect-ratio:1;border-radius:50%;background:#c8c8c8e6}.container.svelte-19xxeot{display:flex;flex-direction:column;justify-content:center;max-width:19rem;padding:20px;border:1px solid var(--col-gmid);border-radius:5px;box-shadow:5px 5px 5px #8080801a}.declined.svelte-19xxeot{color:var(--col-err)}.err.svelte-19xxeot,.desc.svelte-19xxeot{margin:0 .33rem 1rem}.err.svelte-19xxeot{color:var(--col-err)}.inline.svelte-19xxeot{display:flex;justify-content:space-between}.name.svelte-19xxeot{margin:-10px 5px 0}
diff --git a/static/v1/_app/immutable/assets/18.B9MTzT3c.css.br b/static/v1/_app/immutable/assets/18.B9MTzT3c.css.br
new file mode 100644
index 000000000..79f7818a4
Binary files /dev/null and b/static/v1/_app/immutable/assets/18.B9MTzT3c.css.br differ
diff --git a/static/v1/_app/immutable/assets/18.B9MTzT3c.css.gz b/static/v1/_app/immutable/assets/18.B9MTzT3c.css.gz
new file mode 100644
index 000000000..3f7a5edae
Binary files /dev/null and b/static/v1/_app/immutable/assets/18.B9MTzT3c.css.gz differ
diff --git a/static/v1/_app/immutable/assets/18.GNJxucTb.css b/static/v1/_app/immutable/assets/18.GNJxucTb.css
deleted file mode 100644
index a62e389fc..000000000
--- a/static/v1/_app/immutable/assets/18.GNJxucTb.css
+++ /dev/null
@@ -1 +0,0 @@
-.container.svelte-19xxeot{display:flex;flex-direction:column;justify-content:center;max-width:19rem;padding:20px;border:1px solid var(--col-gmid);border-radius:5px;box-shadow:5px 5px 5px #8080801a}.declined.svelte-19xxeot{color:var(--col-err)}.err.svelte-19xxeot,.desc.svelte-19xxeot{margin:0 .33rem 1rem}.err.svelte-19xxeot{color:var(--col-err)}.inline.svelte-19xxeot{display:flex;justify-content:space-between}.name.svelte-19xxeot{margin:-10px 5px 0}
diff --git a/static/v1/_app/immutable/assets/18.GNJxucTb.css.br b/static/v1/_app/immutable/assets/18.GNJxucTb.css.br
deleted file mode 100644
index c2a93d405..000000000
--- a/static/v1/_app/immutable/assets/18.GNJxucTb.css.br
+++ /dev/null
@@ -1 +0,0 @@
-� n�<���jK(]����Ok�%n�^�LH��u[���^�ã����1FC��5�oL���%��i��Lp�w�Ηz��/ڳ��R���֐�{�;�;��YR�+Q>�}�[�Q��ͻ��=3Ƽ�)
��?a%1B�بN>��U��K�<�8��1^1L�/
Ě7��ތ#��{b�o#�Ɛ�0L��9�����
\ No newline at end of file
diff --git a/static/v1/_app/immutable/assets/18.GNJxucTb.css.gz b/static/v1/_app/immutable/assets/18.GNJxucTb.css.gz
deleted file mode 100644
index fbfcece36..000000000
Binary files a/static/v1/_app/immutable/assets/18.GNJxucTb.css.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/3.CF_aMXlW.css b/static/v1/_app/immutable/assets/3.CF_aMXlW.css
deleted file mode 100644
index d00abc385..000000000
--- a/static/v1/_app/immutable/assets/3.CF_aMXlW.css
+++ /dev/null
@@ -1 +0,0 @@
-dialog.svelte-l3vtl3{border-radius:3px;border:none;padding:0}dialog.svelte-l3vtl3::backdrop{background:#0000004d}dialog.svelte-l3vtl3>div:where(.svelte-l3vtl3){padding:1rem}dialog.svelte-l3vtl3>div:where(.svelte-l3vtl3)>div:where(.svelte-l3vtl3){position:relative}dialog[open].svelte-l3vtl3{animation:svelte-l3vtl3-zoom .3s cubic-bezier(.34,1.56,.64,1)}@keyframes svelte-l3vtl3-zoom{0%{transform:scale(.95)}to{transform:scale(1)}}dialog[open].svelte-l3vtl3::backdrop{animation:svelte-l3vtl3-fade .2s ease-out}@keyframes svelte-l3vtl3-fade{0%{opacity:0}to{opacity:1}}.close.svelte-l3vtl3{margin:-1rem -1rem 0 0;cursor:pointer;text-align:right}.inner.svelte-l3vtl3{margin-top:-.5rem}.container.svelte-bckoh9{margin:0 .25rem;padding:10px}.label.svelte-bckoh9{width:10rem}.labelPhone.svelte-bckoh9{width:12rem}.fed-btn.svelte-bckoh9{margin-left:-5px}.flex-inline.svelte-bckoh9{display:inline-flex;align-items:center;gap:.5rem}.link-err.svelte-bckoh9{margin-left:5px;color:var(--col-err)}.provider-link.svelte-bckoh9{color:var(--col-act2);cursor:pointer}.provider-name.svelte-bckoh9{margin-bottom:-4px}.providers.svelte-bckoh9{margin-top:.66rem;display:flex}.row.svelte-bckoh9{display:flex}.value.svelte-bckoh9{max-width:18rem;word-break:break-word}.container.svelte-1xh7x72{padding:0 5px;display:flex;flex-direction:column}.err.svelte-1xh7x72{width:230px;margin:-5px 10px 0 35px;padding-right:5px;color:var(--col-err)}.err.svelte-1xh7x72{margin:5px;color:var(--col-err)}.bottom.svelte-1xh7x72{height:1em}.success.svelte-1xh7x72{margin:5px;color:var(--col-ok)}.wrapper.svelte-1xh7x72{margin-top:10px;display:flex;flex-direction:row}p.svelte-q7vfo0{margin:.5rem 0}.container.svelte-q7vfo0{padding-left:10px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.button.svelte-q7vfo0{margin-left:-.33rem}.deleteBtn.svelte-q7vfo0{margin-right:-.8rem}.keysContainer.svelte-q7vfo0{max-height:20rem;padding-right:2rem;overflow-y:auto}.keyContainer.svelte-q7vfo0{margin:.33rem 0}.keysHeader.svelte-q7vfo0{margin-top:.5rem;font-weight:700}.msg.svelte-q7vfo0,.err.svelte-q7vfo0{margin:5px;text-align:center}.err.svelte-q7vfo0{color:var(--col-err)}.msg.svelte-q7vfo0{color:var(--col-ok)}.nameUv.svelte-q7vfo0{display:inline-flex;align-items:center;gap:.25rem}.regBtns.svelte-q7vfo0{display:flex;align-items:center}.regNewBtn.svelte-q7vfo0{margin:0 0 .5rem -.33rem}.row.svelte-q7vfo0{display:flex;gap:.5rem;justify-content:space-between;align-items:center}.container.svelte-dpnwj7{margin-top:5px;margin-bottom:10px}.err.svelte-dpnwj7{margin:-5px 10px 5px;text-align:left;color:var(--col-err)}p.svelte-od1aaa{margin:.5rem 0}.m-05.svelte-od1aaa{margin:.5rem}.wrapper.svelte-od1aaa{display:flex;flex-direction:row}.container.svelte-od1aaa{padding:0 5px;display:flex;flex-direction:column}.convertPasskey.svelte-od1aaa{margin:1rem 0}.err.svelte-od1aaa{width:230px;margin:-5px 10px 0 35px;padding-right:5px;color:var(--col-err)}.err.svelte-od1aaa{margin:5px;color:var(--col-err)}.bottom.svelte-od1aaa{height:1em}.success.svelte-od1aaa{margin:5px;color:var(--col-ok)}p.svelte-naxx27{margin:0 .5rem .5rem}textarea.svelte-naxx27{margin:.5rem;resize:none}.bottom.svelte-naxx27{height:1em}.container.svelte-naxx27{padding:0 5px;display:flex;flex-direction:column}.err.svelte-naxx27{width:230px;margin:-5px 10px 0 35px;padding-right:5px;color:var(--col-err)}.err.svelte-naxx27{margin:5px;color:var(--col-err)}.label.svelte-naxx27{width:12rem}.row.svelte-naxx27{margin:.5rem;display:flex;gap:.5rem}.success.svelte-naxx27{margin:5px;color:var(--col-ok)}.wrapper.svelte-naxx27{margin-top:10px;display:flex;flex-direction:row}.container.svelte-1nrg3bb{padding-left:10px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.container.svelte-47czfz{display:flex;flex-direction:column}.header.svelte-47czfz{width:100%;margin-left:10px;margin-bottom:-10px}.headerPhone.svelte-47czfz{margin-left:10px;margin-bottom:-10px}.inner.svelte-47czfz{width:30rem}.innerPhone.svelte-47czfz{width:100vw}.wrapper.svelte-47czfz{height:calc(100dvh - 20px)}
diff --git a/static/v1/_app/immutable/assets/3.CF_aMXlW.css.br b/static/v1/_app/immutable/assets/3.CF_aMXlW.css.br
deleted file mode 100644
index 73af60980..000000000
Binary files a/static/v1/_app/immutable/assets/3.CF_aMXlW.css.br and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/3.CF_aMXlW.css.gz b/static/v1/_app/immutable/assets/3.CF_aMXlW.css.gz
deleted file mode 100644
index 74a5643a7..000000000
Binary files a/static/v1/_app/immutable/assets/3.CF_aMXlW.css.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/3.DD7tddh9.css b/static/v1/_app/immutable/assets/3.DD7tddh9.css
new file mode 100644
index 000000000..8e6ecfc7b
--- /dev/null
+++ b/static/v1/_app/immutable/assets/3.DD7tddh9.css
@@ -0,0 +1 @@
+.container.svelte-1yqkxw6{display:flex;flex:1;justify-content:center;align-items:center;z-index:1}@keyframes svelte-1yqkxw6-fade-in{0%{opacity:0}to{opacity:1}}@keyframes svelte-1yqkxw6-fade-out{0%{opacity:1}to{opacity:0}}.loading.svelte-1yqkxw6{width:3.3rem;height:1.1rem;aspect-ratio:3;display:flex;justify-content:space-evenly;align-items:center}.loading-1.svelte-1yqkxw6,.loading-2.svelte-1yqkxw6,.loading-3.svelte-1yqkxw6{height:66%;aspect-ratio:1;border-radius:50%;animation:1s infinite alternate svelte-1yqkxw6-fade-in;opacity:0}.loading-2.svelte-1yqkxw6{animation-delay:333ms}.loading-3.svelte-1yqkxw6{animation-delay:666ms}.global.svelte-1yqkxw6{position:absolute;top:0;left:0;width:100vw;height:100vh}.local.svelte-1yqkxw6{min-width:70px;max-width:70px}.background.svelte-1yqkxw6{background:#7f7f7f80}button.svelte-av2wub{height:2rem;padding:0 .5rem;font-weight:700;font-size:.9rem;outline:none;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .15s}button.svelte-av2wub:hover{box-shadow:1px 1px 2px hsl(var(--bg-high))}button.svelte-av2wub:focus-visible{outline:2px solid hsl(var(--accent))}.invisible.svelte-av2wub,.invisible.svelte-av2wub:hover{margin:0;padding:0;outline:none;background:none;box-shadow:none;color:hsla(var(--action),.93)}.invisible.svelte-av2wub:hover{color:hsl(var(--action))}.invisible.svelte-av2wub>div:where(.svelte-av2wub){color:hsl(var(--text));transition:color .15s}.invisible.svelte-av2wub:hover>div:where(.svelte-av2wub){color:hsl(var(--action))}.invisible.svelte-av2wub .font-label:where(.svelte-av2wub){margin-bottom:-.5rem}.invisibleOutline.svelte-av2wub:focus{outline:none}button[aria-disabled=true].svelte-av2wub,button[aria-disabled=true].svelte-av2wub:hover,button[aria-disabled=true].svelte-av2wub:focus{color:hsl(var(--bg-high))}button[aria-disabled=true].svelte-av2wub,button[data-isloading=true].svelte-av2wub{cursor:not-allowed}.l1.svelte-av2wub,.l2.svelte-av2wub,.l3.svelte-av2wub{border:1px solid hsla(var(--action),.5)}.l1.svelte-av2wub{color:var(--btn-text);background:hsla(var(--action),.93)}.l1.svelte-av2wub:hover{background:hsl(var(--action))}.l1[aria-disabled=true].svelte-av2wub{background:hsla(var(--text),.5)}.l2.svelte-av2wub{color:hsl(var(--action));border:1px solid hsl(var(--action));background:transparent}.l3.svelte-av2wub{color:hsla(var(--action),.9);border:none;background:transparent}.l3.svelte-av2wub:hover{color:hsl(var(--action))}.l1d.svelte-av2wub,.l2d.svelte-av2wub,.l3d.svelte-av2wub{border:1px solid hsla(var(--error),.5)}.l1d.svelte-av2wub{color:var(--btn-text);background:hsla(var(--error),.93)}.l1d.svelte-av2wub:hover{background:hsl(var(--error))}.l2d.svelte-av2wub{color:hsl(var(--error));border:1px solid hsl(var(--error));background:transparent}.l3d.svelte-av2wub{color:hsl(var(--error));border:none;background:transparent}.load.svelte-av2wub{display:flex;justify-content:center}dialog.svelte-1w7l4fj{margin:auto;padding:0;border:1px solid hsl(var(--bg-high));border-radius:var(--border-radius);color:hsl(var(--text));background:hsl(var(--bg))}dialog[data-strict=true].svelte-1w7l4fj::backdrop{background:hsla(var(--bg),.8)}dialog[data-strict=false].svelte-1w7l4fj::backdrop{background:hsla(var(--bg),.2)}dialog.svelte-1w7l4fj>div:where(.svelte-1w7l4fj){max-width:100dvw;max-height:100dvh;padding:1rem;box-shadow:0 15px 15px #000;overflow:auto}dialog[open].svelte-1w7l4fj{animation:var(--animate-zoom)}.close.svelte-1w7l4fj{top:-1.4rem;right:-1rem;cursor:pointer}.closeIcon.svelte-1w7l4fj{color:hsla(var(--text),.5);transition:color .15s}.closeIcon.svelte-1w7l4fj:hover{color:hsl(var(--error))}@media (max-width: 600px){dialog.svelte-1w7l4fj{max-height:calc(100dvh - .5rem);max-width:calc(100dvw - .5rem)}dialog.svelte-1w7l4fj>div:where(.svelte-1w7l4fj){padding:.5rem}.close.svelte-1w7l4fj{top:-.8rem;right:-.4rem;cursor:pointer}}.container.svelte-bckoh9{margin:0 .25rem;padding:10px}.label.svelte-bckoh9{width:10rem}.labelPhone.svelte-bckoh9{width:12rem}.fed-btn.svelte-bckoh9{margin-left:-5px}.flex-inline.svelte-bckoh9{display:inline-flex;align-items:center;gap:.5rem}.link-err.svelte-bckoh9{margin-left:5px;color:var(--col-err)}.provider-link.svelte-bckoh9{color:var(--col-act2);cursor:pointer}.provider-name.svelte-bckoh9{margin-bottom:-4px}.providers.svelte-bckoh9{margin-top:.66rem;display:flex}.row.svelte-bckoh9{display:flex}.value.svelte-bckoh9{max-width:18rem;word-break:break-word}.container.svelte-1xh7x72{padding:0 5px;display:flex;flex-direction:column}.err.svelte-1xh7x72{width:230px;margin:-5px 10px 0 35px;padding-right:5px;color:var(--col-err)}.err.svelte-1xh7x72{margin:5px;color:var(--col-err)}.bottom.svelte-1xh7x72{height:1em}.success.svelte-1xh7x72{margin:5px;color:var(--col-ok)}.wrapper.svelte-1xh7x72{margin-top:10px;display:flex;flex-direction:row}p.svelte-q7vfo0{margin:.5rem 0}.container.svelte-q7vfo0{padding-left:10px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.button.svelte-q7vfo0{margin-left:-.33rem}.deleteBtn.svelte-q7vfo0{margin-right:-.8rem}.keysContainer.svelte-q7vfo0{max-height:20rem;padding-right:2rem;overflow-y:auto}.keyContainer.svelte-q7vfo0{margin:.33rem 0}.keysHeader.svelte-q7vfo0{margin-top:.5rem;font-weight:700}.msg.svelte-q7vfo0,.err.svelte-q7vfo0{margin:5px;text-align:center}.err.svelte-q7vfo0{color:var(--col-err)}.msg.svelte-q7vfo0{color:var(--col-ok)}.nameUv.svelte-q7vfo0{display:inline-flex;align-items:center;gap:.25rem}.regBtns.svelte-q7vfo0{display:flex;align-items:center}.regNewBtn.svelte-q7vfo0{margin:0 0 .5rem -.33rem}.row.svelte-q7vfo0{display:flex;gap:.5rem;justify-content:space-between;align-items:center}.container.svelte-dpnwj7{margin-top:5px;margin-bottom:10px}.err.svelte-dpnwj7{margin:-5px 10px 5px;text-align:left;color:var(--col-err)}p.svelte-od1aaa{margin:.5rem 0}.m-05.svelte-od1aaa{margin:.5rem}.wrapper.svelte-od1aaa{display:flex;flex-direction:row}.container.svelte-od1aaa{padding:0 5px;display:flex;flex-direction:column}.convertPasskey.svelte-od1aaa{margin:1rem 0}.err.svelte-od1aaa{width:230px;margin:-5px 10px 0 35px;padding-right:5px;color:var(--col-err)}.err.svelte-od1aaa{margin:5px;color:var(--col-err)}.bottom.svelte-od1aaa{height:1em}.success.svelte-od1aaa{margin:5px;color:var(--col-ok)}p.svelte-naxx27{margin:0 .5rem .5rem}textarea.svelte-naxx27{margin:.5rem;resize:none}.bottom.svelte-naxx27{height:1em}.container.svelte-naxx27{padding:0 5px;display:flex;flex-direction:column}.err.svelte-naxx27{width:230px;margin:-5px 10px 0 35px;padding-right:5px;color:var(--col-err)}.err.svelte-naxx27{margin:5px;color:var(--col-err)}.label.svelte-naxx27{width:12rem}.row.svelte-naxx27{margin:.5rem;display:flex;gap:.5rem}.success.svelte-naxx27{margin:5px;color:var(--col-ok)}.wrapper.svelte-naxx27{margin-top:10px;display:flex;flex-direction:row}.container.svelte-1nrg3bb{padding-left:10px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.container.svelte-47czfz{display:flex;flex-direction:column}.header.svelte-47czfz{width:100%;margin-left:10px;margin-bottom:-10px}.headerPhone.svelte-47czfz{margin-left:10px;margin-bottom:-10px}.inner.svelte-47czfz{width:30rem}.innerPhone.svelte-47czfz{width:100vw}.wrapper.svelte-47czfz{height:calc(100dvh - 20px)}
diff --git a/static/v1/_app/immutable/assets/3.DD7tddh9.css.br b/static/v1/_app/immutable/assets/3.DD7tddh9.css.br
new file mode 100644
index 000000000..6a51e2a22
Binary files /dev/null and b/static/v1/_app/immutable/assets/3.DD7tddh9.css.br differ
diff --git a/static/v1/_app/immutable/assets/3.DD7tddh9.css.gz b/static/v1/_app/immutable/assets/3.DD7tddh9.css.gz
new file mode 100644
index 000000000..7dbac9bd0
Binary files /dev/null and b/static/v1/_app/immutable/assets/3.DD7tddh9.css.gz differ
diff --git a/static/v1/_app/immutable/assets/30.BYwAhQy0.css b/static/v1/_app/immutable/assets/30.BYwAhQy0.css
new file mode 100644
index 000000000..22c901fc5
--- /dev/null
+++ b/static/v1/_app/immutable/assets/30.BYwAhQy0.css
@@ -0,0 +1 @@
+a.svelte-14344wy,a.svelte-14344wy:visited{color:var(--col-act2)}.err.svelte-14344wy{margin:0 5px;color:var(--col-err)}.success.svelte-14344wy{margin:5px;color:var(--col-acnt)}
diff --git a/static/v1/_app/immutable/assets/30.BYwAhQy0.css.br b/static/v1/_app/immutable/assets/30.BYwAhQy0.css.br
new file mode 100644
index 000000000..b3685204a
Binary files /dev/null and b/static/v1/_app/immutable/assets/30.BYwAhQy0.css.br differ
diff --git a/static/v1/_app/immutable/assets/30.BYwAhQy0.css.gz b/static/v1/_app/immutable/assets/30.BYwAhQy0.css.gz
new file mode 100644
index 000000000..23aa86a2c
Binary files /dev/null and b/static/v1/_app/immutable/assets/30.BYwAhQy0.css.gz differ
diff --git a/static/v1/_app/immutable/assets/30.DvqR7Iqw.css b/static/v1/_app/immutable/assets/30.DvqR7Iqw.css
deleted file mode 100644
index f7ecc725c..000000000
--- a/static/v1/_app/immutable/assets/30.DvqR7Iqw.css
+++ /dev/null
@@ -1 +0,0 @@
-a.svelte-189rvns,a.svelte-189rvns:visited{color:var(--col-act2)}.container.svelte-189rvns{display:flex;flex-direction:column;justify-content:center;max-width:20.5rem}.err.svelte-189rvns{margin:0 5px;color:var(--col-err)}.success.svelte-189rvns{margin:5px;color:var(--col-acnt)}
diff --git a/static/v1/_app/immutable/assets/30.DvqR7Iqw.css.br b/static/v1/_app/immutable/assets/30.DvqR7Iqw.css.br
deleted file mode 100644
index 686c34000..000000000
Binary files a/static/v1/_app/immutable/assets/30.DvqR7Iqw.css.br and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/30.DvqR7Iqw.css.gz b/static/v1/_app/immutable/assets/30.DvqR7Iqw.css.gz
deleted file mode 100644
index 430d211c4..000000000
Binary files a/static/v1/_app/immutable/assets/30.DvqR7Iqw.css.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/Button.BjnyTAiT.css b/static/v1/_app/immutable/assets/Button.BjnyTAiT.css
deleted file mode 100644
index 34a3b3f48..000000000
--- a/static/v1/_app/immutable/assets/Button.BjnyTAiT.css
+++ /dev/null
@@ -1 +0,0 @@
-.l1.svelte-103k7bs,.l2.svelte-103k7bs,.l3.svelte-103k7bs,.l4.svelte-103k7bs{height:30px;margin:5px;padding:0 10px;font-weight:700;border:1px solid var(--col-gmid);border-radius:3px;box-shadow:1px 1px 2px var(--col-gmid)}.l1.svelte-103k7bs{color:#fff;background:var(--col-act1)}.l1.svelte-103k7bs:hover{background:var(--col-act1a)}.l2.svelte-103k7bs{color:var(--col-ghigh);background:var(--col-act2)}.l2.svelte-103k7bs:hover{background:var(--col-act2a)}.l3.svelte-103k7bs{color:var(--col-act2a);border:1px solid var(--col-act2a);background:var(--col-ghigh)}.l3.svelte-103k7bs:hover{background:#fff}.l4.svelte-103k7bs{color:var(--col-act2a);border:none;background:none;box-shadow:none}.l4.svelte-103k7bs:hover{box-shadow:1px 1px 2px var(--col-gmid)}.load.svelte-103k7bs{display:flex;justify-content:center}.txt.svelte-103k7bs{margin-top:2px}
diff --git a/static/v1/_app/immutable/assets/Button.BjnyTAiT.css.br b/static/v1/_app/immutable/assets/Button.BjnyTAiT.css.br
deleted file mode 100644
index 4107f6a81..000000000
Binary files a/static/v1/_app/immutable/assets/Button.BjnyTAiT.css.br and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/Button.BjnyTAiT.css.gz b/static/v1/_app/immutable/assets/Button.BjnyTAiT.css.gz
deleted file mode 100644
index 7263e7d49..000000000
Binary files a/static/v1/_app/immutable/assets/Button.BjnyTAiT.css.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/Button.kuO9zTZa.css b/static/v1/_app/immutable/assets/Button.kuO9zTZa.css
new file mode 100644
index 000000000..02f1f1220
--- /dev/null
+++ b/static/v1/_app/immutable/assets/Button.kuO9zTZa.css
@@ -0,0 +1 @@
+.container.svelte-2cwfk8{display:flex;flex:1;justify-content:center;align-items:center;z-index:1}@keyframes svelte-2cwfk8-fade-in{0%{opacity:0}to{opacity:1}}@keyframes svelte-2cwfk8-fade-out{0%{opacity:1}to{opacity:0}}.loading.svelte-2cwfk8{width:3.3rem;height:1.1rem;aspect-ratio:3;display:flex;justify-content:space-evenly;align-items:center}.loading-1.svelte-2cwfk8,.loading-2.svelte-2cwfk8,.loading-3.svelte-2cwfk8{height:66%;aspect-ratio:1;border-radius:50%;animation:1s infinite alternate svelte-2cwfk8-fade-in;opacity:0}.loading-2.svelte-2cwfk8{animation-delay:333ms}.loading-3.svelte-2cwfk8{animation-delay:666ms}.global.svelte-2cwfk8{position:absolute;top:0;left:0;width:100vw;height:100vh}.local.svelte-2cwfk8{min-width:70px;max-width:70px}.background.svelte-2cwfk8{background:#7f7f7f80}.l1.svelte-103k7bs,.l2.svelte-103k7bs,.l3.svelte-103k7bs,.l4.svelte-103k7bs{height:30px;margin:5px;padding:0 10px;font-weight:700;border:1px solid var(--col-gmid);border-radius:3px;box-shadow:1px 1px 2px var(--col-gmid)}.l1.svelte-103k7bs{color:#fff;background:var(--col-act1)}.l1.svelte-103k7bs:hover{background:var(--col-act1a)}.l2.svelte-103k7bs{color:var(--col-ghigh);background:var(--col-act2)}.l2.svelte-103k7bs:hover{background:var(--col-act2a)}.l3.svelte-103k7bs{color:var(--col-act2a);border:1px solid var(--col-act2a);background:var(--col-ghigh)}.l3.svelte-103k7bs:hover{background:#fff}.l4.svelte-103k7bs{color:var(--col-act2a);border:none;background:none;box-shadow:none}.l4.svelte-103k7bs:hover{box-shadow:1px 1px 2px var(--col-gmid)}.load.svelte-103k7bs{display:flex;justify-content:center}.txt.svelte-103k7bs{margin-top:2px}
diff --git a/static/v1/_app/immutable/assets/Button.kuO9zTZa.css.br b/static/v1/_app/immutable/assets/Button.kuO9zTZa.css.br
new file mode 100644
index 000000000..1f75a27a9
Binary files /dev/null and b/static/v1/_app/immutable/assets/Button.kuO9zTZa.css.br differ
diff --git a/static/v1/_app/immutable/assets/Button.kuO9zTZa.css.gz b/static/v1/_app/immutable/assets/Button.kuO9zTZa.css.gz
new file mode 100644
index 000000000..d33a02f06
Binary files /dev/null and b/static/v1/_app/immutable/assets/Button.kuO9zTZa.css.gz differ
diff --git a/static/v1/_app/immutable/assets/Loading.BVnr1IrI.css b/static/v1/_app/immutable/assets/Loading.BVnr1IrI.css
deleted file mode 100644
index 315c43513..000000000
--- a/static/v1/_app/immutable/assets/Loading.BVnr1IrI.css
+++ /dev/null
@@ -1 +0,0 @@
-.container.svelte-10pff2x{display:flex;flex:1;justify-content:center;align-items:center;z-index:1}.global.svelte-10pff2x{position:absolute;top:0;left:0;width:100vw;height:100vh}.background.svelte-10pff2x{background:#000000b3}.inner.svelte-10pff2x{display:flex;flex:1;align-items:center;justify-content:center}.circle.svelte-10pff2x{margin:3px;width:15px;aspect-ratio:1;border-radius:50%;background:#c8c8c8e6}
diff --git a/static/v1/_app/immutable/assets/Loading.BVnr1IrI.css.br b/static/v1/_app/immutable/assets/Loading.BVnr1IrI.css.br
deleted file mode 100644
index 0fa8f6994..000000000
Binary files a/static/v1/_app/immutable/assets/Loading.BVnr1IrI.css.br and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/Loading.BVnr1IrI.css.gz b/static/v1/_app/immutable/assets/Loading.BVnr1IrI.css.gz
deleted file mode 100644
index 4e67064ff..000000000
Binary files a/static/v1/_app/immutable/assets/Loading.BVnr1IrI.css.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/Loading.C3rZw9wZ.css b/static/v1/_app/immutable/assets/Loading.C3rZw9wZ.css
deleted file mode 100644
index c3720011c..000000000
--- a/static/v1/_app/immutable/assets/Loading.C3rZw9wZ.css
+++ /dev/null
@@ -1 +0,0 @@
-.container.svelte-2cwfk8{display:flex;flex:1;justify-content:center;align-items:center;z-index:1}@keyframes svelte-2cwfk8-fade-in{0%{opacity:0}to{opacity:1}}@keyframes svelte-2cwfk8-fade-out{0%{opacity:1}to{opacity:0}}.loading.svelte-2cwfk8{width:3.3rem;height:1.1rem;aspect-ratio:3;display:flex;justify-content:space-evenly;align-items:center}.loading-1.svelte-2cwfk8,.loading-2.svelte-2cwfk8,.loading-3.svelte-2cwfk8{height:66%;aspect-ratio:1;border-radius:50%;animation:1s infinite alternate svelte-2cwfk8-fade-in;opacity:0}.loading-2.svelte-2cwfk8{animation-delay:333ms}.loading-3.svelte-2cwfk8{animation-delay:666ms}.global.svelte-2cwfk8{position:absolute;top:0;left:0;width:100vw;height:100vh}.local.svelte-2cwfk8{min-width:70px;max-width:70px}.background.svelte-2cwfk8{background:#7f7f7f80}
diff --git a/static/v1/_app/immutable/assets/Loading.C3rZw9wZ.css.br b/static/v1/_app/immutable/assets/Loading.C3rZw9wZ.css.br
deleted file mode 100644
index b5ddc1cbb..000000000
Binary files a/static/v1/_app/immutable/assets/Loading.C3rZw9wZ.css.br and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/Loading.C3rZw9wZ.css.gz b/static/v1/_app/immutable/assets/Loading.C3rZw9wZ.css.gz
deleted file mode 100644
index 4fac08f3e..000000000
Binary files a/static/v1/_app/immutable/assets/Loading.C3rZw9wZ.css.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/_page.B9MTzT3c.css b/static/v1/_app/immutable/assets/_page.B9MTzT3c.css
new file mode 100644
index 000000000..206e66f0f
--- /dev/null
+++ b/static/v1/_app/immutable/assets/_page.B9MTzT3c.css
@@ -0,0 +1 @@
+.container.svelte-10pff2x{display:flex;flex:1;justify-content:center;align-items:center;z-index:1}.global.svelte-10pff2x{position:absolute;top:0;left:0;width:100vw;height:100vh}.background.svelte-10pff2x{background:#000000b3}.inner.svelte-10pff2x{display:flex;flex:1;align-items:center;justify-content:center}.circle.svelte-10pff2x{margin:3px;width:15px;aspect-ratio:1;border-radius:50%;background:#c8c8c8e6}.container.svelte-19xxeot{display:flex;flex-direction:column;justify-content:center;max-width:19rem;padding:20px;border:1px solid var(--col-gmid);border-radius:5px;box-shadow:5px 5px 5px #8080801a}.declined.svelte-19xxeot{color:var(--col-err)}.err.svelte-19xxeot,.desc.svelte-19xxeot{margin:0 .33rem 1rem}.err.svelte-19xxeot{color:var(--col-err)}.inline.svelte-19xxeot{display:flex;justify-content:space-between}.name.svelte-19xxeot{margin:-10px 5px 0}
diff --git a/static/v1/_app/immutable/assets/_page.B9MTzT3c.css.br b/static/v1/_app/immutable/assets/_page.B9MTzT3c.css.br
new file mode 100644
index 000000000..79f7818a4
Binary files /dev/null and b/static/v1/_app/immutable/assets/_page.B9MTzT3c.css.br differ
diff --git a/static/v1/_app/immutable/assets/_page.B9MTzT3c.css.gz b/static/v1/_app/immutable/assets/_page.B9MTzT3c.css.gz
new file mode 100644
index 000000000..3f7a5edae
Binary files /dev/null and b/static/v1/_app/immutable/assets/_page.B9MTzT3c.css.gz differ
diff --git a/static/v1/_app/immutable/assets/_page.BYwAhQy0.css b/static/v1/_app/immutable/assets/_page.BYwAhQy0.css
new file mode 100644
index 000000000..22c901fc5
--- /dev/null
+++ b/static/v1/_app/immutable/assets/_page.BYwAhQy0.css
@@ -0,0 +1 @@
+a.svelte-14344wy,a.svelte-14344wy:visited{color:var(--col-act2)}.err.svelte-14344wy{margin:0 5px;color:var(--col-err)}.success.svelte-14344wy{margin:5px;color:var(--col-acnt)}
diff --git a/static/v1/_app/immutable/assets/_page.BYwAhQy0.css.br b/static/v1/_app/immutable/assets/_page.BYwAhQy0.css.br
new file mode 100644
index 000000000..b3685204a
Binary files /dev/null and b/static/v1/_app/immutable/assets/_page.BYwAhQy0.css.br differ
diff --git a/static/v1/_app/immutable/assets/_page.BYwAhQy0.css.gz b/static/v1/_app/immutable/assets/_page.BYwAhQy0.css.gz
new file mode 100644
index 000000000..23aa86a2c
Binary files /dev/null and b/static/v1/_app/immutable/assets/_page.BYwAhQy0.css.gz differ
diff --git a/static/v1/_app/immutable/assets/_page.CF_aMXlW.css b/static/v1/_app/immutable/assets/_page.CF_aMXlW.css
deleted file mode 100644
index d00abc385..000000000
--- a/static/v1/_app/immutable/assets/_page.CF_aMXlW.css
+++ /dev/null
@@ -1 +0,0 @@
-dialog.svelte-l3vtl3{border-radius:3px;border:none;padding:0}dialog.svelte-l3vtl3::backdrop{background:#0000004d}dialog.svelte-l3vtl3>div:where(.svelte-l3vtl3){padding:1rem}dialog.svelte-l3vtl3>div:where(.svelte-l3vtl3)>div:where(.svelte-l3vtl3){position:relative}dialog[open].svelte-l3vtl3{animation:svelte-l3vtl3-zoom .3s cubic-bezier(.34,1.56,.64,1)}@keyframes svelte-l3vtl3-zoom{0%{transform:scale(.95)}to{transform:scale(1)}}dialog[open].svelte-l3vtl3::backdrop{animation:svelte-l3vtl3-fade .2s ease-out}@keyframes svelte-l3vtl3-fade{0%{opacity:0}to{opacity:1}}.close.svelte-l3vtl3{margin:-1rem -1rem 0 0;cursor:pointer;text-align:right}.inner.svelte-l3vtl3{margin-top:-.5rem}.container.svelte-bckoh9{margin:0 .25rem;padding:10px}.label.svelte-bckoh9{width:10rem}.labelPhone.svelte-bckoh9{width:12rem}.fed-btn.svelte-bckoh9{margin-left:-5px}.flex-inline.svelte-bckoh9{display:inline-flex;align-items:center;gap:.5rem}.link-err.svelte-bckoh9{margin-left:5px;color:var(--col-err)}.provider-link.svelte-bckoh9{color:var(--col-act2);cursor:pointer}.provider-name.svelte-bckoh9{margin-bottom:-4px}.providers.svelte-bckoh9{margin-top:.66rem;display:flex}.row.svelte-bckoh9{display:flex}.value.svelte-bckoh9{max-width:18rem;word-break:break-word}.container.svelte-1xh7x72{padding:0 5px;display:flex;flex-direction:column}.err.svelte-1xh7x72{width:230px;margin:-5px 10px 0 35px;padding-right:5px;color:var(--col-err)}.err.svelte-1xh7x72{margin:5px;color:var(--col-err)}.bottom.svelte-1xh7x72{height:1em}.success.svelte-1xh7x72{margin:5px;color:var(--col-ok)}.wrapper.svelte-1xh7x72{margin-top:10px;display:flex;flex-direction:row}p.svelte-q7vfo0{margin:.5rem 0}.container.svelte-q7vfo0{padding-left:10px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.button.svelte-q7vfo0{margin-left:-.33rem}.deleteBtn.svelte-q7vfo0{margin-right:-.8rem}.keysContainer.svelte-q7vfo0{max-height:20rem;padding-right:2rem;overflow-y:auto}.keyContainer.svelte-q7vfo0{margin:.33rem 0}.keysHeader.svelte-q7vfo0{margin-top:.5rem;font-weight:700}.msg.svelte-q7vfo0,.err.svelte-q7vfo0{margin:5px;text-align:center}.err.svelte-q7vfo0{color:var(--col-err)}.msg.svelte-q7vfo0{color:var(--col-ok)}.nameUv.svelte-q7vfo0{display:inline-flex;align-items:center;gap:.25rem}.regBtns.svelte-q7vfo0{display:flex;align-items:center}.regNewBtn.svelte-q7vfo0{margin:0 0 .5rem -.33rem}.row.svelte-q7vfo0{display:flex;gap:.5rem;justify-content:space-between;align-items:center}.container.svelte-dpnwj7{margin-top:5px;margin-bottom:10px}.err.svelte-dpnwj7{margin:-5px 10px 5px;text-align:left;color:var(--col-err)}p.svelte-od1aaa{margin:.5rem 0}.m-05.svelte-od1aaa{margin:.5rem}.wrapper.svelte-od1aaa{display:flex;flex-direction:row}.container.svelte-od1aaa{padding:0 5px;display:flex;flex-direction:column}.convertPasskey.svelte-od1aaa{margin:1rem 0}.err.svelte-od1aaa{width:230px;margin:-5px 10px 0 35px;padding-right:5px;color:var(--col-err)}.err.svelte-od1aaa{margin:5px;color:var(--col-err)}.bottom.svelte-od1aaa{height:1em}.success.svelte-od1aaa{margin:5px;color:var(--col-ok)}p.svelte-naxx27{margin:0 .5rem .5rem}textarea.svelte-naxx27{margin:.5rem;resize:none}.bottom.svelte-naxx27{height:1em}.container.svelte-naxx27{padding:0 5px;display:flex;flex-direction:column}.err.svelte-naxx27{width:230px;margin:-5px 10px 0 35px;padding-right:5px;color:var(--col-err)}.err.svelte-naxx27{margin:5px;color:var(--col-err)}.label.svelte-naxx27{width:12rem}.row.svelte-naxx27{margin:.5rem;display:flex;gap:.5rem}.success.svelte-naxx27{margin:5px;color:var(--col-ok)}.wrapper.svelte-naxx27{margin-top:10px;display:flex;flex-direction:row}.container.svelte-1nrg3bb{padding-left:10px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.container.svelte-47czfz{display:flex;flex-direction:column}.header.svelte-47czfz{width:100%;margin-left:10px;margin-bottom:-10px}.headerPhone.svelte-47czfz{margin-left:10px;margin-bottom:-10px}.inner.svelte-47czfz{width:30rem}.innerPhone.svelte-47czfz{width:100vw}.wrapper.svelte-47czfz{height:calc(100dvh - 20px)}
diff --git a/static/v1/_app/immutable/assets/_page.CF_aMXlW.css.br b/static/v1/_app/immutable/assets/_page.CF_aMXlW.css.br
deleted file mode 100644
index 73af60980..000000000
Binary files a/static/v1/_app/immutable/assets/_page.CF_aMXlW.css.br and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/_page.CF_aMXlW.css.gz b/static/v1/_app/immutable/assets/_page.CF_aMXlW.css.gz
deleted file mode 100644
index 74a5643a7..000000000
Binary files a/static/v1/_app/immutable/assets/_page.CF_aMXlW.css.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/_page.DD7tddh9.css b/static/v1/_app/immutable/assets/_page.DD7tddh9.css
new file mode 100644
index 000000000..8e6ecfc7b
--- /dev/null
+++ b/static/v1/_app/immutable/assets/_page.DD7tddh9.css
@@ -0,0 +1 @@
+.container.svelte-1yqkxw6{display:flex;flex:1;justify-content:center;align-items:center;z-index:1}@keyframes svelte-1yqkxw6-fade-in{0%{opacity:0}to{opacity:1}}@keyframes svelte-1yqkxw6-fade-out{0%{opacity:1}to{opacity:0}}.loading.svelte-1yqkxw6{width:3.3rem;height:1.1rem;aspect-ratio:3;display:flex;justify-content:space-evenly;align-items:center}.loading-1.svelte-1yqkxw6,.loading-2.svelte-1yqkxw6,.loading-3.svelte-1yqkxw6{height:66%;aspect-ratio:1;border-radius:50%;animation:1s infinite alternate svelte-1yqkxw6-fade-in;opacity:0}.loading-2.svelte-1yqkxw6{animation-delay:333ms}.loading-3.svelte-1yqkxw6{animation-delay:666ms}.global.svelte-1yqkxw6{position:absolute;top:0;left:0;width:100vw;height:100vh}.local.svelte-1yqkxw6{min-width:70px;max-width:70px}.background.svelte-1yqkxw6{background:#7f7f7f80}button.svelte-av2wub{height:2rem;padding:0 .5rem;font-weight:700;font-size:.9rem;outline:none;border:none;border-radius:var(--border-radius);cursor:pointer;transition:all .15s}button.svelte-av2wub:hover{box-shadow:1px 1px 2px hsl(var(--bg-high))}button.svelte-av2wub:focus-visible{outline:2px solid hsl(var(--accent))}.invisible.svelte-av2wub,.invisible.svelte-av2wub:hover{margin:0;padding:0;outline:none;background:none;box-shadow:none;color:hsla(var(--action),.93)}.invisible.svelte-av2wub:hover{color:hsl(var(--action))}.invisible.svelte-av2wub>div:where(.svelte-av2wub){color:hsl(var(--text));transition:color .15s}.invisible.svelte-av2wub:hover>div:where(.svelte-av2wub){color:hsl(var(--action))}.invisible.svelte-av2wub .font-label:where(.svelte-av2wub){margin-bottom:-.5rem}.invisibleOutline.svelte-av2wub:focus{outline:none}button[aria-disabled=true].svelte-av2wub,button[aria-disabled=true].svelte-av2wub:hover,button[aria-disabled=true].svelte-av2wub:focus{color:hsl(var(--bg-high))}button[aria-disabled=true].svelte-av2wub,button[data-isloading=true].svelte-av2wub{cursor:not-allowed}.l1.svelte-av2wub,.l2.svelte-av2wub,.l3.svelte-av2wub{border:1px solid hsla(var(--action),.5)}.l1.svelte-av2wub{color:var(--btn-text);background:hsla(var(--action),.93)}.l1.svelte-av2wub:hover{background:hsl(var(--action))}.l1[aria-disabled=true].svelte-av2wub{background:hsla(var(--text),.5)}.l2.svelte-av2wub{color:hsl(var(--action));border:1px solid hsl(var(--action));background:transparent}.l3.svelte-av2wub{color:hsla(var(--action),.9);border:none;background:transparent}.l3.svelte-av2wub:hover{color:hsl(var(--action))}.l1d.svelte-av2wub,.l2d.svelte-av2wub,.l3d.svelte-av2wub{border:1px solid hsla(var(--error),.5)}.l1d.svelte-av2wub{color:var(--btn-text);background:hsla(var(--error),.93)}.l1d.svelte-av2wub:hover{background:hsl(var(--error))}.l2d.svelte-av2wub{color:hsl(var(--error));border:1px solid hsl(var(--error));background:transparent}.l3d.svelte-av2wub{color:hsl(var(--error));border:none;background:transparent}.load.svelte-av2wub{display:flex;justify-content:center}dialog.svelte-1w7l4fj{margin:auto;padding:0;border:1px solid hsl(var(--bg-high));border-radius:var(--border-radius);color:hsl(var(--text));background:hsl(var(--bg))}dialog[data-strict=true].svelte-1w7l4fj::backdrop{background:hsla(var(--bg),.8)}dialog[data-strict=false].svelte-1w7l4fj::backdrop{background:hsla(var(--bg),.2)}dialog.svelte-1w7l4fj>div:where(.svelte-1w7l4fj){max-width:100dvw;max-height:100dvh;padding:1rem;box-shadow:0 15px 15px #000;overflow:auto}dialog[open].svelte-1w7l4fj{animation:var(--animate-zoom)}.close.svelte-1w7l4fj{top:-1.4rem;right:-1rem;cursor:pointer}.closeIcon.svelte-1w7l4fj{color:hsla(var(--text),.5);transition:color .15s}.closeIcon.svelte-1w7l4fj:hover{color:hsl(var(--error))}@media (max-width: 600px){dialog.svelte-1w7l4fj{max-height:calc(100dvh - .5rem);max-width:calc(100dvw - .5rem)}dialog.svelte-1w7l4fj>div:where(.svelte-1w7l4fj){padding:.5rem}.close.svelte-1w7l4fj{top:-.8rem;right:-.4rem;cursor:pointer}}.container.svelte-bckoh9{margin:0 .25rem;padding:10px}.label.svelte-bckoh9{width:10rem}.labelPhone.svelte-bckoh9{width:12rem}.fed-btn.svelte-bckoh9{margin-left:-5px}.flex-inline.svelte-bckoh9{display:inline-flex;align-items:center;gap:.5rem}.link-err.svelte-bckoh9{margin-left:5px;color:var(--col-err)}.provider-link.svelte-bckoh9{color:var(--col-act2);cursor:pointer}.provider-name.svelte-bckoh9{margin-bottom:-4px}.providers.svelte-bckoh9{margin-top:.66rem;display:flex}.row.svelte-bckoh9{display:flex}.value.svelte-bckoh9{max-width:18rem;word-break:break-word}.container.svelte-1xh7x72{padding:0 5px;display:flex;flex-direction:column}.err.svelte-1xh7x72{width:230px;margin:-5px 10px 0 35px;padding-right:5px;color:var(--col-err)}.err.svelte-1xh7x72{margin:5px;color:var(--col-err)}.bottom.svelte-1xh7x72{height:1em}.success.svelte-1xh7x72{margin:5px;color:var(--col-ok)}.wrapper.svelte-1xh7x72{margin-top:10px;display:flex;flex-direction:row}p.svelte-q7vfo0{margin:.5rem 0}.container.svelte-q7vfo0{padding-left:10px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.button.svelte-q7vfo0{margin-left:-.33rem}.deleteBtn.svelte-q7vfo0{margin-right:-.8rem}.keysContainer.svelte-q7vfo0{max-height:20rem;padding-right:2rem;overflow-y:auto}.keyContainer.svelte-q7vfo0{margin:.33rem 0}.keysHeader.svelte-q7vfo0{margin-top:.5rem;font-weight:700}.msg.svelte-q7vfo0,.err.svelte-q7vfo0{margin:5px;text-align:center}.err.svelte-q7vfo0{color:var(--col-err)}.msg.svelte-q7vfo0{color:var(--col-ok)}.nameUv.svelte-q7vfo0{display:inline-flex;align-items:center;gap:.25rem}.regBtns.svelte-q7vfo0{display:flex;align-items:center}.regNewBtn.svelte-q7vfo0{margin:0 0 .5rem -.33rem}.row.svelte-q7vfo0{display:flex;gap:.5rem;justify-content:space-between;align-items:center}.container.svelte-dpnwj7{margin-top:5px;margin-bottom:10px}.err.svelte-dpnwj7{margin:-5px 10px 5px;text-align:left;color:var(--col-err)}p.svelte-od1aaa{margin:.5rem 0}.m-05.svelte-od1aaa{margin:.5rem}.wrapper.svelte-od1aaa{display:flex;flex-direction:row}.container.svelte-od1aaa{padding:0 5px;display:flex;flex-direction:column}.convertPasskey.svelte-od1aaa{margin:1rem 0}.err.svelte-od1aaa{width:230px;margin:-5px 10px 0 35px;padding-right:5px;color:var(--col-err)}.err.svelte-od1aaa{margin:5px;color:var(--col-err)}.bottom.svelte-od1aaa{height:1em}.success.svelte-od1aaa{margin:5px;color:var(--col-ok)}p.svelte-naxx27{margin:0 .5rem .5rem}textarea.svelte-naxx27{margin:.5rem;resize:none}.bottom.svelte-naxx27{height:1em}.container.svelte-naxx27{padding:0 5px;display:flex;flex-direction:column}.err.svelte-naxx27{width:230px;margin:-5px 10px 0 35px;padding-right:5px;color:var(--col-err)}.err.svelte-naxx27{margin:5px;color:var(--col-err)}.label.svelte-naxx27{width:12rem}.row.svelte-naxx27{margin:.5rem;display:flex;gap:.5rem}.success.svelte-naxx27{margin:5px;color:var(--col-ok)}.wrapper.svelte-naxx27{margin-top:10px;display:flex;flex-direction:row}.container.svelte-1nrg3bb{padding-left:10px;display:flex;flex-direction:column;justify-content:flex-start;align-items:flex-start}.container.svelte-47czfz{display:flex;flex-direction:column}.header.svelte-47czfz{width:100%;margin-left:10px;margin-bottom:-10px}.headerPhone.svelte-47czfz{margin-left:10px;margin-bottom:-10px}.inner.svelte-47czfz{width:30rem}.innerPhone.svelte-47czfz{width:100vw}.wrapper.svelte-47czfz{height:calc(100dvh - 20px)}
diff --git a/static/v1/_app/immutable/assets/_page.DD7tddh9.css.br b/static/v1/_app/immutable/assets/_page.DD7tddh9.css.br
new file mode 100644
index 000000000..6a51e2a22
Binary files /dev/null and b/static/v1/_app/immutable/assets/_page.DD7tddh9.css.br differ
diff --git a/static/v1/_app/immutable/assets/_page.DD7tddh9.css.gz b/static/v1/_app/immutable/assets/_page.DD7tddh9.css.gz
new file mode 100644
index 000000000..7dbac9bd0
Binary files /dev/null and b/static/v1/_app/immutable/assets/_page.DD7tddh9.css.gz differ
diff --git a/static/v1/_app/immutable/assets/_page.DvqR7Iqw.css b/static/v1/_app/immutable/assets/_page.DvqR7Iqw.css
deleted file mode 100644
index f7ecc725c..000000000
--- a/static/v1/_app/immutable/assets/_page.DvqR7Iqw.css
+++ /dev/null
@@ -1 +0,0 @@
-a.svelte-189rvns,a.svelte-189rvns:visited{color:var(--col-act2)}.container.svelte-189rvns{display:flex;flex-direction:column;justify-content:center;max-width:20.5rem}.err.svelte-189rvns{margin:0 5px;color:var(--col-err)}.success.svelte-189rvns{margin:5px;color:var(--col-acnt)}
diff --git a/static/v1/_app/immutable/assets/_page.DvqR7Iqw.css.br b/static/v1/_app/immutable/assets/_page.DvqR7Iqw.css.br
deleted file mode 100644
index 686c34000..000000000
Binary files a/static/v1/_app/immutable/assets/_page.DvqR7Iqw.css.br and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/_page.DvqR7Iqw.css.gz b/static/v1/_app/immutable/assets/_page.DvqR7Iqw.css.gz
deleted file mode 100644
index 430d211c4..000000000
Binary files a/static/v1/_app/immutable/assets/_page.DvqR7Iqw.css.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/assets/_page.GNJxucTb.css b/static/v1/_app/immutable/assets/_page.GNJxucTb.css
deleted file mode 100644
index a62e389fc..000000000
--- a/static/v1/_app/immutable/assets/_page.GNJxucTb.css
+++ /dev/null
@@ -1 +0,0 @@
-.container.svelte-19xxeot{display:flex;flex-direction:column;justify-content:center;max-width:19rem;padding:20px;border:1px solid var(--col-gmid);border-radius:5px;box-shadow:5px 5px 5px #8080801a}.declined.svelte-19xxeot{color:var(--col-err)}.err.svelte-19xxeot,.desc.svelte-19xxeot{margin:0 .33rem 1rem}.err.svelte-19xxeot{color:var(--col-err)}.inline.svelte-19xxeot{display:flex;justify-content:space-between}.name.svelte-19xxeot{margin:-10px 5px 0}
diff --git a/static/v1/_app/immutable/assets/_page.GNJxucTb.css.br b/static/v1/_app/immutable/assets/_page.GNJxucTb.css.br
deleted file mode 100644
index c2a93d405..000000000
--- a/static/v1/_app/immutable/assets/_page.GNJxucTb.css.br
+++ /dev/null
@@ -1 +0,0 @@
-� n�<���jK(]����Ok�%n�^�LH��u[���^�ã����1FC��5�oL���%��i��Lp�w�Ηz��/ڳ��R���֐�{�;�;��YR�+Q>�}�[�Q��ͻ��=3Ƽ�)
��?a%1B�بN>��U��K�<�8��1^1L�/
Ě7��ތ#��{b�o#�Ɛ�0L��9�����
\ No newline at end of file
diff --git a/static/v1/_app/immutable/assets/_page.GNJxucTb.css.gz b/static/v1/_app/immutable/assets/_page.GNJxucTb.css.gz
deleted file mode 100644
index fbfcece36..000000000
Binary files a/static/v1/_app/immutable/assets/_page.GNJxucTb.css.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js.br b/static/v1/_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js.br
deleted file mode 100644
index f55089937..000000000
Binary files a/static/v1/_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js.gz b/static/v1/_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js.gz
deleted file mode 100644
index b0779d2e4..000000000
Binary files a/static/v1/_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js b/static/v1/_app/immutable/chunks/AdminMainPre.CSGzinoD.js
similarity index 85%
rename from static/v1/_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js
rename to static/v1/_app/immutable/chunks/AdminMainPre.CSGzinoD.js
index c8f5f4513..5ddb2d729 100644
--- a/static/v1/_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js
+++ b/static/v1/_app/immutable/chunks/AdminMainPre.CSGzinoD.js
@@ -1,13 +1,13 @@
-import{a as r,n as Xe,b as A,c as me,t as B}from"./disclose-version.DZhRUPAc.js";import{a2 as K,p as le,o as Ne,a3 as c,a1 as l,n as Ct,a5 as v,a as ne,a0 as ee,j as a,g as e,_ as C,a6 as Bt,d as ys,a4 as q,h as Ke,a7 as na,a_ as Ca,b as ws,$ as Aa}from"./index-client.CGppiJvc.js";import{d as ut,e as Me,s as Y,r as oa,h as Ta}from"./render.D4MwAWTL.js";import{i as P}from"./if.DUA6Hpfn.js";import{p as n}from"./proxy.DB4Km9hY.js";import{p as G,s as bs,a as $s,c as La,r as Jt}from"./props.Df_pGDSd.js";import{y as oe,t as Et,ak as va,al as _s,J as ht,v as da,w as ks,a4 as xs,a5 as Es,a6 as Is,a7 as Na,L as Ra,am as Ot,m as Ye,an as Da,ad as ja,A as Ss,a9 as Cs,ac as As,ai as Ts,ao as qt,ap as Pa,aq as Ls,ar as Ns,$ as Xt,l as tt,as as Rs,at as Ds,au as za,av as ft,aw as js,r as Oa,ax as Ma,ay as Ua,x as Nt,az as Gt,aA as ca,aB as Ps,aC as zs,aD as Os,aE as qa,aF as Ga,aG as ua,ah as Ms,k as Us,aH as qs}from"./dataFetching.Dto1xJW6.js";import{s as ue,t as ce,f as pt,e as nt,b as _e,L as ha,g as pa,d as Gs,c as Rt}from"./Loading.FF_EHyHU.js";import{B as Se}from"./Button.BH2_dPry.js";import{b as dt,a as Ze,S as Be,D as Ws,E as ot,T as Dt,I as Zt,d as Ks,h as Wa,e as Fs,c as Vs}from"./Devices.BuQD3GeY.js";import{r as Te}from"./legacy-client.CgqodnwN.js";import{s as At}from"./snippet.xhmr1ywJ.js";import{w as Tt}from"./index.BU3V9-NS.js";import{a as Qt,C as ea}from"./CheckIcon.Cjxxxfsf.js";import{t as Bs,c as Js}from"./tweened.CQQvc4Vq.js";import{A as Ys}from"./AppVersion.DL5DXmu_.js";import{e as We,i as yt,b as Ka,O as kt}from"./OptionSelect.BCgZksOM.js";import{s as Hs,g as Mt}from"./helpers.DVmWh-6p.js";import{c as He,a as he,b as wt,I as ie}from"./Input.Bj_i2TLU.js";import{P as Wt,I as Fa,a as Va,b as Xs}from"./PasswordInput.6uXzPAl-.js";import{P as Zs}from"./PasswordPolicy.D9rZurKD.js";import{b as Qs}from"./this.B23tdsYu.js";import"./legacy.BuHyzquP.js";const er=Tt(),tr=Tt(),Yt=Tt(""),ta=Tt(!0);var ar=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"></path></svg>');function sr(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=ar();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var rr=A('<div role="button" tabindex="0" class="close svelte-1qa3cal"><!></div> <div class="logo svelte-1qa3cal"><!></div>',1),ir=A('<div role="button" tabindex="0" class="burger svelte-1qa3cal"><!></div> <div></div> <div class="logo svelte-1qa3cal"><!></div>',1),lr=A('<div class="version svelte-1qa3cal"><!></div>'),nr=A('<nav class="nav svelte-1qa3cal"><div><!> <div class="menu svelte-1qa3cal"><div class="links svelte-1qa3cal"><!></div></div></div> <!></nav>');function or(_,s){le(s,!0);const t=bs(),d=()=>$s(I,"$width",t);let i=G(s,"selected",15,""),g=G(s,"widthExpanded",3,185),f=G(s,"widthCollapsed",3,60),u=G(s,"isExpanded",15,!0);const I=Bs(u()?g():f(),{duration:200,easing:Js});ta.subscribe(p=>u(p)),Yt.subscribe(p=>{p&&i(p)}),Te(()=>{u()?(ta.set(!0),I.set(g())):(ta.set(!1),setTimeout(()=>{I.set(f())},200))}),Te(()=>{i()&&Yt.set(i())}),Ne(()=>{er.set(g()),tr.set(f()),Yt.set(i())});function E(){u(!u())}var o=nr(),$=c(o),m=c($);{var T=p=>{var S=rr(),L=ee(S);L.__click=E;var D=c(L);Qt(D,{}),v(L);var j=l(L,2),N=c(j);At(N,()=>s.logo??Ct),v(j),K(()=>oe(L,"left",`calc(${d()??""}px - 22px)`)),Me("keypress",L,E),ce(1,L,()=>pt,()=>({delay:500,duration:200})),ce(2,L,()=>pt,()=>({duration:100})),ce(1,j,()=>pt,()=>({delay:250,duration:100})),ce(2,j,()=>pt,()=>({duration:20})),r(p,S)},k=p=>{var S=ir(),L=ee(S);L.__click=E,oe(L,"left","3px");var D=c(L);sr(D,{width:24}),v(L);var j=l(L,2);oe(j,"height","10px");var N=l(j,2),V=c(N);At(V,()=>s.logo??Ct),v(N),Me("keypress",L,E),ce(1,L,()=>pt,()=>({delay:500,duration:200})),ce(2,L,()=>pt,()=>({duration:100})),ce(1,N,()=>pt,()=>({delay:250,duration:100})),ce(2,N,()=>pt,()=>({duration:20})),r(p,S)};P(m,p=>{u()?p(T):p(k,!1)})}var h=l(m,2),y=c(h),w=c(y);At(w,()=>s.entries??Ct),v(y),v(h),v($);var b=l($,2);{var x=p=>{var S=lr(),L=c(S);Ys(L,{}),v(S),ce(1,S,()=>pt,()=>({delay:500,duration:200})),ce(2,S,()=>pt,()=>({duration:100})),r(p,S)};P(b,p=>{u()&&p(x)})}v(o),K(()=>{oe(o,"min-width",`${d()??""}px`),oe(o,"width",`${d()??""}px`),oe(o,"padding",u()?"20px 10px":"10px 3px")}),r(_,o),ne()}ut(["click"]);var vr=A('<div role="menuitem" tabindex="0" class="entry noselect font-label svelte-ueauq5"><!> <span class="label svelte-ueauq5"> </span></div>'),dr=A('<div role="menuitem" tabindex="0" class="entryCollapsed noselect font-label svelte-ueauq5"><!> <span class="labelCollapsed svelte-ueauq5"> </span></div>');function mt(_,s){le(s,!0);let t=G(s,"label",3,""),d=G(s,"slotCollapsed",3,!0),i=C(!0),g=C("var(--col-text)"),f=C("");Yt.subscribe(k=>a(f,n(k))),ta.subscribe(k=>a(i,n(k)));let u=C(!1);function I(){e(u)?a(g,"var(--col-err)"):e(f)===t()?a(g,"var(--col-ok)"):a(g,"var(--col-text)")}function E(){Yt.set(t())}Te(()=>{e(f)&&I()}),Te(()=>{e(u)?a(g,"var(--col-err)"):I()});var o=me(),$=ee(o);{var m=k=>{var h=vr();h.__click=E;var y=c(h);At(y,()=>s.children??Ct);var w=l(y,2),b=c(w,!0);v(w),v(h),K(()=>{Et(h,"selected",e(f)===t()),Y(b,t())}),Me("keypress",h,E),Me("mouseenter",h,()=>a(u,!0)),Me("mouseleave",h,()=>a(u,!1)),ce(7,h,()=>pt,()=>({duration:100})),r(k,h)},T=k=>{var h=dr();h.__click=E;var y=c(h);{var w=p=>{var S=me(),L=ee(S);At(L,()=>s.children??Ct),r(p,S)};P(y,p=>{d()&&p(w)})}var b=l(y,2),x=c(b,!0);v(b),v(h),K(()=>{Et(h,"selectedCollapsed",e(f)===t()),Y(x,t())}),Me("keypress",h,E),Me("mouseenter",h,()=>a(u,!0)),Me("mouseleave",h,()=>a(u,!1)),ce(5,h,()=>pt,()=>({delay:200,duration:100})),r(k,h)};P($,k=>{e(i)?k(m):k(T,!1)})}r(_,o),ne()}ut(["click"]);const it={"Content-Type":"application/json",Accept:"application/json"};function De(){return{"csrf-token":va(),"Content-Type":"application/json",Accept:"application/json"}}async function ke(_){return _.status===403&&(await _.json()).error==="MfaRequired"&&(console.error("MFA is required for a rauthy admin account"),await Hs(3e3),window.location.reload()),(_.status===401||_.status===403)&&window.location.reload(),_}async function cr(){return await fetch("/auth/v1/oidc/certs",{method:"GET",headers:it})}async function ur(){const _=await fetch("/auth/v1/clients",{method:"GET",headers:it});return await ke(_)}async function hr(_){const s=await fetch("/auth/v1/clients",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function pr(_){const s=await fetch(`/auth/v1/clients/${_.id}`,{method:"PUT",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function mr(_){const s=await fetch(`/auth/v1/clients/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function gr(_){const s=await fetch(`/auth/v1/clients/${_}/colors`,{method:"GET",headers:it});return await ke(s)}async function fr(_,s){const t=await fetch(`/auth/v1/clients/${_}/colors`,{method:"PUT",headers:De(),body:JSON.stringify(s)});return await ke(t)}async function yr(_){const s=await fetch(`/auth/v1/clients/${_}/colors`,{method:"DELETE",headers:De()});return await ke(s)}async function wr(_,s){const t=new FormData;t.append("logo",s);const d=await fetch(`/auth/v1/clients/${_}/logo`,{method:"PUT",headers:{"csrf-token":va()},body:t});return await ke(d)}async function br(_){const s=await fetch(`/auth/v1/clients/${_}/logo`,{method:"DELETE",headers:De()});return await ke(s)}async function $r(_){const s=await fetch(`/auth/v1/clients/${_}/secret`,{method:"POST",headers:De()});return await ke(s)}async function _r(_){const s=await fetch(`/auth/v1/clients/${_}/secret`,{method:"PUT",headers:De()});return await ke(s)}async function kr(){const _=await fetch("/auth/v1/encryption/keys",{method:"GET",headers:it});return await ke(_)}async function xr(_){const s=await fetch("/auth/v1/encryption/migrate",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Er(_){const s=await fetch("/auth/v1/events",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Ba(){const _=await fetch("/auth/v1/groups",{method:"GET",headers:it});return await ke(_)}async function Ir(_){const s=await fetch("/auth/v1/groups",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Sr(_,s){const t=await fetch(`/auth/v1/groups/${_}`,{method:"PUT",headers:De(),body:JSON.stringify(s)});return await ke(t)}async function Cr(_){const s=await fetch(`/auth/v1/groups/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function Ar(){const _=await fetch("/auth/v1/login_time",{method:"GET",headers:it});return await ke(_)}async function Tr(_){const s=await fetch("/auth/v1/password_hash_times",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Lr(_){const s=await fetch("/auth/v1/password_policy",{method:"PUT",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Nr(_){const s=await fetch("/auth/v1/users/request_reset",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Rr(){return await fetch("/auth/v1/providers",{method:"POST",headers:De()})}async function Dr(_){return await fetch("/auth/v1/providers/create",{method:"POST",headers:De(),body:JSON.stringify(_)})}async function jr(_,s){return await fetch(`/auth/v1/providers/${_}`,{method:"PUT",headers:De(),body:JSON.stringify(s)})}async function Pr(_){return await fetch(`/auth/v1/providers/${_}`,{method:"DELETE",headers:De()})}async function zr(_){return await fetch(`/auth/v1/providers/${_}/delete_safe`,{method:"GET",headers:De()})}async function Or(_,s){const t=new FormData;t.append("logo",s);const d=await fetch(`/auth/v1/providers/${_}/img`,{method:"PUT",headers:{"csrf-token":va()},body:t});return await ke(d)}async function Mr(_){return await fetch("/auth/v1/providers/lookup",{method:"POST",headers:De(),body:JSON.stringify(_)})}async function Ur(){const _=await fetch("/auth/v1/oidc/rotate_jwk",{method:"POST",headers:De()});return await ke(_)}async function qr(){const _=await fetch("/auth/v1/sessions",{method:"GET",headers:it});return await ke(_)}async function Ja(_,s,t,d){let i=`/auth/v1/sessions?page_size=${_}`;s&&(i=`${i}&offset=${s}`),d&&(i=`${i}&backwards=${d}`),t&&(i=`${i}&continuation_token=${t}`);const g=await fetch(i,{method:"GET",headers:it});return await ke(g)}async function Gr(){const _=await fetch("/auth/v1/sessions",{method:"DELETE",headers:De()});return await ke(_)}async function Wr(_){const s=await fetch(`/auth/v1/sessions/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function Kr(){const _=await fetch("/auth/v1/users",{method:"GET",headers:it});return await ke(_)}async function Ya(_,s,t,d){let i=`/auth/v1/users?page_size=${_}`;s&&(i=`${i}&offset=${s}`),d&&(i=`${i}&backwards=${d}`),t&&(i=`${i}&continuation_token=${t}`);const g=await fetch(i,{method:"GET",headers:it});return await ke(g)}async function Fr(_){const s=await fetch("/auth/v1/users",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Ha(_,s){const t=await fetch(`/auth/v1/users/${_}`,{method:"PUT",headers:De(),body:JSON.stringify(s)});return await ke(t)}async function Vr(_){const s=await fetch(`/auth/v1/users/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function ma(){const _=await fetch("/auth/v1/users/attr",{method:"GET",headers:it});return await ke(_)}async function Br(_){const s=await fetch("/auth/v1/users/attr",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Jr(_,s){const t=await fetch(`/auth/v1/users/attr/${_}`,{method:"PUT",headers:De(),body:JSON.stringify(s)});return await ke(t)}async function Yr(_){const s=await fetch(`/auth/v1/users/attr/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function Hr(_){const s=await fetch(`/auth/v1/users/${_}/attr`,{method:"GET",headers:it});return await ke(s)}async function Xr(_,s){const t=await fetch(`/auth/v1/users/${_}/attr`,{method:"PUT",headers:De(),body:JSON.stringify(s)});return await ke(t)}async function Zr(){const _=await fetch("/auth/v1/api_keys",{method:"GET",headers:it});return await ke(_)}async function Qr(_){const s=await fetch("/auth/v1/api_keys",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function ei(_){const s=await fetch(`/auth/v1/api_keys/${_.name}`,{method:"PUT",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function ti(_){const s=await fetch(`/auth/v1/api_keys/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function ai(_){const s=await fetch(`/auth/v1/api_keys/${_}/secret`,{method:"PUT",headers:De()});return await ke(s)}async function si(){const _=await fetch("/auth/v1/blacklist",{method:"GET",headers:it});return await ke(_)}async function ri(_){const s=await fetch("/auth/v1/blacklist",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function ii(_){const s=await fetch(`/auth/v1/blacklist/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function Xa(){const _=await fetch("/auth/v1/roles",{method:"GET",headers:it});return await ke(_)}async function li(_){const s=await fetch("/auth/v1/roles",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function ni(_,s){const t=await fetch(`/auth/v1/roles/${_}`,{method:"PUT",headers:De(),body:JSON.stringify(s)});return await ke(t)}async function oi(_){const s=await fetch(`/auth/v1/roles/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function Za(){const _=await fetch("/auth/v1/scopes",{method:"GET",headers:it});return await ke(_)}async function vi(_){const s=await fetch("/auth/v1/scopes",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function di(_,s){const t=await fetch(`/auth/v1/scopes/${_}`,{method:"PUT",headers:De(),body:JSON.stringify(s)});return await ke(t)}async function ci(_){const s=await fetch(`/auth/v1/scopes/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function ui(_,s,t){const d=await fetch(`/auth/v1/search?ty=${_}&idx=${s}&q=${t}`,{method:"GET",headers:it});return await ke(d)}const hi=Tt([]),ga=Tt([]),pi=Tt([]),fa=Tt([]),mi=Tt([]),Qa=Tt([]);var gi=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15"></path></svg>');function fi(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=gi();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var yi=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"></path></svg>');function wi(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=yi();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var bi=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 9.75L14.25 12m0 0l2.25 2.25M14.25 12l2.25-2.25M14.25 12L12 14.25m-2.58 4.92l-6.375-6.375a1.125 1.125 0 010-1.59L9.42 4.83c.211-.211.498-.33.796-.33H19.5a2.25 2.25 0 012.25 2.25v10.5a2.25 2.25 0 01-2.25 2.25h-9.284c-.298 0-.585-.119-.796-.33z"></path></svg>');function $i(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=bi();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var _i=A("<option> </option>"),ki=A('<select class="opts font-label svelte-1yhbvsw"></select>'),xi=A('<div class="container svelte-1yhbvsw"><!> <div class="inputBar svelte-1yhbvsw"><input class="input svelte-1yhbvsw" type="text" placeholder="Search" autocomplete="off"> <div class="magnify svelte-1yhbvsw"><!></div></div> <div class="backWrap svelte-1yhbvsw"><div role="button" tabindex="0" class="back svelte-1yhbvsw"><!></div></div></div>');function es(_,s){le(s,!0);let t=G(s,"items",27,()=>n([])),d=G(s,"resItems",15),i=G(s,"options",19,()=>[]),g=G(s,"useServerSideIdx",11,""),f=G(s,"isSearchFiltered",15,!1),u=G(s,"search",15,""),I=C(""),E;Ne(()=>{i().length>0&&(a(I,n(i()[0].label)),o())});function o(){for(let j of i())if(j.label===e(I)){E=j.callback;break}E||console.error("Could not find a valid callback function in search options for label "+e(I))}function $(){u("")}function m(){if(u().length<2){d(t()),f(!1);return}d([...t().filter(j=>i().length>0?E(j,u()):j.toLowerCase().includes(u())||j===u())]),f(!0)}async function T(){if(u().length<_s){d(t()),f(!1);return}f(!0);const j=e(I).replaceAll("-","").replaceAll(" ","").toLowerCase();let N=await ui(g(),j,u());N.ok?d(await N.json()):console.error(N)}Te(()=>{e(I)&&o()}),Te(()=>{u()?g()?T():m():(d(t()),f(!1))});var k=xi(),h=c(k);{var y=j=>{Ze(j,{text:"Search by",yOffset:-30,children:(N,V)=>{var R=ki();We(R,21,i,yt,(F,z)=>{var O=_i(),U={},Q=c(O,!0);v(O),K(()=>{U!==(U=e(z).label)&&(O.value=(O.__value=e(z).label)==null?"":e(z).label),Y(Q,e(z).label)}),r(F,O)}),v(R),Ka(R,()=>e(I),F=>a(I,F)),r(N,R)},$$slots:{default:!0}})};P(h,j=>{i().length>1&&j(y)})}var w=l(h,2),b=c(w);nt(b),K(()=>ue(b,"name",Mt()));var x=l(b,2),p=c(x);wi(p,{width:20}),v(x),v(w);var S=l(w,2),L=c(S);L.__click=$;var D=c(L);$i(D,{}),v(L),v(S),v(k),dt(b,u),Me("keypress",L,$),r(_,k),ne()}ut(["click"]);var Ei=(_,s)=>a(s,!e(s)),Ii=A('<div class="search svelte-spg3op"><!></div>'),Si=(_,s,t)=>s(e(t)),Ci=A('<div role="button" tabindex="0" class="item svelte-spg3op"> </div>'),Ai=A('<div class="itemsContainer svelte-spg3op"><!> <div class="items noselect font-label svelte-spg3op"></div></div>'),Ti=A('<div class="wrapper svelte-spg3op"><div role="button" tabindex="0" class="icon svelte-spg3op"><!></div> <!></div>');function Li(_,s){le(s,!0);let t=G(s,"items",31,()=>n([])),d=G(s,"onSelect",3,h=>{}),i=G(s,"mindWidth",3,130),g=G(s,"maxHeight",19,()=>t().length>4?175:120),f=G(s,"searchThreshold",11,5),u=C(n([])),I=C(!1);Te(()=>{t().length<=f()&&a(u,n(t()))});function E(h){a(I,!1),a(u,n(t())),d()(h)}var o=Ti(),$=c(o);$.__click=[Ei,I];var m=c($);fi(m,{}),v($);var T=l($,2);{var k=h=>{var y=Ai(),w=c(y);{var b=p=>{var S=Ii(),L=c(S);es(L,{get items(){return t()},set items(D){t(D)},get resItems(){return e(u)},set resItems(D){a(u,n(D))}}),v(S),K(()=>oe(S,"max-width",`${i()}px`)),r(p,S)};P(w,p=>{t().length>f()&&p(b)})}var x=l(w,2);We(x,21,()=>e(u),yt,(p,S)=>{var L=Ci();L.__click=[Si,E,S];var D=c(L,!0);v(L),K(()=>Y(D,e(S))),Me("keypress",L,()=>E(e(S))),r(p,L)}),v(x),v(y),K(()=>{ue(y,"style",`min-width: ${i()??""}px; max-height: ${g()??""}px`),ue(x,"style",`width: ${i()??""}; max-height: ${(t().length>f()?g()-29:g())??""}px`)}),ce(7,y,()=>_e,()=>({duration:200})),r(h,y)};P(T,h=>{e(I)&&h(k)})}v(o),Me("keypress",$,()=>a(I,!e(I))),r(_,o),ne()}ut(["click"]);var Ni=(_,s,t)=>s()(t.label),Ri=A('<div class="label font-label svelte-jphwq"> <div role="button" tabindex="0" class="icon svelte-jphwq"><!></div></div>');function Di(_,s){le(s,!0);let t=G(s,"onDelete",3,()=>{});var d=Ri(),i=c(d),g=l(i);g.__click=[Ni,t,s];var f=c(g);Qt(f,{color:"--var(--col-bg)",width:14}),v(g),v(d),K(()=>Y(i,`${s.label??""} `)),Me("keypress",g,()=>t()(s.label)),r(_,d),ne()}ut(["click"]);var ji=A('<div class="container svelte-1iraqg1"><!> <!></div>');function zt(_,s){le(s,!0);let t=G(s,"items",15),d=G(s,"options",19,()=>[]),i=G(s,"searchThreshold",15,4),g=C(n([]));Ne(()=>{I()});async function f(k){t()||t([]),t().push(k),t([...t()]),await I()}async function u(k){t([...t().filter(h=>h!==k)]),await I()}async function I(){await Bt(),t()||t([]),a(g,n([...d().filter(k=>!t().includes(k))]))}var E=ji(),o=c(E);{var $=k=>{var h=me(),y=ee(h);We(y,17,t,yt,(w,b,x)=>{Di(w,{onDelete:u,get label(){return t()[x]},set label(p){t(t()[x]=p,!0)}})}),r(k,h)};P(o,k=>{var h;((h=t())==null?void 0:h.length)>0&&k($)})}var m=l(o,2);{var T=k=>{Li(k,{onSelect:f,get items(){return e(g)},set items(h){a(g,n(h))},get searchThreshold(){return i()},set searchThreshold(h){i(h)}})};P(m,k=>{e(g)&&e(g).length>0&&k(T)})}v(E),r(_,E),ne()}var Pi=A('<div class="success svelte-tl4x7h">Success</div>'),zi=A('<div class="err svelte-tl4x7h"> </div>'),Oi=A('<div class="container svelte-tl4x7h"><div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">USER ID</div> <div class="value font-mono svelte-tl4x7h"> </div></div> <div class="row svelte-tl4x7h"><div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">ENABLED</div> <div class="value svelte-tl4x7h"><!></div></div> <div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">E-MAIL VERIFIED</div> <div class="value svelte-tl4x7h"><!></div></div></div> <!> <!> <!> <div class="unit language svelte-tl4x7h"><div class="label svelte-tl4x7h">LANGUAGE</div> <div style="margin-top: .085rem"><!></div></div> <!> <!> <!> <!> <!> <!> <div class="unit svelte-tl4x7h"><div class="label svelte-tl4x7h">ROLES</div> <!></div> <div class="unit svelte-tl4x7h"><div class="label svelte-tl4x7h">GROUPS</div> <!></div> <div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">LIMIT LIFETIME</div> <div class="value svelte-tl4x7h"><!></div></div> <!> <div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">CREATED</div> <div class="value svelte-tl4x7h"> </div></div> <div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">LAST LOGIN</div> <div class="value svelte-tl4x7h"><!></div></div> <div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">PASSWORD EXPIRES</div> <div class="value svelte-tl4x7h"><!></div></div> <div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">MFA ACTIVE</div> <div class="value svelte-tl4x7h"><!></div></div> <div class="unit svelte-tl4x7h"><!> <!> <!></div></div>');function Mi(_,s){le(s,!0);let t=G(s,"user",31,()=>n({}));t().roles===void 0&&t(t().roles=[],!0),t().groups===void 0&&t(t().groups=[],!0);let d=C(""),i=C(!1),g=C(void 0),f=C(n(t().language.toUpperCase())),u=C(!!t().user_expires),I=C(n(ys(()=>e(u))?ht(t().user_expires,!0):void 0)),E=C(n([]));ga.subscribe(X=>{a(E,n(X))});let o=C(n([]));fa.subscribe(X=>{a(o,n(X))}),Te(()=>{e(i)&&a(g,n(setTimeout(()=>{a(i,!1),s.onSave()},3e3)))});let $=C(n({}));const m=He().shape({email:he().required("E-Mail is required").email("Bad E-Mail format"),given_name:he().trim().required("Given Name is required").matches(da,"Invalid characters"),family_name:he().nullable().trim().matches(ks,"Invalid characters")});let T=C(n({}));const k=He().shape({birthdate:he().nullable().trim().matches(xs,"Invalid characters"),phone:he().nullable().trim().matches(Es,"Format: +..."),street:he().nullable().trim().matches(Is,"Invalid characters"),zip:wt().nullable().min(1e3).max(999999),city:he().nullable().trim().matches(Na,"Invalid characters"),country:he().nullable().trim().matches(Na,"Invalid characters")});Ne(()=>()=>clearTimeout(e(g)));function h(X){X.code==="Enter"&&y()}async function y(){if(!await w())return;a(d,""),console.log(t().user_values);const X={email:t().email,given_name:t().given_name,family_name:t().family_name||null,language:e(f).toLowerCase(),roles:t().roles,groups:t().groups,enabled:t().enabled,email_verified:t().email_verified,user_expires:null,user_values:t().user_values};if(X.user_values.phone&&(X.user_values.phone=X.user_values.phone.replaceAll(" ","")),X.user_values.zip&&(X.user_values.zip=Number.parseInt(X.user_values.zip)),e(u)){let Le=Ot(e(I));if(!Le){a(d,"Invalid Date Input: User Expires");return}X.user_expires=Le}let Ee=await Ha(t().id,X);if(Ee.ok)a(i,!0);else{let Le=await Ee.json();a(d,n(Le.message))}}async function w(){let X=!0;try{await m.validate(t(),{abortEarly:!1}),a($,n({}))}catch(Ee){a($,n(Ye(Ee))),X=!1}try{await k.validate(t().user_values,{abortEarly:!1}),a(T,n({}))}catch(Ee){a(T,n(Ye(Ee))),X=!1}return X}var b=Oi(),x=c(b),p=l(c(x),2),S=c(p,!0);v(p),v(x);var L=l(x,2);oe(L,"margin-top","-5px");var D=c(L);oe(D,"width","107px");var j=l(c(D),2),N=c(j);Be(N,{get selected(){return t().enabled},set selected(X){t(t().enabled=X,!0)}}),v(j),v(D);var V=l(D,2);oe(V,"width","135px");var R=l(c(V),2),F=c(R);Be(F,{get selected(){return t().email_verified},set selected(X){t(t().email_verified=X,!0)}}),v(R),v(V),v(L);var z=l(L,2);ie(z,{type:"email",autocomplete:"off",placeholder:"E-Mail",get value(){return t().email},set value(X){t(t().email=X,!0)},get error(){return e($).email},set error(X){e($).email=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("E-MAIL");r(X,Le)},$$slots:{default:!0}});var O=l(z,2);ie(O,{autocomplete:"off",placeholder:"Given Name",get value(){return t().given_name},set value(X){t(t().given_name=X,!0)},get error(){return e($).given_name},set error(X){e($).given_name=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("GIVEN NAME");r(X,Le)},$$slots:{default:!0}});var U=l(O,2);ie(U,{autocomplete:"off",placeholder:"Family Name",get value(){return t().family_name},set value(X){t(t().family_name=X,!0)},get error(){return e($).family_name},set error(X){e($).family_name=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("FAMILY NAME");r(X,Le)},$$slots:{default:!0}});var Q=l(U,2),M=l(c(Q),2),W=c(M);kt(W,{options:Ra,get value(){return e(f)},set value(X){a(f,n(X))}}),v(M),v(Q);var J=l(Q,2);ie(J,{autocomplete:"off",placeholder:"Street",get value(){return t().user_values.street},set value(X){t(t().user_values.street=X,!0)},get error(){return e(T).street},set error(X){e(T).street=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("STREET");r(X,Le)},$$slots:{default:!0}});var Z=l(J,2);ie(Z,{type:"number",autocomplete:"off",placeholder:"ZIP",min:1e3,max:999999,get value(){return t().user_values.zip},set value(X){t(t().user_values.zip=X,!0)},get error(){return e(T).zip},set error(X){e(T).zip=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("ZIP");r(X,Le)},$$slots:{default:!0}});var re=l(Z,2);ie(re,{autocomplete:"off",placeholder:"City",get value(){return t().user_values.city},set value(X){t(t().user_values.city=X,!0)},get error(){return e(T).city},set error(X){e(T).city=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("CITY");r(X,Le)},$$slots:{default:!0}});var ve=l(re,2);ie(ve,{autocomplete:"off",placeholder:"Country",get value(){return t().user_values.country},set value(X){t(t().user_values.country=X,!0)},get error(){return e(T).country},set error(X){e(T).country=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("COUNTRY");r(X,Le)},$$slots:{default:!0}});var be=l(ve,2);ie(be,{autocomplete:"off",placeholder:"Phone",get value(){return t().user_values.phone},set value(X){t(t().user_values.phone=X,!0)},get error(){return e(T).phone},set error(X){e(T).phone=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("PHONE");r(X,Le)},$$slots:{default:!0}});var $e=l(be,2);ie($e,{type:"date",autocomplete:"off",placeholder:"Birthdate",get value(){return t().user_values.birthdate},set value(X){t(t().user_values.birthdate=X,!0)},get error(){return e(T).birthdate},set error(X){e(T).birthdate=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("BIRTHDATE");r(X,Le)},$$slots:{default:!0}});var pe=l($e,2);oe(pe,"margin-top","-3px");var je=l(c(pe),2);zt(je,{get options(){return e(E)},searchThreshold:4,get items(){return t().roles},set items(X){t(t().roles=X,!0)}}),v(pe);var fe=l(pe,2),de=l(c(fe),2);zt(de,{get options(){return e(o)},searchThreshold:4,get items(){return t().groups},set items(X){t(t().groups=X,!0)}}),v(fe);var ye=l(fe,2);oe(ye,"margin-top","12px");var we=l(c(ye),2),Pe=c(we);Be(Pe,{get selected(){return e(u)},set selected(X){a(u,n(X))}}),v(we),v(ye);var Ce=l(ye,2);{var xe=X=>{var Ee=Ke(()=>Da(new Date));ie(X,{type:"datetime-local",step:"60",width:"16rem",get min(){return e(Ee)},max:"2099-01-01T00:00",get value(){return e(I)},set value(Le){a(I,n(Le))},$$events:{input:w},children:(Le,St)=>{q();var ae=B("USER EXPIRES");r(Le,ae)},$$slots:{default:!0}})};P(Ce,X=>{e(u)&&X(xe)})}var Re=l(Ce,2);oe(Re,"margin-top","12px");var H=l(c(Re),2),Ie=c(H,!0);K(()=>Y(Ie,ht(t().created_at))),v(H),v(Re);var ge=l(Re,2),Ue=l(c(ge),2),Je=c(Ue);{var rt=X=>{var Ee=B();K(()=>Y(Ee,ht(t().last_login))),r(X,Ee)},vt=X=>{var Ee=B("Never");r(X,Ee)};P(Je,X=>{t().last_login?X(rt):X(vt,!1)})}v(Ue),v(ge);var qe=l(ge,2),Fe=l(c(qe),2),lt=c(Fe);{var xt=X=>{var Ee=B();K(()=>Y(Ee,ht(t().password_expires))),r(X,Ee)},$t=X=>{var Ee=B("Never");r(X,Ee)};P(lt,X=>{t().password_expires?X(xt):X($t,!1)})}v(Fe),v(qe);var Qe=l(qe,2),et=l(c(Qe),2),gt=c(et),ct=Ke(()=>!!t().webauthn_user_id);ea(gt,{get check(){return e(ct)}}),v(et),v(Qe);var It=l(Qe,2),at=c(It);Se(at,{level:1,width:"4rem",$$events:{click:y},children:(X,Ee)=>{q();var Le=B("SAVE");r(X,Le)},$$slots:{default:!0}});var st=l(at,2);{var se=X=>{var Ee=Pi();r(X,Ee)};P(st,X=>{e(i)&&X(se)})}var Ae=l(st,2);{var ze=X=>{var Ee=zi(),Le=c(Ee,!0);v(Ee),K(()=>Y(Le,e(d))),r(X,Ee)};P(Ae,X=>{e(d)&&X(ze)})}v(It),v(b),K(()=>Y(S,t().id)),r(_,b),ne()}var Ui=A('<div class="desc svelte-8ppjyk"><p><b>The user has not initialized this account yet.</b></p> <p>You may send out a new Reset E-Mail, if the user has not received one.</p></div> <!>',1),qi=A(`<div class="desc svelte-8ppjyk"><p><b>This is a passkey only account type.</b></p> <p>This means, that this user is using the passwordless login flow only and does not have any password.</p> <p>If the user has lost all his keys and you have verified everything, you may reset his account type and
-                send out a new reset E-Mail, so the user can get access again.</p> <p>To reset the account, navigate to 'MFA' and delete all registered keys for this user.</p></div>`),Gi=A(`<!> <!> <!> <!> <div class="desc svelte-8ppjyk">You can either set and reset a user's password<br> or send out a new reset E-Mail for self-service.</div> <!> <!>`,1),Wi=A('<div class="success svelte-8ppjyk">Success</div>'),Ki=A('<div class="err svelte-8ppjyk"> </div>'),Fi=A('<div class="err svelte-8ppjyk"> </div>'),Vi=A('<div class="container svelte-8ppjyk"><!> <!> <!> <!></div>');function Bi(_,s){le(s,!0);let t=G(s,"user",27,()=>n({}));const d="inherit";let i=C(!1),g=C(""),f=C(""),u=C(!1),I=C(!1),E=C(void 0),o="330px",$=C(void 0),m=C(!1),T=n({new:"",verify:""});Te(()=>{e(I)&&a(E,n(setTimeout(()=>{a(I,!1),s.onSave()},3e3)))}),Ne(async()=>{if(!e($)){let z=await ja(),O=await z.json();z.ok?a($,n(O)):a(f,n(O.message))}});async function k(){return a(f,""),await h()?e(m)?!0:(a(f,"You must follow the password policy"),!1):!1}async function h(){return a(f,""),T.new.length>256?(a(f,"max 256 characters"),!1):T.new!==T.verify?(a(f,"New passwords do not match"),!1):!0}async function y(){let z={email:t().email};a(g,""),a(i,!0);let O=await Nr(z);if(O.ok)a(u,!0);else{let U=await O.json();a(g,n(U.message))}a(i,!1)}async function w(){let z={email:t().email,given_name:t().given_name,family_name:t().family_name,roles:t().roles,groups:t().groups,enabled:t().enabled,email_verified:t().email_verified};if(T.new.length>0){if(!(await h()&&await k()))return;z.password=T.new}a(f,""),a(i,!0);let O=await Ha(t().id,z);if(O.ok)a(I,!0);else{let U=await O.json();a(f,n(U.message))}a(i,!1)}function b(){const z=e($).length_min>24?e($).length_min:24;let O=Ss(z,e($).include_lower_case,e($).include_upper_case,e($).include_digits,e($).include_special);T.new=O,T.verify=O}var x=Vi(),p=c(x);{var S=z=>{var O=Ui(),U=l(ee(O),2);Se(U,{width:d,level:2,get isLoading(){return e(i)},set isLoading(Q){a(i,n(Q))},$$events:{click:y},children:(Q,M)=>{q();var W=B("SEND RESET E-MAIL");r(Q,W)},$$slots:{default:!0}}),r(z,O)},L=z=>{var O=me(),U=ee(O);{var Q=W=>{var J=qi();r(W,J)},M=W=>{var J=Gi(),Z=ee(J);{var re=de=>{Zs(de,{get password(){return T.new},get policy(){return e($)},get accepted(){return e(m)},set accepted(ye){a(m,n(ye))}})};P(Z,de=>{e($)&&de(re)})}var ve=l(Z,2),be=Ke(()=>T.new.length>0&&T.new===T.verify);Wt(ve,{type:"password",get width(){return o},autocomplete:"off",get showCopy(){return e(be)},get value(){return T.new},set value(de){T.new=de},$$events:{blur:h},children:(de,ye)=>{q();var we=B("New Password");r(de,we)},$$slots:{default:!0}});var $e=l(ve,2);Wt($e,{type:"password",get width(){return o},autocomplete:"off",get value(){return T.verify},set value(de){T.verify=de},$$events:{blur:h},children:(de,ye)=>{q();var we=B("New Password");r(de,we)},$$slots:{default:!0}});var pe=l($e,2);Se(pe,{width:d,level:3,$$events:{click:b},children:(de,ye)=>{q();var we=B("GENERATE RANDOM");r(de,we)},$$slots:{default:!0}});var je=l(pe,4);Se(je,{width:d,level:1,get isLoading(){return e(i)},set isLoading(de){a(i,n(de))},$$events:{click:y},children:(de,ye)=>{q();var we=B("SEND RESET E-MAIL");r(de,we)},$$slots:{default:!0}});var fe=l(je,2);Se(fe,{width:d,get isLoading(){return e(i)},set isLoading(de){a(i,n(de))},$$events:{click:w},children:(de,ye)=>{q();var we=B("SAVE PASSWORD");r(de,we)},$$slots:{default:!0}}),r(W,J)};P(U,W=>{t().account_type==="passkey"?W(Q):W(M,!1)},!0)}r(z,O)};P(p,z=>{t().account_type==="new"?z(S):z(L,!1)})}var D=l(p,2);{var j=z=>{var O=Wi();r(z,O)};P(D,z=>{(e(I)||e(u))&&z(j)})}var N=l(D,2);{var V=z=>{var O=Ki(),U=c(O,!0);v(O),K(()=>Y(U,e(f))),r(z,O)};P(N,z=>{e(f)&&z(V)})}var R=l(N,2);{var F=z=>{var O=Fi(),U=c(O,!0);v(O),K(()=>Y(U,e(g))),r(z,O)};P(R,z=>{e(g)&&z(F)})}v(x),r(_,x),ne()}var Ji=A('<div class="err svelte-1jljqe9"> </div>'),Yi=A('<div class="container svelte-1jljqe9"><div class="label svelte-1jljqe9">Are you sure, you want to delete this user?</div> <!> <!></div>');function Hi(_,s){le(s,!0);let t=G(s,"user",27,()=>n({})),d=C(!1),i=C("");async function g(){a(i,""),a(d,!0);let o=await Vr(t().id);if(o.ok)s.onSave();else{let $=await o.json();a(i,n($.message))}a(d,!1)}var f=Yi(),u=l(c(f),2);Se(u,{level:1,width:"5rem",get isLoading(){return e(d)},set isLoading(o){a(d,n(o))},$$events:{click:g},children:(o,$)=>{q();var m=B("DELETE");r(o,m)},$$slots:{default:!0}});var I=l(u,2);{var E=o=>{var $=Ji(),m=c($,!0);v($),K(()=>Y(m,e(i))),r(o,$)};P(I,o=>{e(i)&&o(E)})}v(f),r(_,f),ne()}var Xi=A('<div class="err svelte-1ofwsjt"> </div>'),Zi=A('<div class="success svelte-1ofwsjt">Success</div>'),Qi=A('<div class="container svelte-1ofwsjt"><div class="label svelte-1ofwsjt">Invalidate all existing sessions and refresh tokens for this user?</div> <!> <!></div>');function el(_,s){le(s,!0);let t=G(s,"user",27,()=>n({})),d=C(!1),i=C(""),g=C(!1);async function f(){a(i,""),a(d,!0);let m=await Wr(t().id);if(m.ok)a(g,!0);else{let T=await m.json();a(i,n(T.message))}a(d,!1)}var u=Qi(),I=l(c(u),2);Se(I,{level:1,get isLoading(){return e(d)},set isLoading(m){a(d,n(m))},$$events:{click:f},children:(m,T)=>{q();var k=B("LOGOUT");r(m,k)},$$slots:{default:!0}});var E=l(I,2);{var o=m=>{var T=Xi(),k=c(T,!0);v(T),K(()=>Y(k,e(i))),r(m,T)},$=m=>{var T=me(),k=ee(T);{var h=y=>{var w=Zi();r(y,w)};P(k,y=>{e(g)&&y(h)},!0)}r(m,T)};P(E,m=>{e(i)?m(o):m($,!1)})}v(u),r(_,u),ne()}var tl=A('<div class="success svelte-iv4fzr">Success</div>'),al=A('<div class="err svelte-iv4fzr"> </div>'),sl=A('<div class="container svelte-iv4fzr"><div class="desc svelte-iv4fzr">Set custom user attributes.<br> All Key / Value pairs will be handled as String / String.</div> <!> <!> <!> <!></div>');function rl(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(!1),g=C(!1);Ne(()=>{I()});async function f(){let w=await ma();if(!w.ok)a(t,"Error fetching attr: "+w.body.message);else return await w.json()}async function u(){let w=await Hr(s.user.id);if(!w.ok)a(t,"Error fetching user attr: "+w.body.message);else return await w.json()}async function I(){let w=await f(),b=w.values;if(w){let x=await u();if(x){let p=new Map;for(let S of x.values)p.set(S.key,S.value||"");for(let S of b){let L=p.get(S.name);L?S.value=L:S.value=""}a(d,n([...b]))}}}async function E(){a(t,""),a(g,!0);let w=[];for(let S of e(d)){let L={key:S.name,value:S.value};w.push(L)}let b={values:w},x=await Xr(s.user.id,b),p=await x.json();x.ok?a(i,!0):a(t,n(p.message)),s.onSave(),a(g,!1)}var o=sl(),$=l(c(o),2);We($,17,()=>e(d),yt,(w,b,x)=>{var p=Ke(()=>e(b).desc||"JSON Value");ie(w,{style:"width: 350px",autocomplete:"off",get placeholder(){return e(p)},get value(){return e(b).value},set value(S){e(b).value=S},children:(S,L)=>{q();var D=B();K(()=>Y(D,e(b).name)),r(S,D)},$$slots:{default:!0}})});var m=l($,2);Se(m,{get isLoading(){return e(g)},level:1,width:"4rem",$$events:{click:E},children:(w,b)=>{q();var x=B("SAVE");r(w,x)},$$slots:{default:!0}});var T=l(m,2);{var k=w=>{var b=tl();r(w,b)};P(T,w=>{e(i)&&w(k)})}var h=l(T,2);{var y=w=>{var b=al(),x=c(b,!0);v(b),K(()=>Y(x,e(t))),r(w,b)};P(h,w=>{e(t)&&w(y)})}v(o),r(_,o),ne()}var il=A('<div class="desc svelte-1a9qw6n">This user does not have any active MFA keys.</div>'),ll=A('<div class="keyContainer svelte-1a9qw6n"><div class="row svelte-1a9qw6n"><div class="label svelte-1a9qw6n">Passkey Name:</div> <b> </b></div> <div class="row svelte-1a9qw6n"><div class="label svelte-1a9qw6n">Key Registered:</div> <span class="font-mono"> </span></div> <div class="row svelte-1a9qw6n"><div class="label svelte-1a9qw6n">Last Usage:</div> <span class="font-mono"> </span></div> <div class="row svelte-1a9qw6n"><div class="label svelte-1a9qw6n"></div> <div class="deleteBtn svelte-1a9qw6n"><!></div></div></div>'),nl=A('<div class="desc svelte-1a9qw6n">You can delete the users MFA / Security Keys.<br> Be careful though, since this <b>cannot be reverted</b> without user interaction.<br> This is useful, if a user lost his keys and he is not able to log in any more.</div> <div class="keysContainer svelte-1a9qw6n"></div>',1),ol=A('<div class="err svelte-1a9qw6n"> </div>'),vl=A('<div class="container svelte-1a9qw6n"><!> <!></div>');function dl(_,s){le(s,!0);let t=G(s,"user",27,()=>n({})),d=C(""),i=C(n([]));Ne(async()=>{await g()});async function g(){let T=await Cs(t().id),k=await T.json();T.ok?a(i,n(k)):console.error("error fetching passkeys: "+k.message)}async function f(T){let k=e(i).length===1,h=await As(t().id,T);if(h.status===200)return await g(),k&&s.onSave(),!0;{let y=await h.json();return a(d,n(y.message)),!1}}var u=vl(),I=c(u);{var E=T=>{var k=il();r(T,k)},o=T=>{var k=nl(),h=l(ee(k),2);We(h,21,()=>e(i),y=>y.name,(y,w)=>{var b=ll(),x=c(b),p=l(c(x),2),S=c(p,!0);v(p),v(x);var L=l(x,2),D=l(c(L),2),j=c(D,!0);K(()=>Y(j,ht(e(w).registered))),v(D),v(L);var N=l(L,2),V=l(c(N),2),R=c(V,!0);K(()=>Y(R,ht(e(w).last_used))),v(V),v(N);var F=l(N,2),z=l(c(F),2),O=c(z);Se(O,{level:4,$$events:{click:()=>f(e(w).name)},children:(U,Q)=>{q();var M=B("DELETE");r(U,M)},$$slots:{default:!0}}),v(z),v(F),v(b),K(()=>Y(S,e(w).name)),r(y,b)}),v(h),r(T,k)};P(I,T=>{e(i).length<1?T(E):T(o,!1)})}var $=l(I,2);{var m=T=>{var k=ol(),h=c(k,!0);v(k),K(()=>Y(h,e(d))),r(T,k)};P($,T=>{e(d)&&T(m)})}v(u),r(_,u),ne()}var cl=A('<div class="container svelte-nw2ucx"><!></div>');function ul(_,s){le(s,!0);var t=cl(),d=c(t);Ws(d,{get userId(){return s.user.id}}),v(t),r(_,t),ne()}var hl=A('<div class="data font-mono svelte-115hohv"> </div>'),pl=A('<div class="data svelte-115hohv"> </div>'),ml=A('<div class="header svelte-115hohv"><!> <!></div>'),gl=A("<div><!></div>"),fl=A("<div><!></div>"),yl=A("<div><!></div>"),wl=A("<div><!></div>"),bl=A("<div><!></div>"),$l=A("<div><!></div>"),_l=A("<div><!></div>"),kl=A("<!> <!>",1),xl=A("<div><!></div>");function ts(_,s){le(s,!0);let t=G(s,"userEmail",3,""),d=G(s,"userId",3,""),i=G(s,"onSave",15),g=C(void 0),f=C(!0),u=C(void 0);const I=["Info","Attributes","Password","MFA","Devices","Logout","Delete"];let E=C(n(I[0]));const o=200,$=o/2;async function m(){const k=await Ts(d());if(k.ok)a(g,n(await k.json()));else{let h=await k.json();console.error(h)}a(f,!1)}function T(){a(u,!1),i()()}Te(()=>{e(u)&&m()}),ot(_,{get show(){return e(u)},set show(k){a(u,n(k))},header:k=>{var h=ml(),y=c(h);Ze(y,{text:"User ID",children:(b,x)=>{var p=hl(),S=c(p,!0);v(p),K(()=>Y(S,d())),r(b,p)},$$slots:{default:!0}});var w=l(y,2);Ze(w,{text:"E-Mail",children:(b,x)=>{var p=pl(),S=c(p,!0);v(p),K(()=>Y(S,t())),r(b,p)},$$slots:{default:!0}}),v(h),r(k,h)},body:k=>{var h=xl(),y=c(h);{var w=x=>{ha(x,{})},b=x=>{var p=kl(),S=ee(p);Dt(S,{labels:I,get selected(){return e(E)},set selected(N){a(E,n(N))}});var L=l(S,2);{var D=N=>{var V=gl(),R=c(V);Mi(R,{get user(){return e(g)},set user(F){a(g,n(F))},get onSave(){return i()},set onSave(F){i(F)}}),v(V),ce(5,V,()=>_e,()=>({delay:$,duration:o})),ce(6,V,()=>_e,()=>({duration:o})),r(N,V)},j=N=>{var V=me(),R=ee(V);{var F=O=>{var U=fl(),Q=c(U);rl(Q,{get user(){return e(g)},set user(M){a(g,n(M))},get onSave(){return i()},set onSave(M){i(M)}}),v(U),ce(5,U,()=>_e,()=>({delay:$,duration:o})),ce(6,U,()=>_e,()=>({duration:o})),r(O,U)},z=O=>{var U=me(),Q=ee(U);{var M=J=>{var Z=yl(),re=c(Z);Bi(re,{get user(){return e(g)},set user(ve){a(g,n(ve))},get onSave(){return i()},set onSave(ve){i(ve)}}),v(Z),ce(5,Z,()=>_e,()=>({delay:$,duration:o})),ce(6,Z,()=>_e,()=>({duration:o})),r(J,Z)},W=J=>{var Z=me(),re=ee(Z);{var ve=$e=>{var pe=wl(),je=c(pe);dl(je,{get user(){return e(g)},set user(fe){a(g,n(fe))},get onSave(){return i()},set onSave(fe){i(fe)}}),v(pe),ce(5,pe,()=>_e,()=>({delay:$,duration:o})),ce(6,pe,()=>_e,()=>({duration:o})),r($e,pe)},be=$e=>{var pe=me(),je=ee(pe);{var fe=ye=>{var we=bl(),Pe=c(we);ul(Pe,{get user(){return e(g)},set user(Ce){a(g,n(Ce))}}),v(we),ce(5,we,()=>_e,()=>({delay:$,duration:o})),ce(6,we,()=>_e,()=>({duration:o})),r(ye,we)},de=ye=>{var we=me(),Pe=ee(we);{var Ce=Re=>{var H=$l(),Ie=c(H);el(Ie,{get user(){return e(g)},set user(ge){a(g,n(ge))}}),v(H),ce(5,H,()=>_e,()=>({delay:$,duration:o})),ce(6,H,()=>_e,()=>({duration:o})),r(Re,H)},xe=Re=>{var H=me(),Ie=ee(H);{var ge=Ue=>{var Je=_l(),rt=c(Je);Hi(rt,{onSave:T,get user(){return e(g)},set user(vt){a(g,n(vt))}}),v(Je),ce(5,Je,()=>_e,()=>({delay:$,duration:o})),ce(6,Je,()=>_e,()=>({duration:o})),r(Ue,Je)};P(Ie,Ue=>{e(E)==="Delete"&&Ue(ge)},!0)}r(Re,H)};P(Pe,Re=>{e(E)==="Logout"?Re(Ce):Re(xe,!1)},!0)}r(ye,we)};P(je,ye=>{e(E)==="Devices"?ye(fe):ye(de,!1)},!0)}r($e,pe)};P(re,$e=>{e(E)==="MFA"?$e(ve):$e(be,!1)},!0)}r(J,Z)};P(Q,J=>{e(E)==="Password"?J(M):J(W,!1)},!0)}r(O,U)};P(R,O=>{e(E)==="Attributes"?O(F):O(z,!1)},!0)}r(N,V)};P(L,N=>{e(E)==="Info"?N(D):N(j,!1)})}r(x,p)};P(y,x=>{e(f)?x(w):x(b,!1)})}v(h),r(k,h)},$$slots:{header:!0,body:!0}}),ne()}var El=A('<div class="header font-label svelte-1y7ceqm">ADD NEW USER</div>'),Il=A('<div class="err svelte-1y7ceqm"> </div>'),Sl=A('<div class="container svelte-1y7ceqm"><!> <!> <!> <div class="language svelte-1y7ceqm"><div class="label svelte-1y7ceqm">LANGUAGE</div> <div style="margin-top: .4rem"><!></div></div> <div class="tiles svelte-1y7ceqm"><div class="label font-label svelte-1y7ceqm">ROLES</div> <!></div> <div class="tiles svelte-1y7ceqm"><div class="label font-label svelte-1y7ceqm">GROUPS</div> <!></div> <div class="unit svelte-1y7ceqm"><div class="label font-label svelte-1y7ceqm">LIMIT LIFETIME</div> <div class="value"><!></div></div> <!> <div class="btn svelte-1y7ceqm"><!> <!></div></div>');function Cl(_,s){le(s,!0);let t=G(s,"idx",31,()=>-1),d=C(""),i=C(void 0),g=C("EN"),f=C(!1),u=C(void 0),I=C(n({email:"",family_name:"",given_name:"",roles:[],groups:[]})),E=C(n({}));const o=He().shape({email:he().required("E-Mail is required").email("Bad E-Mail format"),given_name:he().trim().required("Given Name is required").matches(da,"Invalid characters"),family_name:he().trim().required("Family Name is required").matches(da,"Invalid characters")});let $=C(void 0);ga.subscribe(h=>{a($,n(h))});let m=C(void 0);fa.subscribe(h=>{a(m,n(h))});async function T(){if(!await k())return;a(d,"");let h=e(I);if(h.language=e(g).toLowerCase(),e(f)){let w=Ot(e(u));if(!w){a(d,"Invalid Date Input: User Expires");return}h.user_expires=w}let y=await Fr(e(I));if(y.ok)a(I,n({})),a(i,!1),a(I,n({email:"",family_name:"",given_name:"",roles:[],groups:[]})),s.onSave();else{let w=await y.json();a(d,n(w.message))}}async function k(){try{return await o.validate(e(I),{abortEarly:!1}),a(E,n({})),!0}catch(h){return a(E,n(Ye(h))),!1}}ot(_,{get idx(){return t()},set idx(h){t(h)},get show(){return e(i)},set show(h){a(i,n(h))},header:h=>{var y=El();r(h,y)},body:h=>{var y=Sl(),w=c(y);ie(w,{type:"email",autocomplete:"off",placeholder:"E-Mail",get value(){return e(I).email},set value(Z){e(I).email=Z},get error(){return e(E).email},set error(Z){e(E).email=Z},$$events:{input:k},children:(Z,re)=>{q();var ve=B("E-MAIL");r(Z,ve)},$$slots:{default:!0}});var b=l(w,2);ie(b,{autocomplete:"off",placeholder:"Given Name",get value(){return e(I).given_name},set value(Z){e(I).given_name=Z},get error(){return e(E).given_name},set error(Z){e(E).given_name=Z},$$events:{input:k},children:(Z,re)=>{q();var ve=B("GIVEN NAME");r(Z,ve)},$$slots:{default:!0}});var x=l(b,2);ie(x,{autocomplete:"off",placeholder:"Family Name",get value(){return e(I).family_name},set value(Z){e(I).family_name=Z},get error(){return e(E).family_name},set error(Z){e(E).family_name=Z},$$events:{input:k},children:(Z,re)=>{q();var ve=B("FAMILY NAME");r(Z,ve)},$$slots:{default:!0}});var p=l(x,2),S=l(c(p),2),L=c(S);kt(L,{options:Ra,get value(){return e(g)},set value(Z){a(g,n(Z))}}),v(S),v(p);var D=l(p,2),j=l(c(D),2);zt(j,{get options(){return e($)},searchThreshold:4,get items(){return e(I).roles},set items(Z){e(I).roles=Z}}),v(D);var N=l(D,2),V=l(c(N),2);zt(V,{get options(){return e(m)},searchThreshold:4,get items(){return e(I).groups},set items(Z){e(I).groups=Z}}),v(N);var R=l(N,2);oe(R,"margin-top","12px");var F=l(c(R),2),z=c(F);Be(z,{get selected(){return e(f)},set selected(Z){a(f,n(Z))}}),v(F),v(R);var O=l(R,2);{var U=Z=>{ie(Z,{type:"datetime-local",step:"60",width:"18rem",get min(){return new Date().toISOString().split(".")[0]},max:"2099-01-01T00:00",get value(){return e(u)},set value(re){a(u,n(re))},$$events:{input:k},children:(re,ve)=>{q();var be=B("USER EXPIRES");r(re,be)},$$slots:{default:!0}})};P(O,Z=>{e(f)&&Z(U)})}var Q=l(O,2),M=c(Q);Se(M,{level:1,$$events:{click:T},children:(Z,re)=>{q();var ve=B("SAVE");r(Z,ve)},$$slots:{default:!0}});var W=l(M,2);{var J=Z=>{var re=Il(),ve=c(re,!0);v(re),K(()=>Y(ve,e(d))),r(Z,re)};P(W,Z=>{e(d)&&Z(J)})}v(Q),v(y),r(h,y)},$$slots:{header:!0,body:!0}}),ne()}var Al=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0l-3.75-3.75M17.25 21L21 17.25"></path></svg>');function Tl(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=Al();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var Ll=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3 4.5h14.25M3 9h9.75M3 13.5h5.25m5.25-.75L17.25 9m0 0L21 12.75M17.25 9v12"></path></svg>');function Nl(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=Ll();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var Rl=A("<option> </option>"),Dl=A('<select class="opts font-label svelte-1ojt600"></select>'),jl=A('<div role="button" tabindex="0" class="icon svelte-1ojt600"><!></div>'),Pl=A('<div class="container svelte-1ojt600"><!> <!></div>');function zl(_,s){le(s,!0);let t=G(s,"items",19,()=>[]),d=G(s,"resItems",15),i=G(s,"options",19,()=>[]),g=G(s,"firstDirReverse",3,!1),f=C(""),u=C(1),I;Ne(()=>{i().length>0&&(a(f,n(i()[0].label)),E()),g()&&$(),o()});function E(){for(let w of i())if(w.label===e(f)){I=w.callback;break}I||console.error("Could not find a valid callback function in order options for label "+e(f))}function o(){if(I){let w=[...t()];w.sort((b,x)=>I(b,x)*e(u)),d([...w])}}function $(){a(u,e(u)*-1),o()}Te(()=>{t()&&o()}),Te(()=>{e(f)&&(E(),o())});var m=Pl(),T=c(m);{var k=w=>{Ze(w,{text:"Order by",yOffset:-30,children:(b,x)=>{var p=Dl();We(p,21,i,yt,(S,L)=>{var D=Rl(),j={},N=c(D,!0);v(D),K(()=>{j!==(j=e(L).label)&&(D.value=(D.__value=e(L).label)==null?"":e(L).label),Y(N,e(L).label)}),r(S,D)}),v(p),Ka(p,()=>e(f),S=>a(f,S)),r(b,p)},$$slots:{default:!0}})};P(T,w=>{i().length>1&&w(k)})}var h=l(T,2);{var y=w=>{var b=jl();b.__click=$;var x=c(b);{var p=L=>{Nl(L,{})},S=L=>{Tl(L,{})};P(x,L=>{e(u)===1?L(p):L(S,!1)})}v(b),Me("keypress",b,$),r(w,b)};P(h,w=>{i().length>0&&w(y)})}v(m),r(_,m),ne()}ut(["click"]);var Ol=A('<div class="divider svelte-16rtgja"></div>'),Ml=A('<div class="container svelte-16rtgja"><div><!></div> <!> <div><!></div></div>');function Lt(_,s){le(s,!0);let t=G(s,"items",31,()=>n([])),d=G(s,"resItems",15),i=G(s,"searchOptions",27,()=>n([])),g=G(s,"orderOptions",27,()=>n([])),f=G(s,"firstDirReverse",3,!1),u=G(s,"useServerSideIdx",15,""),I=G(s,"isSearchFiltered",15,!1),E=G(s,"search",15,""),o=C(n([]));var $=Ml(),m=c($),T=c(m);zl(T,{get items(){return e(o)},get options(){return g()},get firstDirReverse(){return f()},get resItems(){return d()},set resItems(b){d(b)}}),v(m);var k=l(m,2);{var h=b=>{var x=Ol();r(b,x)};P(k,b=>{g().length>0&&b(h)})}var y=l(k,2),w=c(y);es(w,{get options(){return i()},get items(){return t()},set items(b){t(b)},get resItems(){return e(o)},set resItems(b){a(o,n(b))},get useServerSideIdx(){return u()},set useServerSideIdx(b){u(b)},get isSearchFiltered(){return I()},set isSearchFiltered(b){I(b)},get search(){return E()},set search(b){E(b)}}),v(y),v($),r(_,$),ne()}var Ul=(_,s)=>a(s,e(s)-1),ql=A('<div role="button" tabindex="0" class="icon iconLeft svelte-9iw34a"><!></div>'),Gl=(_,s,t)=>a(s,n(e(t))),Wl=A('<div role="button" tabindex="0" class="link noselect svelte-9iw34a"> </div>'),Kl=(_,s)=>a(s,e(s)+1),Fl=A('<div role="button" tabindex="0" class="icon iconRight svelte-9iw34a"><!></div>'),Vl=A('<div class="container svelte-9iw34a"><!> <div class="links svelte-9iw34a"></div> <!> <div class="chunkSize noselect svelte-9iw34a">Entries <!></div> <div class="font-label total svelte-9iw34a"> </div></div>');function jt(_,s){le(s,!0);let t=G(s,"items",27,()=>n([])),d=G(s,"resItems",31,()=>n([]));const i=[5,7,10,15,20,30,50,100],g=16;let f=C(n([])),u=C(1),I=5,E=C(15),o=C(!1),$=C(!1),m=C(n([]));Te(()=>{e(E)&&a(u,1)}),Te(()=>{if(e(E)&&t().length>0){let D=[];for(let j=0;j<t().length;j+=e(E)){const N=t().slice(j,j+e(E));D.push(N)}a(f,n(D)),d(e(f)[e(u)-1])}}),Te(()=>{if(e(u)){let D=[],j=Math.floor(I/2);if(e(f).length<=I){for(let N=1;N<=e(f).length;N++)D.push(N);a(o,!1),a($,!1)}else if(e(u)<=j){for(let N=1;N<=I;N++)D.push(N);a(o,!1),a($,!0)}else if(e(u)>e(f).length-j-1){for(let N=e(f).length-I;N<=e(f).length-1;N++)D.push(N+1);a(o,!0),a($,!1)}else{for(let N=e(u)-j;N<e(u)-j+I;N++)D.push(N);a(o,!0),a($,!0)}a(m,n(D))}});var T=Vl(),k=c(T);{var h=D=>{var j=ql();j.__click=[Ul,u];var N=c(j);Zt(N,{width:g}),v(j),Me("keypress",j,()=>a(u,e(u)-1)),r(D,j)};P(k,D=>{e(o)&&D(h)})}var y=l(k,2);We(y,21,()=>e(m),yt,(D,j)=>{var N=Wl();N.__click=[Gl,u,j];var V=c(N,!0);v(N),K(()=>{Et(N,"selected",e(u)===e(j)),Y(V,e(j))}),Me("keypress",N,()=>a(u,n(e(j)))),r(D,N)}),v(y);var w=l(y,2);{var b=D=>{var j=Fl();j.__click=[Kl,u];var N=c(j);Zt(N,{width:g}),v(j),Me("keypress",j,()=>a(u,e(u)+1)),r(D,j)};P(w,D=>{e($)&&D(b)})}var x=l(w,2),p=l(c(x));kt(p,{options:i,width:"50px",get value(){return e(E)},set value(D){a(E,n(D))}}),v(x);var S=l(x,2),L=c(S);v(S),v(T),K(()=>Y(L,`Total: ${t().length??""}`)),r(_,T),ne()}ut(["click"]);var Bl=(_,s)=>s()(0,!0),Jl=A('<div role="button" tabindex="0" class="icon iconLeft svelte-1jvef4m"><!></div>'),Yl=(_,s)=>s()(0,!1),Hl=A('<div role="button" tabindex="0" class="icon iconRight svelte-1jvef4m"><!></div>'),Xl=A('<div class="font-label total svelte-1jvef4m"> </div>'),Zl=A('<div class="container svelte-1jvef4m"><!> <div class="links svelte-1jvef4m"><div class="pageNo noselect svelte-1jvef4m"> </div></div> <!> <div class="chunkSize noselect svelte-1jvef4m">Entries <!></div> <!></div>');function as(_,s){le(s,!0);let t=G(s,"itemsTotal",3,0),d=G(s,"sspPage",11,1),i=G(s,"sspPageSize",11,15),g=G(s,"sspContinuationToken",11,""),f=G(s,"fetchPageCallback",3,(D,j)=>{}),u=G(s,"sspPageSizeChange",3,D=>{});const I=[2,3,5,7,10,15,20,30,50,100],E=16;let o=C(n(i()));Te(()=>{e(o)&&(console.log("page size change in pagination server"),u()(e(o)))});var $=Zl(),m=c($);{var T=D=>{var j=Jl();j.__click=[Bl,f];var N=c(j);Zt(N,{width:E}),v(j),Me("keypress",j,()=>f()(0,!0)),r(D,j)};P(m,D=>{d()!==1&&D(T)})}var k=l(m,2),h=c(k),y=c(h,!0);v(h),v(k);var w=l(k,2);{var b=D=>{var j=Hl();j.__click=[Yl,f];var N=c(j);Zt(N,{width:E}),v(j),Me("keypress",j,()=>f()(0,!1)),r(D,j)};P(w,D=>{g()&&D(b)})}var x=l(w,2),p=l(c(x));kt(p,{options:I,width:"50px",get value(){return e(o)},set value(D){a(o,n(D))}}),v(x);var S=l(x,2);{var L=D=>{var j=Xl(),N=c(j);v(j),K(()=>Y(N,`Total: ${t()??""}`)),r(D,j)};P(S,D=>{t()&&t()>0&&D(L)})}v($),K(()=>Y(y,d())),r(_,$),ne()}ut(["click"]);var Ql=A('<div class="svelte-1gwjtx9"><!></div>'),en=A('<div class="svelte-1gwjtx9"><!></div>'),tn=A(' <div class="content"><!> <!> <div id="users" class="svelte-1gwjtx9"><!></div> <!></div>',1);function an(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(n([])),g=C(n([])),f=C(""),u=C(!1),I=C(""),E=C(0),o=C(15),$=C(""),m=C(1),T=C(n([{label:"E-Mail",callback:(M,W)=>M.email.toLowerCase().includes(W.toLowerCase())},{label:"ID",callback:(M,W)=>M.id.toLowerCase().includes(W.toLowerCase())}])),k=C(n([{label:"E-Mail",callback:(M,W)=>M.email.localeCompare(W.email)},{label:"ID",callback:(M,W)=>M.id.localeCompare(W.id)},{label:"Created",callback:(M,W)=>M.created_at<W.created_at},{label:"Last Login",callback:(M,W)=>{let J=M.last_login||9999999999,Z=W.last_login||9999999999;return J<Z}}]));Ne(async()=>{h(),b(),x()});async function h(M,W,J,Z){let re;if(M===!0?J&&e(m)===2?re=await Ya(Z||e(o),W,void 0,!1):re=await Ya(Z||e(o),W,e($),J):re=await Kr(),!re.ok)a(t,"Error fetching users: "+re.body.message);else{re.status===206?(a(o,n(Number.parseInt(re.headers.get("x-page-size"),10))),a(f,"user"),re.headers.get("x-continuation-token"),a($,n(re.headers.get("x-continuation-token")))):a(f,""),a(E,n(re.headers.get("x-user-count")));let ve=await re.json();a(d,n([...ve])),a(i,n([...ve]))}}async function y(M,W){await h(!0,M,W),W?a(m,e(m)-1):a(m,e(m)+1)}async function w(M){a($,""),await h(!0,0,!1,M),a(m,1)}async function b(){let M=await Xa();if(!M.ok)a(t,"Error fetching roles: "+M.body.message);else{let W=await M.json();hi.set(W),ga.set(W.map(J=>J.name))}}async function x(){let M=await Ba();if(!M.ok)a(t,"Error fetching groups: "+M.body.message);else{let W=await M.json();pi.set(W),fa.set(W.map(J=>J.name))}}function p(){h(),b(),x(),a(I,"")}q();var S=tn(),L=ee(S),D=l(L),j=c(D);Lt(j,{get items(){return e(d)},get resItems(){return e(i)},set resItems(M){a(i,n(M))},get searchOptions(){return e(T)},set searchOptions(M){a(T,n(M))},get orderOptions(){return e(k)},set orderOptions(M){a(k,n(M))},get useServerSideIdx(){return e(f)},set useServerSideIdx(M){a(f,n(M))},get isSearchFiltered(){return e(u)},set isSearchFiltered(M){a(u,n(M))},get search(){return e(I)},set search(M){a(I,n(M))}});var N=l(j,2);Cl(N,{onSave:p});var V=l(N,2),R=c(V);{var F=M=>{var W=me(),J=ee(W);We(J,17,()=>e(i),Z=>Z.id,(Z,re)=>{var ve=Ql(),be=c(ve);ts(be,{get userId(){return e(re).id},get userEmail(){return e(re).email},onSave:p}),v(ve),r(Z,ve)}),r(M,W)},z=M=>{var W=me(),J=ee(W);We(J,17,()=>e(g),Z=>Z.id,(Z,re)=>{var ve=en(),be=c(ve);ts(be,{get userId(){return e(re).id},get userEmail(){return e(re).email},onSave:p}),v(ve),r(Z,ve)}),r(M,W)};P(R,M=>{e(f)&&!e(u)?M(F):M(z,!1)})}v(V);var O=l(V,2);{var U=M=>{as(M,{get itemsTotal(){return e(E)},fetchPageCallback:y,sspPageSizeChange:w,get sspPage(){return e(m)},set sspPage(W){a(m,n(W))},get sspPageSize(){return e(o)},set sspPageSize(W){a(o,n(W))},get sspContinuationToken(){return e($)},set sspContinuationToken(W){a($,n(W))}})},Q=M=>{jt(M,{get items(){return e(i)},set items(W){a(i,n(W))},get resItems(){return e(g)},set resItems(W){a(g,n(W))}})};P(O,M=>{e(f)&&!e(u)?M(U):M(Q,!1)})}v(D),K(()=>Y(L,`${e(t)??""} `)),r(_,S),ne()}var sn=A('<div class="content svelte-1mqfi4i"><!></div>');function bt(_,s){le(s,!0);let t=G(s,"eventsCollapsed",11,!0),d=G(s,"eventsWide",11,!1);var i=sn(),g=c(i);At(g,()=>s.children??Ct),v(i),K(()=>{Et(i,"mr",!t()&&!d()),Et(i,"mrCollapsed",t()&&!d()),Et(i,"mrWide",!t()&&d())}),r(_,i),ne()}var rn=A('<div class="success svelte-17in7jd">Success</div>'),ln=A('<div class="mainErr err svelte-17in7jd"> </div>'),nn=A('<div class="container svelte-17in7jd"><div class="unit svelte-17in7jd"><div class="label font-label svelte-17in7jd">ID</div> <div class="value font-mono svelte-17in7jd"> </div></div> <!> <!> <!> <!></div>');function on(_,s){le(s,!0);let t=G(s,"role",31,()=>n({})),d=C(""),i=C(!1),g=C(void 0);Te(()=>{e(i)&&a(g,n(setTimeout(()=>{a(i,!1),s.onSave()},2e3)))}),Ne(()=>()=>clearTimeout(e(g)));let f=C(n({}));const u=He().shape({name:he().trim().matches(qt,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});async function I(){if(a(d,""),!await E()){a(d,"Invalid input");return}let S={role:t().name.trim()},L=await ni(t().id,S);if(L.ok)a(i,!0);else{let D=await L.json();a(d,n(D.message))}}async function E(){try{return await u.validate(t(),{abortEarly:!1}),a(f,n({})),!0}catch(S){return a(f,n(Ye(S))),!1}}var o=nn(),$=c(o),m=l(c($),2),T=c(m,!0);v(m),v($);var k=l($,2),h=Ke(()=>t().name==="rauthy_admin");ie(k,{autocomplete:"off",placeholder:"Role Name",get disabled(){return e(h)},get value(){return t().name},set value(S){t(t().name=S,!0)},get error(){return e(f).name},set error(S){e(f).name=S},$$events:{input:E},children:(S,L)=>{q();var D=B("ROLE NAME");r(S,D)},$$slots:{default:!0}});var y=l(k,2);Se(y,{level:1,width:"4rem",$$events:{click:I},children:(S,L)=>{q();var D=B("SAVE");r(S,D)},$$slots:{default:!0}});var w=l(y,2);{var b=S=>{var L=rn();r(S,L)};P(w,S=>{e(i)&&S(b)})}var x=l(w,2);{var p=S=>{var L=ln(),D=c(L,!0);v(L),K(()=>Y(D,e(d))),r(S,L)};P(x,S=>{e(d)&&S(p)})}v(o),K(()=>Y(T,t().id)),r(_,o),ne()}var vn=A('<div class="label svelte-1jljqe9">Anti-Lockout Rule: The rauthy_admin role cannot be deleted.</div>'),dn=A('<div class="err svelte-1jljqe9"> </div>'),cn=A('<div class="label svelte-1jljqe9">Are you sure, you want to delete this role?</div> <!> <!>',1),un=A('<div class="container svelte-1jljqe9"><!></div>');function hn(_,s){le(s,!0);let t=G(s,"role",19,()=>({})),d=C(!1),i=C("");async function g(){a(i,""),a(d,!0);let o=await oi(t().id);if(o.ok)s.onSave();else{let $=await o.json();a(i,n($.message))}a(d,!1)}var f=un(),u=c(f);{var I=o=>{var $=vn();r(o,$)},E=o=>{var $=cn(),m=l(ee($),2);Se(m,{level:1,get isLoading(){return e(d)},set isLoading(h){a(d,n(h))},$$events:{click:g},children:(h,y)=>{q();var w=B("DELETE");r(h,w)},$$slots:{default:!0}});var T=l(m,2);{var k=h=>{var y=dn(),w=c(y,!0);v(y),K(()=>Y(w,e(i))),r(h,y)};P(T,h=>{e(i)&&h(k)})}r(o,$)};P(u,o=>{t().name==="rauthy_admin"?o(I):o(E,!1)})}v(f),r(_,f),ne()}var pn=A('<div class="data font-mono svelte-115hohv"> </div>'),mn=A('<div class="data svelte-115hohv"> </div>'),gn=A('<div class="header svelte-115hohv"><!> <!></div>'),fn=A("<div><!></div>"),yn=A("<div><!></div>"),wn=A("<div><!> <!></div>");function bn(_,s){le(s,!0);let t=G(s,"role",31,()=>n({})),d=G(s,"onSave",15),i=C(void 0);const g=["Config","Delete"];let f=C(n(g[0]));const u=200,I=u/2;function E(){a(i,!1),d()()}ot(_,{get show(){return e(i)},set show(o){a(i,n(o))},header:o=>{var $=gn(),m=c($);Ze(m,{text:"Role ID",children:(k,h)=>{var y=pn(),w=c(y,!0);v(y),K(()=>Y(w,t().id)),r(k,y)},$$slots:{default:!0}});var T=l(m,2);Ze(T,{text:"Role Name",children:(k,h)=>{var y=mn(),w=c(y,!0);v(y),K(()=>Y(w,t().name)),r(k,y)},$$slots:{default:!0}}),v($),r(o,$)},body:o=>{var $=wn(),m=c($);Dt(m,{labels:g,get selected(){return e(f)},set selected(y){a(f,n(y))}});var T=l(m,2);{var k=y=>{var w=fn(),b=c(w);on(b,{get role(){return t()},set role(x){t(x)},get onSave(){return d()},set onSave(x){d(x)}}),v(w),ce(5,w,()=>_e,()=>({delay:I,duration:u})),ce(6,w,()=>_e,()=>({duration:u})),r(y,w)},h=y=>{var w=me(),b=ee(w);{var x=p=>{var S=yn(),L=c(S);hn(L,{get role(){return t()},onSave:E}),v(S),ce(5,S,()=>_e,()=>({delay:I,duration:u})),ce(6,S,()=>_e,()=>({duration:u})),r(p,S)};P(b,p=>{e(f)==="Delete"&&p(x)},!0)}r(y,w)};P(T,y=>{e(f)==="Config"?y(k):y(h,!1)})}v($),r(o,$)},$$slots:{header:!0,body:!0}}),ne()}var $n=A('<div class="header font-label svelte-r30xs6">ADD NEW ROLE</div>'),_n=A('<div class="success svelte-r30xs6">Success</div>'),kn=A('<div class="err svelte-r30xs6"> </div>'),xn=A('<div class="container svelte-r30xs6"><!> <!> <!> <!></div>');function En(_,s){le(s,!0);let t=G(s,"idx",31,()=>-1),d=C(void 0),i=C(n({role:""})),g=C(""),f=C(!1),u=C(void 0),I=C(n({}));const E=He().shape({role:he().trim().matches(qt,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});Te(()=>{e(f)&&a(u,n(setTimeout(()=>{a(f,!1),a(i,n({role:""})),a(d,!1),s.onSave()},1500)))}),Ne(()=>()=>clearTimeout(e(u)));async function o(){if(a(g,""),!await $()){a(g,"Invalid input");return}e(i).role=e(i).role.trim();let m=await li(e(i));if(m.ok)a(f,!0);else{let T=await m.json();a(g,n(T.message))}}async function $(){try{return await E.validate(e(i),{abortEarly:!1}),a(I,n({})),!0}catch(m){return a(I,n(Ye(m))),!1}}ot(_,{get idx(){return t()},set idx(m){t(m)},get show(){return e(d)},set show(m){a(d,n(m))},header:m=>{var T=$n();r(m,T)},body:m=>{var T=xn(),k=c(T);ie(k,{autocomplete:"off",placeholder:"Role Name",get value(){return e(i).role},set value(p){e(i).role=p},get error(){return e(I).role},set error(p){e(I).role=p},$$events:{input:$},children:(p,S)=>{q();var L=B("ROLE NAME");r(p,L)},$$slots:{default:!0}});var h=l(k,2);Se(h,{level:1,width:"4rem",$$events:{click:o},children:(p,S)=>{q();var L=B("SAVE");r(p,L)},$$slots:{default:!0}});var y=l(h,2);{var w=p=>{var S=_n();r(p,S)};P(y,p=>{e(f)&&p(w)})}var b=l(y,2);{var x=p=>{var S=kn(),L=c(S,!0);v(S),K(()=>Y(L,e(g))),r(p,S)};P(b,p=>{e(g)&&p(x)})}v(T),r(m,T)},$$slots:{header:!0,body:!0}}),ne()}var In=A('<div class="svelte-161tj4u"><!></div>'),Sn=A(' <div class="content"><!> <!> <div id="roles" class="svelte-161tj4u"></div> <!> <div style="height: 20px"></div></div>',1);function Cn(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(n([])),g=C(n([])),f=C(""),u=[{label:"Name",callback:(b,x)=>b.name.toLowerCase().includes(x.toLowerCase())},{label:"ID",callback:(b,x)=>b.id.toLowerCase().includes(x.toLowerCase())}],I=[{label:"Name",callback:(b,x)=>b.name.localeCompare(x.name)},{label:"ID",callback:(b,x)=>b.id.localeCompare(x.id)}];Ne(async()=>{E()});async function E(){let b=await Xa(),x=await b.json();b.ok?a(d,n([...x])):a(t,n(x.message))}function o(){E(),a(f,"")}q();var $=Sn(),m=ee($),T=l(m),k=c(T);Lt(k,{get items(){return e(d)},searchOptions:u,orderOptions:I,get resItems(){return e(i)},set resItems(b){a(i,n(b))},get search(){return e(f)},set search(b){a(f,n(b))}});var h=l(k,2);En(h,{onSave:o});var y=l(h,2);We(y,23,()=>e(g),b=>b.id,(b,x,p)=>{var S=In(),L=c(S);bn(L,{onSave:o,get role(){return e(d)[e(p)]},set role(D){e(d)[e(p)]=D}}),v(S),r(b,S)}),v(y);var w=l(y,2);jt(w,{get items(){return e(i)},set items(b){a(i,n(b))},get resItems(){return e(g)},set resItems(b){a(g,n(b))}}),q(2),v(T),K(()=>Y(m,`${e(t)??""} `)),r(_,$),ne()}var An=A('<div class="header font-label svelte-r30xs6">ADD NEW GROUP</div>'),Tn=A('<div class="success svelte-r30xs6">Success</div>'),Ln=A('<div class="err svelte-r30xs6"> </div>'),Nn=A('<div class="container svelte-r30xs6"><!> <!> <!> <!></div>');function Rn(_,s){le(s,!0);let t=G(s,"idx",31,()=>-1),d=C(void 0),i=C(n({group:""})),g=C(""),f=C(!1),u=C(void 0),I=C(n({}));const E=He().shape({group:he().trim().matches(qt,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});Te(()=>{e(f)&&a(u,n(setTimeout(()=>{s.onSave(),a(f,!1),a(i,n({group:""})),a(d,!1)},1500)))}),Ne(()=>()=>clearTimeout(e(u)));async function o(){if(a(g,""),!await $()){a(g,"Invalid input");return}e(i).group=e(i).group.trim();let m=await Ir(e(i));if(m.ok)a(f,!0);else{let T=await m.json();a(g,n(T.message))}}async function $(){try{return await E.validate(e(i),{abortEarly:!1}),a(I,n({})),!0}catch(m){return a(I,n(Ye(m))),!1}}ot(_,{get idx(){return t()},set idx(m){t(m)},get show(){return e(d)},set show(m){a(d,n(m))},header:m=>{var T=An();r(m,T)},body:m=>{var T=Nn(),k=c(T);ie(k,{autocomplete:"off",placeholder:"Group Name",get value(){return e(i).group},set value(p){e(i).group=p},get error(){return e(I).group},set error(p){e(I).group=p},$$events:{input:$},children:(p,S)=>{q();var L=B("GROUP NAME");r(p,L)},$$slots:{default:!0}});var h=l(k,2);Se(h,{level:1,width:"4rem",$$events:{click:o},children:(p,S)=>{q();var L=B("SAVE");r(p,L)},$$slots:{default:!0}});var y=l(h,2);{var w=p=>{var S=Tn();r(p,S)};P(y,p=>{e(f)&&p(w)})}var b=l(y,2);{var x=p=>{var S=Ln(),L=c(S,!0);v(S),K(()=>Y(L,e(g))),r(p,S)};P(b,p=>{e(g)&&p(x)})}v(T),r(m,T)},$$slots:{header:!0,body:!0}}),ne()}var Dn=A('<div class="success svelte-17in7jd">Success</div>'),jn=A('<div class="mainErr err svelte-17in7jd"> </div>'),Pn=A('<div class="container svelte-17in7jd"><div class="unit svelte-17in7jd"><div class="label font-label svelte-17in7jd">ID</div> <div class="value font-mono svelte-17in7jd"> </div></div> <!> <!> <!> <!></div>');function zn(_,s){le(s,!0);let t=G(s,"group",31,()=>n({})),d=C(""),i=C(!1),g=C(void 0);Te(()=>{e(i)&&a(g,n(setTimeout(()=>{a(i,!1),s.onSave()},2e3)))}),Ne(()=>()=>clearTimeout(e(g)));let f=C(n({}));const u=He().shape({name:he().trim().matches(qt,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});async function I(){if(a(d,""),!await E()){a(d,"Invalid input");return}let p={group:t().name.trim()},S=await Sr(t().id,p);if(S.ok)a(i,!0);else{let L=await S.json();a(d,n(L.message))}}async function E(){try{return await u.validate(t(),{abortEarly:!1}),a(f,n({})),!0}catch(p){return a(f,n(Ye(p))),!1}}var o=Pn(),$=c(o),m=l(c($),2),T=c(m,!0);v(m),v($);var k=l($,2);ie(k,{autocomplete:"off",placeholder:"Group Name",get value(){return t().name},set value(p){t(t().name=p,!0)},get error(){return e(f).name},set error(p){e(f).name=p},$$events:{input:E},children:(p,S)=>{q();var L=B("GROUP NAME");r(p,L)},$$slots:{default:!0}});var h=l(k,2);Se(h,{level:1,width:"4rem",$$events:{click:I},children:(p,S)=>{q();var L=B("SAVE");r(p,L)},$$slots:{default:!0}});var y=l(h,2);{var w=p=>{var S=Dn();r(p,S)};P(y,p=>{e(i)&&p(w)})}var b=l(y,2);{var x=p=>{var S=jn(),L=c(S,!0);v(S),K(()=>Y(L,e(d))),r(p,S)};P(b,p=>{e(d)&&p(x)})}v(o),K(()=>Y(T,t().id)),r(_,o),ne()}var On=A('<div class="err svelte-1jljqe9"> </div>'),Mn=A('<div class="container svelte-1jljqe9"><div class="label svelte-1jljqe9">Are you sure, you want to delete this group?</div> <!> <!></div>');function Un(_,s){le(s,!0);let t=G(s,"group",19,()=>({})),d=C(!1),i=C("");async function g(){a(i,""),a(d,!0);let o=await Cr(t().id);if(o.ok)s.onSave();else{let $=await o.json();a(i,n($.message))}a(d,!1)}var f=Mn(),u=l(c(f),2);Se(u,{level:1,get isLoading(){return e(d)},set isLoading(o){a(d,n(o))},$$events:{click:g},children:(o,$)=>{q();var m=B("DELETE");r(o,m)},$$slots:{default:!0}});var I=l(u,2);{var E=o=>{var $=On(),m=c($,!0);v($),K(()=>Y(m,e(i))),r(o,$)};P(I,o=>{e(i)&&o(E)})}v(f),r(_,f),ne()}var qn=A('<div class="data font-mono svelte-115hohv"> </div>'),Gn=A('<div class="data svelte-115hohv"> </div>'),Wn=A('<div class="header svelte-115hohv"><!> <!></div>'),Kn=A("<div><!></div>"),Fn=A("<div><!></div>"),Vn=A("<div><!> <!></div>");function Bn(_,s){le(s,!0);let t=G(s,"group",31,()=>n({})),d=C(void 0);const i=["Config","Delete"];let g=C(n(i[0]));const f=200,u=f/2;function I(){a(d,!1),s.onSave()}ot(_,{get show(){return e(d)},set show(E){a(d,n(E))},header:E=>{var o=Wn(),$=c(o);Ze($,{text:"Group ID",children:(T,k)=>{var h=qn(),y=c(h,!0);v(h),K(()=>Y(y,t().id)),r(T,h)},$$slots:{default:!0}});var m=l($,2);Ze(m,{text:"Group Name",children:(T,k)=>{var h=Gn(),y=c(h,!0);v(h),K(()=>Y(y,t().name)),r(T,h)},$$slots:{default:!0}}),v(o),r(E,o)},body:E=>{var o=Vn(),$=c(o);Dt($,{labels:i,get selected(){return e(g)},set selected(h){a(g,n(h))}});var m=l($,2);{var T=h=>{var y=Kn(),w=c(y);zn(w,{get onSave(){return s.onSave},get group(){return t()},set group(b){t(b)}}),v(y),ce(5,y,()=>_e,()=>({delay:u,duration:f})),ce(6,y,()=>_e,()=>({duration:f})),r(h,y)},k=h=>{var y=me(),w=ee(y);{var b=x=>{var p=Fn(),S=c(p);Un(S,{get group(){return t()},onSave:I}),v(p),ce(5,p,()=>_e,()=>({delay:u,duration:f})),ce(6,p,()=>_e,()=>({duration:f})),r(x,p)};P(w,x=>{e(g)==="Delete"&&x(b)},!0)}r(h,y)};P(m,h=>{e(g)==="Config"?h(T):h(k,!1)})}v(o),r(E,o)},$$slots:{header:!0,body:!0}}),ne()}var Jn=A('<div class="svelte-106k2r5"><!></div>'),Yn=A(' <div class="content"><!> <!> <div id="groups" class="svelte-106k2r5"></div> <!> <div style="height: 20px"></div></div>',1);function Hn(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(n([])),g=C(n([])),f=[{label:"Name",callback:(w,b)=>w.name.toLowerCase().includes(b.toLowerCase())},{label:"ID",callback:(w,b)=>w.id.toLowerCase().includes(b.toLowerCase())}],u=[{label:"Name",callback:(w,b)=>w.name.localeCompare(b.name)},{label:"ID",callback:(w,b)=>w.id.localeCompare(b.id)}];Ne(async()=>{I()});async function I(){let w=await Ba(),b=await w.json();w.ok?a(d,n([...b])):a(t,n(b.message))}function E(){I()}q();var o=Yn(),$=ee(o),m=l($),T=c(m);Lt(T,{get items(){return e(d)},searchOptions:f,orderOptions:u,get resItems(){return e(i)},set resItems(w){a(i,n(w))}});var k=l(T,2);Rn(k,{onSave:E});var h=l(k,2);We(h,23,()=>e(g),w=>w.id,(w,b,x)=>{let p=x;var S=Jn(),L=c(S);Bn(L,{onSave:E,get group(){return e(g)[e(p)]},set group(D){e(g)[e(p)]=D}}),v(S),r(w,S)}),v(h);var y=l(h,2);jt(y,{get items(){return e(i)},set items(w){a(i,n(w))},get resItems(){return e(g)},set resItems(w){a(g,n(w))}}),q(2),v(m),K(()=>Y($,`${e(t)??""} `)),r(_,o),ne()}var Xn=A('<div class="header font-label svelte-r30xs6">ADD NEW SCOPE</div>'),Zn=A('<div class="success svelte-r30xs6">Success</div>'),Qn=A('<div class="err svelte-r30xs6"> </div>'),eo=A('<div class="container svelte-r30xs6"><!> <!> <!> <!></div>');function to(_,s){le(s,!0);let t=G(s,"idx",31,()=>-1),d=C(void 0),i=C(n({scope:""})),g=C(""),f=C(!1),u=C(void 0),I=C(n({}));const E=He().shape({scope:he().trim().matches(qt,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});Te(()=>{e(f)&&a(u,n(setTimeout(()=>{s.onSave(),a(f,!1),a(i,n({scope:""})),a(d,!1)},1500)))}),Ne(()=>()=>clearTimeout(e(u)));async function o(){if(a(g,""),!await $()){a(g,"Invalid input");return}e(i).scope=e(i).scope.trim();let m=await vi(e(i));if(m.ok)a(f,!0);else{let T=await m.json();a(g,n(T.message))}}async function $(){try{return await E.validate(e(i),{abortEarly:!1}),a(I,n({})),!0}catch(m){return a(I,n(Ye(m))),!1}}ot(_,{get idx(){return t()},set idx(m){t(m)},get show(){return e(d)},set show(m){a(d,n(m))},header:m=>{var T=Xn();r(m,T)},body:m=>{var T=eo(),k=c(T);ie(k,{autocomplete:"off",placeholder:"Scope Name",get value(){return e(i).scope},set value(p){e(i).scope=p},get error(){return e(I).scope},set error(p){e(I).scope=p},$$events:{input:$},children:(p,S)=>{q();var L=B("SCOPE NAME");r(p,L)},$$slots:{default:!0}});var h=l(k,2);Se(h,{level:1,width:"4rem",$$events:{click:o},children:(p,S)=>{q();var L=B("SAVE");r(p,L)},$$slots:{default:!0}});var y=l(h,2);{var w=p=>{var S=Zn();r(p,S)};P(y,p=>{e(f)&&p(w)})}var b=l(y,2);{var x=p=>{var S=Qn(),L=c(S,!0);v(S),K(()=>Y(L,e(g))),r(p,S)};P(b,p=>{e(g)&&p(x)})}v(T),r(m,T)},$$slots:{header:!0,body:!0}}),ne()}var ao=A('<div class="desc svelte-guvobw"><p>Custom mappings cannot be done for OpenID default scopes and their names cannot be changed.</p></div>'),so=A('<div class="desc svelte-guvobw"><p>You can map custom scopes to attributes.<br> All additional attributes, that were configured, can have a custom value for each user.<br> When they are mapped to a scope, they can be included in the Access and / or ID Tokens.</p></div> <div class="unit svelte-guvobw"><div class="label svelte-guvobw">ACCESS TOKEN MAPPINGS</div> <!></div> <div class="unit svelte-guvobw"><div class="label svelte-guvobw">ID TOKEN MAPPINGS</div> <!></div>',1),ro=A('<div class="success svelte-guvobw">Success</div>'),io=A('<div class="mainErr err svelte-guvobw"> </div>'),lo=A("<!> <!> <!>",1),no=A('<div class="container svelte-guvobw"><div class="unit svelte-guvobw"><div class="label font-label svelte-guvobw">ID</div> <div class="value font-mono svelte-guvobw"> </div></div> <!> <div class="separator"></div> <!> <!></div>');function oo(_,s){le(s,!0);let t=G(s,"attrs",27,()=>n([])),d=G(s,"scope",31,()=>n({})),i=C(""),g=C(!1),f=C(void 0),u=C(!1),I=C(n([]));Te(()=>{e(g)&&a(f,n(setTimeout(()=>{a(g,!1),s.onSave()},2e3)))}),Te(()=>{t()&&a(I,n(t().map(D=>D.name)))}),Ne(()=>(a(u,n(Pa(d().name))),()=>clearTimeout(e(f))));let E=C(n({}));const o=He().shape({name:he().trim().matches(qt,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});async function $(){if(a(i,""),!await m()){a(i,"Invalid input");return}let D={scope:d().name.trim()};d().attr_include_access.length>0&&(D.attr_include_access=d().attr_include_access),d().attr_include_id.length>0&&(D.attr_include_id=d().attr_include_id);let j=await di(d().id,D);if(j.ok)a(g,!0);else{let N=await j.json();a(i,n(N.message))}}async function m(){try{return await o.validate(d(),{abortEarly:!1}),a(E,n({})),!0}catch(D){return a(E,n(Ye(D))),!1}}var T=no(),k=c(T),h=l(c(k),2),y=c(h,!0);v(h),v(k);var w=l(k,2);ie(w,{autocomplete:"off",placeholder:"Scope Name",get disabled(){return e(u)},get value(){return d().name},set value(D){d(d().name=D,!0)},get error(){return e(E).name},set error(D){e(E).name=D},$$events:{input:m},children:(D,j)=>{q();var N=B("SCOPE NAME");r(D,N)},$$slots:{default:!0}});var b=l(w,4);{var x=D=>{var j=ao();r(D,j)},p=D=>{var j=so(),N=l(ee(j),2);oe(N,"margin-top","-3px");var V=l(c(N),2);zt(V,{get options(){return e(I)},searchThreshold:4,get items(){return d().attr_include_access},set items(z){d(d().attr_include_access=z,!0)}}),v(N);var R=l(N,2);oe(R,"margin-top","-3px");var F=l(c(R),2);zt(F,{get options(){return e(I)},searchThreshold:4,get items(){return d().attr_include_id},set items(z){d(d().attr_include_id=z,!0)}}),v(R),r(D,j)};P(b,D=>{e(u)?D(x):D(p,!1)})}var S=l(b,2);{var L=D=>{var j=lo(),N=ee(j);Se(N,{level:1,width:"4rem",$$events:{click:$},children:(O,U)=>{q();var Q=B("SAVE");r(O,Q)},$$slots:{default:!0}});var V=l(N,2);{var R=O=>{var U=ro();r(O,U)};P(V,O=>{e(g)&&O(R)})}var F=l(V,2);{var z=O=>{var U=io(),Q=c(U,!0);v(U),K(()=>Y(Q,e(i))),r(O,U)};P(F,O=>{e(i)&&O(z)})}r(D,j)};P(S,D=>{e(u)||D(L)})}v(T),K(()=>Y(y,d().id)),r(_,T),ne()}var vo=A('<div class="label svelte-1jljqe9">OpenID default scopes cannot be deleted</div>'),co=A('<div class="err svelte-1jljqe9"> </div>'),uo=A('<div class="label svelte-1jljqe9">Are you sure, you want to delete this scope?</div> <!> <!>',1),ho=A('<div class="container svelte-1jljqe9"><!></div>');function po(_,s){le(s,!0);let t=G(s,"scope",19,()=>({})),d=C(!1),i=C("");async function g(){a(i,""),a(d,!0);let o=await ci(t().id);if(o.ok)s.onSave();else{let $=await o.json();a(i,n($.message))}a(d,!1)}var f=ho(),u=c(f);{var I=o=>{var $=vo();r(o,$)},E=o=>{var $=uo(),m=l(ee($),2);Se(m,{level:1,get isLoading(){return e(d)},set isLoading(h){a(d,n(h))},$$events:{click:g},children:(h,y)=>{q();var w=B("DELETE");r(h,w)},$$slots:{default:!0}});var T=l(m,2);{var k=h=>{var y=co(),w=c(y,!0);v(y),K(()=>Y(w,e(i))),r(h,y)};P(T,h=>{e(i)&&h(k)})}r(o,$)};P(u,o=>{Pa(t().name)?o(I):o(E,!1)})}v(f),r(_,f),ne()}var mo=A('<div class="data font-mono svelte-115hohv"> </div>'),go=A('<div class="data svelte-115hohv"> </div>'),fo=A('<div class="header svelte-115hohv"><!> <!></div>'),yo=A("<div><!></div>"),wo=A("<div><!></div>"),bo=A("<div><!> <!></div>");function $o(_,s){le(s,!0);let t=G(s,"attrs",15),d=G(s,"scope",31,()=>n({})),i=G(s,"onSave",15),g=C(void 0);const f=["Config","Delete"];let u=C(n(f[0]));const I=200,E=I/2;function o(){a(g,!1),i()()}ot(_,{get show(){return e(g)},set show($){a(g,n($))},header:$=>{var m=fo(),T=c(m);Ze(T,{text:"Scope ID",children:(h,y)=>{var w=mo(),b=c(w,!0);v(w),K(()=>Y(b,d().id)),r(h,w)},$$slots:{default:!0}});var k=l(T,2);Ze(k,{text:"Scope Name",children:(h,y)=>{var w=go(),b=c(w,!0);v(w),K(()=>Y(b,d().name)),r(h,w)},$$slots:{default:!0}}),v(m),r($,m)},body:$=>{var m=bo(),T=c(m);Dt(T,{labels:f,get selected(){return e(u)},set selected(w){a(u,n(w))}});var k=l(T,2);{var h=w=>{var b=yo(),x=c(b);oo(x,{get attrs(){return t()},set attrs(p){t(p)},get scope(){return d()},set scope(p){d(p)},get onSave(){return i()},set onSave(p){i(p)}}),v(b),ce(5,b,()=>_e,()=>({delay:E,duration:I})),ce(6,b,()=>_e,()=>({duration:I})),r(w,b)},y=w=>{var b=me(),x=ee(b);{var p=S=>{var L=wo(),D=c(L);po(D,{get scope(){return d()},onSave:o}),v(L),ce(5,L,()=>_e,()=>({delay:E,duration:I})),ce(6,L,()=>_e,()=>({duration:I})),r(S,L)};P(x,S=>{e(u)==="Delete"&&S(p)},!0)}r(w,b)};P(k,w=>{e(u)==="Config"?w(h):w(y,!1)})}v(m),r($,m)},$$slots:{header:!0,body:!0}}),ne()}var _o=A('<div class="svelte-1tlglcs"><!></div>'),ko=A(' <div class="content"><!> <!> <div id="scopes" class="svelte-1tlglcs"></div> <!> <div style="height: 20px"></div></div>',1);function xo(_,s){le(s,!0);let t=C(n([])),d=C(""),i=C(n([])),g=C(n([])),f=C(n([])),u=C(""),I=[{label:"Name",callback:(p,S)=>p.name.toLowerCase().includes(S.toLowerCase())},{label:"ID",callback:(p,S)=>p.id.toLowerCase().includes(S.toLowerCase())}],E=[{label:"Name",callback:(p,S)=>p.name.localeCompare(S.name)},{label:"ID",callback:(p,S)=>p.id.localeCompare(S.id)}];Ne(()=>{$(),o(),a(u,"")});async function o(){let p=await ma();if(!p.ok)a(d,"Error fetching attributes: "+p.body.message);else{let S=await p.json();a(t,n([...S.values]))}}async function $(){let p=await Za(),S=await p.json();p.ok?a(i,n([...S])):a(d,n(S.message))}function m(){$()}q();var T=ko(),k=ee(T),h=l(k),y=c(h);Lt(y,{get items(){return e(i)},searchOptions:I,orderOptions:E,get resItems(){return e(g)},set resItems(p){a(g,n(p))},get search(){return e(u)},set search(p){a(u,n(p))}});var w=l(y,2);to(w,{onSave:m});var b=l(w,2);We(b,23,()=>e(f),p=>p.id,(p,S,L)=>{var D=_o(),j=c(D);$o(j,{onSave:m,get attrs(){return e(t)},set attrs(N){a(t,n(N))},get scope(){return e(f)[e(L)]},set scope(N){e(f)[e(L)]=N}}),v(D),r(p,D)}),v(b);var x=l(b,2);jt(x,{get items(){return e(g)},set items(p){a(g,n(p))},get resItems(){return e(f)},set resItems(p){a(f,n(p))}}),q(2),v(h),K(()=>Y(k,`${e(d)??""} `)),r(_,T),ne()}var Eo=A('<div class="entry svelte-f2hz2l"><div class="label svelte-f2hz2l"> </div> <!></div>'),Io=A('<div class="list svelte-f2hz2l"></div>');function ss(_,s){let t=G(s,"options",19,()=>[{label:"password",value:!1},{label:"refresh_token",value:!1}]);var d=Io();We(d,21,t,yt,(i,g,f)=>{var u=Eo(),I=c(u),E=c(I,!0);v(I);var o=l(I,2);Be(o,{get selected(){return e(g).value},set selected($){e(g).value=$}}),v(u),K(()=>Y(E,e(g).label)),r(i,u)}),v(d),r(_,d)}var So=A("<div><!></div>");function Co(_,s){le(s,!0);let t=G(s,"validation",19,()=>({})),d=G(s,"value",15),i=G(s,"autocomplete",11,"on"),g=G(s,"validate",15),f=Jt(s,["$$slots","$$events","$$legacy","validation","name","value","width","autocomplete","children","validate"]);g($);let u=C("");const I=na();async function E(){await Bt(),I("input",!0),$()}async function o(){I("blur",!0),$()}function $(){var k;return a(u,""),d()&&((k=t())!=null&&k.regex)&&!d().match(t().regex)?(a(u,n(t().errMsg||"Invalid input")),!1):!0}var m=So(),T=c(m);return ie(T,La({get width(){return s.width},get name(){return s.name},get autocomplete(){return i()}},()=>f,{get value(){return d()},set value(k){d(k)},get error(){return e(u)},set error(k){a(u,n(k))},$$events:{input:E,blur:o},children:(k,h)=>{var y=me(),w=ee(y);At(w,()=>s.children??Ct),r(k,y)},$$slots:{default:!0}})),v(m),ce(7,m,()=>pt,()=>({duration:200})),r(_,m),ne({validateValue:$})}var Ao=A('<div class="err svelte-nzivgu"> </div>'),To=A('<div class="container svelte-nzivgu"><!> <!></div>');function Kt(_,s){le(s,!0);let t=G(s,"validation",27,()=>n({required:!1,regex:void 0,errMsg:""})),d=G(s,"values",15),i=G(s,"validate",15),g=G(s,"width",3,"260px"),f=G(s,"optional",3,!1),u=G(s,"autocomplete",15,"on"),I=Jt(s,["$$slots","$$events","$$legacy","validation","values","validate","width","optional","autocomplete","children"]);i(k);let E=C(""),o=C(n([]));const $=na();Ne(()=>{d()||d([]);for(let x of d())e(o).push({name:Mt(),value:x});e(o).push({name:Mt(),value:""})});async function m(){await Bt(),e(o)[e(o).length-1].value?e(o).push({name:Mt(),value:""}):e(o).length>1&&!e(o)[e(o).length-2].value&&a(o,n([...e(o).slice(0,e(o).length-1)])),$("input",!0),k(),d(T())}function T(){k();let x=[];for(let p=0;p<e(o).length-1;p++)x.push(e(o)[p].value);return x}function k(){if(t().required&&e(o).length===1&&!e(o)[0].value)return f()?!0:(a(E,"Required"),!1);let x=!0;for(let p of e(o))p.value&&!p.validate()&&(x=!1);return x}var h=To(),y=c(h);We(y,17,()=>e(o),yt,(x,p,S)=>{Co(x,La({width:"calc({width} - 20px)",get validation(){return t()},get name(){return e(p).name}},()=>I,{get value(){return e(p).value},set value(L){e(p).value=L},get validate(){return e(p).validate},set validate(L){e(p).validate=L},get autocomplete(){return u()},set autocomplete(L){u(L)},$$events:{input:m,blur:m},children:(L,D)=>{var j=me(),N=ee(j);At(N,()=>s.children??Ct),r(L,j)},$$slots:{default:!0}}))});var w=l(y,2);{var b=x=>{var p=Ao(),S=c(p,!0);v(p),K(()=>Y(S,e(E))),r(x,p)};P(w,x=>{e(E)&&x(b)})}return v(h),K(()=>oe(h,"width",g())),r(_,h),ne({getValues:T,validateValues:k})}var Lo=A('<div class="desc svelte-1pba61y"><p><span><b>CAUTION:</b></span> The <code class="svelte-1pba61y">FORCE MFA</code> option for <code class="svelte-1pba61y">rauthy</code> itself is managed statically via the <code class="svelte-1pba61y">ADMIN_FORCE_MFA</code> config variable and will be overridden with each restart.</p></div>'),No=A(`<div class="desc svelte-1pba61y"><p><span><b>CAUTION:</b></span> If you <code class="svelte-1pba61y">FORCE MFA</code> for this client here, this will only apply to the <code class="svelte-1pba61y">authorization_code</code> flow! If you use other flows,
+import"./disclose-version.BDr9Qe-U.js";import{T as K,p as le,o as Ne,U as c,R as l,n as Ct,W as v,a as ne,Q as ee,j as a,g as e,P as C,X as Bt,d as ys,V as q,h as Ke,aP as na,aZ as Ca,b as ws,$ as Aa}from"./index-client.CzqVbBUo.js";import{h as Ta}from"./svelte-head.BSz900xL.js";import{a as r,n as Xe,t as A,c as me,b as B}from"./template.io25wnf1.js";import{i as P,p as n}from"./if.BnegfJmL.js";import{p as G,s as bs,a as $s,c as La,r as Jt}from"./props.C_MHtC74.js";import{ar as oa,as as _s,P as ut,v as va,w as ks,ac as xs,ad as Es,ae as Is,af as Na,L as Ra,at as Ot,o as Ye,au as Da,al as ja,B as Ss,ah as Cs,ak as As,ap as Ts,av as qt,aw as Pa,ax as Ls,ay as Ns,a7 as Xt,m as tt,az as Rs,aA as Ds,aB as za,aC as ft,aD as js,a2 as Oa,aE as Ma,aF as Ua,aG as Gt,aH as da,aI as Ps,aJ as zs,aK as Os,aL as qa,aM as Ga,aN as ca,ao as Ms,a1 as Us,aO as qs}from"./dataFetching.Br47vc1D.js";import{s as ue,t as ce,f as ht,d as nt,a as _e,B as Se,L as ua,e as ha,c as Gs,g as Nt}from"./Button.JzTZa4bh.js";import{s as oe,t as Et,c as Ws,g as Mt,b as Rt}from"./helpers.BvaXa0cv.js";import{b as dt,a as Ze,S as Be,D as Ks,E as ot,T as Dt,I as Zt,d as Fs,h as Wa,e as Vs,c as Bs}from"./Devices.1_HD5eJJ.js";import{r as Te}from"./legacy-client.DPLAlLYD.js";import{d as pt,e as Me,s as Y,r as pa}from"./render.CK5MTJQL.js";import{s as At}from"./snippet.B82X2vfx.js";import{w as Tt}from"./index.GhyFcvTZ.js";import{a as Qt,C as ea}from"./CheckIcon.B6v_Qvnl.js";import{t as Js,c as Ys}from"./tweened.x1rdCnFk.js";import{A as Hs}from"./AppVersion.C23iCWTd.js";import{e as We,i as yt,b as Ka,O as kt}from"./OptionSelect.jFlepSwk.js";import{c as He,a as he,b as wt,I as ie}from"./Input.jkTumKYK.js";import{P as Wt,I as Fa,a as Va,b as Xs}from"./PasswordInput.DOldwDot.js";import{P as Zs}from"./PasswordPolicy.DbNoBlQZ.js";import{b as Qs}from"./this.CLOcaDU7.js";import"./legacy.Cdp_P06_.js";const er=Tt(),tr=Tt(),Yt=Tt(""),ta=Tt(!0);var ar=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"></path></svg>');function sr(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=ar();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var rr=A('<div role="button" tabindex="0" class="close svelte-1qa3cal"><!></div> <div class="logo svelte-1qa3cal"><!></div>',1),ir=A('<div role="button" tabindex="0" class="burger svelte-1qa3cal"><!></div> <div></div> <div class="logo svelte-1qa3cal"><!></div>',1),lr=A('<div class="version svelte-1qa3cal"><!></div>'),nr=A('<nav class="nav svelte-1qa3cal"><div><!> <div class="menu svelte-1qa3cal"><div class="links svelte-1qa3cal"><!></div></div></div> <!></nav>');function or(_,s){le(s,!0);const t=bs(),d=()=>$s(I,"$width",t);let i=G(s,"selected",15,""),g=G(s,"widthExpanded",3,185),f=G(s,"widthCollapsed",3,60),u=G(s,"isExpanded",15,!0);const I=Js(u()?g():f(),{duration:200,easing:Ys});ta.subscribe(p=>u(p)),Yt.subscribe(p=>{p&&i(p)}),Te(()=>{u()?(ta.set(!0),I.set(g())):(ta.set(!1),setTimeout(()=>{I.set(f())},200))}),Te(()=>{i()&&Yt.set(i())}),Ne(()=>{er.set(g()),tr.set(f()),Yt.set(i())});function E(){u(!u())}var o=nr(),$=c(o),m=c($);{var T=p=>{var S=rr(),L=ee(S);L.__click=E;var D=c(L);Qt(D,{}),v(L);var j=l(L,2),N=c(j);At(N,()=>s.logo??Ct),v(j),K(()=>oe(L,"left",`calc(${d()??""}px - 22px)`)),Me("keypress",L,E),ce(1,L,()=>ht,()=>({delay:500,duration:200})),ce(2,L,()=>ht,()=>({duration:100})),ce(1,j,()=>ht,()=>({delay:250,duration:100})),ce(2,j,()=>ht,()=>({duration:20})),r(p,S)},k=p=>{var S=ir(),L=ee(S);L.__click=E,oe(L,"left","3px");var D=c(L);sr(D,{width:24}),v(L);var j=l(L,2);oe(j,"height","10px");var N=l(j,2),V=c(N);At(V,()=>s.logo??Ct),v(N),Me("keypress",L,E),ce(1,L,()=>ht,()=>({delay:500,duration:200})),ce(2,L,()=>ht,()=>({duration:100})),ce(1,N,()=>ht,()=>({delay:250,duration:100})),ce(2,N,()=>ht,()=>({duration:20})),r(p,S)};P(m,p=>{u()?p(T):p(k,!1)})}var h=l(m,2),y=c(h),w=c(y);At(w,()=>s.entries??Ct),v(y),v(h),v($);var b=l($,2);{var x=p=>{var S=lr(),L=c(S);Hs(L,{}),v(S),ce(1,S,()=>ht,()=>({delay:500,duration:200})),ce(2,S,()=>ht,()=>({duration:100})),r(p,S)};P(b,p=>{u()&&p(x)})}v(o),K(()=>{oe(o,"min-width",`${d()??""}px`),oe(o,"width",`${d()??""}px`),oe(o,"padding",u()?"20px 10px":"10px 3px")}),r(_,o),ne()}pt(["click"]);var vr=A('<div role="menuitem" tabindex="0" class="entry noselect font-label svelte-ueauq5"><!> <span class="label svelte-ueauq5"> </span></div>'),dr=A('<div role="menuitem" tabindex="0" class="entryCollapsed noselect font-label svelte-ueauq5"><!> <span class="labelCollapsed svelte-ueauq5"> </span></div>');function mt(_,s){le(s,!0);let t=G(s,"label",3,""),d=G(s,"slotCollapsed",3,!0),i=C(!0),g=C("var(--col-text)"),f=C("");Yt.subscribe(k=>a(f,n(k))),ta.subscribe(k=>a(i,n(k)));let u=C(!1);function I(){e(u)?a(g,"var(--col-err)"):e(f)===t()?a(g,"var(--col-ok)"):a(g,"var(--col-text)")}function E(){Yt.set(t())}Te(()=>{e(f)&&I()}),Te(()=>{e(u)?a(g,"var(--col-err)"):I()});var o=me(),$=ee(o);{var m=k=>{var h=vr();h.__click=E;var y=c(h);At(y,()=>s.children??Ct);var w=l(y,2),b=c(w,!0);v(w),v(h),K(()=>{Et(h,"selected",e(f)===t()),Y(b,t())}),Me("keypress",h,E),Me("mouseenter",h,()=>a(u,!0)),Me("mouseleave",h,()=>a(u,!1)),ce(7,h,()=>ht,()=>({duration:100})),r(k,h)},T=k=>{var h=dr();h.__click=E;var y=c(h);{var w=p=>{var S=me(),L=ee(S);At(L,()=>s.children??Ct),r(p,S)};P(y,p=>{d()&&p(w)})}var b=l(y,2),x=c(b,!0);v(b),v(h),K(()=>{Et(h,"selectedCollapsed",e(f)===t()),Y(x,t())}),Me("keypress",h,E),Me("mouseenter",h,()=>a(u,!0)),Me("mouseleave",h,()=>a(u,!1)),ce(5,h,()=>ht,()=>({delay:200,duration:100})),r(k,h)};P($,k=>{e(i)?k(m):k(T,!1)})}r(_,o),ne()}pt(["click"]);const it={"Content-Type":"application/json",Accept:"application/json"};function De(){return{"csrf-token":oa(),"Content-Type":"application/json",Accept:"application/json"}}async function ke(_){return _.status===403&&(await _.json()).error==="MfaRequired"&&(console.error("MFA is required for a rauthy admin account"),await Ws(3e3),window.location.reload()),(_.status===401||_.status===403)&&window.location.reload(),_}async function cr(){return await fetch("/auth/v1/oidc/certs",{method:"GET",headers:it})}async function ur(){const _=await fetch("/auth/v1/clients",{method:"GET",headers:it});return await ke(_)}async function hr(_){const s=await fetch("/auth/v1/clients",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function pr(_){const s=await fetch(`/auth/v1/clients/${_.id}`,{method:"PUT",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function mr(_){const s=await fetch(`/auth/v1/clients/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function gr(_){const s=await fetch(`/auth/v1/clients/${_}/colors`,{method:"GET",headers:it});return await ke(s)}async function fr(_,s){const t=await fetch(`/auth/v1/clients/${_}/colors`,{method:"PUT",headers:De(),body:JSON.stringify(s)});return await ke(t)}async function yr(_){const s=await fetch(`/auth/v1/clients/${_}/colors`,{method:"DELETE",headers:De()});return await ke(s)}async function wr(_,s){const t=new FormData;t.append("logo",s);const d=await fetch(`/auth/v1/clients/${_}/logo`,{method:"PUT",headers:{"csrf-token":oa()},body:t});return await ke(d)}async function br(_){const s=await fetch(`/auth/v1/clients/${_}/logo`,{method:"DELETE",headers:De()});return await ke(s)}async function $r(_){const s=await fetch(`/auth/v1/clients/${_}/secret`,{method:"POST",headers:De()});return await ke(s)}async function _r(_){const s=await fetch(`/auth/v1/clients/${_}/secret`,{method:"PUT",headers:De()});return await ke(s)}async function kr(){const _=await fetch("/auth/v1/encryption/keys",{method:"GET",headers:it});return await ke(_)}async function xr(_){const s=await fetch("/auth/v1/encryption/migrate",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Er(_){const s=await fetch("/auth/v1/events",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Ba(){const _=await fetch("/auth/v1/groups",{method:"GET",headers:it});return await ke(_)}async function Ir(_){const s=await fetch("/auth/v1/groups",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Sr(_,s){const t=await fetch(`/auth/v1/groups/${_}`,{method:"PUT",headers:De(),body:JSON.stringify(s)});return await ke(t)}async function Cr(_){const s=await fetch(`/auth/v1/groups/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function Ar(){const _=await fetch("/auth/v1/login_time",{method:"GET",headers:it});return await ke(_)}async function Tr(_){const s=await fetch("/auth/v1/password_hash_times",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Lr(_){const s=await fetch("/auth/v1/password_policy",{method:"PUT",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Nr(_){const s=await fetch("/auth/v1/users/request_reset",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Rr(){return await fetch("/auth/v1/providers",{method:"POST",headers:De()})}async function Dr(_){return await fetch("/auth/v1/providers/create",{method:"POST",headers:De(),body:JSON.stringify(_)})}async function jr(_,s){return await fetch(`/auth/v1/providers/${_}`,{method:"PUT",headers:De(),body:JSON.stringify(s)})}async function Pr(_){return await fetch(`/auth/v1/providers/${_}`,{method:"DELETE",headers:De()})}async function zr(_){return await fetch(`/auth/v1/providers/${_}/delete_safe`,{method:"GET",headers:De()})}async function Or(_,s){const t=new FormData;t.append("logo",s);const d=await fetch(`/auth/v1/providers/${_}/img`,{method:"PUT",headers:{"csrf-token":oa()},body:t});return await ke(d)}async function Mr(_){return await fetch("/auth/v1/providers/lookup",{method:"POST",headers:De(),body:JSON.stringify(_)})}async function Ur(){const _=await fetch("/auth/v1/oidc/rotate_jwk",{method:"POST",headers:De()});return await ke(_)}async function qr(){const _=await fetch("/auth/v1/sessions",{method:"GET",headers:it});return await ke(_)}async function Ja(_,s,t,d){let i=`/auth/v1/sessions?page_size=${_}`;s&&(i=`${i}&offset=${s}`),d&&(i=`${i}&backwards=${d}`),t&&(i=`${i}&continuation_token=${t}`);const g=await fetch(i,{method:"GET",headers:it});return await ke(g)}async function Gr(){const _=await fetch("/auth/v1/sessions",{method:"DELETE",headers:De()});return await ke(_)}async function Wr(_){const s=await fetch(`/auth/v1/sessions/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function Kr(){const _=await fetch("/auth/v1/users",{method:"GET",headers:it});return await ke(_)}async function Ya(_,s,t,d){let i=`/auth/v1/users?page_size=${_}`;s&&(i=`${i}&offset=${s}`),d&&(i=`${i}&backwards=${d}`),t&&(i=`${i}&continuation_token=${t}`);const g=await fetch(i,{method:"GET",headers:it});return await ke(g)}async function Fr(_){const s=await fetch("/auth/v1/users",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Ha(_,s){const t=await fetch(`/auth/v1/users/${_}`,{method:"PUT",headers:De(),body:JSON.stringify(s)});return await ke(t)}async function Vr(_){const s=await fetch(`/auth/v1/users/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function ma(){const _=await fetch("/auth/v1/users/attr",{method:"GET",headers:it});return await ke(_)}async function Br(_){const s=await fetch("/auth/v1/users/attr",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function Jr(_,s){const t=await fetch(`/auth/v1/users/attr/${_}`,{method:"PUT",headers:De(),body:JSON.stringify(s)});return await ke(t)}async function Yr(_){const s=await fetch(`/auth/v1/users/attr/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function Hr(_){const s=await fetch(`/auth/v1/users/${_}/attr`,{method:"GET",headers:it});return await ke(s)}async function Xr(_,s){const t=await fetch(`/auth/v1/users/${_}/attr`,{method:"PUT",headers:De(),body:JSON.stringify(s)});return await ke(t)}async function Zr(){const _=await fetch("/auth/v1/api_keys",{method:"GET",headers:it});return await ke(_)}async function Qr(_){const s=await fetch("/auth/v1/api_keys",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function ei(_){const s=await fetch(`/auth/v1/api_keys/${_.name}`,{method:"PUT",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function ti(_){const s=await fetch(`/auth/v1/api_keys/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function ai(_){const s=await fetch(`/auth/v1/api_keys/${_}/secret`,{method:"PUT",headers:De()});return await ke(s)}async function si(){const _=await fetch("/auth/v1/blacklist",{method:"GET",headers:it});return await ke(_)}async function ri(_){const s=await fetch("/auth/v1/blacklist",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function ii(_){const s=await fetch(`/auth/v1/blacklist/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function Xa(){const _=await fetch("/auth/v1/roles",{method:"GET",headers:it});return await ke(_)}async function li(_){const s=await fetch("/auth/v1/roles",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function ni(_,s){const t=await fetch(`/auth/v1/roles/${_}`,{method:"PUT",headers:De(),body:JSON.stringify(s)});return await ke(t)}async function oi(_){const s=await fetch(`/auth/v1/roles/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function Za(){const _=await fetch("/auth/v1/scopes",{method:"GET",headers:it});return await ke(_)}async function vi(_){const s=await fetch("/auth/v1/scopes",{method:"POST",headers:De(),body:JSON.stringify(_)});return await ke(s)}async function di(_,s){const t=await fetch(`/auth/v1/scopes/${_}`,{method:"PUT",headers:De(),body:JSON.stringify(s)});return await ke(t)}async function ci(_){const s=await fetch(`/auth/v1/scopes/${_}`,{method:"DELETE",headers:De()});return await ke(s)}async function ui(_,s,t){const d=await fetch(`/auth/v1/search?ty=${_}&idx=${s}&q=${t}`,{method:"GET",headers:it});return await ke(d)}const hi=Tt([]),ga=Tt([]),pi=Tt([]),fa=Tt([]),mi=Tt([]),Qa=Tt([]);var gi=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 4.5v15m7.5-7.5h-15"></path></svg>');function fi(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=gi();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var yi=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z"></path></svg>');function wi(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=yi();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var bi=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 9.75L14.25 12m0 0l2.25 2.25M14.25 12l2.25-2.25M14.25 12L12 14.25m-2.58 4.92l-6.375-6.375a1.125 1.125 0 010-1.59L9.42 4.83c.211-.211.498-.33.796-.33H19.5a2.25 2.25 0 012.25 2.25v10.5a2.25 2.25 0 01-2.25 2.25h-9.284c-.298 0-.585-.119-.796-.33z"></path></svg>');function $i(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=bi();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var _i=A("<option> </option>"),ki=A('<select class="opts font-label svelte-1yhbvsw"></select>'),xi=A('<div class="container svelte-1yhbvsw"><!> <div class="inputBar svelte-1yhbvsw"><input class="input svelte-1yhbvsw" type="text" placeholder="Search" autocomplete="off"> <div class="magnify svelte-1yhbvsw"><!></div></div> <div class="backWrap svelte-1yhbvsw"><div role="button" tabindex="0" class="back svelte-1yhbvsw"><!></div></div></div>');function es(_,s){le(s,!0);let t=G(s,"items",27,()=>n([])),d=G(s,"resItems",15),i=G(s,"options",19,()=>[]),g=G(s,"useServerSideIdx",11,""),f=G(s,"isSearchFiltered",15,!1),u=G(s,"search",15,""),I=C(""),E;Ne(()=>{i().length>0&&(a(I,n(i()[0].label)),o())});function o(){for(let j of i())if(j.label===e(I)){E=j.callback;break}E||console.error("Could not find a valid callback function in search options for label "+e(I))}function $(){u("")}function m(){if(u().length<2){d(t()),f(!1);return}d([...t().filter(j=>i().length>0?E(j,u()):j.toLowerCase().includes(u())||j===u())]),f(!0)}async function T(){if(u().length<_s){d(t()),f(!1);return}f(!0);const j=e(I).replaceAll("-","").replaceAll(" ","").toLowerCase();let N=await ui(g(),j,u());N.ok?d(await N.json()):console.error(N)}Te(()=>{e(I)&&o()}),Te(()=>{u()?g()?T():m():(d(t()),f(!1))});var k=xi(),h=c(k);{var y=j=>{Ze(j,{text:"Search by",yOffset:-30,children:(N,V)=>{var R=ki();We(R,21,i,yt,(F,z)=>{var O=_i(),U={},Q=c(O,!0);v(O),K(()=>{U!==(U=e(z).label)&&(O.value=(O.__value=e(z).label)==null?"":e(z).label),Y(Q,e(z).label)}),r(F,O)}),v(R),Ka(R,()=>e(I),F=>a(I,F)),r(N,R)},$$slots:{default:!0}})};P(h,j=>{i().length>1&&j(y)})}var w=l(h,2),b=c(w);nt(b),K(()=>ue(b,"name",Mt()));var x=l(b,2),p=c(x);wi(p,{width:20}),v(x),v(w);var S=l(w,2),L=c(S);L.__click=$;var D=c(L);$i(D,{}),v(L),v(S),v(k),dt(b,u),Me("keypress",L,$),r(_,k),ne()}pt(["click"]);var Ei=(_,s)=>a(s,!e(s)),Ii=A('<div class="search svelte-spg3op"><!></div>'),Si=(_,s,t)=>s(e(t)),Ci=A('<div role="button" tabindex="0" class="item svelte-spg3op"> </div>'),Ai=A('<div class="itemsContainer svelte-spg3op"><!> <div class="items noselect font-label svelte-spg3op"></div></div>'),Ti=A('<div class="wrapper svelte-spg3op"><div role="button" tabindex="0" class="icon svelte-spg3op"><!></div> <!></div>');function Li(_,s){le(s,!0);let t=G(s,"items",31,()=>n([])),d=G(s,"onSelect",3,h=>{}),i=G(s,"mindWidth",3,130),g=G(s,"maxHeight",19,()=>t().length>4?175:120),f=G(s,"searchThreshold",11,5),u=C(n([])),I=C(!1);Te(()=>{t().length<=f()&&a(u,n(t()))});function E(h){a(I,!1),a(u,n(t())),d()(h)}var o=Ti(),$=c(o);$.__click=[Ei,I];var m=c($);fi(m,{}),v($);var T=l($,2);{var k=h=>{var y=Ai(),w=c(y);{var b=p=>{var S=Ii(),L=c(S);es(L,{get items(){return t()},set items(D){t(D)},get resItems(){return e(u)},set resItems(D){a(u,n(D))}}),v(S),K(()=>oe(S,"max-width",`${i()}px`)),r(p,S)};P(w,p=>{t().length>f()&&p(b)})}var x=l(w,2);We(x,21,()=>e(u),yt,(p,S)=>{var L=Ci();L.__click=[Si,E,S];var D=c(L,!0);v(L),K(()=>Y(D,e(S))),Me("keypress",L,()=>E(e(S))),r(p,L)}),v(x),v(y),K(()=>{ue(y,"style",`min-width: ${i()??""}px; max-height: ${g()??""}px`),ue(x,"style",`width: ${i()??""}; max-height: ${(t().length>f()?g()-29:g())??""}px`)}),ce(7,y,()=>_e,()=>({duration:200})),r(h,y)};P(T,h=>{e(I)&&h(k)})}v(o),Me("keypress",$,()=>a(I,!e(I))),r(_,o),ne()}pt(["click"]);var Ni=(_,s,t)=>s()(t.label),Ri=A('<div class="label font-label svelte-jphwq"> <div role="button" tabindex="0" class="icon svelte-jphwq"><!></div></div>');function Di(_,s){le(s,!0);let t=G(s,"onDelete",3,()=>{});var d=Ri(),i=c(d),g=l(i);g.__click=[Ni,t,s];var f=c(g);Qt(f,{color:"--var(--col-bg)",width:14}),v(g),v(d),K(()=>Y(i,`${s.label??""} `)),Me("keypress",g,()=>t()(s.label)),r(_,d),ne()}pt(["click"]);var ji=A('<div class="container svelte-1iraqg1"><!> <!></div>');function zt(_,s){le(s,!0);let t=G(s,"items",15),d=G(s,"options",19,()=>[]),i=G(s,"searchThreshold",15,4),g=C(n([]));Ne(()=>{I()});async function f(k){t()||t([]),t().push(k),t([...t()]),await I()}async function u(k){t([...t().filter(h=>h!==k)]),await I()}async function I(){await Bt(),t()||t([]),a(g,n([...d().filter(k=>!t().includes(k))]))}var E=ji(),o=c(E);{var $=k=>{var h=me(),y=ee(h);We(y,17,t,yt,(w,b,x)=>{Di(w,{onDelete:u,get label(){return t()[x]},set label(p){t(t()[x]=p,!0)}})}),r(k,h)};P(o,k=>{var h;((h=t())==null?void 0:h.length)>0&&k($)})}var m=l(o,2);{var T=k=>{Li(k,{onSelect:f,get items(){return e(g)},set items(h){a(g,n(h))},get searchThreshold(){return i()},set searchThreshold(h){i(h)}})};P(m,k=>{e(g)&&e(g).length>0&&k(T)})}v(E),r(_,E),ne()}var Pi=A('<div class="success svelte-tl4x7h">Success</div>'),zi=A('<div class="err svelte-tl4x7h"> </div>'),Oi=A('<div class="container svelte-tl4x7h"><div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">USER ID</div> <div class="value font-mono svelte-tl4x7h"> </div></div> <div class="row svelte-tl4x7h"><div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">ENABLED</div> <div class="value svelte-tl4x7h"><!></div></div> <div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">E-MAIL VERIFIED</div> <div class="value svelte-tl4x7h"><!></div></div></div> <!> <!> <!> <div class="unit language svelte-tl4x7h"><div class="label svelte-tl4x7h">LANGUAGE</div> <div style="margin-top: .085rem"><!></div></div> <!> <!> <!> <!> <!> <!> <div class="unit svelte-tl4x7h"><div class="label svelte-tl4x7h">ROLES</div> <!></div> <div class="unit svelte-tl4x7h"><div class="label svelte-tl4x7h">GROUPS</div> <!></div> <div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">LIMIT LIFETIME</div> <div class="value svelte-tl4x7h"><!></div></div> <!> <div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">CREATED</div> <div class="value svelte-tl4x7h"> </div></div> <div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">LAST LOGIN</div> <div class="value svelte-tl4x7h"><!></div></div> <div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">PASSWORD EXPIRES</div> <div class="value svelte-tl4x7h"><!></div></div> <div class="unit svelte-tl4x7h"><div class="label font-label svelte-tl4x7h">MFA ACTIVE</div> <div class="value svelte-tl4x7h"><!></div></div> <div class="unit svelte-tl4x7h"><!> <!> <!></div></div>');function Mi(_,s){le(s,!0);let t=G(s,"user",31,()=>n({}));t().roles===void 0&&t(t().roles=[],!0),t().groups===void 0&&t(t().groups=[],!0);let d=C(""),i=C(!1),g=C(void 0),f=C(n(t().language.toUpperCase())),u=C(!!t().user_expires),I=C(n(ys(()=>e(u))?ut(t().user_expires,!0):void 0)),E=C(n([]));ga.subscribe(X=>{a(E,n(X))});let o=C(n([]));fa.subscribe(X=>{a(o,n(X))}),Te(()=>{e(i)&&a(g,n(setTimeout(()=>{a(i,!1),s.onSave()},3e3)))});let $=C(n({}));const m=He().shape({email:he().required("E-Mail is required").email("Bad E-Mail format"),given_name:he().trim().required("Given Name is required").matches(va,"Invalid characters"),family_name:he().nullable().trim().matches(ks,"Invalid characters")});let T=C(n({}));const k=He().shape({birthdate:he().nullable().trim().matches(xs,"Invalid characters"),phone:he().nullable().trim().matches(Es,"Format: +..."),street:he().nullable().trim().matches(Is,"Invalid characters"),zip:wt().nullable().min(1e3).max(999999),city:he().nullable().trim().matches(Na,"Invalid characters"),country:he().nullable().trim().matches(Na,"Invalid characters")});Ne(()=>()=>clearTimeout(e(g)));function h(X){X.code==="Enter"&&y()}async function y(){if(!await w())return;a(d,""),console.log(t().user_values);const X={email:t().email,given_name:t().given_name,family_name:t().family_name||null,language:e(f).toLowerCase(),roles:t().roles,groups:t().groups,enabled:t().enabled,email_verified:t().email_verified,user_expires:null,user_values:t().user_values};if(X.user_values.phone&&(X.user_values.phone=X.user_values.phone.replaceAll(" ","")),X.user_values.zip&&(X.user_values.zip=Number.parseInt(X.user_values.zip)),e(u)){let Le=Ot(e(I));if(!Le){a(d,"Invalid Date Input: User Expires");return}X.user_expires=Le}let Ee=await Ha(t().id,X);if(Ee.ok)a(i,!0);else{let Le=await Ee.json();a(d,n(Le.message))}}async function w(){let X=!0;try{await m.validate(t(),{abortEarly:!1}),a($,n({}))}catch(Ee){a($,n(Ye(Ee))),X=!1}try{await k.validate(t().user_values,{abortEarly:!1}),a(T,n({}))}catch(Ee){a(T,n(Ye(Ee))),X=!1}return X}var b=Oi(),x=c(b),p=l(c(x),2),S=c(p,!0);v(p),v(x);var L=l(x,2);oe(L,"margin-top","-5px");var D=c(L);oe(D,"width","107px");var j=l(c(D),2),N=c(j);Be(N,{get selected(){return t().enabled},set selected(X){t(t().enabled=X,!0)}}),v(j),v(D);var V=l(D,2);oe(V,"width","135px");var R=l(c(V),2),F=c(R);Be(F,{get selected(){return t().email_verified},set selected(X){t(t().email_verified=X,!0)}}),v(R),v(V),v(L);var z=l(L,2);ie(z,{type:"email",autocomplete:"off",placeholder:"E-Mail",get value(){return t().email},set value(X){t(t().email=X,!0)},get error(){return e($).email},set error(X){e($).email=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("E-MAIL");r(X,Le)},$$slots:{default:!0}});var O=l(z,2);ie(O,{autocomplete:"off",placeholder:"Given Name",get value(){return t().given_name},set value(X){t(t().given_name=X,!0)},get error(){return e($).given_name},set error(X){e($).given_name=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("GIVEN NAME");r(X,Le)},$$slots:{default:!0}});var U=l(O,2);ie(U,{autocomplete:"off",placeholder:"Family Name",get value(){return t().family_name},set value(X){t(t().family_name=X,!0)},get error(){return e($).family_name},set error(X){e($).family_name=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("FAMILY NAME");r(X,Le)},$$slots:{default:!0}});var Q=l(U,2),M=l(c(Q),2),W=c(M);kt(W,{options:Ra,get value(){return e(f)},set value(X){a(f,n(X))}}),v(M),v(Q);var J=l(Q,2);ie(J,{autocomplete:"off",placeholder:"Street",get value(){return t().user_values.street},set value(X){t(t().user_values.street=X,!0)},get error(){return e(T).street},set error(X){e(T).street=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("STREET");r(X,Le)},$$slots:{default:!0}});var Z=l(J,2);ie(Z,{type:"number",autocomplete:"off",placeholder:"ZIP",min:1e3,max:999999,get value(){return t().user_values.zip},set value(X){t(t().user_values.zip=X,!0)},get error(){return e(T).zip},set error(X){e(T).zip=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("ZIP");r(X,Le)},$$slots:{default:!0}});var re=l(Z,2);ie(re,{autocomplete:"off",placeholder:"City",get value(){return t().user_values.city},set value(X){t(t().user_values.city=X,!0)},get error(){return e(T).city},set error(X){e(T).city=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("CITY");r(X,Le)},$$slots:{default:!0}});var ve=l(re,2);ie(ve,{autocomplete:"off",placeholder:"Country",get value(){return t().user_values.country},set value(X){t(t().user_values.country=X,!0)},get error(){return e(T).country},set error(X){e(T).country=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("COUNTRY");r(X,Le)},$$slots:{default:!0}});var be=l(ve,2);ie(be,{autocomplete:"off",placeholder:"Phone",get value(){return t().user_values.phone},set value(X){t(t().user_values.phone=X,!0)},get error(){return e(T).phone},set error(X){e(T).phone=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("PHONE");r(X,Le)},$$slots:{default:!0}});var $e=l(be,2);ie($e,{type:"date",autocomplete:"off",placeholder:"Birthdate",get value(){return t().user_values.birthdate},set value(X){t(t().user_values.birthdate=X,!0)},get error(){return e(T).birthdate},set error(X){e(T).birthdate=X},$$events:{keypress:h,input:w},children:(X,Ee)=>{q();var Le=B("BIRTHDATE");r(X,Le)},$$slots:{default:!0}});var pe=l($e,2);oe(pe,"margin-top","-3px");var je=l(c(pe),2);zt(je,{get options(){return e(E)},searchThreshold:4,get items(){return t().roles},set items(X){t(t().roles=X,!0)}}),v(pe);var fe=l(pe,2),de=l(c(fe),2);zt(de,{get options(){return e(o)},searchThreshold:4,get items(){return t().groups},set items(X){t(t().groups=X,!0)}}),v(fe);var ye=l(fe,2);oe(ye,"margin-top","12px");var we=l(c(ye),2),Pe=c(we);Be(Pe,{get selected(){return e(u)},set selected(X){a(u,n(X))}}),v(we),v(ye);var Ce=l(ye,2);{var xe=X=>{var Ee=Ke(()=>Da(new Date));ie(X,{type:"datetime-local",step:"60",width:"16rem",get min(){return e(Ee)},max:"2099-01-01T00:00",get value(){return e(I)},set value(Le){a(I,n(Le))},$$events:{input:w},children:(Le,St)=>{q();var ae=B("USER EXPIRES");r(Le,ae)},$$slots:{default:!0}})};P(Ce,X=>{e(u)&&X(xe)})}var Re=l(Ce,2);oe(Re,"margin-top","12px");var H=l(c(Re),2),Ie=c(H,!0);K(()=>Y(Ie,ut(t().created_at))),v(H),v(Re);var ge=l(Re,2),Ue=l(c(ge),2),Je=c(Ue);{var rt=X=>{var Ee=B();K(()=>Y(Ee,ut(t().last_login))),r(X,Ee)},vt=X=>{var Ee=B("Never");r(X,Ee)};P(Je,X=>{t().last_login?X(rt):X(vt,!1)})}v(Ue),v(ge);var qe=l(ge,2),Fe=l(c(qe),2),lt=c(Fe);{var xt=X=>{var Ee=B();K(()=>Y(Ee,ut(t().password_expires))),r(X,Ee)},$t=X=>{var Ee=B("Never");r(X,Ee)};P(lt,X=>{t().password_expires?X(xt):X($t,!1)})}v(Fe),v(qe);var Qe=l(qe,2),et=l(c(Qe),2),gt=c(et),ct=Ke(()=>!!t().webauthn_user_id);ea(gt,{get check(){return e(ct)}}),v(et),v(Qe);var It=l(Qe,2),at=c(It);Se(at,{level:1,width:"4rem",$$events:{click:y},children:(X,Ee)=>{q();var Le=B("SAVE");r(X,Le)},$$slots:{default:!0}});var st=l(at,2);{var se=X=>{var Ee=Pi();r(X,Ee)};P(st,X=>{e(i)&&X(se)})}var Ae=l(st,2);{var ze=X=>{var Ee=zi(),Le=c(Ee,!0);v(Ee),K(()=>Y(Le,e(d))),r(X,Ee)};P(Ae,X=>{e(d)&&X(ze)})}v(It),v(b),K(()=>Y(S,t().id)),r(_,b),ne()}var Ui=A('<div class="desc svelte-8ppjyk"><p><b>The user has not initialized this account yet.</b></p> <p>You may send out a new Reset E-Mail, if the user has not received one.</p></div> <!>',1),qi=A(`<div class="desc svelte-8ppjyk"><p><b>This is a passkey only account type.</b></p> <p>This means, that this user is using the passwordless login flow only and does not have any password.</p> <p>If the user has lost all his keys and you have verified everything, you may reset his account type and
+                send out a new reset E-Mail, so the user can get access again.</p> <p>To reset the account, navigate to 'MFA' and delete all registered keys for this user.</p></div>`),Gi=A(`<!> <!> <!> <!> <div class="desc svelte-8ppjyk">You can either set and reset a user's password<br> or send out a new reset E-Mail for self-service.</div> <!> <!>`,1),Wi=A('<div class="success svelte-8ppjyk">Success</div>'),Ki=A('<div class="err svelte-8ppjyk"> </div>'),Fi=A('<div class="err svelte-8ppjyk"> </div>'),Vi=A('<div class="container svelte-8ppjyk"><!> <!> <!> <!></div>');function Bi(_,s){le(s,!0);let t=G(s,"user",27,()=>n({}));const d="inherit";let i=C(!1),g=C(""),f=C(""),u=C(!1),I=C(!1),E=C(void 0),o="330px",$=C(void 0),m=C(!1),T=n({new:"",verify:""});Te(()=>{e(I)&&a(E,n(setTimeout(()=>{a(I,!1),s.onSave()},3e3)))}),Ne(async()=>{if(!e($)){let z=await ja(),O=await z.json();z.ok?a($,n(O)):a(f,n(O.message))}});async function k(){return a(f,""),await h()?e(m)?!0:(a(f,"You must follow the password policy"),!1):!1}async function h(){return a(f,""),T.new.length>256?(a(f,"max 256 characters"),!1):T.new!==T.verify?(a(f,"New passwords do not match"),!1):!0}async function y(){let z={email:t().email};a(g,""),a(i,!0);let O=await Nr(z);if(O.ok)a(u,!0);else{let U=await O.json();a(g,n(U.message))}a(i,!1)}async function w(){let z={email:t().email,given_name:t().given_name,family_name:t().family_name,roles:t().roles,groups:t().groups,enabled:t().enabled,email_verified:t().email_verified};if(T.new.length>0){if(!(await h()&&await k()))return;z.password=T.new}a(f,""),a(i,!0);let O=await Ha(t().id,z);if(O.ok)a(I,!0);else{let U=await O.json();a(f,n(U.message))}a(i,!1)}function b(){const z=e($).length_min>24?e($).length_min:24;let O=Ss(z,e($).include_lower_case,e($).include_upper_case,e($).include_digits,e($).include_special);T.new=O,T.verify=O}var x=Vi(),p=c(x);{var S=z=>{var O=Ui(),U=l(ee(O),2);Se(U,{width:d,level:2,get isLoading(){return e(i)},set isLoading(Q){a(i,n(Q))},$$events:{click:y},children:(Q,M)=>{q();var W=B("SEND RESET E-MAIL");r(Q,W)},$$slots:{default:!0}}),r(z,O)},L=z=>{var O=me(),U=ee(O);{var Q=W=>{var J=qi();r(W,J)},M=W=>{var J=Gi(),Z=ee(J);{var re=de=>{Zs(de,{get password(){return T.new},get policy(){return e($)},get accepted(){return e(m)},set accepted(ye){a(m,n(ye))}})};P(Z,de=>{e($)&&de(re)})}var ve=l(Z,2),be=Ke(()=>T.new.length>0&&T.new===T.verify);Wt(ve,{type:"password",get width(){return o},autocomplete:"off",get showCopy(){return e(be)},get value(){return T.new},set value(de){T.new=de},$$events:{blur:h},children:(de,ye)=>{q();var we=B("New Password");r(de,we)},$$slots:{default:!0}});var $e=l(ve,2);Wt($e,{type:"password",get width(){return o},autocomplete:"off",get value(){return T.verify},set value(de){T.verify=de},$$events:{blur:h},children:(de,ye)=>{q();var we=B("New Password");r(de,we)},$$slots:{default:!0}});var pe=l($e,2);Se(pe,{width:d,level:3,$$events:{click:b},children:(de,ye)=>{q();var we=B("GENERATE RANDOM");r(de,we)},$$slots:{default:!0}});var je=l(pe,4);Se(je,{width:d,level:1,get isLoading(){return e(i)},set isLoading(de){a(i,n(de))},$$events:{click:y},children:(de,ye)=>{q();var we=B("SEND RESET E-MAIL");r(de,we)},$$slots:{default:!0}});var fe=l(je,2);Se(fe,{width:d,get isLoading(){return e(i)},set isLoading(de){a(i,n(de))},$$events:{click:w},children:(de,ye)=>{q();var we=B("SAVE PASSWORD");r(de,we)},$$slots:{default:!0}}),r(W,J)};P(U,W=>{t().account_type==="passkey"?W(Q):W(M,!1)},!0)}r(z,O)};P(p,z=>{t().account_type==="new"?z(S):z(L,!1)})}var D=l(p,2);{var j=z=>{var O=Wi();r(z,O)};P(D,z=>{(e(I)||e(u))&&z(j)})}var N=l(D,2);{var V=z=>{var O=Ki(),U=c(O,!0);v(O),K(()=>Y(U,e(f))),r(z,O)};P(N,z=>{e(f)&&z(V)})}var R=l(N,2);{var F=z=>{var O=Fi(),U=c(O,!0);v(O),K(()=>Y(U,e(g))),r(z,O)};P(R,z=>{e(g)&&z(F)})}v(x),r(_,x),ne()}var Ji=A('<div class="err svelte-1jljqe9"> </div>'),Yi=A('<div class="container svelte-1jljqe9"><div class="label svelte-1jljqe9">Are you sure, you want to delete this user?</div> <!> <!></div>');function Hi(_,s){le(s,!0);let t=G(s,"user",27,()=>n({})),d=C(!1),i=C("");async function g(){a(i,""),a(d,!0);let o=await Vr(t().id);if(o.ok)s.onSave();else{let $=await o.json();a(i,n($.message))}a(d,!1)}var f=Yi(),u=l(c(f),2);Se(u,{level:1,width:"5rem",get isLoading(){return e(d)},set isLoading(o){a(d,n(o))},$$events:{click:g},children:(o,$)=>{q();var m=B("DELETE");r(o,m)},$$slots:{default:!0}});var I=l(u,2);{var E=o=>{var $=Ji(),m=c($,!0);v($),K(()=>Y(m,e(i))),r(o,$)};P(I,o=>{e(i)&&o(E)})}v(f),r(_,f),ne()}var Xi=A('<div class="err svelte-1ofwsjt"> </div>'),Zi=A('<div class="success svelte-1ofwsjt">Success</div>'),Qi=A('<div class="container svelte-1ofwsjt"><div class="label svelte-1ofwsjt">Invalidate all existing sessions and refresh tokens for this user?</div> <!> <!></div>');function el(_,s){le(s,!0);let t=G(s,"user",27,()=>n({})),d=C(!1),i=C(""),g=C(!1);async function f(){a(i,""),a(d,!0);let m=await Wr(t().id);if(m.ok)a(g,!0);else{let T=await m.json();a(i,n(T.message))}a(d,!1)}var u=Qi(),I=l(c(u),2);Se(I,{level:1,get isLoading(){return e(d)},set isLoading(m){a(d,n(m))},$$events:{click:f},children:(m,T)=>{q();var k=B("LOGOUT");r(m,k)},$$slots:{default:!0}});var E=l(I,2);{var o=m=>{var T=Xi(),k=c(T,!0);v(T),K(()=>Y(k,e(i))),r(m,T)},$=m=>{var T=me(),k=ee(T);{var h=y=>{var w=Zi();r(y,w)};P(k,y=>{e(g)&&y(h)},!0)}r(m,T)};P(E,m=>{e(i)?m(o):m($,!1)})}v(u),r(_,u),ne()}var tl=A('<div class="success svelte-iv4fzr">Success</div>'),al=A('<div class="err svelte-iv4fzr"> </div>'),sl=A('<div class="container svelte-iv4fzr"><div class="desc svelte-iv4fzr">Set custom user attributes.<br> All Key / Value pairs will be handled as String / String.</div> <!> <!> <!> <!></div>');function rl(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(!1),g=C(!1);Ne(()=>{I()});async function f(){let w=await ma();if(!w.ok)a(t,"Error fetching attr: "+w.body.message);else return await w.json()}async function u(){let w=await Hr(s.user.id);if(!w.ok)a(t,"Error fetching user attr: "+w.body.message);else return await w.json()}async function I(){let w=await f(),b=w.values;if(w){let x=await u();if(x){let p=new Map;for(let S of x.values)p.set(S.key,S.value||"");for(let S of b){let L=p.get(S.name);L?S.value=L:S.value=""}a(d,n([...b]))}}}async function E(){a(t,""),a(g,!0);let w=[];for(let S of e(d)){let L={key:S.name,value:S.value};w.push(L)}let b={values:w},x=await Xr(s.user.id,b),p=await x.json();x.ok?a(i,!0):a(t,n(p.message)),s.onSave(),a(g,!1)}var o=sl(),$=l(c(o),2);We($,17,()=>e(d),yt,(w,b,x)=>{var p=Ke(()=>e(b).desc||"JSON Value");ie(w,{style:"width: 350px",autocomplete:"off",get placeholder(){return e(p)},get value(){return e(b).value},set value(S){e(b).value=S},children:(S,L)=>{q();var D=B();K(()=>Y(D,e(b).name)),r(S,D)},$$slots:{default:!0}})});var m=l($,2);Se(m,{get isLoading(){return e(g)},level:1,width:"4rem",$$events:{click:E},children:(w,b)=>{q();var x=B("SAVE");r(w,x)},$$slots:{default:!0}});var T=l(m,2);{var k=w=>{var b=tl();r(w,b)};P(T,w=>{e(i)&&w(k)})}var h=l(T,2);{var y=w=>{var b=al(),x=c(b,!0);v(b),K(()=>Y(x,e(t))),r(w,b)};P(h,w=>{e(t)&&w(y)})}v(o),r(_,o),ne()}var il=A('<div class="desc svelte-1a9qw6n">This user does not have any active MFA keys.</div>'),ll=A('<div class="keyContainer svelte-1a9qw6n"><div class="row svelte-1a9qw6n"><div class="label svelte-1a9qw6n">Passkey Name:</div> <b> </b></div> <div class="row svelte-1a9qw6n"><div class="label svelte-1a9qw6n">Key Registered:</div> <span class="font-mono"> </span></div> <div class="row svelte-1a9qw6n"><div class="label svelte-1a9qw6n">Last Usage:</div> <span class="font-mono"> </span></div> <div class="row svelte-1a9qw6n"><div class="label svelte-1a9qw6n"></div> <div class="deleteBtn svelte-1a9qw6n"><!></div></div></div>'),nl=A('<div class="desc svelte-1a9qw6n">You can delete the users MFA / Security Keys.<br> Be careful though, since this <b>cannot be reverted</b> without user interaction.<br> This is useful, if a user lost his keys and he is not able to log in any more.</div> <div class="keysContainer svelte-1a9qw6n"></div>',1),ol=A('<div class="err svelte-1a9qw6n"> </div>'),vl=A('<div class="container svelte-1a9qw6n"><!> <!></div>');function dl(_,s){le(s,!0);let t=G(s,"user",27,()=>n({})),d=C(""),i=C(n([]));Ne(async()=>{await g()});async function g(){let T=await Cs(t().id),k=await T.json();T.ok?a(i,n(k)):console.error("error fetching passkeys: "+k.message)}async function f(T){let k=e(i).length===1,h=await As(t().id,T);if(h.status===200)return await g(),k&&s.onSave(),!0;{let y=await h.json();return a(d,n(y.message)),!1}}var u=vl(),I=c(u);{var E=T=>{var k=il();r(T,k)},o=T=>{var k=nl(),h=l(ee(k),2);We(h,21,()=>e(i),y=>y.name,(y,w)=>{var b=ll(),x=c(b),p=l(c(x),2),S=c(p,!0);v(p),v(x);var L=l(x,2),D=l(c(L),2),j=c(D,!0);K(()=>Y(j,ut(e(w).registered))),v(D),v(L);var N=l(L,2),V=l(c(N),2),R=c(V,!0);K(()=>Y(R,ut(e(w).last_used))),v(V),v(N);var F=l(N,2),z=l(c(F),2),O=c(z);Se(O,{level:4,$$events:{click:()=>f(e(w).name)},children:(U,Q)=>{q();var M=B("DELETE");r(U,M)},$$slots:{default:!0}}),v(z),v(F),v(b),K(()=>Y(S,e(w).name)),r(y,b)}),v(h),r(T,k)};P(I,T=>{e(i).length<1?T(E):T(o,!1)})}var $=l(I,2);{var m=T=>{var k=ol(),h=c(k,!0);v(k),K(()=>Y(h,e(d))),r(T,k)};P($,T=>{e(d)&&T(m)})}v(u),r(_,u),ne()}var cl=A('<div class="container svelte-nw2ucx"><!></div>');function ul(_,s){le(s,!0);var t=cl(),d=c(t);Ks(d,{get userId(){return s.user.id}}),v(t),r(_,t),ne()}var hl=A('<div class="data font-mono svelte-115hohv"> </div>'),pl=A('<div class="data svelte-115hohv"> </div>'),ml=A('<div class="header svelte-115hohv"><!> <!></div>'),gl=A("<div><!></div>"),fl=A("<div><!></div>"),yl=A("<div><!></div>"),wl=A("<div><!></div>"),bl=A("<div><!></div>"),$l=A("<div><!></div>"),_l=A("<div><!></div>"),kl=A("<!> <!>",1),xl=A("<div><!></div>");function ts(_,s){le(s,!0);let t=G(s,"userEmail",3,""),d=G(s,"userId",3,""),i=G(s,"onSave",15),g=C(void 0),f=C(!0),u=C(void 0);const I=["Info","Attributes","Password","MFA","Devices","Logout","Delete"];let E=C(n(I[0]));const o=200,$=o/2;async function m(){const k=await Ts(d());if(k.ok)a(g,n(await k.json()));else{let h=await k.json();console.error(h)}a(f,!1)}function T(){a(u,!1),i()()}Te(()=>{e(u)&&m()}),ot(_,{get show(){return e(u)},set show(k){a(u,n(k))},header:k=>{var h=ml(),y=c(h);Ze(y,{text:"User ID",children:(b,x)=>{var p=hl(),S=c(p,!0);v(p),K(()=>Y(S,d())),r(b,p)},$$slots:{default:!0}});var w=l(y,2);Ze(w,{text:"E-Mail",children:(b,x)=>{var p=pl(),S=c(p,!0);v(p),K(()=>Y(S,t())),r(b,p)},$$slots:{default:!0}}),v(h),r(k,h)},body:k=>{var h=xl(),y=c(h);{var w=x=>{ua(x,{})},b=x=>{var p=kl(),S=ee(p);Dt(S,{labels:I,get selected(){return e(E)},set selected(N){a(E,n(N))}});var L=l(S,2);{var D=N=>{var V=gl(),R=c(V);Mi(R,{get user(){return e(g)},set user(F){a(g,n(F))},get onSave(){return i()},set onSave(F){i(F)}}),v(V),ce(5,V,()=>_e,()=>({delay:$,duration:o})),ce(6,V,()=>_e,()=>({duration:o})),r(N,V)},j=N=>{var V=me(),R=ee(V);{var F=O=>{var U=fl(),Q=c(U);rl(Q,{get user(){return e(g)},set user(M){a(g,n(M))},get onSave(){return i()},set onSave(M){i(M)}}),v(U),ce(5,U,()=>_e,()=>({delay:$,duration:o})),ce(6,U,()=>_e,()=>({duration:o})),r(O,U)},z=O=>{var U=me(),Q=ee(U);{var M=J=>{var Z=yl(),re=c(Z);Bi(re,{get user(){return e(g)},set user(ve){a(g,n(ve))},get onSave(){return i()},set onSave(ve){i(ve)}}),v(Z),ce(5,Z,()=>_e,()=>({delay:$,duration:o})),ce(6,Z,()=>_e,()=>({duration:o})),r(J,Z)},W=J=>{var Z=me(),re=ee(Z);{var ve=$e=>{var pe=wl(),je=c(pe);dl(je,{get user(){return e(g)},set user(fe){a(g,n(fe))},get onSave(){return i()},set onSave(fe){i(fe)}}),v(pe),ce(5,pe,()=>_e,()=>({delay:$,duration:o})),ce(6,pe,()=>_e,()=>({duration:o})),r($e,pe)},be=$e=>{var pe=me(),je=ee(pe);{var fe=ye=>{var we=bl(),Pe=c(we);ul(Pe,{get user(){return e(g)},set user(Ce){a(g,n(Ce))}}),v(we),ce(5,we,()=>_e,()=>({delay:$,duration:o})),ce(6,we,()=>_e,()=>({duration:o})),r(ye,we)},de=ye=>{var we=me(),Pe=ee(we);{var Ce=Re=>{var H=$l(),Ie=c(H);el(Ie,{get user(){return e(g)},set user(ge){a(g,n(ge))}}),v(H),ce(5,H,()=>_e,()=>({delay:$,duration:o})),ce(6,H,()=>_e,()=>({duration:o})),r(Re,H)},xe=Re=>{var H=me(),Ie=ee(H);{var ge=Ue=>{var Je=_l(),rt=c(Je);Hi(rt,{onSave:T,get user(){return e(g)},set user(vt){a(g,n(vt))}}),v(Je),ce(5,Je,()=>_e,()=>({delay:$,duration:o})),ce(6,Je,()=>_e,()=>({duration:o})),r(Ue,Je)};P(Ie,Ue=>{e(E)==="Delete"&&Ue(ge)},!0)}r(Re,H)};P(Pe,Re=>{e(E)==="Logout"?Re(Ce):Re(xe,!1)},!0)}r(ye,we)};P(je,ye=>{e(E)==="Devices"?ye(fe):ye(de,!1)},!0)}r($e,pe)};P(re,$e=>{e(E)==="MFA"?$e(ve):$e(be,!1)},!0)}r(J,Z)};P(Q,J=>{e(E)==="Password"?J(M):J(W,!1)},!0)}r(O,U)};P(R,O=>{e(E)==="Attributes"?O(F):O(z,!1)},!0)}r(N,V)};P(L,N=>{e(E)==="Info"?N(D):N(j,!1)})}r(x,p)};P(y,x=>{e(f)?x(w):x(b,!1)})}v(h),r(k,h)},$$slots:{header:!0,body:!0}}),ne()}var El=A('<div class="header font-label svelte-1y7ceqm">ADD NEW USER</div>'),Il=A('<div class="err svelte-1y7ceqm"> </div>'),Sl=A('<div class="container svelte-1y7ceqm"><!> <!> <!> <div class="language svelte-1y7ceqm"><div class="label svelte-1y7ceqm">LANGUAGE</div> <div style="margin-top: .4rem"><!></div></div> <div class="tiles svelte-1y7ceqm"><div class="label font-label svelte-1y7ceqm">ROLES</div> <!></div> <div class="tiles svelte-1y7ceqm"><div class="label font-label svelte-1y7ceqm">GROUPS</div> <!></div> <div class="unit svelte-1y7ceqm"><div class="label font-label svelte-1y7ceqm">LIMIT LIFETIME</div> <div class="value"><!></div></div> <!> <div class="btn svelte-1y7ceqm"><!> <!></div></div>');function Cl(_,s){le(s,!0);let t=G(s,"idx",31,()=>-1),d=C(""),i=C(void 0),g=C("EN"),f=C(!1),u=C(void 0),I=C(n({email:"",family_name:"",given_name:"",roles:[],groups:[]})),E=C(n({}));const o=He().shape({email:he().required("E-Mail is required").email("Bad E-Mail format"),given_name:he().trim().required("Given Name is required").matches(va,"Invalid characters"),family_name:he().trim().required("Family Name is required").matches(va,"Invalid characters")});let $=C(void 0);ga.subscribe(h=>{a($,n(h))});let m=C(void 0);fa.subscribe(h=>{a(m,n(h))});async function T(){if(!await k())return;a(d,"");let h=e(I);if(h.language=e(g).toLowerCase(),e(f)){let w=Ot(e(u));if(!w){a(d,"Invalid Date Input: User Expires");return}h.user_expires=w}let y=await Fr(e(I));if(y.ok)a(I,n({})),a(i,!1),a(I,n({email:"",family_name:"",given_name:"",roles:[],groups:[]})),s.onSave();else{let w=await y.json();a(d,n(w.message))}}async function k(){try{return await o.validate(e(I),{abortEarly:!1}),a(E,n({})),!0}catch(h){return a(E,n(Ye(h))),!1}}ot(_,{get idx(){return t()},set idx(h){t(h)},get show(){return e(i)},set show(h){a(i,n(h))},header:h=>{var y=El();r(h,y)},body:h=>{var y=Sl(),w=c(y);ie(w,{type:"email",autocomplete:"off",placeholder:"E-Mail",get value(){return e(I).email},set value(Z){e(I).email=Z},get error(){return e(E).email},set error(Z){e(E).email=Z},$$events:{input:k},children:(Z,re)=>{q();var ve=B("E-MAIL");r(Z,ve)},$$slots:{default:!0}});var b=l(w,2);ie(b,{autocomplete:"off",placeholder:"Given Name",get value(){return e(I).given_name},set value(Z){e(I).given_name=Z},get error(){return e(E).given_name},set error(Z){e(E).given_name=Z},$$events:{input:k},children:(Z,re)=>{q();var ve=B("GIVEN NAME");r(Z,ve)},$$slots:{default:!0}});var x=l(b,2);ie(x,{autocomplete:"off",placeholder:"Family Name",get value(){return e(I).family_name},set value(Z){e(I).family_name=Z},get error(){return e(E).family_name},set error(Z){e(E).family_name=Z},$$events:{input:k},children:(Z,re)=>{q();var ve=B("FAMILY NAME");r(Z,ve)},$$slots:{default:!0}});var p=l(x,2),S=l(c(p),2),L=c(S);kt(L,{options:Ra,get value(){return e(g)},set value(Z){a(g,n(Z))}}),v(S),v(p);var D=l(p,2),j=l(c(D),2);zt(j,{get options(){return e($)},searchThreshold:4,get items(){return e(I).roles},set items(Z){e(I).roles=Z}}),v(D);var N=l(D,2),V=l(c(N),2);zt(V,{get options(){return e(m)},searchThreshold:4,get items(){return e(I).groups},set items(Z){e(I).groups=Z}}),v(N);var R=l(N,2);oe(R,"margin-top","12px");var F=l(c(R),2),z=c(F);Be(z,{get selected(){return e(f)},set selected(Z){a(f,n(Z))}}),v(F),v(R);var O=l(R,2);{var U=Z=>{ie(Z,{type:"datetime-local",step:"60",width:"18rem",get min(){return new Date().toISOString().split(".")[0]},max:"2099-01-01T00:00",get value(){return e(u)},set value(re){a(u,n(re))},$$events:{input:k},children:(re,ve)=>{q();var be=B("USER EXPIRES");r(re,be)},$$slots:{default:!0}})};P(O,Z=>{e(f)&&Z(U)})}var Q=l(O,2),M=c(Q);Se(M,{level:1,$$events:{click:T},children:(Z,re)=>{q();var ve=B("SAVE");r(Z,ve)},$$slots:{default:!0}});var W=l(M,2);{var J=Z=>{var re=Il(),ve=c(re,!0);v(re),K(()=>Y(ve,e(d))),r(Z,re)};P(W,Z=>{e(d)&&Z(J)})}v(Q),v(y),r(h,y)},$$slots:{header:!0,body:!0}}),ne()}var Al=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3 4.5h14.25M3 9h9.75M3 13.5h9.75m4.5-4.5v12m0 0l-3.75-3.75M17.25 21L21 17.25"></path></svg>');function Tl(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=Al();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var Ll=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3 4.5h14.25M3 9h9.75M3 13.5h5.25m5.25-.75L17.25 9m0 0L21 12.75M17.25 9v12"></path></svg>');function Nl(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=Ll();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var Rl=A("<option> </option>"),Dl=A('<select class="opts font-label svelte-1ojt600"></select>'),jl=A('<div role="button" tabindex="0" class="icon svelte-1ojt600"><!></div>'),Pl=A('<div class="container svelte-1ojt600"><!> <!></div>');function zl(_,s){le(s,!0);let t=G(s,"items",19,()=>[]),d=G(s,"resItems",15),i=G(s,"options",19,()=>[]),g=G(s,"firstDirReverse",3,!1),f=C(""),u=C(1),I;Ne(()=>{i().length>0&&(a(f,n(i()[0].label)),E()),g()&&$(),o()});function E(){for(let w of i())if(w.label===e(f)){I=w.callback;break}I||console.error("Could not find a valid callback function in order options for label "+e(f))}function o(){if(I){let w=[...t()];w.sort((b,x)=>I(b,x)*e(u)),d([...w])}}function $(){a(u,e(u)*-1),o()}Te(()=>{t()&&o()}),Te(()=>{e(f)&&(E(),o())});var m=Pl(),T=c(m);{var k=w=>{Ze(w,{text:"Order by",yOffset:-30,children:(b,x)=>{var p=Dl();We(p,21,i,yt,(S,L)=>{var D=Rl(),j={},N=c(D,!0);v(D),K(()=>{j!==(j=e(L).label)&&(D.value=(D.__value=e(L).label)==null?"":e(L).label),Y(N,e(L).label)}),r(S,D)}),v(p),Ka(p,()=>e(f),S=>a(f,S)),r(b,p)},$$slots:{default:!0}})};P(T,w=>{i().length>1&&w(k)})}var h=l(T,2);{var y=w=>{var b=jl();b.__click=$;var x=c(b);{var p=L=>{Nl(L,{})},S=L=>{Tl(L,{})};P(x,L=>{e(u)===1?L(p):L(S,!1)})}v(b),Me("keypress",b,$),r(w,b)};P(h,w=>{i().length>0&&w(y)})}v(m),r(_,m),ne()}pt(["click"]);var Ol=A('<div class="divider svelte-16rtgja"></div>'),Ml=A('<div class="container svelte-16rtgja"><div><!></div> <!> <div><!></div></div>');function Lt(_,s){le(s,!0);let t=G(s,"items",31,()=>n([])),d=G(s,"resItems",15),i=G(s,"searchOptions",27,()=>n([])),g=G(s,"orderOptions",27,()=>n([])),f=G(s,"firstDirReverse",3,!1),u=G(s,"useServerSideIdx",15,""),I=G(s,"isSearchFiltered",15,!1),E=G(s,"search",15,""),o=C(n([]));var $=Ml(),m=c($),T=c(m);zl(T,{get items(){return e(o)},get options(){return g()},get firstDirReverse(){return f()},get resItems(){return d()},set resItems(b){d(b)}}),v(m);var k=l(m,2);{var h=b=>{var x=Ol();r(b,x)};P(k,b=>{g().length>0&&b(h)})}var y=l(k,2),w=c(y);es(w,{get options(){return i()},get items(){return t()},set items(b){t(b)},get resItems(){return e(o)},set resItems(b){a(o,n(b))},get useServerSideIdx(){return u()},set useServerSideIdx(b){u(b)},get isSearchFiltered(){return I()},set isSearchFiltered(b){I(b)},get search(){return E()},set search(b){E(b)}}),v(y),v($),r(_,$),ne()}var Ul=(_,s)=>a(s,e(s)-1),ql=A('<div role="button" tabindex="0" class="icon iconLeft svelte-9iw34a"><!></div>'),Gl=(_,s,t)=>a(s,n(e(t))),Wl=A('<div role="button" tabindex="0" class="link noselect svelte-9iw34a"> </div>'),Kl=(_,s)=>a(s,e(s)+1),Fl=A('<div role="button" tabindex="0" class="icon iconRight svelte-9iw34a"><!></div>'),Vl=A('<div class="container svelte-9iw34a"><!> <div class="links svelte-9iw34a"></div> <!> <div class="chunkSize noselect svelte-9iw34a">Entries <!></div> <div class="font-label total svelte-9iw34a"> </div></div>');function jt(_,s){le(s,!0);let t=G(s,"items",27,()=>n([])),d=G(s,"resItems",31,()=>n([]));const i=[5,7,10,15,20,30,50,100],g=16;let f=C(n([])),u=C(1),I=5,E=C(15),o=C(!1),$=C(!1),m=C(n([]));Te(()=>{e(E)&&a(u,1)}),Te(()=>{if(e(E)&&t().length>0){let D=[];for(let j=0;j<t().length;j+=e(E)){const N=t().slice(j,j+e(E));D.push(N)}a(f,n(D)),d(e(f)[e(u)-1])}}),Te(()=>{if(e(u)){let D=[],j=Math.floor(I/2);if(e(f).length<=I){for(let N=1;N<=e(f).length;N++)D.push(N);a(o,!1),a($,!1)}else if(e(u)<=j){for(let N=1;N<=I;N++)D.push(N);a(o,!1),a($,!0)}else if(e(u)>e(f).length-j-1){for(let N=e(f).length-I;N<=e(f).length-1;N++)D.push(N+1);a(o,!0),a($,!1)}else{for(let N=e(u)-j;N<e(u)-j+I;N++)D.push(N);a(o,!0),a($,!0)}a(m,n(D))}});var T=Vl(),k=c(T);{var h=D=>{var j=ql();j.__click=[Ul,u];var N=c(j);Zt(N,{width:g}),v(j),Me("keypress",j,()=>a(u,e(u)-1)),r(D,j)};P(k,D=>{e(o)&&D(h)})}var y=l(k,2);We(y,21,()=>e(m),yt,(D,j)=>{var N=Wl();N.__click=[Gl,u,j];var V=c(N,!0);v(N),K(()=>{Et(N,"selected",e(u)===e(j)),Y(V,e(j))}),Me("keypress",N,()=>a(u,n(e(j)))),r(D,N)}),v(y);var w=l(y,2);{var b=D=>{var j=Fl();j.__click=[Kl,u];var N=c(j);Zt(N,{width:g}),v(j),Me("keypress",j,()=>a(u,e(u)+1)),r(D,j)};P(w,D=>{e($)&&D(b)})}var x=l(w,2),p=l(c(x));kt(p,{options:i,width:"50px",get value(){return e(E)},set value(D){a(E,n(D))}}),v(x);var S=l(x,2),L=c(S);v(S),v(T),K(()=>Y(L,`Total: ${t().length??""}`)),r(_,T),ne()}pt(["click"]);var Bl=(_,s)=>s()(0,!0),Jl=A('<div role="button" tabindex="0" class="icon iconLeft svelte-1jvef4m"><!></div>'),Yl=(_,s)=>s()(0,!1),Hl=A('<div role="button" tabindex="0" class="icon iconRight svelte-1jvef4m"><!></div>'),Xl=A('<div class="font-label total svelte-1jvef4m"> </div>'),Zl=A('<div class="container svelte-1jvef4m"><!> <div class="links svelte-1jvef4m"><div class="pageNo noselect svelte-1jvef4m"> </div></div> <!> <div class="chunkSize noselect svelte-1jvef4m">Entries <!></div> <!></div>');function as(_,s){le(s,!0);let t=G(s,"itemsTotal",3,0),d=G(s,"sspPage",11,1),i=G(s,"sspPageSize",11,15),g=G(s,"sspContinuationToken",11,""),f=G(s,"fetchPageCallback",3,(D,j)=>{}),u=G(s,"sspPageSizeChange",3,D=>{});const I=[2,3,5,7,10,15,20,30,50,100],E=16;let o=C(n(i()));Te(()=>{e(o)&&(console.log("page size change in pagination server"),u()(e(o)))});var $=Zl(),m=c($);{var T=D=>{var j=Jl();j.__click=[Bl,f];var N=c(j);Zt(N,{width:E}),v(j),Me("keypress",j,()=>f()(0,!0)),r(D,j)};P(m,D=>{d()!==1&&D(T)})}var k=l(m,2),h=c(k),y=c(h,!0);v(h),v(k);var w=l(k,2);{var b=D=>{var j=Hl();j.__click=[Yl,f];var N=c(j);Zt(N,{width:E}),v(j),Me("keypress",j,()=>f()(0,!1)),r(D,j)};P(w,D=>{g()&&D(b)})}var x=l(w,2),p=l(c(x));kt(p,{options:I,width:"50px",get value(){return e(o)},set value(D){a(o,n(D))}}),v(x);var S=l(x,2);{var L=D=>{var j=Xl(),N=c(j);v(j),K(()=>Y(N,`Total: ${t()??""}`)),r(D,j)};P(S,D=>{t()&&t()>0&&D(L)})}v($),K(()=>Y(y,d())),r(_,$),ne()}pt(["click"]);var Ql=A('<div class="svelte-1gwjtx9"><!></div>'),en=A('<div class="svelte-1gwjtx9"><!></div>'),tn=A(' <div class="content"><!> <!> <div id="users" class="svelte-1gwjtx9"><!></div> <!></div>',1);function an(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(n([])),g=C(n([])),f=C(""),u=C(!1),I=C(""),E=C(0),o=C(15),$=C(""),m=C(1),T=C(n([{label:"E-Mail",callback:(M,W)=>M.email.toLowerCase().includes(W.toLowerCase())},{label:"ID",callback:(M,W)=>M.id.toLowerCase().includes(W.toLowerCase())}])),k=C(n([{label:"E-Mail",callback:(M,W)=>M.email.localeCompare(W.email)},{label:"ID",callback:(M,W)=>M.id.localeCompare(W.id)},{label:"Created",callback:(M,W)=>M.created_at<W.created_at},{label:"Last Login",callback:(M,W)=>{let J=M.last_login||9999999999,Z=W.last_login||9999999999;return J<Z}}]));Ne(async()=>{h(),b(),x()});async function h(M,W,J,Z){let re;if(M===!0?J&&e(m)===2?re=await Ya(Z||e(o),W,void 0,!1):re=await Ya(Z||e(o),W,e($),J):re=await Kr(),!re.ok)a(t,"Error fetching users: "+re.body.message);else{re.status===206?(a(o,n(Number.parseInt(re.headers.get("x-page-size"),10))),a(f,"user"),re.headers.get("x-continuation-token"),a($,n(re.headers.get("x-continuation-token")))):a(f,""),a(E,n(re.headers.get("x-user-count")));let ve=await re.json();a(d,n([...ve])),a(i,n([...ve]))}}async function y(M,W){await h(!0,M,W),W?a(m,e(m)-1):a(m,e(m)+1)}async function w(M){a($,""),await h(!0,0,!1,M),a(m,1)}async function b(){let M=await Xa();if(!M.ok)a(t,"Error fetching roles: "+M.body.message);else{let W=await M.json();hi.set(W),ga.set(W.map(J=>J.name))}}async function x(){let M=await Ba();if(!M.ok)a(t,"Error fetching groups: "+M.body.message);else{let W=await M.json();pi.set(W),fa.set(W.map(J=>J.name))}}function p(){h(),b(),x(),a(I,"")}q();var S=tn(),L=ee(S),D=l(L),j=c(D);Lt(j,{get items(){return e(d)},get resItems(){return e(i)},set resItems(M){a(i,n(M))},get searchOptions(){return e(T)},set searchOptions(M){a(T,n(M))},get orderOptions(){return e(k)},set orderOptions(M){a(k,n(M))},get useServerSideIdx(){return e(f)},set useServerSideIdx(M){a(f,n(M))},get isSearchFiltered(){return e(u)},set isSearchFiltered(M){a(u,n(M))},get search(){return e(I)},set search(M){a(I,n(M))}});var N=l(j,2);Cl(N,{onSave:p});var V=l(N,2),R=c(V);{var F=M=>{var W=me(),J=ee(W);We(J,17,()=>e(i),Z=>Z.id,(Z,re)=>{var ve=Ql(),be=c(ve);ts(be,{get userId(){return e(re).id},get userEmail(){return e(re).email},onSave:p}),v(ve),r(Z,ve)}),r(M,W)},z=M=>{var W=me(),J=ee(W);We(J,17,()=>e(g),Z=>Z.id,(Z,re)=>{var ve=en(),be=c(ve);ts(be,{get userId(){return e(re).id},get userEmail(){return e(re).email},onSave:p}),v(ve),r(Z,ve)}),r(M,W)};P(R,M=>{e(f)&&!e(u)?M(F):M(z,!1)})}v(V);var O=l(V,2);{var U=M=>{as(M,{get itemsTotal(){return e(E)},fetchPageCallback:y,sspPageSizeChange:w,get sspPage(){return e(m)},set sspPage(W){a(m,n(W))},get sspPageSize(){return e(o)},set sspPageSize(W){a(o,n(W))},get sspContinuationToken(){return e($)},set sspContinuationToken(W){a($,n(W))}})},Q=M=>{jt(M,{get items(){return e(i)},set items(W){a(i,n(W))},get resItems(){return e(g)},set resItems(W){a(g,n(W))}})};P(O,M=>{e(f)&&!e(u)?M(U):M(Q,!1)})}v(D),K(()=>Y(L,`${e(t)??""} `)),r(_,S),ne()}var sn=A('<div class="content svelte-1mqfi4i"><!></div>');function bt(_,s){le(s,!0);let t=G(s,"eventsCollapsed",11,!0),d=G(s,"eventsWide",11,!1);var i=sn(),g=c(i);At(g,()=>s.children??Ct),v(i),K(()=>{Et(i,"mr",!t()&&!d()),Et(i,"mrCollapsed",t()&&!d()),Et(i,"mrWide",!t()&&d())}),r(_,i),ne()}var rn=A('<div class="success svelte-17in7jd">Success</div>'),ln=A('<div class="mainErr err svelte-17in7jd"> </div>'),nn=A('<div class="container svelte-17in7jd"><div class="unit svelte-17in7jd"><div class="label font-label svelte-17in7jd">ID</div> <div class="value font-mono svelte-17in7jd"> </div></div> <!> <!> <!> <!></div>');function on(_,s){le(s,!0);let t=G(s,"role",31,()=>n({})),d=C(""),i=C(!1),g=C(void 0);Te(()=>{e(i)&&a(g,n(setTimeout(()=>{a(i,!1),s.onSave()},2e3)))}),Ne(()=>()=>clearTimeout(e(g)));let f=C(n({}));const u=He().shape({name:he().trim().matches(qt,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});async function I(){if(a(d,""),!await E()){a(d,"Invalid input");return}let S={role:t().name.trim()},L=await ni(t().id,S);if(L.ok)a(i,!0);else{let D=await L.json();a(d,n(D.message))}}async function E(){try{return await u.validate(t(),{abortEarly:!1}),a(f,n({})),!0}catch(S){return a(f,n(Ye(S))),!1}}var o=nn(),$=c(o),m=l(c($),2),T=c(m,!0);v(m),v($);var k=l($,2),h=Ke(()=>t().name==="rauthy_admin");ie(k,{autocomplete:"off",placeholder:"Role Name",get disabled(){return e(h)},get value(){return t().name},set value(S){t(t().name=S,!0)},get error(){return e(f).name},set error(S){e(f).name=S},$$events:{input:E},children:(S,L)=>{q();var D=B("ROLE NAME");r(S,D)},$$slots:{default:!0}});var y=l(k,2);Se(y,{level:1,width:"4rem",$$events:{click:I},children:(S,L)=>{q();var D=B("SAVE");r(S,D)},$$slots:{default:!0}});var w=l(y,2);{var b=S=>{var L=rn();r(S,L)};P(w,S=>{e(i)&&S(b)})}var x=l(w,2);{var p=S=>{var L=ln(),D=c(L,!0);v(L),K(()=>Y(D,e(d))),r(S,L)};P(x,S=>{e(d)&&S(p)})}v(o),K(()=>Y(T,t().id)),r(_,o),ne()}var vn=A('<div class="label svelte-1jljqe9">Anti-Lockout Rule: The rauthy_admin role cannot be deleted.</div>'),dn=A('<div class="err svelte-1jljqe9"> </div>'),cn=A('<div class="label svelte-1jljqe9">Are you sure, you want to delete this role?</div> <!> <!>',1),un=A('<div class="container svelte-1jljqe9"><!></div>');function hn(_,s){le(s,!0);let t=G(s,"role",19,()=>({})),d=C(!1),i=C("");async function g(){a(i,""),a(d,!0);let o=await oi(t().id);if(o.ok)s.onSave();else{let $=await o.json();a(i,n($.message))}a(d,!1)}var f=un(),u=c(f);{var I=o=>{var $=vn();r(o,$)},E=o=>{var $=cn(),m=l(ee($),2);Se(m,{level:1,get isLoading(){return e(d)},set isLoading(h){a(d,n(h))},$$events:{click:g},children:(h,y)=>{q();var w=B("DELETE");r(h,w)},$$slots:{default:!0}});var T=l(m,2);{var k=h=>{var y=dn(),w=c(y,!0);v(y),K(()=>Y(w,e(i))),r(h,y)};P(T,h=>{e(i)&&h(k)})}r(o,$)};P(u,o=>{t().name==="rauthy_admin"?o(I):o(E,!1)})}v(f),r(_,f),ne()}var pn=A('<div class="data font-mono svelte-115hohv"> </div>'),mn=A('<div class="data svelte-115hohv"> </div>'),gn=A('<div class="header svelte-115hohv"><!> <!></div>'),fn=A("<div><!></div>"),yn=A("<div><!></div>"),wn=A("<div><!> <!></div>");function bn(_,s){le(s,!0);let t=G(s,"role",31,()=>n({})),d=G(s,"onSave",15),i=C(void 0);const g=["Config","Delete"];let f=C(n(g[0]));const u=200,I=u/2;function E(){a(i,!1),d()()}ot(_,{get show(){return e(i)},set show(o){a(i,n(o))},header:o=>{var $=gn(),m=c($);Ze(m,{text:"Role ID",children:(k,h)=>{var y=pn(),w=c(y,!0);v(y),K(()=>Y(w,t().id)),r(k,y)},$$slots:{default:!0}});var T=l(m,2);Ze(T,{text:"Role Name",children:(k,h)=>{var y=mn(),w=c(y,!0);v(y),K(()=>Y(w,t().name)),r(k,y)},$$slots:{default:!0}}),v($),r(o,$)},body:o=>{var $=wn(),m=c($);Dt(m,{labels:g,get selected(){return e(f)},set selected(y){a(f,n(y))}});var T=l(m,2);{var k=y=>{var w=fn(),b=c(w);on(b,{get role(){return t()},set role(x){t(x)},get onSave(){return d()},set onSave(x){d(x)}}),v(w),ce(5,w,()=>_e,()=>({delay:I,duration:u})),ce(6,w,()=>_e,()=>({duration:u})),r(y,w)},h=y=>{var w=me(),b=ee(w);{var x=p=>{var S=yn(),L=c(S);hn(L,{get role(){return t()},onSave:E}),v(S),ce(5,S,()=>_e,()=>({delay:I,duration:u})),ce(6,S,()=>_e,()=>({duration:u})),r(p,S)};P(b,p=>{e(f)==="Delete"&&p(x)},!0)}r(y,w)};P(T,y=>{e(f)==="Config"?y(k):y(h,!1)})}v($),r(o,$)},$$slots:{header:!0,body:!0}}),ne()}var $n=A('<div class="header font-label svelte-r30xs6">ADD NEW ROLE</div>'),_n=A('<div class="success svelte-r30xs6">Success</div>'),kn=A('<div class="err svelte-r30xs6"> </div>'),xn=A('<div class="container svelte-r30xs6"><!> <!> <!> <!></div>');function En(_,s){le(s,!0);let t=G(s,"idx",31,()=>-1),d=C(void 0),i=C(n({role:""})),g=C(""),f=C(!1),u=C(void 0),I=C(n({}));const E=He().shape({role:he().trim().matches(qt,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});Te(()=>{e(f)&&a(u,n(setTimeout(()=>{a(f,!1),a(i,n({role:""})),a(d,!1),s.onSave()},1500)))}),Ne(()=>()=>clearTimeout(e(u)));async function o(){if(a(g,""),!await $()){a(g,"Invalid input");return}e(i).role=e(i).role.trim();let m=await li(e(i));if(m.ok)a(f,!0);else{let T=await m.json();a(g,n(T.message))}}async function $(){try{return await E.validate(e(i),{abortEarly:!1}),a(I,n({})),!0}catch(m){return a(I,n(Ye(m))),!1}}ot(_,{get idx(){return t()},set idx(m){t(m)},get show(){return e(d)},set show(m){a(d,n(m))},header:m=>{var T=$n();r(m,T)},body:m=>{var T=xn(),k=c(T);ie(k,{autocomplete:"off",placeholder:"Role Name",get value(){return e(i).role},set value(p){e(i).role=p},get error(){return e(I).role},set error(p){e(I).role=p},$$events:{input:$},children:(p,S)=>{q();var L=B("ROLE NAME");r(p,L)},$$slots:{default:!0}});var h=l(k,2);Se(h,{level:1,width:"4rem",$$events:{click:o},children:(p,S)=>{q();var L=B("SAVE");r(p,L)},$$slots:{default:!0}});var y=l(h,2);{var w=p=>{var S=_n();r(p,S)};P(y,p=>{e(f)&&p(w)})}var b=l(y,2);{var x=p=>{var S=kn(),L=c(S,!0);v(S),K(()=>Y(L,e(g))),r(p,S)};P(b,p=>{e(g)&&p(x)})}v(T),r(m,T)},$$slots:{header:!0,body:!0}}),ne()}var In=A('<div class="svelte-161tj4u"><!></div>'),Sn=A(' <div class="content"><!> <!> <div id="roles" class="svelte-161tj4u"></div> <!> <div style="height: 20px"></div></div>',1);function Cn(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(n([])),g=C(n([])),f=C(""),u=[{label:"Name",callback:(b,x)=>b.name.toLowerCase().includes(x.toLowerCase())},{label:"ID",callback:(b,x)=>b.id.toLowerCase().includes(x.toLowerCase())}],I=[{label:"Name",callback:(b,x)=>b.name.localeCompare(x.name)},{label:"ID",callback:(b,x)=>b.id.localeCompare(x.id)}];Ne(async()=>{E()});async function E(){let b=await Xa(),x=await b.json();b.ok?a(d,n([...x])):a(t,n(x.message))}function o(){E(),a(f,"")}q();var $=Sn(),m=ee($),T=l(m),k=c(T);Lt(k,{get items(){return e(d)},searchOptions:u,orderOptions:I,get resItems(){return e(i)},set resItems(b){a(i,n(b))},get search(){return e(f)},set search(b){a(f,n(b))}});var h=l(k,2);En(h,{onSave:o});var y=l(h,2);We(y,23,()=>e(g),b=>b.id,(b,x,p)=>{var S=In(),L=c(S);bn(L,{onSave:o,get role(){return e(d)[e(p)]},set role(D){e(d)[e(p)]=D}}),v(S),r(b,S)}),v(y);var w=l(y,2);jt(w,{get items(){return e(i)},set items(b){a(i,n(b))},get resItems(){return e(g)},set resItems(b){a(g,n(b))}}),q(2),v(T),K(()=>Y(m,`${e(t)??""} `)),r(_,$),ne()}var An=A('<div class="header font-label svelte-r30xs6">ADD NEW GROUP</div>'),Tn=A('<div class="success svelte-r30xs6">Success</div>'),Ln=A('<div class="err svelte-r30xs6"> </div>'),Nn=A('<div class="container svelte-r30xs6"><!> <!> <!> <!></div>');function Rn(_,s){le(s,!0);let t=G(s,"idx",31,()=>-1),d=C(void 0),i=C(n({group:""})),g=C(""),f=C(!1),u=C(void 0),I=C(n({}));const E=He().shape({group:he().trim().matches(qt,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});Te(()=>{e(f)&&a(u,n(setTimeout(()=>{s.onSave(),a(f,!1),a(i,n({group:""})),a(d,!1)},1500)))}),Ne(()=>()=>clearTimeout(e(u)));async function o(){if(a(g,""),!await $()){a(g,"Invalid input");return}e(i).group=e(i).group.trim();let m=await Ir(e(i));if(m.ok)a(f,!0);else{let T=await m.json();a(g,n(T.message))}}async function $(){try{return await E.validate(e(i),{abortEarly:!1}),a(I,n({})),!0}catch(m){return a(I,n(Ye(m))),!1}}ot(_,{get idx(){return t()},set idx(m){t(m)},get show(){return e(d)},set show(m){a(d,n(m))},header:m=>{var T=An();r(m,T)},body:m=>{var T=Nn(),k=c(T);ie(k,{autocomplete:"off",placeholder:"Group Name",get value(){return e(i).group},set value(p){e(i).group=p},get error(){return e(I).group},set error(p){e(I).group=p},$$events:{input:$},children:(p,S)=>{q();var L=B("GROUP NAME");r(p,L)},$$slots:{default:!0}});var h=l(k,2);Se(h,{level:1,width:"4rem",$$events:{click:o},children:(p,S)=>{q();var L=B("SAVE");r(p,L)},$$slots:{default:!0}});var y=l(h,2);{var w=p=>{var S=Tn();r(p,S)};P(y,p=>{e(f)&&p(w)})}var b=l(y,2);{var x=p=>{var S=Ln(),L=c(S,!0);v(S),K(()=>Y(L,e(g))),r(p,S)};P(b,p=>{e(g)&&p(x)})}v(T),r(m,T)},$$slots:{header:!0,body:!0}}),ne()}var Dn=A('<div class="success svelte-17in7jd">Success</div>'),jn=A('<div class="mainErr err svelte-17in7jd"> </div>'),Pn=A('<div class="container svelte-17in7jd"><div class="unit svelte-17in7jd"><div class="label font-label svelte-17in7jd">ID</div> <div class="value font-mono svelte-17in7jd"> </div></div> <!> <!> <!> <!></div>');function zn(_,s){le(s,!0);let t=G(s,"group",31,()=>n({})),d=C(""),i=C(!1),g=C(void 0);Te(()=>{e(i)&&a(g,n(setTimeout(()=>{a(i,!1),s.onSave()},2e3)))}),Ne(()=>()=>clearTimeout(e(g)));let f=C(n({}));const u=He().shape({name:he().trim().matches(qt,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});async function I(){if(a(d,""),!await E()){a(d,"Invalid input");return}let p={group:t().name.trim()},S=await Sr(t().id,p);if(S.ok)a(i,!0);else{let L=await S.json();a(d,n(L.message))}}async function E(){try{return await u.validate(t(),{abortEarly:!1}),a(f,n({})),!0}catch(p){return a(f,n(Ye(p))),!1}}var o=Pn(),$=c(o),m=l(c($),2),T=c(m,!0);v(m),v($);var k=l($,2);ie(k,{autocomplete:"off",placeholder:"Group Name",get value(){return t().name},set value(p){t(t().name=p,!0)},get error(){return e(f).name},set error(p){e(f).name=p},$$events:{input:E},children:(p,S)=>{q();var L=B("GROUP NAME");r(p,L)},$$slots:{default:!0}});var h=l(k,2);Se(h,{level:1,width:"4rem",$$events:{click:I},children:(p,S)=>{q();var L=B("SAVE");r(p,L)},$$slots:{default:!0}});var y=l(h,2);{var w=p=>{var S=Dn();r(p,S)};P(y,p=>{e(i)&&p(w)})}var b=l(y,2);{var x=p=>{var S=jn(),L=c(S,!0);v(S),K(()=>Y(L,e(d))),r(p,S)};P(b,p=>{e(d)&&p(x)})}v(o),K(()=>Y(T,t().id)),r(_,o),ne()}var On=A('<div class="err svelte-1jljqe9"> </div>'),Mn=A('<div class="container svelte-1jljqe9"><div class="label svelte-1jljqe9">Are you sure, you want to delete this group?</div> <!> <!></div>');function Un(_,s){le(s,!0);let t=G(s,"group",19,()=>({})),d=C(!1),i=C("");async function g(){a(i,""),a(d,!0);let o=await Cr(t().id);if(o.ok)s.onSave();else{let $=await o.json();a(i,n($.message))}a(d,!1)}var f=Mn(),u=l(c(f),2);Se(u,{level:1,get isLoading(){return e(d)},set isLoading(o){a(d,n(o))},$$events:{click:g},children:(o,$)=>{q();var m=B("DELETE");r(o,m)},$$slots:{default:!0}});var I=l(u,2);{var E=o=>{var $=On(),m=c($,!0);v($),K(()=>Y(m,e(i))),r(o,$)};P(I,o=>{e(i)&&o(E)})}v(f),r(_,f),ne()}var qn=A('<div class="data font-mono svelte-115hohv"> </div>'),Gn=A('<div class="data svelte-115hohv"> </div>'),Wn=A('<div class="header svelte-115hohv"><!> <!></div>'),Kn=A("<div><!></div>"),Fn=A("<div><!></div>"),Vn=A("<div><!> <!></div>");function Bn(_,s){le(s,!0);let t=G(s,"group",31,()=>n({})),d=C(void 0);const i=["Config","Delete"];let g=C(n(i[0]));const f=200,u=f/2;function I(){a(d,!1),s.onSave()}ot(_,{get show(){return e(d)},set show(E){a(d,n(E))},header:E=>{var o=Wn(),$=c(o);Ze($,{text:"Group ID",children:(T,k)=>{var h=qn(),y=c(h,!0);v(h),K(()=>Y(y,t().id)),r(T,h)},$$slots:{default:!0}});var m=l($,2);Ze(m,{text:"Group Name",children:(T,k)=>{var h=Gn(),y=c(h,!0);v(h),K(()=>Y(y,t().name)),r(T,h)},$$slots:{default:!0}}),v(o),r(E,o)},body:E=>{var o=Vn(),$=c(o);Dt($,{labels:i,get selected(){return e(g)},set selected(h){a(g,n(h))}});var m=l($,2);{var T=h=>{var y=Kn(),w=c(y);zn(w,{get onSave(){return s.onSave},get group(){return t()},set group(b){t(b)}}),v(y),ce(5,y,()=>_e,()=>({delay:u,duration:f})),ce(6,y,()=>_e,()=>({duration:f})),r(h,y)},k=h=>{var y=me(),w=ee(y);{var b=x=>{var p=Fn(),S=c(p);Un(S,{get group(){return t()},onSave:I}),v(p),ce(5,p,()=>_e,()=>({delay:u,duration:f})),ce(6,p,()=>_e,()=>({duration:f})),r(x,p)};P(w,x=>{e(g)==="Delete"&&x(b)},!0)}r(h,y)};P(m,h=>{e(g)==="Config"?h(T):h(k,!1)})}v(o),r(E,o)},$$slots:{header:!0,body:!0}}),ne()}var Jn=A('<div class="svelte-106k2r5"><!></div>'),Yn=A(' <div class="content"><!> <!> <div id="groups" class="svelte-106k2r5"></div> <!> <div style="height: 20px"></div></div>',1);function Hn(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(n([])),g=C(n([])),f=[{label:"Name",callback:(w,b)=>w.name.toLowerCase().includes(b.toLowerCase())},{label:"ID",callback:(w,b)=>w.id.toLowerCase().includes(b.toLowerCase())}],u=[{label:"Name",callback:(w,b)=>w.name.localeCompare(b.name)},{label:"ID",callback:(w,b)=>w.id.localeCompare(b.id)}];Ne(async()=>{I()});async function I(){let w=await Ba(),b=await w.json();w.ok?a(d,n([...b])):a(t,n(b.message))}function E(){I()}q();var o=Yn(),$=ee(o),m=l($),T=c(m);Lt(T,{get items(){return e(d)},searchOptions:f,orderOptions:u,get resItems(){return e(i)},set resItems(w){a(i,n(w))}});var k=l(T,2);Rn(k,{onSave:E});var h=l(k,2);We(h,23,()=>e(g),w=>w.id,(w,b,x)=>{let p=x;var S=Jn(),L=c(S);Bn(L,{onSave:E,get group(){return e(g)[e(p)]},set group(D){e(g)[e(p)]=D}}),v(S),r(w,S)}),v(h);var y=l(h,2);jt(y,{get items(){return e(i)},set items(w){a(i,n(w))},get resItems(){return e(g)},set resItems(w){a(g,n(w))}}),q(2),v(m),K(()=>Y($,`${e(t)??""} `)),r(_,o),ne()}var Xn=A('<div class="header font-label svelte-r30xs6">ADD NEW SCOPE</div>'),Zn=A('<div class="success svelte-r30xs6">Success</div>'),Qn=A('<div class="err svelte-r30xs6"> </div>'),eo=A('<div class="container svelte-r30xs6"><!> <!> <!> <!></div>');function to(_,s){le(s,!0);let t=G(s,"idx",31,()=>-1),d=C(void 0),i=C(n({scope:""})),g=C(""),f=C(!1),u=C(void 0),I=C(n({}));const E=He().shape({scope:he().trim().matches(qt,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});Te(()=>{e(f)&&a(u,n(setTimeout(()=>{s.onSave(),a(f,!1),a(i,n({scope:""})),a(d,!1)},1500)))}),Ne(()=>()=>clearTimeout(e(u)));async function o(){if(a(g,""),!await $()){a(g,"Invalid input");return}e(i).scope=e(i).scope.trim();let m=await vi(e(i));if(m.ok)a(f,!0);else{let T=await m.json();a(g,n(T.message))}}async function $(){try{return await E.validate(e(i),{abortEarly:!1}),a(I,n({})),!0}catch(m){return a(I,n(Ye(m))),!1}}ot(_,{get idx(){return t()},set idx(m){t(m)},get show(){return e(d)},set show(m){a(d,n(m))},header:m=>{var T=Xn();r(m,T)},body:m=>{var T=eo(),k=c(T);ie(k,{autocomplete:"off",placeholder:"Scope Name",get value(){return e(i).scope},set value(p){e(i).scope=p},get error(){return e(I).scope},set error(p){e(I).scope=p},$$events:{input:$},children:(p,S)=>{q();var L=B("SCOPE NAME");r(p,L)},$$slots:{default:!0}});var h=l(k,2);Se(h,{level:1,width:"4rem",$$events:{click:o},children:(p,S)=>{q();var L=B("SAVE");r(p,L)},$$slots:{default:!0}});var y=l(h,2);{var w=p=>{var S=Zn();r(p,S)};P(y,p=>{e(f)&&p(w)})}var b=l(y,2);{var x=p=>{var S=Qn(),L=c(S,!0);v(S),K(()=>Y(L,e(g))),r(p,S)};P(b,p=>{e(g)&&p(x)})}v(T),r(m,T)},$$slots:{header:!0,body:!0}}),ne()}var ao=A('<div class="desc svelte-guvobw"><p>Custom mappings cannot be done for OpenID default scopes and their names cannot be changed.</p></div>'),so=A('<div class="desc svelte-guvobw"><p>You can map custom scopes to attributes.<br> All additional attributes, that were configured, can have a custom value for each user.<br> When they are mapped to a scope, they can be included in the Access and / or ID Tokens.</p></div> <div class="unit svelte-guvobw"><div class="label svelte-guvobw">ACCESS TOKEN MAPPINGS</div> <!></div> <div class="unit svelte-guvobw"><div class="label svelte-guvobw">ID TOKEN MAPPINGS</div> <!></div>',1),ro=A('<div class="success svelte-guvobw">Success</div>'),io=A('<div class="mainErr err svelte-guvobw"> </div>'),lo=A("<!> <!> <!>",1),no=A('<div class="container svelte-guvobw"><div class="unit svelte-guvobw"><div class="label font-label svelte-guvobw">ID</div> <div class="value font-mono svelte-guvobw"> </div></div> <!> <div class="separator"></div> <!> <!></div>');function oo(_,s){le(s,!0);let t=G(s,"attrs",27,()=>n([])),d=G(s,"scope",31,()=>n({})),i=C(""),g=C(!1),f=C(void 0),u=C(!1),I=C(n([]));Te(()=>{e(g)&&a(f,n(setTimeout(()=>{a(g,!1),s.onSave()},2e3)))}),Te(()=>{t()&&a(I,n(t().map(D=>D.name)))}),Ne(()=>(a(u,n(Pa(d().name))),()=>clearTimeout(e(f))));let E=C(n({}));const o=He().shape({name:he().trim().matches(qt,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});async function $(){if(a(i,""),!await m()){a(i,"Invalid input");return}let D={scope:d().name.trim()};d().attr_include_access.length>0&&(D.attr_include_access=d().attr_include_access),d().attr_include_id.length>0&&(D.attr_include_id=d().attr_include_id);let j=await di(d().id,D);if(j.ok)a(g,!0);else{let N=await j.json();a(i,n(N.message))}}async function m(){try{return await o.validate(d(),{abortEarly:!1}),a(E,n({})),!0}catch(D){return a(E,n(Ye(D))),!1}}var T=no(),k=c(T),h=l(c(k),2),y=c(h,!0);v(h),v(k);var w=l(k,2);ie(w,{autocomplete:"off",placeholder:"Scope Name",get disabled(){return e(u)},get value(){return d().name},set value(D){d(d().name=D,!0)},get error(){return e(E).name},set error(D){e(E).name=D},$$events:{input:m},children:(D,j)=>{q();var N=B("SCOPE NAME");r(D,N)},$$slots:{default:!0}});var b=l(w,4);{var x=D=>{var j=ao();r(D,j)},p=D=>{var j=so(),N=l(ee(j),2);oe(N,"margin-top","-3px");var V=l(c(N),2);zt(V,{get options(){return e(I)},searchThreshold:4,get items(){return d().attr_include_access},set items(z){d(d().attr_include_access=z,!0)}}),v(N);var R=l(N,2);oe(R,"margin-top","-3px");var F=l(c(R),2);zt(F,{get options(){return e(I)},searchThreshold:4,get items(){return d().attr_include_id},set items(z){d(d().attr_include_id=z,!0)}}),v(R),r(D,j)};P(b,D=>{e(u)?D(x):D(p,!1)})}var S=l(b,2);{var L=D=>{var j=lo(),N=ee(j);Se(N,{level:1,width:"4rem",$$events:{click:$},children:(O,U)=>{q();var Q=B("SAVE");r(O,Q)},$$slots:{default:!0}});var V=l(N,2);{var R=O=>{var U=ro();r(O,U)};P(V,O=>{e(g)&&O(R)})}var F=l(V,2);{var z=O=>{var U=io(),Q=c(U,!0);v(U),K(()=>Y(Q,e(i))),r(O,U)};P(F,O=>{e(i)&&O(z)})}r(D,j)};P(S,D=>{e(u)||D(L)})}v(T),K(()=>Y(y,d().id)),r(_,T),ne()}var vo=A('<div class="label svelte-1jljqe9">OpenID default scopes cannot be deleted</div>'),co=A('<div class="err svelte-1jljqe9"> </div>'),uo=A('<div class="label svelte-1jljqe9">Are you sure, you want to delete this scope?</div> <!> <!>',1),ho=A('<div class="container svelte-1jljqe9"><!></div>');function po(_,s){le(s,!0);let t=G(s,"scope",19,()=>({})),d=C(!1),i=C("");async function g(){a(i,""),a(d,!0);let o=await ci(t().id);if(o.ok)s.onSave();else{let $=await o.json();a(i,n($.message))}a(d,!1)}var f=ho(),u=c(f);{var I=o=>{var $=vo();r(o,$)},E=o=>{var $=uo(),m=l(ee($),2);Se(m,{level:1,get isLoading(){return e(d)},set isLoading(h){a(d,n(h))},$$events:{click:g},children:(h,y)=>{q();var w=B("DELETE");r(h,w)},$$slots:{default:!0}});var T=l(m,2);{var k=h=>{var y=co(),w=c(y,!0);v(y),K(()=>Y(w,e(i))),r(h,y)};P(T,h=>{e(i)&&h(k)})}r(o,$)};P(u,o=>{Pa(t().name)?o(I):o(E,!1)})}v(f),r(_,f),ne()}var mo=A('<div class="data font-mono svelte-115hohv"> </div>'),go=A('<div class="data svelte-115hohv"> </div>'),fo=A('<div class="header svelte-115hohv"><!> <!></div>'),yo=A("<div><!></div>"),wo=A("<div><!></div>"),bo=A("<div><!> <!></div>");function $o(_,s){le(s,!0);let t=G(s,"attrs",15),d=G(s,"scope",31,()=>n({})),i=G(s,"onSave",15),g=C(void 0);const f=["Config","Delete"];let u=C(n(f[0]));const I=200,E=I/2;function o(){a(g,!1),i()()}ot(_,{get show(){return e(g)},set show($){a(g,n($))},header:$=>{var m=fo(),T=c(m);Ze(T,{text:"Scope ID",children:(h,y)=>{var w=mo(),b=c(w,!0);v(w),K(()=>Y(b,d().id)),r(h,w)},$$slots:{default:!0}});var k=l(T,2);Ze(k,{text:"Scope Name",children:(h,y)=>{var w=go(),b=c(w,!0);v(w),K(()=>Y(b,d().name)),r(h,w)},$$slots:{default:!0}}),v(m),r($,m)},body:$=>{var m=bo(),T=c(m);Dt(T,{labels:f,get selected(){return e(u)},set selected(w){a(u,n(w))}});var k=l(T,2);{var h=w=>{var b=yo(),x=c(b);oo(x,{get attrs(){return t()},set attrs(p){t(p)},get scope(){return d()},set scope(p){d(p)},get onSave(){return i()},set onSave(p){i(p)}}),v(b),ce(5,b,()=>_e,()=>({delay:E,duration:I})),ce(6,b,()=>_e,()=>({duration:I})),r(w,b)},y=w=>{var b=me(),x=ee(b);{var p=S=>{var L=wo(),D=c(L);po(D,{get scope(){return d()},onSave:o}),v(L),ce(5,L,()=>_e,()=>({delay:E,duration:I})),ce(6,L,()=>_e,()=>({duration:I})),r(S,L)};P(x,S=>{e(u)==="Delete"&&S(p)},!0)}r(w,b)};P(k,w=>{e(u)==="Config"?w(h):w(y,!1)})}v(m),r($,m)},$$slots:{header:!0,body:!0}}),ne()}var _o=A('<div class="svelte-1tlglcs"><!></div>'),ko=A(' <div class="content"><!> <!> <div id="scopes" class="svelte-1tlglcs"></div> <!> <div style="height: 20px"></div></div>',1);function xo(_,s){le(s,!0);let t=C(n([])),d=C(""),i=C(n([])),g=C(n([])),f=C(n([])),u=C(""),I=[{label:"Name",callback:(p,S)=>p.name.toLowerCase().includes(S.toLowerCase())},{label:"ID",callback:(p,S)=>p.id.toLowerCase().includes(S.toLowerCase())}],E=[{label:"Name",callback:(p,S)=>p.name.localeCompare(S.name)},{label:"ID",callback:(p,S)=>p.id.localeCompare(S.id)}];Ne(()=>{$(),o(),a(u,"")});async function o(){let p=await ma();if(!p.ok)a(d,"Error fetching attributes: "+p.body.message);else{let S=await p.json();a(t,n([...S.values]))}}async function $(){let p=await Za(),S=await p.json();p.ok?a(i,n([...S])):a(d,n(S.message))}function m(){$()}q();var T=ko(),k=ee(T),h=l(k),y=c(h);Lt(y,{get items(){return e(i)},searchOptions:I,orderOptions:E,get resItems(){return e(g)},set resItems(p){a(g,n(p))},get search(){return e(u)},set search(p){a(u,n(p))}});var w=l(y,2);to(w,{onSave:m});var b=l(w,2);We(b,23,()=>e(f),p=>p.id,(p,S,L)=>{var D=_o(),j=c(D);$o(j,{onSave:m,get attrs(){return e(t)},set attrs(N){a(t,n(N))},get scope(){return e(f)[e(L)]},set scope(N){e(f)[e(L)]=N}}),v(D),r(p,D)}),v(b);var x=l(b,2);jt(x,{get items(){return e(g)},set items(p){a(g,n(p))},get resItems(){return e(f)},set resItems(p){a(f,n(p))}}),q(2),v(h),K(()=>Y(k,`${e(d)??""} `)),r(_,T),ne()}var Eo=A('<div class="entry svelte-f2hz2l"><div class="label svelte-f2hz2l"> </div> <!></div>'),Io=A('<div class="list svelte-f2hz2l"></div>');function ss(_,s){let t=G(s,"options",19,()=>[{label:"password",value:!1},{label:"refresh_token",value:!1}]);var d=Io();We(d,21,t,yt,(i,g,f)=>{var u=Eo(),I=c(u),E=c(I,!0);v(I);var o=l(I,2);Be(o,{get selected(){return e(g).value},set selected($){e(g).value=$}}),v(u),K(()=>Y(E,e(g).label)),r(i,u)}),v(d),r(_,d)}var So=A("<div><!></div>");function Co(_,s){le(s,!0);let t=G(s,"validation",19,()=>({})),d=G(s,"value",15),i=G(s,"autocomplete",11,"on"),g=G(s,"validate",15),f=Jt(s,["$$slots","$$events","$$legacy","validation","name","value","width","autocomplete","children","validate"]);g($);let u=C("");const I=na();async function E(){await Bt(),I("input",!0),$()}async function o(){I("blur",!0),$()}function $(){var k;return a(u,""),d()&&((k=t())!=null&&k.regex)&&!d().match(t().regex)?(a(u,n(t().errMsg||"Invalid input")),!1):!0}var m=So(),T=c(m);return ie(T,La({get width(){return s.width},get name(){return s.name},get autocomplete(){return i()}},()=>f,{get value(){return d()},set value(k){d(k)},get error(){return e(u)},set error(k){a(u,n(k))},$$events:{input:E,blur:o},children:(k,h)=>{var y=me(),w=ee(y);At(w,()=>s.children??Ct),r(k,y)},$$slots:{default:!0}})),v(m),ce(7,m,()=>ht,()=>({duration:200})),r(_,m),ne({validateValue:$})}var Ao=A('<div class="err svelte-nzivgu"> </div>'),To=A('<div class="container svelte-nzivgu"><!> <!></div>');function Kt(_,s){le(s,!0);let t=G(s,"validation",27,()=>n({required:!1,regex:void 0,errMsg:""})),d=G(s,"values",15),i=G(s,"validate",15),g=G(s,"width",3,"260px"),f=G(s,"optional",3,!1),u=G(s,"autocomplete",15,"on"),I=Jt(s,["$$slots","$$events","$$legacy","validation","values","validate","width","optional","autocomplete","children"]);i(k);let E=C(""),o=C(n([]));const $=na();Ne(()=>{d()||d([]);for(let x of d())e(o).push({name:Mt(),value:x});e(o).push({name:Mt(),value:""})});async function m(){await Bt(),e(o)[e(o).length-1].value?e(o).push({name:Mt(),value:""}):e(o).length>1&&!e(o)[e(o).length-2].value&&a(o,n([...e(o).slice(0,e(o).length-1)])),$("input",!0),k(),d(T())}function T(){k();let x=[];for(let p=0;p<e(o).length-1;p++)x.push(e(o)[p].value);return x}function k(){if(t().required&&e(o).length===1&&!e(o)[0].value)return f()?!0:(a(E,"Required"),!1);let x=!0;for(let p of e(o))p.value&&!p.validate()&&(x=!1);return x}var h=To(),y=c(h);We(y,17,()=>e(o),yt,(x,p,S)=>{Co(x,La({width:"calc({width} - 20px)",get validation(){return t()},get name(){return e(p).name}},()=>I,{get value(){return e(p).value},set value(L){e(p).value=L},get validate(){return e(p).validate},set validate(L){e(p).validate=L},get autocomplete(){return u()},set autocomplete(L){u(L)},$$events:{input:m,blur:m},children:(L,D)=>{var j=me(),N=ee(j);At(N,()=>s.children??Ct),r(L,j)},$$slots:{default:!0}}))});var w=l(y,2);{var b=x=>{var p=Ao(),S=c(p,!0);v(p),K(()=>Y(S,e(E))),r(x,p)};P(w,x=>{e(E)&&x(b)})}return v(h),K(()=>oe(h,"width",g())),r(_,h),ne({getValues:T,validateValues:k})}var Lo=A('<div class="desc svelte-1pba61y"><p><span><b>CAUTION:</b></span> The <code class="svelte-1pba61y">FORCE MFA</code> option for <code class="svelte-1pba61y">rauthy</code> itself is managed statically via the <code class="svelte-1pba61y">ADMIN_FORCE_MFA</code> config variable and will be overridden with each restart.</p></div>'),No=A(`<div class="desc svelte-1pba61y"><p><span><b>CAUTION:</b></span> If you <code class="svelte-1pba61y">FORCE MFA</code> for this client here, this will only apply to the <code class="svelte-1pba61y">authorization_code</code> flow! If you use other flows,
                 MFA cannot be forced for them!</p></div>`),Ro=A('<div class="separator svelte-1pba61y"></div> <b>CAUTION:</b> <p><code class="svelte-1pba61y">rauthy</code> is the default client which is needed for logging into this Admin UI.<br> Be VERY careful when you change values here, since you could end up locking yourself out of the UI.</p>',1),Do=A('<div class="success svelte-1pba61y">Success</div>'),jo=A('<div class="mainErr err svelte-1pba61y"> </div>'),Po=A(`<div class="container svelte-1pba61y"><div class="unit svelte-1pba61y"><div class="label font-label svelte-1pba61y">CLIENT ID</div> <div class="value font-mono svelte-1pba61y"> </div></div> <div class="desc svelte-1pba61y"><p>The Name can be changed without any impact on the configuration.<br> It will just show up on the Login / Logout screens.</p></div> <!> <div class="desc svelte-1pba61y"><p>Information about this client's URI and some contacts.
             Client URI and Contacts might be shown to users on the login page.</p></div> <!> <!> <div class="desc svelte-1pba61y"><p>Client configuration</p></div> <div class="row svelte-1pba61y"><div class="unit svelte-1pba61y"><div class="label font-label svelte-1pba61y">ENABLED</div> <div class="value svelte-1pba61y"><!></div></div> <div class="unit svelte-1pba61y"><div class="label font-label svelte-1pba61y">CONFIDENTIAL</div> <div class="value confidential svelte-1pba61y"><!></div></div></div> <div class="unit svelte-1pba61y"><div class="label font-label svelte-1pba61y">FLOWS ENABLED</div> <div class="flows svelte-1pba61y"><!></div></div> <div class="unit svelte-1pba61y"><div class="label font-label svelte-1pba61y">FORCE MFA</div> <div class="value svelte-1pba61y"><!></div></div> <!> <div class="separator svelte-1pba61y"></div> <div class="desc svelte-1pba61y"><p>Allowed Scopes will be applied, if the client asks for them during the login.<br> Default Scopes will always be applied.</p></div> <div class="unit svelte-1pba61y"><div class="label svelte-1pba61y">ALLOWED SCOPES</div> <!></div> <div class="unit svelte-1pba61y"><div class="label svelte-1pba61y">DEFAULT SCOPES</div> <!></div> <div class="separator svelte-1pba61y"></div> <!> <div class="desc svelte-1pba61y"><p>Redirect URIs may contain a <code class="svelte-1pba61y">*</code> wildcard only at the end.</p></div> <!> <div class="separator svelte-1pba61y"></div> <!> <div class="separator svelte-1pba61y"></div> <div class="desc svelte-1pba61y"><p>The Token Lifetime applies to the Access and ID tokens and is specified in seconds.</p> <p>If your client does support EdDSA / ed25519 token algorithms, you should always use it for better security
             and
             smaller tokens.<br> The RSA algorithms does exist for compatibility reasons only.</p> <p>The algorithm for the optional refresh token cannot be changed, since this should only be used by <i>rauthy</i> anyway.</p></div> <!> <div class="row svelte-1pba61y"><div class="unit svelte-1pba61y"><div class="label font-label svelte-1pba61y">ACCESS ALGORITHM</div> <div class="value svelte-1pba61y"><!></div></div> <div class="unit svelte-1pba61y"><div class="label font-label svelte-1pba61y">ID ALGORITHM</div> <div class="value svelte-1pba61y"><!></div></div></div> <div class="separator svelte-1pba61y"></div> <div class="desc svelte-1pba61y"><p>If your application does support it, you should always use S256 PKCE challenges.<br> If you login from a single page application directly without any backend and therefore have a
             non-confidential
             client, you must(!) use at least the plain PKCE challenge, to have a secure login flow.</p> <p>If any of these is set, <i>rauthy</i> will enforce the usage and deny any login, which does not provide a
-            valid challenge.</p></div> <div class="unit svelte-1pba61y"><div class="label font-label svelte-1pba61y">PKCE CHALLENGES</div> <div class="challenges svelte-1pba61y"><!></div></div> <div class="desc err svelte-1pba61y"><!></div> <!> <!> <!></div>`);function zo(_,s){le(s,!0);let t=G(s,"client",31,()=>n({}));const d="350px";let i=C(""),g=C(!1),f=C(void 0),u=n(Ls.map(se=>{var Ae,ze;return se.label==="device_code"?se.value=(Ae=t().flows_enabled)==null?void 0:Ae.includes("urn:ietf:params:oauth:grant-type:device_code"):se.value=(ze=t().flows_enabled)==null?void 0:ze.includes(se.label),se})),I=C(void 0);Qa.subscribe(se=>{a(I,n(se))});let E=n(Ns.map(se=>{var Ae;return se.value=(Ae=t().challenges)==null?void 0:Ae.includes(se.label),se})),o=C(void 0),$=C(void 0),m=C(void 0),T=C(void 0);Ne(()=>()=>clearTimeout(e(f)));let k=C(n({}));const h=He().shape({name:he().trim().matches(Xt,"Can only contain characters, numbers and '-'"),client_uri:he().trim().nullable().matches(tt,"Invalid URI"),access_token_lifetime:wt().required("Token Lifetime is required").min(10,"Cannot be lower than 10").max(86400,"Cannot be higher than 86400")});function y(){t().redirect_uris[0]===""&&t(t().redirect_uris=[],!0),(!t().post_logout_redirect_uris||t().post_logout_redirect_uris[0]==="")&&t(t().post_logout_redirect_uris=[],!0),t().name||t(t().name="",!0),(!t().contacts||t().contacts[0]==="")&&t(t().contacts=[],!0),t().client_uri||t(t().client_uri=null,!0)}function w(se){se.code==="Enter"&&b()}async function b(){a(i,"");const se=await x();if(!e($)()){a(i,"Invalid Allowed Origin");return}if(!e(m)()){a(i,"Invalid Redirect URIs");return}if(!e(T)()){a(i,"Invalid Post Logout URIs");return}if(!e(o)()){a(i,"Invalid Contacts");return}if(!se){a(i,"Invalid input");return}if(t(t().access_token_lifetime=Number.parseInt(t().access_token_lifetime),!0),t(t().flows_enabled=u.filter(X=>X.value).map(X=>X.label==="device_code"?"urn:ietf:params:oauth:grant-type:device_code":X.label),!0),t().flows_enabled.includes("authorization_code")&&t().redirect_uris.length===0){a(i,"With 'authorization_code' flow enabled, you need to specify at least one redirect URI");return}if(t().flows_enabled.includes("client_credentials")&&!t().confidential){a(i,"'client_credentials' flow needs a 'confidential' client");return}if(t().flows_enabled.length===0){a(i,"At least one flow must be enabled");return}let Ae=t();t(t().challenges=E.filter(X=>X.value).map(X=>X.label),!0),t().challenges.length===0&&(Ae.challenges=null),Ae.name||(Ae.name=void 0),Ae.allowed_origins.length>0&&!Ae.allowed_origins[0]&&(Ae.allowed_origins=[]);let ze=await pr(Ae);if(ze.ok)a(g,!0);else{let X=await ze.json();a(i,n(X.message))}}async function x(){try{return await h.validate(t(),{abortEarly:!1}),a(k,n({})),!0}catch(se){return a(k,n(Ye(se))),!1}}Te(()=>{t().id&&y()}),Te(()=>{e(g)&&a(f,n(setTimeout(()=>{a(g,!1),s.onSave()},3e3)))});var p=Po(),S=c(p),L=l(c(S),2),D=c(L,!0);v(L),v(S);var j=l(S,4);ie(j,{autocomplete:"off",placeholder:"Client Name",width:d,get value(){return t().name},set value(se){t(t().name=se,!0)},get error(){return e(k).name},set error(se){e(k).name=se},$$events:{keypress:w,input:x},children:(se,Ae)=>{q();var ze=B("CLIENT NAME");r(se,ze)},$$slots:{default:!0}});var N=l(j,4);ie(N,{autocomplete:"off",placeholder:"Client URI",width:d,get value(){return t().client_uri},set value(se){t(t().client_uri=se,!0)},get error(){return e(k).client_uri},set error(se){e(k).client_uri=se},$$events:{keypress:w,input:x},children:(se,Ae)=>{q();var ze=B("CLIENT URI");r(se,ze)},$$slots:{default:!0}});var V=l(N,2);Kt(V,{style:`width: ${d}`,validation:{required:!1,regex:Rs,errMsg:"Only URL safe values: a-zA-Z0-9,.:/_-&?=~#!$'()*+%"},autocomplete:"off",placeholder:"Contact",optional:!0,get values(){return t().contacts},set values(se){t(t().contacts=se,!0)},get validate(){return e(o)},set validate(se){a(o,n(se))},children:(se,Ae)=>{q();var ze=B("CONTACT");r(se,ze)},$$slots:{default:!0}});var R=l(V,4);oe(R,"margin-top","-5px");var F=c(R);oe(F,"width","138px");var z=l(c(F),2),O=c(z);Be(O,{get selected(){return t().enabled},set selected(se){t(t().enabled=se,!0)}}),v(z),v(F);var U=l(F,2);oe(U,"width","110px");var Q=l(c(U),2),M=c(Q);Be(M,{get selected(){return t().confidential},set selected(se){t(t().confidential=se,!0)}}),v(Q),v(U),v(R);var W=l(R,2),J=l(c(W),2),Z=c(J);ss(Z,{get options(){return u}}),v(J),v(W);var re=l(W,2),ve=l(c(re),2),be=c(ve);Be(be,{get selected(){return t().force_mfa},set selected(se){t(t().force_mfa=se,!0)}}),v(ve),v(re);var $e=l(re,2);{var pe=se=>{var Ae=Lo();oe(Ae,"margin","-10px 0 -15px 5px");var ze=c(Ae),X=c(ze);oe(X,"color","var(--col-err)"),q(7),v(ze),v(Ae),r(se,Ae)},je=se=>{var Ae=me(),ze=ee(Ae);{var X=Ee=>{var Le=No();oe(Le,"margin","-10px 0 -15px 5px");var St=c(Le),ae=c(St);oe(ae,"color","var(--col-err)"),q(5),v(St),v(Le),ce(3,Le,()=>_e),r(Ee,Le)};P(ze,Ee=>{t().force_mfa&&Ee(X)},!0)}r(se,Ae)};P($e,se=>{t().id==="rauthy"?se(pe):se(je,!1)})}var fe=l($e,6);oe(fe,"margin-top","-10px");var de=l(c(fe),2);zt(de,{get options(){return e(I)},searchThreshold:4,get items(){return t().scopes},set items(se){t(t().scopes=se,!0)}}),v(fe);var ye=l(fe,2);oe(ye,"margin-top","-3px");var we=l(c(ye),2);zt(we,{get options(){return e(I)},searchThreshold:4,get items(){return t().default_scopes},set items(se){t(t().default_scopes=se,!0)}}),v(ye);var Pe=l(ye,4);Kt(Pe,{style:`width: ${d}`,validation:{required:!0,regex:Ds,errMsg:"Must be a valid origin"},autocomplete:"off",placeholder:"Allowed Origin",optional:!0,get values(){return t().allowed_origins},set values(se){t(t().allowed_origins=se,!0)},get validate(){return e($)},set validate(se){a($,n(se))},children:(se,Ae)=>{q();var ze=B("ALLOWED ORIGIN");r(se,ze)},$$slots:{default:!0}});var Ce=l(Pe,4);Kt(Ce,{style:`width: ${d}`,validation:{required:!0,regex:tt,errMsg:"Only URL safe values: a-zA-Z0-9,.:/_-&?=~#!$'()*+%"},autocomplete:"off",placeholder:"Redirect URI",optional:!0,get values(){return t().redirect_uris},set values(se){t(t().redirect_uris=se,!0)},get validate(){return e(m)},set validate(se){a(m,n(se))},children:(se,Ae)=>{q();var ze=B("REDIRECT URI");r(se,ze)},$$slots:{default:!0}});var xe=l(Ce,4);Kt(xe,{style:`width: ${d}`,validation:{required:!0,regex:tt,errMsg:"Only URL safe values: a-zA-Z0-9,.:/_-&?=~#!$'()*+%"},autocomplete:"off",placeholder:"Post Logout Redirect URI",optional:!0,get values(){return t().post_logout_redirect_uris},set values(se){t(t().post_logout_redirect_uris=se,!0)},get validate(){return e(T)},set validate(se){a(T,n(se))},children:(se,Ae)=>{q();var ze=B("POST LOGOUT REDIRECT URI");r(se,ze)},$$slots:{default:!0}});var Re=l(xe,6);ie(Re,{type:"number",min:60,max:86400,autocomplete:"off",placeholder:"Client Name",width:d,get value(){return t().access_token_lifetime},set value(se){t(t().access_token_lifetime=se,!0)},get error(){return e(k).access_token_lifetime},set error(se){e(k).access_token_lifetime=se},$$events:{input:x},children:(se,Ae)=>{q();var ze=B("ACCESS TOKEN LIFETIME");r(se,ze)},$$slots:{default:!0}});var H=l(Re,2),Ie=c(H);oe(Ie,"width","220px");var ge=l(c(Ie),2),Ue=c(ge);kt(Ue,{options:za,get value(){return t().access_token_alg},set value(se){t(t().access_token_alg=se,!0)}}),v(ge),v(Ie);var Je=l(Ie,2),rt=c(Je);oe(rt,"text-align","right");var vt=l(rt,2),qe=c(vt);kt(qe,{options:za,get value(){return t().id_token_alg},set value(se){t(t().id_token_alg=se,!0)}}),v(vt),v(Je),v(H);var Fe=l(H,6),lt=l(c(Fe),2),xt=c(lt);ss(xt,{get options(){return E}}),v(lt),v(Fe);var $t=l(Fe,2),Qe=c($t);{var et=se=>{var Ae=Ro();q(4),r(se,Ae)};P(Qe,se=>{t().id==="rauthy"&&se(et)})}v($t);var gt=l($t,2);Se(gt,{level:1,width:"4rem",$$events:{click:b},children:(se,Ae)=>{q();var ze=B("SAVE");r(se,ze)},$$slots:{default:!0}});var ct=l(gt,2);{var It=se=>{var Ae=Do();r(se,Ae)};P(ct,se=>{e(g)&&se(It)})}var at=l(ct,2);{var st=se=>{var Ae=jo(),ze=c(Ae,!0);v(Ae),K(()=>Y(ze,e(i))),r(se,Ae)};P(at,se=>{e(i)&&se(st)})}v(p),K(()=>Y(D,t().id)),r(_,p),ne()}var Oo=A('<div class="container svelte-3m83zw"><div class="err svelte-3m83zw"> </div> <div class="value font-mono"><!></div> <!></div>');function Mo(_,s){le(s,!0);let t=C(""),d=C("");Ne(()=>{i()});async function i(){let T=await $r(s.client.id),k=await T.json();T.ok?a(d,n(k.secret)):a(t,n(k.message))}async function g(){let T=await _r(s.client.id),k=await T.json();T.ok?await i():a(t,n(k.message))}var f=Oo(),u=c(f),I=c(u,!0);v(u);var E=l(u,2),o=c(E);{var $=T=>{Wt(T,{autocomplete:"off",disabled:!0,showCopy:!0,width:"inherit",maxWidth:"800px",get value(){return e(d)},set value(k){a(d,n(k))},children:(k,h)=>{q();var y=B("CLIENT SECRET");r(k,y)},$$slots:{default:!0}})};P(o,T=>{e(d)&&T($)})}v(E);var m=l(E,2);Se(m,{level:1,$$events:{click:g},children:(T,k)=>{q();var h=B("GENERATE NEW");r(T,h)},$$slots:{default:!0}}),v(f),K(()=>Y(I,e(t))),r(_,f),ne()}var Uo=A('<div class="label svelte-1jljqe9">Anti-Lockout Rule: The rauthy default client cannot be deleted.</div>'),qo=A('<div class="err svelte-1jljqe9"> </div>'),Go=A('<div class="label svelte-1jljqe9">Are you sure, you want to delete this client?</div> <!> <!>',1),Wo=A('<div class="container svelte-1jljqe9"><!></div>');function Ko(_,s){le(s,!0);let t=G(s,"client",19,()=>({})),d=C(!1),i=C("");async function g(){a(i,""),a(d,!0);let o=await mr(t().id);if(o.ok)s.onSave();else{let $=await o.json();a(i,n($.message))}a(d,!1)}var f=Wo(),u=c(f);{var I=o=>{var $=Uo();r(o,$)},E=o=>{var $=Go(),m=l(ee($),2);Se(m,{level:1,get isLoading(){return e(d)},set isLoading(h){a(d,n(h))},$$events:{click:g},children:(h,y)=>{q();var w=B("DELETE");r(h,w)},$$slots:{default:!0}});var T=l(m,2);{var k=h=>{var y=qo(),w=c(y,!0);v(y),K(()=>Y(w,e(i))),r(h,y)};P(T,h=>{e(i)&&h(k)})}r(o,$)};P(u,o=>{t().id==="rauthy"?o(I):o(E,!1)})}v(f),r(_,f),ne()}var Fo=(_,s)=>a(s,!0),Vo=A('<div class="load svelte-icxpvn"><!></div>'),Bo=A('<div class="txt svelte-icxpvn">LOAD</div>'),Jo=A('<div class="wrap svelte-icxpvn"><button class="btn font-label svelte-icxpvn"><!></button></div>');function ya(_,s){le(s,!0);let t=C(!1),d=C(!1),i=C(void 0),g=C(void 0),f=C(void 0),u=C(void 0),I=C(void 0),E=C("white");Ca(()=>{clearTimeout(e(I))});function o(){switch(s.level){case 1:a(i,n(s.colors.act1)),a(g,n(s.colors.act1a)),a(f,"white"),a(u,`1px solid ${s.colors.gmid}`);break;case 2:a(i,n(s.colors.act2)),a(g,n(s.colors.act2a)),a(f,n(s.colors.ghigh)),a(u,`1px solid ${s.colors.gmid}`);break;default:a(i,n(s.colors.ghigh)),a(g,"white"),a(f,n(s.colors.act2a)),a(u,`1px solid ${s.colors.act2a}`),a(E,n(s.colors.acnt))}}Te(()=>{e(d)&&a(I,n(setTimeout(()=>{a(d,!1)},2e3)))}),Te(()=>{s.colors&&o()});var $=Jo(),m=c($);m.__click=[Fo,d],oe(m,"width","100px");var T=c(m);{var k=y=>{var w=Vo(),b=c(w);ha(b,{background:!1,get color(){return e(E)}}),v(w),r(y,w)},h=y=>{var w=Bo();r(y,w)};P(T,y=>{e(d)?y(k):y(h,!1)})}v(m),v($),K(()=>{oe(m,"border",e(u)),oe(m,"box-shadow",`1px 1px 2px ${s.colors.gmid??""}`),oe(m,"cursor",e(d)?"default":"pointer"),oe(m,"color",e(f)),oe(m,"background",e(t)?e(g):e(i))}),Me("focus",m,()=>a(t,!0)),Me("blur",m,()=>a(t,!1)),Me("keypress",m,()=>a(d,!0)),r(_,$),ne()}ut(["click"]);var Yo=A('<div class="rel svelte-115vejc"><div role="none" class="btn show svelte-115vejc"><!></div></div>'),Ho=A('<div class="err font-label svelte-115vejc"> </div>'),Xo=A('<div class="container svelte-115vejc"><div class="label svelte-115vejc"><div class="labelInner font-label noselect svelte-115vejc"><label><!></label></div></div> <input> <!> <!></div>');function rs(_,s){le(s,!0);let t=G(s,"colors",19,()=>({})),d=G(s,"error",3,""),i=G(s,"name",3,""),g=G(s,"password",3,!1),f=G(s,"value",3,""),u=G(s,"width",3,"250px"),I=Jt(s,["$$slots","$$events","$$legacy","colors","error","name","password","value","width","children"]),E=C(n(g()?"new-password":"text")),o=C(!1),$=C(!1);function m(){e(E)==="password"?a(E,"text"):a(E,"password")}var T=Xo(),k=c(T),h=c(k),y=c(h),w=c(y);At(w,()=>s.children??Ct),v(y),v(h),v(k);var b=l(k,2);nt(b);var x=()=>a(o,!0),p=()=>a(o,!1),S=()=>a($,!0),L=()=>a($,!1);let D;var j=l(b,2);{var N=F=>{var z=Yo(),O=c(z);O.__click=m;var U=c(O);{var Q=W=>{Fa(W,{width:22,get color(){return t().err}})},M=W=>{Va(W,{width:22,get color(){return t().ok}})};P(U,W=>{e(E)==="password"?W(Q):W(M,!1)})}v(O),v(z),Me("keypress",O,m),r(F,z)};P(j,F=>{g()&&F(N)})}var V=l(j,2);{var R=F=>{var z=Ho(),O=c(z,!0);v(z),K(()=>{oe(z,"width",u()),oe(z,"color",t().err),Y(O,d())}),ce(7,z,()=>_e,()=>({duration:250})),r(F,z)};P(V,F=>{d()&&F(R)})}v(T),K(()=>{oe(T,"width",`calc(${u()??""} + 12px)`),oe(h,"background",t().bg),ue(y,"for",i()),D=pa(b,D,{type:e(E),onmouseenter:x,onmouseleave:p,onfocus:S,onblur:L,autocomplete:"off",name:i(),value:f(),...I},"svelte-115vejc"),oe(b,"width",u()),oe(b,"background",(e(o)||e($),t().bg)),oe(b,"border",e($)?`1px solid ${t().acnt}`:`1px solid ${t().glow}`),oe(b,"color",t().text),oe(b,"box-shadow",`1px 1px 2px ${t().gmid??""}`)}),r(_,T),ne()}ut(["click"]);var Zo=A('<img alt="No Logo Available">');function is(_,s){le(s,!0);var t=Zo();K(()=>ue(t,"src",`/auth/v1/clients/${s.clientId}/logo?${Mt(6)}`)),r(_,t),ne()}var Qo=A('<div class="preview font-label svelte-rscdc0"><b>PREVIEW</b></div> <div class="container svelte-rscdc0"><div class="head svelte-rscdc0"><div class="logo svelte-rscdc0"><!></div></div> <div class="name svelte-rscdc0"><h2>Client Name</h2></div> <!> <!> <div class="btn svelte-rscdc0"><!> <!> <!></div></div>',1);function ev(_,s){le(s,!0);let t="This is an E-Mail error",d="This is a password error";var i=Qo(),g=l(ee(i),2),f=c(g),u=c(f),I=c(u);{var E=y=>{is(y,{get clientId(){return s.clientId}})};P(I,y=>{s.isLoading||y(E)})}v(u),v(f);var o=l(f,4);rs(o,{type:"email",name:"rauthyEmail",placeholder:"E-Mail",get error(){return t},get colors(){return s.colors},children:(y,w)=>{q();var b=B("E-MAIL");r(y,b)},$$slots:{default:!0}});var $=l(o,2);rs($,{password:!0,name:"rauthyPassword",placeholder:"Password",get error(){return d},get colors(){return s.colors},children:(y,w)=>{q();var b=B("E-MAIL");r(y,b)},$$slots:{default:!0}});var m=l($,2),T=c(m);ya(T,{get colors(){return s.colors},level:1});var k=l(T,2);ya(k,{get colors(){return s.colors},level:2});var h=l(k,2);ya(h,{get colors(){return s.colors},level:3}),v(m),v(g),K(()=>{oe(g,"color",s.colors.text),oe(g,"border",`1px solid ${s.colors.gmid??""}`),oe(g,"background",s.colors.bg)}),r(_,i),ne()}var tv=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5"></path></svg>');function av(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=tv();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var sv=(_,s)=>e(s).click(),rv=(_,s)=>e(s).click(),iv=(_,s)=>s(_),lv=A('<div class="container svelte-jso5mh"><div role="button" tabindex="0" class="btn svelte-jso5mh"><!></div> <div role="button" tabindex="0" class="text noselect font-label svelte-jso5mh"> </div> <input class="imageInput svelte-jso5mh" type="file" accept=".jpg, .jpeg, .png, .svg"></div>');function ls(_,s){let t=G(s,"text",3,"UPLOAD LOGO"),d=G(s,"image",15),i=C(void 0);async function g(m){d(m.target.files[0])}var f=lv(),u=c(f);u.__click=[sv,i];var I=c(u);av(I,{width:22}),v(u);var E=l(u,2);E.__click=[rv,i];var o=c(E,!0);v(E);var $=l(E,2);$.__change=[iv,g],Qs($,m=>a(i,m),()=>e(i)),v(f),K(()=>Y(o,t())),Me("keypress",u,()=>e(i).click()),Me("keypress",E,()=>e(i).click()),r(_,f)}ut(["click","change"]);var nv=A('<div class="col1 colors svelte-11vvvzr"><div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div></div> <div class="col2 colors svelte-11vvvzr"><div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="logo svelte-11vvvzr"><!> <!></div></div>',1),ov=A('<div class="preview svelte-11vvvzr"><!></div>'),vv=A('<div class="success svelte-11vvvzr">Success</div>'),dv=A('<div class="err svelte-11vvvzr"> </div>'),cv=A(`<div class="container svelte-11vvvzr"><div class="label svelte-11vvvzr"><p>You can set client specific colors, which then will be used for the Login page.
-            These colors must be valid CSS values. Either enter them directly or use the color picker.</p></div> <div class="inner svelte-11vvvzr"><!> <!></div> <div class="btns svelte-11vvvzr"><!> <!> <!> <!></div></div>`);function uv(_,s){le(s,!0);let t=G(s,"client",19,()=>({})),d=C(void 0),i=C(void 0),g=C(!1),f=C(""),u=C(!1),I=C(void 0),E=C(n({})),o=C(n({}));const $=He().shape({act1:he().trim().matches(ft,"only valid CSS color"),act1a:he().trim().matches(ft,"only valid CSS color"),act2:he().trim().matches(ft,"only valid CSS color"),act2a:he().trim().matches(ft,"only valid CSS color"),acnt:he().trim().matches(ft,"only valid CSS color"),acnta:he().trim().matches(ft,"only valid CSS color"),ok:he().trim().matches(ft,"only valid CSS color"),err:he().trim().matches(ft,"only valid CSS color"),glow:he().trim().matches(ft,"only valid CSS color"),gmid:he().trim().matches(ft,"only valid CSS color"),ghigh:he().trim().matches(ft,"only valid CSS color"),text:he().trim().matches(ft,"only valid CSS color"),bg:he().trim().matches(ft,"only valid CSS color")});Ne(async()=>{await m()}),Ca(()=>{e(I)&&clearTimeout(e(I))});async function m(){let O=await gr(t().id);if(O.ok){let U=await O.json();a(d,n(U)),a(o,n(U))}else{let U=await O.json();a(f,n(U.message))}}async function T(){if(a(f,""),a(g,!0),!await y())return;let O=await fr(t().id,e(o));if(O.ok)a(u,!0);else{let U=await O.json();a(f,n(U.message))}a(g,!1)}async function k(){a(f,""),a(g,!0);let O=await yr(t().id);if(O.ok)await br(t().id),await m(),a(u,!0);else{let U=await O.json();a(f,n(U.message))}a(g,!1)}async function h(O){a(g,!0),await Bt();let U=await wr(t().id,O);if(!U.ok){let Q=await U.json();console.error(Q.message)}a(g,!1)}async function y(){try{await $.validate(e(o),{abortEarly:!1}),a(E,n({}))}catch(O){return a(E,n(Ye(O))),!1}return a(d,n(e(o))),!0}Te(()=>{e(u)&&a(I,n(setTimeout(()=>{a(u,!1)},3e3)))}),Te(()=>{e(i)&&h(e(i))});var w=cv(),b=l(c(w),2),x=c(b);{var p=O=>{var U=nv(),Q=ee(U),M=c(Q),W=c(M);ie(W,{autocomplete:"off",placeholder:"act1",get value(){return e(o).act1},set value(te){e(o).act1=te},get error(){return e(E).act1},set error(te){e(E).act1=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("act1");r(te,Ve)},$$slots:{default:!0}});var J=l(W,2),Z=c(J);nt(Z);var re=l(Z,2);v(J),v(M);var ve=l(M,2),be=c(ve);ie(be,{autocomplete:"off",placeholder:"act1a",get value(){return e(o).act1a},set value(te){e(o).act1a=te},get error(){return e(E).act1a},set error(te){e(E).act1a=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("act1a");r(te,Ve)},$$slots:{default:!0}});var $e=l(be,2),pe=c($e);nt(pe);var je=l(pe,2);v($e),v(ve);var fe=l(ve,2),de=c(fe);ie(de,{autocomplete:"off",placeholder:"act2",get value(){return e(o).act2},set value(te){e(o).act2=te},get error(){return e(E).act2},set error(te){e(E).act2=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("act2");r(te,Ve)},$$slots:{default:!0}});var ye=l(de,2),we=c(ye);nt(we);var Pe=l(we,2);v(ye),v(fe);var Ce=l(fe,2),xe=c(Ce);ie(xe,{autocomplete:"off",placeholder:"act2a",get value(){return e(o).act2a},set value(te){e(o).act2a=te},get error(){return e(E).act2a},set error(te){e(E).act2a=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("act2a");r(te,Ve)},$$slots:{default:!0}});var Re=l(xe,2),H=c(Re);nt(H);var Ie=l(H,2);v(Re),v(Ce);var ge=l(Ce,2),Ue=c(ge);ie(Ue,{autocomplete:"off",placeholder:"acnt",get value(){return e(o).acnt},set value(te){e(o).acnt=te},get error(){return e(E).acnt},set error(te){e(E).acnt=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("acnt");r(te,Ve)},$$slots:{default:!0}});var Je=l(Ue,2),rt=c(Je);nt(rt);var vt=l(rt,2);v(Je),v(ge);var qe=l(ge,2),Fe=c(qe);ie(Fe,{autocomplete:"off",placeholder:"acnta",get value(){return e(o).acnta},set value(te){e(o).acnta=te},get error(){return e(E).acnta},set error(te){e(E).acnta=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("acnta");r(te,Ve)},$$slots:{default:!0}});var lt=l(Fe,2),xt=c(lt);nt(xt);var $t=l(xt,2);v(lt),v(qe);var Qe=l(qe,2),et=c(Qe);ie(et,{autocomplete:"off",placeholder:"ok",get value(){return e(o).ok},set value(te){e(o).ok=te},get error(){return e(E).ok},set error(te){e(E).ok=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("ok");r(te,Ve)},$$slots:{default:!0}});var gt=l(et,2),ct=c(gt);nt(ct);var It=l(ct,2);v(gt),v(Qe);var at=l(Qe,2),st=c(at);ie(st,{autocomplete:"off",placeholder:"err",get value(){return e(o).err},set value(te){e(o).err=te},get error(){return e(E).err},set error(te){e(E).err=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("err");r(te,Ve)},$$slots:{default:!0}});var se=l(st,2),Ae=c(se);nt(Ae);var ze=l(Ae,2);v(se),v(at),v(Q);var X=l(Q,2),Ee=c(X),Le=c(Ee);ie(Le,{autocomplete:"off",placeholder:"glow",get value(){return e(o).glow},set value(te){e(o).glow=te},get error(){return e(E).glow},set error(te){e(E).glow=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("glow");r(te,Ve)},$$slots:{default:!0}});var St=l(Le,2),ae=c(St);nt(ae);var Ge=l(ae,2);v(St),v(Ee);var Oe=l(Ee,2),Ut=c(Oe);ie(Ut,{autocomplete:"off",placeholder:"gmid",get value(){return e(o).gmid},set value(te){e(o).gmid=te},get error(){return e(E).gmid},set error(te){e(E).gmid=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("gmid");r(te,Ve)},$$slots:{default:!0}});var Ht=l(Ut,2),Ft=c(Ht);nt(Ft);var Pt=l(Ft,2);v(Ht),v(Oe);var Vt=l(Oe,2),ba=c(Vt);ie(ba,{autocomplete:"off",placeholder:"ghigh",get value(){return e(o).ghigh},set value(te){e(o).ghigh=te},get error(){return e(E).ghigh},set error(te){e(E).ghigh=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("ghigh");r(te,Ve)},$$slots:{default:!0}});var $a=l(ba,2),aa=c($a);nt(aa);var hs=l(aa,2);v($a),v(Vt);var sa=l(Vt,2),_a=c(sa);ie(_a,{autocomplete:"off",placeholder:"text",get value(){return e(o).text},set value(te){e(o).text=te},get error(){return e(E).text},set error(te){e(E).text=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("text");r(te,Ve)},$$slots:{default:!0}});var ka=l(_a,2),ra=c(ka);nt(ra);var ps=l(ra,2);v(ka),v(sa);var ia=l(sa,2),xa=c(ia);ie(xa,{autocomplete:"off",placeholder:"bg",get value(){return e(o).bg},set value(te){e(o).bg=te},get error(){return e(E).bg},set error(te){e(E).bg=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("bg");r(te,Ve)},$$slots:{default:!0}});var Ea=l(xa,2),la=c(Ea);nt(la);var ms=l(la,2);v(Ea),v(ia);var Ia=l(ia,2),Sa=c(Ia);ls(Sa,{get image(){return e(i)},set image(te){a(i,n(te))}});var gs=l(Sa,2);{var fs=te=>{is(te,{get clientId(){return t().id}})};P(gs,te=>{e(g)||te(fs)})}v(Ia),v(X),K(()=>{oe(re,"background",e(o).act1),oe(je,"background",e(o).act1a),oe(Pe,"background",e(o).act2),oe(Ie,"background",e(o).act2a),oe(vt,"background",e(o).acnt),oe($t,"background",e(o).acnta),oe(It,"background",e(o).ok),oe(ze,"background",e(o).err),oe(Ge,"background",e(o).glow),oe(Pt,"background",e(o).gmid),oe(hs,"background",e(o).ghigh),oe(ps,"background",e(o).text),oe(ms,"background",e(o).bg)}),dt(Z,()=>e(o).act1,te=>e(o).act1=te),dt(pe,()=>e(o).act1a,te=>e(o).act1a=te),dt(we,()=>e(o).act2,te=>e(o).act2=te),dt(H,()=>e(o).act2a,te=>e(o).act2a=te),dt(rt,()=>e(o).acnt,te=>e(o).acnt=te),dt(xt,()=>e(o).acnta,te=>e(o).acnta=te),dt(ct,()=>e(o).ok,te=>e(o).ok=te),dt(Ae,()=>e(o).err,te=>e(o).err=te),dt(ae,()=>e(o).glow,te=>e(o).glow=te),dt(Ft,()=>e(o).gmid,te=>e(o).gmid=te),dt(aa,()=>e(o).ghigh,te=>e(o).ghigh=te),dt(ra,()=>e(o).text,te=>e(o).text=te),dt(la,()=>e(o).bg,te=>e(o).bg=te),r(O,U)};P(x,O=>{e(o)&&O(p)})}var S=l(x,2);{var L=O=>{var U=ov(),Q=c(U);ev(Q,{get clientId(){return t().id},get isLoading(){return e(g)},get colors(){return e(d)},set colors(M){a(d,n(M))}}),v(U),r(O,U)};P(S,O=>{e(d)&&O(L)})}v(b);var D=l(b,2),j=c(D);Se(j,{level:1,get isLoading(){return e(g)},set isLoading(O){a(g,n(O))},$$events:{click:T},children:(O,U)=>{q();var Q=B("SAVE");r(O,Q)},$$slots:{default:!0}});var N=l(j,2);Se(N,{level:3,get isLoading(){return e(g)},set isLoading(O){a(g,n(O))},$$events:{click:k},children:(O,U)=>{q();var Q=B("RESET");r(O,Q)},$$slots:{default:!0}});var V=l(N,2);{var R=O=>{var U=vv();r(O,U)};P(V,O=>{e(u)&&O(R)})}var F=l(V,2);{var z=O=>{var U=dv(),Q=c(U,!0);v(U),K(()=>Y(Q,e(f))),r(O,U)};P(F,O=>{e(f)&&O(z)})}v(D),v(w),r(_,w),ne()}var hv=A('<div class="data font-mono svelte-115hohv"> </div>'),pv=A('<div class="data svelte-115hohv"> </div>'),mv=A('<div class="header svelte-115hohv"><!> <!></div>'),gv=A("<div><!></div>"),fv=A("<div><!></div>"),yv=A("<div><!></div>"),wv=A("<div><!></div>"),bv=A("<div><!> <!></div>");function $v(_,s){le(s,!0);let t=G(s,"client",31,()=>n({})),d=G(s,"onSave",15),i=C(void 0);const g=["Config","Secret","Branding","Delete"];let f=C(n(g[0]));const u=200,I=u/2;function E(){a(i,!1),d()()}ot(_,{get show(){return e(i)},set show(o){a(i,n(o))},header:o=>{var $=mv(),m=c($);Ze(m,{text:"Client ID",children:(h,y)=>{var w=hv(),b=c(w,!0);v(w),K(()=>Y(b,t().id)),r(h,w)},$$slots:{default:!0}});var T=l(m,2);{var k=h=>{Ze(h,{text:"Client Name",children:(y,w)=>{var b=pv(),x=c(b,!0);v(b),K(()=>Y(x,t().name)),r(y,b)},$$slots:{default:!0}})};P(T,h=>{t().name&&h(k)})}v($),r(o,$)},body:o=>{var $=bv(),m=c($);Dt(m,{labels:g,get selected(){return e(f)},set selected(y){a(f,n(y))}});var T=l(m,2);{var k=y=>{var w=gv(),b=c(w);zo(b,{get client(){return t()},set client(x){t(x)},get onSave(){return d()},set onSave(x){d(x)}}),v(w),ce(5,w,()=>_e,()=>({delay:I,duration:u})),ce(6,w,()=>_e,()=>({duration:u})),r(y,w)},h=y=>{var w=me(),b=ee(w);{var x=S=>{var L=fv(),D=c(L);Mo(D,{get client(){return t()}}),v(L),ce(5,L,()=>_e,()=>({delay:I,duration:u})),ce(6,L,()=>_e,()=>({duration:u})),r(S,L)},p=S=>{var L=me(),D=ee(L);{var j=V=>{var R=yv(),F=c(R);uv(F,{get client(){return t()}}),v(R),ce(5,R,()=>_e,()=>({delay:I,duration:u})),ce(6,R,()=>_e,()=>({duration:u})),r(V,R)},N=V=>{var R=me(),F=ee(R);{var z=O=>{var U=wv(),Q=c(U);Ko(Q,{get client(){return t()},onSave:E}),v(U),ce(5,U,()=>_e,()=>({delay:I,duration:u})),ce(6,U,()=>_e,()=>({duration:u})),r(O,U)};P(F,O=>{e(f)==="Delete"&&O(z)},!0)}r(V,R)};P(D,V=>{e(f)==="Branding"?V(j):V(N,!1)},!0)}r(S,L)};P(b,S=>{e(f)==="Secret"?S(x):S(p,!1)},!0)}r(y,w)};P(T,y=>{e(f)==="Config"?y(k):y(h,!1)})}v($),r(o,$)},$$slots:{header:!0,body:!0}}),ne()}var _v=A('<div class="header font-label svelte-gbj18i">ADD NEW CLIENT</div>'),kv=A('<div class="success svelte-gbj18i">Success</div>'),xv=A('<div class="mainErr err svelte-gbj18i"> </div>'),Ev=A('<div class="container svelte-gbj18i"><!> <!> <!> <!> <div class="unit svelte-gbj18i"><div class="label font-label svelte-gbj18i">CONFIDENTIAL</div> <div class="value svelte-gbj18i"><!></div></div> <!> <!> <!></div>');function Iv(_,s){le(s,!0);let t=G(s,"idx",31,()=>-1),d=C(void 0),i=n({id:"",name:"",confidential:!0,redirect_uris:[]}),g=C(""),f=C(!1),u=C(void 0),I=C(n({}));const E=He().shape({id:he().required("Client ID is required").trim().matches(js,"Can only contain characters, numbers and '-'"),name:he().trim().nullable().matches(Xt,"Can only contain characters, numbers and '-'")});let o=C(void 0),$=C(void 0);const m="330px";Te(()=>{e(f)&&a(u,n(setTimeout(()=>{s.onSave(),a(f,!1),a(d,!1)},1500)))}),Ne(()=>()=>clearTimeout(e(u)));async function T(){if(a(g,""),!await k()||!e(o)()||!e($)()){a(g,"Invalid input");return}let h=i;h.name||(h.name=void 0);let y=await hr(h);if(y.ok)a(f,!0);else{let w=await y.json();a(g,n(w.message))}}async function k(){try{return await E.validate(i,{abortEarly:!1}),a(I,n({})),!0}catch(h){return a(I,n(Ye(h))),!1}}ot(_,{get idx(){return t()},set idx(h){t(h)},get show(){return e(d)},set show(h){a(d,n(h))},header:h=>{var y=_v();r(h,y)},body:h=>{var y=Ev(),w=c(y);ie(w,{autocomplete:"off",placeholder:"Client ID",width:m,get value(){return i.id},set value(z){i.id=z},get error(){return e(I).id},set error(z){e(I).id=z},$$events:{input:k},children:(z,O)=>{q();var U=B("CLIENT ID");r(z,U)},$$slots:{default:!0}});var b=l(w,2);ie(b,{autocomplete:"off",placeholder:"Client Name",width:m,get value(){return i.name},set value(z){i.name=z},get error(){return e(I).name},set error(z){e(I).name=z},$$events:{input:k},children:(z,O)=>{q();var U=B("NAME");r(z,U)},$$slots:{default:!0}});var x=l(b,2);Kt(x,{style:`width: ${m}`,validation:{required:!0,regex:tt,errMsg:"Only URL safe values: a-zA-Z0-9,.:/_-&?=~#!$'()*+%"},autocomplete:"off",optional:!0,placeholder:"Redirect URI",get values(){return i.redirect_uris},set values(z){i.redirect_uris=z},get validate(){return e(o)},set validate(z){a(o,n(z))},children:(z,O)=>{q();var U=B("REDIRECT URI");r(z,U)},$$slots:{default:!0}});var p=l(x,2);Kt(p,{style:`width: ${m}`,validation:{required:!0,regex:tt,errMsg:"Only URL safe values: a-zA-Z0-9,.:/_-&?=~#!$'()*+%"},autocomplete:"off",optional:!0,placeholder:"Post Logout Redirect URI",get values(){return i.post_logout_redirect_uris},set values(z){i.post_logout_redirect_uris=z},get validate(){return e($)},set validate(z){a($,n(z))},children:(z,O)=>{q();var U=B("POST LOGOUT REDIRECT URI");r(z,U)},$$slots:{default:!0}});var S=l(p,2),L=l(c(S),2),D=c(L);Be(D,{get selected(){return i.confidential},set selected(z){i.confidential=z}}),v(L),v(S);var j=l(S,2);Se(j,{level:1,width:"4rem",$$events:{click:T},children:(z,O)=>{q();var U=B("SAVE");r(z,U)},$$slots:{default:!0}});var N=l(j,2);{var V=z=>{var O=kv();r(z,O)};P(N,z=>{e(f)&&z(V)})}var R=l(N,2);{var F=z=>{var O=xv(),U=c(O,!0);v(O),K(()=>Y(U,e(g))),r(z,O)};P(R,z=>{e(g)&&z(F)})}v(y),r(h,y)},$$slots:{header:!0,body:!0}}),ne()}var Sv=A('<div class="svelte-z13sh"><!></div>'),Cv=A(' <div class="content"><!> <!> <div id="clients" class="svelte-z13sh"></div> <!> <div style="height: 20px"></div></div>',1);function Av(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(n([])),g=C(n([])),f=C(""),u=[{label:"ID",callback:(x,p)=>x.id.toLowerCase().includes(p.toLowerCase())}],I=[{label:"ID",callback:(x,p)=>x.id.localeCompare(p.id)}];Ne(()=>{E(),o()});async function E(){let x=await ur();if(!x.ok)a(t,"Error fetching clients: "+x.body.message);else{let p=await x.json();a(d,n([...p]))}}async function o(){let x=await Za();if(!x.ok)a(t,"Error fetching scopes: "+x.body.message);else{let p=await x.json();mi.set(p),Qa.set(p.map(S=>S.name))}}function $(){E(),o(),a(f,"")}q();var m=Cv(),T=ee(m),k=l(T),h=c(k);Lt(h,{get items(){return e(d)},searchOptions:u,orderOptions:I,get resItems(){return e(i)},set resItems(x){a(i,n(x))},get search(){return e(f)},set search(x){a(f,n(x))}});var y=l(h,2);Iv(y,{onSave:$});var w=l(y,2);We(w,23,()=>e(g),x=>x.id,(x,p,S)=>{var L=Sv(),D=c(L);$v(D,{onSave:$,get client(){return e(g)[e(S)]},set client(j){e(g)[e(S)]=j}}),v(L),r(x,L)}),v(w);var b=l(w,2);jt(b,{get items(){return e(i)},set items(x){a(i,n(x))},get resItems(){return e(g)},set resItems(x){a(g,n(x))}}),q(2),v(k),K(()=>Y(T,`${e(t)??""} `)),r(_,m),ne()}var Tv=A('<div class="uid svelte-yz275t"> </div>'),Lv=A('<div class="ip svelte-yz275t"> </div>'),Nv=A('<div class="date svelte-yz275t"> </div>'),Rv=A('<div class="header svelte-yz275t"><!> <div class="header svelte-yz275t"><!> <!></div></div>'),Dv=A('<div class="details svelte-yz275t"><div class="flex svelte-yz275t"><div class="label svelte-yz275t">Session ID:</div> </div> <div class="flex svelte-yz275t"><div class="label svelte-yz275t">User ID:</div> </div> <div class="flex svelte-yz275t"><div class="label svelte-yz275t">Expires:</div> </div> <div class="flex svelte-yz275t"><div class="label svelte-yz275t">Last Seen:</div> </div> <div class="flex svelte-yz275t"><div class="label svelte-yz275t">State:</div> </div> <div class="flex svelte-yz275t"><div class="label svelte-yz275t">IP:</div> </div> <div class="flex svelte-yz275t"><div class="label svelte-yz275t">MFA:</div> <!></div></div>'),jv=A('<div class="container svelte-yz275t"><!></div>');function ns(_,s){le(s,!0);let t=G(s,"session",27,()=>n({})),d=G(s,"now",11,0);var i=jv(),g=c(i);ot(g,{header:f=>{var u=Rv(),I=c(u);Ze(I,{text:"User ID",children:(m,T)=>{var k=Tv(),h=c(k,!0);v(k),K(()=>Y(h,t().user_id)),r(m,k)},$$slots:{default:!0}});var E=l(I,2),o=c(E);Ze(o,{text:"Peer IP",children:(m,T)=>{var k=Lv(),h=c(k,!0);v(k),K(()=>Y(h,t().remote_ip)),r(m,k)},$$slots:{default:!0}});var $=l(o,2);Ze($,{text:"Last Seen",children:(m,T)=>{var k=Nv(),h=c(k,!0);K(()=>Y(h,ht(t().last_seen))),v(k),r(m,k)},$$slots:{default:!0}}),v(E),v(u),r(f,u)},body:f=>{var u=Dv(),I=c(u),E=l(c(I));v(I);var o=l(I,2),$=l(c(o));v(o);var m=l(o,2),T=l(c(m));K(()=>Y(T,` ${ht(t().exp)??""}`)),v(m);var k=l(m,2),h=l(c(k));K(()=>Y(h,` ${ht(t().last_seen)??""}`)),v(k);var y=l(k,2),w=l(c(y));v(y);var b=l(y,2),x=l(c(b));v(b);var p=l(b,2),S=l(c(p),2);ea(S,{get check(){return t().is_mfa}}),v(p),v(u),K(()=>{Y(E,` ${t().id??""}`),Y($,` ${t().user_id??""}`),Y(w,` ${t().state??""}`),Y(x,` ${t().remote_ip??""}`)}),r(f,u)},$$slots:{header:!0,body:!0}}),v(i),K(()=>Et(i,"expired",t().exp<d())),r(_,i),ne()}var Pv=A('<div class="svelte-80zd7k"><!></div>'),zv=A('<div class="svelte-80zd7k"><!></div>'),Ov=A('<div class="content"><div class="row svelte-80zd7k"><!> <div class="button svelte-80zd7k"><!></div></div> <div id="sessions" class="svelte-80zd7k"><!></div> <!></div>');function Mv(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(n([])),g=C(n([])),f=C(Date.now()/1e3),u=C(""),I=C(!1),E=C(15),o=C(""),$=C(1),m=[{label:"User ID",callback:(U,Q)=>{var M;return(M=U.user_id)==null?void 0:M.toLowerCase().includes(Q.toLowerCase())}},{label:"Session ID",callback:(U,Q)=>U.id.toLowerCase().includes(Q.toLowerCase())},{label:"IP",callback:(U,Q)=>{var M;return(M=U.remote_ip)==null?void 0:M.toLowerCase().includes(Q.toLowerCase())}}],T=[{label:"Expires",callback:(U,Q)=>U.exp-Q.exp},{label:"Last Seen",callback:(U,Q)=>U.last_seen-Q.last_seen},{label:"Session ID",callback:(U,Q)=>U.id.localeCompare(Q.id)},{label:"User ID",callback:(U,Q)=>{var M;return(M=U.user_id)==null?void 0:M.localeCompare(Q.user_id)}},{label:"State",callback:(U,Q)=>U.state.localeCompare(Q.state)},{label:"IP",callback:(U,Q)=>{var M;return(M=U.remote_ip)==null?void 0:M.localeCompare(Q.remote_ip)}}];Ne(()=>{k()});async function k(U,Q,M,W){let J;if(U===!0?M&&e($)===2?J=await Ja(W||e(E),Q,void 0,!1):J=await Ja(W||e(E),Q,e(o),M):J=await qr(),!J.ok)a(t,"Error fetching sessions: "+J.body.message);else{J.status===206?(a(E,n(Number.parseInt(J.headers.get("x-page-size"),10))),a(o,n(J.headers.get("x-continuation-token"))),a(u,"session")):a(u,"");let Z=await J.json();a(d,n([...Z])),a(i,n([...Z])),a(f,Date.now()/1e3)}}async function h(U,Q){await k(!0,U,Q),Q?a($,e($)-1):a($,e($)+1)}async function y(U){a(o,""),await k(!0,0,!1,U),a($,1)}async function w(){let U=await Gr();if(U.ok)Oa();else{let Q=await U.json();a(t,n(Q.message))}a(f,n(new Date))}var b=Ov(),x=c(b),p=c(x);Lt(p,{get items(){return e(d)},searchOptions:m,orderOptions:T,firstDirReverse:!0,get resItems(){return e(i)},set resItems(U){a(i,n(U))},get useServerSideIdx(){return e(u)},set useServerSideIdx(U){a(u,n(U))},get isSearchFiltered(){return e(I)},set isSearchFiltered(U){a(I,n(U))}});var S=l(p,2);oe(S,"margin-top","-10px");var L=c(S);Se(L,{level:3,$$events:{click:w},children:(U,Q)=>{q();var M=B("Invalidate All Sessions");r(U,M)},$$slots:{default:!0}}),v(S),v(x);var D=l(x),j=l(D),N=c(j);{var V=U=>{var Q=me(),M=ee(Q);We(M,19,()=>e(d),W=>W.id,(W,J,Z)=>{var re=Pv(),ve=c(re);ns(ve,{get session(){return e(d)[e(Z)]},set session(be){e(d)[e(Z)]=be},get now(){return e(f)},set now(be){a(f,n(be))}}),v(re),r(W,re)}),r(U,Q)},R=U=>{var Q=me(),M=ee(Q);We(M,19,()=>e(g),W=>W.id,(W,J,Z)=>{var re=zv(),ve=c(re);ns(ve,{get session(){return e(g)[e(Z)]},set session(be){e(g)[e(Z)]=be},get now(){return e(f)},set now(be){a(f,n(be))}}),v(re),r(W,re)}),r(U,Q)};P(N,U=>{e(u)&&!e(I)?U(V):U(R,!1)})}v(j);var F=l(j,2);{var z=U=>{as(U,{fetchPageCallback:h,sspPageSizeChange:y,get sspPage(){return e($)},set sspPage(Q){a($,n(Q))},get sspPageSize(){return e(E)},set sspPageSize(Q){a(E,n(Q))},get sspContinuationToken(){return e(o)},set sspContinuationToken(Q){a(o,n(Q))}})},O=U=>{jt(U,{get items(){return e(i)},set items(Q){a(i,n(Q))},get resItems(){return e(g)},set resItems(Q){a(g,n(Q))}})};P(F,U=>{e(u)&&!e(I)?U(z):U(O,!1)})}v(b),K(()=>Y(D,` ${e(t)??""} `)),r(_,b),ne()}var Uv=A('<div class="header font-label svelte-1mi5990">ADD NEW USER ATTRIBUTE</div>'),qv=A('<div class="mainErr err svelte-1mi5990"> </div>'),Gv=A('<div class="container svelte-1mi5990"><div class="desc svelte-1mi5990">You can add a new custom user attribute.<br> These attributes can be set for every user and mapped to an existing scope.<br> They are simple Key / JsonValue pairs.</div> <!> <!> <!> <!> <!></div>');function Wv(_,s){le(s,!0);let t=G(s,"idx",31,()=>-1),d=C(""),i=C(void 0),g=n({name:"",desc:""}),f=C(n({}));const u=He().shape({name:he().trim().required("Name is required").matches(Ma,"Invalid characters: [a-z0-9-_/]{2,32}"),desc:he().trim().matches(Ua,"Invalid characters: [a-zA-Z0-9\\-_/\\s]{0,128}")});async function I(){if(!await E())return;a(d,"");let o=await Br(g);if(o.ok)a(i,!1),s.onSave();else{let $=await o.json();a(d,n($.message))}}async function E(){try{return await u.validate(g,{abortEarly:!1}),a(f,n({})),!0}catch(o){return a(f,n(Ye(o))),!1}}ot(_,{get idx(){return t()},set idx(o){t(o)},get show(){return e(i)},set show(o){a(i,n(o))},header:o=>{var $=Uv();r(o,$)},body:o=>{var $=Gv(),m=l(c($),2);ie(m,{autocomplete:"off",placeholder:"Name",get value(){return g.name},set value(b){g.name=b},get error(){return e(f).name},set error(b){e(f).name=b},$$events:{input:E},children:(b,x)=>{q();var p=B("NAME");r(b,p)},$$slots:{default:!0}});var T=l(m,2);ie(T,{autocomplete:"off",placeholder:"Description",get value(){return g.desc},set value(b){g.desc=b},get error(){return e(f).desc},set error(b){e(f).desc=b},$$events:{input:E},children:(b,x)=>{q();var p=B("DESCRIPTION");r(b,p)},$$slots:{default:!0}});var k=l(T,2);Se(k,{level:1,$$events:{click:I},children:(b,x)=>{q();var p=B("SAVE");r(b,p)},$$slots:{default:!0}});var h=l(k,2);P(h,b=>{});var y=l(h,2);{var w=b=>{var x=qv(),p=c(x,!0);v(x),K(()=>Y(p,e(d))),r(b,x)};P(y,b=>{e(d)&&b(w)})}v($),r(o,$)},$$slots:{header:!0,body:!0}}),ne()}var Kv=A('<div class="success svelte-2o3w7i">Success</div>'),Fv=A('<div class="mainErr err svelte-2o3w7i"> </div>'),Vv=A('<div class="container svelte-2o3w7i"><!> <!> <!> <!> <!></div>');function Bv(_,s){le(s,!0);let t=G(s,"attr",19,()=>({})),d=C(""),i=C(!1),g=C(void 0);Te(()=>{e(i)&&a(g,n(setTimeout(()=>{a(i,!1),s.onSave()},2e3)))}),Ne(()=>()=>clearTimeout(e(g)));let f=C(n({})),u=n({});const I=He().shape({name:he().trim().required("Name is required").matches(Ma,"Valid characters: [a-z0-9-_/]{2,32}"),desc:he().nullable().trim().matches(Ua,"Valid characters: [a-zA-Z0-9\\-_/\\s]{0,128}")});Ne(()=>{u.name=t().name,u.desc=t().desc});async function E(){if(a(d,""),!await o()){a(d,"Invalid input");return}let x={name:u.name,desc:u.desc},p=await Jr(t().name,x);if(p.ok)a(i,!0);else{let S=await p.json();a(d,n(S.message))}}async function o(){try{return await I.validate(u,{abortEarly:!1}),a(f,n({})),!0}catch(x){return a(f,n(Ye(x))),!1}}var $=Vv(),m=c($);ie(m,{autocomplete:"off",placeholder:"Name",get value(){return u.name},set value(x){u.name=x},get error(){return e(f).name},set error(x){e(f).name=x},$$events:{input:o},children:(x,p)=>{q();var S=B("NAME");r(x,S)},$$slots:{default:!0}});var T=l(m,2);ie(T,{autocomplete:"off",placeholder:"Description",get value(){return u.desc},set value(x){u.desc=x},get error(){return e(f).desc},set error(x){e(f).desc=x},$$events:{input:o},children:(x,p)=>{q();var S=B("DESCRIPTION");r(x,S)},$$slots:{default:!0}});var k=l(T,2);Se(k,{level:1,width:"4rem",$$events:{click:E},children:(x,p)=>{q();var S=B("SAVE");r(x,S)},$$slots:{default:!0}});var h=l(k,2);{var y=x=>{var p=Kv();r(x,p)};P(h,x=>{e(i)&&x(y)})}var w=l(h,2);{var b=x=>{var p=Fv(),S=c(p,!0);v(p),K(()=>Y(S,e(d))),r(x,p)};P(w,x=>{e(d)&&x(b)})}v($),r(_,$),ne()}var Jv=A('<div class="err svelte-1jljqe9"> </div>'),Yv=A('<div class="container svelte-1jljqe9"><div class="label svelte-1jljqe9">Are you sure, you want to delete this custom attribute?</div> <!> <!></div>');function Hv(_,s){le(s,!0);let t=G(s,"attr",19,()=>({})),d=C(!1),i=C("");async function g(){a(i,""),a(d,!0);let o=await Yr(t().name);if(o.ok)s.onSave();else{let $=await o.json();a(i,n($.message))}a(d,!1)}var f=Yv(),u=l(c(f),2);Se(u,{level:1,get isLoading(){return e(d)},set isLoading(o){a(d,n(o))},$$events:{click:g},children:(o,$)=>{q();var m=B("DELETE");r(o,m)},$$slots:{default:!0}});var I=l(u,2);{var E=o=>{var $=Jv(),m=c($,!0);v($),K(()=>Y(m,e(i))),r(o,$)};P(I,o=>{e(i)&&o(E)})}v(f),r(_,f),ne()}var Xv=A('<div class="data svelte-115hohv"> </div>'),Zv=A('<div class="header svelte-115hohv"><!></div>'),Qv=A("<div><!></div>"),ed=A("<div><!></div>"),td=A("<div><!> <!></div>");function ad(_,s){le(s,!0);let t=G(s,"attr",27,()=>n({})),d=G(s,"onSave",15),i=C(void 0);const g=["Config","Delete"];let f=C(n(g[0]));const u=200,I=u/2;function E(){a(i,!1),d()()}ot(_,{get show(){return e(i)},set show(o){a(i,n(o))},header:o=>{var $=Zv(),m=c($);Ze(m,{text:"Custom Attribute Name",children:(T,k)=>{var h=Xv(),y=c(h,!0);v(h),K(()=>Y(y,t().name)),r(T,h)},$$slots:{default:!0}}),v($),r(o,$)},body:o=>{var $=td(),m=c($);Dt(m,{labels:g,get selected(){return e(f)},set selected(y){a(f,n(y))}});var T=l(m,2);{var k=y=>{var w=Qv(),b=c(w);Bv(b,{get attr(){return t()},get onSave(){return d()},set onSave(x){d(x)}}),v(w),ce(5,w,()=>_e,()=>({delay:I,duration:u})),ce(6,w,()=>_e,()=>({duration:u})),r(y,w)},h=y=>{var w=me(),b=ee(w);{var x=p=>{var S=ed(),L=c(S);Hv(L,{get attr(){return t()},onSave:E}),v(S),ce(5,S,()=>_e,()=>({delay:I,duration:u})),ce(6,S,()=>_e,()=>({duration:u})),r(p,S)};P(b,p=>{e(f)==="Delete"&&p(x)},!0)}r(y,w)};P(T,y=>{e(f)==="Config"?y(k):y(h,!1)})}v($),r(o,$)},$$slots:{header:!0,body:!0}}),ne()}var sd=A('<div class="svelte-1yl9ae5"><!></div>'),rd=A(' <div class="content"><!> <!> <div id="attrs" class="svelte-1yl9ae5"></div> <!> <div style="height: 20px"></div></div>',1);function id(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(n([])),g=C(n([])),f=C(""),u=[{label:"NAME",callback:(b,x)=>b.name.toLowerCase().includes(x.toLowerCase())}],I=[{label:"NAME",callback:(b,x)=>b.name.localeCompare(x.name)}];Ne(()=>{E()});async function E(){let b=await ma();if(!b.ok)a(t,"Error fetching user attr: "+b.body.message);else{let x=await b.json();a(d,n([...x.values]))}}function o(){e(d).length<2&&(a(d,n([])),a(i,n([])),a(g,n([]))),E(),a(f,"")}q();var $=rd(),m=ee($),T=l(m),k=c(T);Lt(k,{get items(){return e(d)},searchOptions:u,orderOptions:I,get resItems(){return e(i)},set resItems(b){a(i,n(b))},get search(){return e(f)},set search(b){a(f,n(b))}});var h=l(k,2);Wv(h,{onSave:o});var y=l(h,2);We(y,23,()=>e(g),b=>b.name,(b,x,p)=>{var S=sd(),L=c(S);ad(L,{onSave:o,get attr(){return e(g)[e(p)]},set attr(D){e(g)[e(p)]=D}}),v(S),r(b,S)}),v(y);var w=l(y,2);jt(w,{get items(){return e(i)},set items(b){a(i,n(b))},get resItems(){return e(g)},set resItems(b){a(g,n(b))}}),q(2),v(T),K(()=>Y(m,`${e(t)??""} `)),r(_,$),ne()}var ld=A('<div class="row svelte-151ox8b"><div class="columnWide svelte-151ox8b"> </div> <div class="column svelte-151ox8b"> </div> <div class="column svelte-151ox8b"> </div> <div class="column svelte-151ox8b"> </div></div>'),nd=A('<div class="container svelte-151ox8b"><div class="row svelte-151ox8b"><div class="columnWide svelte-151ox8b">Time Taken (ms)</div> <div class="column svelte-151ox8b">t_cost</div> <div class="column svelte-151ox8b">m_cost</div> <div class="column svelte-151ox8b">p_cost</div></div> <!> <div style="height: 20px"></div></div>');function od(_,s){let t=G(s,"res",19,()=>[]);var d=nd(),i=l(c(d),2);We(i,17,t,yt,(g,f)=>{var u=ld(),I=c(u),E=c(I,!0);v(I);var o=l(I,2),$=c(o,!0);v(o);var m=l(o,2),T=c(m,!0);v(m);var k=l(m,2),h=c(k,!0);v(k),v(u),K(()=>{Y(E,e(f).time_taken),Y($,e(f).t_cost),Y(T,e(f).m_cost),Y(h,e(f).p_cost)}),r(g,u)}),q(2),v(d),r(_,d)}var vd=A('<div class="result svelte-1digv30"><!></div>'),dd=A('<div class="wrapper svelte-1digv30"><div class="container svelte-1digv30"><!> <!> <!> <!></div> <!></div>');function cd(_,s){le(s,!0);const t="170px";let d=C(!1),i=C(!1),g=C(void 0),f=C(void 0),u=n({targetTime:1e3,mCost:32768,pCost:2}),I=C(n({}));const E=He().shape({targetTime:wt().required("Target Time is required").min(500,"Cannot be lower than 500").max(99999,"Cannot be higher than 99999"),mCost:wt().min(32768,"Cannot be lower than 32768").max(1048576,"Cannot be higher than 1048576"),pCost:wt().min(2,"Cannot be lower than 2").max(1024,"Cannot be higher than 1024")});Te(()=>{e(i)&&e(g)&&a(f,n(window.innerHeight))});function o(p){p.code==="Enter"&&$()}async function $(){try{await E.validate(u,{abortEarly:!1}),a(I,n({}))}catch(D){a(I,n(Ye(D)));return}a(d,!0),a(i,!1);const p={target_time:Number.parseInt(u.targetTime),m_cost:Number.parseInt(u.mCost),p_cost:Number.parseInt(u.pCost)},S=await Tr(p),L=await S.json();S.ok?(a(g,n(L.results)),a(i,!0)):L.message,a(d,!1)}var m=dd(),T=c(m),k=c(T);ie(k,{type:"number",autocomplete:"off",placeholder:"Target Time (ms)",width:t,get value(){return u.targetTime},set value(p){u.targetTime=p},get error(){return e(I).targetTime},set error(p){e(I).targetTime=p},$$events:{keypress:o},children:(p,S)=>{q();var L=B("TARGET TIME (ms)");r(p,L)},$$slots:{default:!0}});var h=l(k,2);ie(h,{type:"number",autocomplete:"off",placeholder:"m_cost (kB)",width:t,get value(){return u.mCost},set value(p){u.mCost=p},get error(){return e(I).mCost},set error(p){e(I).mCost=p},$$events:{keypress:o},children:(p,S)=>{q();var L=B("M_COST (kB)");r(p,L)},$$slots:{default:!0}});var y=l(h,2);ie(y,{type:"number",autocomplete:"off",placeholder:"p_cost",width:t,get value(){return u.pCost},set value(p){u.pCost=p},get error(){return e(I).pCost},set error(p){e(I).pCost=p},$$events:{keypress:o},children:(p,S)=>{q();var L=B("P_COST");r(p,L)},$$slots:{default:!0}});var w=l(y,2);Se(w,{get isLoading(){return e(d)},level:1,$$events:{click:$},children:(p,S)=>{q();var L=B("CALCULATE");r(p,L)},$$slots:{default:!0}}),v(T);var b=l(T,2);{var x=p=>{var S=vd(),L=c(S);od(L,{get res(){return e(g)}}),v(S),r(p,S)};P(b,p=>{e(i)&&p(x)})}v(m),Ks("y",()=>e(f),p=>a(f,n(p))),r(_,m),ne()}var ud=A(`<div class="container svelte-6927oe"><h3>Argon2ID - Password Hashing</h3> <p>This utility helps you find the best argon2id settings for your platform.<br> Argon2id is currently the safest available password hashing algorithm. To use it to its fullest potential, it
+            valid challenge.</p></div> <div class="unit svelte-1pba61y"><div class="label font-label svelte-1pba61y">PKCE CHALLENGES</div> <div class="challenges svelte-1pba61y"><!></div></div> <div class="desc err svelte-1pba61y"><!></div> <!> <!> <!></div>`);function zo(_,s){le(s,!0);let t=G(s,"client",31,()=>n({}));const d="350px";let i=C(""),g=C(!1),f=C(void 0),u=n(Ls.map(se=>{var Ae,ze;return se.label==="device_code"?se.value=(Ae=t().flows_enabled)==null?void 0:Ae.includes("urn:ietf:params:oauth:grant-type:device_code"):se.value=(ze=t().flows_enabled)==null?void 0:ze.includes(se.label),se})),I=C(void 0);Qa.subscribe(se=>{a(I,n(se))});let E=n(Ns.map(se=>{var Ae;return se.value=(Ae=t().challenges)==null?void 0:Ae.includes(se.label),se})),o=C(void 0),$=C(void 0),m=C(void 0),T=C(void 0);Ne(()=>()=>clearTimeout(e(f)));let k=C(n({}));const h=He().shape({name:he().trim().matches(Xt,"Can only contain characters, numbers and '-'"),client_uri:he().trim().nullable().matches(tt,"Invalid URI"),access_token_lifetime:wt().required("Token Lifetime is required").min(10,"Cannot be lower than 10").max(86400,"Cannot be higher than 86400")});function y(){t().redirect_uris[0]===""&&t(t().redirect_uris=[],!0),(!t().post_logout_redirect_uris||t().post_logout_redirect_uris[0]==="")&&t(t().post_logout_redirect_uris=[],!0),t().name||t(t().name="",!0),(!t().contacts||t().contacts[0]==="")&&t(t().contacts=[],!0),t().client_uri||t(t().client_uri=null,!0)}function w(se){se.code==="Enter"&&b()}async function b(){a(i,"");const se=await x();if(!e($)()){a(i,"Invalid Allowed Origin");return}if(!e(m)()){a(i,"Invalid Redirect URIs");return}if(!e(T)()){a(i,"Invalid Post Logout URIs");return}if(!e(o)()){a(i,"Invalid Contacts");return}if(!se){a(i,"Invalid input");return}if(t(t().access_token_lifetime=Number.parseInt(t().access_token_lifetime),!0),t(t().flows_enabled=u.filter(X=>X.value).map(X=>X.label==="device_code"?"urn:ietf:params:oauth:grant-type:device_code":X.label),!0),t().flows_enabled.includes("authorization_code")&&t().redirect_uris.length===0){a(i,"With 'authorization_code' flow enabled, you need to specify at least one redirect URI");return}if(t().flows_enabled.includes("client_credentials")&&!t().confidential){a(i,"'client_credentials' flow needs a 'confidential' client");return}if(t().flows_enabled.length===0){a(i,"At least one flow must be enabled");return}let Ae=t();t(t().challenges=E.filter(X=>X.value).map(X=>X.label),!0),t().challenges.length===0&&(Ae.challenges=null),Ae.name||(Ae.name=void 0),Ae.allowed_origins.length>0&&!Ae.allowed_origins[0]&&(Ae.allowed_origins=[]);let ze=await pr(Ae);if(ze.ok)a(g,!0);else{let X=await ze.json();a(i,n(X.message))}}async function x(){try{return await h.validate(t(),{abortEarly:!1}),a(k,n({})),!0}catch(se){return a(k,n(Ye(se))),!1}}Te(()=>{t().id&&y()}),Te(()=>{e(g)&&a(f,n(setTimeout(()=>{a(g,!1),s.onSave()},3e3)))});var p=Po(),S=c(p),L=l(c(S),2),D=c(L,!0);v(L),v(S);var j=l(S,4);ie(j,{autocomplete:"off",placeholder:"Client Name",width:d,get value(){return t().name},set value(se){t(t().name=se,!0)},get error(){return e(k).name},set error(se){e(k).name=se},$$events:{keypress:w,input:x},children:(se,Ae)=>{q();var ze=B("CLIENT NAME");r(se,ze)},$$slots:{default:!0}});var N=l(j,4);ie(N,{autocomplete:"off",placeholder:"Client URI",width:d,get value(){return t().client_uri},set value(se){t(t().client_uri=se,!0)},get error(){return e(k).client_uri},set error(se){e(k).client_uri=se},$$events:{keypress:w,input:x},children:(se,Ae)=>{q();var ze=B("CLIENT URI");r(se,ze)},$$slots:{default:!0}});var V=l(N,2);Kt(V,{style:`width: ${d}`,validation:{required:!1,regex:Rs,errMsg:"Only URL safe values: a-zA-Z0-9,.:/_-&?=~#!$'()*+%"},autocomplete:"off",placeholder:"Contact",optional:!0,get values(){return t().contacts},set values(se){t(t().contacts=se,!0)},get validate(){return e(o)},set validate(se){a(o,n(se))},children:(se,Ae)=>{q();var ze=B("CONTACT");r(se,ze)},$$slots:{default:!0}});var R=l(V,4);oe(R,"margin-top","-5px");var F=c(R);oe(F,"width","138px");var z=l(c(F),2),O=c(z);Be(O,{get selected(){return t().enabled},set selected(se){t(t().enabled=se,!0)}}),v(z),v(F);var U=l(F,2);oe(U,"width","110px");var Q=l(c(U),2),M=c(Q);Be(M,{get selected(){return t().confidential},set selected(se){t(t().confidential=se,!0)}}),v(Q),v(U),v(R);var W=l(R,2),J=l(c(W),2),Z=c(J);ss(Z,{get options(){return u}}),v(J),v(W);var re=l(W,2),ve=l(c(re),2),be=c(ve);Be(be,{get selected(){return t().force_mfa},set selected(se){t(t().force_mfa=se,!0)}}),v(ve),v(re);var $e=l(re,2);{var pe=se=>{var Ae=Lo();oe(Ae,"margin","-10px 0 -15px 5px");var ze=c(Ae),X=c(ze);oe(X,"color","var(--col-err)"),q(7),v(ze),v(Ae),r(se,Ae)},je=se=>{var Ae=me(),ze=ee(Ae);{var X=Ee=>{var Le=No();oe(Le,"margin","-10px 0 -15px 5px");var St=c(Le),ae=c(St);oe(ae,"color","var(--col-err)"),q(5),v(St),v(Le),ce(3,Le,()=>_e),r(Ee,Le)};P(ze,Ee=>{t().force_mfa&&Ee(X)},!0)}r(se,Ae)};P($e,se=>{t().id==="rauthy"?se(pe):se(je,!1)})}var fe=l($e,6);oe(fe,"margin-top","-10px");var de=l(c(fe),2);zt(de,{get options(){return e(I)},searchThreshold:4,get items(){return t().scopes},set items(se){t(t().scopes=se,!0)}}),v(fe);var ye=l(fe,2);oe(ye,"margin-top","-3px");var we=l(c(ye),2);zt(we,{get options(){return e(I)},searchThreshold:4,get items(){return t().default_scopes},set items(se){t(t().default_scopes=se,!0)}}),v(ye);var Pe=l(ye,4);Kt(Pe,{style:`width: ${d}`,validation:{required:!0,regex:Ds,errMsg:"Must be a valid origin"},autocomplete:"off",placeholder:"Allowed Origin",optional:!0,get values(){return t().allowed_origins},set values(se){t(t().allowed_origins=se,!0)},get validate(){return e($)},set validate(se){a($,n(se))},children:(se,Ae)=>{q();var ze=B("ALLOWED ORIGIN");r(se,ze)},$$slots:{default:!0}});var Ce=l(Pe,4);Kt(Ce,{style:`width: ${d}`,validation:{required:!0,regex:tt,errMsg:"Only URL safe values: a-zA-Z0-9,.:/_-&?=~#!$'()*+%"},autocomplete:"off",placeholder:"Redirect URI",optional:!0,get values(){return t().redirect_uris},set values(se){t(t().redirect_uris=se,!0)},get validate(){return e(m)},set validate(se){a(m,n(se))},children:(se,Ae)=>{q();var ze=B("REDIRECT URI");r(se,ze)},$$slots:{default:!0}});var xe=l(Ce,4);Kt(xe,{style:`width: ${d}`,validation:{required:!0,regex:tt,errMsg:"Only URL safe values: a-zA-Z0-9,.:/_-&?=~#!$'()*+%"},autocomplete:"off",placeholder:"Post Logout Redirect URI",optional:!0,get values(){return t().post_logout_redirect_uris},set values(se){t(t().post_logout_redirect_uris=se,!0)},get validate(){return e(T)},set validate(se){a(T,n(se))},children:(se,Ae)=>{q();var ze=B("POST LOGOUT REDIRECT URI");r(se,ze)},$$slots:{default:!0}});var Re=l(xe,6);ie(Re,{type:"number",min:60,max:86400,autocomplete:"off",placeholder:"Client Name",width:d,get value(){return t().access_token_lifetime},set value(se){t(t().access_token_lifetime=se,!0)},get error(){return e(k).access_token_lifetime},set error(se){e(k).access_token_lifetime=se},$$events:{input:x},children:(se,Ae)=>{q();var ze=B("ACCESS TOKEN LIFETIME");r(se,ze)},$$slots:{default:!0}});var H=l(Re,2),Ie=c(H);oe(Ie,"width","220px");var ge=l(c(Ie),2),Ue=c(ge);kt(Ue,{options:za,get value(){return t().access_token_alg},set value(se){t(t().access_token_alg=se,!0)}}),v(ge),v(Ie);var Je=l(Ie,2),rt=c(Je);oe(rt,"text-align","right");var vt=l(rt,2),qe=c(vt);kt(qe,{options:za,get value(){return t().id_token_alg},set value(se){t(t().id_token_alg=se,!0)}}),v(vt),v(Je),v(H);var Fe=l(H,6),lt=l(c(Fe),2),xt=c(lt);ss(xt,{get options(){return E}}),v(lt),v(Fe);var $t=l(Fe,2),Qe=c($t);{var et=se=>{var Ae=Ro();q(4),r(se,Ae)};P(Qe,se=>{t().id==="rauthy"&&se(et)})}v($t);var gt=l($t,2);Se(gt,{level:1,width:"4rem",$$events:{click:b},children:(se,Ae)=>{q();var ze=B("SAVE");r(se,ze)},$$slots:{default:!0}});var ct=l(gt,2);{var It=se=>{var Ae=Do();r(se,Ae)};P(ct,se=>{e(g)&&se(It)})}var at=l(ct,2);{var st=se=>{var Ae=jo(),ze=c(Ae,!0);v(Ae),K(()=>Y(ze,e(i))),r(se,Ae)};P(at,se=>{e(i)&&se(st)})}v(p),K(()=>Y(D,t().id)),r(_,p),ne()}var Oo=A('<div class="container svelte-3m83zw"><div class="err svelte-3m83zw"> </div> <div class="value font-mono"><!></div> <!></div>');function Mo(_,s){le(s,!0);let t=C(""),d=C("");Ne(()=>{i()});async function i(){let T=await $r(s.client.id),k=await T.json();T.ok?a(d,n(k.secret)):a(t,n(k.message))}async function g(){let T=await _r(s.client.id),k=await T.json();T.ok?await i():a(t,n(k.message))}var f=Oo(),u=c(f),I=c(u,!0);v(u);var E=l(u,2),o=c(E);{var $=T=>{Wt(T,{autocomplete:"off",disabled:!0,showCopy:!0,width:"inherit",maxWidth:"800px",get value(){return e(d)},set value(k){a(d,n(k))},children:(k,h)=>{q();var y=B("CLIENT SECRET");r(k,y)},$$slots:{default:!0}})};P(o,T=>{e(d)&&T($)})}v(E);var m=l(E,2);Se(m,{level:1,$$events:{click:g},children:(T,k)=>{q();var h=B("GENERATE NEW");r(T,h)},$$slots:{default:!0}}),v(f),K(()=>Y(I,e(t))),r(_,f),ne()}var Uo=A('<div class="label svelte-1jljqe9">Anti-Lockout Rule: The rauthy default client cannot be deleted.</div>'),qo=A('<div class="err svelte-1jljqe9"> </div>'),Go=A('<div class="label svelte-1jljqe9">Are you sure, you want to delete this client?</div> <!> <!>',1),Wo=A('<div class="container svelte-1jljqe9"><!></div>');function Ko(_,s){le(s,!0);let t=G(s,"client",19,()=>({})),d=C(!1),i=C("");async function g(){a(i,""),a(d,!0);let o=await mr(t().id);if(o.ok)s.onSave();else{let $=await o.json();a(i,n($.message))}a(d,!1)}var f=Wo(),u=c(f);{var I=o=>{var $=Uo();r(o,$)},E=o=>{var $=Go(),m=l(ee($),2);Se(m,{level:1,get isLoading(){return e(d)},set isLoading(h){a(d,n(h))},$$events:{click:g},children:(h,y)=>{q();var w=B("DELETE");r(h,w)},$$slots:{default:!0}});var T=l(m,2);{var k=h=>{var y=qo(),w=c(y,!0);v(y),K(()=>Y(w,e(i))),r(h,y)};P(T,h=>{e(i)&&h(k)})}r(o,$)};P(u,o=>{t().id==="rauthy"?o(I):o(E,!1)})}v(f),r(_,f),ne()}var Fo=(_,s)=>a(s,!0),Vo=A('<div class="load svelte-icxpvn"><!></div>'),Bo=A('<div class="txt svelte-icxpvn">LOAD</div>'),Jo=A('<div class="wrap svelte-icxpvn"><button class="btn font-label svelte-icxpvn"><!></button></div>');function ya(_,s){le(s,!0);let t=C(!1),d=C(!1),i=C(void 0),g=C(void 0),f=C(void 0),u=C(void 0),I=C(void 0),E=C("white");Ca(()=>{clearTimeout(e(I))});function o(){switch(s.level){case 1:a(i,n(s.colors.act1)),a(g,n(s.colors.act1a)),a(f,"white"),a(u,`1px solid ${s.colors.gmid}`);break;case 2:a(i,n(s.colors.act2)),a(g,n(s.colors.act2a)),a(f,n(s.colors.ghigh)),a(u,`1px solid ${s.colors.gmid}`);break;default:a(i,n(s.colors.ghigh)),a(g,"white"),a(f,n(s.colors.act2a)),a(u,`1px solid ${s.colors.act2a}`),a(E,n(s.colors.acnt))}}Te(()=>{e(d)&&a(I,n(setTimeout(()=>{a(d,!1)},2e3)))}),Te(()=>{s.colors&&o()});var $=Jo(),m=c($);m.__click=[Fo,d],oe(m,"width","100px");var T=c(m);{var k=y=>{var w=Vo(),b=c(w);ua(b,{background:!1,get color(){return e(E)}}),v(w),r(y,w)},h=y=>{var w=Bo();r(y,w)};P(T,y=>{e(d)?y(k):y(h,!1)})}v(m),v($),K(()=>{oe(m,"border",e(u)),oe(m,"box-shadow",`1px 1px 2px ${s.colors.gmid??""}`),oe(m,"cursor",e(d)?"default":"pointer"),oe(m,"color",e(f)),oe(m,"background",e(t)?e(g):e(i))}),Me("focus",m,()=>a(t,!0)),Me("blur",m,()=>a(t,!1)),Me("keypress",m,()=>a(d,!0)),r(_,$),ne()}pt(["click"]);var Yo=A('<div class="rel svelte-115vejc"><div role="none" class="btn show svelte-115vejc"><!></div></div>'),Ho=A('<div class="err font-label svelte-115vejc"> </div>'),Xo=A('<div class="container svelte-115vejc"><div class="label svelte-115vejc"><div class="labelInner font-label noselect svelte-115vejc"><label><!></label></div></div> <input> <!> <!></div>');function rs(_,s){le(s,!0);let t=G(s,"colors",19,()=>({})),d=G(s,"error",3,""),i=G(s,"name",3,""),g=G(s,"password",3,!1),f=G(s,"value",3,""),u=G(s,"width",3,"250px"),I=Jt(s,["$$slots","$$events","$$legacy","colors","error","name","password","value","width","children"]),E=C(n(g()?"new-password":"text")),o=C(!1),$=C(!1);function m(){e(E)==="password"?a(E,"text"):a(E,"password")}var T=Xo(),k=c(T),h=c(k),y=c(h),w=c(y);At(w,()=>s.children??Ct),v(y),v(h),v(k);var b=l(k,2);nt(b);var x=()=>a(o,!0),p=()=>a(o,!1),S=()=>a($,!0),L=()=>a($,!1);let D;var j=l(b,2);{var N=F=>{var z=Yo(),O=c(z);O.__click=m;var U=c(O);{var Q=W=>{Fa(W,{width:22,get color(){return t().err}})},M=W=>{Va(W,{width:22,get color(){return t().ok}})};P(U,W=>{e(E)==="password"?W(Q):W(M,!1)})}v(O),v(z),Me("keypress",O,m),r(F,z)};P(j,F=>{g()&&F(N)})}var V=l(j,2);{var R=F=>{var z=Ho(),O=c(z,!0);v(z),K(()=>{oe(z,"width",u()),oe(z,"color",t().err),Y(O,d())}),ce(7,z,()=>_e,()=>({duration:250})),r(F,z)};P(V,F=>{d()&&F(R)})}v(T),K(()=>{oe(T,"width",`calc(${u()??""} + 12px)`),oe(h,"background",t().bg),ue(y,"for",i()),D=ha(b,D,{type:e(E),onmouseenter:x,onmouseleave:p,onfocus:S,onblur:L,autocomplete:"off",name:i(),value:f(),...I},"svelte-115vejc"),oe(b,"width",u()),oe(b,"background",(e(o)||e($),t().bg)),oe(b,"border",e($)?`1px solid ${t().acnt}`:`1px solid ${t().glow}`),oe(b,"color",t().text),oe(b,"box-shadow",`1px 1px 2px ${t().gmid??""}`)}),r(_,T),ne()}pt(["click"]);var Zo=A('<img alt="No Logo Available">');function is(_,s){le(s,!0);var t=Zo();K(()=>ue(t,"src",`/auth/v1/clients/${s.clientId}/logo?${Mt(6)}`)),r(_,t),ne()}var Qo=A('<div class="preview font-label svelte-rscdc0"><b>PREVIEW</b></div> <div class="container svelte-rscdc0"><div class="head svelte-rscdc0"><div class="logo svelte-rscdc0"><!></div></div> <div class="name svelte-rscdc0"><h2>Client Name</h2></div> <!> <!> <div class="btn svelte-rscdc0"><!> <!> <!></div></div>',1);function ev(_,s){le(s,!0);let t="This is an E-Mail error",d="This is a password error";var i=Qo(),g=l(ee(i),2),f=c(g),u=c(f),I=c(u);{var E=y=>{is(y,{get clientId(){return s.clientId}})};P(I,y=>{s.isLoading||y(E)})}v(u),v(f);var o=l(f,4);rs(o,{type:"email",name:"rauthyEmail",placeholder:"E-Mail",get error(){return t},get colors(){return s.colors},children:(y,w)=>{q();var b=B("E-MAIL");r(y,b)},$$slots:{default:!0}});var $=l(o,2);rs($,{password:!0,name:"rauthyPassword",placeholder:"Password",get error(){return d},get colors(){return s.colors},children:(y,w)=>{q();var b=B("E-MAIL");r(y,b)},$$slots:{default:!0}});var m=l($,2),T=c(m);ya(T,{get colors(){return s.colors},level:1});var k=l(T,2);ya(k,{get colors(){return s.colors},level:2});var h=l(k,2);ya(h,{get colors(){return s.colors},level:3}),v(m),v(g),K(()=>{oe(g,"color",s.colors.text),oe(g,"border",`1px solid ${s.colors.gmid??""}`),oe(g,"background",s.colors.bg)}),r(_,i),ne()}var tv=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3 16.5v2.25A2.25 2.25 0 005.25 21h13.5A2.25 2.25 0 0021 18.75V16.5m-13.5-9L12 3m0 0l4.5 4.5M12 3v13.5"></path></svg>');function av(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=tv();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var sv=(_,s)=>e(s).click(),rv=(_,s)=>e(s).click(),iv=(_,s)=>s(_),lv=A('<div class="container svelte-jso5mh"><div role="button" tabindex="0" class="btn svelte-jso5mh"><!></div> <div role="button" tabindex="0" class="text noselect font-label svelte-jso5mh"> </div> <input class="imageInput svelte-jso5mh" type="file" accept=".jpg, .jpeg, .png, .svg"></div>');function ls(_,s){let t=G(s,"text",3,"UPLOAD LOGO"),d=G(s,"image",15),i=C(void 0);async function g(m){d(m.target.files[0])}var f=lv(),u=c(f);u.__click=[sv,i];var I=c(u);av(I,{width:22}),v(u);var E=l(u,2);E.__click=[rv,i];var o=c(E,!0);v(E);var $=l(E,2);$.__change=[iv,g],Qs($,m=>a(i,m),()=>e(i)),v(f),K(()=>Y(o,t())),Me("keypress",u,()=>e(i).click()),Me("keypress",E,()=>e(i).click()),r(_,f)}pt(["click","change"]);var nv=A('<div class="col1 colors svelte-11vvvzr"><div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div></div> <div class="col2 colors svelte-11vvvzr"><div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="row svelte-11vvvzr"><!> <div class="colInputWrap svelte-11vvvzr"><input type="color" class="colInput svelte-11vvvzr"> <div class="colorBlock svelte-11vvvzr"></div></div></div> <div class="logo svelte-11vvvzr"><!> <!></div></div>',1),ov=A('<div class="preview svelte-11vvvzr"><!></div>'),vv=A('<div class="success svelte-11vvvzr">Success</div>'),dv=A('<div class="err svelte-11vvvzr"> </div>'),cv=A(`<div class="container svelte-11vvvzr"><div class="label svelte-11vvvzr"><p>You can set client specific colors, which then will be used for the Login page.
+            These colors must be valid CSS values. Either enter them directly or use the color picker.</p></div> <div class="inner svelte-11vvvzr"><!> <!></div> <div class="btns svelte-11vvvzr"><!> <!> <!> <!></div></div>`);function uv(_,s){le(s,!0);let t=G(s,"client",19,()=>({})),d=C(void 0),i=C(void 0),g=C(!1),f=C(""),u=C(!1),I=C(void 0),E=C(n({})),o=C(n({}));const $=He().shape({act1:he().trim().matches(ft,"only valid CSS color"),act1a:he().trim().matches(ft,"only valid CSS color"),act2:he().trim().matches(ft,"only valid CSS color"),act2a:he().trim().matches(ft,"only valid CSS color"),acnt:he().trim().matches(ft,"only valid CSS color"),acnta:he().trim().matches(ft,"only valid CSS color"),ok:he().trim().matches(ft,"only valid CSS color"),err:he().trim().matches(ft,"only valid CSS color"),glow:he().trim().matches(ft,"only valid CSS color"),gmid:he().trim().matches(ft,"only valid CSS color"),ghigh:he().trim().matches(ft,"only valid CSS color"),text:he().trim().matches(ft,"only valid CSS color"),bg:he().trim().matches(ft,"only valid CSS color")});Ne(async()=>{await m()}),Ca(()=>{e(I)&&clearTimeout(e(I))});async function m(){let O=await gr(t().id);if(O.ok){let U=await O.json();a(d,n(U)),a(o,n(U))}else{let U=await O.json();a(f,n(U.message))}}async function T(){if(a(f,""),a(g,!0),!await y())return;let O=await fr(t().id,e(o));if(O.ok)a(u,!0);else{let U=await O.json();a(f,n(U.message))}a(g,!1)}async function k(){a(f,""),a(g,!0);let O=await yr(t().id);if(O.ok)await br(t().id),await m(),a(u,!0);else{let U=await O.json();a(f,n(U.message))}a(g,!1)}async function h(O){a(g,!0),await Bt();let U=await wr(t().id,O);if(!U.ok){let Q=await U.json();console.error(Q.message)}a(g,!1)}async function y(){try{await $.validate(e(o),{abortEarly:!1}),a(E,n({}))}catch(O){return a(E,n(Ye(O))),!1}return a(d,n(e(o))),!0}Te(()=>{e(u)&&a(I,n(setTimeout(()=>{a(u,!1)},3e3)))}),Te(()=>{e(i)&&h(e(i))});var w=cv(),b=l(c(w),2),x=c(b);{var p=O=>{var U=nv(),Q=ee(U),M=c(Q),W=c(M);ie(W,{autocomplete:"off",placeholder:"act1",get value(){return e(o).act1},set value(te){e(o).act1=te},get error(){return e(E).act1},set error(te){e(E).act1=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("act1");r(te,Ve)},$$slots:{default:!0}});var J=l(W,2),Z=c(J);nt(Z);var re=l(Z,2);v(J),v(M);var ve=l(M,2),be=c(ve);ie(be,{autocomplete:"off",placeholder:"act1a",get value(){return e(o).act1a},set value(te){e(o).act1a=te},get error(){return e(E).act1a},set error(te){e(E).act1a=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("act1a");r(te,Ve)},$$slots:{default:!0}});var $e=l(be,2),pe=c($e);nt(pe);var je=l(pe,2);v($e),v(ve);var fe=l(ve,2),de=c(fe);ie(de,{autocomplete:"off",placeholder:"act2",get value(){return e(o).act2},set value(te){e(o).act2=te},get error(){return e(E).act2},set error(te){e(E).act2=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("act2");r(te,Ve)},$$slots:{default:!0}});var ye=l(de,2),we=c(ye);nt(we);var Pe=l(we,2);v(ye),v(fe);var Ce=l(fe,2),xe=c(Ce);ie(xe,{autocomplete:"off",placeholder:"act2a",get value(){return e(o).act2a},set value(te){e(o).act2a=te},get error(){return e(E).act2a},set error(te){e(E).act2a=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("act2a");r(te,Ve)},$$slots:{default:!0}});var Re=l(xe,2),H=c(Re);nt(H);var Ie=l(H,2);v(Re),v(Ce);var ge=l(Ce,2),Ue=c(ge);ie(Ue,{autocomplete:"off",placeholder:"acnt",get value(){return e(o).acnt},set value(te){e(o).acnt=te},get error(){return e(E).acnt},set error(te){e(E).acnt=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("acnt");r(te,Ve)},$$slots:{default:!0}});var Je=l(Ue,2),rt=c(Je);nt(rt);var vt=l(rt,2);v(Je),v(ge);var qe=l(ge,2),Fe=c(qe);ie(Fe,{autocomplete:"off",placeholder:"acnta",get value(){return e(o).acnta},set value(te){e(o).acnta=te},get error(){return e(E).acnta},set error(te){e(E).acnta=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("acnta");r(te,Ve)},$$slots:{default:!0}});var lt=l(Fe,2),xt=c(lt);nt(xt);var $t=l(xt,2);v(lt),v(qe);var Qe=l(qe,2),et=c(Qe);ie(et,{autocomplete:"off",placeholder:"ok",get value(){return e(o).ok},set value(te){e(o).ok=te},get error(){return e(E).ok},set error(te){e(E).ok=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("ok");r(te,Ve)},$$slots:{default:!0}});var gt=l(et,2),ct=c(gt);nt(ct);var It=l(ct,2);v(gt),v(Qe);var at=l(Qe,2),st=c(at);ie(st,{autocomplete:"off",placeholder:"err",get value(){return e(o).err},set value(te){e(o).err=te},get error(){return e(E).err},set error(te){e(E).err=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("err");r(te,Ve)},$$slots:{default:!0}});var se=l(st,2),Ae=c(se);nt(Ae);var ze=l(Ae,2);v(se),v(at),v(Q);var X=l(Q,2),Ee=c(X),Le=c(Ee);ie(Le,{autocomplete:"off",placeholder:"glow",get value(){return e(o).glow},set value(te){e(o).glow=te},get error(){return e(E).glow},set error(te){e(E).glow=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("glow");r(te,Ve)},$$slots:{default:!0}});var St=l(Le,2),ae=c(St);nt(ae);var Ge=l(ae,2);v(St),v(Ee);var Oe=l(Ee,2),Ut=c(Oe);ie(Ut,{autocomplete:"off",placeholder:"gmid",get value(){return e(o).gmid},set value(te){e(o).gmid=te},get error(){return e(E).gmid},set error(te){e(E).gmid=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("gmid");r(te,Ve)},$$slots:{default:!0}});var Ht=l(Ut,2),Ft=c(Ht);nt(Ft);var Pt=l(Ft,2);v(Ht),v(Oe);var Vt=l(Oe,2),ba=c(Vt);ie(ba,{autocomplete:"off",placeholder:"ghigh",get value(){return e(o).ghigh},set value(te){e(o).ghigh=te},get error(){return e(E).ghigh},set error(te){e(E).ghigh=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("ghigh");r(te,Ve)},$$slots:{default:!0}});var $a=l(ba,2),aa=c($a);nt(aa);var hs=l(aa,2);v($a),v(Vt);var sa=l(Vt,2),_a=c(sa);ie(_a,{autocomplete:"off",placeholder:"text",get value(){return e(o).text},set value(te){e(o).text=te},get error(){return e(E).text},set error(te){e(E).text=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("text");r(te,Ve)},$$slots:{default:!0}});var ka=l(_a,2),ra=c(ka);nt(ra);var ps=l(ra,2);v(ka),v(sa);var ia=l(sa,2),xa=c(ia);ie(xa,{autocomplete:"off",placeholder:"bg",get value(){return e(o).bg},set value(te){e(o).bg=te},get error(){return e(E).bg},set error(te){e(E).bg=te},$$events:{input:y},children:(te,_t)=>{q();var Ve=B("bg");r(te,Ve)},$$slots:{default:!0}});var Ea=l(xa,2),la=c(Ea);nt(la);var ms=l(la,2);v(Ea),v(ia);var Ia=l(ia,2),Sa=c(Ia);ls(Sa,{get image(){return e(i)},set image(te){a(i,n(te))}});var gs=l(Sa,2);{var fs=te=>{is(te,{get clientId(){return t().id}})};P(gs,te=>{e(g)||te(fs)})}v(Ia),v(X),K(()=>{oe(re,"background",e(o).act1),oe(je,"background",e(o).act1a),oe(Pe,"background",e(o).act2),oe(Ie,"background",e(o).act2a),oe(vt,"background",e(o).acnt),oe($t,"background",e(o).acnta),oe(It,"background",e(o).ok),oe(ze,"background",e(o).err),oe(Ge,"background",e(o).glow),oe(Pt,"background",e(o).gmid),oe(hs,"background",e(o).ghigh),oe(ps,"background",e(o).text),oe(ms,"background",e(o).bg)}),dt(Z,()=>e(o).act1,te=>e(o).act1=te),dt(pe,()=>e(o).act1a,te=>e(o).act1a=te),dt(we,()=>e(o).act2,te=>e(o).act2=te),dt(H,()=>e(o).act2a,te=>e(o).act2a=te),dt(rt,()=>e(o).acnt,te=>e(o).acnt=te),dt(xt,()=>e(o).acnta,te=>e(o).acnta=te),dt(ct,()=>e(o).ok,te=>e(o).ok=te),dt(Ae,()=>e(o).err,te=>e(o).err=te),dt(ae,()=>e(o).glow,te=>e(o).glow=te),dt(Ft,()=>e(o).gmid,te=>e(o).gmid=te),dt(aa,()=>e(o).ghigh,te=>e(o).ghigh=te),dt(ra,()=>e(o).text,te=>e(o).text=te),dt(la,()=>e(o).bg,te=>e(o).bg=te),r(O,U)};P(x,O=>{e(o)&&O(p)})}var S=l(x,2);{var L=O=>{var U=ov(),Q=c(U);ev(Q,{get clientId(){return t().id},get isLoading(){return e(g)},get colors(){return e(d)},set colors(M){a(d,n(M))}}),v(U),r(O,U)};P(S,O=>{e(d)&&O(L)})}v(b);var D=l(b,2),j=c(D);Se(j,{level:1,get isLoading(){return e(g)},set isLoading(O){a(g,n(O))},$$events:{click:T},children:(O,U)=>{q();var Q=B("SAVE");r(O,Q)},$$slots:{default:!0}});var N=l(j,2);Se(N,{level:3,get isLoading(){return e(g)},set isLoading(O){a(g,n(O))},$$events:{click:k},children:(O,U)=>{q();var Q=B("RESET");r(O,Q)},$$slots:{default:!0}});var V=l(N,2);{var R=O=>{var U=vv();r(O,U)};P(V,O=>{e(u)&&O(R)})}var F=l(V,2);{var z=O=>{var U=dv(),Q=c(U,!0);v(U),K(()=>Y(Q,e(f))),r(O,U)};P(F,O=>{e(f)&&O(z)})}v(D),v(w),r(_,w),ne()}var hv=A('<div class="data font-mono svelte-115hohv"> </div>'),pv=A('<div class="data svelte-115hohv"> </div>'),mv=A('<div class="header svelte-115hohv"><!> <!></div>'),gv=A("<div><!></div>"),fv=A("<div><!></div>"),yv=A("<div><!></div>"),wv=A("<div><!></div>"),bv=A("<div><!> <!></div>");function $v(_,s){le(s,!0);let t=G(s,"client",31,()=>n({})),d=G(s,"onSave",15),i=C(void 0);const g=["Config","Secret","Branding","Delete"];let f=C(n(g[0]));const u=200,I=u/2;function E(){a(i,!1),d()()}ot(_,{get show(){return e(i)},set show(o){a(i,n(o))},header:o=>{var $=mv(),m=c($);Ze(m,{text:"Client ID",children:(h,y)=>{var w=hv(),b=c(w,!0);v(w),K(()=>Y(b,t().id)),r(h,w)},$$slots:{default:!0}});var T=l(m,2);{var k=h=>{Ze(h,{text:"Client Name",children:(y,w)=>{var b=pv(),x=c(b,!0);v(b),K(()=>Y(x,t().name)),r(y,b)},$$slots:{default:!0}})};P(T,h=>{t().name&&h(k)})}v($),r(o,$)},body:o=>{var $=bv(),m=c($);Dt(m,{labels:g,get selected(){return e(f)},set selected(y){a(f,n(y))}});var T=l(m,2);{var k=y=>{var w=gv(),b=c(w);zo(b,{get client(){return t()},set client(x){t(x)},get onSave(){return d()},set onSave(x){d(x)}}),v(w),ce(5,w,()=>_e,()=>({delay:I,duration:u})),ce(6,w,()=>_e,()=>({duration:u})),r(y,w)},h=y=>{var w=me(),b=ee(w);{var x=S=>{var L=fv(),D=c(L);Mo(D,{get client(){return t()}}),v(L),ce(5,L,()=>_e,()=>({delay:I,duration:u})),ce(6,L,()=>_e,()=>({duration:u})),r(S,L)},p=S=>{var L=me(),D=ee(L);{var j=V=>{var R=yv(),F=c(R);uv(F,{get client(){return t()}}),v(R),ce(5,R,()=>_e,()=>({delay:I,duration:u})),ce(6,R,()=>_e,()=>({duration:u})),r(V,R)},N=V=>{var R=me(),F=ee(R);{var z=O=>{var U=wv(),Q=c(U);Ko(Q,{get client(){return t()},onSave:E}),v(U),ce(5,U,()=>_e,()=>({delay:I,duration:u})),ce(6,U,()=>_e,()=>({duration:u})),r(O,U)};P(F,O=>{e(f)==="Delete"&&O(z)},!0)}r(V,R)};P(D,V=>{e(f)==="Branding"?V(j):V(N,!1)},!0)}r(S,L)};P(b,S=>{e(f)==="Secret"?S(x):S(p,!1)},!0)}r(y,w)};P(T,y=>{e(f)==="Config"?y(k):y(h,!1)})}v($),r(o,$)},$$slots:{header:!0,body:!0}}),ne()}var _v=A('<div class="header font-label svelte-gbj18i">ADD NEW CLIENT</div>'),kv=A('<div class="success svelte-gbj18i">Success</div>'),xv=A('<div class="mainErr err svelte-gbj18i"> </div>'),Ev=A('<div class="container svelte-gbj18i"><!> <!> <!> <!> <div class="unit svelte-gbj18i"><div class="label font-label svelte-gbj18i">CONFIDENTIAL</div> <div class="value svelte-gbj18i"><!></div></div> <!> <!> <!></div>');function Iv(_,s){le(s,!0);let t=G(s,"idx",31,()=>-1),d=C(void 0),i=n({id:"",name:"",confidential:!0,redirect_uris:[]}),g=C(""),f=C(!1),u=C(void 0),I=C(n({}));const E=He().shape({id:he().required("Client ID is required").trim().matches(js,"Can only contain characters, numbers and '-'"),name:he().trim().nullable().matches(Xt,"Can only contain characters, numbers and '-'")});let o=C(void 0),$=C(void 0);const m="330px";Te(()=>{e(f)&&a(u,n(setTimeout(()=>{s.onSave(),a(f,!1),a(d,!1)},1500)))}),Ne(()=>()=>clearTimeout(e(u)));async function T(){if(a(g,""),!await k()||!e(o)()||!e($)()){a(g,"Invalid input");return}let h=i;h.name||(h.name=void 0);let y=await hr(h);if(y.ok)a(f,!0);else{let w=await y.json();a(g,n(w.message))}}async function k(){try{return await E.validate(i,{abortEarly:!1}),a(I,n({})),!0}catch(h){return a(I,n(Ye(h))),!1}}ot(_,{get idx(){return t()},set idx(h){t(h)},get show(){return e(d)},set show(h){a(d,n(h))},header:h=>{var y=_v();r(h,y)},body:h=>{var y=Ev(),w=c(y);ie(w,{autocomplete:"off",placeholder:"Client ID",width:m,get value(){return i.id},set value(z){i.id=z},get error(){return e(I).id},set error(z){e(I).id=z},$$events:{input:k},children:(z,O)=>{q();var U=B("CLIENT ID");r(z,U)},$$slots:{default:!0}});var b=l(w,2);ie(b,{autocomplete:"off",placeholder:"Client Name",width:m,get value(){return i.name},set value(z){i.name=z},get error(){return e(I).name},set error(z){e(I).name=z},$$events:{input:k},children:(z,O)=>{q();var U=B("NAME");r(z,U)},$$slots:{default:!0}});var x=l(b,2);Kt(x,{style:`width: ${m}`,validation:{required:!0,regex:tt,errMsg:"Only URL safe values: a-zA-Z0-9,.:/_-&?=~#!$'()*+%"},autocomplete:"off",optional:!0,placeholder:"Redirect URI",get values(){return i.redirect_uris},set values(z){i.redirect_uris=z},get validate(){return e(o)},set validate(z){a(o,n(z))},children:(z,O)=>{q();var U=B("REDIRECT URI");r(z,U)},$$slots:{default:!0}});var p=l(x,2);Kt(p,{style:`width: ${m}`,validation:{required:!0,regex:tt,errMsg:"Only URL safe values: a-zA-Z0-9,.:/_-&?=~#!$'()*+%"},autocomplete:"off",optional:!0,placeholder:"Post Logout Redirect URI",get values(){return i.post_logout_redirect_uris},set values(z){i.post_logout_redirect_uris=z},get validate(){return e($)},set validate(z){a($,n(z))},children:(z,O)=>{q();var U=B("POST LOGOUT REDIRECT URI");r(z,U)},$$slots:{default:!0}});var S=l(p,2),L=l(c(S),2),D=c(L);Be(D,{get selected(){return i.confidential},set selected(z){i.confidential=z}}),v(L),v(S);var j=l(S,2);Se(j,{level:1,width:"4rem",$$events:{click:T},children:(z,O)=>{q();var U=B("SAVE");r(z,U)},$$slots:{default:!0}});var N=l(j,2);{var V=z=>{var O=kv();r(z,O)};P(N,z=>{e(f)&&z(V)})}var R=l(N,2);{var F=z=>{var O=xv(),U=c(O,!0);v(O),K(()=>Y(U,e(g))),r(z,O)};P(R,z=>{e(g)&&z(F)})}v(y),r(h,y)},$$slots:{header:!0,body:!0}}),ne()}var Sv=A('<div class="svelte-z13sh"><!></div>'),Cv=A(' <div class="content"><!> <!> <div id="clients" class="svelte-z13sh"></div> <!> <div style="height: 20px"></div></div>',1);function Av(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(n([])),g=C(n([])),f=C(""),u=[{label:"ID",callback:(x,p)=>x.id.toLowerCase().includes(p.toLowerCase())}],I=[{label:"ID",callback:(x,p)=>x.id.localeCompare(p.id)}];Ne(()=>{E(),o()});async function E(){let x=await ur();if(!x.ok)a(t,"Error fetching clients: "+x.body.message);else{let p=await x.json();a(d,n([...p]))}}async function o(){let x=await Za();if(!x.ok)a(t,"Error fetching scopes: "+x.body.message);else{let p=await x.json();mi.set(p),Qa.set(p.map(S=>S.name))}}function $(){E(),o(),a(f,"")}q();var m=Cv(),T=ee(m),k=l(T),h=c(k);Lt(h,{get items(){return e(d)},searchOptions:u,orderOptions:I,get resItems(){return e(i)},set resItems(x){a(i,n(x))},get search(){return e(f)},set search(x){a(f,n(x))}});var y=l(h,2);Iv(y,{onSave:$});var w=l(y,2);We(w,23,()=>e(g),x=>x.id,(x,p,S)=>{var L=Sv(),D=c(L);$v(D,{onSave:$,get client(){return e(g)[e(S)]},set client(j){e(g)[e(S)]=j}}),v(L),r(x,L)}),v(w);var b=l(w,2);jt(b,{get items(){return e(i)},set items(x){a(i,n(x))},get resItems(){return e(g)},set resItems(x){a(g,n(x))}}),q(2),v(k),K(()=>Y(T,`${e(t)??""} `)),r(_,m),ne()}var Tv=A('<div class="uid svelte-yz275t"> </div>'),Lv=A('<div class="ip svelte-yz275t"> </div>'),Nv=A('<div class="date svelte-yz275t"> </div>'),Rv=A('<div class="header svelte-yz275t"><!> <div class="header svelte-yz275t"><!> <!></div></div>'),Dv=A('<div class="details svelte-yz275t"><div class="flex svelte-yz275t"><div class="label svelte-yz275t">Session ID:</div> </div> <div class="flex svelte-yz275t"><div class="label svelte-yz275t">User ID:</div> </div> <div class="flex svelte-yz275t"><div class="label svelte-yz275t">Expires:</div> </div> <div class="flex svelte-yz275t"><div class="label svelte-yz275t">Last Seen:</div> </div> <div class="flex svelte-yz275t"><div class="label svelte-yz275t">State:</div> </div> <div class="flex svelte-yz275t"><div class="label svelte-yz275t">IP:</div> </div> <div class="flex svelte-yz275t"><div class="label svelte-yz275t">MFA:</div> <!></div></div>'),jv=A('<div class="container svelte-yz275t"><!></div>');function ns(_,s){le(s,!0);let t=G(s,"session",27,()=>n({})),d=G(s,"now",11,0);var i=jv(),g=c(i);ot(g,{header:f=>{var u=Rv(),I=c(u);Ze(I,{text:"User ID",children:(m,T)=>{var k=Tv(),h=c(k,!0);v(k),K(()=>Y(h,t().user_id)),r(m,k)},$$slots:{default:!0}});var E=l(I,2),o=c(E);Ze(o,{text:"Peer IP",children:(m,T)=>{var k=Lv(),h=c(k,!0);v(k),K(()=>Y(h,t().remote_ip)),r(m,k)},$$slots:{default:!0}});var $=l(o,2);Ze($,{text:"Last Seen",children:(m,T)=>{var k=Nv(),h=c(k,!0);K(()=>Y(h,ut(t().last_seen))),v(k),r(m,k)},$$slots:{default:!0}}),v(E),v(u),r(f,u)},body:f=>{var u=Dv(),I=c(u),E=l(c(I));v(I);var o=l(I,2),$=l(c(o));v(o);var m=l(o,2),T=l(c(m));K(()=>Y(T,` ${ut(t().exp)??""}`)),v(m);var k=l(m,2),h=l(c(k));K(()=>Y(h,` ${ut(t().last_seen)??""}`)),v(k);var y=l(k,2),w=l(c(y));v(y);var b=l(y,2),x=l(c(b));v(b);var p=l(b,2),S=l(c(p),2);ea(S,{get check(){return t().is_mfa}}),v(p),v(u),K(()=>{Y(E,` ${t().id??""}`),Y($,` ${t().user_id??""}`),Y(w,` ${t().state??""}`),Y(x,` ${t().remote_ip??""}`)}),r(f,u)},$$slots:{header:!0,body:!0}}),v(i),K(()=>Et(i,"expired",t().exp<d())),r(_,i),ne()}var Pv=A('<div class="svelte-80zd7k"><!></div>'),zv=A('<div class="svelte-80zd7k"><!></div>'),Ov=A('<div class="content"><div class="row svelte-80zd7k"><!> <div class="button svelte-80zd7k"><!></div></div> <div id="sessions" class="svelte-80zd7k"><!></div> <!></div>');function Mv(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(n([])),g=C(n([])),f=C(Date.now()/1e3),u=C(""),I=C(!1),E=C(15),o=C(""),$=C(1),m=[{label:"User ID",callback:(U,Q)=>{var M;return(M=U.user_id)==null?void 0:M.toLowerCase().includes(Q.toLowerCase())}},{label:"Session ID",callback:(U,Q)=>U.id.toLowerCase().includes(Q.toLowerCase())},{label:"IP",callback:(U,Q)=>{var M;return(M=U.remote_ip)==null?void 0:M.toLowerCase().includes(Q.toLowerCase())}}],T=[{label:"Expires",callback:(U,Q)=>U.exp-Q.exp},{label:"Last Seen",callback:(U,Q)=>U.last_seen-Q.last_seen},{label:"Session ID",callback:(U,Q)=>U.id.localeCompare(Q.id)},{label:"User ID",callback:(U,Q)=>{var M;return(M=U.user_id)==null?void 0:M.localeCompare(Q.user_id)}},{label:"State",callback:(U,Q)=>U.state.localeCompare(Q.state)},{label:"IP",callback:(U,Q)=>{var M;return(M=U.remote_ip)==null?void 0:M.localeCompare(Q.remote_ip)}}];Ne(()=>{k()});async function k(U,Q,M,W){let J;if(U===!0?M&&e($)===2?J=await Ja(W||e(E),Q,void 0,!1):J=await Ja(W||e(E),Q,e(o),M):J=await qr(),!J.ok)a(t,"Error fetching sessions: "+J.body.message);else{J.status===206?(a(E,n(Number.parseInt(J.headers.get("x-page-size"),10))),a(o,n(J.headers.get("x-continuation-token"))),a(u,"session")):a(u,"");let Z=await J.json();a(d,n([...Z])),a(i,n([...Z])),a(f,Date.now()/1e3)}}async function h(U,Q){await k(!0,U,Q),Q?a($,e($)-1):a($,e($)+1)}async function y(U){a(o,""),await k(!0,0,!1,U),a($,1)}async function w(){let U=await Gr();if(U.ok)Oa();else{let Q=await U.json();a(t,n(Q.message))}a(f,n(new Date))}var b=Ov(),x=c(b),p=c(x);Lt(p,{get items(){return e(d)},searchOptions:m,orderOptions:T,firstDirReverse:!0,get resItems(){return e(i)},set resItems(U){a(i,n(U))},get useServerSideIdx(){return e(u)},set useServerSideIdx(U){a(u,n(U))},get isSearchFiltered(){return e(I)},set isSearchFiltered(U){a(I,n(U))}});var S=l(p,2);oe(S,"margin-top","-10px");var L=c(S);Se(L,{level:3,$$events:{click:w},children:(U,Q)=>{q();var M=B("Invalidate All Sessions");r(U,M)},$$slots:{default:!0}}),v(S),v(x);var D=l(x),j=l(D),N=c(j);{var V=U=>{var Q=me(),M=ee(Q);We(M,19,()=>e(d),W=>W.id,(W,J,Z)=>{var re=Pv(),ve=c(re);ns(ve,{get session(){return e(d)[e(Z)]},set session(be){e(d)[e(Z)]=be},get now(){return e(f)},set now(be){a(f,n(be))}}),v(re),r(W,re)}),r(U,Q)},R=U=>{var Q=me(),M=ee(Q);We(M,19,()=>e(g),W=>W.id,(W,J,Z)=>{var re=zv(),ve=c(re);ns(ve,{get session(){return e(g)[e(Z)]},set session(be){e(g)[e(Z)]=be},get now(){return e(f)},set now(be){a(f,n(be))}}),v(re),r(W,re)}),r(U,Q)};P(N,U=>{e(u)&&!e(I)?U(V):U(R,!1)})}v(j);var F=l(j,2);{var z=U=>{as(U,{fetchPageCallback:h,sspPageSizeChange:y,get sspPage(){return e($)},set sspPage(Q){a($,n(Q))},get sspPageSize(){return e(E)},set sspPageSize(Q){a(E,n(Q))},get sspContinuationToken(){return e(o)},set sspContinuationToken(Q){a(o,n(Q))}})},O=U=>{jt(U,{get items(){return e(i)},set items(Q){a(i,n(Q))},get resItems(){return e(g)},set resItems(Q){a(g,n(Q))}})};P(F,U=>{e(u)&&!e(I)?U(z):U(O,!1)})}v(b),K(()=>Y(D,` ${e(t)??""} `)),r(_,b),ne()}var Uv=A('<div class="header font-label svelte-1mi5990">ADD NEW USER ATTRIBUTE</div>'),qv=A('<div class="mainErr err svelte-1mi5990"> </div>'),Gv=A('<div class="container svelte-1mi5990"><div class="desc svelte-1mi5990">You can add a new custom user attribute.<br> These attributes can be set for every user and mapped to an existing scope.<br> They are simple Key / JsonValue pairs.</div> <!> <!> <!> <!> <!></div>');function Wv(_,s){le(s,!0);let t=G(s,"idx",31,()=>-1),d=C(""),i=C(void 0),g=n({name:"",desc:""}),f=C(n({}));const u=He().shape({name:he().trim().required("Name is required").matches(Ma,"Invalid characters: [a-z0-9-_/]{2,32}"),desc:he().trim().matches(Ua,"Invalid characters: [a-zA-Z0-9\\-_/\\s]{0,128}")});async function I(){if(!await E())return;a(d,"");let o=await Br(g);if(o.ok)a(i,!1),s.onSave();else{let $=await o.json();a(d,n($.message))}}async function E(){try{return await u.validate(g,{abortEarly:!1}),a(f,n({})),!0}catch(o){return a(f,n(Ye(o))),!1}}ot(_,{get idx(){return t()},set idx(o){t(o)},get show(){return e(i)},set show(o){a(i,n(o))},header:o=>{var $=Uv();r(o,$)},body:o=>{var $=Gv(),m=l(c($),2);ie(m,{autocomplete:"off",placeholder:"Name",get value(){return g.name},set value(b){g.name=b},get error(){return e(f).name},set error(b){e(f).name=b},$$events:{input:E},children:(b,x)=>{q();var p=B("NAME");r(b,p)},$$slots:{default:!0}});var T=l(m,2);ie(T,{autocomplete:"off",placeholder:"Description",get value(){return g.desc},set value(b){g.desc=b},get error(){return e(f).desc},set error(b){e(f).desc=b},$$events:{input:E},children:(b,x)=>{q();var p=B("DESCRIPTION");r(b,p)},$$slots:{default:!0}});var k=l(T,2);Se(k,{level:1,$$events:{click:I},children:(b,x)=>{q();var p=B("SAVE");r(b,p)},$$slots:{default:!0}});var h=l(k,2);P(h,b=>{});var y=l(h,2);{var w=b=>{var x=qv(),p=c(x,!0);v(x),K(()=>Y(p,e(d))),r(b,x)};P(y,b=>{e(d)&&b(w)})}v($),r(o,$)},$$slots:{header:!0,body:!0}}),ne()}var Kv=A('<div class="success svelte-2o3w7i">Success</div>'),Fv=A('<div class="mainErr err svelte-2o3w7i"> </div>'),Vv=A('<div class="container svelte-2o3w7i"><!> <!> <!> <!> <!></div>');function Bv(_,s){le(s,!0);let t=G(s,"attr",19,()=>({})),d=C(""),i=C(!1),g=C(void 0);Te(()=>{e(i)&&a(g,n(setTimeout(()=>{a(i,!1),s.onSave()},2e3)))}),Ne(()=>()=>clearTimeout(e(g)));let f=C(n({})),u=n({});const I=He().shape({name:he().trim().required("Name is required").matches(Ma,"Valid characters: [a-z0-9-_/]{2,32}"),desc:he().nullable().trim().matches(Ua,"Valid characters: [a-zA-Z0-9\\-_/\\s]{0,128}")});Ne(()=>{u.name=t().name,u.desc=t().desc});async function E(){if(a(d,""),!await o()){a(d,"Invalid input");return}let x={name:u.name,desc:u.desc},p=await Jr(t().name,x);if(p.ok)a(i,!0);else{let S=await p.json();a(d,n(S.message))}}async function o(){try{return await I.validate(u,{abortEarly:!1}),a(f,n({})),!0}catch(x){return a(f,n(Ye(x))),!1}}var $=Vv(),m=c($);ie(m,{autocomplete:"off",placeholder:"Name",get value(){return u.name},set value(x){u.name=x},get error(){return e(f).name},set error(x){e(f).name=x},$$events:{input:o},children:(x,p)=>{q();var S=B("NAME");r(x,S)},$$slots:{default:!0}});var T=l(m,2);ie(T,{autocomplete:"off",placeholder:"Description",get value(){return u.desc},set value(x){u.desc=x},get error(){return e(f).desc},set error(x){e(f).desc=x},$$events:{input:o},children:(x,p)=>{q();var S=B("DESCRIPTION");r(x,S)},$$slots:{default:!0}});var k=l(T,2);Se(k,{level:1,width:"4rem",$$events:{click:E},children:(x,p)=>{q();var S=B("SAVE");r(x,S)},$$slots:{default:!0}});var h=l(k,2);{var y=x=>{var p=Kv();r(x,p)};P(h,x=>{e(i)&&x(y)})}var w=l(h,2);{var b=x=>{var p=Fv(),S=c(p,!0);v(p),K(()=>Y(S,e(d))),r(x,p)};P(w,x=>{e(d)&&x(b)})}v($),r(_,$),ne()}var Jv=A('<div class="err svelte-1jljqe9"> </div>'),Yv=A('<div class="container svelte-1jljqe9"><div class="label svelte-1jljqe9">Are you sure, you want to delete this custom attribute?</div> <!> <!></div>');function Hv(_,s){le(s,!0);let t=G(s,"attr",19,()=>({})),d=C(!1),i=C("");async function g(){a(i,""),a(d,!0);let o=await Yr(t().name);if(o.ok)s.onSave();else{let $=await o.json();a(i,n($.message))}a(d,!1)}var f=Yv(),u=l(c(f),2);Se(u,{level:1,get isLoading(){return e(d)},set isLoading(o){a(d,n(o))},$$events:{click:g},children:(o,$)=>{q();var m=B("DELETE");r(o,m)},$$slots:{default:!0}});var I=l(u,2);{var E=o=>{var $=Jv(),m=c($,!0);v($),K(()=>Y(m,e(i))),r(o,$)};P(I,o=>{e(i)&&o(E)})}v(f),r(_,f),ne()}var Xv=A('<div class="data svelte-115hohv"> </div>'),Zv=A('<div class="header svelte-115hohv"><!></div>'),Qv=A("<div><!></div>"),ed=A("<div><!></div>"),td=A("<div><!> <!></div>");function ad(_,s){le(s,!0);let t=G(s,"attr",27,()=>n({})),d=G(s,"onSave",15),i=C(void 0);const g=["Config","Delete"];let f=C(n(g[0]));const u=200,I=u/2;function E(){a(i,!1),d()()}ot(_,{get show(){return e(i)},set show(o){a(i,n(o))},header:o=>{var $=Zv(),m=c($);Ze(m,{text:"Custom Attribute Name",children:(T,k)=>{var h=Xv(),y=c(h,!0);v(h),K(()=>Y(y,t().name)),r(T,h)},$$slots:{default:!0}}),v($),r(o,$)},body:o=>{var $=td(),m=c($);Dt(m,{labels:g,get selected(){return e(f)},set selected(y){a(f,n(y))}});var T=l(m,2);{var k=y=>{var w=Qv(),b=c(w);Bv(b,{get attr(){return t()},get onSave(){return d()},set onSave(x){d(x)}}),v(w),ce(5,w,()=>_e,()=>({delay:I,duration:u})),ce(6,w,()=>_e,()=>({duration:u})),r(y,w)},h=y=>{var w=me(),b=ee(w);{var x=p=>{var S=ed(),L=c(S);Hv(L,{get attr(){return t()},onSave:E}),v(S),ce(5,S,()=>_e,()=>({delay:I,duration:u})),ce(6,S,()=>_e,()=>({duration:u})),r(p,S)};P(b,p=>{e(f)==="Delete"&&p(x)},!0)}r(y,w)};P(T,y=>{e(f)==="Config"?y(k):y(h,!1)})}v($),r(o,$)},$$slots:{header:!0,body:!0}}),ne()}var sd=A('<div class="svelte-1yl9ae5"><!></div>'),rd=A(' <div class="content"><!> <!> <div id="attrs" class="svelte-1yl9ae5"></div> <!> <div style="height: 20px"></div></div>',1);function id(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(n([])),g=C(n([])),f=C(""),u=[{label:"NAME",callback:(b,x)=>b.name.toLowerCase().includes(x.toLowerCase())}],I=[{label:"NAME",callback:(b,x)=>b.name.localeCompare(x.name)}];Ne(()=>{E()});async function E(){let b=await ma();if(!b.ok)a(t,"Error fetching user attr: "+b.body.message);else{let x=await b.json();a(d,n([...x.values]))}}function o(){e(d).length<2&&(a(d,n([])),a(i,n([])),a(g,n([]))),E(),a(f,"")}q();var $=rd(),m=ee($),T=l(m),k=c(T);Lt(k,{get items(){return e(d)},searchOptions:u,orderOptions:I,get resItems(){return e(i)},set resItems(b){a(i,n(b))},get search(){return e(f)},set search(b){a(f,n(b))}});var h=l(k,2);Wv(h,{onSave:o});var y=l(h,2);We(y,23,()=>e(g),b=>b.name,(b,x,p)=>{var S=sd(),L=c(S);ad(L,{onSave:o,get attr(){return e(g)[e(p)]},set attr(D){e(g)[e(p)]=D}}),v(S),r(b,S)}),v(y);var w=l(y,2);jt(w,{get items(){return e(i)},set items(b){a(i,n(b))},get resItems(){return e(g)},set resItems(b){a(g,n(b))}}),q(2),v(T),K(()=>Y(m,`${e(t)??""} `)),r(_,$),ne()}var ld=A('<div class="row svelte-151ox8b"><div class="columnWide svelte-151ox8b"> </div> <div class="column svelte-151ox8b"> </div> <div class="column svelte-151ox8b"> </div> <div class="column svelte-151ox8b"> </div></div>'),nd=A('<div class="container svelte-151ox8b"><div class="row svelte-151ox8b"><div class="columnWide svelte-151ox8b">Time Taken (ms)</div> <div class="column svelte-151ox8b">t_cost</div> <div class="column svelte-151ox8b">m_cost</div> <div class="column svelte-151ox8b">p_cost</div></div> <!> <div style="height: 20px"></div></div>');function od(_,s){let t=G(s,"res",19,()=>[]);var d=nd(),i=l(c(d),2);We(i,17,t,yt,(g,f)=>{var u=ld(),I=c(u),E=c(I,!0);v(I);var o=l(I,2),$=c(o,!0);v(o);var m=l(o,2),T=c(m,!0);v(m);var k=l(m,2),h=c(k,!0);v(k),v(u),K(()=>{Y(E,e(f).time_taken),Y($,e(f).t_cost),Y(T,e(f).m_cost),Y(h,e(f).p_cost)}),r(g,u)}),q(2),v(d),r(_,d)}var vd=A('<div class="result svelte-1digv30"><!></div>'),dd=A('<div class="wrapper svelte-1digv30"><div class="container svelte-1digv30"><!> <!> <!> <!></div> <!></div>');function cd(_,s){le(s,!0);const t="170px";let d=C(!1),i=C(!1),g=C(void 0),f=C(void 0),u=n({targetTime:1e3,mCost:32768,pCost:2}),I=C(n({}));const E=He().shape({targetTime:wt().required("Target Time is required").min(500,"Cannot be lower than 500").max(99999,"Cannot be higher than 99999"),mCost:wt().min(32768,"Cannot be lower than 32768").max(1048576,"Cannot be higher than 1048576"),pCost:wt().min(2,"Cannot be lower than 2").max(1024,"Cannot be higher than 1024")});Te(()=>{e(i)&&e(g)&&a(f,n(window.innerHeight))});function o(p){p.code==="Enter"&&$()}async function $(){try{await E.validate(u,{abortEarly:!1}),a(I,n({}))}catch(D){a(I,n(Ye(D)));return}a(d,!0),a(i,!1);const p={target_time:Number.parseInt(u.targetTime),m_cost:Number.parseInt(u.mCost),p_cost:Number.parseInt(u.pCost)},S=await Tr(p),L=await S.json();S.ok?(a(g,n(L.results)),a(i,!0)):L.message,a(d,!1)}var m=dd(),T=c(m),k=c(T);ie(k,{type:"number",autocomplete:"off",placeholder:"Target Time (ms)",width:t,get value(){return u.targetTime},set value(p){u.targetTime=p},get error(){return e(I).targetTime},set error(p){e(I).targetTime=p},$$events:{keypress:o},children:(p,S)=>{q();var L=B("TARGET TIME (ms)");r(p,L)},$$slots:{default:!0}});var h=l(k,2);ie(h,{type:"number",autocomplete:"off",placeholder:"m_cost (kB)",width:t,get value(){return u.mCost},set value(p){u.mCost=p},get error(){return e(I).mCost},set error(p){e(I).mCost=p},$$events:{keypress:o},children:(p,S)=>{q();var L=B("M_COST (kB)");r(p,L)},$$slots:{default:!0}});var y=l(h,2);ie(y,{type:"number",autocomplete:"off",placeholder:"p_cost",width:t,get value(){return u.pCost},set value(p){u.pCost=p},get error(){return e(I).pCost},set error(p){e(I).pCost=p},$$events:{keypress:o},children:(p,S)=>{q();var L=B("P_COST");r(p,L)},$$slots:{default:!0}});var w=l(y,2);Se(w,{get isLoading(){return e(d)},level:1,$$events:{click:$},children:(p,S)=>{q();var L=B("CALCULATE");r(p,L)},$$slots:{default:!0}}),v(T);var b=l(T,2);{var x=p=>{var S=vd(),L=c(S);od(L,{get res(){return e(g)}}),v(S),r(p,S)};P(b,p=>{e(i)&&p(x)})}v(m),Fs("y",()=>e(f),p=>a(f,n(p))),r(_,m),ne()}var ud=A(`<div class="container svelte-6927oe"><h3>Argon2ID - Password Hashing</h3> <p>This utility helps you find the best argon2id settings for your platform.<br> Argon2id is currently the safest available password hashing algorithm. To use it to its fullest potential, it
         has
         to be tuned for each deployment.</p> <p><b>Important:These values need to be tuned on the final architecture!</b><br> They change depending on the capabilities of the system. The more powerful the system, the more safe these
         values
@@ -30,21 +30,21 @@ import{a as r,n as Xe,b as A,c as me,t as B}from"./disclose-version.DZhRUPAc.js"
             of an old key, which is currently still in use in some places.</p> <p>The active key is statically set in the Rauthy config file / environment variables. It cannot be changed
             here
             dynamically.<br> <b>All new JWK encryption's will always use the currently active key.</b></p> <div class="valRow svelte-3rk97c"><div class="label svelte-3rk97c">Active Key:</div> <div class="value font-mono"> </div></div> <div class="keysBlock svelte-3rk97c"><div>Available Keys:</div> <ul></ul></div> <div class="migrateBlock svelte-3rk97c"><p>If you migrate all existing secrets, it might take a few seconds to finish, if you have a big
-                dataset.<br> Manually migrate all existing encryption in the backend to key:</p> <!></div></div> <div class="btn svelte-3rk97c"><!></div> <!> <!></div>`);function yd(_,s){le(s,!0);let t=C(""),d=C(!0),i=C(""),g=C(""),f=C(n([])),u=C(!1);Ne(async()=>{I()});async function I(){let N=await kr(),V=await N.json();N.ok?(a(i,n(V.active)),a(g,n(V.active)),a(f,n(V.keys))):a(t,n(V.message)),a(d,!1)}async function E(){a(d,!0),a(u,!1);let N={key_id:e(g)},V=await xr(N);if(V.ok)a(u,!0);else{let R=await V.json();a(t,n(R.message))}a(d,!1)}var o=fd(),$=c(o),m=l(c($),6),T=l(c(m),2),k=c(T,!0);v(T),v(m);var h=l(m,2),y=l(c(h),2);oe(y,"margin-left","-10px"),We(y,21,()=>e(f),yt,(N,V)=>{var R=pd(),F=c(R,!0);v(R),K(()=>Y(F,e(V))),r(N,R)}),v(y),v(h);var w=l(h,2),b=l(c(w),2);kt(b,{get options(){return e(f)},width:"186px",get value(){return e(g)},set value(N){a(g,n(N))}}),v(w),v($);var x=l($,2),p=c(x);Se(p,{get isLoading(){return e(d)},set isLoading(N){a(d,n(N))},$$events:{click:E},children:(N,V)=>{q();var R=B("MIGRATE");r(N,R)},$$slots:{default:!0}}),v(x);var S=l(x,2);{var L=N=>{var V=md(),R=c(V,!0);v(V),K(()=>Y(R,e(t))),r(N,V)};P(S,N=>{e(t)&&N(L)})}var D=l(S,2);{var j=N=>{var V=gd();r(N,V)};P(D,N=>{e(u)&&N(j)})}v(o),K(()=>Y(k,e(i))),r(_,o),ne()}var wd=A('<div class="success svelte-10h0sak">Success</div>'),bd=A('<div class="err svelte-10h0sak"> </div>'),$d=A('<div class="row svelte-10h0sak"><!> <!></div> <div class="row svelte-10h0sak"><!> <!></div> <div class="row svelte-10h0sak"><!> <!></div> <div class="desc svelte-10h0sak"><p>Validity for a new password.<br> Not Recently Used denied the last n used passwords.<br> Setting no value at all with disable the given option.</p></div> <div class="row svelte-10h0sak"><!> <!></div> <!> <!> <!>',1),_d=A('<div class="wrapper svelte-10h0sak"><div class="desc svelte-10h0sak"><h3>Password Policy</h3> <p>Configure the password policy.<br> The policy is being applied to all passwords being set from this moment on.</p></div> <!></div>');function kd(_,s){le(s,!0);const t="160px";let d=C(!1),i=C(""),g=C(!1),f=C(void 0),u=C(void 0),I=C(n({}));const E=He().shape({length_min:wt().required("Min Length is required").min(8,"Cannot be lower than 8").max(128,"Cannot be higher than 128"),length_max:wt().required("Max Length is required").min(8,"Cannot be lower than 8").max(128,"Cannot be higher than 128"),not_recently_used:wt().nullable().min(0,"Cannot be lower than 0").max(10,"Cannot be higher than 10"),valid_days:wt().nullable().min(0,"Cannot be lower than 0").max(3650,"Cannot be higher than 3650"),include_digits:wt().nullable().min(0,"Cannot be lower than 0").max(32,"Cannot be higher than 32"),include_lower_case:wt().nullable().min(0,"Cannot be lower than 0").max(32,"Cannot be higher than 32"),include_upper_case:wt().nullable().min(0,"Cannot be lower than 0").max(32,"Cannot be higher than 32"),include_special:wt().nullable().min(0,"Cannot be lower than 0").max(32,"Cannot be higher than 32")});Te(()=>{e(g)&&a(f,n(setTimeout(()=>{a(g,!1)},3e3)))}),Ne(async()=>{if(!e(u)){let y=await ja(),w=await y.json();y.ok?(a(u,n(w)),e(u).length_min=w.length_min||0,e(u).length_max=w.length_max||0,e(u).include_digits=w.include_digits||0,e(u).include_lower_case=w.include_lower_case||0,e(u).include_upper_case=w.include_upper_case||0,e(u).include_special=w.include_special||0,e(u).length_max=w.length_max||0,e(u).valid_days=w.valid_days||0,e(u).not_recently_used=w.not_recently_used||0):a(i,n(w.message))}});function o(y){y.code==="Enter"&&$()}async function $(){if(!await m())return;a(i,""),a(d,!0);let y=e(u);y.not_recently_used===0&&(y.not_recently_used=null),y.valid_days===0&&(y.valid_days=null),y.include_digits===0&&(y.include_digits=null),y.include_lower_case===0&&(y.include_lower_case=null),y.include_upper_case===0&&(y.include_upper_case=null),y.include_special===0&&(y.include_special=null);let w=await Lr(y);if(w.ok)a(g,!0);else{let b=await w.json();a(i,n(b.message))}a(d,!1)}async function m(){try{return a(I,n({})),await E.validate(e(u),{abortEarly:!1}),e(u).length_min=Number.parseInt(e(u).length_min),e(u).length_max=Number.parseInt(e(u).length_max),e(u).include_digits=Number.parseInt(e(u).include_digits),e(u).include_lower_case=Number.parseInt(e(u).include_lower_case),e(u).include_upper_case=Number.parseInt(e(u).include_upper_case),e(u).include_special=Number.parseInt(e(u).include_special),e(u).length_max=Number.parseInt(e(u).length_max),e(u).valid_days=Number.parseInt(e(u).valid_days),e(u).not_recently_used=Number.parseInt(e(u).not_recently_used),e(u).length_max<e(u).length_min?(e(I).length_max="Max Length cannot be lower than Min Length",!1):e(u).include_digits+e(u).include_lower_case+e(u).include_upper_case+e(u).include_special>e(u).length_max?(e(I).length_max="The sum of all includes does not fit into Max Length",!1):!0}catch(y){return a(I,n(Ye(y))),!1}}var T=_d(),k=l(c(T),2);{var h=y=>{var w=$d(),b=ee(w),x=c(b);ie(x,{type:"number",autocomplete:"off",width:t,get value(){return e(u).length_min},set value(J){e(u).length_min=J},get error(){return e(I).length_min},set error(J){e(I).length_min=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("MIN LENGTH");r(J,re)},$$slots:{default:!0}});var p=l(x,2);ie(p,{type:"number",autocomplete:"off",width:t,get value(){return e(u).length_max},set value(J){e(u).length_max=J},get error(){return e(I).length_max},set error(J){e(I).length_max=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("MAX LENGTH");r(J,re)},$$slots:{default:!0}}),v(b);var S=l(b,2),L=c(S);ie(L,{type:"number",autocomplete:"off",width:t,get value(){return e(u).include_lower_case},set value(J){e(u).include_lower_case=J},get error(){return e(I).include_lower_case},set error(J){e(I).include_lower_case=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("INCLUDE LOWERCASE");r(J,re)},$$slots:{default:!0}});var D=l(L,2);ie(D,{type:"number",autocomplete:"off",width:t,get value(){return e(u).include_upper_case},set value(J){e(u).include_upper_case=J},get error(){return e(I).include_upper_case},set error(J){e(I).include_upper_case=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("INCLUDE UPPERCASE");r(J,re)},$$slots:{default:!0}}),v(S);var j=l(S,2),N=c(j);ie(N,{type:"number",autocomplete:"off",width:t,get value(){return e(u).include_digits},set value(J){e(u).include_digits=J},get error(){return e(I).include_digits},set error(J){e(I).include_digits=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("INCLUDE DIGITS");r(J,re)},$$slots:{default:!0}});var V=l(N,2);ie(V,{type:"number",autocomplete:"off",width:t,get value(){return e(u).include_special},set value(J){e(u).include_special=J},get error(){return e(I).include_special},set error(J){e(I).include_special=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("INCLUDE SPECIAL");r(J,re)},$$slots:{default:!0}}),v(j);var R=l(j,4),F=c(R);ie(F,{type:"number",autocomplete:"off",width:t,get value(){return e(u).not_recently_used},set value(J){e(u).not_recently_used=J},get error(){return e(I).not_recently_used},set error(J){e(I).not_recently_used=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("NOT RECENTLY USED");r(J,re)},$$slots:{default:!0}});var z=l(F,2);ie(z,{type:"number",autocomplete:"off",width:t,get value(){return e(u).valid_days},set value(J){e(u).valid_days=J},get error(){return e(I).valid_days},set error(J){e(I).valid_days=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("VALID FOR DAYS");r(J,re)},$$slots:{default:!0}}),v(R);var O=l(R,2);Se(O,{level:1,width:"4rem",get isLoading(){return e(d)},set isLoading(J){a(d,n(J))},$$events:{click:$},children:(J,Z)=>{q();var re=B("SAVE");r(J,re)},$$slots:{default:!0}});var U=l(O,2);{var Q=J=>{var Z=wd();r(J,Z)};P(U,J=>{e(g)&&J(Q)})}var M=l(U,2);{var W=J=>{var Z=bd(),re=c(Z,!0);v(Z),K(()=>Y(re,e(i))),r(J,Z)};P(M,J=>{e(i)&&J(W)})}r(y,w)};P(k,y=>{e(u)&&y(h)})}v(T),r(_,T),ne()}var xd=A('<div class="details svelte-2yt27i"><div class="detailsInner svelte-2yt27i"><textarea class="font-mono text svelte-2yt27i"></textarea></div></div>'),Ed=A('<div role="none" class="cert svelte-2yt27i"><div class="data font-mono svelte-2yt27i"> </div> <div class="data right svelte-2yt27i"> </div> <!></div>');function Id(_,s){le(s,!0);let t=C(!1);function d(){if(s.jwk.kty==="OKP")return s.jwk.crv;if(s.jwk.kty==="RSA"){let $;const m=s.jwk.n.length;return m>600?$=4096:m>400?$=3072:$=2048,`RSA ${$}`}return"unknown type"}var i=Ed(),g=c(i),f=c(g,!0);v(g);var u=l(g,2),I=c(u,!0);K(()=>Y(I,d())),v(u);var E=l(u,2);{var o=$=>{var m=xd(),T=c(m),k=c(T);oa(k),ue(k,"rows",10),ue(k,"cols",40),K(()=>Gs(k,JSON.stringify(s.jwk,null,2))),v(T),v(m),K(()=>ue(k,"name",s.jwk.kid)),ce(7,m,()=>pt),r($,m)};P(E,$=>{e(t)&&$(o)})}v(i),K(()=>Y(f,s.jwk.kid)),Me("mouseenter",i,()=>a(t,!0)),Me("mouseleave",i,()=>a(t,!1)),r(_,i),ne()}var Sd=A('<div class="success svelte-a4xw46">Success</div>'),Cd=A('<div class="err svelte-a4xw46"> </div>'),Ad=A(`<div class="wrapper svelte-a4xw46"><div class="desc svelte-a4xw46"><h3>Json Web Keys</h3> <p>These are the Json Web Keys (JWKs) used for token singing.</p> <p>You can rotate them and generate a full new set. Depending on your deployment, this could take a few
+                dataset.<br> Manually migrate all existing encryption in the backend to key:</p> <!></div></div> <div class="btn svelte-3rk97c"><!></div> <!> <!></div>`);function yd(_,s){le(s,!0);let t=C(""),d=C(!0),i=C(""),g=C(""),f=C(n([])),u=C(!1);Ne(async()=>{I()});async function I(){let N=await kr(),V=await N.json();N.ok?(a(i,n(V.active)),a(g,n(V.active)),a(f,n(V.keys))):a(t,n(V.message)),a(d,!1)}async function E(){a(d,!0),a(u,!1);let N={key_id:e(g)},V=await xr(N);if(V.ok)a(u,!0);else{let R=await V.json();a(t,n(R.message))}a(d,!1)}var o=fd(),$=c(o),m=l(c($),6),T=l(c(m),2),k=c(T,!0);v(T),v(m);var h=l(m,2),y=l(c(h),2);oe(y,"margin-left","-10px"),We(y,21,()=>e(f),yt,(N,V)=>{var R=pd(),F=c(R,!0);v(R),K(()=>Y(F,e(V))),r(N,R)}),v(y),v(h);var w=l(h,2),b=l(c(w),2);kt(b,{get options(){return e(f)},width:"186px",get value(){return e(g)},set value(N){a(g,n(N))}}),v(w),v($);var x=l($,2),p=c(x);Se(p,{get isLoading(){return e(d)},set isLoading(N){a(d,n(N))},$$events:{click:E},children:(N,V)=>{q();var R=B("MIGRATE");r(N,R)},$$slots:{default:!0}}),v(x);var S=l(x,2);{var L=N=>{var V=md(),R=c(V,!0);v(V),K(()=>Y(R,e(t))),r(N,V)};P(S,N=>{e(t)&&N(L)})}var D=l(S,2);{var j=N=>{var V=gd();r(N,V)};P(D,N=>{e(u)&&N(j)})}v(o),K(()=>Y(k,e(i))),r(_,o),ne()}var wd=A('<div class="success svelte-10h0sak">Success</div>'),bd=A('<div class="err svelte-10h0sak"> </div>'),$d=A('<div class="row svelte-10h0sak"><!> <!></div> <div class="row svelte-10h0sak"><!> <!></div> <div class="row svelte-10h0sak"><!> <!></div> <div class="desc svelte-10h0sak"><p>Validity for a new password.<br> Not Recently Used denied the last n used passwords.<br> Setting no value at all with disable the given option.</p></div> <div class="row svelte-10h0sak"><!> <!></div> <!> <!> <!>',1),_d=A('<div class="wrapper svelte-10h0sak"><div class="desc svelte-10h0sak"><h3>Password Policy</h3> <p>Configure the password policy.<br> The policy is being applied to all passwords being set from this moment on.</p></div> <!></div>');function kd(_,s){le(s,!0);const t="160px";let d=C(!1),i=C(""),g=C(!1),f=C(void 0),u=C(void 0),I=C(n({}));const E=He().shape({length_min:wt().required("Min Length is required").min(8,"Cannot be lower than 8").max(128,"Cannot be higher than 128"),length_max:wt().required("Max Length is required").min(8,"Cannot be lower than 8").max(128,"Cannot be higher than 128"),not_recently_used:wt().nullable().min(0,"Cannot be lower than 0").max(10,"Cannot be higher than 10"),valid_days:wt().nullable().min(0,"Cannot be lower than 0").max(3650,"Cannot be higher than 3650"),include_digits:wt().nullable().min(0,"Cannot be lower than 0").max(32,"Cannot be higher than 32"),include_lower_case:wt().nullable().min(0,"Cannot be lower than 0").max(32,"Cannot be higher than 32"),include_upper_case:wt().nullable().min(0,"Cannot be lower than 0").max(32,"Cannot be higher than 32"),include_special:wt().nullable().min(0,"Cannot be lower than 0").max(32,"Cannot be higher than 32")});Te(()=>{e(g)&&a(f,n(setTimeout(()=>{a(g,!1)},3e3)))}),Ne(async()=>{if(!e(u)){let y=await ja(),w=await y.json();y.ok?(a(u,n(w)),e(u).length_min=w.length_min||0,e(u).length_max=w.length_max||0,e(u).include_digits=w.include_digits||0,e(u).include_lower_case=w.include_lower_case||0,e(u).include_upper_case=w.include_upper_case||0,e(u).include_special=w.include_special||0,e(u).length_max=w.length_max||0,e(u).valid_days=w.valid_days||0,e(u).not_recently_used=w.not_recently_used||0):a(i,n(w.message))}});function o(y){y.code==="Enter"&&$()}async function $(){if(!await m())return;a(i,""),a(d,!0);let y=e(u);y.not_recently_used===0&&(y.not_recently_used=null),y.valid_days===0&&(y.valid_days=null),y.include_digits===0&&(y.include_digits=null),y.include_lower_case===0&&(y.include_lower_case=null),y.include_upper_case===0&&(y.include_upper_case=null),y.include_special===0&&(y.include_special=null);let w=await Lr(y);if(w.ok)a(g,!0);else{let b=await w.json();a(i,n(b.message))}a(d,!1)}async function m(){try{return a(I,n({})),await E.validate(e(u),{abortEarly:!1}),e(u).length_min=Number.parseInt(e(u).length_min),e(u).length_max=Number.parseInt(e(u).length_max),e(u).include_digits=Number.parseInt(e(u).include_digits),e(u).include_lower_case=Number.parseInt(e(u).include_lower_case),e(u).include_upper_case=Number.parseInt(e(u).include_upper_case),e(u).include_special=Number.parseInt(e(u).include_special),e(u).length_max=Number.parseInt(e(u).length_max),e(u).valid_days=Number.parseInt(e(u).valid_days),e(u).not_recently_used=Number.parseInt(e(u).not_recently_used),e(u).length_max<e(u).length_min?(e(I).length_max="Max Length cannot be lower than Min Length",!1):e(u).include_digits+e(u).include_lower_case+e(u).include_upper_case+e(u).include_special>e(u).length_max?(e(I).length_max="The sum of all includes does not fit into Max Length",!1):!0}catch(y){return a(I,n(Ye(y))),!1}}var T=_d(),k=l(c(T),2);{var h=y=>{var w=$d(),b=ee(w),x=c(b);ie(x,{type:"number",autocomplete:"off",width:t,get value(){return e(u).length_min},set value(J){e(u).length_min=J},get error(){return e(I).length_min},set error(J){e(I).length_min=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("MIN LENGTH");r(J,re)},$$slots:{default:!0}});var p=l(x,2);ie(p,{type:"number",autocomplete:"off",width:t,get value(){return e(u).length_max},set value(J){e(u).length_max=J},get error(){return e(I).length_max},set error(J){e(I).length_max=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("MAX LENGTH");r(J,re)},$$slots:{default:!0}}),v(b);var S=l(b,2),L=c(S);ie(L,{type:"number",autocomplete:"off",width:t,get value(){return e(u).include_lower_case},set value(J){e(u).include_lower_case=J},get error(){return e(I).include_lower_case},set error(J){e(I).include_lower_case=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("INCLUDE LOWERCASE");r(J,re)},$$slots:{default:!0}});var D=l(L,2);ie(D,{type:"number",autocomplete:"off",width:t,get value(){return e(u).include_upper_case},set value(J){e(u).include_upper_case=J},get error(){return e(I).include_upper_case},set error(J){e(I).include_upper_case=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("INCLUDE UPPERCASE");r(J,re)},$$slots:{default:!0}}),v(S);var j=l(S,2),N=c(j);ie(N,{type:"number",autocomplete:"off",width:t,get value(){return e(u).include_digits},set value(J){e(u).include_digits=J},get error(){return e(I).include_digits},set error(J){e(I).include_digits=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("INCLUDE DIGITS");r(J,re)},$$slots:{default:!0}});var V=l(N,2);ie(V,{type:"number",autocomplete:"off",width:t,get value(){return e(u).include_special},set value(J){e(u).include_special=J},get error(){return e(I).include_special},set error(J){e(I).include_special=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("INCLUDE SPECIAL");r(J,re)},$$slots:{default:!0}}),v(j);var R=l(j,4),F=c(R);ie(F,{type:"number",autocomplete:"off",width:t,get value(){return e(u).not_recently_used},set value(J){e(u).not_recently_used=J},get error(){return e(I).not_recently_used},set error(J){e(I).not_recently_used=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("NOT RECENTLY USED");r(J,re)},$$slots:{default:!0}});var z=l(F,2);ie(z,{type:"number",autocomplete:"off",width:t,get value(){return e(u).valid_days},set value(J){e(u).valid_days=J},get error(){return e(I).valid_days},set error(J){e(I).valid_days=J},$$events:{keypress:o,input:m},children:(J,Z)=>{q();var re=B("VALID FOR DAYS");r(J,re)},$$slots:{default:!0}}),v(R);var O=l(R,2);Se(O,{level:1,width:"4rem",get isLoading(){return e(d)},set isLoading(J){a(d,n(J))},$$events:{click:$},children:(J,Z)=>{q();var re=B("SAVE");r(J,re)},$$slots:{default:!0}});var U=l(O,2);{var Q=J=>{var Z=wd();r(J,Z)};P(U,J=>{e(g)&&J(Q)})}var M=l(U,2);{var W=J=>{var Z=bd(),re=c(Z,!0);v(Z),K(()=>Y(re,e(i))),r(J,Z)};P(M,J=>{e(i)&&J(W)})}r(y,w)};P(k,y=>{e(u)&&y(h)})}v(T),r(_,T),ne()}var xd=A('<div class="details svelte-2yt27i"><div class="detailsInner svelte-2yt27i"><textarea class="font-mono text svelte-2yt27i"></textarea></div></div>'),Ed=A('<div role="none" class="cert svelte-2yt27i"><div class="data font-mono svelte-2yt27i"> </div> <div class="data right svelte-2yt27i"> </div> <!></div>');function Id(_,s){le(s,!0);let t=C(!1);function d(){if(s.jwk.kty==="OKP")return s.jwk.crv;if(s.jwk.kty==="RSA"){let $;const m=s.jwk.n.length;return m>600?$=4096:m>400?$=3072:$=2048,`RSA ${$}`}return"unknown type"}var i=Ed(),g=c(i),f=c(g,!0);v(g);var u=l(g,2),I=c(u,!0);K(()=>Y(I,d())),v(u);var E=l(u,2);{var o=$=>{var m=xd(),T=c(m),k=c(T);pa(k),ue(k,"rows",10),ue(k,"cols",40),K(()=>Gs(k,JSON.stringify(s.jwk,null,2))),v(T),v(m),K(()=>ue(k,"name",s.jwk.kid)),ce(7,m,()=>ht),r($,m)};P(E,$=>{e(t)&&$(o)})}v(i),K(()=>Y(f,s.jwk.kid)),Me("mouseenter",i,()=>a(t,!0)),Me("mouseleave",i,()=>a(t,!1)),r(_,i),ne()}var Sd=A('<div class="success svelte-a4xw46">Success</div>'),Cd=A('<div class="err svelte-a4xw46"> </div>'),Ad=A(`<div class="wrapper svelte-a4xw46"><div class="desc svelte-a4xw46"><h3>Json Web Keys</h3> <p>These are the Json Web Keys (JWKs) used for token singing.</p> <p>You can rotate them and generate a full new set. Depending on your deployment, this could take a few
             seconds.<br> New tokens will always be signed with the new / latest ones. The old keys will be cleaned up automatically,
             when
             there cannot be a token anymore that used the old key to not
             break any current token validation.</p></div> <!> <!> <!> <!></div>`);function Td(_,s){le(s,!0);let t=C(n([])),d=C(!1),i=C(""),g=C(!1),f=C(void 0);Te(()=>{e(g)&&a(f,n(setTimeout(()=>{a(g,!1)},3e3)))}),Ne(()=>{e(t).length===0&&u()});async function u(){let y=await cr(),w=await y.json();y.ok?a(t,n([...w.keys])):a(i,n(w.message))}async function I(){a(i,""),a(d,!0);let y=await Ur();if(y.ok)u(),a(g,!0);else{let w=await y.json();a(i,n(w.message))}a(d,!1)}var E=Ad(),o=l(c(E),2);We(o,19,()=>e(t),y=>y.kid,(y,w,b)=>{Id(y,{get jwk(){return e(t)[e(b)]},set jwk(x){e(t)[e(b)]=x}})});var $=l(o,2);Se($,{level:1,get isLoading(){return e(d)},set isLoading(y){a(d,n(y))},$$events:{click:I},children:(y,w)=>{q();var b=B("ROTATE KEYS");r(y,b)},$$slots:{default:!0}});var m=l($,2);{var T=y=>{var w=Sd();r(y,w)};P(m,y=>{e(g)&&y(T)})}var k=l(m,2);{var h=y=>{var w=Cd(),b=c(w,!0);v(w),K(()=>Y(b,e(i))),r(y,w)};P(k,y=>{e(i)&&y(h)})}v(E),r(_,E),ne()}var Ld=A('<div class="content"><div class="container svelte-5h65jg"><!> <!></div></div>');function Nd(_){const s=["Password Policy","JWKS","Argon2 Parameter","Encryption Keys"];let t=C(n(s[0]));var d=Ld(),i=c(d),g=c(i);Dt(g,{labels:s,get selected(){return e(t)},set selected(E){a(t,n(E))}});var f=l(g,2);{var u=E=>{kd(E,{})},I=E=>{var o=me(),$=ee(o);{var m=k=>{Td(k,{})},T=k=>{var h=me(),y=ee(h);{var w=x=>{hd(x,{})},b=x=>{var p=me(),S=ee(p);{var L=D=>{yd(D,{})};P(S,D=>{e(t)==="Encryption Keys"&&D(L)},!0)}r(x,p)};P(y,x=>{e(t)==="Argon2 Parameter"?x(w):x(b,!1)},!0)}r(k,h)};P($,k=>{e(t)==="JWKS"?k(m):k(T,!1)},!0)}r(E,o)};P(f,E=>{e(t)==="Password Policy"?E(u):E(I,!1)})}v(i),v(d),r(_,d)}var Rd=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M11.42 15.17L17.25 21A2.652 2.652 0 0021 17.25l-5.877-5.877M11.42 15.17l2.496-3.03c.317-.384.74-.626 1.208-.766M11.42 15.17l-4.655 5.653a2.548 2.548 0 11-3.586-3.586l6.837-5.63m5.108-.233c.55-.164 1.163-.188 1.743-.14a4.5 4.5 0 004.486-6.336l-3.276 3.277a3.004 3.004 0 01-2.25-2.25l3.276-3.276a4.5 4.5 0 00-6.336 4.486c.091 1.076-.071 2.264-.904 2.95l-.102.085m-1.745 1.437L5.909 7.5H4.5L2.25 3.75l1.5-1.5L7.5 4.5v1.409l4.26 4.26m-1.745 1.437l1.745-1.437m6.615 8.206L15.75 15.75M4.867 19.125h.008v.008h-.008v-.008z"></path></svg>');function Dd(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=Rd();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var jd=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M15.75 6a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0zM4.501 20.118a7.5 7.5 0 0114.998 0A17.933 17.933 0 0112 21.75c-2.676 0-5.216-.584-7.499-1.632z"></path></svg>');function Pd(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=jd();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var zd=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 21h16.5M4.5 3h15M5.25 3v18m13.5-18v18M9 6.75h1.5m-1.5 3h1.5m-1.5 3h1.5m3-6H15m-1.5 3H15m-1.5 3H15M9 21v-3.375c0-.621.504-1.125 1.125-1.125h3.75c.621 0 1.125.504 1.125 1.125V21"></path></svg>');function Od(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=zd();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var Md=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M15 19.128a9.38 9.38 0 002.625.372 9.337 9.337 0 004.121-.952 4.125 4.125 0 00-7.533-2.493M15 19.128v-.003c0-1.113-.285-2.16-.786-3.07M15 19.128v.106A12.318 12.318 0 018.624 21c-2.331 0-4.512-.645-6.374-1.766l-.001-.109a6.375 6.375 0 0111.964-3.07M12 6.375a3.375 3.375 0 11-6.75 0 3.375 3.375 0 016.75 0zm8.25 2.25a2.625 2.625 0 11-5.25 0 2.625 2.625 0 015.25 0z"></path></svg>');function Ud(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=Md();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var qd=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"></path></svg>');function Gd(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=qd();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var Wd=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z"></path></svg>');function os(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=Wd();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var Kd=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M15.75 9V5.25A2.25 2.25 0 0013.5 3h-6a2.25 2.25 0 00-2.25 2.25v13.5A2.25 2.25 0 007.5 21h6a2.25 2.25 0 002.25-2.25V15M12 9l-3 3m0 0l3 3m-3-3h12.75"></path></svg>');function Fd(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=Kd();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var Vd=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M15 9h3.75M15 12h3.75M15 15h3.75M4.5 19.5h15a2.25 2.25 0 002.25-2.25V6.75A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25v10.5A2.25 2.25 0 004.5 19.5zm6-10.125a1.875 1.875 0 11-3.75 0 1.875 1.875 0 013.75 0zm1.294 6.336a6.721 6.721 0 01-3.17.789 6.721 6.721 0 01-3.168-.789 3.376 3.376 0 016.338 0z"></path></svg>');function Bd(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=Vd();ue(i,"stroke-width",1.5),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var Jd=Xe(`<svg width="100%" height="100%" viewBox="0 0 512 138" version="1.1" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:1.5;"><g transform="matrix(1,0,0,1,0,-11)"><g transform="matrix(1,0,0,1,0,-176)"><g transform="matrix(0.920325,0,0,1.84151,45.9279,26.459)"><rect x="27.741" y="151.57" width="200.517" height="10.148" style="fill:rgb(4,7,11);"></rect></g><g transform="matrix(1.93472,0,0,1.82732,8.35618,28.7533)"><rect x="33.307" y="97.15" width="94.693" height="54.42" style="fill:rgb(4,7,11);stroke:rgb(4,7,11);stroke-width:1.06px;"></rect></g><g transform="matrix(1.82732,0,0,1.82732,-160.822,70.1806)"><g transform="matrix(72,0,0,72,227.174,123.417)"></g><text x="128.982px" y="123.417px" style="font-family:'Calibri-Bold', 'Calibri', sans-serif;font-weight:700;font-size:72px;fill:white;">r<tspan x="152.994px 188.537px " y="123.417px 123.417px ">au</tspan></text></g><g transform="matrix(1,0,0,1.01617,-1.42109e-14,-5.24492)"><path d="M440.936,322.643L439.204,324.266L255.482,324.266L255.482,305.721L440.936,305.721L440.936,322.643Z" style="fill:url(#_Linear1);"></path></g><g transform="matrix(0.920191,0,0,1.84121,46.2464,-91.3383)"><rect x="27.741" y="151.57" width="200.517" height="10.148" style="fill:url(#_Linear2);"></rect></g><g transform="matrix(1.97598,0,0,1.84619,190.187,26.062)"><rect x="33.307" y="97.15" width="94.693" height="54.42" style="fill:rgb(43,65,107);"></rect></g><path d="M439.204,187.734L440.557,189.007L440.557,206.279L256,206.279L256,187.734L439.204,187.734Z" style="fill:rgb(43,65,107);"></path><g transform="matrix(1.82732,0,0,1.82732,-154.661,70.1806)"><g transform="matrix(72,0,0,72,323.045,123.417)"></g><text x="226.646px" y="123.417px" style="font-family:'Calibri-Bold', 'Calibri', sans-serif;font-weight:700;font-size:72px;fill:white;">th<tspan x="288.943px " y="123.417px ">y</tspan></text></g><g transform="matrix(2,0,0,2,0,0)"><path d="M219.602,93.867L256,128L219.602,162.133L219.602,93.867Z" style="fill:rgb(43,65,107);"></path></g><g transform="matrix(2,0,0,1.95739,0,3.99997)"><path d="M36.398,93.867L0,93.867L35.908,128.524L0,163.619L36.398,163.619" style="fill:rgb(4,7,11);"></path></g></g></g><defs><linearGradient id="_Linear1" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(185.454,0,0,18.5443,255.482,314.994)"><stop offset="0" style="stop-color:rgb(4,7,11);stop-opacity:1"></stop><stop offset="1" style="stop-color:rgb(43,65,107);stop-opacity:1"></stop></linearGradient><linearGradient id="_Linear2" x1="0" y1="0" x2="1" y2="0" gradientUnits="userSpaceOnUse" gradientTransform="matrix(200.517,0,0,10.1483,27.7414,156.645)"><stop offset="0" style="stop-color:rgb(4,7,11);stop-opacity:1"></stop><stop offset="1" style="stop-color:rgb(43,65,107);stop-opacity:1"></stop></linearGradient></defs></svg>`);function Yd(_){var s=Jd();r(_,s)}var Hd=A(`<div class="content"><div class="container svelte-x4sug2"><h2>Documentation</h2> <p class="svelte-x4sug2">For general documentation about Rauthy itself, you should take a look at the <a href="https://sebadob.github.io/rauthy/" target="_blank" class="svelte-x4sug2">Rauthy Book</a></p> <p class="svelte-x4sug2">If you want to integrate an external application and use Rauthy's REST API, take a look at the <a href="/docs/v1/swagger-ui/" target="_blank" class="svelte-x4sug2">Swagger UI</a><br> <b>Note:</b> Depending on the backend configuration, the Swagger UI may not be exposed publicly at this point.
-            It is however by default available via the internal <code>/metrics</code> HTTP server to not expose any information.</p> <p class="svelte-x4sug2">The source code can be found in <a href="https://github.com/sebadob/rauthy" target="_blank" class="svelte-x4sug2">Github</a></p></div></div>`);function Xd(_){var s=Hd();r(_,s)}var Zd=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 6.042A8.967 8.967 0 006 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 016 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 016-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0018 18a8.967 8.967 0 00-6 2.292m0-14.25v14.25"></path></svg>');function Qd(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=Zd();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var ec=A('<div class="col-typ svelte-a54rx3"> </div> <div class="col-ip svelte-a54rx3"> </div> <div class="col-text svelte-a54rx3"> </div>',1),tc=A('<div class="col-typ svelte-a54rx3"> </div> <div class="col-ip svelte-a54rx3"> </div>',1),ac=A('<div class="col-typ svelte-a54rx3"> </div> <div class="col-ip svelte-a54rx3"> </div>',1),sc=A('<div class="col-typ svelte-a54rx3"> </div> <div class="col-ip svelte-a54rx3"> </div> <div class="col-text svelte-a54rx3"><!></div>',1),rc=A('<div class="col-typ svelte-a54rx3"> </div> <div class="col-ip svelte-a54rx3"> </div> <div class="col-text svelte-a54rx3"> </div>',1),ic=A('<div class="col-typ svelte-a54rx3"> </div> <div class="col-ip svelte-a54rx3"></div> <div class="col-text svelte-a54rx3"> </div>',1),lc=A('<div class="col-typ svelte-a54rx3"> </div>'),nc=A('<div class="row svelte-a54rx3"><div class="col-ts svelte-a54rx3"> </div> <!></div>'),oc=A(" <br>",1),vc=A("<br> <!> ",1),dc=A(" <br> ",1),cc=A("<br> <br> <!>",1),uc=A("<br> <br> ",1),hc=A("<br> ",1),pc=A(" <br> <!>",1),mc=A('<div role="contentinfo"><!></div>');function vs(_,s){le(s,!0);let t=G(s,"collapsed",3,!0),d=C("event"),i=C(!1),g=Ke(()=>!t()&&!s.wide),f=Ke(()=>t()&&!s.wide&&!e(i)),u=Ke(()=>!t()&&s.wide),I=Ke(()=>e(f)?".5rem":".33rem");Ne(()=>{new Date().getTime()-1e3*30<s.event.timestamp&&(setTimeout(()=>{a(d,"eventNew")},100),setTimeout(()=>{a(d,"event")},2500))});function E(){switch(s.event.level){case"test":return"T";case"info":return"I";case"notice":return"N";case"warning":return"W";case"critical":return"C";default:return"U"}}function o(){return ht(s.event.timestamp/1e3)}var $=mc();const m=Ke(()=>`${e(I)} solid ${Gt(s.event.level)}`);var T=c($);{var k=y=>{var w=nc(),b=c(w),x=c(b,!0);K(()=>Y(x,o())),v(b);var p=l(b,2);{var S=D=>{var j=ec(),N=ee(j),V=c(N,!0);v(N);var R=l(N,2),F=c(R,!0);v(R);var z=l(R,2),O=c(z,!0);v(z),K(()=>{Y(V,s.event.typ),Y(F,s.event.ip),Y(O,s.event.text)}),r(D,j)},L=D=>{var j=me(),N=ee(j);{var V=F=>{var z=tc(),O=ee(z),U=c(O,!0);v(O);var Q=l(O,2),M=c(Q,!0);v(Q),K(()=>{Y(U,`${s.event.typ}: ${s.event.data}`),Y(M,s.event.ip)}),r(F,z)},R=F=>{var z=me(),O=ee(z);{var U=M=>{var W=ac(),J=ee(W),Z=c(J,!0);v(J);var re=l(J,2),ve=c(re,!0);v(re),K(()=>{Y(Z,s.event.typ),Y(ve,s.event.ip||"")}),r(M,W)},Q=M=>{var W=me(),J=ee(W);{var Z=ve=>{var be=sc(),$e=ee(be),pe=c($e,!0);v($e);var je=l($e,2),fe=c(je,!0);v(je);var de=l(je,2),ye=c(de);Wa(ye,()=>s.event.text.replace("@","<wbr/>@")),v(de),K(()=>{Y(pe,s.event.typ),Y(fe,s.event.ip||"")}),r(ve,be)},re=ve=>{var be=me(),$e=ee(be);{var pe=fe=>{var de=rc(),ye=ee(de),we=c(ye,!0);v(ye);var Pe=l(ye,2),Ce=c(Pe,!0);v(Pe);var xe=l(Pe,2),Re=c(xe,!0);K(()=>Y(Re,`Expires: ${ht(s.event.data)}`)),v(xe),K(()=>{Y(we,s.event.typ),Y(Ce,s.event.ip)}),r(fe,de)},je=fe=>{var de=me(),ye=ee(de);{var we=Ce=>{var xe=ic(),Re=ee(xe),H=c(Re,!0);v(Re);var Ie=l(Re,4),ge=c(Ie,!0);v(Ie),K(()=>{Y(H,s.event.typ),Y(ge,s.event.text)}),r(Ce,xe)},Pe=Ce=>{var xe=lc(),Re=c(xe,!0);v(xe),K(()=>Y(Re,s.event.typ)),r(Ce,xe)};P(ye,Ce=>{s.event.typ==="RauthyStarted"||s.event.typ==="RauthyHealthy"||s.event.typ==="RauthyUnhealthy"?Ce(we):Ce(Pe,!1)},!0)}r(fe,de)};P($e,fe=>{s.event.typ==="IpBlacklisted"?fe(pe):fe(je,!1)},!0)}r(ve,be)};P(J,ve=>{s.event.typ==="NewRauthyAdmin"||s.event.typ==="NewUserRegistered"||s.event.typ==="UserPasswordReset"||s.event.typ==="UserEmailChange"?ve(Z):ve(re,!1)},!0)}r(M,W)};P(O,M=>{s.event.typ==="SecretsMigrated"?M(U):M(Q,!1)},!0)}r(F,z)};P(N,F=>{s.event.typ==="InvalidLogins"?F(V):F(R,!1)},!0)}r(D,j)};P(p,D=>{s.event.typ==="Test"?D(S):D(L,!1)})}v(w),r(y,w)},h=y=>{var w=me(),b=ee(w);{var x=S=>{var L=pc(),D=ee(L,!0);K(()=>Y(D,o()));var j=l(D,2),N=l(j);{var V=F=>{var z=vc(),O=l(ee(z),2);{var U=M=>{var W=oc(),J=ee(W);q(),K(()=>Y(J,`${s.event.text??""} `)),r(M,W)};P(O,M=>{s.event.text&&M(U)})}var Q=l(O);K(()=>Y(Q,` ${s.event.ip??""}`)),r(F,z)},R=F=>{var z=me(),O=ee(z);{var U=M=>{var W=dc(),J=ee(W,!0),Z=l(J,2);K(()=>{Y(J,`: ${s.event.data}`),Y(Z,` ${s.event.ip??""}`)}),r(M,W)},Q=M=>{var W=me(),J=ee(W);{var Z=ve=>{var be=B();K(()=>Y(be,s.event.ip)),r(ve,be)},re=ve=>{var be=me(),$e=ee(be);{var pe=fe=>{var de=cc(),ye=l(ee(de)),we=l(ye,3);Wa(we,()=>s.event.text.replace("@","<wbr/>@")),K(()=>Y(ye,` ${(s.event.ip||"")??""} `)),r(fe,de)},je=fe=>{var de=me(),ye=ee(de);{var we=Ce=>{var xe=uc(),Re=l(ee(xe)),H=l(Re,2);K(()=>Y(H,` ${ht(s.event.data)??""}`)),K(()=>Y(Re,` ${s.event.ip??""} `)),r(Ce,xe)},Pe=Ce=>{var xe=me(),Re=ee(xe);{var H=Ie=>{var ge=hc(),Ue=l(ee(ge));K(()=>Y(Ue,` ${s.event.text??""}`)),r(Ie,ge)};P(Re,Ie=>{(s.event.typ==="RauthyStarted"||s.event.typ==="RauthyHealthy"||s.event.typ==="RauthyUnhealthy")&&Ie(H)},!0)}r(Ce,xe)};P(ye,Ce=>{s.event.typ==="IpBlacklisted"?Ce(we):Ce(Pe,!1)},!0)}r(fe,de)};P($e,fe=>{s.event.typ==="NewRauthyAdmin"||s.event.typ==="NewUserRegistered"||s.event.typ==="UserPasswordReset"||s.event.typ==="UserEmailChange"?fe(pe):fe(je,!1)},!0)}r(ve,be)};P(J,ve=>{s.event.typ==="SecretsMigrated"?ve(Z):ve(re,!1)},!0)}r(M,W)};P(O,M=>{s.event.typ==="InvalidLogins"?M(U):M(Q,!1)},!0)}r(F,z)};P(N,F=>{s.event.typ==="Test"?F(V):F(R,!1)})}K(()=>Y(j,` ${s.event.typ??""} `)),r(S,L)},p=S=>{var L=B();K(()=>Y(L,E())),r(S,L)};P(b,S=>{e(g)?S(x):S(p,!1)},!0)}r(y,w)};P(T,y=>{e(u)?y(k):y(h,!1)})}v($),K(()=>{Nt($,Rt(e(d)),"svelte-a54rx3"),Et($,"showCollapsed",e(f)),oe($,"border-left",e(m))}),Me("mouseenter",$,()=>a(i,!0)),Me("mouseleave",$,()=>a(i,!1)),r(_,$),ne()}var gc=A("<div><div><b>Legend</b></div> <div><div>TEST</div> <div>INFO</div> <div>NOTICE</div> <div>WARNING</div> <div>CRITICAL</div></div></div>");function fc(_,s){le(s,!0);var t=gc(),d=c(t),i=l(d,2),g=c(i);const f=Ke(()=>`.33rem solid ${Gt("test")}`);var u=l(g,2);const I=Ke(()=>`.33rem solid ${Gt("info")}`);var E=l(u,2);const o=Ke(()=>`.33rem solid ${Gt("notice")}`);var $=l(E,2);const m=Ke(()=>`.33rem solid ${Gt("warning")}`);var T=l($,2);const k=Ke(()=>`.33rem solid ${Gt("critical")}`);v(i),v(t),K(()=>{Nt(d,Rt(s.wide?" legendEntryWide":"legendEntry"),"svelte-1imwz5t"),oe(d,"border-left",".33rem solid var(--col-bg)"),Nt(i,Rt(s.wide?"legendWide":"legend"),"svelte-1imwz5t"),Nt(g,Rt(s.wide?" legendEntryWide":"legendEntry"),"svelte-1imwz5t"),oe(g,"border-left",e(f)),Nt(u,Rt(s.wide?" legendEntryWide":"legendEntry"),"svelte-1imwz5t"),oe(u,"border-left",e(I)),Nt(E,Rt(s.wide?" legendEntryWide":"legendEntry"),"svelte-1imwz5t"),oe(E,"border-left",e(o)),Nt($,Rt(s.wide?" legendEntryWide":"legendEntry"),"svelte-1imwz5t"),oe($,"border-left",e(m)),Nt(T,Rt(s.wide?" legendEntryWide":"legendEntry"),"svelte-1imwz5t"),oe(T,"border-left",e(k))}),r(_,t),ne()}var yc=A('<div class="headerWideInner svelte-1ymfjrj"><b>Events</b> <!></div>'),wc=A("<b>Events</b>"),bc=A("<!> <!>",1),$c=A('<div class="opts svelte-1ymfjrj"><!></div>'),_c=A('<div role="contentinfo" id="events" class="svelte-1ymfjrj"><div class="upper"><div class="header svelte-1ymfjrj"><!></div> <!> <div></div></div> <!></div>');function kc(_,s){le(s,!0);let t=G(s,"collapsed",3,!0),d=G(s,"wide",15),i=50,g=C(void 0),f=C(n([])),u=C(n([])),I=C(void 0),E=C(!1);Ne(async()=>{a(I,n(await o()))});async function o(){return localStorage.getItem("eventLevel")||"Info"}async function $(R){localStorage.setItem("eventLevel",R)}async function m(){await Ps()}function T(){var R;console.log("opening SSE stream"),a(g,n(new EventSource(`/auth/v1/events/stream?latest=${i}&level=${((R=e(I))==null?void 0:R.toLowerCase())||"info"}`))),e(g).onopen=()=>{console.log("SSE Events Stream opened"),a(f,n([]))},e(g).onerror=()=>{console.error("SSE Events Stream closed")},e(g).onmessage=F=>{if(F.data){let z=JSON.parse(F.data);a(f,n([z,...e(f).slice(-499)]))}}}let k=Ke(()=>!t()&&!d()||e(E)),h=Ke(()=>t()&&!d()&&!e(E)),y=Ke(()=>!t()&&d());Te(()=>{if(e(f))switch(e(I)){case"Info":a(u,n(e(f)));break;case"Notice":a(u,n(e(f).filter(R=>R.typ==="Test"||R.level==="notice"||R.level==="warning"||R.level==="critical")));break;case"Warning":a(u,n(e(f).filter(R=>R.typ==="Test"||R.level==="warning"||R.level==="critical")));break;case"Critical":a(u,n(e(f).filter(R=>R.typ==="Test"||R.level==="critical")));break}}),Te(()=>{e(I)&&($(e(I)),e(g)&&e(g).readyState!==2&&e(g).close(),T())});var w=_c(),b=c(w),x=c(b),p=c(x);{var S=R=>{var F=bc(),z=ee(F);{var O=M=>{var W=yc(),J=l(c(W),2);kt(J,{options:ca,get value(){return e(I)},set value(Z){a(I,n(Z))}}),v(W),r(M,W)},U=M=>{var W=wc();r(M,W)};P(z,M=>{e(y)?M(O):M(U,!1)})}var Q=l(z,2);Se(Q,{level:3,$$events:{click:m},children:(M,W)=>{q();var J=B("TEST");r(M,J)},$$slots:{default:!0}}),r(R,F)};P(p,R=>{e(h)||R(S)})}v(x);var L=l(x,2);{var D=R=>{var F=$c(),z=c(F);kt(z,{options:ca,get value(){return e(I)},set value(O){a(I,n(O))}}),v(F),r(R,F)};P(L,R=>{e(y)||R(D)})}var j=l(L,2);We(j,23,()=>e(u),R=>R.id,(R,F,z)=>{var O=Ke(()=>t()&&!e(E));vs(R,{get collapsed(){return e(O)},get event(){return e(u)[e(z)]},set event(U){e(u)[e(z)]=U},get wide(){return d()},set wide(U){d(U)}})}),v(j),v(b);var N=l(b,2);{var V=R=>{fc(R,{get wide(){return d()},set wide(F){d(F)}})};P(N,R=>{(!t()||e(E))&&R(V)})}v(w),K(()=>{Et(w,"widthDefault",e(k)),Et(w,"widthCollapsed",e(h)),Et(w,"widthWide",e(y)),Nt(j,Rt(e(y)?"dataWide":e(h)?"dataCollapsed":"data"),"svelte-1ymfjrj")}),Me("mouseenter",w,()=>a(E,!0)),Me("mouseleave",w,()=>a(E,!1)),r(_,w),ne()}var xc=A('<div class="addNewInputs svelte-1a7hztb"><!> <!> <div class="saveBtn svelte-1a7hztb"><!></div> <div class="err svelte-1a7hztb"> </div></div>'),Ec=A('<div class="svelte-1a7hztb">No blacklisted IPs</div>'),Ic=(_,s,t)=>s(e(t).ip),Sc=A('<div role="button" tabindex="0" class="delete svelte-1a7hztb"><!></div>'),Cc=A('<div class="blacklisted svelte-1a7hztb"><div class="ip svelte-1a7hztb"> </div> <div class="exp svelte-1a7hztb"> </div> <!></div>'),Ac=A(' <div class="content"><div class="top svelte-1a7hztb"><!> <div class="addNew svelte-1a7hztb"><!></div></div> <!> <div id="blacklist" class="svelte-1a7hztb"><!></div> <!> <div style="height: 20px"></div></div>',1);function Tc(_,s){le(s,!0);let t=C(""),d=C(""),i=C(n([])),g=C(n([])),f=C(n([])),u=C(!1),I=n({ip:"",exp:""}),E=C(n({}));const o=He().shape({ip:he().required("IP is required").matches(zs,"Invalid IPv4")}),$=new Date().toISOString().split(".")[0],m=[{label:"IP",callback:(M,W)=>M.ip.includes(W)}];let T=[{label:"IP",callback:(M,W)=>M.ip.localeCompare(W.ip)}];Te(()=>{e(u)&&(a(d,""),I.exp=new Date().toISOString().split(".")[0])}),Ne(()=>{k()});async function k(){let M=await si(),W=await M.json();M.ok?a(i,n(W.ips)):a(t,n(W.message))}async function h(){if(a(d,""),!await w())return;let M=Ot(I.exp);if(!M){a(d,"Invalid Date Input: User Expires");return}let W={ip:I.ip,exp:M},J=await ri(W);if(J.ok)a(u,!1),I.ip="",await k();else{let Z=await J.json();a(d,n(Z.message))}}async function y(M){(await ii(M)).ok&&await k()}async function w(){try{return await o.validate(I,{abortEarly:!1}),a(E,n({})),!0}catch(M){return a(E,n(Ye(M))),!1}}q();var b=Ac(),x=ee(b),p=l(x),S=c(p),L=c(S);Lt(L,{get items(){return e(i)},searchOptions:m,orderOptions:T,get resItems(){return e(g)},set resItems(M){a(g,n(M))}});var D=l(L,2),j=c(D);Se(j,{level:3,$$events:{click:()=>a(u,!e(u))},children:(M,W)=>{q();var J=B("BLACKLIST IP");r(M,J)},$$slots:{default:!0}}),v(D),v(S);var N=l(S,2);{var V=M=>{var W=xc(),J=c(W);ie(J,{width:"9.5rem",autocomplete:"off",placeholder:"IP",get value(){return I.ip},set value(pe){I.ip=pe},get error(){return e(E).ip},set error(pe){e(E).ip=pe},children:(pe,je)=>{q();var fe=B("IP");r(pe,fe)},$$slots:{default:!0}});var Z=l(J,2);ie(Z,{type:"datetime-local",step:"60",width:"18rem",min:$,max:"2099-01-01T00:00",get value(){return I.exp},set value(pe){I.exp=pe},children:(pe,je)=>{q();var fe=B("EXPIRES");r(pe,fe)},$$slots:{default:!0}});var re=l(Z,2),ve=c(re);Se(ve,{level:1,$$events:{click:h},children:(pe,je)=>{q();var fe=B("SAVE");r(pe,fe)},$$slots:{default:!0}}),v(re);var be=l(re,2),$e=c(be,!0);v(be),v(W),K(()=>Y($e,e(d))),ce(3,W,()=>_e),r(M,W)};P(N,M=>{e(u)&&M(V)})}var R=l(N,2),F=c(R);{var z=M=>{var W=Ec();r(M,W)},O=M=>{var W=me(),J=ee(W);We(J,17,()=>e(f),Z=>Z.ip,(Z,re)=>{var ve=Cc(),be=c(ve),$e=c(be,!0);v(be);var pe=l(be,2),je=c(pe,!0);K(()=>Y(je,ht(e(re).exp))),v(pe);var fe=l(pe,2);Ze(fe,{text:"Delete IP",children:(de,ye)=>{var we=Sc();we.__click=[Ic,y,re];var Pe=c(we);Qt(Pe,{color:"var(--col-err)"}),v(we),Me("keypress",we,()=>y(e(re).ip)),r(de,we)},$$slots:{default:!0}}),v(ve),K(()=>Y($e,e(re).ip)),r(Z,ve)}),r(M,W)};P(F,M=>{e(i).length===0?M(z):M(O,!1)})}v(R);var U=l(R,2);{var Q=M=>{jt(M,{get items(){return e(g)},set items(W){a(g,n(W))},get resItems(){return e(f)},set resItems(W){a(f,n(W))}})};P(U,M=>{e(i).length>0&&M(Q)})}q(2),v(p),K(()=>Y(x,`${e(t)??""} `)),r(_,b),ne()}ut(["click"]);var Lc=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M15.75 5.25a3 3 0 013 3m3 0a6 6 0 01-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1121.75 8.25z"></path></svg>');function Nc(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=Lc();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var Rc=A('<div role="button" tabindex="0" class="cell pointer svelte-lgl56a"> </div>'),Dc=A('<div class="cell svelte-lgl56a"><input class="pointer svelte-lgl56a" type="checkbox"></div>'),jc=A('<div class="mr svelte-lgl56a"><div role="button" tabindex="0" class="label pointer svelte-lgl56a"> </div> <!></div>'),Pc=A('<div class="matrix svelte-lgl56a"><b>Access Rights</b> <div class="mr svelte-lgl56a"><div class="label svelte-lgl56a"></div> <!></div> <!></div>');function ds(_,s){le(s,!0);let t=G(s,"accessMatrix",15);G(s,"finalize",15)(E);const d=["Blacklist","Clients","Events","Generic","Groups","Roles","Secrets","Sessions","Scopes","UserAttributes","Users"],i=["create","read","update","delete"];let g=new Array(d.length).fill(!1),f=new Array(i.length).fill(!1);Ne(()=>{var w;u(),(w=s.apiKey)!=null&&w.access&&I()});function u(){let w=new Array(d.length);for(let b=0;b<d.length;b++){w[b]={group:d[b]};for(let x of i)w[b][x]=!1}t(w)}function I(){for(let w of s.apiKey.access){let b=d.findIndex(x=>x===w.group);for(let x of w.access_rights){let p=i.findIndex(S=>S===x);t(t()[b][i[p]]=!0,!0)}}}function E(){let w=[];for(let b=0;b<d.length;b++){let x=[];for(let p of i)t()[b][p]&&x.push(p);x.length>0&&w.push({group:d[b],access_rights:x})}return w}function o(w){g[w]=!g[w];const b=g[w];let x=t()[w];for(let p=0;p<i.length;p++)for(let S of Object.keys(x))S!=="group"&&(x[S]=b);t(t()[w]=x,!0)}function $(w){f[w]=!f[w];const b=f[w];for(let x=0;x<d.length;x++)t(t()[x][i[w]]=b,!0)}var m=Pc(),T=l(c(m),2),k=l(c(T),2);We(k,17,()=>i,yt,(w,b,x)=>{var p=Rc(),S=Ke(()=>$.bind(this,x));p.__click=function(...j){var N;(N=e(S))==null||N.apply(this,j)};var L=Ke(()=>$.bind(this,x)),D=c(p,!0);v(p),K(()=>Y(D,i[x])),Me("keypress",p,function(...j){var N;(N=e(L))==null||N.apply(this,j)}),r(w,p)}),v(T);var h=l(T,2);{var y=w=>{var b=me(),x=ee(b);We(x,17,()=>d,yt,(p,S,L)=>{var D=jc(),j=c(D),N=Ke(()=>o.bind(this,L));j.__click=function(...z){var O;(O=e(N))==null||O.apply(this,z)};var V=Ke(()=>o.bind(this,L)),R=c(j,!0);v(j);var F=l(j,2);We(F,17,()=>i,yt,(z,O)=>{var U=Dc(),Q=c(U);nt(Q),v(U),Fs(Q,()=>t()[L][e(O)],M=>t(t()[L][e(O)]=M,!0)),r(z,U)}),v(D),K(()=>Y(R,d[L])),Me("keypress",j,function(...z){var O;(O=e(V))==null||O.apply(this,z)}),r(p,D)}),r(w,b)};P(h,w=>{t()&&w(y)})}return v(m),r(_,m),ne({finalizeMatrix:E})}ut(["click"]);var zc=A("<div><!></div>"),Oc=A('<div class="container svelte-ubtepy"><!> <div class="switch svelte-ubtepy">Key Expires: <!></div> <!> <!> <div class="saveBtn svelte-ubtepy"><!></div> <div class="err svelte-ubtepy"> </div></div>');function Mc(_,s){le(s,!0);const t=new Date().toISOString().split(".")[0];let d=G(s,"apiKeys",19,()=>[]),i=G(s,"onSave",3,()=>{}),g=C(""),f=C(!1),u=C(void 0),I=C(void 0),E=n({name:"",exp:""}),o=C(n({}));const $=He().shape({name:he().required("Name is required").min(2).max(24).matches(Os,"Format: [a-zA-Z0-9_/-]{2,24}")});Te(()=>{e(f)&&(E.exp=new Date().toISOString().split(".")[0])});async function m(){if(a(g,""),!await T())return;let N={name:E.name,access:e(u)()};if(N.access.length===0){a(g,"Grant the new API Key at least one permission");return}if(e(f)){let R=Ot(E.exp);if(!R){a(g,"Invalid Date Input: User Expires");return}N.exp=R}let V=await Qr(N);if(V.ok)i()();else{let R=await V.json();a(g,n(R.message))}}async function T(){try{await $.validate(E,{abortEarly:!1}),a(o,n({}))}catch(N){return a(o,n(Ye(N))),!1}for(let N of d())if(N.name===E.name)return e(o).name="Name already exists",!1;return!0}var k=Oc(),h=c(k);ie(h,{width:"18rem",autocomplete:"off",placeholder:"Name",get value(){return E.name},set value(N){E.name=N},get error(){return e(o).name},set error(N){e(o).name=N},children:(N,V)=>{q();var R=B("NAME");r(N,R)},$$slots:{default:!0}});var y=l(h,2),w=l(c(y));Be(w,{get selected(){return e(f)},set selected(N){a(f,n(N))}}),v(y);var b=l(y,2);{var x=N=>{var V=zc(),R=c(V);ie(R,{type:"datetime-local",step:"60",width:"18rem",min:t,max:"2099-01-01T00:00",get value(){return E.exp},set value(F){E.exp=F},children:(F,z)=>{q();var O=B("EXPIRES");r(F,O)},$$slots:{default:!0}}),v(V),ce(3,V,()=>_e),r(N,V)};P(b,N=>{e(f)&&N(x)})}var p=l(b,2);ds(p,{get accessMatrix(){return e(I)},set accessMatrix(N){a(I,n(N))},get finalize(){return e(u)},set finalize(N){a(u,n(N))}});var S=l(p,2),L=c(S);Se(L,{level:1,$$events:{click:m},children:(N,V)=>{q();var R=B("SAVE");r(N,R)},$$slots:{default:!0}}),v(S);var D=l(S,2),j=c(D,!0);v(D),v(k),K(()=>Y(j,e(g))),r(_,k),ne()}var Uc=A("<div><!></div>"),qc=A('<div class="success svelte-1a3jnb3">Success</div>'),Gc=A('<div class="mainErr err svelte-1a3jnb3"> </div>'),Wc=A('<div class="container svelte-1a3jnb3"><div class="unit svelte-1a3jnb3"><div class="label svelte-1a3jnb3">Name</div> <div class="value svelte-1a3jnb3"> </div></div> <div class="switch svelte-1a3jnb3">Key Expires: <!></div> <!> <!> <!> <!> <!></div>');function Kc(_,s){le(s,!0);const t=new Date().toISOString().split(".")[0];let d=G(s,"apiKey",27,()=>n({})),i=C(""),g=C(!1),f=C(void 0),u=C(!!d().expires),I=C(void 0),E=C(void 0);Te(()=>{e(g)&&a(f,n(setTimeout(()=>{a(g,!1),s.onSave()},2e3)))}),Ne(()=>()=>clearTimeout(e(f)));let o=n({exp:""});Te(()=>{e(u)&&(o.exp=new Date().toISOString().split(".")[0])});async function $(){a(i,"");let V={name:d().name,access:e(E)()};if(V.access.length===0){a(i,"Grant the API Key at least one permission");return}if(e(u)){let F=Ot(o.exp);if(!F){a(i,"Invalid Date Input: User Expires");return}V.exp=F}let R=await ei(V);if(R.ok)s.onSave(),a(g,!0);else{let F=await R.json();a(i,n(F.message))}}var m=Wc(),T=c(m),k=l(c(T),2),h=c(k,!0);v(k),v(T);var y=l(T,2),w=l(c(y));Be(w,{get selected(){return e(u)},set selected(V){a(u,n(V))}}),v(y);var b=l(y,2);{var x=V=>{var R=Uc(),F=c(R);ie(F,{type:"datetime-local",step:"60",width:"18rem",min:t,max:"2099-01-01T00:00",get value(){return o.exp},set value(z){o.exp=z},children:(z,O)=>{q();var U=B("EXPIRES");r(z,U)},$$slots:{default:!0}}),v(R),ce(3,R,()=>_e),r(V,R)};P(b,V=>{e(u)&&V(x)})}var p=l(b,2);ds(p,{get apiKey(){return d()},get accessMatrix(){return e(I)},set accessMatrix(V){a(I,n(V))},get finalize(){return e(E)},set finalize(V){a(E,n(V))}});var S=l(p,2);Se(S,{level:1,width:"4rem",$$events:{click:$},children:(V,R)=>{q();var F=B("SAVE");r(V,F)},$$slots:{default:!0}});var L=l(S,2);{var D=V=>{var R=qc();r(V,R)};P(L,V=>{e(g)&&V(D)})}var j=l(L,2);{var N=V=>{var R=Gc(),F=c(R,!0);v(R),K(()=>Y(F,e(i))),r(V,R)};P(j,V=>{e(i)&&V(N)})}v(m),K(()=>Y(h,d().name)),r(_,m),ne()}var Fc=A('<div class="err svelte-1jljqe9"> </div>'),Vc=A('<div class="container svelte-1jljqe9"><div class="label svelte-1jljqe9">Are you sure, you want to delete this ApiKey?</div> <!> <!></div>');function Bc(_,s){le(s,!0);let t=G(s,"apiKey",19,()=>({})),d=C("");async function i(){a(d,"");let E=await ti(t().name);if(E.ok)s.onSave();else{let o=await E.json();a(d,n(o.message))}}var g=Vc(),f=l(c(g),2);Se(f,{level:1,$$events:{click:i},children:(E,o)=>{q();var $=B("DELETE");r(E,$)},$$slots:{default:!0}});var u=l(f,2);{var I=E=>{var o=Fc(),$=c(o,!0);v(o),K(()=>Y($,e(d))),r(E,o)};P(u,E=>{e(d)&&E(I)})}v(g),r(_,g),ne()}var Jc=A('<div><div class="iconsOuter svelte-s24qr4"><div class="iconsInner svelte-s24qr4"><div role="button" tabindex="0" class="show svelte-s24qr4"><!></div> <div role="button" tabindex="0"><!></div></div></div> <textarea></textarea></div>');function cs(_,s){le(s,!0);let t=G(s,"value",3,""),d=G(s,"rows",3,10),i=G(s,"cols",3,60),g=G(s,"name",3,"default"),f=G(s,"show",15,!1),u=G(s,"width",3,"40rem"),I=Jt(s,["$$slots","$$events","$$legacy","value","rows","cols","name","show","width"]),E=C(""),o=C("");Te(()=>{f()?a(o,t()):a(o,n(e(E)))}),Ne(()=>{for(let j=0;j<t().length;j++)a(E,e(E)+"*");a(o,n(e(E)))});function $(){navigator.clipboard.writeText(t())}function m(){f(!f())}var T=Jc(),k=c(T),h=c(k),y=c(h);y.__click=m;var w=c(y);{var b=j=>{Va(j,{width:22})},x=j=>{Fa(j,{width:22})};P(w,j=>{f()?j(b):j(x,!1)})}v(y);var p=l(y,2);p.__click=$;var S=c(p);Xs(S,{}),v(p),v(h),v(k);var L=l(k,2);oa(L);let D;v(T),K(()=>{oe(T,"width",`${u()}`),D=pa(L,D,{disabled:!0,name:g(),rows:d(),cols:i(),...I},"svelte-s24qr4"),oe(L,"width",`${u()}`),oe(L,"padding-right","2.75rem")}),Me("keypress",y,m),Me("keypress",p,$),dt(L,()=>e(o),j=>a(o,j)),r(_,T),ne()}ut(["click"]);var Yc=A(`<div class="secret font-mono svelte-1vixcxf"><!></div> <p class="svelte-1vixcxf">An API Key must be provided in the HTTP <span class="headerCodeSmall svelte-1vixcxf"><code>Authorization</code></span> header in the following format:</p> <p class="svelte-1vixcxf"><span class="headerCode svelte-1vixcxf"><b><code>API-Key YourSecretApiKeyHere</code></b></span></p> <p class="svelte-1vixcxf">You can use the following <code>curl</code> request to test your new Key:</p> <!> <p class="svelte-1vixcxf">If you don't have <code>jq</code> installed and the above fails:</p> <!>`,1),Hc=A(`<div class="container svelte-1vixcxf"><p class="svelte-1vixcxf">You Can generate a new secret for this API Key here.</p> <p class="svelte-1vixcxf">You will only see this secret once after the generation.
+            It is however by default available via the internal <code>/metrics</code> HTTP server to not expose any information.</p> <p class="svelte-x4sug2">The source code can be found in <a href="https://github.com/sebadob/rauthy" target="_blank" class="svelte-x4sug2">Github</a></p></div></div>`);function Xd(_){var s=Hd();r(_,s)}var Zd=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M12 6.042A8.967 8.967 0 006 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 016 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 016-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0018 18a8.967 8.967 0 00-6 2.292m0-14.25v14.25"></path></svg>');function Qd(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=Zd();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var ec=A('<div class="col-typ svelte-a54rx3"> </div> <div class="col-ip svelte-a54rx3"> </div> <div class="col-text svelte-a54rx3"> </div>',1),tc=A('<div class="col-typ svelte-a54rx3"> </div> <div class="col-ip svelte-a54rx3"> </div>',1),ac=A('<div class="col-typ svelte-a54rx3"> </div> <div class="col-ip svelte-a54rx3"> </div>',1),sc=A('<div class="col-typ svelte-a54rx3"> </div> <div class="col-ip svelte-a54rx3"> </div> <div class="col-text svelte-a54rx3"><!></div>',1),rc=A('<div class="col-typ svelte-a54rx3"> </div> <div class="col-ip svelte-a54rx3"> </div> <div class="col-text svelte-a54rx3"> </div>',1),ic=A('<div class="col-typ svelte-a54rx3"> </div> <div class="col-ip svelte-a54rx3"></div> <div class="col-text svelte-a54rx3"> </div>',1),lc=A('<div class="col-typ svelte-a54rx3"> </div>'),nc=A('<div class="row svelte-a54rx3"><div class="col-ts svelte-a54rx3"> </div> <!></div>'),oc=A(" <br>",1),vc=A("<br> <!> ",1),dc=A(" <br> ",1),cc=A("<br> <br> <!>",1),uc=A("<br> <br> ",1),hc=A("<br> ",1),pc=A(" <br> <!>",1),mc=A('<div role="contentinfo"><!></div>');function vs(_,s){le(s,!0);let t=G(s,"collapsed",3,!0),d=C("event"),i=C(!1),g=Ke(()=>!t()&&!s.wide),f=Ke(()=>t()&&!s.wide&&!e(i)),u=Ke(()=>!t()&&s.wide),I=Ke(()=>e(f)?".5rem":".33rem");Ne(()=>{new Date().getTime()-1e3*30<s.event.timestamp&&(setTimeout(()=>{a(d,"eventNew")},100),setTimeout(()=>{a(d,"event")},2500))});function E(){switch(s.event.level){case"test":return"T";case"info":return"I";case"notice":return"N";case"warning":return"W";case"critical":return"C";default:return"U"}}function o(){return ut(s.event.timestamp/1e3)}var $=mc();const m=Ke(()=>`${e(I)} solid ${Gt(s.event.level)}`);var T=c($);{var k=y=>{var w=nc(),b=c(w),x=c(b,!0);K(()=>Y(x,o())),v(b);var p=l(b,2);{var S=D=>{var j=ec(),N=ee(j),V=c(N,!0);v(N);var R=l(N,2),F=c(R,!0);v(R);var z=l(R,2),O=c(z,!0);v(z),K(()=>{Y(V,s.event.typ),Y(F,s.event.ip),Y(O,s.event.text)}),r(D,j)},L=D=>{var j=me(),N=ee(j);{var V=F=>{var z=tc(),O=ee(z),U=c(O,!0);v(O);var Q=l(O,2),M=c(Q,!0);v(Q),K(()=>{Y(U,`${s.event.typ}: ${s.event.data}`),Y(M,s.event.ip)}),r(F,z)},R=F=>{var z=me(),O=ee(z);{var U=M=>{var W=ac(),J=ee(W),Z=c(J,!0);v(J);var re=l(J,2),ve=c(re,!0);v(re),K(()=>{Y(Z,s.event.typ),Y(ve,s.event.ip||"")}),r(M,W)},Q=M=>{var W=me(),J=ee(W);{var Z=ve=>{var be=sc(),$e=ee(be),pe=c($e,!0);v($e);var je=l($e,2),fe=c(je,!0);v(je);var de=l(je,2),ye=c(de);Wa(ye,()=>s.event.text.replace("@","<wbr/>@")),v(de),K(()=>{Y(pe,s.event.typ),Y(fe,s.event.ip||"")}),r(ve,be)},re=ve=>{var be=me(),$e=ee(be);{var pe=fe=>{var de=rc(),ye=ee(de),we=c(ye,!0);v(ye);var Pe=l(ye,2),Ce=c(Pe,!0);v(Pe);var xe=l(Pe,2),Re=c(xe,!0);K(()=>Y(Re,`Expires: ${ut(s.event.data)}`)),v(xe),K(()=>{Y(we,s.event.typ),Y(Ce,s.event.ip)}),r(fe,de)},je=fe=>{var de=me(),ye=ee(de);{var we=Ce=>{var xe=ic(),Re=ee(xe),H=c(Re,!0);v(Re);var Ie=l(Re,4),ge=c(Ie,!0);v(Ie),K(()=>{Y(H,s.event.typ),Y(ge,s.event.text)}),r(Ce,xe)},Pe=Ce=>{var xe=lc(),Re=c(xe,!0);v(xe),K(()=>Y(Re,s.event.typ)),r(Ce,xe)};P(ye,Ce=>{s.event.typ==="RauthyStarted"||s.event.typ==="RauthyHealthy"||s.event.typ==="RauthyUnhealthy"?Ce(we):Ce(Pe,!1)},!0)}r(fe,de)};P($e,fe=>{s.event.typ==="IpBlacklisted"?fe(pe):fe(je,!1)},!0)}r(ve,be)};P(J,ve=>{s.event.typ==="NewRauthyAdmin"||s.event.typ==="NewUserRegistered"||s.event.typ==="UserPasswordReset"||s.event.typ==="UserEmailChange"?ve(Z):ve(re,!1)},!0)}r(M,W)};P(O,M=>{s.event.typ==="SecretsMigrated"?M(U):M(Q,!1)},!0)}r(F,z)};P(N,F=>{s.event.typ==="InvalidLogins"?F(V):F(R,!1)},!0)}r(D,j)};P(p,D=>{s.event.typ==="Test"?D(S):D(L,!1)})}v(w),r(y,w)},h=y=>{var w=me(),b=ee(w);{var x=S=>{var L=pc(),D=ee(L,!0);K(()=>Y(D,o()));var j=l(D,2),N=l(j);{var V=F=>{var z=vc(),O=l(ee(z),2);{var U=M=>{var W=oc(),J=ee(W);q(),K(()=>Y(J,`${s.event.text??""} `)),r(M,W)};P(O,M=>{s.event.text&&M(U)})}var Q=l(O);K(()=>Y(Q,` ${s.event.ip??""}`)),r(F,z)},R=F=>{var z=me(),O=ee(z);{var U=M=>{var W=dc(),J=ee(W,!0),Z=l(J,2);K(()=>{Y(J,`: ${s.event.data}`),Y(Z,` ${s.event.ip??""}`)}),r(M,W)},Q=M=>{var W=me(),J=ee(W);{var Z=ve=>{var be=B();K(()=>Y(be,s.event.ip)),r(ve,be)},re=ve=>{var be=me(),$e=ee(be);{var pe=fe=>{var de=cc(),ye=l(ee(de)),we=l(ye,3);Wa(we,()=>s.event.text.replace("@","<wbr/>@")),K(()=>Y(ye,` ${(s.event.ip||"")??""} `)),r(fe,de)},je=fe=>{var de=me(),ye=ee(de);{var we=Ce=>{var xe=uc(),Re=l(ee(xe)),H=l(Re,2);K(()=>Y(H,` ${ut(s.event.data)??""}`)),K(()=>Y(Re,` ${s.event.ip??""} `)),r(Ce,xe)},Pe=Ce=>{var xe=me(),Re=ee(xe);{var H=Ie=>{var ge=hc(),Ue=l(ee(ge));K(()=>Y(Ue,` ${s.event.text??""}`)),r(Ie,ge)};P(Re,Ie=>{(s.event.typ==="RauthyStarted"||s.event.typ==="RauthyHealthy"||s.event.typ==="RauthyUnhealthy")&&Ie(H)},!0)}r(Ce,xe)};P(ye,Ce=>{s.event.typ==="IpBlacklisted"?Ce(we):Ce(Pe,!1)},!0)}r(fe,de)};P($e,fe=>{s.event.typ==="NewRauthyAdmin"||s.event.typ==="NewUserRegistered"||s.event.typ==="UserPasswordReset"||s.event.typ==="UserEmailChange"?fe(pe):fe(je,!1)},!0)}r(ve,be)};P(J,ve=>{s.event.typ==="SecretsMigrated"?ve(Z):ve(re,!1)},!0)}r(M,W)};P(O,M=>{s.event.typ==="InvalidLogins"?M(U):M(Q,!1)},!0)}r(F,z)};P(N,F=>{s.event.typ==="Test"?F(V):F(R,!1)})}K(()=>Y(j,` ${s.event.typ??""} `)),r(S,L)},p=S=>{var L=B();K(()=>Y(L,E())),r(S,L)};P(b,S=>{e(g)?S(x):S(p,!1)},!0)}r(y,w)};P(T,y=>{e(u)?y(k):y(h,!1)})}v($),K(()=>{Rt($,Nt(e(d)),"svelte-a54rx3"),Et($,"showCollapsed",e(f)),oe($,"border-left",e(m))}),Me("mouseenter",$,()=>a(i,!0)),Me("mouseleave",$,()=>a(i,!1)),r(_,$),ne()}var gc=A("<div><div><b>Legend</b></div> <div><div>TEST</div> <div>INFO</div> <div>NOTICE</div> <div>WARNING</div> <div>CRITICAL</div></div></div>");function fc(_,s){le(s,!0);var t=gc(),d=c(t),i=l(d,2),g=c(i);const f=Ke(()=>`.33rem solid ${Gt("test")}`);var u=l(g,2);const I=Ke(()=>`.33rem solid ${Gt("info")}`);var E=l(u,2);const o=Ke(()=>`.33rem solid ${Gt("notice")}`);var $=l(E,2);const m=Ke(()=>`.33rem solid ${Gt("warning")}`);var T=l($,2);const k=Ke(()=>`.33rem solid ${Gt("critical")}`);v(i),v(t),K(()=>{Rt(d,Nt(s.wide?" legendEntryWide":"legendEntry"),"svelte-1imwz5t"),oe(d,"border-left",".33rem solid var(--col-bg)"),Rt(i,Nt(s.wide?"legendWide":"legend"),"svelte-1imwz5t"),Rt(g,Nt(s.wide?" legendEntryWide":"legendEntry"),"svelte-1imwz5t"),oe(g,"border-left",e(f)),Rt(u,Nt(s.wide?" legendEntryWide":"legendEntry"),"svelte-1imwz5t"),oe(u,"border-left",e(I)),Rt(E,Nt(s.wide?" legendEntryWide":"legendEntry"),"svelte-1imwz5t"),oe(E,"border-left",e(o)),Rt($,Nt(s.wide?" legendEntryWide":"legendEntry"),"svelte-1imwz5t"),oe($,"border-left",e(m)),Rt(T,Nt(s.wide?" legendEntryWide":"legendEntry"),"svelte-1imwz5t"),oe(T,"border-left",e(k))}),r(_,t),ne()}var yc=A('<div class="headerWideInner svelte-1ymfjrj"><b>Events</b> <!></div>'),wc=A("<b>Events</b>"),bc=A("<!> <!>",1),$c=A('<div class="opts svelte-1ymfjrj"><!></div>'),_c=A('<div role="contentinfo" id="events" class="svelte-1ymfjrj"><div class="upper"><div class="header svelte-1ymfjrj"><!></div> <!> <div></div></div> <!></div>');function kc(_,s){le(s,!0);let t=G(s,"collapsed",3,!0),d=G(s,"wide",15),i=50,g=C(void 0),f=C(n([])),u=C(n([])),I=C(void 0),E=C(!1);Ne(async()=>{a(I,n(await o()))});async function o(){return localStorage.getItem("eventLevel")||"Info"}async function $(R){localStorage.setItem("eventLevel",R)}async function m(){await Ps()}function T(){var R;console.log("opening SSE stream"),a(g,n(new EventSource(`/auth/v1/events/stream?latest=${i}&level=${((R=e(I))==null?void 0:R.toLowerCase())||"info"}`))),e(g).onopen=()=>{console.log("SSE Events Stream opened"),a(f,n([]))},e(g).onerror=()=>{console.error("SSE Events Stream closed")},e(g).onmessage=F=>{if(F.data){let z=JSON.parse(F.data);a(f,n([z,...e(f).slice(-499)]))}}}let k=Ke(()=>!t()&&!d()||e(E)),h=Ke(()=>t()&&!d()&&!e(E)),y=Ke(()=>!t()&&d());Te(()=>{if(e(f))switch(e(I)){case"Info":a(u,n(e(f)));break;case"Notice":a(u,n(e(f).filter(R=>R.typ==="Test"||R.level==="notice"||R.level==="warning"||R.level==="critical")));break;case"Warning":a(u,n(e(f).filter(R=>R.typ==="Test"||R.level==="warning"||R.level==="critical")));break;case"Critical":a(u,n(e(f).filter(R=>R.typ==="Test"||R.level==="critical")));break}}),Te(()=>{e(I)&&($(e(I)),e(g)&&e(g).readyState!==2&&e(g).close(),T())});var w=_c(),b=c(w),x=c(b),p=c(x);{var S=R=>{var F=bc(),z=ee(F);{var O=M=>{var W=yc(),J=l(c(W),2);kt(J,{options:da,get value(){return e(I)},set value(Z){a(I,n(Z))}}),v(W),r(M,W)},U=M=>{var W=wc();r(M,W)};P(z,M=>{e(y)?M(O):M(U,!1)})}var Q=l(z,2);Se(Q,{level:3,$$events:{click:m},children:(M,W)=>{q();var J=B("TEST");r(M,J)},$$slots:{default:!0}}),r(R,F)};P(p,R=>{e(h)||R(S)})}v(x);var L=l(x,2);{var D=R=>{var F=$c(),z=c(F);kt(z,{options:da,get value(){return e(I)},set value(O){a(I,n(O))}}),v(F),r(R,F)};P(L,R=>{e(y)||R(D)})}var j=l(L,2);We(j,23,()=>e(u),R=>R.id,(R,F,z)=>{var O=Ke(()=>t()&&!e(E));vs(R,{get collapsed(){return e(O)},get event(){return e(u)[e(z)]},set event(U){e(u)[e(z)]=U},get wide(){return d()},set wide(U){d(U)}})}),v(j),v(b);var N=l(b,2);{var V=R=>{fc(R,{get wide(){return d()},set wide(F){d(F)}})};P(N,R=>{(!t()||e(E))&&R(V)})}v(w),K(()=>{Et(w,"widthDefault",e(k)),Et(w,"widthCollapsed",e(h)),Et(w,"widthWide",e(y)),Rt(j,Nt(e(y)?"dataWide":e(h)?"dataCollapsed":"data"),"svelte-1ymfjrj")}),Me("mouseenter",w,()=>a(E,!0)),Me("mouseleave",w,()=>a(E,!1)),r(_,w),ne()}var xc=A('<div class="addNewInputs svelte-1a7hztb"><!> <!> <div class="saveBtn svelte-1a7hztb"><!></div> <div class="err svelte-1a7hztb"> </div></div>'),Ec=A('<div class="svelte-1a7hztb">No blacklisted IPs</div>'),Ic=(_,s,t)=>s(e(t).ip),Sc=A('<div role="button" tabindex="0" class="delete svelte-1a7hztb"><!></div>'),Cc=A('<div class="blacklisted svelte-1a7hztb"><div class="ip svelte-1a7hztb"> </div> <div class="exp svelte-1a7hztb"> </div> <!></div>'),Ac=A(' <div class="content"><div class="top svelte-1a7hztb"><!> <div class="addNew svelte-1a7hztb"><!></div></div> <!> <div id="blacklist" class="svelte-1a7hztb"><!></div> <!> <div style="height: 20px"></div></div>',1);function Tc(_,s){le(s,!0);let t=C(""),d=C(""),i=C(n([])),g=C(n([])),f=C(n([])),u=C(!1),I=n({ip:"",exp:""}),E=C(n({}));const o=He().shape({ip:he().required("IP is required").matches(zs,"Invalid IPv4")}),$=new Date().toISOString().split(".")[0],m=[{label:"IP",callback:(M,W)=>M.ip.includes(W)}];let T=[{label:"IP",callback:(M,W)=>M.ip.localeCompare(W.ip)}];Te(()=>{e(u)&&(a(d,""),I.exp=new Date().toISOString().split(".")[0])}),Ne(()=>{k()});async function k(){let M=await si(),W=await M.json();M.ok?a(i,n(W.ips)):a(t,n(W.message))}async function h(){if(a(d,""),!await w())return;let M=Ot(I.exp);if(!M){a(d,"Invalid Date Input: User Expires");return}let W={ip:I.ip,exp:M},J=await ri(W);if(J.ok)a(u,!1),I.ip="",await k();else{let Z=await J.json();a(d,n(Z.message))}}async function y(M){(await ii(M)).ok&&await k()}async function w(){try{return await o.validate(I,{abortEarly:!1}),a(E,n({})),!0}catch(M){return a(E,n(Ye(M))),!1}}q();var b=Ac(),x=ee(b),p=l(x),S=c(p),L=c(S);Lt(L,{get items(){return e(i)},searchOptions:m,orderOptions:T,get resItems(){return e(g)},set resItems(M){a(g,n(M))}});var D=l(L,2),j=c(D);Se(j,{level:3,$$events:{click:()=>a(u,!e(u))},children:(M,W)=>{q();var J=B("BLACKLIST IP");r(M,J)},$$slots:{default:!0}}),v(D),v(S);var N=l(S,2);{var V=M=>{var W=xc(),J=c(W);ie(J,{width:"9.5rem",autocomplete:"off",placeholder:"IP",get value(){return I.ip},set value(pe){I.ip=pe},get error(){return e(E).ip},set error(pe){e(E).ip=pe},children:(pe,je)=>{q();var fe=B("IP");r(pe,fe)},$$slots:{default:!0}});var Z=l(J,2);ie(Z,{type:"datetime-local",step:"60",width:"18rem",min:$,max:"2099-01-01T00:00",get value(){return I.exp},set value(pe){I.exp=pe},children:(pe,je)=>{q();var fe=B("EXPIRES");r(pe,fe)},$$slots:{default:!0}});var re=l(Z,2),ve=c(re);Se(ve,{level:1,$$events:{click:h},children:(pe,je)=>{q();var fe=B("SAVE");r(pe,fe)},$$slots:{default:!0}}),v(re);var be=l(re,2),$e=c(be,!0);v(be),v(W),K(()=>Y($e,e(d))),ce(3,W,()=>_e),r(M,W)};P(N,M=>{e(u)&&M(V)})}var R=l(N,2),F=c(R);{var z=M=>{var W=Ec();r(M,W)},O=M=>{var W=me(),J=ee(W);We(J,17,()=>e(f),Z=>Z.ip,(Z,re)=>{var ve=Cc(),be=c(ve),$e=c(be,!0);v(be);var pe=l(be,2),je=c(pe,!0);K(()=>Y(je,ut(e(re).exp))),v(pe);var fe=l(pe,2);Ze(fe,{text:"Delete IP",children:(de,ye)=>{var we=Sc();we.__click=[Ic,y,re];var Pe=c(we);Qt(Pe,{color:"var(--col-err)"}),v(we),Me("keypress",we,()=>y(e(re).ip)),r(de,we)},$$slots:{default:!0}}),v(ve),K(()=>Y($e,e(re).ip)),r(Z,ve)}),r(M,W)};P(F,M=>{e(i).length===0?M(z):M(O,!1)})}v(R);var U=l(R,2);{var Q=M=>{jt(M,{get items(){return e(g)},set items(W){a(g,n(W))},get resItems(){return e(f)},set resItems(W){a(f,n(W))}})};P(U,M=>{e(i).length>0&&M(Q)})}q(2),v(p),K(()=>Y(x,`${e(t)??""} `)),r(_,b),ne()}pt(["click"]);var Lc=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M15.75 5.25a3 3 0 013 3m3 0a6 6 0 01-7.029 5.912c-.563-.097-1.159.026-1.563.43L10.5 17.25H8.25v2.25H6v2.25H2.25v-2.818c0-.597.237-1.17.659-1.591l6.499-6.499c.404-.404.527-1 .43-1.563A6 6 0 1121.75 8.25z"></path></svg>');function Nc(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=Lc();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var Rc=A('<div role="button" tabindex="0" class="cell pointer svelte-lgl56a"> </div>'),Dc=A('<div class="cell svelte-lgl56a"><input class="pointer svelte-lgl56a" type="checkbox"></div>'),jc=A('<div class="mr svelte-lgl56a"><div role="button" tabindex="0" class="label pointer svelte-lgl56a"> </div> <!></div>'),Pc=A('<div class="matrix svelte-lgl56a"><b>Access Rights</b> <div class="mr svelte-lgl56a"><div class="label svelte-lgl56a"></div> <!></div> <!></div>');function ds(_,s){le(s,!0);let t=G(s,"accessMatrix",15);G(s,"finalize",15)(E);const d=["Blacklist","Clients","Events","Generic","Groups","Roles","Secrets","Sessions","Scopes","UserAttributes","Users"],i=["create","read","update","delete"];let g=new Array(d.length).fill(!1),f=new Array(i.length).fill(!1);Ne(()=>{var w;u(),(w=s.apiKey)!=null&&w.access&&I()});function u(){let w=new Array(d.length);for(let b=0;b<d.length;b++){w[b]={group:d[b]};for(let x of i)w[b][x]=!1}t(w)}function I(){for(let w of s.apiKey.access){let b=d.findIndex(x=>x===w.group);for(let x of w.access_rights){let p=i.findIndex(S=>S===x);t(t()[b][i[p]]=!0,!0)}}}function E(){let w=[];for(let b=0;b<d.length;b++){let x=[];for(let p of i)t()[b][p]&&x.push(p);x.length>0&&w.push({group:d[b],access_rights:x})}return w}function o(w){g[w]=!g[w];const b=g[w];let x=t()[w];for(let p=0;p<i.length;p++)for(let S of Object.keys(x))S!=="group"&&(x[S]=b);t(t()[w]=x,!0)}function $(w){f[w]=!f[w];const b=f[w];for(let x=0;x<d.length;x++)t(t()[x][i[w]]=b,!0)}var m=Pc(),T=l(c(m),2),k=l(c(T),2);We(k,17,()=>i,yt,(w,b,x)=>{var p=Rc(),S=Ke(()=>$.bind(this,x));p.__click=function(...j){var N;(N=e(S))==null||N.apply(this,j)};var L=Ke(()=>$.bind(this,x)),D=c(p,!0);v(p),K(()=>Y(D,i[x])),Me("keypress",p,function(...j){var N;(N=e(L))==null||N.apply(this,j)}),r(w,p)}),v(T);var h=l(T,2);{var y=w=>{var b=me(),x=ee(b);We(x,17,()=>d,yt,(p,S,L)=>{var D=jc(),j=c(D),N=Ke(()=>o.bind(this,L));j.__click=function(...z){var O;(O=e(N))==null||O.apply(this,z)};var V=Ke(()=>o.bind(this,L)),R=c(j,!0);v(j);var F=l(j,2);We(F,17,()=>i,yt,(z,O)=>{var U=Dc(),Q=c(U);nt(Q),v(U),Vs(Q,()=>t()[L][e(O)],M=>t(t()[L][e(O)]=M,!0)),r(z,U)}),v(D),K(()=>Y(R,d[L])),Me("keypress",j,function(...z){var O;(O=e(V))==null||O.apply(this,z)}),r(p,D)}),r(w,b)};P(h,w=>{t()&&w(y)})}return v(m),r(_,m),ne({finalizeMatrix:E})}pt(["click"]);var zc=A("<div><!></div>"),Oc=A('<div class="container svelte-ubtepy"><!> <div class="switch svelte-ubtepy">Key Expires: <!></div> <!> <!> <div class="saveBtn svelte-ubtepy"><!></div> <div class="err svelte-ubtepy"> </div></div>');function Mc(_,s){le(s,!0);const t=new Date().toISOString().split(".")[0];let d=G(s,"apiKeys",19,()=>[]),i=G(s,"onSave",3,()=>{}),g=C(""),f=C(!1),u=C(void 0),I=C(void 0),E=n({name:"",exp:""}),o=C(n({}));const $=He().shape({name:he().required("Name is required").min(2).max(24).matches(Os,"Format: [a-zA-Z0-9_/-]{2,24}")});Te(()=>{e(f)&&(E.exp=new Date().toISOString().split(".")[0])});async function m(){if(a(g,""),!await T())return;let N={name:E.name,access:e(u)()};if(N.access.length===0){a(g,"Grant the new API Key at least one permission");return}if(e(f)){let R=Ot(E.exp);if(!R){a(g,"Invalid Date Input: User Expires");return}N.exp=R}let V=await Qr(N);if(V.ok)i()();else{let R=await V.json();a(g,n(R.message))}}async function T(){try{await $.validate(E,{abortEarly:!1}),a(o,n({}))}catch(N){return a(o,n(Ye(N))),!1}for(let N of d())if(N.name===E.name)return e(o).name="Name already exists",!1;return!0}var k=Oc(),h=c(k);ie(h,{width:"18rem",autocomplete:"off",placeholder:"Name",get value(){return E.name},set value(N){E.name=N},get error(){return e(o).name},set error(N){e(o).name=N},children:(N,V)=>{q();var R=B("NAME");r(N,R)},$$slots:{default:!0}});var y=l(h,2),w=l(c(y));Be(w,{get selected(){return e(f)},set selected(N){a(f,n(N))}}),v(y);var b=l(y,2);{var x=N=>{var V=zc(),R=c(V);ie(R,{type:"datetime-local",step:"60",width:"18rem",min:t,max:"2099-01-01T00:00",get value(){return E.exp},set value(F){E.exp=F},children:(F,z)=>{q();var O=B("EXPIRES");r(F,O)},$$slots:{default:!0}}),v(V),ce(3,V,()=>_e),r(N,V)};P(b,N=>{e(f)&&N(x)})}var p=l(b,2);ds(p,{get accessMatrix(){return e(I)},set accessMatrix(N){a(I,n(N))},get finalize(){return e(u)},set finalize(N){a(u,n(N))}});var S=l(p,2),L=c(S);Se(L,{level:1,$$events:{click:m},children:(N,V)=>{q();var R=B("SAVE");r(N,R)},$$slots:{default:!0}}),v(S);var D=l(S,2),j=c(D,!0);v(D),v(k),K(()=>Y(j,e(g))),r(_,k),ne()}var Uc=A("<div><!></div>"),qc=A('<div class="success svelte-1a3jnb3">Success</div>'),Gc=A('<div class="mainErr err svelte-1a3jnb3"> </div>'),Wc=A('<div class="container svelte-1a3jnb3"><div class="unit svelte-1a3jnb3"><div class="label svelte-1a3jnb3">Name</div> <div class="value svelte-1a3jnb3"> </div></div> <div class="switch svelte-1a3jnb3">Key Expires: <!></div> <!> <!> <!> <!> <!></div>');function Kc(_,s){le(s,!0);const t=new Date().toISOString().split(".")[0];let d=G(s,"apiKey",27,()=>n({})),i=C(""),g=C(!1),f=C(void 0),u=C(!!d().expires),I=C(void 0),E=C(void 0);Te(()=>{e(g)&&a(f,n(setTimeout(()=>{a(g,!1),s.onSave()},2e3)))}),Ne(()=>()=>clearTimeout(e(f)));let o=n({exp:""});Te(()=>{e(u)&&(o.exp=new Date().toISOString().split(".")[0])});async function $(){a(i,"");let V={name:d().name,access:e(E)()};if(V.access.length===0){a(i,"Grant the API Key at least one permission");return}if(e(u)){let F=Ot(o.exp);if(!F){a(i,"Invalid Date Input: User Expires");return}V.exp=F}let R=await ei(V);if(R.ok)s.onSave(),a(g,!0);else{let F=await R.json();a(i,n(F.message))}}var m=Wc(),T=c(m),k=l(c(T),2),h=c(k,!0);v(k),v(T);var y=l(T,2),w=l(c(y));Be(w,{get selected(){return e(u)},set selected(V){a(u,n(V))}}),v(y);var b=l(y,2);{var x=V=>{var R=Uc(),F=c(R);ie(F,{type:"datetime-local",step:"60",width:"18rem",min:t,max:"2099-01-01T00:00",get value(){return o.exp},set value(z){o.exp=z},children:(z,O)=>{q();var U=B("EXPIRES");r(z,U)},$$slots:{default:!0}}),v(R),ce(3,R,()=>_e),r(V,R)};P(b,V=>{e(u)&&V(x)})}var p=l(b,2);ds(p,{get apiKey(){return d()},get accessMatrix(){return e(I)},set accessMatrix(V){a(I,n(V))},get finalize(){return e(E)},set finalize(V){a(E,n(V))}});var S=l(p,2);Se(S,{level:1,width:"4rem",$$events:{click:$},children:(V,R)=>{q();var F=B("SAVE");r(V,F)},$$slots:{default:!0}});var L=l(S,2);{var D=V=>{var R=qc();r(V,R)};P(L,V=>{e(g)&&V(D)})}var j=l(L,2);{var N=V=>{var R=Gc(),F=c(R,!0);v(R),K(()=>Y(F,e(i))),r(V,R)};P(j,V=>{e(i)&&V(N)})}v(m),K(()=>Y(h,d().name)),r(_,m),ne()}var Fc=A('<div class="err svelte-1jljqe9"> </div>'),Vc=A('<div class="container svelte-1jljqe9"><div class="label svelte-1jljqe9">Are you sure, you want to delete this ApiKey?</div> <!> <!></div>');function Bc(_,s){le(s,!0);let t=G(s,"apiKey",19,()=>({})),d=C("");async function i(){a(d,"");let E=await ti(t().name);if(E.ok)s.onSave();else{let o=await E.json();a(d,n(o.message))}}var g=Vc(),f=l(c(g),2);Se(f,{level:1,$$events:{click:i},children:(E,o)=>{q();var $=B("DELETE");r(E,$)},$$slots:{default:!0}});var u=l(f,2);{var I=E=>{var o=Fc(),$=c(o,!0);v(o),K(()=>Y($,e(d))),r(E,o)};P(u,E=>{e(d)&&E(I)})}v(g),r(_,g),ne()}var Jc=A('<div><div class="iconsOuter svelte-s24qr4"><div class="iconsInner svelte-s24qr4"><div role="button" tabindex="0" class="show svelte-s24qr4"><!></div> <div role="button" tabindex="0"><!></div></div></div> <textarea></textarea></div>');function cs(_,s){le(s,!0);let t=G(s,"value",3,""),d=G(s,"rows",3,10),i=G(s,"cols",3,60),g=G(s,"name",3,"default"),f=G(s,"show",15,!1),u=G(s,"width",3,"40rem"),I=Jt(s,["$$slots","$$events","$$legacy","value","rows","cols","name","show","width"]),E=C(""),o=C("");Te(()=>{f()?a(o,t()):a(o,n(e(E)))}),Ne(()=>{for(let j=0;j<t().length;j++)a(E,e(E)+"*");a(o,n(e(E)))});function $(){navigator.clipboard.writeText(t())}function m(){f(!f())}var T=Jc(),k=c(T),h=c(k),y=c(h);y.__click=m;var w=c(y);{var b=j=>{Va(j,{width:22})},x=j=>{Fa(j,{width:22})};P(w,j=>{f()?j(b):j(x,!1)})}v(y);var p=l(y,2);p.__click=$;var S=c(p);Xs(S,{}),v(p),v(h),v(k);var L=l(k,2);pa(L);let D;v(T),K(()=>{oe(T,"width",`${u()}`),D=ha(L,D,{disabled:!0,name:g(),rows:d(),cols:i(),...I},"svelte-s24qr4"),oe(L,"width",`${u()}`),oe(L,"padding-right","2.75rem")}),Me("keypress",y,m),Me("keypress",p,$),dt(L,()=>e(o),j=>a(o,j)),r(_,T),ne()}pt(["click"]);var Yc=A(`<div class="secret font-mono svelte-1vixcxf"><!></div> <p class="svelte-1vixcxf">An API Key must be provided in the HTTP <span class="headerCodeSmall svelte-1vixcxf"><code>Authorization</code></span> header in the following format:</p> <p class="svelte-1vixcxf"><span class="headerCode svelte-1vixcxf"><b><code>API-Key YourSecretApiKeyHere</code></b></span></p> <p class="svelte-1vixcxf">You can use the following <code>curl</code> request to test your new Key:</p> <!> <p class="svelte-1vixcxf">If you don't have <code>jq</code> installed and the above fails:</p> <!>`,1),Hc=A(`<div class="container svelte-1vixcxf"><p class="svelte-1vixcxf">You Can generate a new secret for this API Key here.</p> <p class="svelte-1vixcxf">You will only see this secret once after the generation.
         When a new one has been generated, the old secret will be overridden permanently.
-        This operation cannot be reverted!</p> <!> <!> <div class="err svelte-1vixcxf"> </div></div>`);function Xc(_,s){le(s,!0);let t=C(""),d=C(""),i=C(""),g=C("");async function f(){let k=await ai(s.apiKey.name);if(k.ok)a(d,n(await k.text())),a(i,`curl -s -H 'Authorization: API-Key ${e(d)}' ${window.location.origin}/auth/v1/api_keys/${s.apiKey.name}/test`),a(g,`${e(i)} | jq`);else{let h=await k.json();a(t,n(h.message))}}var u=Hc(),I=l(c(u),4),E=Ke(()=>e(d)?3:1);Se(I,{get level(){return e(E)},width:"130px",$$events:{click:f},children:(k,h)=>{q();var y=B("GENERATE NEW");r(k,y)},$$slots:{default:!0}});var o=l(I,2);{var $=k=>{var h=Yc(),y=ee(h),w=c(y);Wt(w,{autocomplete:"off",disabled:!0,showCopy:!0,width:"inherit",maxWidth:"800px",get value(){return e(d)},set value(p){a(d,n(p))},children:(p,S)=>{q();var L=B("API KEY");r(p,L)},$$slots:{default:!0}}),v(y);var b=l(y,8);cs(b,{name:"id",rows:3,get value(){return e(g)}});var x=l(b,4);cs(x,{name:"id",rows:3,get value(){return e(i)}}),ce(3,y,()=>_e),r(k,h)};P(o,k=>{e(d)&&k($)})}var m=l(o,2),T=c(m,!0);v(m),v(u),K(()=>Y(T,e(t))),r(_,u),ne()}var Zc=A('<div class="data svelte-115hohv"> </div>'),Qc=A('<div class="header svelte-115hohv"><div class="data svelte-115hohv"> </div> <!></div>'),eu=A("<div><!></div>"),tu=A("<div><!></div>"),au=A("<div><!></div>"),su=A("<div><!> <!></div>");function ru(_,s){le(s,!0);let t=G(s,"apiKey",31,()=>n({})),d=G(s,"onSave",11,()=>{}),i=C(void 0);const g=["Config","Secret","Delete"];let f=C(n(g[0]));const u=200,I=u/2;function E(){a(i,!1),d()()}ot(_,{get show(){return e(i)},set show(o){a(i,n(o))},header:o=>{var $=Qc(),m=c($),T=c(m,!0);v(m);var k=l(m,2);{var h=y=>{Ze(y,{text:"Expiry",children:(w,b)=>{var x=Zc(),p=c(x,!0);K(()=>Y(p,ht(t().expires))),v(x),r(w,x)},$$slots:{default:!0}})};P(k,y=>{t().expires&&y(h)})}v($),K(()=>Y(T,t().name)),r(o,$)},body:o=>{var $=su(),m=c($);Dt(m,{labels:g,get selected(){return e(f)},set selected(y){a(f,n(y))}});var T=l(m,2);{var k=y=>{var w=eu(),b=c(w);Kc(b,{get onSave(){return d()},get apiKey(){return t()},set apiKey(x){t(x)}}),v(w),ce(1,w,()=>_e,()=>({delay:I,duration:u})),ce(2,w,()=>_e,()=>({duration:u})),r(y,w)},h=y=>{var w=me(),b=ee(w);{var x=S=>{var L=tu(),D=c(L);Xc(D,{get apiKey(){return t()}}),v(L),ce(1,L,()=>_e,()=>({delay:I,duration:u})),ce(2,L,()=>_e,()=>({duration:u})),r(S,L)},p=S=>{var L=me(),D=ee(L);{var j=N=>{var V=au(),R=c(V);Bc(R,{get apiKey(){return t()},onSave:E}),v(V),ce(1,V,()=>_e,()=>({delay:I,duration:u})),ce(2,V,()=>_e,()=>({duration:u})),r(N,V)};P(D,N=>{e(f)==="Delete"&&N(j)},!0)}r(S,L)};P(b,S=>{e(f)==="Secret"?S(x):S(p,!1)},!0)}r(y,w)};P(T,y=>{e(f)==="Config"?y(k):y(h,!1)})}v($),r(o,$)},$$slots:{header:!0,body:!0}}),ne()}var iu=A("<div><!></div>"),lu=A('<div class="svelte-1hg1l4q">No Api Keys</div>'),nu=A(' <div class="content"><div class="top svelte-1hg1l4q"><!> <div class="addNew svelte-1hg1l4q"><!></div></div> <!> <div id="keys" class="svelte-1hg1l4q"><!></div> <!> <div style="height: 20px"></div></div>',1);function ou(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(n([])),g=C(n([])),f=C(!1);const u=[{label:"Name",callback:(N,V)=>N.name.includes(V)}];let I=[{label:"Name",callback:(N,V)=>N.name.localeCompare(V.name)}];Ne(()=>{E()});async function E(){let N=await Zr(),V=await N.json();N.ok?(a(d,n(V.keys)),a(f,!1)):a(t,n(V.message))}q();var o=nu(),$=ee(o),m=l($),T=c(m),k=c(T);Lt(k,{get items(){return e(d)},searchOptions:u,orderOptions:I,get resItems(){return e(i)},set resItems(N){a(i,n(N))}});var h=l(k,2),y=c(h);Se(y,{level:3,$$events:{click:()=>a(f,!e(f))},children:(N,V)=>{q();var R=B("NEW KEY");r(N,R)},$$slots:{default:!0}}),v(h),v(T);var w=l(T,2);{var b=N=>{var V=iu(),R=c(V);Mc(R,{onSave:E,get apiKeys(){return e(d)}}),v(V),ce(3,V,()=>_e),r(N,V)};P(w,N=>{e(f)&&N(b)})}var x=l(w,2),p=c(x);{var S=N=>{var V=lu();r(N,V)},L=N=>{var V=me(),R=ee(V);We(R,19,()=>e(g),F=>F.name,(F,z,O)=>{ru(F,{onSave:E,get apiKey(){return e(g)[e(O)]},set apiKey(U){e(g)[e(O)]=U}})}),r(N,V)};P(p,N=>{e(d).length===0?N(S):N(L,!1)})}v(x);var D=l(x,2);{var j=N=>{jt(N,{get items(){return e(i)},set items(V){a(i,n(V))},get resItems(){return e(g)},set resItems(V){a(g,n(V))}})};P(D,N=>{e(d).length>0&&N(j)})}q(2),v(m),K(()=>Y($,`${e(t)??""} `)),r(_,o),ne()}var vu=A('<div class="row svelte-hjwmgw">No events found</div>'),du=A('<div class="content"><div class="row svelte-hjwmgw"><!></div> <div class="row filter svelte-hjwmgw"><!> <!></div> <div class="row filterOpts svelte-hjwmgw"><div><!></div> Filter <!> <!></div> <!></div>');function cu(_,s){le(s,!0);let t=C(n([])),d=C(n([])),i=C(n(Da(new Date(new Date().getTime()-3600*1e3)))),g=C(void 0),f=C("Info"),u=C(!1),I=C(n(qa[0])),E=[{label:"IP",callback:(R,F)=>{var z;return(z=R.ip)==null?void 0:z.includes(F)}},{label:"Content",callback:(R,F)=>{var z,O;return(O=(z=R.text)==null?void 0:z.toLowerCase())==null?void 0:O.includes(F.toLowerCase())}}],o=[{label:"Timestamp",callback:(R,F)=>R.timestamp-F.timestamp},{label:"Level",callback:(R,F)=>R.level.localeCompare(F.level)},{label:"Type",callback:(R,F)=>R.typ.localeCompare(F.typ)}];ws(()=>{$()});async function $(){let R={from:Ot(e(i)),level:e(f).toLowerCase()};e(g)&&(R.until=Ot(e(g))),e(u)&&(R.typ=e(I));let F=await Er(R),z=await F.json();F.ok?a(t,n(z)):z.message}var m=du(),T=c(m),k=c(T);Lt(k,{get items(){return e(t)},searchOptions:E,orderOptions:o,firstDirReverse:!0,get resItems(){return e(d)},set resItems(R){a(d,n(R))}}),v(T);var h=l(T,2),y=c(h);ie(y,{type:"datetime-local",step:"60",width:"17.5rem",max:"2099-01-01T00:00",get value(){return e(i)},set value(R){a(i,n(R))},children:(R,F)=>{q();var z=B("FROM");r(R,z)},$$slots:{default:!0}});var w=l(y,2);ie(w,{type:"datetime-local",step:"60",width:"17rem",max:"2099-01-01T00:00",get value(){return e(g)},set value(R){a(g,n(R))},children:(R,F)=>{q();var z=B("UNTIL");r(R,z)},$$slots:{default:!0}}),v(h);var b=l(h,2),x=c(b);oe(x,"margin","0 5.5rem 0 .25rem");var p=c(x);kt(p,{options:ca,get value(){return e(f)},set value(R){a(f,n(R))}}),v(x);var S=l(x,2);Be(S,{get selected(){return e(u)},set selected(R){a(u,n(R))}});var L=l(S,2);{var D=R=>{kt(R,{options:qa,get value(){return e(I)},set value(F){a(I,n(F))}})};P(L,R=>{e(u)&&R(D)})}v(b);var j=l(b,2);{var N=R=>{var F=vu();r(R,F)},V=R=>{var F=me(),z=ee(F);We(z,19,()=>e(d),O=>O.id,(O,U,Q)=>{vs(O,{collapsed:!1,wide:!0,get event(){return e(d)[e(Q)]},set event(M){e(d)[e(Q)]=M}})}),r(R,F)};P(j,R=>{e(d).length===0?R(N):R(V,!1)})}v(m),r(_,m),ne()}var uu=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M14.857 17.082a23.848 23.848 0 0 0 5.454-1.31A8.967 8.967 0 0 1 18 9.75V9A6 6 0 0 0 6 9v.75a8.967 8.967 0 0 1-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 0 1-5.714 0m5.714 0a3 3 0 1 1-5.714 0M3.124 7.5A8.969 8.969 0 0 1 5.292 3m13.416 0a8.969 8.969 0 0 1 2.168 4.5"></path></svg>');function hu(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=uu();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var pu=Xe(`<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M2.25 15a4.5 4.5 0 0 0 4.5 4.5H18a3.75 3.75 0 0 0 1.332-7.257 3 3 0 0 0-3.758-3.848 5.25 5.25 0 0
+        This operation cannot be reverted!</p> <!> <!> <div class="err svelte-1vixcxf"> </div></div>`);function Xc(_,s){le(s,!0);let t=C(""),d=C(""),i=C(""),g=C("");async function f(){let k=await ai(s.apiKey.name);if(k.ok)a(d,n(await k.text())),a(i,`curl -s -H 'Authorization: API-Key ${e(d)}' ${window.location.origin}/auth/v1/api_keys/${s.apiKey.name}/test`),a(g,`${e(i)} | jq`);else{let h=await k.json();a(t,n(h.message))}}var u=Hc(),I=l(c(u),4),E=Ke(()=>e(d)?3:1);Se(I,{get level(){return e(E)},width:"130px",$$events:{click:f},children:(k,h)=>{q();var y=B("GENERATE NEW");r(k,y)},$$slots:{default:!0}});var o=l(I,2);{var $=k=>{var h=Yc(),y=ee(h),w=c(y);Wt(w,{autocomplete:"off",disabled:!0,showCopy:!0,width:"inherit",maxWidth:"800px",get value(){return e(d)},set value(p){a(d,n(p))},children:(p,S)=>{q();var L=B("API KEY");r(p,L)},$$slots:{default:!0}}),v(y);var b=l(y,8);cs(b,{name:"id",rows:3,get value(){return e(g)}});var x=l(b,4);cs(x,{name:"id",rows:3,get value(){return e(i)}}),ce(3,y,()=>_e),r(k,h)};P(o,k=>{e(d)&&k($)})}var m=l(o,2),T=c(m,!0);v(m),v(u),K(()=>Y(T,e(t))),r(_,u),ne()}var Zc=A('<div class="data svelte-115hohv"> </div>'),Qc=A('<div class="header svelte-115hohv"><div class="data svelte-115hohv"> </div> <!></div>'),eu=A("<div><!></div>"),tu=A("<div><!></div>"),au=A("<div><!></div>"),su=A("<div><!> <!></div>");function ru(_,s){le(s,!0);let t=G(s,"apiKey",31,()=>n({})),d=G(s,"onSave",11,()=>{}),i=C(void 0);const g=["Config","Secret","Delete"];let f=C(n(g[0]));const u=200,I=u/2;function E(){a(i,!1),d()()}ot(_,{get show(){return e(i)},set show(o){a(i,n(o))},header:o=>{var $=Qc(),m=c($),T=c(m,!0);v(m);var k=l(m,2);{var h=y=>{Ze(y,{text:"Expiry",children:(w,b)=>{var x=Zc(),p=c(x,!0);K(()=>Y(p,ut(t().expires))),v(x),r(w,x)},$$slots:{default:!0}})};P(k,y=>{t().expires&&y(h)})}v($),K(()=>Y(T,t().name)),r(o,$)},body:o=>{var $=su(),m=c($);Dt(m,{labels:g,get selected(){return e(f)},set selected(y){a(f,n(y))}});var T=l(m,2);{var k=y=>{var w=eu(),b=c(w);Kc(b,{get onSave(){return d()},get apiKey(){return t()},set apiKey(x){t(x)}}),v(w),ce(1,w,()=>_e,()=>({delay:I,duration:u})),ce(2,w,()=>_e,()=>({duration:u})),r(y,w)},h=y=>{var w=me(),b=ee(w);{var x=S=>{var L=tu(),D=c(L);Xc(D,{get apiKey(){return t()}}),v(L),ce(1,L,()=>_e,()=>({delay:I,duration:u})),ce(2,L,()=>_e,()=>({duration:u})),r(S,L)},p=S=>{var L=me(),D=ee(L);{var j=N=>{var V=au(),R=c(V);Bc(R,{get apiKey(){return t()},onSave:E}),v(V),ce(1,V,()=>_e,()=>({delay:I,duration:u})),ce(2,V,()=>_e,()=>({duration:u})),r(N,V)};P(D,N=>{e(f)==="Delete"&&N(j)},!0)}r(S,L)};P(b,S=>{e(f)==="Secret"?S(x):S(p,!1)},!0)}r(y,w)};P(T,y=>{e(f)==="Config"?y(k):y(h,!1)})}v($),r(o,$)},$$slots:{header:!0,body:!0}}),ne()}var iu=A("<div><!></div>"),lu=A('<div class="svelte-1hg1l4q">No Api Keys</div>'),nu=A(' <div class="content"><div class="top svelte-1hg1l4q"><!> <div class="addNew svelte-1hg1l4q"><!></div></div> <!> <div id="keys" class="svelte-1hg1l4q"><!></div> <!> <div style="height: 20px"></div></div>',1);function ou(_,s){le(s,!0);let t=C(""),d=C(n([])),i=C(n([])),g=C(n([])),f=C(!1);const u=[{label:"Name",callback:(N,V)=>N.name.includes(V)}];let I=[{label:"Name",callback:(N,V)=>N.name.localeCompare(V.name)}];Ne(()=>{E()});async function E(){let N=await Zr(),V=await N.json();N.ok?(a(d,n(V.keys)),a(f,!1)):a(t,n(V.message))}q();var o=nu(),$=ee(o),m=l($),T=c(m),k=c(T);Lt(k,{get items(){return e(d)},searchOptions:u,orderOptions:I,get resItems(){return e(i)},set resItems(N){a(i,n(N))}});var h=l(k,2),y=c(h);Se(y,{level:3,$$events:{click:()=>a(f,!e(f))},children:(N,V)=>{q();var R=B("NEW KEY");r(N,R)},$$slots:{default:!0}}),v(h),v(T);var w=l(T,2);{var b=N=>{var V=iu(),R=c(V);Mc(R,{onSave:E,get apiKeys(){return e(d)}}),v(V),ce(3,V,()=>_e),r(N,V)};P(w,N=>{e(f)&&N(b)})}var x=l(w,2),p=c(x);{var S=N=>{var V=lu();r(N,V)},L=N=>{var V=me(),R=ee(V);We(R,19,()=>e(g),F=>F.name,(F,z,O)=>{ru(F,{onSave:E,get apiKey(){return e(g)[e(O)]},set apiKey(U){e(g)[e(O)]=U}})}),r(N,V)};P(p,N=>{e(d).length===0?N(S):N(L,!1)})}v(x);var D=l(x,2);{var j=N=>{jt(N,{get items(){return e(i)},set items(V){a(i,n(V))},get resItems(){return e(g)},set resItems(V){a(g,n(V))}})};P(D,N=>{e(d).length>0&&N(j)})}q(2),v(m),K(()=>Y($,`${e(t)??""} `)),r(_,o),ne()}var vu=A('<div class="row svelte-hjwmgw">No events found</div>'),du=A('<div class="content"><div class="row svelte-hjwmgw"><!></div> <div class="row filter svelte-hjwmgw"><!> <!></div> <div class="row filterOpts svelte-hjwmgw"><div><!></div> Filter <!> <!></div> <!></div>');function cu(_,s){le(s,!0);let t=C(n([])),d=C(n([])),i=C(n(Da(new Date(new Date().getTime()-3600*1e3)))),g=C(void 0),f=C("Info"),u=C(!1),I=C(n(qa[0])),E=[{label:"IP",callback:(R,F)=>{var z;return(z=R.ip)==null?void 0:z.includes(F)}},{label:"Content",callback:(R,F)=>{var z,O;return(O=(z=R.text)==null?void 0:z.toLowerCase())==null?void 0:O.includes(F.toLowerCase())}}],o=[{label:"Timestamp",callback:(R,F)=>R.timestamp-F.timestamp},{label:"Level",callback:(R,F)=>R.level.localeCompare(F.level)},{label:"Type",callback:(R,F)=>R.typ.localeCompare(F.typ)}];ws(()=>{$()});async function $(){let R={from:Ot(e(i)),level:e(f).toLowerCase()};e(g)&&(R.until=Ot(e(g))),e(u)&&(R.typ=e(I));let F=await Er(R),z=await F.json();F.ok?a(t,n(z)):z.message}var m=du(),T=c(m),k=c(T);Lt(k,{get items(){return e(t)},searchOptions:E,orderOptions:o,firstDirReverse:!0,get resItems(){return e(d)},set resItems(R){a(d,n(R))}}),v(T);var h=l(T,2),y=c(h);ie(y,{type:"datetime-local",step:"60",width:"17.5rem",max:"2099-01-01T00:00",get value(){return e(i)},set value(R){a(i,n(R))},children:(R,F)=>{q();var z=B("FROM");r(R,z)},$$slots:{default:!0}});var w=l(y,2);ie(w,{type:"datetime-local",step:"60",width:"17rem",max:"2099-01-01T00:00",get value(){return e(g)},set value(R){a(g,n(R))},children:(R,F)=>{q();var z=B("UNTIL");r(R,z)},$$slots:{default:!0}}),v(h);var b=l(h,2),x=c(b);oe(x,"margin","0 5.5rem 0 .25rem");var p=c(x);kt(p,{options:da,get value(){return e(f)},set value(R){a(f,n(R))}}),v(x);var S=l(x,2);Be(S,{get selected(){return e(u)},set selected(R){a(u,n(R))}});var L=l(S,2);{var D=R=>{kt(R,{options:qa,get value(){return e(I)},set value(F){a(I,n(F))}})};P(L,R=>{e(u)&&R(D)})}v(b);var j=l(b,2);{var N=R=>{var F=vu();r(R,F)},V=R=>{var F=me(),z=ee(F);We(z,19,()=>e(d),O=>O.id,(O,U,Q)=>{vs(O,{collapsed:!1,wide:!0,get event(){return e(d)[e(Q)]},set event(M){e(d)[e(Q)]=M}})}),r(R,F)};P(j,R=>{e(d).length===0?R(N):R(V,!1)})}v(m),r(_,m),ne()}var uu=Xe('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M14.857 17.082a23.848 23.848 0 0 0 5.454-1.31A8.967 8.967 0 0 1 18 9.75V9A6 6 0 0 0 6 9v.75a8.967 8.967 0 0 1-2.312 6.022c1.733.64 3.56 1.085 5.455 1.31m5.714 0a24.255 24.255 0 0 1-5.714 0m5.714 0a3 3 0 1 1-5.714 0M3.124 7.5A8.969 8.969 0 0 1 5.292 3m13.416 0a8.969 8.969 0 0 1 2.168 4.5"></path></svg>');function hu(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=uu();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var pu=Xe(`<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M2.25 15a4.5 4.5 0 0 0 4.5 4.5H18a3.75 3.75 0 0 0 1.332-7.257 3 3 0 0 0-3.758-3.848 5.25 5.25 0 0
             0-10.233 2.33A4.502 4.502 0 0 0 2.25 15Z"></path></svg>`);function mu(_,s){let t=G(s,"opacity",3,.9),d=G(s,"width",3,24);var i=pu();ue(i,"stroke-width",2),K(()=>{ue(i,"width",d()),ue(i,"opacity",t())}),r(_,i)}var gu=A(`<div class="desc svelte-i817w5"><h4 class="svelte-i817w5">ID token claim mappings</h4> <p class="svelte-i817w5">Values from the ID token after a successful upstream login can be mapped automatically.</p> <p class="svelte-i817w5">The <code class="svelte-i817w5">path</code> needs to be given in a regex like syntax. It can resolve to
-        single JSON values or resolve to a value in a JSON object or array.</p> <p class="svelte-i817w5"><code class="svelte-i817w5">$.</code> marks the start of the JSON object</p> <p class="svelte-i817w5"><code class="svelte-i817w5">*</code> can be used as a wildcard in your path</p> <p class="svelte-i817w5"><code class="svelte-i817w5">$.roles</code> would target <code class="svelte-i817w5">&#123;"roles": "value"&#125;</code></p> <p class="svelte-i817w5"><code class="svelte-i817w5">$.roles.*</code> can target a value inside an object or array like<br> <code class="svelte-i817w5">&#123;"roles": ["value", "notMyValue"]&#125;</code></p></div>`);function us(_){var s=gu();r(_,s)}var fu=A('<div class="err font-label svelte-w61ts0"> </div>'),yu=A('<div class="container svelte-w61ts0"><div class="label svelte-w61ts0"><div class="labelInner font-label noselect svelte-w61ts0"><label><!></label></div></div> <textarea></textarea> <!></div>');function wa(_,s){le(s,!0);let t=G(s,"rows",3,10),d=G(s,"cols",3,10),i=G(s,"name",19,Mt),g=G(s,"disabled",3,!1),f=G(s,"error",3,""),u=G(s,"value",15),I=G(s,"width",3,"32rem"),E=G(s,"fixed",3,!0),o=Jt(s,["$$slots","$$events","$$legacy","rows","cols","name","disabled","error","value","width","fixed","children"]);const $=na();async function m(j){await Bt(),u(j.target.value),$("input",u())}function T(){$("focus",!0)}function k(){$("blur",!0)}var h=yu(),y=c(h),w=c(y),b=c(w),x=c(b);At(x,()=>s.children??Ct),v(b),v(w),v(y);var p=l(y,2);oa(p);let S;var L=l(p,2);{var D=j=>{var N=fu(),V=c(N,!0);v(N),K(()=>{oe(N,"width",I()),Y(V,f())}),ce(7,N,()=>_e,()=>({duration:250})),r(j,N)};P(L,j=>{f()&&j(D)})}v(h),K(()=>{oe(h,"width",`calc(${I()??""} + 12px)`),oe(w,"background",g()?"var(--col-gmid)":"var(--col-bg)"),ue(b,"for",i()),S=pa(p,S,{name:i(),disabled:g(),value:u(),rows:t(),cols:d(),...o,oninput:m,onfocus:T,onblur:k},"svelte-w61ts0"),oe(p,"resize",E()?"none":""),oe(p,"width",I())}),r(_,h),ne()}var wu=A('<div class="header font-label svelte-1m46su9">ADD NEW AUTHENTICATION PROVIDER</div>'),bu=A('<div class="header svelte-1m46su9">Allow insecure TLS certificates</div> <div class="ml mb svelte-1m46su9"><!></div>',1),$u=A('<div class="header svelte-1m46su9">Custom Root CA PEM</div> <div class="ml mb svelte-1m46su9"><!></div> <!>',1),_u=A("<!> <!>",1),ku=A("<!> <!>",1),xu=A('<div class="header svelte-1m46su9">Allow insecure TLS certificates</div> <div class="ml mb svelte-1m46su9"><!></div>',1),Eu=A(`<!> <!> <!> <!> <!> <div class="header svelte-1m46su9">Use PKCE</div> <div class="ml svelte-1m46su9"><!></div> <div class="desc svelte-1m46su9">The scope the client should use when redirecting to the login.<br> Provide the values separated by space.</div> <!> <div class="desc svelte-1m46su9">Client name for the Rauthy login form</div> <!> <div class="desc svelte-1m46su9">Client ID given by the auth provider</div> <!> <div class="desc svelte-1m46su9">Client Secret given by the auth provider.<br> At least a client secret or PKCE is required.</div> <!> <div class="desc svelte-1m46su9"><p class="svelte-1m46su9">The authentication method to use on the <code>/token</code> endpoint.<br> Most providers should work with <code>basic</code>, some only with <code>post</code>.
+        single JSON values or resolve to a value in a JSON object or array.</p> <p class="svelte-i817w5"><code class="svelte-i817w5">$.</code> marks the start of the JSON object</p> <p class="svelte-i817w5"><code class="svelte-i817w5">*</code> can be used as a wildcard in your path</p> <p class="svelte-i817w5"><code class="svelte-i817w5">$.roles</code> would target <code class="svelte-i817w5">&#123;"roles": "value"&#125;</code></p> <p class="svelte-i817w5"><code class="svelte-i817w5">$.roles.*</code> can target a value inside an object or array like<br> <code class="svelte-i817w5">&#123;"roles": ["value", "notMyValue"]&#125;</code></p></div>`);function us(_){var s=gu();r(_,s)}var fu=A('<div class="err font-label svelte-w61ts0"> </div>'),yu=A('<div class="container svelte-w61ts0"><div class="label svelte-w61ts0"><div class="labelInner font-label noselect svelte-w61ts0"><label><!></label></div></div> <textarea></textarea> <!></div>');function wa(_,s){le(s,!0);let t=G(s,"rows",3,10),d=G(s,"cols",3,10),i=G(s,"name",19,Mt),g=G(s,"disabled",3,!1),f=G(s,"error",3,""),u=G(s,"value",15),I=G(s,"width",3,"32rem"),E=G(s,"fixed",3,!0),o=Jt(s,["$$slots","$$events","$$legacy","rows","cols","name","disabled","error","value","width","fixed","children"]);const $=na();async function m(j){await Bt(),u(j.target.value),$("input",u())}function T(){$("focus",!0)}function k(){$("blur",!0)}var h=yu(),y=c(h),w=c(y),b=c(w),x=c(b);At(x,()=>s.children??Ct),v(b),v(w),v(y);var p=l(y,2);pa(p);let S;var L=l(p,2);{var D=j=>{var N=fu(),V=c(N,!0);v(N),K(()=>{oe(N,"width",I()),Y(V,f())}),ce(7,N,()=>_e,()=>({duration:250})),r(j,N)};P(L,j=>{f()&&j(D)})}v(h),K(()=>{oe(h,"width",`calc(${I()??""} + 12px)`),oe(w,"background",g()?"var(--col-gmid)":"var(--col-bg)"),ue(b,"for",i()),S=ha(p,S,{name:i(),disabled:g(),value:u(),rows:t(),cols:d(),...o,oninput:m,onfocus:T,onblur:k},"svelte-w61ts0"),oe(p,"resize",E()?"none":""),oe(p,"width",I())}),r(_,h),ne()}var wu=A('<div class="header font-label svelte-1m46su9">ADD NEW AUTHENTICATION PROVIDER</div>'),bu=A('<div class="header svelte-1m46su9">Allow insecure TLS certificates</div> <div class="ml mb svelte-1m46su9"><!></div>',1),$u=A('<div class="header svelte-1m46su9">Custom Root CA PEM</div> <div class="ml mb svelte-1m46su9"><!></div> <!>',1),_u=A("<!> <!>",1),ku=A("<!> <!>",1),xu=A('<div class="header svelte-1m46su9">Allow insecure TLS certificates</div> <div class="ml mb svelte-1m46su9"><!></div>',1),Eu=A(`<!> <!> <!> <!> <!> <div class="header svelte-1m46su9">Use PKCE</div> <div class="ml svelte-1m46su9"><!></div> <div class="desc svelte-1m46su9">The scope the client should use when redirecting to the login.<br> Provide the values separated by space.</div> <!> <div class="desc svelte-1m46su9">Client name for the Rauthy login form</div> <!> <div class="desc svelte-1m46su9">Client ID given by the auth provider</div> <!> <div class="desc svelte-1m46su9">Client Secret given by the auth provider.<br> At least a client secret or PKCE is required.</div> <!> <div class="desc svelte-1m46su9"><p class="svelte-1m46su9">The authentication method to use on the <code>/token</code> endpoint.<br> Most providers should work with <code>basic</code>, some only with <code>post</code>.
                         In rare situations, you need both, while it can lead to errors with others.</p></div> <div class="switchRow svelte-1m46su9"><div>client_secret_basic</div> <!></div> <div class="switchRow svelte-1m46su9"><div>client_secret_post</div> <!></div> <!> <div class="desc svelte-1m46su9"><p class="svelte-1m46su9">You can map a user to be a rauthy admin depending on an upstream ID claim.</p></div> <!> <!> <div class="desc svelte-1m46su9"><p class="svelte-1m46su9">If your provider issues a claim indicating that the user has used at least 2FA during
-                        login, you can specify the mfa claim path.</p></div> <!> <!> <!> <!>`,1),Iu=A('<div class="success svelte-1m46su9">Success</div>'),Su=A('<div class="err svelte-1m46su9"> </div>'),Cu=A('<div class="container svelte-1m46su9"><div class="header svelte-1m46su9">Type</div> <div class="ml mb svelte-1m46su9"><!></div> <!> <!> <!> <!></div>');function Au(_,s){le(s,!0);let t=G(s,"idx",31,()=>-1);const d="25rem";let i=C(!1),g=C(!1),f=C(""),u=C(!1),I=C(!1),E=C(void 0),o=C(!1),$=C(n({issuer:null,metadata_url:null,danger_allow_insecure:!1,root_pem:null})),m=C(n({enabled:!0,typ:"oidc",issuer:"",danger_allow_insecure:!1,authorization_endpoint:"",token_endpoint:"",token_auth_method_basic:!1,userinfo_endpoint:"",use_pkce:!0,client_secret_basic:!0,client_secret_post:!1,name:"",client_id:"",client_secret:"",scope:"",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:null,mfa_claim_value:null})),T=["OIDC","Auto","Custom","Github","Google"],k=C(n(T[0])),h=C(n({}));const y=He().shape({issuer:he().trim().matches(tt,"Can only contain URI safe characters, length max: 128").required("Required"),authorization_endpoint:he().url().required("Required"),token_endpoint:he().url().required("Required"),userinfo_endpoint:he().url().required("Required"),name:he().trim().matches(Xt,"Can only contain: 'a-zA-Z0-9\xC0-\xFF- ', length max: 128").required("Required"),client_id:he().trim().matches(tt,"Can only contain URI safe characters, length max: 128").required("Required"),client_secret:he().trim().max(256,"Max 256 characters"),scope:he().trim().matches(Ga,"Can only contain: 'a-zA-Z0-9-_/ ', length max: 128").required("Required"),root_pem:he().trim().nullable().matches(ua,"Invalid PEM certificate"),admin_claim_path:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),admin_claim_value:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),mfa_claim_path:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),mfa_claim_value:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128")}),w=He().shape({issuer:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),metadata_url:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),root_pem:he().trim().nullable().matches(ua,"Valid PEM certificate")});Ne(()=>()=>{a(i,!1),clearTimeout(e(E))});async function b(){if(!await S())return;if(!e(m).use_pkce&&!e(m).client_secret){a(f,"Must at least be a confidential client or use PKCE");return}a(f,""),a(g,!0),e(m).root_pem&&(e(m).danger_allow_insecure=!1,e(m).root_pem=e(m).root_pem.trim()),e(D)?e(m).typ="custom":e(m).typ=e(k).toLowerCase(),e(m).scope=e(m).scope.trim();let R=await Dr(e(m));if(R.ok)a(I,!0);else{let F=await R.json();F.message.includes("InvalidCertificate")?a(f,"Insecure connection not allowed"):a(f,n(F.message))}a(g,!1)}async function x(){if(!await L()){a(f,"Invalid input");return}a(f,""),a(g,!0);let R=await Mr(e($));if(R.ok){const F=await R.json();e(m).issuer=F.issuer,e(m).authorization_endpoint=F.authorization_endpoint,e(m).danger_allow_insecure=F.danger_allow_insecure,e(m).token_endpoint=F.token_endpoint,e(m).userinfo_endpoint=F.userinfo_endpoint,e(m).token_auth_method_basic=F.token_auth_method_basic,e(m).use_pkce=F.use_pkce,e(m).client_secret_basic=F.client_secret_basic,e(m).client_secret_post=!F.client_secret_basic&&F.client_secret_post,e(m).scope=F.scope,e(m).root_pem=F.root_pem,a(u,!0)}else{let F=await R.json();F.message.includes("InvalidCertificate")?a(f,"Insecure connection not allowed"):a(f,n(F.message))}a(g,!1)}function p(){a($,n({issuer:null,metadata_url:null,danger_allow_insecure:!1,root_pem:null})),a(m,n({enabled:!0,issuer:"",danger_allow_insecure:!1,authorization_endpoint:"",token_endpoint:"",userinfo_endpoint:"",use_pkce:!0,client_secret_basic:!0,client_secret_post:!1,scope:"",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:null,mfa_claim_value:null})),a(u,!1),a(o,!1)}async function S(){a(h,n({}));try{return await y.validate(e(m),{abortEarly:!1}),e(m).client_secret&&!(e(m).client_secret_basic||e(m).client_secret_post)?(a(f,"You have given a client secret, but no client auth method is active"),!1):(a(f,"Invalid input"),!0)}catch(R){return a(h,n(Ye(R))),R="Invalid input",!1}}async function L(){a(h,n({}));try{return await w.validate(e($),{abortEarly:!1}),!e($).issuer&&!e($).metadata_url?(e(h).issuer="Required",e(h).metadata_url=e(h).issuer,!1):!0}catch(R){return a(h,n(Ye(R))),!1}}let D=Ke(()=>e(k)===T[1]),j=Ke(()=>e(k)===T[2]),N=Ke(()=>e(k)===T[0]),V=Ke(()=>!e(D)&&!e(j)&&!e(N));Te(()=>{if(e(k))switch(a(u,!1),a(h,n({})),a($,n({issuer:null,metadata_url:null,danger_allow_insecure:!1,root_pem:null})),e(k)){case"Github":a(m,n({enabled:!0,issuer:"github.com",danger_allow_insecure:!1,authorization_endpoint:"https://github.com/login/oauth/authorize",token_endpoint:"https://github.com/login/oauth/access_token",token_auth_method_basic:!1,userinfo_endpoint:"https://api.github.com/user",use_pkce:!1,name:"Github",client_id:"",client_secret:"",scope:"user:email",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:"$.two_factor_authentication",mfa_claim_value:"true"}));break;case"Google":a($,n({issuer:"accounts.google.com",metadata_url:null,danger_allow_insecure:!1,root_pem:null})),x();break;default:a(m,n({enabled:!0,typ:"oidc",issuer:"",danger_allow_insecure:!1,authorization_endpoint:"",token_endpoint:"",token_auth_method_basic:!1,userinfo_endpoint:"",use_pkce:!0,name:"",client_id:"",client_secret:"",scope:"",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:null,mfa_claim_value:null}))}}),Te(()=>{e(I)&&a(E,n(setTimeout(()=>{s.onSave(),a(I,!1),a(i,!1),p()},1500)))}),ot(_,{get idx(){return t()},set idx(R){t(R)},get show(){return e(i)},set show(R){a(i,n(R))},header:R=>{var F=wu();r(R,F)},body:R=>{var F=Cu(),z=l(c(F),2),O=c(z);kt(O,{options:T,get value(){return e(k)},set value($e){a(k,n($e))}}),v(z);var U=l(z,2);{var Q=$e=>{var pe=$u(),je=l(ee(pe),2),fe=c(je);Be(fe,{get selected(){return e(o)},set selected(Pe){a(o,n(Pe))}}),v(je);var de=l(je,2);{var ye=Pe=>{wa(Pe,{rows:17,name:"rootPem",placeholder:`-----BEGIN CERTIFICATE-----
+                        login, you can specify the mfa claim path.</p></div> <!> <!> <!> <!>`,1),Iu=A('<div class="success svelte-1m46su9">Success</div>'),Su=A('<div class="err svelte-1m46su9"> </div>'),Cu=A('<div class="container svelte-1m46su9"><div class="header svelte-1m46su9">Type</div> <div class="ml mb svelte-1m46su9"><!></div> <!> <!> <!> <!></div>');function Au(_,s){le(s,!0);let t=G(s,"idx",31,()=>-1);const d="25rem";let i=C(!1),g=C(!1),f=C(""),u=C(!1),I=C(!1),E=C(void 0),o=C(!1),$=C(n({issuer:null,metadata_url:null,danger_allow_insecure:!1,root_pem:null})),m=C(n({enabled:!0,typ:"oidc",issuer:"",danger_allow_insecure:!1,authorization_endpoint:"",token_endpoint:"",token_auth_method_basic:!1,userinfo_endpoint:"",use_pkce:!0,client_secret_basic:!0,client_secret_post:!1,name:"",client_id:"",client_secret:"",scope:"",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:null,mfa_claim_value:null})),T=["OIDC","Auto","Custom","Github","Google"],k=C(n(T[0])),h=C(n({}));const y=He().shape({issuer:he().trim().matches(tt,"Can only contain URI safe characters, length max: 128").required("Required"),authorization_endpoint:he().url().required("Required"),token_endpoint:he().url().required("Required"),userinfo_endpoint:he().url().required("Required"),name:he().trim().matches(Xt,"Can only contain: 'a-zA-Z0-9\xC0-\xFF- ', length max: 128").required("Required"),client_id:he().trim().matches(tt,"Can only contain URI safe characters, length max: 128").required("Required"),client_secret:he().trim().max(256,"Max 256 characters"),scope:he().trim().matches(Ga,"Can only contain: 'a-zA-Z0-9-_/ ', length max: 128").required("Required"),root_pem:he().trim().nullable().matches(ca,"Invalid PEM certificate"),admin_claim_path:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),admin_claim_value:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),mfa_claim_path:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),mfa_claim_value:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128")}),w=He().shape({issuer:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),metadata_url:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),root_pem:he().trim().nullable().matches(ca,"Valid PEM certificate")});Ne(()=>()=>{a(i,!1),clearTimeout(e(E))});async function b(){if(!await S())return;if(!e(m).use_pkce&&!e(m).client_secret){a(f,"Must at least be a confidential client or use PKCE");return}a(f,""),a(g,!0),e(m).root_pem&&(e(m).danger_allow_insecure=!1,e(m).root_pem=e(m).root_pem.trim()),e(D)?e(m).typ="custom":e(m).typ=e(k).toLowerCase(),e(m).scope=e(m).scope.trim();let R=await Dr(e(m));if(R.ok)a(I,!0);else{let F=await R.json();F.message.includes("InvalidCertificate")?a(f,"Insecure connection not allowed"):a(f,n(F.message))}a(g,!1)}async function x(){if(!await L()){a(f,"Invalid input");return}a(f,""),a(g,!0);let R=await Mr(e($));if(R.ok){const F=await R.json();e(m).issuer=F.issuer,e(m).authorization_endpoint=F.authorization_endpoint,e(m).danger_allow_insecure=F.danger_allow_insecure,e(m).token_endpoint=F.token_endpoint,e(m).userinfo_endpoint=F.userinfo_endpoint,e(m).token_auth_method_basic=F.token_auth_method_basic,e(m).use_pkce=F.use_pkce,e(m).client_secret_basic=F.client_secret_basic,e(m).client_secret_post=!F.client_secret_basic&&F.client_secret_post,e(m).scope=F.scope,e(m).root_pem=F.root_pem,a(u,!0)}else{let F=await R.json();F.message.includes("InvalidCertificate")?a(f,"Insecure connection not allowed"):a(f,n(F.message))}a(g,!1)}function p(){a($,n({issuer:null,metadata_url:null,danger_allow_insecure:!1,root_pem:null})),a(m,n({enabled:!0,issuer:"",danger_allow_insecure:!1,authorization_endpoint:"",token_endpoint:"",userinfo_endpoint:"",use_pkce:!0,client_secret_basic:!0,client_secret_post:!1,scope:"",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:null,mfa_claim_value:null})),a(u,!1),a(o,!1)}async function S(){a(h,n({}));try{return await y.validate(e(m),{abortEarly:!1}),e(m).client_secret&&!(e(m).client_secret_basic||e(m).client_secret_post)?(a(f,"You have given a client secret, but no client auth method is active"),!1):(a(f,"Invalid input"),!0)}catch(R){return a(h,n(Ye(R))),R="Invalid input",!1}}async function L(){a(h,n({}));try{return await w.validate(e($),{abortEarly:!1}),!e($).issuer&&!e($).metadata_url?(e(h).issuer="Required",e(h).metadata_url=e(h).issuer,!1):!0}catch(R){return a(h,n(Ye(R))),!1}}let D=Ke(()=>e(k)===T[1]),j=Ke(()=>e(k)===T[2]),N=Ke(()=>e(k)===T[0]),V=Ke(()=>!e(D)&&!e(j)&&!e(N));Te(()=>{if(e(k))switch(a(u,!1),a(h,n({})),a($,n({issuer:null,metadata_url:null,danger_allow_insecure:!1,root_pem:null})),e(k)){case"Github":a(m,n({enabled:!0,issuer:"github.com",danger_allow_insecure:!1,authorization_endpoint:"https://github.com/login/oauth/authorize",token_endpoint:"https://github.com/login/oauth/access_token",token_auth_method_basic:!1,userinfo_endpoint:"https://api.github.com/user",use_pkce:!1,name:"Github",client_id:"",client_secret:"",scope:"user:email",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:"$.two_factor_authentication",mfa_claim_value:"true"}));break;case"Google":a($,n({issuer:"accounts.google.com",metadata_url:null,danger_allow_insecure:!1,root_pem:null})),x();break;default:a(m,n({enabled:!0,typ:"oidc",issuer:"",danger_allow_insecure:!1,authorization_endpoint:"",token_endpoint:"",token_auth_method_basic:!1,userinfo_endpoint:"",use_pkce:!0,name:"",client_id:"",client_secret:"",scope:"",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:null,mfa_claim_value:null}))}}),Te(()=>{e(I)&&a(E,n(setTimeout(()=>{s.onSave(),a(I,!1),a(i,!1),p()},1500)))}),ot(_,{get idx(){return t()},set idx(R){t(R)},get show(){return e(i)},set show(R){a(i,n(R))},header:R=>{var F=wu();r(R,F)},body:R=>{var F=Cu(),z=l(c(F),2),O=c(z);kt(O,{options:T,get value(){return e(k)},set value($e){a(k,n($e))}}),v(z);var U=l(z,2);{var Q=$e=>{var pe=$u(),je=l(ee(pe),2),fe=c(je);Be(fe,{get selected(){return e(o)},set selected(Pe){a(o,n(Pe))}}),v(je);var de=l(je,2);{var ye=Pe=>{wa(Pe,{rows:17,name:"rootPem",placeholder:`-----BEGIN CERTIFICATE-----
     -----END CERTIFICATE-----`,get error(){return e(h).root_pem},get value(){return e($).root_pem},set value(Ce){e($).root_pem=Ce},children:(Ce,xe)=>{q();var Re=B("Root Certificate in PEM format");r(Ce,Re)},$$slots:{default:!0}})},we=Pe=>{var Ce=bu(),xe=l(ee(Ce),2),Re=c(xe);Be(Re,{get selected(){return e($).danger_allow_insecure},set selected(H){e($).danger_allow_insecure=H}}),v(xe),r(Pe,Ce)};P(de,Pe=>{e(o)?Pe(ye):Pe(we,!1)})}r($e,pe)};P(U,$e=>{e(u)||$e(Q)})}var M=l(U,2);{var W=$e=>{var pe=_u(),je=ee(pe);ie(je,{type:"url",name:"issuer",placeholder:"Issuer URL",width:d,get value(){return e($).issuer},set value(de){e($).issuer=de},get error(){return e(h).issuer},set error(de){e(h).issuer=de},$$events:{input:L,enter:x},children:(de,ye)=>{q();var we=B("ISSUER URL");r(de,we)},$$slots:{default:!0}});var fe=l(je,2);Se(fe,{level:1,width:"6rem",get isLoading(){return e(g)},set isLoading(de){a(g,n(de))},$$events:{click:x},children:(de,ye)=>{q();var we=B("LOOKUP");r(de,we)},$$slots:{default:!0}}),r($e,pe)},J=$e=>{var pe=me(),je=ee(pe);{var fe=ye=>{var we=ku(),Pe=ee(we);ie(Pe,{type:"url",name:"metadata",placeholder:".../.well-known/openid-configuration",width:d,get value(){return e($).metadata_url},set value(xe){e($).metadata_url=xe},get error(){return e(h).metadata_url},set error(xe){e(h).metadata_url=xe},$$events:{input:L,enter:x},children:(xe,Re)=>{q();var H=B("METADATA URL");r(xe,H)},$$slots:{default:!0}});var Ce=l(Pe,2);Se(Ce,{level:1,width:"6rem",get isLoading(){return e(g)},set isLoading(xe){a(g,n(xe))},$$events:{click:x},children:(xe,Re)=>{q();var H=B("LOOKUP");r(xe,H)},$$slots:{default:!0}}),r(ye,we)},de=ye=>{var we=me(),Pe=ee(we);{var Ce=xe=>{var Re=Eu(),H=ee(Re);{var Ie=ae=>{wa(ae,{rows:17,name:"rootPem",placeholder:`-----BEGIN CERTIFICATE-----
     -----END CERTIFICATE-----`,get error(){return e(h).root_pem},get disabled(){return e(u)},get value(){return e(m).root_pem},set value(Ge){e(m).root_pem=Ge},children:(Ge,Oe)=>{q();var Ut=B("Root Certificate in PEM format");r(Ge,Ut)},$$slots:{default:!0}})},ge=ae=>{var Ge=xu(),Oe=l(ee(Ge),2),Ut=c(Oe);{var Ht=Pt=>{ea(Pt,{get check(){return e(m).danger_allow_insecure}})},Ft=Pt=>{Be(Pt,{get selected(){return e(m).danger_allow_insecure},set selected(Vt){e(m).danger_allow_insecure=Vt}})};P(Ut,Pt=>{e(u)?Pt(Ht):Pt(Ft,!1)})}v(Oe),r(ae,Ge)};P(H,ae=>{e(o)?ae(Ie):ae(ge,!1)})}var Ue=l(H,2);ie(Ue,{type:"url",name:"issuer",placeholder:"Issuer URL",width:d,get disabled(){return e(u)},get value(){return e(m).issuer},set value(ae){e(m).issuer=ae},get error(){return e(h).issuer},set error(ae){e(h).issuer=ae},$$events:{input:L},children:(ae,Ge)=>{q();var Oe=B("ISSUER URL");r(ae,Oe)},$$slots:{default:!0}});var Je=l(Ue,2);ie(Je,{type:"url",name:"auth_endpoint",placeholder:"Authorization Endpoint",width:d,get disabled(){return e(u)},get value(){return e(m).authorization_endpoint},set value(ae){e(m).authorization_endpoint=ae},get error(){return e(h).authorization_endpoint},set error(ae){e(h).authorization_endpoint=ae},$$events:{input:L},children:(ae,Ge)=>{q();var Oe=B("AUTHORIZATION ENDPOINT");r(ae,Oe)},$$slots:{default:!0}});var rt=l(Je,2);ie(rt,{type:"url",name:"token_endpoint",placeholder:"Token Endpoint",width:d,get disabled(){return e(u)},get value(){return e(m).token_endpoint},set value(ae){e(m).token_endpoint=ae},get error(){return e(h).token_endpoint},set error(ae){e(h).token_endpoint=ae},$$events:{input:L},children:(ae,Ge)=>{q();var Oe=B("TOKEN ENDPOINT");r(ae,Oe)},$$slots:{default:!0}});var vt=l(rt,2);ie(vt,{type:"url",name:"userinfo_endpoint",placeholder:"Userinfo Endpoint",width:d,get disabled(){return e(u)},get value(){return e(m).userinfo_endpoint},set value(ae){e(m).userinfo_endpoint=ae},get error(){return e(h).userinfo_endpoint},set error(ae){e(h).userinfo_endpoint=ae},$$events:{input:L},children:(ae,Ge)=>{q();var Oe=B("USERINFO ENDPOINT");r(ae,Oe)},$$slots:{default:!0}});var qe=l(vt,4),Fe=c(qe);{var lt=ae=>{ea(ae,{get check(){return e(m).use_pkce}})},xt=ae=>{Be(ae,{get selected(){return e(m).use_pkce},set selected(Ge){e(m).use_pkce=Ge}})};P(Fe,ae=>{e(u)?ae(lt):ae(xt,!1)})}v(qe);var $t=l(qe,4);ie($t,{name:"scope",placeholder:"openid profile email",width:d,get value(){return e(m).scope},set value(ae){e(m).scope=ae},get error(){return e(h).scope},set error(ae){e(h).scope=ae},$$events:{input:S},children:(ae,Ge)=>{q();var Oe=B("SCOPE");r(ae,Oe)},$$slots:{default:!0}});var Qe=l($t,4);ie(Qe,{name:"client_name",placeholder:"Client Name",width:d,get value(){return e(m).name},set value(ae){e(m).name=ae},get error(){return e(h).name},set error(ae){e(h).name=ae},$$events:{input:S},children:(ae,Ge)=>{q();var Oe=B("CLIENT NAME");r(ae,Oe)},$$slots:{default:!0}});var et=l(Qe,4);ie(et,{name:"client_id",autocomplete:"off",placeholder:"Client ID",width:d,get value(){return e(m).client_id},set value(ae){e(m).client_id=ae},get error(){return e(h).client_id},set error(ae){e(h).client_id=ae},$$events:{input:S},children:(ae,Ge)=>{q();var Oe=B("CLIENT ID");r(ae,Oe)},$$slots:{default:!0}});var gt=l(et,4);Wt(gt,{name:"client_secret",get error(){return e(h).client_secret},autocomplete:"off",placeholder:"Client Secret",width:d,get value(){return e(m).client_secret},set value(ae){e(m).client_secret=ae},$$events:{input:S},children:(ae,Ge)=>{q();var Oe=B("CLIENT SECRET");r(ae,Oe)},$$slots:{default:!0}});var ct=l(gt,4),It=l(c(ct),2);Be(It,{get selected(){return e(m).client_secret_basic},set selected(ae){e(m).client_secret_basic=ae}}),v(ct);var at=l(ct,2),st=l(c(at),2);Be(st,{get selected(){return e(m).client_secret_post},set selected(ae){e(m).client_secret_post=ae}}),v(at);var se=l(at,2);us(se);var Ae=l(se,4);ie(Ae,{name:"admin_claim_path",placeholder:"$.roles.*",width:d,get value(){return e(m).admin_claim_path},set value(ae){e(m).admin_claim_path=ae},get error(){return e(h).admin_claim_path},set error(ae){e(h).admin_claim_path=ae},$$events:{input:S},children:(ae,Ge)=>{q();var Oe=B("ADMIN CLAIM PATH");r(ae,Oe)},$$slots:{default:!0}});var ze=l(Ae,2);ie(ze,{name:"admin_claim_value",placeholder:"rauthy_admin",width:d,get value(){return e(m).admin_claim_value},set value(ae){e(m).admin_claim_value=ae},get error(){return e(h).admin_claim_value},set error(ae){e(h).admin_claim_value=ae},$$events:{input:S},children:(ae,Ge)=>{q();var Oe=B("ADMIN CLAIM VALUE");r(ae,Oe)},$$slots:{default:!0}});var X=l(ze,4);ie(X,{name:"mfa_claim_path",placeholder:"$.amr.*",width:d,get value(){return e(m).mfa_claim_path},set value(ae){e(m).mfa_claim_path=ae},get error(){return e(h).mfa_claim_path},set error(ae){e(h).mfa_claim_path=ae},$$events:{input:S},children:(ae,Ge)=>{q();var Oe=B("MFA CLAIM PATH");r(ae,Oe)},$$slots:{default:!0}});var Ee=l(X,2);ie(Ee,{name:"mfa_claim_value",placeholder:"mfa",width:d,get value(){return e(m).mfa_claim_value},set value(ae){e(m).mfa_claim_value=ae},get error(){return e(h).mfa_claim_value},set error(ae){e(h).mfa_claim_value=ae},$$events:{input:S},children:(ae,Ge)=>{q();var Oe=B("MFA CLAIM VALUE");r(ae,Oe)},$$slots:{default:!0}});var Le=l(Ee,2);Se(Le,{level:1,width:"6rem",get isLoading(){return e(g)},set isLoading(ae){a(g,n(ae))},$$events:{click:b},children:(ae,Ge)=>{q();var Oe=B("SAVE");r(ae,Oe)},$$slots:{default:!0}});var St=l(Le,2);Se(St,{level:4,width:"6rem",get isLoading(){return e(g)},set isLoading(ae){a(g,n(ae))},$$events:{click:p},children:(ae,Ge)=>{q();var Oe=B("RESET");r(ae,Oe)},$$slots:{default:!0}}),r(xe,Re)};P(Pe,xe=>{(e(V)||e(j)||e(u))&&xe(Ce)},!0)}r(ye,we)};P(je,ye=>{e(D)&&!e(u)?ye(fe):ye(de,!1)},!0)}r($e,pe)};P(M,$e=>{e(N)&&!e(u)?$e(W):$e(J,!1)})}var Z=l(M,2);{var re=$e=>{var pe=Iu();r($e,pe)};P(Z,$e=>{e(I)&&$e(re)})}var ve=l(Z,2);{var be=$e=>{var pe=Su(),je=c(pe,!0);v(pe),K(()=>Y(je,e(f))),r($e,pe)};P(ve,$e=>{e(f)&&$e(be)})}v(F),r(R,F)},$$slots:{header:!0,body:!0}}),ne()}var Tu=A('<img alt="No Logo Available">');function Lu(_,s){le(s,!0);var t=Tu();K(()=>ue(t,"src",`/auth/v1/providers/${s.providerId}/img?${Mt(6)}`)),ue(t,"width",20),ue(t,"height",20),r(_,t),ne()}var Nu=A('<div class="header svelte-19hes5">Allow insecure TLS certificates</div> <div class="ml mb svelte-19hes5"><!></div>',1),Ru=A('<div class="success svelte-19hes5">Success</div>'),Du=A('<div class="mainErr err svelte-19hes5"> </div>'),ju=A("<!> <!> <!>",1),Pu=A(`<div class="container svelte-19hes5"><div class="unit svelte-19hes5"><div class="label font-label svelte-19hes5">ID</div> <div class="value font-mono svelte-19hes5"> </div></div> <div class="separator"></div> <div class="header svelte-19hes5">Enabled</div> <div class="ml mb svelte-19hes5"><!></div> <div class="header svelte-19hes5">Custom Root CA PEM</div> <div class="ml mb svelte-19hes5"><!></div> <!> <!> <!> <!> <!> <div class="header svelte-19hes5">Use PKCE</div> <div class="ml mb svelte-19hes5"><!></div> <div class="desc svelte-19hes5">The scope the client should use when redirecting to the login.<br> Provide the values separated by space.</div> <!> <div class="desc svelte-19hes5">Client name for the Rauthy login form</div> <!> <div class="desc svelte-19hes5">Client ID given by the auth provider</div> <!> <div class="desc svelte-19hes5">Client Secret given by the auth provider.<br> At least a client secret or PKCE is required.</div> <!> <div class="desc svelte-19hes5"><p class="svelte-19hes5">The authentication method to use on the <code>/token</code> endpoint.<br> Most providers should work with <code>basic</code>, some only with <code>post</code>.
             In rare situations, you need both, while it can lead to errors with others.</p></div> <div class="switchRow svelte-19hes5"><div>client_secret_basic</div> <!></div> <div class="switchRow svelte-19hes5"><div>client_secret_post</div> <!></div> <!> <div class="desc svelte-19hes5"><p class="svelte-19hes5">You can map a user to be a rauthy admin depending on an upstream ID claim.</p></div> <!> <!> <div class="desc svelte-19hes5"><p class="svelte-19hes5">If your provider issues a claim indicating that the user has used at least 2FA during
-            login, you can specify the mfa claim path.</p></div> <!> <!> <div class="logo svelte-19hes5"><!> <!></div> <!></div>`);function zu(_,s){le(s,!0);let t=G(s,"provider",31,()=>n({}));const d="25rem";let i=C(!1),g=C(""),f=C(!1),u=C(void 0),I=C(n(t().root_pem)),E=C(void 0);Ne(()=>()=>clearTimeout(e(u)));let o=C(n({}));const $=He().shape({issuer:he().trim().matches(tt,"Can only contain URI safe characters, length max: 128"),authorization_endpoint:he().url(),token_endpoint:he().url(),userinfo_endpoint:he().url(),name:he().trim().matches(Xt,"Can only contain: 'a-zA-Z0-9\xC0-\xFF- ', length max: 128"),client_id:he().trim().matches(tt,"Can only contain URI safe characters, length max: 128"),client_secret:he().trim().max(256,"Max 256 characters"),scope:he().trim().matches(Ga,"Can only contain: 'a-zA-Z0-9-_/ ', length max: 128"),admin_claim_path:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),admin_claim_value:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),mfa_claim_path:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),mfa_claim_value:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128")});async function m(){if(e(I)||t(t().root_pem=void 0,!0),!await k())return;if(!t().use_pkce&&!t().client_secret){a(g,"Must at least be a confidential client or use PKCE");return}a(g,""),a(i,!0),t().root_pem?(t(t().danger_allow_insecure=!1,!0),t(t().root_pem=t().root_pem.trim(),!0)):t(t().root_pem=void 0,!0);let H=await jr(t().id,t());if(H.ok)a(f,!0);else{let Ie=await H.json();a(g,n(Ie.message))}a(i,!1)}async function T(H){a(i,!0);let Ie=await Or(t().id,H);if(!Ie.ok){let ge=await Ie.json();console.error(ge.message)}a(i,!1)}async function k(){a(o,n({}));try{return await $.validate(t(),{abortEarly:!1}),t().client_secret&&!(t().client_secret_basic||t().client_secret_post)?(a(g,"You have given a client secret, but no client auth method is active"),!1):(t().root_pem&&t().root_pem.length>0?ua.test(t().root_pem.trim())||(e(o).root_pem="Invalid PEM certificate"):a(g,"Invalid input"),!0)}catch(H){return a(o,n(Ye(H))),!1}}Te(()=>{e(f)&&a(u,n(setTimeout(()=>{a(f,!1),s.onSave()},2e3)))}),Te(()=>{t().scope&&t(t().scope=t().scope.replaceAll("+"," "),!0)}),Te(()=>{e(E)&&T(e(E))});var h=Pu(),y=c(h),w=l(c(y),2),b=c(w,!0);v(w),v(y);var x=l(y,6),p=c(x);Be(p,{get selected(){return t().enabled},set selected(H){t(t().enabled=H,!0)}}),v(x);var S=l(x,4),L=c(S);Be(L,{get selected(){return e(I)},set selected(H){a(I,n(H))}}),v(S);var D=l(S,2);{var j=H=>{wa(H,{rows:17,name:"rootPem",placeholder:`-----BEGIN CERTIFICATE-----
+            login, you can specify the mfa claim path.</p></div> <!> <!> <div class="logo svelte-19hes5"><!> <!></div> <!></div>`);function zu(_,s){le(s,!0);let t=G(s,"provider",31,()=>n({}));const d="25rem";let i=C(!1),g=C(""),f=C(!1),u=C(void 0),I=C(n(t().root_pem)),E=C(void 0);Ne(()=>()=>clearTimeout(e(u)));let o=C(n({}));const $=He().shape({issuer:he().trim().matches(tt,"Can only contain URI safe characters, length max: 128"),authorization_endpoint:he().url(),token_endpoint:he().url(),userinfo_endpoint:he().url(),name:he().trim().matches(Xt,"Can only contain: 'a-zA-Z0-9\xC0-\xFF- ', length max: 128"),client_id:he().trim().matches(tt,"Can only contain URI safe characters, length max: 128"),client_secret:he().trim().max(256,"Max 256 characters"),scope:he().trim().matches(Ga,"Can only contain: 'a-zA-Z0-9-_/ ', length max: 128"),admin_claim_path:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),admin_claim_value:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),mfa_claim_path:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128"),mfa_claim_value:he().trim().nullable().matches(tt,"Can only contain URI safe characters, length max: 128")});async function m(){if(e(I)||t(t().root_pem=void 0,!0),!await k())return;if(!t().use_pkce&&!t().client_secret){a(g,"Must at least be a confidential client or use PKCE");return}a(g,""),a(i,!0),t().root_pem?(t(t().danger_allow_insecure=!1,!0),t(t().root_pem=t().root_pem.trim(),!0)):t(t().root_pem=void 0,!0);let H=await jr(t().id,t());if(H.ok)a(f,!0);else{let Ie=await H.json();a(g,n(Ie.message))}a(i,!1)}async function T(H){a(i,!0);let Ie=await Or(t().id,H);if(!Ie.ok){let ge=await Ie.json();console.error(ge.message)}a(i,!1)}async function k(){a(o,n({}));try{return await $.validate(t(),{abortEarly:!1}),t().client_secret&&!(t().client_secret_basic||t().client_secret_post)?(a(g,"You have given a client secret, but no client auth method is active"),!1):(t().root_pem&&t().root_pem.length>0?ca.test(t().root_pem.trim())||(e(o).root_pem="Invalid PEM certificate"):a(g,"Invalid input"),!0)}catch(H){return a(o,n(Ye(H))),!1}}Te(()=>{e(f)&&a(u,n(setTimeout(()=>{a(f,!1),s.onSave()},2e3)))}),Te(()=>{t().scope&&t(t().scope=t().scope.replaceAll("+"," "),!0)}),Te(()=>{e(E)&&T(e(E))});var h=Pu(),y=c(h),w=l(c(y),2),b=c(w,!0);v(w),v(y);var x=l(y,6),p=c(x);Be(p,{get selected(){return t().enabled},set selected(H){t(t().enabled=H,!0)}}),v(x);var S=l(x,4),L=c(S);Be(L,{get selected(){return e(I)},set selected(H){a(I,n(H))}}),v(S);var D=l(S,2);{var j=H=>{wa(H,{rows:17,name:"rootPem",placeholder:`-----BEGIN CERTIFICATE-----
 -----END CERTIFICATE-----`,get error(){return e(o).root_pem},get value(){return t().root_pem},set value(Ie){t(t().root_pem=Ie,!0)},children:(Ie,ge)=>{q();var Ue=B("Root Certificate in PEM format");r(Ie,Ue)},$$slots:{default:!0}})},N=H=>{var Ie=Nu(),ge=l(ee(Ie),2),Ue=c(ge);Be(Ue,{get selected(){return t().danger_allow_insecure},set selected(Je){t(t().danger_allow_insecure=Je,!0)}}),v(ge),r(H,Ie)};P(D,H=>{e(I)?H(j):H(N,!1)})}var V=l(D,2);ie(V,{autocomplete:"off",placeholder:"Issuer URL",width:d,get value(){return t().issuer},set value(H){t(t().issuer=H,!0)},get error(){return e(o).issuer},set error(H){e(o).issuer=H},$$events:{input:k},children:(H,Ie)=>{q();var ge=B("ISSUER URL");r(H,ge)},$$slots:{default:!0}});var R=l(V,2);ie(R,{autocomplete:"off",placeholder:"Authorization Endpoint",width:d,get value(){return t().authorization_endpoint},set value(H){t(t().authorization_endpoint=H,!0)},get error(){return e(o).authorization_endpoint},set error(H){e(o).authorization_endpoint=H},$$events:{input:k},children:(H,Ie)=>{q();var ge=B("AUTHORIZATION ENDPOINT");r(H,ge)},$$slots:{default:!0}});var F=l(R,2);ie(F,{autocomplete:"off",placeholder:"Token Endpoint",width:d,get value(){return t().token_endpoint},set value(H){t(t().token_endpoint=H,!0)},get error(){return e(o).token_endpoint},set error(H){e(o).token_endpoint=H},$$events:{input:k},children:(H,Ie)=>{q();var ge=B("TOKEN ENDPOINT");r(H,ge)},$$slots:{default:!0}});var z=l(F,2);ie(z,{autocomplete:"off",placeholder:"Userinfo Endpoint",width:d,get value(){return t().userinfo_endpoint},set value(H){t(t().userinfo_endpoint=H,!0)},get error(){return e(o).userinfo_endpoint},set error(H){e(o).userinfo_endpoint=H},$$events:{input:k},children:(H,Ie)=>{q();var ge=B("USERINFO ENDPOINT");r(H,ge)},$$slots:{default:!0}});var O=l(z,4),U=c(O);Be(U,{get selected(){return t().use_pkce},set selected(H){t(t().use_pkce=H,!0)}}),v(O);var Q=l(O,4);ie(Q,{autocomplete:"off",placeholder:"openid profile email",width:d,get value(){return t().scope},set value(H){t(t().scope=H,!0)},get error(){return e(o).scope},set error(H){e(o).scope=H},$$events:{input:k},children:(H,Ie)=>{q();var ge=B("SCOPE");r(H,ge)},$$slots:{default:!0}});var M=l(Q,4);ie(M,{autocomplete:"off",placeholder:"Client Name",width:d,get value(){return t().name},set value(H){t(t().name=H,!0)},get error(){return e(o).name},set error(H){e(o).name=H},$$events:{input:k},children:(H,Ie)=>{q();var ge=B("CLIENT NAME");r(H,ge)},$$slots:{default:!0}});var W=l(M,4);ie(W,{autocomplete:"off",placeholder:"Client ID",width:d,get value(){return t().client_id},set value(H){t(t().client_id=H,!0)},get error(){return e(o).client_id},set error(H){e(o).client_id=H},$$events:{input:k},children:(H,Ie)=>{q();var ge=B("CLIENT ID");r(H,ge)},$$slots:{default:!0}});var J=l(W,4);Wt(J,{get error(){return e(o).client_secret},autocomplete:"off",placeholder:"Client Secret",width:d,get value(){return t().client_secret},set value(H){t(t().client_secret=H,!0)},$$events:{input:k},children:(H,Ie)=>{q();var ge=B("CLIENT SECRET");r(H,ge)},$$slots:{default:!0}});var Z=l(J,4),re=l(c(Z),2);Be(re,{get selected(){return t().client_secret_basic},set selected(H){t(t().client_secret_basic=H,!0)}}),v(Z);var ve=l(Z,2),be=l(c(ve),2);Be(be,{get selected(){return t().client_secret_post},set selected(H){t(t().client_secret_post=H,!0)}}),v(ve);var $e=l(ve,2);us($e);var pe=l($e,4);ie(pe,{autocomplete:"off",placeholder:"$.roles.*",width:d,get value(){return t().admin_claim_path},set value(H){t(t().admin_claim_path=H,!0)},get error(){return e(o).admin_claim_path},set error(H){e(o).admin_claim_path=H},$$events:{input:k},children:(H,Ie)=>{q();var ge=B("ADMIN CLAIM PATH");r(H,ge)},$$slots:{default:!0}});var je=l(pe,2);ie(je,{autocomplete:"off",placeholder:"rauthy_admin",width:d,get value(){return t().admin_claim_value},set value(H){t(t().admin_claim_value=H,!0)},get error(){return e(o).admin_claim_value},set error(H){e(o).admin_claim_value=H},$$events:{input:k},children:(H,Ie)=>{q();var ge=B("ADMIN CLAIM VALUE");r(H,ge)},$$slots:{default:!0}});var fe=l(je,4);ie(fe,{autocomplete:"off",placeholder:"$.amr.*",width:d,get value(){return t().mfa_claim_path},set value(H){t(t().mfa_claim_path=H,!0)},get error(){return e(o).mfa_claim_path},set error(H){e(o).mfa_claim_path=H},$$events:{input:k},children:(H,Ie)=>{q();var ge=B("MFA CLAIM PATH");r(H,ge)},$$slots:{default:!0}});var de=l(fe,2);ie(de,{autocomplete:"off",placeholder:"mfa",width:d,get value(){return t().mfa_claim_value},set value(H){t(t().mfa_claim_value=H,!0)},get error(){return e(o).mfa_claim_value},set error(H){e(o).mfa_claim_value=H},$$events:{input:k},children:(H,Ie)=>{q();var ge=B("MFA CLAIM VALUE");r(H,ge)},$$slots:{default:!0}});var ye=l(de,2),we=c(ye);ls(we,{get image(){return e(E)},set image(H){a(E,n(H))}});var Pe=l(we,2);{var Ce=H=>{Lu(H,{get providerId(){return t().id}})};P(Pe,H=>{e(i)||H(Ce)})}v(ye);var xe=l(ye,2);{var Re=H=>{var Ie=ju(),ge=ee(Ie);Se(ge,{level:1,width:"4rem",get isLoading(){return e(i)},set isLoading(qe){a(i,n(qe))},$$events:{click:m},children:(qe,Fe)=>{q();var lt=B("SAVE");r(qe,lt)},$$slots:{default:!0}});var Ue=l(ge,2);{var Je=qe=>{var Fe=Ru();r(qe,Fe)};P(Ue,qe=>{e(f)&&qe(Je)})}var rt=l(Ue,2);{var vt=qe=>{var Fe=Du(),lt=c(Fe,!0);v(Fe),K(()=>Y(lt,e(g))),r(qe,Fe)};P(rt,qe=>{e(g)&&qe(vt)})}r(H,Ie)};P(xe,H=>{H(Re)})}v(h),K(()=>Y(b,t().id)),r(_,h),ne()}var Ou=A("<p> </p>"),Mu=A(`<div class="label svelte-1tncxap"><p>This provider is in use by active users.</p> <p>You can force delete it, but users without a local password or passkey
-                will not be able to log in anymore.</p> <details><summary>Linked Users</summary> <!></details></div> <div class="label svelte-1tncxap"><p>Are you sure you want to delete this provider?</p> <div class="forceDelete svelte-1tncxap">FORCE DELETE <!></div></div> <!>`,1),Uu=A('<div class="label svelte-1tncxap">Are you sure, you want to delete this provider?</div> <!>',1),qu=A('<div class="err svelte-1tncxap"> </div>'),Gu=A('<div class="container svelte-1tncxap"><!> <!></div>');function Wu(_,s){le(s,!0);let t=G(s,"provider",19,()=>({})),d=C(!0),i=C(""),g=C(!1),f=C(n([]));Ne(async()=>{let k=await zr(t().id),h=await k.json();k.status===406?a(f,n(h)):a(i,n(h.message)),a(d,!1)});async function u(){a(i,""),a(d,!0);let k=await Pr(t().id);if(k.ok)s.onSave();else{let h=await k.json();a(i,n(h.message))}a(d,!1)}var I=Gu(),E=c(I);{var o=k=>{var h=Mu(),y=ee(h),w=l(c(y),4),b=l(c(w),2);We(b,17,()=>e(f),j=>j.id,(j,N)=>{var V=Ou(),R=c(V);v(V),K(()=>Y(R,`${e(N).id??""} ${e(N).email??""}`)),r(j,V)}),v(w),v(y);var x=l(y,2),p=l(c(x),2),S=l(c(p));Be(S,{get selected(){return e(g)},set selected(j){a(g,n(j))}}),v(p),v(x);var L=l(x,2);{var D=j=>{Se(j,{level:1,get isLoading(){return e(d)},set isLoading(N){a(d,n(N))},$$events:{click:u},children:(N,V)=>{q();var R=B("DELETE");r(N,R)},$$slots:{default:!0}})};P(L,j=>{e(g)&&j(D)})}r(k,h)},$=k=>{var h=Uu(),y=l(ee(h),2);Se(y,{level:1,get isLoading(){return e(d)},set isLoading(w){a(d,n(w))},$$events:{click:u},children:(w,b)=>{q();var x=B("DELETE");r(w,x)},$$slots:{default:!0}}),r(k,h)};P(E,k=>{e(f).length>0?k(o):k($,!1)})}var m=l(E,2);{var T=k=>{var h=qu(),y=c(h,!0);v(h),K(()=>Y(y,e(i))),r(k,h)};P(m,k=>{e(i)&&k(T)})}v(I),r(_,I),ne()}var Ku=A('<div class="data font-mono svelte-115hohv"> </div>'),Fu=A('<div class="data svelte-115hohv"> </div>'),Vu=A('<div class="header svelte-115hohv"><!> <!></div>'),Bu=A("<div><!></div>"),Ju=A("<div><!></div>"),Yu=A("<div><!> <!></div>");function Hu(_,s){le(s,!0);let t=G(s,"provider",31,()=>n({})),d=G(s,"onSave",15),i=C(void 0);const g=["Config","Delete"];let f=C(n(g[0]));const u=200,I=u/2;ot(_,{get show(){return e(i)},set show(E){a(i,n(E))},header:E=>{var o=Vu(),$=c(o);Ze($,{text:"Provider ID",children:(T,k)=>{var h=Ku(),y=c(h,!0);v(h),K(()=>Y(y,t().id)),r(T,h)},$$slots:{default:!0}});var m=l($,2);Ze(m,{text:"Provider Name",children:(T,k)=>{var h=Fu(),y=c(h,!0);v(h),K(()=>Y(y,t().name)),r(T,h)},$$slots:{default:!0}}),v(o),r(E,o)},body:E=>{var o=Yu(),$=c(o);Dt($,{labels:g,get selected(){return e(f)},set selected(h){a(f,n(h))}});var m=l($,2);{var T=h=>{var y=Bu(),w=c(y);zu(w,{get provider(){return t()},set provider(b){t(b)},get onSave(){return d()},set onSave(b){d(b)}}),v(y),ce(1,y,()=>_e,()=>({delay:I,duration:u})),ce(2,y,()=>_e,()=>({duration:u})),r(h,y)},k=h=>{var y=me(),w=ee(y);{var b=x=>{var p=Ju(),S=c(p);Wu(S,{get provider(){return t()},set provider(L){t(L)},get onSave(){return d()},set onSave(L){d(L)}}),v(p),ce(1,p,()=>_e,()=>({delay:I,duration:u})),ce(2,p,()=>_e,()=>({duration:u})),r(x,p)};P(w,x=>{e(f)==="Delete"&&x(b)},!0)}r(h,y)};P(m,h=>{e(f)==="Config"?h(T):h(k,!1)})}v(o),r(E,o)},$$slots:{header:!0,body:!0}}),ne()}var Xu=A('<div class="svelte-a0i4pk"><!></div>'),Zu=A(' <div class="content"><!> <div id="federation" class="svelte-a0i4pk"></div> <div style="height: 20px"></div></div>',1);function Qu(_,s){le(s,!0);let t=C(""),d=C(n([]));Ne(()=>{i()});async function i(){let $=await Rr(),m=await $.json();$.ok?a(d,n([...m])):a(t,n(m.message))}function g(){i()}q();var f=Zu(),u=ee(f),I=l(u),E=c(I);Au(E,{onSave:g});var o=l(E,2);We(o,23,()=>e(d),$=>$.id,($,m,T)=>{var k=Xu(),h=c(k);Hu(h,{onSave:g,get provider(){return e(d)[e(T)]},set provider(y){e(d)[e(T)]=y}}),v(k),r($,k)}),v(o),q(2),v(I),K(()=>Y(u,`${e(t)??""} `)),r(_,f),ne()}var eh=A("<div><div><!></div></div>"),th=A("<div><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>"),ah=A('<main class="svelte-1a52j8o"><!> <div class="inner svelte-1a52j8o"><!> <!></div></main>');function sh(_,s){le(s,!0);let t=G(s,"selected",15,"Users"),d=C("Rauthy Admin"),i=C(!0),g=C(!0),f=C(!1),u=C(void 0);Te(()=>{e(u)&&(a(i,e(u)>1050),a(g,e(u)<1050),a(f,e(u)>1450))}),Te(()=>{if(t())switch(t()){case"Users":{window.history.pushState("Users","","/auth/v1/admin/users"),a(d,"Users");break}case"Attributes":{window.history.pushState("Attributes","","/auth/v1/admin/attributes"),a(d,"Attributes");break}case"Clients":{window.history.pushState("Clients","","/auth/v1/admin/clients"),a(d,"Clients");break}case"Roles":{window.history.pushState("Roles","","/auth/v1/admin/roles"),a(d,"Roles");break}case"Groups":{window.history.pushState("Groups","","/auth/v1/admin/groups"),a(d,"Groups");break}case"Scopes":{window.history.pushState("Scopes","","/auth/v1/admin/scopes"),a(d,"Scopes");break}case"Sessions":{window.history.pushState("Sessions","","/auth/v1/admin/sessions"),a(d,"Sessions");break}case"Events":{window.history.pushState("Sessions","","/auth/v1/admin/events"),a(d,"Events");break}case"Blacklist":{window.history.pushState("Blacklist","","/auth/v1/admin/blacklist"),a(d,"Blacklist");break}case"ApiKeys":{window.history.pushState("ApiKeys","","/auth/v1/admin/api_keys"),a(d,"ApiKeys");break}case"Providers":{window.history.pushState("Providers","","/auth/v1/admin/providers"),a(d,"Providers");break}case"Config":{window.history.pushState("Config","","/auth/v1/admin/config"),a(d,"Config");break}case"Docs":{window.history.pushState("Docs","","/auth/v1/admin/docs"),a(d,"Docs");break}case"Logout":Ms();break}}),Ne(()=>(window.addEventListener("popstate",E),I(window.innerWidth),()=>window.removeEventListener("popstate",E)));function I(b){a(i,b>1050),a(g,b<1050),a(f,b>1450)}function E(b){t(b.state)}var o=ah();Ta(b=>{K(()=>Aa.title=e(d))});var $=c(o);or($,{widthExpanded:150,widthCollapsed:70,get selected(){return t()},set selected(b){t(b)},get isExpanded(){return e(i)},set isExpanded(b){a(i,n(b))},logo:b=>{var x=eh(),p=c(x),S=c(p);Yd(S),v(p),v(x),K(()=>{oe(p,"width",e(i)?"120px":"55px"),oe(p,"margin-top",e(i)?"32px":"40px"),oe(p,"margin-bottom",e(i)?"13px":"22px")}),r(b,x)},entries:b=>{var x=th(),p=c(x);mt(p,{label:"Users",children:(W,J)=>{Pd(W,{})},$$slots:{default:!0}});var S=l(p,2);mt(S,{label:"Attributes",children:(W,J)=>{Gd(W,{})},$$slots:{default:!0}});var L=l(S,2);mt(L,{label:"Clients",children:(W,J)=>{Od(W,{})},$$slots:{default:!0}});var D=l(L,2);mt(D,{label:"Roles",children:(W,J)=>{os(W,{})},$$slots:{default:!0}});var j=l(D,2);mt(j,{label:"Groups",children:(W,J)=>{Ud(W,{})},$$slots:{default:!0}});var N=l(j,2);mt(N,{label:"Scopes",children:(W,J)=>{Bd(W,{})},$$slots:{default:!0}});var V=l(N,2);mt(V,{label:"Sessions",children:(W,J)=>{os(W,{})},$$slots:{default:!0}});var R=l(V,2);mt(R,{label:"Events",children:(W,J)=>{hu(W,{})},$$slots:{default:!0}});var F=l(R,2);mt(F,{label:"Blacklist",children:(W,J)=>{Qt(W,{width:24})},$$slots:{default:!0}});var z=l(F,2);mt(z,{label:"ApiKeys",children:(W,J)=>{Nc(W,{})},$$slots:{default:!0}});var O=l(z,2);mt(O,{label:"Providers",children:(W,J)=>{mu(W,{})},$$slots:{default:!0}});var U=l(O,2);mt(U,{label:"Config",children:(W,J)=>{Dd(W,{})},$$slots:{default:!0}});var Q=l(U,2);mt(Q,{label:"Docs",children:(W,J)=>{Qd(W,{})},$$slots:{default:!0}});var M=l(Q,2);mt(M,{label:"Logout",children:(W,J)=>{Fd(W,{})},$$slots:{default:!0}}),v(x),r(b,x)},$$slots:{logo:!0,entries:!0}});var m=l($,2),T=c(m);{var k=b=>{bt(b,{get eventsWide(){return e(f)},set eventsWide(x){a(f,n(x))},get eventsCollapsed(){return e(g)},set eventsCollapsed(x){a(g,n(x))},children:(x,p)=>{an(x,{})},$$slots:{default:!0}})},h=b=>{var x=me(),p=ee(x);{var S=D=>{bt(D,{get eventsWide(){return e(f)},set eventsWide(j){a(f,n(j))},get eventsCollapsed(){return e(g)},set eventsCollapsed(j){a(g,n(j))},children:(j,N)=>{id(j,{})},$$slots:{default:!0}})},L=D=>{var j=me(),N=ee(j);{var V=F=>{bt(F,{get eventsWide(){return e(f)},set eventsWide(z){a(f,n(z))},get eventsCollapsed(){return e(g)},set eventsCollapsed(z){a(g,n(z))},children:(z,O)=>{Av(z,{})},$$slots:{default:!0}})},R=F=>{var z=me(),O=ee(z);{var U=M=>{bt(M,{get eventsWide(){return e(f)},set eventsWide(W){a(f,n(W))},get eventsCollapsed(){return e(g)},set eventsCollapsed(W){a(g,n(W))},children:(W,J)=>{Cn(W,{})},$$slots:{default:!0}})},Q=M=>{var W=me(),J=ee(W);{var Z=ve=>{bt(ve,{get eventsWide(){return e(f)},set eventsWide(be){a(f,n(be))},get eventsCollapsed(){return e(g)},set eventsCollapsed(be){a(g,n(be))},children:(be,$e)=>{Hn(be,{})},$$slots:{default:!0}})},re=ve=>{var be=me(),$e=ee(be);{var pe=fe=>{bt(fe,{get eventsWide(){return e(f)},set eventsWide(de){a(f,n(de))},get eventsCollapsed(){return e(g)},set eventsCollapsed(de){a(g,n(de))},children:(de,ye)=>{xo(de,{})},$$slots:{default:!0}})},je=fe=>{var de=me(),ye=ee(de);{var we=Ce=>{bt(Ce,{get eventsWide(){return e(f)},set eventsWide(xe){a(f,n(xe))},get eventsCollapsed(){return e(g)},set eventsCollapsed(xe){a(g,n(xe))},children:(xe,Re)=>{Mv(xe,{})},$$slots:{default:!0}})},Pe=Ce=>{var xe=me(),Re=ee(xe);{var H=ge=>{bt(ge,{get eventsWide(){return e(f)},set eventsWide(Ue){a(f,n(Ue))},get eventsCollapsed(){return e(g)},set eventsCollapsed(Ue){a(g,n(Ue))},children:(Ue,Je)=>{cu(Ue,{})},$$slots:{default:!0}})},Ie=ge=>{var Ue=me(),Je=ee(Ue);{var rt=qe=>{bt(qe,{get eventsWide(){return e(f)},set eventsWide(Fe){a(f,n(Fe))},get eventsCollapsed(){return e(g)},set eventsCollapsed(Fe){a(g,n(Fe))},children:(Fe,lt)=>{Tc(Fe,{})},$$slots:{default:!0}})},vt=qe=>{var Fe=me(),lt=ee(Fe);{var xt=Qe=>{bt(Qe,{get eventsWide(){return e(f)},set eventsWide(et){a(f,n(et))},get eventsCollapsed(){return e(g)},set eventsCollapsed(et){a(g,n(et))},children:(et,gt)=>{ou(et,{})},$$slots:{default:!0}})},$t=Qe=>{var et=me(),gt=ee(et);{var ct=at=>{bt(at,{get eventsWide(){return e(f)},set eventsWide(st){a(f,n(st))},get eventsCollapsed(){return e(g)},set eventsCollapsed(st){a(g,n(st))},children:(st,se)=>{Qu(st,{})},$$slots:{default:!0}})},It=at=>{var st=me(),se=ee(st);{var Ae=X=>{bt(X,{get eventsWide(){return e(f)},set eventsWide(Ee){a(f,n(Ee))},get eventsCollapsed(){return e(g)},set eventsCollapsed(Ee){a(g,n(Ee))},children:(Ee,Le)=>{Nd(Ee)},$$slots:{default:!0}})},ze=X=>{var Ee=me(),Le=ee(Ee);{var St=ae=>{bt(ae,{get eventsWide(){return e(f)},set eventsWide(Ge){a(f,n(Ge))},get eventsCollapsed(){return e(g)},set eventsCollapsed(Ge){a(g,n(Ge))},children:(Ge,Oe)=>{Xd(Ge)},$$slots:{default:!0}})};P(Le,ae=>{t()==="Docs"&&ae(St)},!0)}r(X,Ee)};P(se,X=>{t()==="Config"?X(Ae):X(ze,!1)},!0)}r(at,st)};P(gt,at=>{t()==="Providers"?at(ct):at(It,!1)},!0)}r(Qe,et)};P(lt,Qe=>{t()==="ApiKeys"?Qe(xt):Qe($t,!1)},!0)}r(qe,Fe)};P(Je,qe=>{t()==="Blacklist"?qe(rt):qe(vt,!1)},!0)}r(ge,Ue)};P(Re,ge=>{t()==="Events"?ge(H):ge(Ie,!1)},!0)}r(Ce,xe)};P(ye,Ce=>{t()==="Sessions"?Ce(we):Ce(Pe,!1)},!0)}r(fe,de)};P($e,fe=>{t()==="Scopes"?fe(pe):fe(je,!1)},!0)}r(ve,be)};P(J,ve=>{t()==="Groups"?ve(Z):ve(re,!1)},!0)}r(M,W)};P(O,M=>{t()==="Roles"?M(U):M(Q,!1)},!0)}r(F,z)};P(N,F=>{t()==="Clients"?F(V):F(R,!1)},!0)}r(D,j)};P(p,D=>{t()==="Attributes"?D(S):D(L,!1)},!0)}r(b,x)};P(T,b=>{t()==="Users"?b(k):b(h,!1)})}var y=l(T,2);{var w=b=>{kc(b,{get collapsed(){return e(g)},get wide(){return e(f)}})};P(y,b=>{e(u)!==void 0&&b(w)})}v(m),v(o),Vs("innerWidth",b=>a(u,n(b))),r(_,o),ne()}var rh=A('<div class="noAdmin svelte-mia078"><div class="text svelte-mia078">A rauthy admin account must have <b>MFA enabled.</b><br> Please navigate to your <b>account</b> and activate MFA.<br> Afterwards, you need to do a logout and log back in.</div> <!></div>'),ih=A('<div class="noAdmin svelte-mia078"><div class="text svelte-mia078">You are not assigned to the <b>rauthy_admin</b> role.<br> You do not have access to the admin panel.</div> <!></div>');function lh(_,s){le(s,!0);let t=G(s,"selected",15,"Users"),d=C(void 0),i=C(!1),g=C(!1);Ne(async()=>{let o=await Us();if(o.ok){let $=await o.json(),m=await qs();m.ok?(a(d,n($)),a(i,!0)):m.status===406?(a(g,!0),a(d,n({}))):a(d,n({}))}else Oa()});var f=me();Ta(o=>{Aa.title="Admin"});var u=ee(f);{var I=o=>{ha(o,{})},E=o=>{var $=me(),m=ee($);{var T=h=>{var y=rh(),w=l(c(y),2);Se(w,{$$events:{click:()=>window.location.href="/auth/v1/account"},children:(b,x)=>{q();var p=B("ACCOUNT");r(b,p)},$$slots:{default:!0}}),v(y),r(h,y)},k=h=>{var y=me(),w=ee(y);{var b=p=>{var S=ih(),L=l(c(S),2);Se(L,{$$events:{click:()=>window.location.href="/auth/v1/"},children:(D,j)=>{q();var N=B("GO BACK");r(D,N)},$$slots:{default:!0}}),v(S),r(p,S)},x=p=>{sh(p,{get selected(){return t()},set selected(S){t(S)}})};P(w,p=>{e(i)?p(x,!1):p(b)},!0)}r(h,y)};P(m,h=>{e(g)?h(T):h(k,!1)},!0)}r(o,$)};P(u,o=>{!e(d)&&!e(g)?o(I):o(E,!1)})}r(_,f),ne()}export{lh as A};
+                will not be able to log in anymore.</p> <details><summary>Linked Users</summary> <!></details></div> <div class="label svelte-1tncxap"><p>Are you sure you want to delete this provider?</p> <div class="forceDelete svelte-1tncxap">FORCE DELETE <!></div></div> <!>`,1),Uu=A('<div class="label svelte-1tncxap">Are you sure, you want to delete this provider?</div> <!>',1),qu=A('<div class="err svelte-1tncxap"> </div>'),Gu=A('<div class="container svelte-1tncxap"><!> <!></div>');function Wu(_,s){le(s,!0);let t=G(s,"provider",19,()=>({})),d=C(!0),i=C(""),g=C(!1),f=C(n([]));Ne(async()=>{let k=await zr(t().id),h=await k.json();k.status===406?a(f,n(h)):a(i,n(h.message)),a(d,!1)});async function u(){a(i,""),a(d,!0);let k=await Pr(t().id);if(k.ok)s.onSave();else{let h=await k.json();a(i,n(h.message))}a(d,!1)}var I=Gu(),E=c(I);{var o=k=>{var h=Mu(),y=ee(h),w=l(c(y),4),b=l(c(w),2);We(b,17,()=>e(f),j=>j.id,(j,N)=>{var V=Ou(),R=c(V);v(V),K(()=>Y(R,`${e(N).id??""} ${e(N).email??""}`)),r(j,V)}),v(w),v(y);var x=l(y,2),p=l(c(x),2),S=l(c(p));Be(S,{get selected(){return e(g)},set selected(j){a(g,n(j))}}),v(p),v(x);var L=l(x,2);{var D=j=>{Se(j,{level:1,get isLoading(){return e(d)},set isLoading(N){a(d,n(N))},$$events:{click:u},children:(N,V)=>{q();var R=B("DELETE");r(N,R)},$$slots:{default:!0}})};P(L,j=>{e(g)&&j(D)})}r(k,h)},$=k=>{var h=Uu(),y=l(ee(h),2);Se(y,{level:1,get isLoading(){return e(d)},set isLoading(w){a(d,n(w))},$$events:{click:u},children:(w,b)=>{q();var x=B("DELETE");r(w,x)},$$slots:{default:!0}}),r(k,h)};P(E,k=>{e(f).length>0?k(o):k($,!1)})}var m=l(E,2);{var T=k=>{var h=qu(),y=c(h,!0);v(h),K(()=>Y(y,e(i))),r(k,h)};P(m,k=>{e(i)&&k(T)})}v(I),r(_,I),ne()}var Ku=A('<div class="data font-mono svelte-115hohv"> </div>'),Fu=A('<div class="data svelte-115hohv"> </div>'),Vu=A('<div class="header svelte-115hohv"><!> <!></div>'),Bu=A("<div><!></div>"),Ju=A("<div><!></div>"),Yu=A("<div><!> <!></div>");function Hu(_,s){le(s,!0);let t=G(s,"provider",31,()=>n({})),d=G(s,"onSave",15),i=C(void 0);const g=["Config","Delete"];let f=C(n(g[0]));const u=200,I=u/2;ot(_,{get show(){return e(i)},set show(E){a(i,n(E))},header:E=>{var o=Vu(),$=c(o);Ze($,{text:"Provider ID",children:(T,k)=>{var h=Ku(),y=c(h,!0);v(h),K(()=>Y(y,t().id)),r(T,h)},$$slots:{default:!0}});var m=l($,2);Ze(m,{text:"Provider Name",children:(T,k)=>{var h=Fu(),y=c(h,!0);v(h),K(()=>Y(y,t().name)),r(T,h)},$$slots:{default:!0}}),v(o),r(E,o)},body:E=>{var o=Yu(),$=c(o);Dt($,{labels:g,get selected(){return e(f)},set selected(h){a(f,n(h))}});var m=l($,2);{var T=h=>{var y=Bu(),w=c(y);zu(w,{get provider(){return t()},set provider(b){t(b)},get onSave(){return d()},set onSave(b){d(b)}}),v(y),ce(1,y,()=>_e,()=>({delay:I,duration:u})),ce(2,y,()=>_e,()=>({duration:u})),r(h,y)},k=h=>{var y=me(),w=ee(y);{var b=x=>{var p=Ju(),S=c(p);Wu(S,{get provider(){return t()},set provider(L){t(L)},get onSave(){return d()},set onSave(L){d(L)}}),v(p),ce(1,p,()=>_e,()=>({delay:I,duration:u})),ce(2,p,()=>_e,()=>({duration:u})),r(x,p)};P(w,x=>{e(f)==="Delete"&&x(b)},!0)}r(h,y)};P(m,h=>{e(f)==="Config"?h(T):h(k,!1)})}v(o),r(E,o)},$$slots:{header:!0,body:!0}}),ne()}var Xu=A('<div class="svelte-a0i4pk"><!></div>'),Zu=A(' <div class="content"><!> <div id="federation" class="svelte-a0i4pk"></div> <div style="height: 20px"></div></div>',1);function Qu(_,s){le(s,!0);let t=C(""),d=C(n([]));Ne(()=>{i()});async function i(){let $=await Rr(),m=await $.json();$.ok?a(d,n([...m])):a(t,n(m.message))}function g(){i()}q();var f=Zu(),u=ee(f),I=l(u),E=c(I);Au(E,{onSave:g});var o=l(E,2);We(o,23,()=>e(d),$=>$.id,($,m,T)=>{var k=Xu(),h=c(k);Hu(h,{onSave:g,get provider(){return e(d)[e(T)]},set provider(y){e(d)[e(T)]=y}}),v(k),r($,k)}),v(o),q(2),v(I),K(()=>Y(u,`${e(t)??""} `)),r(_,f),ne()}var eh=A("<div><div><!></div></div>"),th=A("<div><!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!> <!></div>"),ah=A('<main class="svelte-1a52j8o"><!> <div class="inner svelte-1a52j8o"><!> <!></div></main>');function sh(_,s){le(s,!0);let t=G(s,"selected",15,"Users"),d=C("Rauthy Admin"),i=C(!0),g=C(!0),f=C(!1),u=C(void 0);Te(()=>{e(u)&&(a(i,e(u)>1050),a(g,e(u)<1050),a(f,e(u)>1450))}),Te(()=>{if(t())switch(t()){case"Users":{window.history.pushState("Users","","/auth/v1/admin/users"),a(d,"Users");break}case"Attributes":{window.history.pushState("Attributes","","/auth/v1/admin/attributes"),a(d,"Attributes");break}case"Clients":{window.history.pushState("Clients","","/auth/v1/admin/clients"),a(d,"Clients");break}case"Roles":{window.history.pushState("Roles","","/auth/v1/admin/roles"),a(d,"Roles");break}case"Groups":{window.history.pushState("Groups","","/auth/v1/admin/groups"),a(d,"Groups");break}case"Scopes":{window.history.pushState("Scopes","","/auth/v1/admin/scopes"),a(d,"Scopes");break}case"Sessions":{window.history.pushState("Sessions","","/auth/v1/admin/sessions"),a(d,"Sessions");break}case"Events":{window.history.pushState("Sessions","","/auth/v1/admin/events"),a(d,"Events");break}case"Blacklist":{window.history.pushState("Blacklist","","/auth/v1/admin/blacklist"),a(d,"Blacklist");break}case"ApiKeys":{window.history.pushState("ApiKeys","","/auth/v1/admin/api_keys"),a(d,"ApiKeys");break}case"Providers":{window.history.pushState("Providers","","/auth/v1/admin/providers"),a(d,"Providers");break}case"Config":{window.history.pushState("Config","","/auth/v1/admin/config"),a(d,"Config");break}case"Docs":{window.history.pushState("Docs","","/auth/v1/admin/docs"),a(d,"Docs");break}case"Logout":Ms();break}}),Ne(()=>(window.addEventListener("popstate",E),I(window.innerWidth),()=>window.removeEventListener("popstate",E)));function I(b){a(i,b>1050),a(g,b<1050),a(f,b>1450)}function E(b){t(b.state)}var o=ah();Ta(b=>{K(()=>Aa.title=e(d))});var $=c(o);or($,{widthExpanded:150,widthCollapsed:70,get selected(){return t()},set selected(b){t(b)},get isExpanded(){return e(i)},set isExpanded(b){a(i,n(b))},logo:b=>{var x=eh(),p=c(x),S=c(p);Yd(S),v(p),v(x),K(()=>{oe(p,"width",e(i)?"120px":"55px"),oe(p,"margin-top",e(i)?"32px":"40px"),oe(p,"margin-bottom",e(i)?"13px":"22px")}),r(b,x)},entries:b=>{var x=th(),p=c(x);mt(p,{label:"Users",children:(W,J)=>{Pd(W,{})},$$slots:{default:!0}});var S=l(p,2);mt(S,{label:"Attributes",children:(W,J)=>{Gd(W,{})},$$slots:{default:!0}});var L=l(S,2);mt(L,{label:"Clients",children:(W,J)=>{Od(W,{})},$$slots:{default:!0}});var D=l(L,2);mt(D,{label:"Roles",children:(W,J)=>{os(W,{})},$$slots:{default:!0}});var j=l(D,2);mt(j,{label:"Groups",children:(W,J)=>{Ud(W,{})},$$slots:{default:!0}});var N=l(j,2);mt(N,{label:"Scopes",children:(W,J)=>{Bd(W,{})},$$slots:{default:!0}});var V=l(N,2);mt(V,{label:"Sessions",children:(W,J)=>{os(W,{})},$$slots:{default:!0}});var R=l(V,2);mt(R,{label:"Events",children:(W,J)=>{hu(W,{})},$$slots:{default:!0}});var F=l(R,2);mt(F,{label:"Blacklist",children:(W,J)=>{Qt(W,{width:24})},$$slots:{default:!0}});var z=l(F,2);mt(z,{label:"ApiKeys",children:(W,J)=>{Nc(W,{})},$$slots:{default:!0}});var O=l(z,2);mt(O,{label:"Providers",children:(W,J)=>{mu(W,{})},$$slots:{default:!0}});var U=l(O,2);mt(U,{label:"Config",children:(W,J)=>{Dd(W,{})},$$slots:{default:!0}});var Q=l(U,2);mt(Q,{label:"Docs",children:(W,J)=>{Qd(W,{})},$$slots:{default:!0}});var M=l(Q,2);mt(M,{label:"Logout",children:(W,J)=>{Fd(W,{})},$$slots:{default:!0}}),v(x),r(b,x)},$$slots:{logo:!0,entries:!0}});var m=l($,2),T=c(m);{var k=b=>{bt(b,{get eventsWide(){return e(f)},set eventsWide(x){a(f,n(x))},get eventsCollapsed(){return e(g)},set eventsCollapsed(x){a(g,n(x))},children:(x,p)=>{an(x,{})},$$slots:{default:!0}})},h=b=>{var x=me(),p=ee(x);{var S=D=>{bt(D,{get eventsWide(){return e(f)},set eventsWide(j){a(f,n(j))},get eventsCollapsed(){return e(g)},set eventsCollapsed(j){a(g,n(j))},children:(j,N)=>{id(j,{})},$$slots:{default:!0}})},L=D=>{var j=me(),N=ee(j);{var V=F=>{bt(F,{get eventsWide(){return e(f)},set eventsWide(z){a(f,n(z))},get eventsCollapsed(){return e(g)},set eventsCollapsed(z){a(g,n(z))},children:(z,O)=>{Av(z,{})},$$slots:{default:!0}})},R=F=>{var z=me(),O=ee(z);{var U=M=>{bt(M,{get eventsWide(){return e(f)},set eventsWide(W){a(f,n(W))},get eventsCollapsed(){return e(g)},set eventsCollapsed(W){a(g,n(W))},children:(W,J)=>{Cn(W,{})},$$slots:{default:!0}})},Q=M=>{var W=me(),J=ee(W);{var Z=ve=>{bt(ve,{get eventsWide(){return e(f)},set eventsWide(be){a(f,n(be))},get eventsCollapsed(){return e(g)},set eventsCollapsed(be){a(g,n(be))},children:(be,$e)=>{Hn(be,{})},$$slots:{default:!0}})},re=ve=>{var be=me(),$e=ee(be);{var pe=fe=>{bt(fe,{get eventsWide(){return e(f)},set eventsWide(de){a(f,n(de))},get eventsCollapsed(){return e(g)},set eventsCollapsed(de){a(g,n(de))},children:(de,ye)=>{xo(de,{})},$$slots:{default:!0}})},je=fe=>{var de=me(),ye=ee(de);{var we=Ce=>{bt(Ce,{get eventsWide(){return e(f)},set eventsWide(xe){a(f,n(xe))},get eventsCollapsed(){return e(g)},set eventsCollapsed(xe){a(g,n(xe))},children:(xe,Re)=>{Mv(xe,{})},$$slots:{default:!0}})},Pe=Ce=>{var xe=me(),Re=ee(xe);{var H=ge=>{bt(ge,{get eventsWide(){return e(f)},set eventsWide(Ue){a(f,n(Ue))},get eventsCollapsed(){return e(g)},set eventsCollapsed(Ue){a(g,n(Ue))},children:(Ue,Je)=>{cu(Ue,{})},$$slots:{default:!0}})},Ie=ge=>{var Ue=me(),Je=ee(Ue);{var rt=qe=>{bt(qe,{get eventsWide(){return e(f)},set eventsWide(Fe){a(f,n(Fe))},get eventsCollapsed(){return e(g)},set eventsCollapsed(Fe){a(g,n(Fe))},children:(Fe,lt)=>{Tc(Fe,{})},$$slots:{default:!0}})},vt=qe=>{var Fe=me(),lt=ee(Fe);{var xt=Qe=>{bt(Qe,{get eventsWide(){return e(f)},set eventsWide(et){a(f,n(et))},get eventsCollapsed(){return e(g)},set eventsCollapsed(et){a(g,n(et))},children:(et,gt)=>{ou(et,{})},$$slots:{default:!0}})},$t=Qe=>{var et=me(),gt=ee(et);{var ct=at=>{bt(at,{get eventsWide(){return e(f)},set eventsWide(st){a(f,n(st))},get eventsCollapsed(){return e(g)},set eventsCollapsed(st){a(g,n(st))},children:(st,se)=>{Qu(st,{})},$$slots:{default:!0}})},It=at=>{var st=me(),se=ee(st);{var Ae=X=>{bt(X,{get eventsWide(){return e(f)},set eventsWide(Ee){a(f,n(Ee))},get eventsCollapsed(){return e(g)},set eventsCollapsed(Ee){a(g,n(Ee))},children:(Ee,Le)=>{Nd(Ee)},$$slots:{default:!0}})},ze=X=>{var Ee=me(),Le=ee(Ee);{var St=ae=>{bt(ae,{get eventsWide(){return e(f)},set eventsWide(Ge){a(f,n(Ge))},get eventsCollapsed(){return e(g)},set eventsCollapsed(Ge){a(g,n(Ge))},children:(Ge,Oe)=>{Xd(Ge)},$$slots:{default:!0}})};P(Le,ae=>{t()==="Docs"&&ae(St)},!0)}r(X,Ee)};P(se,X=>{t()==="Config"?X(Ae):X(ze,!1)},!0)}r(at,st)};P(gt,at=>{t()==="Providers"?at(ct):at(It,!1)},!0)}r(Qe,et)};P(lt,Qe=>{t()==="ApiKeys"?Qe(xt):Qe($t,!1)},!0)}r(qe,Fe)};P(Je,qe=>{t()==="Blacklist"?qe(rt):qe(vt,!1)},!0)}r(ge,Ue)};P(Re,ge=>{t()==="Events"?ge(H):ge(Ie,!1)},!0)}r(Ce,xe)};P(ye,Ce=>{t()==="Sessions"?Ce(we):Ce(Pe,!1)},!0)}r(fe,de)};P($e,fe=>{t()==="Scopes"?fe(pe):fe(je,!1)},!0)}r(ve,be)};P(J,ve=>{t()==="Groups"?ve(Z):ve(re,!1)},!0)}r(M,W)};P(O,M=>{t()==="Roles"?M(U):M(Q,!1)},!0)}r(F,z)};P(N,F=>{t()==="Clients"?F(V):F(R,!1)},!0)}r(D,j)};P(p,D=>{t()==="Attributes"?D(S):D(L,!1)},!0)}r(b,x)};P(T,b=>{t()==="Users"?b(k):b(h,!1)})}var y=l(T,2);{var w=b=>{kc(b,{get collapsed(){return e(g)},get wide(){return e(f)}})};P(y,b=>{e(u)!==void 0&&b(w)})}v(m),v(o),Bs("innerWidth",b=>a(u,n(b))),r(_,o),ne()}var rh=A('<div class="noAdmin svelte-mia078"><div class="text svelte-mia078">A rauthy admin account must have <b>MFA enabled.</b><br> Please navigate to your <b>account</b> and activate MFA.<br> Afterwards, you need to do a logout and log back in.</div> <!></div>'),ih=A('<div class="noAdmin svelte-mia078"><div class="text svelte-mia078">You are not assigned to the <b>rauthy_admin</b> role.<br> You do not have access to the admin panel.</div> <!></div>');function lh(_,s){le(s,!0);let t=G(s,"selected",15,"Users"),d=C(void 0),i=C(!1),g=C(!1);Ne(async()=>{let o=await Us();if(o.ok){let $=await o.json(),m=await qs();m.ok?(a(d,n($)),a(i,!0)):m.status===406?(a(g,!0),a(d,n({}))):a(d,n({}))}else Oa()});var f=me();Ta(o=>{Aa.title="Admin"});var u=ee(f);{var I=o=>{ua(o,{})},E=o=>{var $=me(),m=ee($);{var T=h=>{var y=rh(),w=l(c(y),2);Se(w,{$$events:{click:()=>window.location.href="/auth/v1/account"},children:(b,x)=>{q();var p=B("ACCOUNT");r(b,p)},$$slots:{default:!0}}),v(y),r(h,y)},k=h=>{var y=me(),w=ee(y);{var b=p=>{var S=ih(),L=l(c(S),2);Se(L,{$$events:{click:()=>window.location.href="/auth/v1/"},children:(D,j)=>{q();var N=B("GO BACK");r(D,N)},$$slots:{default:!0}}),v(S),r(p,S)},x=p=>{sh(p,{get selected(){return t()},set selected(S){t(S)}})};P(w,p=>{e(i)?p(x,!1):p(b)},!0)}r(h,y)};P(m,h=>{e(g)?h(T):h(k,!1)},!0)}r(o,$)};P(u,o=>{!e(d)&&!e(g)?o(I):o(E,!1)})}r(_,f),ne()}export{lh as A};
diff --git a/static/v1/_app/immutable/chunks/AdminMainPre.CSGzinoD.js.br b/static/v1/_app/immutable/chunks/AdminMainPre.CSGzinoD.js.br
new file mode 100644
index 000000000..7c0673f4c
Binary files /dev/null and b/static/v1/_app/immutable/chunks/AdminMainPre.CSGzinoD.js.br differ
diff --git a/static/v1/_app/immutable/chunks/AdminMainPre.CSGzinoD.js.gz b/static/v1/_app/immutable/chunks/AdminMainPre.CSGzinoD.js.gz
new file mode 100644
index 000000000..dc63d0353
Binary files /dev/null and b/static/v1/_app/immutable/chunks/AdminMainPre.CSGzinoD.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/AppVersion.C23iCWTd.js b/static/v1/_app/immutable/chunks/AppVersion.C23iCWTd.js
new file mode 100644
index 000000000..be97bed41
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/AppVersion.C23iCWTd.js
@@ -0,0 +1 @@
+import"./disclose-version.BDr9Qe-U.js";import{p as b,o as h,j as o,Q as A,g as r,a as P,P as i,U as p,W as v,T as d}from"./index-client.CzqVbBUo.js";import{s as u}from"./render.CK5MTJQL.js";import{p as l,i as Q}from"./if.BnegfJmL.js";import{c as T,a as c,t as y}from"./template.io25wnf1.js";import{s as U}from"./Button.JzTZa4bh.js";import{j as $}from"./dataFetching.Br47vc1D.js";var x=y('<div class="ver upd svelte-zcqypp"><a target="_blank" class="svelte-zcqypp"> </a></div>'),H=y('<div class="ver svelte-zcqypp"> </div>');function M(_,j){b(j,!0);let e=i(""),m=i(!1),f=i("");h(()=>{q()});async function q(){let s=await $();if(s.ok){let a=await s.json();o(e,l(a.current)),a.last_check,a.latest,o(f,l(a.latest_url)),o(m,l(a.update_available))}}var n=T(),z=A(n);{var g=s=>{var a=x(),t=p(a),w=p(t);v(t),v(a),d(()=>{U(t,"href",r(f)),u(w,`v${r(e)??""}\u26A0\uFE0F`)}),c(s,a)},k=s=>{var a=H(),t=p(a);v(a),d(()=>u(t,`v${r(e)??""}`)),c(s,a)};Q(z,s=>{r(m)?s(g):s(k,!1)})}c(_,n),P()}export{M as A};
diff --git a/static/v1/_app/immutable/chunks/AppVersion.C23iCWTd.js.br b/static/v1/_app/immutable/chunks/AppVersion.C23iCWTd.js.br
new file mode 100644
index 000000000..7f2185036
Binary files /dev/null and b/static/v1/_app/immutable/chunks/AppVersion.C23iCWTd.js.br differ
diff --git a/static/v1/_app/immutable/chunks/AppVersion.C23iCWTd.js.gz b/static/v1/_app/immutable/chunks/AppVersion.C23iCWTd.js.gz
new file mode 100644
index 000000000..30deceb16
Binary files /dev/null and b/static/v1/_app/immutable/chunks/AppVersion.C23iCWTd.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/AppVersion.DL5DXmu_.js b/static/v1/_app/immutable/chunks/AppVersion.DL5DXmu_.js
deleted file mode 100644
index ff6b06140..000000000
--- a/static/v1/_app/immutable/chunks/AppVersion.DL5DXmu_.js
+++ /dev/null
@@ -1 +0,0 @@
-import{c as w,a as o,b as d}from"./disclose-version.DZhRUPAc.js";import{p as h,o as A,j as i,a0 as $,g as t,a as x,_ as p,a3 as v,a5 as l,a2 as u}from"./index-client.CGppiJvc.js";import{s as _}from"./render.D4MwAWTL.js";import{i as B}from"./if.DUA6Hpfn.js";import{s as C}from"./Loading.FF_EHyHU.js";import{p as m}from"./proxy.DB4Km9hY.js";import{j as D}from"./dataFetching.Dto1xJW6.js";var L=d('<div class="ver upd svelte-zcqypp"><a target="_blank" class="svelte-zcqypp"> </a></div>'),M=d('<div class="ver svelte-zcqypp"> </div>');function U(y,j){h(j,!0);let e=p(""),c=p(!1),f=p("");A(()=>{q()});async function q(){let s=await D();if(s.ok){let a=await s.json();i(e,m(a.current)),a.last_check,a.latest,i(f,m(a.latest_url)),i(c,m(a.update_available))}}var n=w(),z=$(n);{var b=s=>{var a=L(),r=v(a),k=v(r);l(r),l(a),u(()=>{C(r,"href",t(f)),_(k,`v${t(e)??""}\u26A0\uFE0F`)}),o(s,a)},g=s=>{var a=M(),r=v(a);l(a),u(()=>_(r,`v${t(e)??""}`)),o(s,a)};B(z,s=>{t(c)?s(b):s(g,!1)})}o(y,n),x()}export{U as A};
diff --git a/static/v1/_app/immutable/chunks/AppVersion.DL5DXmu_.js.br b/static/v1/_app/immutable/chunks/AppVersion.DL5DXmu_.js.br
deleted file mode 100644
index f131784c5..000000000
Binary files a/static/v1/_app/immutable/chunks/AppVersion.DL5DXmu_.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/AppVersion.DL5DXmu_.js.gz b/static/v1/_app/immutable/chunks/AppVersion.DL5DXmu_.js.gz
deleted file mode 100644
index 9458bbe26..000000000
Binary files a/static/v1/_app/immutable/chunks/AppVersion.DL5DXmu_.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/Button.BH2_dPry.js b/static/v1/_app/immutable/chunks/Button.BH2_dPry.js
deleted file mode 100644
index a49ba78e5..000000000
--- a/static/v1/_app/immutable/chunks/Button.BH2_dPry.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as v,b as k,c as J}from"./disclose-version.DZhRUPAc.js";import{p as K,_ as u,a7 as M,a2 as N,a as O,a3 as h,g as d,a5 as w,a0 as P,j as s,n as Q,h as R}from"./index-client.CGppiJvc.js";import{d as S,e as U}from"./render.D4MwAWTL.js";import{i as L}from"./if.DUA6Hpfn.js";import{s as V}from"./snippet.xhmr1ywJ.js";import{L as W,t as X,f as Y,c as Z}from"./Loading.FF_EHyHU.js";import{x as $,y as x}from"./dataFetching.Dto1xJW6.js";import{p as l}from"./props.Df_pGDSd.js";import{r as g}from"./legacy-client.CgqodnwN.js";var q=k('<div class="load svelte-103k7bs"><!></div>'),z=k('<div class="txt svelte-103k7bs"><!></div>'),A=k("<button><!></button>");function aa(T,o){K(o,!0);let _=l(o,"level",3,2),j=l(o,"width",3,"inherit"),c=l(o,"selected",15,void 0),B=l(o,"isDisabled",3,!1),r=l(o,"isLoading",11,!1),m=u(!r()),i=u("button"),b=u("white"),C=R(()=>B()||r());g(()=>{if(_())switch(_()){case 1:s(i,"font-label l1");break;case 2:s(i,"font-label l2");break;case 3:s(i,"font-label l3"),s(b,"var(--col-acnt)");break;default:s(i,"font-label l4"),s(b,"var(--col-acnt)")}}),g(()=>{r()&&setTimeout(()=>{s(m,!1)},120)}),g(()=>{r()||setTimeout(()=>{s(m,!0)},120)});const D=M();function y(){c()!==void 0&&c(!c()),D("click",!0)}var a=A();a.__click=y;var E=h(a);{var F=e=>{var t=q(),f=h(t);W(f,{background:!1,get color(){return d(b)}}),w(t),v(e,t)},G=e=>{var t=J(),f=P(t);{var H=p=>{var n=z(),I=h(n);V(I,()=>o.children??Q),w(n),X(1,n,()=>Y),v(p,n)};L(f,p=>{d(m)&&p(H)},!0)}v(e,t)};L(E,e=>{r()?e(F):e(G,!1)})}w(a),N(()=>{$(a,Z(d(i)),"svelte-103k7bs"),a.disabled=d(C),x(a,"width",j()),x(a,"box-shadow",c()?"inset 0 0 3px 2px var(--col-glow)":""),x(a,"cursor",r()?"default":"pointer")}),U("keypress",a,y),v(T,a),O()}S(["click"]);export{aa as B};
diff --git a/static/v1/_app/immutable/chunks/Button.BH2_dPry.js.br b/static/v1/_app/immutable/chunks/Button.BH2_dPry.js.br
deleted file mode 100644
index 0fe7dd8b5..000000000
Binary files a/static/v1/_app/immutable/chunks/Button.BH2_dPry.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/Button.BH2_dPry.js.gz b/static/v1/_app/immutable/chunks/Button.BH2_dPry.js.gz
deleted file mode 100644
index e9002e26a..000000000
Binary files a/static/v1/_app/immutable/chunks/Button.BH2_dPry.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/Button.JzTZa4bh.js b/static/v1/_app/immutable/chunks/Button.JzTZa4bh.js
new file mode 100644
index 000000000..44c90d664
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/Button.JzTZa4bh.js
@@ -0,0 +1,4 @@
+import"./disclose-version.BDr9Qe-U.js";import{B as L,aQ as rt,a4 as ot,aR as lt,aS as ut,K as ct,aT as dt,aU as ft,w as vt,d as pt,aV as bt,v as K,av as mt,y as gt,n as C,aW as ht,aX as yt,aJ as Q,ap as q,aD as kt,U as N,R as G,W as T,T as J,p as $t,P as R,aP as _t,a as wt,g as P,Q as xt,j as A,h as At}from"./index-client.CzqVbBUo.js";import{a as Ct,i as Ft,c as St,d as X,b as Nt,n as Tt,f as Et,g as Mt,e as Ot}from"./render.CK5MTJQL.js";import{a as E,t as W,c as Pt}from"./template.io25wnf1.js";import{i as H}from"./if.BnegfJmL.js";import{s as Wt}from"./snippet.B82X2vfx.js";import{t as U,s as F,b as jt}from"./helpers.BvaXa0cv.js";import{p as x}from"./props.C_MHtC74.js";import{r as V}from"./legacy-client.DPLAlLYD.js";function Y(t){var e,a,s="";if(typeof t=="string"||typeof t=="number")s+=t;else if(typeof t=="object")if(Array.isArray(t)){var n=t.length;for(e=0;e<n;e++)t[e]&&(a=Y(t[e]))&&(s&&(s+=" "),s+=a)}else for(a in t)t[a]&&(s&&(s+=" "),s+=a);return s}function Lt(){for(var t,e,a=0,s="",n=arguments.length;a<n;a++)(t=arguments[a])&&(e=Y(t))&&(s&&(s+=" "),s+=e);return s}function z(t){return typeof t=="object"?Lt(t):t??""}function Rt(t){if(L){var e=!1,a=()=>{if(!e){if(e=!0,t.hasAttribute("value")){var s=t.value;M(t,"value",null),t.value=s}if(t.hasAttribute("checked")){var n=t.checked;M(t,"checked",null),t.checked=n}}};t.__on_r=a,rt(a),Ct()}}function Ut(t,e){var a=t.__attributes??(t.__attributes={});a.value===(a.value=e??void 0)||t.value===e&&(e!==0||t.nodeName!=="PROGRESS")||(t.value=e)}function Vt(t,e){e?t.hasAttribute("selected")||t.setAttribute("selected",""):t.removeAttribute("selected")}function M(t,e,a,s){var n=t.__attributes??(t.__attributes={});L&&(n[e]=t.getAttribute(e),e==="src"||e==="srcset"||e==="href"&&t.nodeName==="LINK")||n[e]!==(n[e]=a)&&(e==="style"&&"__styles"in t&&(t.__styles={}),e==="loading"&&(t[lt]=a),a==null?t.removeAttribute(e):typeof a!="string"&&tt(t).includes(e)?t[e]=a:t.setAttribute(e,a))}function zt(t,e,a,s,n=!1,l=!1,o=!1){var c=e||{},m=t.tagName==="OPTION";for(var d in e)d in a||(a[d]=null);a.class&&(a.class=z(a.class)),s!==void 0&&(a.class=a.class?a.class+" "+s:s);var f=tt(t),p=t.__attributes??(t.__attributes={});for(const i in a){let r=a[i];if(m&&i==="value"&&r==null){t.value=t.__value="",c[i]=r;continue}var v=c[i];if(r!==v){c[i]=r;var b=i[0]+i[1];if(b!=="$$"){if(b==="on"){const g={},$="$$"+i;let h=i.slice(2);var k=Et(h);if(Ft(h)&&(h=h.slice(0,-7),g.capture=!0),!k&&v){if(r!=null)continue;t.removeEventListener(h,c[$],g),c[$]=null}if(r!=null)if(k)t[`__${h}`]=r,X([h]);else{let w=function(S){c[i].call(this,S)};c[$]=St(h,t,w,g)}else k&&(t[`__${h}`]=void 0)}else if(i==="style"&&r!=null)t.style.cssText=r+"";else if(i==="autofocus")Nt(t,!!r);else if(i==="__value"||i==="value"&&r!=null)t.value=t[i]=t.__value=r;else if(i==="selected"&&m)Vt(t,r);else{var u=i;n||(u=Tt(u));var y=u==="defaultValue"||u==="defaultChecked";if(r==null&&!l&&!y)if(p[i]=null,u==="value"||u==="checked"){let g=t;if(u==="value"){let $=g.defaultValue;g.removeAttribute(u),g.defaultValue=$}else{let $=g.defaultChecked;g.removeAttribute(u),g.defaultChecked=$}}else t.removeAttribute(i);else y||f.includes(u)&&(l||typeof r!="string")?t[u]=r:typeof r!="function"&&(L&&(u==="src"||u==="href"||u==="srcset")||M(t,u,r))}i==="style"&&"__styles"in t&&(t.__styles={})}}}return c}var Z=new Map;function tt(t){var e=Z.get(t.nodeName);if(e)return e;Z.set(t.nodeName,e=[]);for(var a,s=t,n=Element.prototype;n!==s;){a=ut(s);for(var l in a)a[l].set&&e.push(l);s=ot(s)}return e}const Bt=()=>performance.now(),_={tick:t=>requestAnimationFrame(t),now:()=>Bt(),tasks:new Set};function et(){const t=_.now();_.tasks.forEach(e=>{e.c(t)||(_.tasks.delete(e),e.f())}),_.tasks.size!==0&&_.tick(et)}function at(t){let e;return _.tasks.size===0&&_.tick(et),{promise:new Promise(a=>{_.tasks.add(e={c:t,f:a})}),abort(){_.tasks.delete(e)}}}function j(t,e){t.dispatchEvent(new CustomEvent(e))}function Dt(t){if(t==="float")return"cssFloat";if(t==="offset")return"cssOffset";if(t.startsWith("--"))return t;const e=t.split("-");return e.length===1?e[0]:e[0]+e.slice(1).map(a=>a[0].toUpperCase()+a.slice(1)).join("")}function st(t){const e={},a=t.split(";");for(const s of a){const[n,l]=s.split(":");if(!n||l===void 0)break;const o=Dt(n.trim());e[o]=l.trim()}return e}const It=t=>t;function B(t,e,a,s){var n=(t&bt)!==0,l=(t&ht)!==0,o=n&&l,c=(t&yt)!==0,m=o?"both":n?"in":"out",d,f=e.inert,p,v;function b(){var r=kt,g=K;Q(null),q(null);try{return d??(d=a()(e,(s==null?void 0:s())??{},{direction:m}))}finally{Q(r),q(g)}}var k={is_global:c,in(){var r;if(e.inert=f,!n){v==null||v.abort(),(r=v==null?void 0:v.reset)==null||r.call(v);return}l||(p==null||p.abort()),j(e,"introstart"),p=D(e,b(),v,1,()=>{j(e,"introend"),p==null||p.abort(),p=d=void 0})},out(r){if(!l){r==null||r(),d=void 0;return}e.inert=!0,j(e,"outrostart"),v=D(e,b(),p,0,()=>{j(e,"outroend"),r==null||r()})},stop:()=>{p==null||p.abort(),v==null||v.abort()}},u=K;if((u.transitions??(u.transitions=[])).push(k),n&&Mt){var y=c;if(!y){for(var i=u.parent;i&&i.f&ct;)for(;(i=i.parent)&&!(i.f&dt););y=!i||(i.f&ft)!==0}y&&vt(()=>{pt(()=>k.in())})}}function D(t,e,a,s,n){var l=s===1;if(mt(e)){var o,c=!1;return gt(()=>{if(!c){var y=e({direction:l?"in":"out"});o=D(t,y,a,s,n)}}),{abort:()=>{c=!0,o==null||o.abort()},deactivate:()=>o.deactivate(),reset:()=>o.reset(),t:()=>o.t()}}if(a==null||a.deactivate(),!(e!=null&&e.duration))return n(),{abort:C,deactivate:C,reset:C,t:()=>s};const{delay:m=0,css:d,tick:f,easing:p=It}=e;var v=[];if(l&&a===void 0&&(f&&f(0,1),d)){var b=st(d(0,1));v.push(b,b)}var k=()=>1-s,u=t.animate(v,{duration:m});return u.onfinish=()=>{var y=(a==null?void 0:a.t())??1-s;a==null||a.abort();var i=s-y,r=e.duration*Math.abs(i),g=[];if(r>0){if(d)for(var $=Math.ceil(r/16.666666666666668),h=0;h<=$;h+=1){var w=y+i*p(h/$),S=d(w,1-w);g.push(st(S))}k=()=>{var O=u.currentTime;return y+i*p(O/r)},f&&at(()=>{if(u.playState!=="running")return!1;var O=k();return f(O,1-O),!0})}u=t.animate(g,{duration:r,fill:"forwards"}),u.onfinish=()=>{k=()=>s,f==null||f(s,1-s),n()}},{abort:()=>{u&&(u.cancel(),u.effect=null,u.onfinish=C)},deactivate:()=>{n=C},reset:()=>{s===0&&(f==null||f(1,0))},t:()=>k()}}const Kt=t=>t;function it(t){const e=t-1;return e*e*e+1}function Qt(t){return t<.5?4*t*t*t:.5*Math.pow(2*t-2,3)+1}function qt(t){const e=typeof t=="string"&&t.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);return e?[parseFloat(e[1]),e[2]||"px"]:[t,"px"]}function Gt(t,{delay:e=0,duration:a=400,easing:s=Qt,amount:n=5,opacity:l=0}={}){const o=getComputedStyle(t),c=+o.opacity,m=o.filter==="none"?"":o.filter,d=c*(1-l),[f,p]=qt(n);return{delay:e,duration:a,easing:s,css:(v,b)=>`opacity: ${c-d*b}; filter: ${m} blur(${b*f}${p});`}}function I(t,{delay:e=0,duration:a=400,easing:s=Kt}={}){const n=+getComputedStyle(t).opacity;return{delay:e,duration:a,easing:s,css:l=>`opacity: ${l*n}`}}function Jt(t,{delay:e=0,duration:a=400,easing:s=it,axis:n="y"}={}){const l=getComputedStyle(t),o=+l.opacity,c=n==="y"?"height":"width",m=parseFloat(l[c]),d=n==="y"?["top","bottom"]:["left","right"],f=d.map(i=>`${i[0].toUpperCase()}${i.slice(1)}`),p=parseFloat(l[`padding${f[0]}`]),v=parseFloat(l[`padding${f[1]}`]),b=parseFloat(l[`margin${f[0]}`]),k=parseFloat(l[`margin${f[1]}`]),u=parseFloat(l[`border${f[0]}Width`]),y=parseFloat(l[`border${f[1]}Width`]);return{delay:e,duration:a,easing:s,css:i=>`overflow: hidden;opacity: ${Math.min(i*20,1)*o};${c}: ${i*m}px;padding-${d[0]}: ${i*p}px;padding-${d[1]}: ${i*v}px;margin-${d[0]}: ${i*b}px;margin-${d[1]}: ${i*k}px;border-${d[0]}-width: ${i*u}px;border-${d[1]}-width: ${i*y}px;`}}function Xt(t,{delay:e=0,duration:a=400,easing:s=it,start:n=0,opacity:l=0}={}){const o=getComputedStyle(t),c=+o.opacity,m=o.transform==="none"?"":o.transform,d=1-n,f=c*(1-l);return{delay:e,duration:a,easing:s,css:(p,v)=>`
+			transform: ${m} scale(${1-d*v});
+			opacity: ${c-f*v}
+		`}}var Ht=W('<div class="container svelte-2cwfk8"><div class="loading svelte-2cwfk8"><div class="loading-1 svelte-2cwfk8"></div> <div class="loading-2 svelte-2cwfk8"></div> <div class="loading-3 svelte-2cwfk8"></div></div></div>');function nt(t,e){let a=x(e,"offset",3,0),s=x(e,"background",3,!1),n=x(e,"global",3,!1),l=x(e,"color",3,"var(--col-acnt)");var o=Ht(),c=N(o),m=N(c),d=G(m,2),f=G(d,2);T(c),T(o),J(()=>{U(o,"global",n()),U(o,"local",!n()),U(o,"background",s()),M(c,"style",`margin-top: ${a()??""}px;`),F(m,"background",l()),F(d,"background",l()),F(f,"background",l())}),B(3,o,()=>I,()=>({duration:100})),E(t,o)}var Yt=W('<div class="load svelte-103k7bs"><!></div>'),Zt=W('<div class="txt svelte-103k7bs"><!></div>'),te=W("<button><!></button>");function ee(t,e){$t(e,!0);let a=x(e,"level",3,2),s=x(e,"width",3,"inherit"),n=x(e,"selected",15,void 0),l=x(e,"isDisabled",3,!1),o=x(e,"isLoading",11,!1),c=R(!o()),m=R("button"),d=R("white"),f=At(()=>l()||o());V(()=>{if(a())switch(a()){case 1:A(m,"font-label l1");break;case 2:A(m,"font-label l2");break;case 3:A(m,"font-label l3"),A(d,"var(--col-acnt)");break;default:A(m,"font-label l4"),A(d,"var(--col-acnt)")}}),V(()=>{o()&&setTimeout(()=>{A(c,!1)},120)}),V(()=>{o()||setTimeout(()=>{A(c,!0)},120)});const p=_t();function v(){n()!==void 0&&n(!n()),p("click",!0)}var b=te();b.__click=v;var k=N(b);{var u=i=>{var r=Yt(),g=N(r);nt(g,{background:!1,get color(){return P(d)}}),T(r),E(i,r)},y=i=>{var r=Pt(),g=xt(r);{var $=h=>{var w=Zt(),S=N(w);Wt(S,()=>e.children??C),T(w),B(1,w,()=>I),E(h,w)};H(g,h=>{P(c)&&h($)},!0)}E(i,r)};H(k,i=>{o()?i(u):i(y,!1)})}T(b),J(()=>{jt(b,z(P(m)),"svelte-103k7bs"),b.disabled=P(f),F(b,"width",s()),F(b,"box-shadow",n()?"inset 0 0 3px 2px var(--col-glow)":""),F(b,"cursor",o()?"default":"pointer")}),Ot("keypress",b,v),E(t,b),wt()}X(["click"]);export{ee as B,nt as L,Jt as a,Xt as b,Ut as c,Rt as d,zt as e,I as f,z as g,Gt as h,at as l,_ as r,M as s,B as t};
diff --git a/static/v1/_app/immutable/chunks/Button.JzTZa4bh.js.br b/static/v1/_app/immutable/chunks/Button.JzTZa4bh.js.br
new file mode 100644
index 000000000..ea77ada88
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Button.JzTZa4bh.js.br differ
diff --git a/static/v1/_app/immutable/chunks/Button.JzTZa4bh.js.gz b/static/v1/_app/immutable/chunks/Button.JzTZa4bh.js.gz
new file mode 100644
index 000000000..920e57deb
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Button.JzTZa4bh.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/CheckIcon.B6v_Qvnl.js b/static/v1/_app/immutable/chunks/CheckIcon.B6v_Qvnl.js
new file mode 100644
index 000000000..92ce7370c
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/CheckIcon.B6v_Qvnl.js
@@ -0,0 +1 @@
+import"./disclose-version.BDr9Qe-U.js";import{T as p,Q as k}from"./index-client.CzqVbBUo.js";import{a as c,n as v,c as f}from"./template.io25wnf1.js";import{i as u}from"./if.BnegfJmL.js";import{p as a}from"./props.C_MHtC74.js";import{s as t}from"./Button.JzTZa4bh.js";var w=v('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path></svg>');function d(l,r){let n=a(r,"color",3,"var(--col-text)"),i=a(r,"opacity",3,.9),s=a(r,"width",3,20);var o=w();t(o,"stroke-width",2),p(()=>{t(o,"width",s()),t(o,"color",n()),t(o,"opacity",i())}),c(l,o)}var g=v('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path></svg>');function h(l,r){let n=a(r,"color",3,"var(--col-text)"),i=a(r,"opacity",3,.9),s=a(r,"width",3,20);var o=g();t(o,"stroke-width",2),p(()=>{t(o,"width",s()),t(o,"color",n()),t(o,"opacity",i())}),c(l,o)}function x(l,r){let n=a(r,"check",3,!1);var i=f(),s=k(i);{var o=e=>{d(e,{color:"var(--col-ok)"})},m=e=>{h(e,{color:"var(--col-err)"})};u(s,e=>{n()?e(o):e(m,!1)})}c(l,i)}export{x as C,d as I,h as a};
diff --git a/static/v1/_app/immutable/chunks/CheckIcon.B6v_Qvnl.js.br b/static/v1/_app/immutable/chunks/CheckIcon.B6v_Qvnl.js.br
new file mode 100644
index 000000000..56d5992ca
Binary files /dev/null and b/static/v1/_app/immutable/chunks/CheckIcon.B6v_Qvnl.js.br differ
diff --git a/static/v1/_app/immutable/chunks/CheckIcon.B6v_Qvnl.js.gz b/static/v1/_app/immutable/chunks/CheckIcon.B6v_Qvnl.js.gz
new file mode 100644
index 000000000..eec88736b
Binary files /dev/null and b/static/v1/_app/immutable/chunks/CheckIcon.B6v_Qvnl.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/CheckIcon.Cjxxxfsf.js b/static/v1/_app/immutable/chunks/CheckIcon.Cjxxxfsf.js
deleted file mode 100644
index c0662b90b..000000000
--- a/static/v1/_app/immutable/chunks/CheckIcon.Cjxxxfsf.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as c,n as p,c as k}from"./disclose-version.DZhRUPAc.js";import{a2 as v,a0 as m}from"./index-client.CGppiJvc.js";import{i as u}from"./if.DUA6Hpfn.js";import{p as t}from"./props.Df_pGDSd.js";import{s as a}from"./Loading.FF_EHyHU.js";var w=p('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M4.5 12.75l6 6 9-13.5"></path></svg>');function d(l,r){let n=t(r,"color",3,"var(--col-text)"),e=t(r,"opacity",3,.9),s=t(r,"width",3,20);var o=w();a(o,"stroke-width",2),v(()=>{a(o,"width",s()),a(o,"color",n()),a(o,"opacity",e())}),c(l,o)}var g=p('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path></svg>');function h(l,r){let n=t(r,"color",3,"var(--col-text)"),e=t(r,"opacity",3,.9),s=t(r,"width",3,20);var o=g();a(o,"stroke-width",2),v(()=>{a(o,"width",s()),a(o,"color",n()),a(o,"opacity",e())}),c(l,o)}function x(l,r){let n=t(r,"check",3,!1);var e=k(),s=m(e);{var o=i=>{d(i,{color:"var(--col-ok)"})},f=i=>{h(i,{color:"var(--col-err)"})};u(s,i=>{n()?i(o):i(f,!1)})}c(l,e)}export{x as C,d as I,h as a};
diff --git a/static/v1/_app/immutable/chunks/CheckIcon.Cjxxxfsf.js.br b/static/v1/_app/immutable/chunks/CheckIcon.Cjxxxfsf.js.br
deleted file mode 100644
index 5af7acbf1..000000000
Binary files a/static/v1/_app/immutable/chunks/CheckIcon.Cjxxxfsf.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/CheckIcon.Cjxxxfsf.js.gz b/static/v1/_app/immutable/chunks/CheckIcon.Cjxxxfsf.js.gz
deleted file mode 100644
index ba9a29d45..000000000
Binary files a/static/v1/_app/immutable/chunks/CheckIcon.Cjxxxfsf.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/ContentCenter.B2VsFG_i.js b/static/v1/_app/immutable/chunks/ContentCenter.B2VsFG_i.js
new file mode 100644
index 000000000..06cdabf96
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/ContentCenter.B2VsFG_i.js
@@ -0,0 +1 @@
+import"./disclose-version.BDr9Qe-U.js";import{p as o,a as v,U as m,W as n}from"./index-client.CzqVbBUo.js";import{a as t,t as l}from"./template.io25wnf1.js";import{s as e}from"./snippet.B82X2vfx.js";var p=l('<main class="svelte-1w3gfbz"><!></main>');function c(r,s){o(s,!0);var a=p(),i=m(a);e(i,()=>s.children),n(a),t(r,a),v()}var f=l('<div class="svelte-vtwvgl"><!></div>');function d(r,s){o(s,!0);var a=f(),i=m(a);e(i,()=>s.children),n(a),t(r,a),v()}export{d as C,c as M};
diff --git a/static/v1/_app/immutable/chunks/ContentCenter.B2VsFG_i.js.br b/static/v1/_app/immutable/chunks/ContentCenter.B2VsFG_i.js.br
new file mode 100644
index 000000000..4f9184c97
Binary files /dev/null and b/static/v1/_app/immutable/chunks/ContentCenter.B2VsFG_i.js.br differ
diff --git a/static/v1/_app/immutable/chunks/ContentCenter.B2VsFG_i.js.gz b/static/v1/_app/immutable/chunks/ContentCenter.B2VsFG_i.js.gz
new file mode 100644
index 000000000..5160fa4de
Binary files /dev/null and b/static/v1/_app/immutable/chunks/ContentCenter.B2VsFG_i.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/ContentCenter.CsjyBf2d.js b/static/v1/_app/immutable/chunks/ContentCenter.CsjyBf2d.js
deleted file mode 100644
index e1905ac4d..000000000
--- a/static/v1/_app/immutable/chunks/ContentCenter.CsjyBf2d.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as v,b as o}from"./disclose-version.DZhRUPAc.js";import{p as m,a as n,a3 as t,a5 as l}from"./index-client.CGppiJvc.js";import{s as c}from"./snippet.xhmr1ywJ.js";var f=o('<main class="svelte-1w3gfbz"><!></main>');function p(r,s){m(s,!0);var a=f(),i=t(a);c(i,()=>s.children),l(a),v(r,a),n()}var d=o('<div class="svelte-vtwvgl"><!></div>');function e(r,s){m(s,!0);var a=d(),i=t(a);c(i,()=>s.children),l(a),v(r,a),n()}export{e as C,p as M};
diff --git a/static/v1/_app/immutable/chunks/ContentCenter.CsjyBf2d.js.br b/static/v1/_app/immutable/chunks/ContentCenter.CsjyBf2d.js.br
deleted file mode 100644
index 576d4c248..000000000
Binary files a/static/v1/_app/immutable/chunks/ContentCenter.CsjyBf2d.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/ContentCenter.CsjyBf2d.js.gz b/static/v1/_app/immutable/chunks/ContentCenter.CsjyBf2d.js.gz
deleted file mode 100644
index e33663b74..000000000
Binary files a/static/v1/_app/immutable/chunks/ContentCenter.CsjyBf2d.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/Devices.1_HD5eJJ.js b/static/v1/_app/immutable/chunks/Devices.1_HD5eJJ.js
new file mode 100644
index 000000000..1ad259315
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/Devices.1_HD5eJJ.js
@@ -0,0 +1 @@
+import{A as ea,B as K,a6 as _e,N as aa,I as $e,E as ta,aM as sa,aL as oa,G as ia,J as ra,O as la,aY as na,d as Ee,x as ie,w as va,ai as ca,U as m,W as u,T as y,g as l,p as Z,o as Ie,j as D,aZ as da,n as re,R as _,a as ee,P as Y,Q as le,h as ae,V as ua}from"./index-client.CzqVbBUo.js";import{l as Te,j as ma,w as Ce,d as q,s as E,e as j}from"./render.CK5MTJQL.js";import"./disclose-version.BDr9Qe-U.js";import{e as Se,i as fa}from"./OptionSelect.jFlepSwk.js";import{d as Ne,e as pa,a as k,t as C,b as Ue,c as Ae,n as ba}from"./template.io25wnf1.js";import{s as M,r as De,l as xa,t as Re,f as ha,a as wa}from"./Button.JzTZa4bh.js";import{p as I,s as ne,b as ka,a as ve}from"./props.C_MHtC74.js";import{t as je,s as ga}from"./helpers.BvaXa0cv.js";import{r as ce}from"./legacy-client.DPLAlLYD.js";import{p as L,i as z}from"./if.BnegfJmL.js";import{a5 as ya,P as Me,a6 as _a,a7 as $a,a8 as Ea}from"./dataFetching.Br47vc1D.js";import{s as de}from"./snippet.B82X2vfx.js";import{b as Oe}from"./this.CLOcaDU7.js";import{w as Ia}from"./index.GhyFcvTZ.js";import{i as Pe}from"./tweened.x1rdCnFk.js";import{I as Ta}from"./Input.jkTumKYK.js";import{I as Ca,a as Sa}from"./CheckIcon.B6v_Qvnl.js";import{u as Na}from"./i18n.svelte.C_qSL0ZA.js";function Xe(e,t,o,a,i){var s=e,n="",c;ea(()=>{if(n===(n=t()??"")){K&&_e();return}c!==void 0&&(la(c),c=void 0),n!==""&&(c=aa(()=>{if(K){$e.data;for(var v=_e(),f=v;v!==null&&(v.nodeType!==8||v.data!=="");)f=v,v=ta(v);if(v===null)throw sa(),oa;Ne($e,f),s=ia(v);return}var $=n+"",h=pa($);Ne(ra(h),h.lastChild),s.before(h)}))})}function Ua(e,t,o=t){var a=na();Te(e,"input",i=>{var s=i?e.defaultValue:e.value;if(s=ue(e)?me(s):s,o(s),a&&s!==(s=t())){var n=e.selectionStart,c=e.selectionEnd;e.value=s??"",c!==null&&(e.selectionStart=n,e.selectionEnd=Math.min(c,e.value.length))}}),(K&&e.defaultValue!==e.value||Ee(t)==null&&e.value)&&o(ue(e)?me(e.value):e.value),ie(()=>{var i=t();ue(e)&&i===me(e.value)||e.type==="date"&&!i&&!e.value||i!==e.value&&(e.value=i??"")})}function Aa(e,t,o=t){Te(e,"change",a=>{var i=a?e.defaultChecked:e.checked;o(i)}),(K&&e.defaultChecked!==e.checked||Ee(t)==null)&&o(e.checked),ie(()=>{var a=t();e.checked=!!a})}function ue(e){var t=e.type;return t==="number"||t==="range"}function me(e){return e===""?null:+e}function Da(e,t,o=t){var a=e==="x",i=()=>Ce(()=>{s=!0,clearTimeout(n),n=setTimeout(c,100),o(window[a?"scrollX":"scrollY"])});addEventListener("scroll",i,{passive:!0});var s=!1,n,c=()=>{s=!1},v=!0;ie(()=>{var f=t();v?v=!1:!s&&f!=null&&(s=!0,clearTimeout(n),scrollTo(window.scrollX,f),n=setTimeout(c,100))}),va(i),ca(()=>{removeEventListener("scroll",i)})}function Ra(e,t){ma(window,["resize"],()=>Ce(()=>t(window[e])))}var ja=(e,t,o)=>t(l(o)),Ma=C('<button class="btn font-label svelte-n2aryx"> </button>'),Oa=C('<div class="bar noselect svelte-n2aryx"></div>');function Pa(e,t){let o=I(t,"labels",19,()=>[]),a=I(t,"selected",15);var i=Oa();Se(i,21,o,fa,(s,n)=>{var c=Ma();c.__click=[ja,a,n];var v=m(c,!0);u(c),y(()=>{M(c,"data-selected",a()===l(n)),E(v,l(n))}),j("keypress",c,()=>a(l(n))),k(s,c)}),u(i),k(e,i)}q(["click"]);function fe(e,t,o,a){if(typeof o=="number"||Pe(o)){const i=a-o,s=(o-t)/(e.dt||1/60),n=e.opts.stiffness*i,c=e.opts.damping*s,v=(n-c)*e.inv_mass,f=(s+v)*e.dt;return Math.abs(f)<e.opts.precision&&Math.abs(i)<e.opts.precision?a:(e.settled=!1,Pe(o)?new Date(o.getTime()+f):o+f)}else{if(Array.isArray(o))return o.map((i,s)=>fe(e,t[s],o[s],a[s]));if(typeof o=="object"){const i={};for(const s in o)i[s]=fe(e,t[s],o[s],a[s]);return i}else throw new Error(`Cannot spring ${typeof o} values`)}}function pe(e,t={}){const o=Ia(e),{stiffness:a=.15,damping:i=.8,precision:s=.01}=t;let n,c,v,f=e,$=e,h=1,U=0,N=!1;function d(b,p={}){$=b;const x=v={};return e==null||p.hard||r.stiffness>=1&&r.damping>=1?(N=!0,n=De.now(),f=b,o.set(e=$),Promise.resolve()):(p.soft&&(U=1/((p.soft===!0?.5:+p.soft)*60),h=0),c||(n=De.now(),N=!1,c=xa(w=>{if(N)return N=!1,c=null,!1;h=Math.min(h+U,1);const A={inv_mass:h,opts:r,settled:!0,dt:(w-n)*60/1e3},O=fe(A,f,e,$);return n=w,f=e,o.set(e=O),A.settled&&(c=null),!A.settled})),new Promise(w=>{c.promise.then(()=>{x===v&&w()})}))}const r={set:d,update:(b,p)=>d(b($,e),p),subscribe:o.subscribe,stiffness:a,damping:i,precision:s};return r}var Xa=C('<div class="tooltip svelte-op12yu"><!></div>'),Ha=C('<div role="none"><!> <!></div>');function be(e,t){Z(t,!0);const o=ne(),a=()=>ve(l(f),"$coords",o);let i=I(t,"xOffset",3,10),s=I(t,"yOffset",3,10),n=I(t,"text",3,""),c=I(t,"html",3,""),v=Y(!1),f=Y(void 0),$;Ie(()=>{ka(D(f,L(pe({x:(window==null?void 0:window.innerWidth)/2,y:window.innerHeight/2},{stiffness:.1,damping:.6}))),"$coords",o)}),da(()=>{clearTimeout($)});function h(){clearTimeout($),D(v,!0)}function U(){$=setTimeout(()=>{D(v,!1)},100)}function N(x){l(f).set({x:x.clientX+i(),y:x.clientY+s()})}var d=Ha();d.__mouseover=h,d.__mouseout=U,d.__mousemove=N;var r=m(d);de(r,()=>t.children??re);var b=_(r,2);{var p=x=>{var w=Xa(),A=m(w);{var O=S=>{var g=Ue();y(()=>E(g,n())),k(S,g)},B=S=>{var g=Ae(),R=le(g);{var G=H=>{var V=Ae(),Q=le(V);Xe(Q,c),k(H,V)};z(R,H=>{c()&&H(G)},!0)}k(S,g)};z(A,S=>{n()?S(O):S(B,!1)})}u(w),y(()=>M(w,"style",`top: ${`${a().y}px`??""}; left: ${`${a().x}px`??""}`)),Re(7,w,()=>ha,()=>({delay:400,duration:200})),k(x,w)};z(b,x=>{l(v)&&x(p)})}u(d),j("focus",d,h),j("blur",d,U),k(e,d),ee()}q(["mouseover","mouseout","mousemove"]);var La=C('<div role="switch" tabindex="0" class="outer svelte-1mo9pov"><div class="inner svelte-1mo9pov"></div></div>');function Va(e,t){Z(t,!0);const o=ne(),a=()=>ve(n,"$margin",o);let i=I(t,"selected",15,!1);const s=11;let n=pe(0,{stiffness:.15,damping:.5});ce(()=>{n.set(i()?s:0)});function c(){i(!i())}var v=La();v.__click=c;var f=m(v);u(v),y(()=>{M(v,"aria-checked",i()),je(v,"selectedOuter",i()),M(f,"style",`margin-left: ${`${a()}px`??""}`),je(f,"selected",i())}),j("keypress",v,c),k(e,v),ee()}q(["click"]);var Wa=ba('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5"></path></svg>');function He(e,t){let o=I(t,"color",3,"var(--col-text)"),a=I(t,"opacity",3,.9),i=I(t,"width",3,20);var s=Wa();M(s,"stroke-width",2),y(()=>{M(s,"width",i()),M(s,"color",o()),M(s,"opacity",a())}),k(e,s)}var Ya=C('<div class="body svelte-1xshgki"><!></div>'),za=C('<div class="container svelte-1xshgki"><div class="containerHeader svelte-1xshgki"><div role="button" tabindex="0" class="expand svelte-1xshgki"><div><!></div></div> <div class="header svelte-1xshgki"><!></div></div> <!></div>');function Le(e,t){Z(t,!0);const o=ne(),a=()=>ve(h,"$rotate",o);let i=I(t,"idx",11,0),s=I(t,"show",15),n=I(t,"expandedCallback",3,()=>{}),c=Y(!1),v=Y(void 0),f=Y(void 0),$=i()%2===0?"2px solid var(--col-acnt)":"2px solid var(--col-acnta)";const h=pe(0,{stiffness:.1,damping:.4});function U(){!s()&&n()&&n()(),s(!s())}function N(){const g=l(v).offsetTop+l(f).scrollHeight+100;window.innerHeight+window.scrollY-g<0&&window.scroll({top:g,behavior:"smooth"})}ce(()=>{s()?h.set(90):h.set(0)}),ce(()=>{s()&&l(f)&&setTimeout(()=>{N()},100)});var d=za(),r=m(d),b=m(r);b.__click=U;var p=m(b),x=m(p),w=ae(()=>l(c)?"var(--col-act2a)":"var(--col-act2)");He(x,{get color(){return l(w)}}),u(p),u(b);var A=_(b,2),O=m(A);de(O,()=>t.header??re),u(A),u(r);var B=_(r,2);{var S=g=>{var R=Ya(),G=m(R);de(G,()=>t.body??re),u(R),Oe(R,H=>D(f,H),()=>l(f)),Re(7,R,()=>wa,()=>({duration:200})),k(g,R)};z(B,g=>{s()&&g(S)})}u(d),Oe(d,g=>D(v,g),()=>l(v)),y(()=>{ga(d,"border-left",s()?$:"none"),M(p,"style",`rotate: ${a()??""}deg`)}),j("mouseenter",b,()=>D(c,!0)),j("mouseleave",b,()=>D(c,!1)),j("keypress",b,U),k(e,d),ee()}q(["click"]);var Ba=C('<div class="device-header svelte-oumbix"><div class="device-head font-mono svelte-oumbix"> </div></div>'),Ga=(e,t,o)=>t(l(o).id),Qa=C('<div role="button" tabindex="0" class="icon-btn-input svelte-oumbix"><!></div>'),Fa=(e,t,o)=>t(l(o).id),Ja=C('<div role="button" tabindex="0" class="icon-btn-value svelte-oumbix"><!></div>'),qa=C('<div class="unit svelte-oumbix"><div class="label font-label svelte-oumbix"> </div> <div class="row svelte-oumbix"><div class="value svelte-oumbix"> </div> <!></div></div>'),Ka=C('<div class="device svelte-oumbix"><div class="unit svelte-oumbix"><div class="label font-label svelte-oumbix"> </div> <div class="value font-mono svelte-oumbix"> </div></div> <div class="row svelte-oumbix"><!> <!></div> <div class="unit svelte-oumbix"><div class="label font-label svelte-oumbix"> </div> <div class="value svelte-oumbix"> </div></div> <div class="unit svelte-oumbix"><div class="label font-label svelte-oumbix"> </div> <div class="value svelte-oumbix"> </div></div> <!> <div class="unit svelte-oumbix"><div class="label font-label svelte-oumbix"> </div> <div class="value svelte-oumbix"> </div></div></div>'),Za=C('<div class="head svelte-oumbix"> </div> <div class="devices svelte-oumbix"></div>',1);function et(e,t){Z(t,!0);let o=I(t,"userId",3,""),a=Na(),i=Y(L([])),s=L({}),n=L({});Ie(()=>{c()});async function c(){let d=await ya(o()),r=await d.json();if(d.ok){for(let b of r)n[b.id]=b.name;D(i,L(r))}else console.error("error fetching devices: "+r.message)}async function v(d){let r=n[d];if($a.test(r))s[d]="";else{s[d]=(a==null?void 0:a.common.invalidInput)||"Invalid Input";return}let b={device_id:d,name:r},p=await _a(o(),b);if(p.ok){s[d]="";for(let x of l(i))if(x.id===d){x.name=r;break}D(i,L([...l(i)])),n[d]=r}else{let x=await p.json();console.error(x)}}async function f(d){let r={device_id:d},b=await Ea(o(),r);if(b.ok){for(let p of l(i))if(p.id===d){p.refresh_exp=void 0;break}D(i,L([...l(i)]))}else{let p=await b.json();console.error(p)}}var $=Za(),h=le($),U=m(h,!0);u(h);var N=_(h,2);Se(N,21,()=>l(i),d=>d.id,(d,r)=>{Le(d,{header:b=>{var p=Ba(),x=m(p),w=m(x,!0);u(x),u(p),y(()=>E(w,l(r).name)),k(b,p)},body:b=>{var p=Ka(),x=m(p),w=m(x),A=m(w,!0);y(()=>E(A,(a==null?void 0:a.account.deviceId.toUpperCase())||"ID")),u(w);var O=_(w,2),B=m(O,!0);u(O),u(x);var S=_(x,2),g=m(S),R=ae(()=>(a==null?void 0:a.account.deviceName.toUpperCase())||"Name");Ta(g,{autocomplete:"off",get placeholder(){return l(R)},get value(){return n[l(r).id]},set value(T){n[l(r).id]=T},get error(){return s[l(r).id]},set error(T){s[l(r).id]=T},$$events:{enter:()=>v(l(r).id)},children:(T,W)=>{ua();var P=Ue();y(()=>E(P,(a==null?void 0:a.account.deviceName.toUpperCase())||"NAME")),k(T,P)},$$slots:{default:!0}});var G=_(g,2);{var H=T=>{var W=ae(()=>(a==null?void 0:a.common.save)||"Save");be(T,{get text(){return l(W)},children:(P,ye)=>{var X=Qa();X.__click=[Ga,v,r];var F=m(X);Ca(F,{color:"var(--col-ok)",width:24}),u(X),j("keypress",X,()=>v(l(r).id)),k(P,X)},$$slots:{default:!0}})};z(G,T=>{n[l(r).id]!=l(r).name&&T(H)})}u(S);var V=_(S,2),Q=m(V),Ve=m(Q,!0);y(()=>E(Ve,(a==null?void 0:a.account.regDate.toUpperCase())||"REGISTRATION DATE")),u(Q);var xe=_(Q,2),We=m(xe,!0);u(xe),u(V);var te=_(V,2),se=m(te),Ye=m(se,!0);y(()=>E(Ye,(a==null?void 0:a.account.accessExp.toUpperCase())||"ACCESS EXPIRES")),u(se);var he=_(se,2),ze=m(he,!0);y(()=>E(ze,Me(l(r).access_exp))),u(he),u(te);var we=_(te,2);{var Be=T=>{var W=qa(),P=m(W),ye=m(P,!0);y(()=>E(ye,(a==null?void 0:a.account.accessRenew.toUpperCase())||"ACCESS RENEW UNTIL")),u(P);var X=_(P,2),F=m(X),Fe=m(F,!0);y(()=>E(Fe,Me(l(r).refresh_exp))),u(F);var Je=_(F,2),qe=ae(()=>(a==null?void 0:a.account.accessRenewDelete)||"Delete the possibility to renew");be(Je,{get text(){return l(qe)},children:(Ke,at)=>{var J=Ja();J.__click=[Fa,f,r];var Ze=m(J);Sa(Ze,{color:"var(--col-err)",width:24}),u(J),j("keypress",J,()=>f(l(r).id)),k(Ke,J)},$$slots:{default:!0}}),u(X),u(W),k(T,W)};z(we,T=>{l(r).refresh_exp&&T(Be)})}var ke=_(we,2),oe=m(ke),Ge=m(oe,!0);y(()=>E(Ge,(a==null?void 0:a.account.regIp.toUpperCase())||"REGISTRATION FROM IP")),u(oe);var ge=_(oe,2),Qe=m(ge,!0);u(ge),u(ke),u(p),y(()=>{E(B,l(r).id),E(We,l(r).created),E(Qe,l(r).peer_ip)}),k(b,p)},$$slots:{header:!0,body:!0}})}),u(N),y(()=>E(U,(a==null?void 0:a.account.devicesDesc)||"Devices linked to this account")),k(e,$),ee()}q(["click"]);export{et as D,Le as E,He as I,Va as S,Pa as T,be as a,Ua as b,Ra as c,Da as d,Aa as e,Xe as h};
diff --git a/static/v1/_app/immutable/chunks/Devices.1_HD5eJJ.js.br b/static/v1/_app/immutable/chunks/Devices.1_HD5eJJ.js.br
new file mode 100644
index 000000000..e6754b57b
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Devices.1_HD5eJJ.js.br differ
diff --git a/static/v1/_app/immutable/chunks/Devices.1_HD5eJJ.js.gz b/static/v1/_app/immutable/chunks/Devices.1_HD5eJJ.js.gz
new file mode 100644
index 000000000..ac80b5077
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Devices.1_HD5eJJ.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/Devices.BuQD3GeY.js b/static/v1/_app/immutable/chunks/Devices.BuQD3GeY.js
deleted file mode 100644
index bec0dfd38..000000000
--- a/static/v1/_app/immutable/chunks/Devices.BuQD3GeY.js
+++ /dev/null
@@ -1 +0,0 @@
-import{y as ea,z as K,A as _e,I as aa,K as $e,aI as ta,aO as sa,aN as oa,C as ia,as as ra,Z as la,aZ as na,d as Ie,X as ie,W as va,ad as ca,a3 as m,a5 as u,a2 as y,g as l,p as Q,o as Ee,j as A,a_ as da,n as re,a1 as _,a as ee,_ as L,a0 as le,h as ae,a4 as ua}from"./index-client.CGppiJvc.js";import{l as Te,k as ma,w as Ce,d as q,s as I,e as U}from"./render.D4MwAWTL.js";import{d as Se,e as fa,a as k,b as C,t as Ne,c as Me,n as pa}from"./disclose-version.DZhRUPAc.js";import{e as De,i as ba}from"./OptionSelect.BCgZksOM.js";import{s as j,r as Ae,l as xa,t as Re,f as ha,b as wa}from"./Loading.FF_EHyHU.js";import{p as E,s as ne,b as ka,a as ve}from"./props.Df_pGDSd.js";import{t as Ue,y as ga,Y as ya,J as je,Z as _a,$ as $a,a0 as Ia}from"./dataFetching.Dto1xJW6.js";import{r as ce}from"./legacy-client.CgqodnwN.js";import{i as V}from"./if.DUA6Hpfn.js";import{p as H}from"./proxy.DB4Km9hY.js";import{s as de}from"./snippet.xhmr1ywJ.js";import{b as Oe}from"./this.B23tdsYu.js";import{w as Ea}from"./index.BU3V9-NS.js";import{i as Ye}from"./tweened.CQQvc4Vq.js";import{I as Ta}from"./Input.Bj_i2TLU.js";import{I as Ca,a as Sa}from"./CheckIcon.Cjxxxfsf.js";import{u as Na}from"./i18n.svelte.BTGsPiz_.js";function Pe(e,t,o,a,i){var s=e,n="",c;ea(()=>{if(n===(n=t()??"")){K&&_e();return}c!==void 0&&(la(c),c=void 0),n!==""&&(c=aa(()=>{if(K){$e.data;for(var v=_e(),f=v;v!==null&&(v.nodeType!==8||v.data!=="");)f=v,v=ta(v);if(v===null)throw sa(),oa;Se($e,f),s=ia(v);return}var $=n+"",h=fa($);Se(ra(h),h.lastChild),s.before(h)}))})}function Ma(e,t,o=t){var a=na();Te(e,"input",i=>{var s=i?e.defaultValue:e.value;if(s=ue(e)?me(s):s,o(s),a&&s!==(s=t())){var n=e.selectionStart,c=e.selectionEnd;e.value=s??"",c!==null&&(e.selectionStart=n,e.selectionEnd=Math.min(c,e.value.length))}}),(K&&e.defaultValue!==e.value||Ie(t)==null&&e.value)&&o(ue(e)?me(e.value):e.value),ie(()=>{var i=t();ue(e)&&i===me(e.value)||e.type==="date"&&!i&&!e.value||i!==e.value&&(e.value=i??"")})}function Da(e,t,o=t){Te(e,"change",a=>{var i=a?e.defaultChecked:e.checked;o(i)}),(K&&e.defaultChecked!==e.checked||Ie(t)==null)&&o(e.checked),ie(()=>{var a=t();e.checked=!!a})}function ue(e){var t=e.type;return t==="number"||t==="range"}function me(e){return e===""?null:+e}function Aa(e,t,o=t){var a=e==="x",i=()=>Ce(()=>{s=!0,clearTimeout(n),n=setTimeout(c,100),o(window[a?"scrollX":"scrollY"])});addEventListener("scroll",i,{passive:!0});var s=!1,n,c=()=>{s=!1},v=!0;ie(()=>{var f=t();v?v=!1:!s&&f!=null&&(s=!0,clearTimeout(n),scrollTo(window.scrollX,f),n=setTimeout(c,100))}),va(i),ca(()=>{removeEventListener("scroll",i)})}function Ra(e,t){ma(window,["resize"],()=>Ce(()=>t(window[e])))}var Ua=(e,t,o)=>t(l(o)),ja=C('<button class="btn font-label svelte-n2aryx"> </button>'),Oa=C('<div class="bar noselect svelte-n2aryx"></div>');function Ya(e,t){let o=E(t,"labels",19,()=>[]),a=E(t,"selected",15);var i=Oa();De(i,21,o,ba,(s,n)=>{var c=ja();c.__click=[Ua,a,n];var v=m(c,!0);u(c),y(()=>{j(c,"data-selected",a()===l(n)),I(v,l(n))}),U("keypress",c,()=>a(l(n))),k(s,c)}),u(i),k(e,i)}q(["click"]);function fe(e,t,o,a){if(typeof o=="number"||Ye(o)){const i=a-o,s=(o-t)/(e.dt||1/60),n=e.opts.stiffness*i,c=e.opts.damping*s,v=(n-c)*e.inv_mass,f=(s+v)*e.dt;return Math.abs(f)<e.opts.precision&&Math.abs(i)<e.opts.precision?a:(e.settled=!1,Ye(o)?new Date(o.getTime()+f):o+f)}else{if(Array.isArray(o))return o.map((i,s)=>fe(e,t[s],o[s],a[s]));if(typeof o=="object"){const i={};for(const s in o)i[s]=fe(e,t[s],o[s],a[s]);return i}else throw new Error(`Cannot spring ${typeof o} values`)}}function pe(e,t={}){const o=Ea(e),{stiffness:a=.15,damping:i=.8,precision:s=.01}=t;let n,c,v,f=e,$=e,h=1,M=0,N=!1;function d(b,p={}){$=b;const x=v={};return e==null||p.hard||r.stiffness>=1&&r.damping>=1?(N=!0,n=Ae.now(),f=b,o.set(e=$),Promise.resolve()):(p.soft&&(M=1/((p.soft===!0?.5:+p.soft)*60),h=0),c||(n=Ae.now(),N=!1,c=xa(w=>{if(N)return N=!1,c=null,!1;h=Math.min(h+M,1);const D={inv_mass:h,opts:r,settled:!0,dt:(w-n)*60/1e3},O=fe(D,f,e,$);return n=w,f=e,o.set(e=O),D.settled&&(c=null),!D.settled})),new Promise(w=>{c.promise.then(()=>{x===v&&w()})}))}const r={set:d,update:(b,p)=>d(b($,e),p),subscribe:o.subscribe,stiffness:a,damping:i,precision:s};return r}var Pa=C('<div class="tooltip svelte-op12yu"><!></div>'),Xa=C('<div role="none"><!> <!></div>');function be(e,t){Q(t,!0);const o=ne(),a=()=>ve(l(f),"$coords",o);let i=E(t,"xOffset",3,10),s=E(t,"yOffset",3,10),n=E(t,"text",3,""),c=E(t,"html",3,""),v=L(!1),f=L(void 0),$;Ee(()=>{ka(A(f,H(pe({x:(window==null?void 0:window.innerWidth)/2,y:window.innerHeight/2},{stiffness:.1,damping:.6}))),"$coords",o)}),da(()=>{clearTimeout($)});function h(){clearTimeout($),A(v,!0)}function M(){$=setTimeout(()=>{A(v,!1)},100)}function N(x){l(f).set({x:x.clientX+i(),y:x.clientY+s()})}var d=Xa();d.__mouseover=h,d.__mouseout=M,d.__mousemove=N;var r=m(d);de(r,()=>t.children??re);var b=_(r,2);{var p=x=>{var w=Pa(),D=m(w);{var O=S=>{var g=Ne();y(()=>I(g,n())),k(S,g)},Z=S=>{var g=Me(),R=le(g);{var J=X=>{var W=Me(),z=le(W);Pe(z,c),k(X,W)};V(R,X=>{c()&&X(J)},!0)}k(S,g)};V(D,S=>{n()?S(O):S(Z,!1)})}u(w),y(()=>j(w,"style",`top: ${`${a().y}px`??""}; left: ${`${a().x}px`??""}`)),Re(7,w,()=>ha,()=>({delay:400,duration:200})),k(x,w)};V(b,x=>{l(v)&&x(p)})}u(d),U("focus",d,h),U("blur",d,M),k(e,d),ee()}q(["mouseover","mouseout","mousemove"]);var Ha=C('<div role="switch" tabindex="0" class="outer svelte-1mo9pov"><div class="inner svelte-1mo9pov"></div></div>');function Wa(e,t){Q(t,!0);const o=ne(),a=()=>ve(n,"$margin",o);let i=E(t,"selected",15,!1);const s=11;let n=pe(0,{stiffness:.15,damping:.5});ce(()=>{n.set(i()?s:0)});function c(){i(!i())}var v=Ha();v.__click=c;var f=m(v);u(v),y(()=>{j(v,"aria-checked",i()),Ue(v,"selectedOuter",i()),j(f,"style",`margin-left: ${`${a()}px`??""}`),Ue(f,"selected",i())}),U("keypress",v,c),k(e,v),ee()}q(["click"]);var Ga=pa('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M8.25 4.5l7.5 7.5-7.5 7.5"></path></svg>');function Xe(e,t){let o=E(t,"color",3,"var(--col-text)"),a=E(t,"opacity",3,.9),i=E(t,"width",3,20);var s=Ga();j(s,"stroke-width",2),y(()=>{j(s,"width",i()),j(s,"color",o()),j(s,"opacity",a())}),k(e,s)}var La=C('<div class="body svelte-1xshgki"><!></div>'),Va=C('<div class="container svelte-1xshgki"><div class="containerHeader svelte-1xshgki"><div role="button" tabindex="0" class="expand svelte-1xshgki"><div><!></div></div> <div class="header svelte-1xshgki"><!></div></div> <!></div>');function He(e,t){Q(t,!0);const o=ne(),a=()=>ve(h,"$rotate",o);let i=E(t,"idx",11,0),s=E(t,"show",15),n=E(t,"expandedCallback",3,()=>{}),c=L(!1),v=L(void 0),f=L(void 0),$=i()%2===0?"2px solid var(--col-acnt)":"2px solid var(--col-acnta)";const h=pe(0,{stiffness:.1,damping:.4});function M(){!s()&&n()&&n()(),s(!s())}function N(){const g=l(v).offsetTop+l(f).scrollHeight+100;window.innerHeight+window.scrollY-g<0&&window.scroll({top:g,behavior:"smooth"})}ce(()=>{s()?h.set(90):h.set(0)}),ce(()=>{s()&&l(f)&&setTimeout(()=>{N()},100)});var d=Va(),r=m(d),b=m(r);b.__click=M;var p=m(b),x=m(p),w=ae(()=>l(c)?"var(--col-act2a)":"var(--col-act2)");Xe(x,{get color(){return l(w)}}),u(p),u(b);var D=_(b,2),O=m(D);de(O,()=>t.header??re),u(D),u(r);var Z=_(r,2);{var S=g=>{var R=La(),J=m(R);de(J,()=>t.body??re),u(R),Oe(R,X=>A(f,X),()=>l(f)),Re(7,R,()=>wa,()=>({duration:200})),k(g,R)};V(Z,g=>{s()&&g(S)})}u(d),Oe(d,g=>A(v,g),()=>l(v)),y(()=>{ga(d,"border-left",s()?$:"none"),j(p,"style",`rotate: ${a()??""}deg`)}),U("mouseenter",b,()=>A(c,!0)),U("mouseleave",b,()=>A(c,!1)),U("keypress",b,M),k(e,d),ee()}q(["click"]);var Za=C('<div class="device-header svelte-oumbix"><div class="device-head font-mono svelte-oumbix"> </div></div>'),Ja=(e,t,o)=>t(l(o).id),za=C('<div role="button" tabindex="0" class="icon-btn-input svelte-oumbix"><!></div>'),Ba=(e,t,o)=>t(l(o).id),Fa=C('<div role="button" tabindex="0" class="icon-btn-value svelte-oumbix"><!></div>'),qa=C('<div class="unit svelte-oumbix"><div class="label font-label svelte-oumbix"> </div> <div class="row svelte-oumbix"><div class="value svelte-oumbix"> </div> <!></div></div>'),Ka=C('<div class="device svelte-oumbix"><div class="unit svelte-oumbix"><div class="label font-label svelte-oumbix"> </div> <div class="value font-mono svelte-oumbix"> </div></div> <div class="row svelte-oumbix"><!> <!></div> <div class="unit svelte-oumbix"><div class="label font-label svelte-oumbix"> </div> <div class="value svelte-oumbix"> </div></div> <div class="unit svelte-oumbix"><div class="label font-label svelte-oumbix"> </div> <div class="value svelte-oumbix"> </div></div> <!> <div class="unit svelte-oumbix"><div class="label font-label svelte-oumbix"> </div> <div class="value svelte-oumbix"> </div></div></div>'),Qa=C('<div class="head svelte-oumbix"> </div> <div class="devices svelte-oumbix"></div>',1);function et(e,t){Q(t,!0);let o=E(t,"userId",3,""),a=Na(),i=L(H([])),s=H({}),n=H({});Ee(()=>{c()});async function c(){let d=await ya(o()),r=await d.json();if(d.ok){for(let b of r)n[b.id]=b.name;A(i,H(r))}else console.error("error fetching devices: "+r.message)}async function v(d){let r=n[d];if($a.test(r))s[d]="";else{s[d]=(a==null?void 0:a.common.invalidInput)||"Invalid Input";return}let b={device_id:d,name:r},p=await _a(o(),b);if(p.ok){s[d]="";for(let x of l(i))if(x.id===d){x.name=r;break}A(i,H([...l(i)])),n[d]=r}else{let x=await p.json();console.error(x)}}async function f(d){let r={device_id:d},b=await Ia(o(),r);if(b.ok){for(let p of l(i))if(p.id===d){p.refresh_exp=void 0;break}A(i,H([...l(i)]))}else{let p=await b.json();console.error(p)}}var $=Qa(),h=le($),M=m(h,!0);u(h);var N=_(h,2);De(N,21,()=>l(i),d=>d.id,(d,r)=>{He(d,{header:b=>{var p=Za(),x=m(p),w=m(x,!0);u(x),u(p),y(()=>I(w,l(r).name)),k(b,p)},body:b=>{var p=Ka(),x=m(p),w=m(x),D=m(w,!0);y(()=>I(D,(a==null?void 0:a.account.deviceId.toUpperCase())||"ID")),u(w);var O=_(w,2),Z=m(O,!0);u(O),u(x);var S=_(x,2),g=m(S),R=ae(()=>(a==null?void 0:a.account.deviceName.toUpperCase())||"Name");Ta(g,{autocomplete:"off",get placeholder(){return l(R)},get value(){return n[l(r).id]},set value(T){n[l(r).id]=T},get error(){return s[l(r).id]},set error(T){s[l(r).id]=T},$$events:{enter:()=>v(l(r).id)},children:(T,G)=>{ua();var Y=Ne();y(()=>I(Y,(a==null?void 0:a.account.deviceName.toUpperCase())||"NAME")),k(T,Y)},$$slots:{default:!0}});var J=_(g,2);{var X=T=>{var G=ae(()=>(a==null?void 0:a.common.save)||"Save");be(T,{get text(){return l(G)},children:(Y,ye)=>{var P=za();P.__click=[Ja,v,r];var B=m(P);Ca(B,{color:"var(--col-ok)",width:24}),u(P),U("keypress",P,()=>v(l(r).id)),k(Y,P)},$$slots:{default:!0}})};V(J,T=>{n[l(r).id]!=l(r).name&&T(X)})}u(S);var W=_(S,2),z=m(W),We=m(z,!0);y(()=>I(We,(a==null?void 0:a.account.regDate.toUpperCase())||"REGISTRATION DATE")),u(z);var xe=_(z,2),Ge=m(xe,!0);u(xe),u(W);var te=_(W,2),se=m(te),Le=m(se,!0);y(()=>I(Le,(a==null?void 0:a.account.accessExp.toUpperCase())||"ACCESS EXPIRES")),u(se);var he=_(se,2),Ve=m(he,!0);y(()=>I(Ve,je(l(r).access_exp))),u(he),u(te);var we=_(te,2);{var Ze=T=>{var G=qa(),Y=m(G),ye=m(Y,!0);y(()=>I(ye,(a==null?void 0:a.account.accessRenew.toUpperCase())||"ACCESS RENEW UNTIL")),u(Y);var P=_(Y,2),B=m(P),Be=m(B,!0);y(()=>I(Be,je(l(r).refresh_exp))),u(B);var Fe=_(B,2),qe=ae(()=>(a==null?void 0:a.account.accessRenewDelete)||"Delete the possibility to renew");be(Fe,{get text(){return l(qe)},children:(Ke,at)=>{var F=Fa();F.__click=[Ba,f,r];var Qe=m(F);Sa(Qe,{color:"var(--col-err)",width:24}),u(F),U("keypress",F,()=>f(l(r).id)),k(Ke,F)},$$slots:{default:!0}}),u(P),u(G),k(T,G)};V(we,T=>{l(r).refresh_exp&&T(Ze)})}var ke=_(we,2),oe=m(ke),Je=m(oe,!0);y(()=>I(Je,(a==null?void 0:a.account.regIp.toUpperCase())||"REGISTRATION FROM IP")),u(oe);var ge=_(oe,2),ze=m(ge,!0);u(ge),u(ke),u(p),y(()=>{I(Z,l(r).id),I(Ge,l(r).created),I(ze,l(r).peer_ip)}),k(b,p)},$$slots:{header:!0,body:!0}})}),u(N),y(()=>I(M,(a==null?void 0:a.account.devicesDesc)||"Devices linked to this account")),k(e,$),ee()}q(["click"]);export{et as D,He as E,Xe as I,Wa as S,Ya as T,be as a,Ma as b,Ra as c,Aa as d,Da as e,Pe as h};
diff --git a/static/v1/_app/immutable/chunks/Devices.BuQD3GeY.js.br b/static/v1/_app/immutable/chunks/Devices.BuQD3GeY.js.br
deleted file mode 100644
index aca356e93..000000000
Binary files a/static/v1/_app/immutable/chunks/Devices.BuQD3GeY.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/Devices.BuQD3GeY.js.gz b/static/v1/_app/immutable/chunks/Devices.BuQD3GeY.js.gz
deleted file mode 100644
index db3f3e062..000000000
Binary files a/static/v1/_app/immutable/chunks/Devices.BuQD3GeY.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/Error.CsY9Wg-p.js b/static/v1/_app/immutable/chunks/Error.CsY9Wg-p.js
deleted file mode 100644
index c1759953d..000000000
--- a/static/v1/_app/immutable/chunks/Error.CsY9Wg-p.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as y,b as h}from"./disclose-version.DZhRUPAc.js";import{p as j,o as M,a as w,a0 as B,g as s,j as x,a1 as i,a2 as G,_ as g,a3 as u,a5 as m}from"./index-client.CGppiJvc.js";import{d as H,s as b}from"./render.D4MwAWTL.js";import{i as I}from"./if.DUA6Hpfn.js";import{p as $}from"./proxy.DB4Km9hY.js";import{L as J}from"./LangSelector.mSh8cV6Q.js";import{M as N,C as O}from"./ContentCenter.CsjyBf2d.js";import{p as S}from"./props.Df_pGDSd.js";import{u as W}from"./is_dev.svelte.sP_MjoCE.js";import{W as X,X as q}from"./dataFetching.Dto1xJW6.js";function z(t,o){let a;return o==="json"?a={"Content-Type":"application/json",Accept:"application/json"}:a={"Content-type":"application/x-www-form-urlencoded",Accept:"application/json"},a}async function D(t,o="json"){return F("GET",t,o)}async function F(t,o,a){let r=await fetch(o,{method:t,headers:z(t,a),redirect:"manual"});return await K(r)}async function K(t,o){let a={body:void 0,text:void 0,error:void 0};return t.ok?t.headers.get("content-type")==="application/json"?a.body=await t.json():a.text=await t.text():a.error=await t.json(),a}function C(t,o){j(o,!0);let a=S(o,"value",15);M(async()=>{if(W()){let e=await D(`/auth/v1/template/${o.id}`);e.error?console.error(e.error):e.text&&r(e.text)}else{let e=document.getElementById(o.id);e&&r(e.innerHTML)}});function r(e){typeof a()=="boolean"?a(e==="true"):typeof a()=="string"?a(e):a(JSON.parse(e))}w()}var P=h('<div class="flex-col"><h1> </h1> <br> <p> </p> <!> <!></div>'),Q=h("<!> <!> <!>",1);function R(t,o){j(o,!0);let a=g(""),r=g("");var e=Q(),f=B(e);C(f,{id:X,get value(){return s(a)},set value(n){x(a,$(n))}});var d=i(f,2);C(d,{id:q,get value(){return s(r)},set value(n){x(r,$(n))}});var T=i(d,2);N(T,{children:(n,U)=>{O(n,{children:(k,_)=>{var l=P(),p=u(l),A=u(p,!0);m(p);var c=i(p,4),E=u(c,!0);m(c);var v=i(c,2);I(v,V=>{});var L=i(v,2);J(L,{absolute:!0}),m(l),G(()=>{b(A,s(a)),b(E,s(r))}),y(k,l)},$$slots:{default:!0}})},$$slots:{default:!0}}),y(t,e),w()}H(["click"]);export{R as E};
diff --git a/static/v1/_app/immutable/chunks/Error.CsY9Wg-p.js.br b/static/v1/_app/immutable/chunks/Error.CsY9Wg-p.js.br
deleted file mode 100644
index 43c35bb02..000000000
Binary files a/static/v1/_app/immutable/chunks/Error.CsY9Wg-p.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/Error.CsY9Wg-p.js.gz b/static/v1/_app/immutable/chunks/Error.CsY9Wg-p.js.gz
deleted file mode 100644
index 9c552cfc6..000000000
Binary files a/static/v1/_app/immutable/chunks/Error.CsY9Wg-p.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/Error.DXjVprxK.js b/static/v1/_app/immutable/chunks/Error.DXjVprxK.js
new file mode 100644
index 000000000..5d0d6ee5d
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/Error.DXjVprxK.js
@@ -0,0 +1 @@
+import"./disclose-version.BDr9Qe-U.js";import{p as R,Q as U,a as W,g as s,j as c,R as r,T as q,P as n,U as m,W as p}from"./index-client.CzqVbBUo.js";import{d as w,s as h}from"./render.CK5MTJQL.js";import{p as $,i as y}from"./if.BnegfJmL.js";import{a as g,t as b}from"./template.io25wnf1.js";import{L as z}from"./LangSelector.DQTzLAdQ.js";import{M as A,C as B}from"./ContentCenter.B2VsFG_i.js";import{T as k}from"./Template.mSBxkRZ-.js";import{k as C,l as D}from"./dataFetching.Br47vc1D.js";var O=b('<div class="flex-col"><h1> </h1> <br> <p> </p> <!> <!></div>'),P=b("<!> <!> <!>",1);function S(T,j){R(j,!0);let o=n(""),t=n("");var v=P(),f=U(v);k(f,{id:C,get value(){return s(o)},set value(a){c(o,$(a))}});var u=r(f,2);k(u,{id:D,get value(){return s(t)},set value(a){c(t,$(a))}});var x=r(u,2);A(x,{children:(a,X)=>{B(a,{children:(E,Z)=>{var e=O(),i=m(e),L=m(i,!0);p(i);var l=r(i,4),M=m(l,!0);p(l);var d=r(l,2);y(d,_=>{});var Q=r(d,2);z(Q,{absolute:!0}),p(e),q(()=>{h(L,s(o)),h(M,s(t))}),g(E,e)},$$slots:{default:!0}})},$$slots:{default:!0}}),g(T,v),W()}w(["click"]);export{S as E};
diff --git a/static/v1/_app/immutable/chunks/Error.DXjVprxK.js.br b/static/v1/_app/immutable/chunks/Error.DXjVprxK.js.br
new file mode 100644
index 000000000..955947c66
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Error.DXjVprxK.js.br differ
diff --git a/static/v1/_app/immutable/chunks/Error.DXjVprxK.js.gz b/static/v1/_app/immutable/chunks/Error.DXjVprxK.js.gz
new file mode 100644
index 000000000..b4be1e553
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Error.DXjVprxK.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/Input.Bj_i2TLU.js.br b/static/v1/_app/immutable/chunks/Input.Bj_i2TLU.js.br
deleted file mode 100644
index d45056b1f..000000000
Binary files a/static/v1/_app/immutable/chunks/Input.Bj_i2TLU.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/Input.Bj_i2TLU.js.gz b/static/v1/_app/immutable/chunks/Input.Bj_i2TLU.js.gz
deleted file mode 100644
index ead49296b..000000000
Binary files a/static/v1/_app/immutable/chunks/Input.Bj_i2TLU.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/Input.Bj_i2TLU.js b/static/v1/_app/immutable/chunks/Input.jkTumKYK.js
similarity index 54%
rename from static/v1/_app/immutable/chunks/Input.Bj_i2TLU.js
rename to static/v1/_app/immutable/chunks/Input.jkTumKYK.js
index df6744965..f6291f10d 100644
--- a/static/v1/_app/immutable/chunks/Input.Bj_i2TLU.js
+++ b/static/v1/_app/immutable/chunks/Input.jkTumKYK.js
@@ -1,4 +1,4 @@
-import{a as Ee,b as Oe}from"./disclose-version.DZhRUPAc.js";import{p as tt,a7 as st,n as rt,a1 as Se,a2 as Ae,a as nt,a3 as I,a5 as U,a6 as it}from"./index-client.CGppiJvc.js";import{s as at}from"./render.D4MwAWTL.js";import{i as ot}from"./if.DUA6Hpfn.js";import{s as ut}from"./snippet.xhmr1ywJ.js";import{e as lt,t as ct,b as ht,s as pt,g as ft}from"./Loading.FF_EHyHU.js";import{y as Y}from"./dataFetching.Dto1xJW6.js";import{p as q,r as dt}from"./props.Df_pGDSd.js";import{g as mt}from"./helpers.DVmWh-6p.js";function vt(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function j(r){this._maxSize=r,this.clear()}j.prototype.clear=function(){this._size=0,this._values=Object.create(null)},j.prototype.get=function(r){return this._values[r]},j.prototype.set=function(r,e){return this._size>=this._maxSize&&this.clear(),r in this._values||this._size++,this._values[r]=e};var yt=/[^.^\]^[]+|(?=\[\]|\.\.)/g,je=/^\d+$/,gt=/^\d/,bt=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,xt=/^\s*(['"]?)(.*?)(\1)\s*$/,te=512,De=new j(te),Ce=new j(te),ze=new j(te),D={Cache:j,split:re,normalizePath:se,setter:function(r){var e=se(r);return Ce.get(r)||Ce.set(r,function(t,s){for(var n=0,i=e.length,a=t;n<i-1;){var o=e[n];if(o==="__proto__"||o==="constructor"||o==="prototype")return t;a=a[e[n++]]}a[e[n]]=s})},getter:function(r,e){var t=se(r);return ze.get(r)||ze.set(r,function(s){for(var n=0,i=t.length;n<i;)if(s!=null||!e)s=s[t[n++]];else return;return s})},join:function(r){return r.reduce(function(e,t){return e+(ne(t)||je.test(t)?"["+t+"]":(e?".":"")+t)},"")},forEach:function(r,e,t){wt(Array.isArray(r)?r:re(r),e,t)}};function se(r){return De.get(r)||De.set(r,re(r).map(function(e){return e.replace(xt,"$2")}))}function re(r){return r.match(yt)||[""]}function wt(r,e,t){var s=r.length,n,i,a,o;for(i=0;i<s;i++)n=r[i],n&&(Tt(n)&&(n='"'+n+'"'),o=ne(n),a=!o&&/^\d+$/.test(n),e.call(t,n,o,a,i,r))}function ne(r){return typeof r=="string"&&r&&["'",'"'].indexOf(r.charAt(0))!==-1}function _t(r){return r.match(gt)&&!r.match(je)}function Ft(r){return bt.test(r)}function Tt(r){return!ne(r)&&(_t(r)||Ft(r))}const $t=/[A-Z\xc0-\xd6\xd8-\xde]?[a-z\xdf-\xf6\xf8-\xff]+(?:['’](?:d|ll|m|re|s|t|ve))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde]|$)|(?:[A-Z\xc0-\xd6\xd8-\xde]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde](?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])|$)|[A-Z\xc0-\xd6\xd8-\xde]?(?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:d|ll|m|re|s|t|ve))?|[A-Z\xc0-\xd6\xd8-\xde]+(?:['’](?:D|LL|M|RE|S|T|VE))?|\d*(?:1ST|2ND|3RD|(?![123])\dTH)(?=\b|[a-z_])|\d*(?:1st|2nd|3rd|(?![123])\dth)(?=\b|[A-Z_])|\d+|(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?(?:\u200d(?:[^\ud800-\udfff]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?)*/g,K=r=>r.match($t)||[],J=r=>r[0].toUpperCase()+r.slice(1),ie=(r,e)=>K(r).join(e).toLowerCase(),Ve=r=>K(r).reduce((e,t)=>`${e}${e?t[0].toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()}`,""),kt=r=>J(Ve(r)),Et=r=>ie(r,"_"),Ot=r=>ie(r,"-"),St=r=>J(ie(r," ")),At=r=>K(r).map(J).join(" ");var ae={words:K,upperFirst:J,camelCase:Ve,pascalCase:kt,snakeCase:Et,kebabCase:Ot,sentenceCase:St,titleCase:At},oe={exports:{}};oe.exports=function(r){return Ne(jt(r),r)},oe.exports.array=Ne;function Ne(r,e){var t=r.length,s=new Array(t),n={},i=t,a=Dt(e),o=Ct(r);for(e.forEach(function(l){if(!o.has(l[0])||!o.has(l[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});i--;)n[i]||u(r[i],i,new Set);return s;function u(l,c,h){if(h.has(l)){var p;try{p=", node was:"+JSON.stringify(l)}catch{p=""}throw new Error("Cyclic dependency"+p)}if(!o.has(l))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(l));if(!n[c]){n[c]=!0;var f=a.get(l)||new Set;if(f=Array.from(f),c=f.length){h.add(l);do{var y=f[--c];u(y,o.get(y),h)}while(c);h.delete(l)}s[--t]=l}}}function jt(r){for(var e=new Set,t=0,s=r.length;t<s;t++){var n=r[t];e.add(n[0]),e.add(n[1])}return Array.from(e)}function Dt(r){for(var e=new Map,t=0,s=r.length;t<s;t++){var n=r[t];e.has(n[0])||e.set(n[0],new Set),e.has(n[1])||e.set(n[1],new Set),e.get(n[0]).add(n[1])}return e}function Ct(r){for(var e=new Map,t=0,s=r.length;t<s;t++)e.set(r[t],t);return e}var zt=oe.exports;const Vt=vt(zt),Nt=Object.prototype.toString,Mt=Error.prototype.toString,Pt=RegExp.prototype.toString,It=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",Ut=/^Symbol\((.*)\)(.*)$/;function qt(r){return r!=+r?"NaN":r===0&&1/r<0?"-0":""+r}function Me(r,e=!1){if(r==null||r===!0||r===!1)return""+r;const t=typeof r;if(t==="number")return qt(r);if(t==="string")return e?`"${r}"`:r;if(t==="function")return"[Function "+(r.name||"anonymous")+"]";if(t==="symbol")return It.call(r).replace(Ut,"Symbol($1)");const s=Nt.call(r).slice(8,-1);return s==="Date"?isNaN(r.getTime())?""+r:r.toISOString(r):s==="Error"||r instanceof Error?"["+Mt.call(r)+"]":s==="RegExp"?Pt.call(r):null}function T(r,e){let t=Me(r,e);return t!==null?t:JSON.stringify(r,function(s,n){let i=Me(this[s],e);return i!==null?i:n},2)}function Pe(r){return r==null?[]:[].concat(r)}let Ie,Ue,qe,Rt=/\$\{\s*(\w+)\s*\}/g;Ie=Symbol.toStringTag;class Re{constructor(e,t,s,n){this.name=void 0,this.message=void 0,this.value=void 0,this.path=void 0,this.type=void 0,this.params=void 0,this.errors=void 0,this.inner=void 0,this[Ie]="Error",this.name="ValidationError",this.value=t,this.path=s,this.type=n,this.errors=[],this.inner=[],Pe(e).forEach(i=>{if(m.isError(i)){this.errors.push(...i.errors);const a=i.inner.length?i.inner:[i];this.inner.push(...a)}else this.errors.push(i)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0]}}Ue=Symbol.hasInstance,qe=Symbol.toStringTag;class m extends Error{static formatError(e,t){const s=t.label||t.path||"this";return t=Object.assign({},t,{path:s,originalPath:t.path}),typeof e=="string"?e.replace(Rt,(n,i)=>T(t[i])):typeof e=="function"?e(t):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,t,s,n,i){const a=new Re(e,t,s,n);if(i)return a;super(),this.value=void 0,this.path=void 0,this.type=void 0,this.params=void 0,this.errors=[],this.inner=[],this[qe]="Error",this.name=a.name,this.message=a.message,this.type=a.type,this.value=a.value,this.path=a.path,this.errors=a.errors,this.inner=a.inner,Error.captureStackTrace&&Error.captureStackTrace(this,m)}static[Ue](e){return Re[Symbol.hasInstance](e)||super[Symbol.hasInstance](e)}}let $={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:r,type:e,value:t,originalValue:s})=>{const n=s!=null&&s!==t?` (cast from the value \`${T(s,!0)}\`).`:".";return e!=="mixed"?`${r} must be a \`${e}\` type, but the final value was: \`${T(t,!0)}\``+n:`${r} must match the configured type. The validated value was: \`${T(t,!0)}\``+n}},b={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",datetime:"${path} must be a valid ISO date-time",datetime_precision:"${path} must be a valid ISO date-time with a sub-second precision of exactly ${precision} digits",datetime_offset:'${path} must be a valid ISO date-time with UTC "Z" timezone',trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},O={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},ue={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},le={isValue:"${path} field must be ${value}"},B={noUnknown:"${path} field has unspecified keys: ${unknown}",exact:"${path} object contains unknown properties: ${properties}"},G={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"},Ze={notType:r=>{const{path:e,value:t,spec:s}=r,n=s.types.length;if(Array.isArray(t)){if(t.length<n)return`${e} tuple value has too few items, expected a length of ${n} but got ${t.length} for value: \`${T(t,!0)}\``;if(t.length>n)return`${e} tuple value has too many items, expected a length of ${n} but got ${t.length} for value: \`${T(t,!0)}\``}return m.formatError($.notType,r)}};var Le=Object.assign(Object.create(null),{mixed:$,string:b,number:O,date:ue,object:B,array:G,boolean:le,tuple:Ze});const C=r=>r&&r.__isYupSchema__;class W{static fromOptions(e,t){if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:s,then:n,otherwise:i}=t,a=typeof s=="function"?s:(...o)=>o.every(u=>u===s);return new W(e,(o,u)=>{var l;let c=a(...o)?n:i;return(l=c==null?void 0:c(u))!=null?l:u})}constructor(e,t){this.fn=void 0,this.refs=e,this.refs=e,this.fn=t}resolve(e,t){let s=this.refs.map(i=>i.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),n=this.fn(s,e,t);if(n===void 0||n===e)return e;if(!C(n))throw new TypeError("conditions must return a schema object");return n.resolve(t)}}const H={context:"$",value:"."};function Zt(r,e){return new S(r,e)}class S{constructor(e,t={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===H.context,this.isValue=this.key[0]===H.value,this.isSibling=!this.isContext&&!this.isValue;let s=this.isContext?H.context:this.isValue?H.value:"";this.path=this.key.slice(s.length),this.getter=this.path&&D.getter(this.path,!0),this.map=t.map}getValue(e,t,s){let n=this.isContext?s:this.isValue?e:t;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}}S.prototype.__isYupRef=!0;const F=r=>r==null;function z(r){function e({value:t,path:s="",options:n,originalValue:i,schema:a},o,u){const{name:l,test:c,params:h,message:p,skipAbsent:f}=r;let{parent:y,context:g,abortEarly:_=a.spec.abortEarly,disableStackTrace:x=a.spec.disableStackTrace}=n;function M(d){return S.isRef(d)?d.getValue(t,y,g):d}function R(d={}){const A=Object.assign({value:t,originalValue:i,label:a.spec.label,path:d.path||s,spec:a.spec,disableStackTrace:d.disableStackTrace||x},h,d.params);for(const ke of Object.keys(A))A[ke]=M(A[ke]);const $e=new m(m.formatError(d.message||p,A),t,A.path,d.type||l,A.disableStackTrace);return $e.params=A,$e}const P=_?o:u;let w={path:s,parent:y,type:l,from:n.from,createError:R,resolve:M,options:n,originalValue:i,schema:a};const k=d=>{m.isError(d)?P(d):d?u(null):P(R())},Z=d=>{m.isError(d)?P(d):o(d)};if(f&&F(t))return k(!0);let L;try{var Te;if(L=c.call(w,t,w),typeof((Te=L)==null?void 0:Te.then)=="function"){if(n.sync)throw new Error(`Validation test of type: "${w.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`);return Promise.resolve(L).then(k,Z)}}catch(d){Z(d);return}k(L)}return e.OPTIONS=r,e}function ce(r,e,t,s=t){let n,i,a;return e?(D.forEach(e,(o,u,l)=>{let c=u?o.slice(1,o.length-1):o;r=r.resolve({context:s,parent:n,value:t});let h=r.type==="tuple",p=l?parseInt(c,10):0;if(r.innerType||h){if(h&&!l)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${a}" must contain an index to the tuple element, e.g. "${a}[0]"`);if(t&&p>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${o}, in the path: ${e}. because there is no value at that index. `);n=t,t=t&&t[p],r=h?r.spec.types[p]:r.innerType}if(!l){if(!r.fields||!r.fields[c])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${a} which is a type: "${r.type}")`);n=t,t=t&&t[c],r=r.fields[c]}i=c,a=u?"["+o+"]":"."+o}),{schema:r,parent:n,parentPath:i}):{parent:n,parentPath:e,schema:r}}function Lt(r,e,t,s){return ce(r,e,t,s).schema}class X extends Set{describe(){const e=[];for(const t of this.values())e.push(S.isRef(t)?t.describe():t);return e}resolveAll(e){let t=[];for(const s of this.values())t.push(e(s));return t}clone(){return new X(this.values())}merge(e,t){const s=this.clone();return e.forEach(n=>s.add(n)),t.forEach(n=>s.delete(n)),s}}function V(r,e=new Map){if(C(r)||!r||typeof r!="object")return r;if(e.has(r))return e.get(r);let t;if(r instanceof Date)t=new Date(r.getTime()),e.set(r,t);else if(r instanceof RegExp)t=new RegExp(r),e.set(r,t);else if(Array.isArray(r)){t=new Array(r.length),e.set(r,t);for(let s=0;s<r.length;s++)t[s]=V(r[s],e)}else if(r instanceof Map){t=new Map,e.set(r,t);for(const[s,n]of r.entries())t.set(s,V(n,e))}else if(r instanceof Set){t=new Set,e.set(r,t);for(const s of r)t.add(V(s,e))}else if(r instanceof Object){t={},e.set(r,t);for(const[s,n]of Object.entries(r))t[s]=V(n,e)}else throw Error(`Unable to clone ${r}`);return t}class v{constructor(e){this.type=void 0,this.deps=[],this.tests=void 0,this.transforms=void 0,this.conditions=[],this._mutate=void 0,this.internalTests={},this._whitelist=new X,this._blacklist=new X,this.exclusiveTests=Object.create(null),this._typeCheck=void 0,this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation(()=>{this.typeError($.notType)}),this.type=e.type,this._typeCheck=e.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,disableStackTrace:!1,nullable:!1,optional:!0,coerce:!0},e==null?void 0:e.spec),this.withMutation(t=>{t.nonNullable()})}get _type(){return this.type}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;const t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeCheck=this._typeCheck,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.internalTests=Object.assign({},this.internalTests),t.exclusiveTests=Object.assign({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=V(Object.assign({},this.spec,e)),t}label(e){let t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let s=e(this);return this._mutate=t,s}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,s=e.clone();const n=Object.assign({},t.spec,s.spec);return s.spec=n,s.internalTests=Object.assign({},t.internalTests,s.internalTests),s._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),s._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),s.tests=t.tests,s.exclusiveTests=t.exclusiveTests,s.withMutation(i=>{e.tests.forEach(a=>{i.test(a.OPTIONS)})}),s.transforms=[...t.transforms,...s.transforms],s}isType(e){return e==null?!!(this.spec.nullable&&e===null||this.spec.optional&&e===void 0):this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let s=t.conditions;t=t.clone(),t.conditions=[],t=s.reduce((n,i)=>i.resolve(n,e),t),t=t.resolve(e)}return t}resolveOptions(e){var t,s,n,i;return Object.assign({},e,{from:e.from||[],strict:(t=e.strict)!=null?t:this.spec.strict,abortEarly:(s=e.abortEarly)!=null?s:this.spec.abortEarly,recursive:(n=e.recursive)!=null?n:this.spec.recursive,disableStackTrace:(i=e.disableStackTrace)!=null?i:this.spec.disableStackTrace})}cast(e,t={}){let s=this.resolve(Object.assign({value:e},t)),n=t.assert==="ignore-optionality",i=s._cast(e,t);if(t.assert!==!1&&!s.isType(i)){if(n&&F(i))return i;let a=T(e),o=T(i);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${s.type}". 
+import"./disclose-version.BDr9Qe-U.js";import{p as tt,aP as st,n as rt,R as Ee,T as Oe,a as nt,U as I,W as U,X as it}from"./index-client.CzqVbBUo.js";import{s as at}from"./render.CK5MTJQL.js";import{i as ot}from"./if.BnegfJmL.js";import{a as Se,t as Ae}from"./template.io25wnf1.js";import{s as ut}from"./snippet.B82X2vfx.js";import{d as lt,t as ct,s as ht,e as pt,a as ft}from"./Button.JzTZa4bh.js";import{g as dt,s as Y}from"./helpers.BvaXa0cv.js";import{p as R,r as mt}from"./props.C_MHtC74.js";function vt(r){return r&&r.__esModule&&Object.prototype.hasOwnProperty.call(r,"default")?r.default:r}function j(r){this._maxSize=r,this.clear()}j.prototype.clear=function(){this._size=0,this._values=Object.create(null)},j.prototype.get=function(r){return this._values[r]},j.prototype.set=function(r,e){return this._size>=this._maxSize&&this.clear(),r in this._values||this._size++,this._values[r]=e};var yt=/[^.^\]^[]+|(?=\[\]|\.\.)/g,je=/^\d+$/,gt=/^\d/,bt=/[~`!#$%\^&*+=\-\[\]\\';,/{}|\\":<>\?]/g,xt=/^\s*(['"]?)(.*?)(\1)\s*$/,te=512,De=new j(te),Ce=new j(te),ze=new j(te),D={Cache:j,split:re,normalizePath:se,setter:function(r){var e=se(r);return Ce.get(r)||Ce.set(r,function(t,s){for(var n=0,i=e.length,a=t;n<i-1;){var o=e[n];if(o==="__proto__"||o==="constructor"||o==="prototype")return t;a=a[e[n++]]}a[e[n]]=s})},getter:function(r,e){var t=se(r);return ze.get(r)||ze.set(r,function(s){for(var n=0,i=t.length;n<i;)if(s!=null||!e)s=s[t[n++]];else return;return s})},join:function(r){return r.reduce(function(e,t){return e+(ne(t)||je.test(t)?"["+t+"]":(e?".":"")+t)},"")},forEach:function(r,e,t){wt(Array.isArray(r)?r:re(r),e,t)}};function se(r){return De.get(r)||De.set(r,re(r).map(function(e){return e.replace(xt,"$2")}))}function re(r){return r.match(yt)||[""]}function wt(r,e,t){var s=r.length,n,i,a,o;for(i=0;i<s;i++)n=r[i],n&&(Tt(n)&&(n='"'+n+'"'),o=ne(n),a=!o&&/^\d+$/.test(n),e.call(t,n,o,a,i,r))}function ne(r){return typeof r=="string"&&r&&["'",'"'].indexOf(r.charAt(0))!==-1}function _t(r){return r.match(gt)&&!r.match(je)}function Ft(r){return bt.test(r)}function Tt(r){return!ne(r)&&(_t(r)||Ft(r))}const $t=/[A-Z\xc0-\xd6\xd8-\xde]?[a-z\xdf-\xf6\xf8-\xff]+(?:['’](?:d|ll|m|re|s|t|ve))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde]|$)|(?:[A-Z\xc0-\xd6\xd8-\xde]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:D|LL|M|RE|S|T|VE))?(?=[\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000]|[A-Z\xc0-\xd6\xd8-\xde](?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])|$)|[A-Z\xc0-\xd6\xd8-\xde]?(?:[a-z\xdf-\xf6\xf8-\xff]|[^\ud800-\udfff\xac\xb1\xd7\xf7\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\xbf\u2000-\u206f \t\x0b\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\d+\u2700-\u27bfa-z\xdf-\xf6\xf8-\xffA-Z\xc0-\xd6\xd8-\xde])+(?:['’](?:d|ll|m|re|s|t|ve))?|[A-Z\xc0-\xd6\xd8-\xde]+(?:['’](?:D|LL|M|RE|S|T|VE))?|\d*(?:1ST|2ND|3RD|(?![123])\dTH)(?=\b|[a-z_])|\d*(?:1st|2nd|3rd|(?![123])\dth)(?=\b|[A-Z_])|\d+|(?:[\u2700-\u27bf]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?(?:\u200d(?:[^\ud800-\udfff]|(?:\ud83c[\udde6-\uddff]){2}|[\ud800-\udbff][\udc00-\udfff])[\ufe0e\ufe0f]?(?:[\u0300-\u036f\ufe20-\ufe2f\u20d0-\u20ff]|\ud83c[\udffb-\udfff])?)*/g,K=r=>r.match($t)||[],J=r=>r[0].toUpperCase()+r.slice(1),ie=(r,e)=>K(r).join(e).toLowerCase(),Ve=r=>K(r).reduce((e,t)=>`${e}${e?t[0].toUpperCase()+t.slice(1).toLowerCase():t.toLowerCase()}`,""),kt=r=>J(Ve(r)),Et=r=>ie(r,"_"),Ot=r=>ie(r,"-"),St=r=>J(ie(r," ")),At=r=>K(r).map(J).join(" ");var ae={words:K,upperFirst:J,camelCase:Ve,pascalCase:kt,snakeCase:Et,kebabCase:Ot,sentenceCase:St,titleCase:At},oe={exports:{}};oe.exports=function(r){return Ne(jt(r),r)},oe.exports.array=Ne;function Ne(r,e){var t=r.length,s=new Array(t),n={},i=t,a=Dt(e),o=Ct(r);for(e.forEach(function(l){if(!o.has(l[0])||!o.has(l[1]))throw new Error("Unknown node. There is an unknown node in the supplied edges.")});i--;)n[i]||u(r[i],i,new Set);return s;function u(l,c,h){if(h.has(l)){var p;try{p=", node was:"+JSON.stringify(l)}catch{p=""}throw new Error("Cyclic dependency"+p)}if(!o.has(l))throw new Error("Found unknown node. Make sure to provided all involved nodes. Unknown node: "+JSON.stringify(l));if(!n[c]){n[c]=!0;var f=a.get(l)||new Set;if(f=Array.from(f),c=f.length){h.add(l);do{var y=f[--c];u(y,o.get(y),h)}while(c);h.delete(l)}s[--t]=l}}}function jt(r){for(var e=new Set,t=0,s=r.length;t<s;t++){var n=r[t];e.add(n[0]),e.add(n[1])}return Array.from(e)}function Dt(r){for(var e=new Map,t=0,s=r.length;t<s;t++){var n=r[t];e.has(n[0])||e.set(n[0],new Set),e.has(n[1])||e.set(n[1],new Set),e.get(n[0]).add(n[1])}return e}function Ct(r){for(var e=new Map,t=0,s=r.length;t<s;t++)e.set(r[t],t);return e}var zt=oe.exports;const Vt=vt(zt),Nt=Object.prototype.toString,Mt=Error.prototype.toString,Pt=RegExp.prototype.toString,It=typeof Symbol<"u"?Symbol.prototype.toString:()=>"",Ut=/^Symbol\((.*)\)(.*)$/;function Rt(r){return r!=+r?"NaN":r===0&&1/r<0?"-0":""+r}function Me(r,e=!1){if(r==null||r===!0||r===!1)return""+r;const t=typeof r;if(t==="number")return Rt(r);if(t==="string")return e?`"${r}"`:r;if(t==="function")return"[Function "+(r.name||"anonymous")+"]";if(t==="symbol")return It.call(r).replace(Ut,"Symbol($1)");const s=Nt.call(r).slice(8,-1);return s==="Date"?isNaN(r.getTime())?""+r:r.toISOString(r):s==="Error"||r instanceof Error?"["+Mt.call(r)+"]":s==="RegExp"?Pt.call(r):null}function T(r,e){let t=Me(r,e);return t!==null?t:JSON.stringify(r,function(s,n){let i=Me(this[s],e);return i!==null?i:n},2)}function Pe(r){return r==null?[]:[].concat(r)}let Ie,Ue,Re,qt=/\$\{\s*(\w+)\s*\}/g;Ie=Symbol.toStringTag;class qe{constructor(e,t,s,n){this.name=void 0,this.message=void 0,this.value=void 0,this.path=void 0,this.type=void 0,this.params=void 0,this.errors=void 0,this.inner=void 0,this[Ie]="Error",this.name="ValidationError",this.value=t,this.path=s,this.type=n,this.errors=[],this.inner=[],Pe(e).forEach(i=>{if(m.isError(i)){this.errors.push(...i.errors);const a=i.inner.length?i.inner:[i];this.inner.push(...a)}else this.errors.push(i)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0]}}Ue=Symbol.hasInstance,Re=Symbol.toStringTag;class m extends Error{static formatError(e,t){const s=t.label||t.path||"this";return t=Object.assign({},t,{path:s,originalPath:t.path}),typeof e=="string"?e.replace(qt,(n,i)=>T(t[i])):typeof e=="function"?e(t):e}static isError(e){return e&&e.name==="ValidationError"}constructor(e,t,s,n,i){const a=new qe(e,t,s,n);if(i)return a;super(),this.value=void 0,this.path=void 0,this.type=void 0,this.params=void 0,this.errors=[],this.inner=[],this[Re]="Error",this.name=a.name,this.message=a.message,this.type=a.type,this.value=a.value,this.path=a.path,this.errors=a.errors,this.inner=a.inner,Error.captureStackTrace&&Error.captureStackTrace(this,m)}static[Ue](e){return qe[Symbol.hasInstance](e)||super[Symbol.hasInstance](e)}}let $={default:"${path} is invalid",required:"${path} is a required field",defined:"${path} must be defined",notNull:"${path} cannot be null",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType:({path:r,type:e,value:t,originalValue:s})=>{const n=s!=null&&s!==t?` (cast from the value \`${T(s,!0)}\`).`:".";return e!=="mixed"?`${r} must be a \`${e}\` type, but the final value was: \`${T(t,!0)}\``+n:`${r} must match the configured type. The validated value was: \`${T(t,!0)}\``+n}},b={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",datetime:"${path} must be a valid ISO date-time",datetime_precision:"${path} must be a valid ISO date-time with a sub-second precision of exactly ${precision} digits",datetime_offset:'${path} must be a valid ISO date-time with UTC "Z" timezone',trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},O={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},ue={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},le={isValue:"${path} field must be ${value}"},B={noUnknown:"${path} field has unspecified keys: ${unknown}",exact:"${path} object contains unknown properties: ${properties}"},W={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must have ${length} items"},Ze={notType:r=>{const{path:e,value:t,spec:s}=r,n=s.types.length;if(Array.isArray(t)){if(t.length<n)return`${e} tuple value has too few items, expected a length of ${n} but got ${t.length} for value: \`${T(t,!0)}\``;if(t.length>n)return`${e} tuple value has too many items, expected a length of ${n} but got ${t.length} for value: \`${T(t,!0)}\``}return m.formatError($.notType,r)}};var Le=Object.assign(Object.create(null),{mixed:$,string:b,number:O,date:ue,object:B,array:W,boolean:le,tuple:Ze});const C=r=>r&&r.__isYupSchema__;class H{static fromOptions(e,t){if(!t.then&&!t.otherwise)throw new TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:s,then:n,otherwise:i}=t,a=typeof s=="function"?s:(...o)=>o.every(u=>u===s);return new H(e,(o,u)=>{var l;let c=a(...o)?n:i;return(l=c==null?void 0:c(u))!=null?l:u})}constructor(e,t){this.fn=void 0,this.refs=e,this.refs=e,this.fn=t}resolve(e,t){let s=this.refs.map(i=>i.getValue(t==null?void 0:t.value,t==null?void 0:t.parent,t==null?void 0:t.context)),n=this.fn(s,e,t);if(n===void 0||n===e)return e;if(!C(n))throw new TypeError("conditions must return a schema object");return n.resolve(t)}}const X={context:"$",value:"."};function Zt(r,e){return new S(r,e)}class S{constructor(e,t={}){if(this.key=void 0,this.isContext=void 0,this.isValue=void 0,this.isSibling=void 0,this.path=void 0,this.getter=void 0,this.map=void 0,typeof e!="string")throw new TypeError("ref must be a string, got: "+e);if(this.key=e.trim(),e==="")throw new TypeError("ref must be a non-empty string");this.isContext=this.key[0]===X.context,this.isValue=this.key[0]===X.value,this.isSibling=!this.isContext&&!this.isValue;let s=this.isContext?X.context:this.isValue?X.value:"";this.path=this.key.slice(s.length),this.getter=this.path&&D.getter(this.path,!0),this.map=t.map}getValue(e,t,s){let n=this.isContext?s:this.isValue?e:t;return this.getter&&(n=this.getter(n||{})),this.map&&(n=this.map(n)),n}cast(e,t){return this.getValue(e,t==null?void 0:t.parent,t==null?void 0:t.context)}resolve(){return this}describe(){return{type:"ref",key:this.key}}toString(){return`Ref(${this.key})`}static isRef(e){return e&&e.__isYupRef}}S.prototype.__isYupRef=!0;const F=r=>r==null;function z(r){function e({value:t,path:s="",options:n,originalValue:i,schema:a},o,u){const{name:l,test:c,params:h,message:p,skipAbsent:f}=r;let{parent:y,context:g,abortEarly:_=a.spec.abortEarly,disableStackTrace:x=a.spec.disableStackTrace}=n;function M(d){return S.isRef(d)?d.getValue(t,y,g):d}function q(d={}){const A=Object.assign({value:t,originalValue:i,label:a.spec.label,path:d.path||s,spec:a.spec,disableStackTrace:d.disableStackTrace||x},h,d.params);for(const ke of Object.keys(A))A[ke]=M(A[ke]);const $e=new m(m.formatError(d.message||p,A),t,A.path,d.type||l,A.disableStackTrace);return $e.params=A,$e}const P=_?o:u;let w={path:s,parent:y,type:l,from:n.from,createError:q,resolve:M,options:n,originalValue:i,schema:a};const k=d=>{m.isError(d)?P(d):d?u(null):P(q())},Z=d=>{m.isError(d)?P(d):o(d)};if(f&&F(t))return k(!0);let L;try{var Te;if(L=c.call(w,t,w),typeof((Te=L)==null?void 0:Te.then)=="function"){if(n.sync)throw new Error(`Validation test of type: "${w.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`);return Promise.resolve(L).then(k,Z)}}catch(d){Z(d);return}k(L)}return e.OPTIONS=r,e}function ce(r,e,t,s=t){let n,i,a;return e?(D.forEach(e,(o,u,l)=>{let c=u?o.slice(1,o.length-1):o;r=r.resolve({context:s,parent:n,value:t});let h=r.type==="tuple",p=l?parseInt(c,10):0;if(r.innerType||h){if(h&&!l)throw new Error(`Yup.reach cannot implicitly index into a tuple type. the path part "${a}" must contain an index to the tuple element, e.g. "${a}[0]"`);if(t&&p>=t.length)throw new Error(`Yup.reach cannot resolve an array item at index: ${o}, in the path: ${e}. because there is no value at that index. `);n=t,t=t&&t[p],r=h?r.spec.types[p]:r.innerType}if(!l){if(!r.fields||!r.fields[c])throw new Error(`The schema does not contain the path: ${e}. (failed at: ${a} which is a type: "${r.type}")`);n=t,t=t&&t[c],r=r.fields[c]}i=c,a=u?"["+o+"]":"."+o}),{schema:r,parent:n,parentPath:i}):{parent:n,parentPath:e,schema:r}}function Lt(r,e,t,s){return ce(r,e,t,s).schema}class Q extends Set{describe(){const e=[];for(const t of this.values())e.push(S.isRef(t)?t.describe():t);return e}resolveAll(e){let t=[];for(const s of this.values())t.push(e(s));return t}clone(){return new Q(this.values())}merge(e,t){const s=this.clone();return e.forEach(n=>s.add(n)),t.forEach(n=>s.delete(n)),s}}function V(r,e=new Map){if(C(r)||!r||typeof r!="object")return r;if(e.has(r))return e.get(r);let t;if(r instanceof Date)t=new Date(r.getTime()),e.set(r,t);else if(r instanceof RegExp)t=new RegExp(r),e.set(r,t);else if(Array.isArray(r)){t=new Array(r.length),e.set(r,t);for(let s=0;s<r.length;s++)t[s]=V(r[s],e)}else if(r instanceof Map){t=new Map,e.set(r,t);for(const[s,n]of r.entries())t.set(s,V(n,e))}else if(r instanceof Set){t=new Set,e.set(r,t);for(const s of r)t.add(V(s,e))}else if(r instanceof Object){t={},e.set(r,t);for(const[s,n]of Object.entries(r))t[s]=V(n,e)}else throw Error(`Unable to clone ${r}`);return t}class v{constructor(e){this.type=void 0,this.deps=[],this.tests=void 0,this.transforms=void 0,this.conditions=[],this._mutate=void 0,this.internalTests={},this._whitelist=new Q,this._blacklist=new Q,this.exclusiveTests=Object.create(null),this._typeCheck=void 0,this.spec=void 0,this.tests=[],this.transforms=[],this.withMutation(()=>{this.typeError($.notType)}),this.type=e.type,this._typeCheck=e.check,this.spec=Object.assign({strip:!1,strict:!1,abortEarly:!0,recursive:!0,disableStackTrace:!1,nullable:!1,optional:!0,coerce:!0},e==null?void 0:e.spec),this.withMutation(t=>{t.nonNullable()})}get _type(){return this.type}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;const t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeCheck=this._typeCheck,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.internalTests=Object.assign({},this.internalTests),t.exclusiveTests=Object.assign({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=V(Object.assign({},this.spec,e)),t}label(e){let t=this.clone();return t.spec.label=e,t}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let s=e(this);return this._mutate=t,s}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&this.type!=="mixed")throw new TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,s=e.clone();const n=Object.assign({},t.spec,s.spec);return s.spec=n,s.internalTests=Object.assign({},t.internalTests,s.internalTests),s._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),s._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),s.tests=t.tests,s.exclusiveTests=t.exclusiveTests,s.withMutation(i=>{e.tests.forEach(a=>{i.test(a.OPTIONS)})}),s.transforms=[...t.transforms,...s.transforms],s}isType(e){return e==null?!!(this.spec.nullable&&e===null||this.spec.optional&&e===void 0):this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let s=t.conditions;t=t.clone(),t.conditions=[],t=s.reduce((n,i)=>i.resolve(n,e),t),t=t.resolve(e)}return t}resolveOptions(e){var t,s,n,i;return Object.assign({},e,{from:e.from||[],strict:(t=e.strict)!=null?t:this.spec.strict,abortEarly:(s=e.abortEarly)!=null?s:this.spec.abortEarly,recursive:(n=e.recursive)!=null?n:this.spec.recursive,disableStackTrace:(i=e.disableStackTrace)!=null?i:this.spec.disableStackTrace})}cast(e,t={}){let s=this.resolve(Object.assign({value:e},t)),n=t.assert==="ignore-optionality",i=s._cast(e,t);if(t.assert!==!1&&!s.isType(i)){if(n&&F(i))return i;let a=T(e),o=T(i);throw new TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${s.type}". 
 
 attempted value: ${a} 
-`+(o!==a?`result of cast: ${o}`:""))}return i}_cast(e,t){let s=e===void 0?e:this.transforms.reduce((n,i)=>i.call(this,n,e,this),e);return s===void 0&&(s=this.getDefault(t)),s}_validate(e,t={},s,n){let{path:i,originalValue:a=e,strict:o=this.spec.strict}=t,u=e;o||(u=this._cast(u,Object.assign({assert:!1},t)));let l=[];for(let c of Object.values(this.internalTests))c&&l.push(c);this.runTests({path:i,value:u,originalValue:a,options:t,tests:l},s,c=>{if(c.length)return n(c,u);this.runTests({path:i,value:u,originalValue:a,options:t,tests:this.tests},s,n)})}runTests(e,t,s){let n=!1,{tests:i,value:a,originalValue:o,path:u,options:l}=e,c=g=>{n||(n=!0,t(g,a))},h=g=>{n||(n=!0,s(g,a))},p=i.length,f=[];if(!p)return h([]);let y={value:a,originalValue:o,path:u,options:l,schema:this};for(let g=0;g<i.length;g++){const _=i[g];_(y,c,function(x){x&&(Array.isArray(x)?f.push(...x):f.push(x)),--p<=0&&h(f)})}}asNestedTest({key:e,index:t,parent:s,parentPath:n,originalParent:i,options:a}){const o=e??t;if(o==null)throw TypeError("Must include `key` or `index` for nested validations");const u=typeof o=="number";let l=s[o];const c=Object.assign({},a,{strict:!0,parent:s,value:l,originalValue:i[o],key:void 0,[u?"index":"key"]:o,path:u||o.includes(".")?`${n||""}[${u?o:`"${o}"`}]`:(n?`${n}.`:"")+e});return(h,p,f)=>this.resolve(c)._validate(l,c,p,f)}validate(e,t){var s;let n=this.resolve(Object.assign({},t,{value:e})),i=(s=t==null?void 0:t.disableStackTrace)!=null?s:n.spec.disableStackTrace;return new Promise((a,o)=>n._validate(e,t,(u,l)=>{m.isError(u)&&(u.value=l),o(u)},(u,l)=>{u.length?o(new m(u,l,void 0,void 0,i)):a(l)}))}validateSync(e,t){var s;let n=this.resolve(Object.assign({},t,{value:e})),i,a=(s=t==null?void 0:t.disableStackTrace)!=null?s:n.spec.disableStackTrace;return n._validate(e,Object.assign({},t,{sync:!0}),(o,u)=>{throw m.isError(o)&&(o.value=u),o},(o,u)=>{if(o.length)throw new m(o,e,void 0,void 0,a);i=u}),i}isValid(e,t){return this.validate(e,t).then(()=>!0,s=>{if(m.isError(s))return!1;throw s})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(s){if(m.isError(s))return!1;throw s}}_getDefault(e){let t=this.spec.default;return t==null?t:typeof t=="function"?t.call(this,e):V(t)}getDefault(e){return this.resolve(e||{})._getDefault(e)}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){return this.clone({strict:e})}nullability(e,t){const s=this.clone({nullable:e});return s.internalTests.nullable=z({message:t,name:"nullable",test(n){return n===null?this.schema.spec.nullable:!0}}),s}optionality(e,t){const s=this.clone({optional:e});return s.internalTests.optionality=z({message:t,name:"optionality",test(n){return n===void 0?this.schema.spec.optional:!0}}),s}optional(){return this.optionality(!0)}defined(e=$.defined){return this.optionality(!1,e)}nullable(){return this.nullability(!0)}nonNullable(e=$.notNull){return this.nullability(!1,e)}required(e=$.required){return this.clone().withMutation(t=>t.nonNullable(e).defined(e))}notRequired(){return this.clone().withMutation(e=>e.nullable().optional())}transform(e){let t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]=="function"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=$.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let s=this.clone(),n=z(t),i=t.exclusive||t.name&&s.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(s.exclusiveTests[t.name]=!!t.exclusive),s.tests=s.tests.filter(a=>!(a.OPTIONS.name===t.name&&(i||a.OPTIONS.test===n.OPTIONS.test))),s.tests.push(n),s}when(e,t){!Array.isArray(e)&&typeof e!="string"&&(t=e,e=".");let s=this.clone(),n=Pe(e).map(i=>new S(i));return n.forEach(i=>{i.isSibling&&s.deps.push(i.key)}),s.conditions.push(typeof t=="function"?new W(n,t):W.fromOptions(n,t)),s}typeError(e){let t=this.clone();return t.internalTests.typeError=z({message:e,name:"typeError",skipAbsent:!0,test(s){return this.schema._typeCheck(s)?!0:this.createError({params:{type:this.schema.type}})}}),t}oneOf(e,t=$.oneOf){let s=this.clone();return e.forEach(n=>{s._whitelist.add(n),s._blacklist.delete(n)}),s.internalTests.whiteList=z({message:t,name:"oneOf",skipAbsent:!0,test(n){let i=this.schema._whitelist,a=i.resolveAll(this.resolve);return a.includes(n)?!0:this.createError({params:{values:Array.from(i).join(", "),resolved:a}})}}),s}notOneOf(e,t=$.notOneOf){let s=this.clone();return e.forEach(n=>{s._blacklist.add(n),s._whitelist.delete(n)}),s.internalTests.blacklist=z({message:t,name:"notOneOf",test(n){let i=this.schema._blacklist,a=i.resolveAll(this.resolve);return a.includes(n)?this.createError({params:{values:Array.from(i).join(", "),resolved:a}}):!0}}),s}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(e){const t=(e?this.resolve(e):this).clone(),{label:s,meta:n,optional:i,nullable:a}=t.spec;return{meta:n,label:s,optional:i,nullable:a,default:t.getDefault(e),type:t.type,oneOf:t._whitelist.describe(),notOneOf:t._blacklist.describe(),tests:t.tests.map(o=>({name:o.OPTIONS.name,params:o.OPTIONS.params})).filter((o,u,l)=>l.findIndex(c=>c.name===o.name)===u)}}}v.prototype.__isYupSchema__=!0;for(const r of["validate","validateSync"])v.prototype[`${r}At`]=function(e,t,s={}){const{parent:n,parentPath:i,schema:a}=ce(this,e,t,s.context);return a[r](n&&n[i],Object.assign({},s,{parent:n,path:e}))};for(const r of["equals","is"])v.prototype[r]=v.prototype.oneOf;for(const r of["not","nope"])v.prototype[r]=v.prototype.notOneOf;const Yt=()=>!0;function Ye(r){return new he(r)}class he extends v{constructor(e){super(typeof e=="function"?{type:"mixed",check:e}:Object.assign({type:"mixed",check:Yt},e))}}Ye.prototype=he.prototype;function pe(){return new fe}class fe extends v{constructor(){super({type:"boolean",check(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}}),this.withMutation(()=>{this.transform((e,t,s)=>{if(s.spec.coerce&&!s.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}isTrue(e=le.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(t){return F(t)||t===!0}})}isFalse(e=le.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(t){return F(t)||t===!1}})}default(e){return super.default(e)}defined(e){return super.defined(e)}optional(){return super.optional()}required(e){return super.required(e)}notRequired(){return super.notRequired()}nullable(){return super.nullable()}nonNullable(e){return super.nonNullable(e)}strip(e){return super.strip(e)}}pe.prototype=fe.prototype;const Kt=/^(\d{4}|[+-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,.](\d{1,}))?)?(?:(Z)|([+-])(\d{2})(?::?(\d{2}))?)?)?$/;function Jt(r){const e=de(r);if(!e)return Date.parse?Date.parse(r):Number.NaN;if(e.z===void 0&&e.plusMinus===void 0)return new Date(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond).valueOf();let t=0;return e.z!=="Z"&&e.plusMinus!==void 0&&(t=e.hourOffset*60+e.minuteOffset,e.plusMinus==="+"&&(t=0-t)),Date.UTC(e.year,e.month,e.day,e.hour,e.minute+t,e.second,e.millisecond)}function de(r){var e,t;const s=Kt.exec(r);return s?{year:E(s[1]),month:E(s[2],1)-1,day:E(s[3],1),hour:E(s[4]),minute:E(s[5]),second:E(s[6]),millisecond:s[7]?E(s[7].substring(0,3)):0,precision:(e=(t=s[7])==null?void 0:t.length)!=null?e:void 0,z:s[8]||void 0,plusMinus:s[9]||void 0,hourOffset:E(s[10]),minuteOffset:E(s[11])}:null}function E(r,e=0){return Number(r)||e}let Bt=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Gt=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,Ht=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,Qt="^\\d{4}-\\d{2}-\\d{2}",Wt="\\d{2}:\\d{2}:\\d{2}",Xt="(([+-]\\d{2}(:?\\d{2})?)|Z)",es=new RegExp(`${Qt}T${Wt}(\\.\\d+)?${Xt}$`),ts=r=>F(r)||r===r.trim(),ss={}.toString();function me(){return new ve}class ve extends v{constructor(){super({type:"string",check(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}}),this.withMutation(()=>{this.transform((e,t,s)=>{if(!s.spec.coerce||s.isType(e)||Array.isArray(e))return e;const n=e!=null&&e.toString?e.toString():e;return n===ss?e:n})})}required(e){return super.required(e).withMutation(t=>t.test({message:e||$.required,name:"required",skipAbsent:!0,test:s=>!!s.length}))}notRequired(){return super.notRequired().withMutation(e=>(e.tests=e.tests.filter(t=>t.OPTIONS.name!=="required"),e))}length(e,t=b.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(s){return s.length===this.resolve(e)}})}min(e,t=b.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(s){return s.length>=this.resolve(e)}})}max(e,t=b.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},skipAbsent:!0,test(s){return s.length<=this.resolve(e)}})}matches(e,t){let s=!1,n,i;return t&&(typeof t=="object"?{excludeEmptyString:s=!1,message:n,name:i}=t:n=t),this.test({name:i||"matches",message:n||b.matches,params:{regex:e},skipAbsent:!0,test:a=>a===""&&s||a.search(e)!==-1})}email(e=b.email){return this.matches(Bt,{name:"email",message:e,excludeEmptyString:!0})}url(e=b.url){return this.matches(Gt,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=b.uuid){return this.matches(Ht,{name:"uuid",message:e,excludeEmptyString:!1})}datetime(e){let t="",s,n;return e&&(typeof e=="object"?{message:t="",allowOffset:s=!1,precision:n=void 0}=e:t=e),this.matches(es,{name:"datetime",message:t||b.datetime,excludeEmptyString:!0}).test({name:"datetime_offset",message:t||b.datetime_offset,params:{allowOffset:s},skipAbsent:!0,test:i=>{if(!i||s)return!0;const a=de(i);return a?!!a.z:!1}}).test({name:"datetime_precision",message:t||b.datetime_precision,params:{precision:n},skipAbsent:!0,test:i=>{if(!i||n==null)return!0;const a=de(i);return a?a.precision===n:!1}})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=b.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:"trim",test:ts})}lowercase(e=b.lowercase){return this.transform(t=>F(t)?t:t.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>F(t)||t===t.toLowerCase()})}uppercase(e=b.uppercase){return this.transform(t=>F(t)?t:t.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>F(t)||t===t.toUpperCase()})}}me.prototype=ve.prototype;let rs=r=>r!=+r;function ye(){return new ge}class ge extends v{constructor(){super({type:"number",check(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!rs(e)}}),this.withMutation(()=>{this.transform((e,t,s)=>{if(!s.spec.coerce)return e;let n=e;if(typeof n=="string"){if(n=n.replace(/\s/g,""),n==="")return NaN;n=+n}return s.isType(n)||n===null?n:parseFloat(n)})})}min(e,t=O.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(s){return s>=this.resolve(e)}})}max(e,t=O.max){return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(s){return s<=this.resolve(e)}})}lessThan(e,t=O.lessThan){return this.test({message:t,name:"max",exclusive:!0,params:{less:e},skipAbsent:!0,test(s){return s<this.resolve(e)}})}moreThan(e,t=O.moreThan){return this.test({message:t,name:"min",exclusive:!0,params:{more:e},skipAbsent:!0,test(s){return s>this.resolve(e)}})}positive(e=O.positive){return this.moreThan(0,e)}negative(e=O.negative){return this.lessThan(0,e)}integer(e=O.integer){return this.test({name:"integer",message:e,skipAbsent:!0,test:t=>Number.isInteger(t)})}truncate(){return this.transform(e=>F(e)?e:e|0)}round(e){var t;let s=["ceil","floor","round","trunc"];if(e=((t=e)==null?void 0:t.toLowerCase())||"round",e==="trunc")return this.truncate();if(s.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+s.join(", "));return this.transform(n=>F(n)?n:Math[e](n))}}ye.prototype=ge.prototype;let Ke=new Date(""),ns=r=>Object.prototype.toString.call(r)==="[object Date]";function be(){return new N}class N extends v{constructor(){super({type:"date",check(e){return ns(e)&&!isNaN(e.getTime())}}),this.withMutation(()=>{this.transform((e,t,s)=>!s.spec.coerce||s.isType(e)||e===null?e:(e=Jt(e),isNaN(e)?N.INVALID_DATE:new Date(e)))})}prepareParam(e,t){let s;if(S.isRef(e))s=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);s=n}return s}min(e,t=ue.min){let s=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(n){return n>=this.resolve(s)}})}max(e,t=ue.max){let s=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(n){return n<=this.resolve(s)}})}}N.INVALID_DATE=Ke,be.prototype=N.prototype,be.INVALID_DATE=Ke;function is(r,e=[]){let t=[],s=new Set,n=new Set(e.map(([a,o])=>`${a}-${o}`));function i(a,o){let u=D.split(a)[0];s.add(u),n.has(`${o}-${u}`)||t.push([o,u])}for(const a of Object.keys(r)){let o=r[a];s.add(a),S.isRef(o)&&o.isSibling?i(o.path,a):C(o)&&"deps"in o&&o.deps.forEach(u=>i(u,a))}return Vt.array(Array.from(s),t).reverse()}function Je(r,e){let t=1/0;return r.some((s,n)=>{var i;if((i=e.path)!=null&&i.includes(s))return t=n,!0}),t}function Be(r){return(e,t)=>Je(r,e)-Je(r,t)}const Ge=(r,e,t)=>{if(typeof r!="string")return r;let s=r;try{s=JSON.parse(r)}catch{}return t.isType(s)?s:r};function Q(r){if("fields"in r){const e={};for(const[t,s]of Object.entries(r.fields))e[t]=Q(s);return r.setFields(e)}if(r.type==="array"){const e=r.optional();return e.innerType&&(e.innerType=Q(e.innerType)),e}return r.type==="tuple"?r.optional().clone({types:r.spec.types.map(Q)}):"optional"in r?r.optional():r}const as=(r,e)=>{const t=[...D.normalizePath(e)];if(t.length===1)return t[0]in r;let s=t.pop(),n=D.getter(D.join(t),!0)(r);return!!(n&&s in n)};let He=r=>Object.prototype.toString.call(r)==="[object Object]";function Qe(r,e){let t=Object.keys(r.fields);return Object.keys(e).filter(s=>t.indexOf(s)===-1)}const os=Be([]);function xe(r){return new we(r)}class we extends v{constructor(e){super({type:"object",check(t){return He(t)||typeof t=="function"}}),this.fields=Object.create(null),this._sortErrors=os,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{e&&this.shape(e)})}_cast(e,t={}){var s;let n=super._cast(e,t);if(n===void 0)return this.getDefault(t);if(!this._typeCheck(n))return n;let i=this.fields,a=(s=t.stripUnknown)!=null?s:this.spec.noUnknown,o=[].concat(this._nodes,Object.keys(n).filter(h=>!this._nodes.includes(h))),u={},l=Object.assign({},t,{parent:u,__validating:t.__validating||!1}),c=!1;for(const h of o){let p=i[h],f=h in n;if(p){let y,g=n[h];l.path=(t.path?`${t.path}.`:"")+h,p=p.resolve({value:g,context:t.context,parent:u});let _=p instanceof v?p.spec:void 0,x=_==null?void 0:_.strict;if(_!=null&&_.strip){c=c||h in n;continue}y=!t.__validating||!x?p.cast(n[h],l):n[h],y!==void 0&&(u[h]=y)}else f&&!a&&(u[h]=n[h]);(f!==h in u||u[h]!==n[h])&&(c=!0)}return c?u:n}_validate(e,t={},s,n){let{from:i=[],originalValue:a=e,recursive:o=this.spec.recursive}=t;t.from=[{schema:this,value:a},...i],t.__validating=!0,t.originalValue=a,super._validate(e,t,s,(u,l)=>{if(!o||!He(l)){n(u,l);return}a=a||l;let c=[];for(let h of this._nodes){let p=this.fields[h];!p||S.isRef(p)||c.push(p.asNestedTest({options:t,key:h,parent:l,parentPath:t.path,originalParent:a}))}this.runTests({tests:c,value:l,originalValue:a,options:t},s,h=>{n(h.sort(this._sortErrors).concat(u),l)})})}clone(e){const t=super.clone(e);return t.fields=Object.assign({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),s=t.fields;for(let[n,i]of Object.entries(this.fields)){const a=s[n];s[n]=a===void 0?i:a}return t.withMutation(n=>n.setFields(s,[...this._excludedEdges,...e._excludedEdges]))}_getDefault(e){if("default"in this.spec)return super._getDefault(e);if(!this._nodes.length)return;let t={};return this._nodes.forEach(s=>{var n;const i=this.fields[s];let a=e;(n=a)!=null&&n.value&&(a=Object.assign({},a,{parent:a.value,value:a.value[s]})),t[s]=i&&"getDefault"in i?i.getDefault(a):void 0}),t}setFields(e,t){let s=this.clone();return s.fields=e,s._nodes=is(e,t),s._sortErrors=Be(Object.keys(e)),t&&(s._excludedEdges=t),s}shape(e,t=[]){return this.clone().withMutation(s=>{let n=s._excludedEdges;return t.length&&(Array.isArray(t[0])||(t=[t]),n=[...s._excludedEdges,...t]),s.setFields(Object.assign(s.fields,e),n)})}partial(){const e={};for(const[t,s]of Object.entries(this.fields))e[t]="optional"in s&&s.optional instanceof Function?s.optional():s;return this.setFields(e)}deepPartial(){return Q(this)}pick(e){const t={};for(const s of e)this.fields[s]&&(t[s]=this.fields[s]);return this.setFields(t,this._excludedEdges.filter(([s,n])=>e.includes(s)&&e.includes(n)))}omit(e){const t=[];for(const s of Object.keys(this.fields))e.includes(s)||t.push(s);return this.pick(t)}from(e,t,s){let n=D.getter(e,!0);return this.transform(i=>{if(!i)return i;let a=i;return as(i,e)&&(a=Object.assign({},i),s||delete a[e],a[t]=n(i)),a})}json(){return this.transform(Ge)}exact(e){return this.test({name:"exact",exclusive:!0,message:e||B.exact,test(t){if(t==null)return!0;const s=Qe(this.schema,t);return s.length===0||this.createError({params:{properties:s.join(", ")}})}})}stripUnknown(){return this.clone({noUnknown:!0})}noUnknown(e=!0,t=B.noUnknown){typeof e!="boolean"&&(t=e,e=!0);let s=this.test({name:"noUnknown",exclusive:!0,message:t,test(n){if(n==null)return!0;const i=Qe(this.schema,n);return!e||i.length===0||this.createError({params:{unknown:i.join(", ")}})}});return s.spec.noUnknown=e,s}unknown(e=!0,t=B.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>{if(!t)return t;const s={};for(const n of Object.keys(t))s[e(n)]=t[n];return s})}camelCase(){return this.transformKeys(ae.camelCase)}snakeCase(){return this.transformKeys(ae.snakeCase)}constantCase(){return this.transformKeys(e=>ae.snakeCase(e).toUpperCase())}describe(e){const t=(e?this.resolve(e):this).clone(),s=super.describe(e);s.fields={};for(const[i,a]of Object.entries(t.fields)){var n;let o=e;(n=o)!=null&&n.value&&(o=Object.assign({},o,{parent:o.value,value:o.value[i]})),s.fields[i]=a.describe(o)}return s}}xe.prototype=we.prototype;function We(r){return new _e(r)}class _e extends v{constructor(e){super({type:"array",spec:{types:e},check(t){return Array.isArray(t)}}),this.innerType=void 0,this.innerType=e}_cast(e,t){const s=super._cast(e,t);if(!this._typeCheck(s)||!this.innerType)return s;let n=!1;const i=s.map((a,o)=>{const u=this.innerType.cast(a,Object.assign({},t,{path:`${t.path||""}[${o}]`}));return u!==a&&(n=!0),u});return n?i:s}_validate(e,t={},s,n){var i;let a=this.innerType,o=(i=t.recursive)!=null?i:this.spec.recursive;t.originalValue!=null&&t.originalValue,super._validate(e,t,s,(u,l)=>{var c;if(!o||!a||!this._typeCheck(l)){n(u,l);return}let h=new Array(l.length);for(let f=0;f<l.length;f++){var p;h[f]=a.asNestedTest({options:t,index:f,parent:l,parentPath:t.path,originalParent:(p=t.originalValue)!=null?p:e})}this.runTests({value:l,tests:h,originalValue:(c=t.originalValue)!=null?c:e,options:t},s,f=>n(f.concat(u),l))})}clone(e){const t=super.clone(e);return t.innerType=this.innerType,t}json(){return this.transform(Ge)}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!C(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+T(e));return t.innerType=e,t.spec=Object.assign({},t.spec,{types:e}),t}length(e,t=G.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(s){return s.length===this.resolve(e)}})}min(e,t){return t=t||G.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(s){return s.length>=this.resolve(e)}})}max(e,t){return t=t||G.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(s){return s.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(s,n,i)=>!e(s,n,i):s=>!!s;return this.transform(s=>s!=null?s.filter(t):s)}describe(e){const t=(e?this.resolve(e):this).clone(),s=super.describe(e);if(t.innerType){var n;let i=e;(n=i)!=null&&n.value&&(i=Object.assign({},i,{parent:i.value,value:i.value[0]})),s.innerType=t.innerType.describe(i)}return s}}We.prototype=_e.prototype;function Xe(r){return new Fe(r)}class Fe extends v{constructor(e){super({type:"tuple",spec:{types:e},check(t){const s=this.spec.types;return Array.isArray(t)&&t.length===s.length}}),this.withMutation(()=>{this.typeError(Ze.notType)})}_cast(e,t){const{types:s}=this.spec,n=super._cast(e,t);if(!this._typeCheck(n))return n;let i=!1;const a=s.map((o,u)=>{const l=o.cast(n[u],Object.assign({},t,{path:`${t.path||""}[${u}]`}));return l!==n[u]&&(i=!0),l});return i?a:n}_validate(e,t={},s,n){let i=this.spec.types;super._validate(e,t,s,(a,o)=>{var u;if(!this._typeCheck(o)){n(a,o);return}let l=[];for(let[h,p]of i.entries()){var c;l[h]=p.asNestedTest({options:t,index:h,parent:o,parentPath:t.path,originalParent:(c=t.originalValue)!=null?c:e})}this.runTests({value:o,tests:l,originalValue:(u=t.originalValue)!=null?u:e,options:t},s,h=>n(h.concat(a),o))})}describe(e){const t=(e?this.resolve(e):this).clone(),s=super.describe(e);return s.innerType=t.spec.types.map((n,i)=>{var a;let o=e;return(a=o)!=null&&a.value&&(o=Object.assign({},o,{parent:o.value,value:o.value[i]})),n.describe(o)}),s}}Xe.prototype=Fe.prototype;function us(r){return new ee(r)}function et(r){try{return r()}catch(e){if(m.isError(e))return Promise.reject(e);throw e}}class ee{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this.spec=void 0,this._resolve=(t,s={})=>{let n=this.builder(t,s);if(!C(n))throw new TypeError("lazy() functions must return a valid schema");return this.spec.optional&&(n=n.optional()),n.resolve(s)},this.builder=e,this.spec={meta:void 0,optional:!1}}clone(e){const t=new ee(this.builder);return t.spec=Object.assign({},this.spec,e),t}optionality(e){return this.clone({optional:e})}optional(){return this.optionality(!0)}resolve(e){return this._resolve(e.value,e)}cast(e,t){return this._resolve(e,t).cast(e,t)}asNestedTest(e){let{key:t,index:s,parent:n,options:i}=e,a=n[s??t];return this._resolve(a,Object.assign({},i,{value:a,parent:n})).asNestedTest(e)}validate(e,t){return et(()=>this._resolve(e,t).validate(e,t))}validateSync(e,t){return this._resolve(e,t).validateSync(e,t)}validateAt(e,t,s){return et(()=>this._resolve(t,s).validateAt(e,t,s))}validateSyncAt(e,t,s){return this._resolve(t,s).validateSyncAt(e,t,s)}isValid(e,t){try{return this._resolve(e,t).isValid(e,t)}catch(s){if(m.isError(s))return Promise.resolve(!1);throw s}}isValidSync(e,t){return this._resolve(e,t).isValidSync(e,t)}describe(e){return e?this.resolve(e).describe(e):{type:"lazy",meta:this.spec.meta,label:void 0}}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}}function ls(r){Object.keys(r).forEach(e=>{Object.keys(r[e]).forEach(t=>{Le[e][t]=r[e][t]})})}function cs(r,e,t){if(!r||!C(r.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof t!="function")throw new TypeError("Method function must be provided");r.prototype[e]=t}const hs=Object.freeze(Object.defineProperty({__proto__:null,ArraySchema:_e,BooleanSchema:fe,DateSchema:N,LazySchema:ee,MixedSchema:he,NumberSchema:ge,ObjectSchema:we,Schema:v,StringSchema:ve,TupleSchema:Fe,ValidationError:m,addMethod:cs,array:We,bool:pe,boolean:pe,date:be,defaultLocale:Le,getIn:ce,isSchema:C,lazy:us,mixed:Ye,number:ye,object:xe,printValue:T,reach:Lt,ref:Zt,setLocale:ls,string:me,tuple:Xe},Symbol.toStringTag,{value:"Module"}));var ps=Oe('<div class="err font-label svelte-x8kgzj"> </div>'),fs=Oe('<div class="container svelte-x8kgzj"><div class="label svelte-x8kgzj"><div class="labelInner font-label noselect svelte-x8kgzj"><label><!></label></div></div> <input> <!></div>');function ds(r,e){tt(e,!0);let t=q(e,"name",19,mt),s=q(e,"disabled",3,!1),n=q(e,"value",15),i=q(e,"width",3,"250px"),a=q(e,"autocomplete",3,"on"),o=dt(e,["$$slots","$$events","$$legacy","name","disabled","error","value","width","autocomplete","children"]);const u=st();function l(w){u("keypress",w),w.code==="Enter"&&u("enter",w)}u("blur",!0);function c(){u("blur",!0)}async function h(w){await it(),n(w.target.value),u("input",!0)}var p=fs(),f=I(p),y=I(f),g=I(y),_=I(g);ut(_,()=>e.children??rt),U(g),U(y),U(f);var x=Se(f,2);lt(x);let M;var R=Se(x,2);{var P=w=>{var k=ps(),Z=I(k,!0);U(k),Ae(()=>{Y(k,"width",i()),at(Z,e.error)}),ct(7,k,()=>ht,()=>({duration:250})),Ee(w,k)};ot(R,w=>{e.error&&w(P)})}U(p),Ae(()=>{Y(p,"width",`calc(${i()??""} + 12px)`),Y(y,"background",s()?"var(--col-gmid)":"var(--col-bg)"),pt(g,"for",t()),M=ft(x,M,{name:t(),disabled:s(),value:n(),autocomplete:a(),...o,oninput:h,onkeypress:l,onblur:c},"svelte-x8kgzj"),Y(x,"width",i())}),Ee(r,p),nt()}export{ds as I,me as a,ye as b,xe as c,hs as y};
+`+(o!==a?`result of cast: ${o}`:""))}return i}_cast(e,t){let s=e===void 0?e:this.transforms.reduce((n,i)=>i.call(this,n,e,this),e);return s===void 0&&(s=this.getDefault(t)),s}_validate(e,t={},s,n){let{path:i,originalValue:a=e,strict:o=this.spec.strict}=t,u=e;o||(u=this._cast(u,Object.assign({assert:!1},t)));let l=[];for(let c of Object.values(this.internalTests))c&&l.push(c);this.runTests({path:i,value:u,originalValue:a,options:t,tests:l},s,c=>{if(c.length)return n(c,u);this.runTests({path:i,value:u,originalValue:a,options:t,tests:this.tests},s,n)})}runTests(e,t,s){let n=!1,{tests:i,value:a,originalValue:o,path:u,options:l}=e,c=g=>{n||(n=!0,t(g,a))},h=g=>{n||(n=!0,s(g,a))},p=i.length,f=[];if(!p)return h([]);let y={value:a,originalValue:o,path:u,options:l,schema:this};for(let g=0;g<i.length;g++){const _=i[g];_(y,c,function(x){x&&(Array.isArray(x)?f.push(...x):f.push(x)),--p<=0&&h(f)})}}asNestedTest({key:e,index:t,parent:s,parentPath:n,originalParent:i,options:a}){const o=e??t;if(o==null)throw TypeError("Must include `key` or `index` for nested validations");const u=typeof o=="number";let l=s[o];const c=Object.assign({},a,{strict:!0,parent:s,value:l,originalValue:i[o],key:void 0,[u?"index":"key"]:o,path:u||o.includes(".")?`${n||""}[${u?o:`"${o}"`}]`:(n?`${n}.`:"")+e});return(h,p,f)=>this.resolve(c)._validate(l,c,p,f)}validate(e,t){var s;let n=this.resolve(Object.assign({},t,{value:e})),i=(s=t==null?void 0:t.disableStackTrace)!=null?s:n.spec.disableStackTrace;return new Promise((a,o)=>n._validate(e,t,(u,l)=>{m.isError(u)&&(u.value=l),o(u)},(u,l)=>{u.length?o(new m(u,l,void 0,void 0,i)):a(l)}))}validateSync(e,t){var s;let n=this.resolve(Object.assign({},t,{value:e})),i,a=(s=t==null?void 0:t.disableStackTrace)!=null?s:n.spec.disableStackTrace;return n._validate(e,Object.assign({},t,{sync:!0}),(o,u)=>{throw m.isError(o)&&(o.value=u),o},(o,u)=>{if(o.length)throw new m(o,e,void 0,void 0,a);i=u}),i}isValid(e,t){return this.validate(e,t).then(()=>!0,s=>{if(m.isError(s))return!1;throw s})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(s){if(m.isError(s))return!1;throw s}}_getDefault(e){let t=this.spec.default;return t==null?t:typeof t=="function"?t.call(this,e):V(t)}getDefault(e){return this.resolve(e||{})._getDefault(e)}default(e){return arguments.length===0?this._getDefault():this.clone({default:e})}strict(e=!0){return this.clone({strict:e})}nullability(e,t){const s=this.clone({nullable:e});return s.internalTests.nullable=z({message:t,name:"nullable",test(n){return n===null?this.schema.spec.nullable:!0}}),s}optionality(e,t){const s=this.clone({optional:e});return s.internalTests.optionality=z({message:t,name:"optionality",test(n){return n===void 0?this.schema.spec.optional:!0}}),s}optional(){return this.optionality(!0)}defined(e=$.defined){return this.optionality(!1,e)}nullable(){return this.nullability(!0)}nonNullable(e=$.notNull){return this.nullability(!1,e)}required(e=$.required){return this.clone().withMutation(t=>t.nonNullable(e).defined(e))}notRequired(){return this.clone().withMutation(e=>e.nullable().optional())}transform(e){let t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(e.length===1?typeof e[0]=="function"?t={test:e[0]}:t=e[0]:e.length===2?t={name:e[0],test:e[1]}:t={name:e[0],message:e[1],test:e[2]},t.message===void 0&&(t.message=$.default),typeof t.test!="function")throw new TypeError("`test` is a required parameters");let s=this.clone(),n=z(t),i=t.exclusive||t.name&&s.exclusiveTests[t.name]===!0;if(t.exclusive&&!t.name)throw new TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(s.exclusiveTests[t.name]=!!t.exclusive),s.tests=s.tests.filter(a=>!(a.OPTIONS.name===t.name&&(i||a.OPTIONS.test===n.OPTIONS.test))),s.tests.push(n),s}when(e,t){!Array.isArray(e)&&typeof e!="string"&&(t=e,e=".");let s=this.clone(),n=Pe(e).map(i=>new S(i));return n.forEach(i=>{i.isSibling&&s.deps.push(i.key)}),s.conditions.push(typeof t=="function"?new H(n,t):H.fromOptions(n,t)),s}typeError(e){let t=this.clone();return t.internalTests.typeError=z({message:e,name:"typeError",skipAbsent:!0,test(s){return this.schema._typeCheck(s)?!0:this.createError({params:{type:this.schema.type}})}}),t}oneOf(e,t=$.oneOf){let s=this.clone();return e.forEach(n=>{s._whitelist.add(n),s._blacklist.delete(n)}),s.internalTests.whiteList=z({message:t,name:"oneOf",skipAbsent:!0,test(n){let i=this.schema._whitelist,a=i.resolveAll(this.resolve);return a.includes(n)?!0:this.createError({params:{values:Array.from(i).join(", "),resolved:a}})}}),s}notOneOf(e,t=$.notOneOf){let s=this.clone();return e.forEach(n=>{s._blacklist.add(n),s._whitelist.delete(n)}),s.internalTests.blacklist=z({message:t,name:"notOneOf",test(n){let i=this.schema._blacklist,a=i.resolveAll(this.resolve);return a.includes(n)?this.createError({params:{values:Array.from(i).join(", "),resolved:a}}):!0}}),s}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(e){const t=(e?this.resolve(e):this).clone(),{label:s,meta:n,optional:i,nullable:a}=t.spec;return{meta:n,label:s,optional:i,nullable:a,default:t.getDefault(e),type:t.type,oneOf:t._whitelist.describe(),notOneOf:t._blacklist.describe(),tests:t.tests.map(o=>({name:o.OPTIONS.name,params:o.OPTIONS.params})).filter((o,u,l)=>l.findIndex(c=>c.name===o.name)===u)}}}v.prototype.__isYupSchema__=!0;for(const r of["validate","validateSync"])v.prototype[`${r}At`]=function(e,t,s={}){const{parent:n,parentPath:i,schema:a}=ce(this,e,t,s.context);return a[r](n&&n[i],Object.assign({},s,{parent:n,path:e}))};for(const r of["equals","is"])v.prototype[r]=v.prototype.oneOf;for(const r of["not","nope"])v.prototype[r]=v.prototype.notOneOf;const Yt=()=>!0;function Ye(r){return new he(r)}class he extends v{constructor(e){super(typeof e=="function"?{type:"mixed",check:e}:Object.assign({type:"mixed",check:Yt},e))}}Ye.prototype=he.prototype;function pe(){return new fe}class fe extends v{constructor(){super({type:"boolean",check(e){return e instanceof Boolean&&(e=e.valueOf()),typeof e=="boolean"}}),this.withMutation(()=>{this.transform((e,t,s)=>{if(s.spec.coerce&&!s.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}isTrue(e=le.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test(t){return F(t)||t===!0}})}isFalse(e=le.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test(t){return F(t)||t===!1}})}default(e){return super.default(e)}defined(e){return super.defined(e)}optional(){return super.optional()}required(e){return super.required(e)}notRequired(){return super.notRequired()}nullable(){return super.nullable()}nonNullable(e){return super.nonNullable(e)}strip(e){return super.strip(e)}}pe.prototype=fe.prototype;const Kt=/^(\d{4}|[+-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,.](\d{1,}))?)?(?:(Z)|([+-])(\d{2})(?::?(\d{2}))?)?)?$/;function Jt(r){const e=de(r);if(!e)return Date.parse?Date.parse(r):Number.NaN;if(e.z===void 0&&e.plusMinus===void 0)return new Date(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond).valueOf();let t=0;return e.z!=="Z"&&e.plusMinus!==void 0&&(t=e.hourOffset*60+e.minuteOffset,e.plusMinus==="+"&&(t=0-t)),Date.UTC(e.year,e.month,e.day,e.hour,e.minute+t,e.second,e.millisecond)}function de(r){var e,t;const s=Kt.exec(r);return s?{year:E(s[1]),month:E(s[2],1)-1,day:E(s[3],1),hour:E(s[4]),minute:E(s[5]),second:E(s[6]),millisecond:s[7]?E(s[7].substring(0,3)):0,precision:(e=(t=s[7])==null?void 0:t.length)!=null?e:void 0,z:s[8]||void 0,plusMinus:s[9]||void 0,hourOffset:E(s[10]),minuteOffset:E(s[11])}:null}function E(r,e=0){return Number(r)||e}let Bt=/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/,Wt=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,Xt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,Gt="^\\d{4}-\\d{2}-\\d{2}",Ht="\\d{2}:\\d{2}:\\d{2}",Qt="(([+-]\\d{2}(:?\\d{2})?)|Z)",es=new RegExp(`${Gt}T${Ht}(\\.\\d+)?${Qt}$`),ts=r=>F(r)||r===r.trim(),ss={}.toString();function me(){return new ve}class ve extends v{constructor(){super({type:"string",check(e){return e instanceof String&&(e=e.valueOf()),typeof e=="string"}}),this.withMutation(()=>{this.transform((e,t,s)=>{if(!s.spec.coerce||s.isType(e)||Array.isArray(e))return e;const n=e!=null&&e.toString?e.toString():e;return n===ss?e:n})})}required(e){return super.required(e).withMutation(t=>t.test({message:e||$.required,name:"required",skipAbsent:!0,test:s=>!!s.length}))}notRequired(){return super.notRequired().withMutation(e=>(e.tests=e.tests.filter(t=>t.OPTIONS.name!=="required"),e))}length(e,t=b.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(s){return s.length===this.resolve(e)}})}min(e,t=b.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(s){return s.length>=this.resolve(e)}})}max(e,t=b.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},skipAbsent:!0,test(s){return s.length<=this.resolve(e)}})}matches(e,t){let s=!1,n,i;return t&&(typeof t=="object"?{excludeEmptyString:s=!1,message:n,name:i}=t:n=t),this.test({name:i||"matches",message:n||b.matches,params:{regex:e},skipAbsent:!0,test:a=>a===""&&s||a.search(e)!==-1})}email(e=b.email){return this.matches(Bt,{name:"email",message:e,excludeEmptyString:!0})}url(e=b.url){return this.matches(Wt,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=b.uuid){return this.matches(Xt,{name:"uuid",message:e,excludeEmptyString:!1})}datetime(e){let t="",s,n;return e&&(typeof e=="object"?{message:t="",allowOffset:s=!1,precision:n=void 0}=e:t=e),this.matches(es,{name:"datetime",message:t||b.datetime,excludeEmptyString:!0}).test({name:"datetime_offset",message:t||b.datetime_offset,params:{allowOffset:s},skipAbsent:!0,test:i=>{if(!i||s)return!0;const a=de(i);return a?!!a.z:!1}}).test({name:"datetime_precision",message:t||b.datetime_precision,params:{precision:n},skipAbsent:!0,test:i=>{if(!i||n==null)return!0;const a=de(i);return a?a.precision===n:!1}})}ensure(){return this.default("").transform(e=>e===null?"":e)}trim(e=b.trim){return this.transform(t=>t!=null?t.trim():t).test({message:e,name:"trim",test:ts})}lowercase(e=b.lowercase){return this.transform(t=>F(t)?t:t.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>F(t)||t===t.toLowerCase()})}uppercase(e=b.uppercase){return this.transform(t=>F(t)?t:t.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,skipAbsent:!0,test:t=>F(t)||t===t.toUpperCase()})}}me.prototype=ve.prototype;let rs=r=>r!=+r;function ye(){return new ge}class ge extends v{constructor(){super({type:"number",check(e){return e instanceof Number&&(e=e.valueOf()),typeof e=="number"&&!rs(e)}}),this.withMutation(()=>{this.transform((e,t,s)=>{if(!s.spec.coerce)return e;let n=e;if(typeof n=="string"){if(n=n.replace(/\s/g,""),n==="")return NaN;n=+n}return s.isType(n)||n===null?n:parseFloat(n)})})}min(e,t=O.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(s){return s>=this.resolve(e)}})}max(e,t=O.max){return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(s){return s<=this.resolve(e)}})}lessThan(e,t=O.lessThan){return this.test({message:t,name:"max",exclusive:!0,params:{less:e},skipAbsent:!0,test(s){return s<this.resolve(e)}})}moreThan(e,t=O.moreThan){return this.test({message:t,name:"min",exclusive:!0,params:{more:e},skipAbsent:!0,test(s){return s>this.resolve(e)}})}positive(e=O.positive){return this.moreThan(0,e)}negative(e=O.negative){return this.lessThan(0,e)}integer(e=O.integer){return this.test({name:"integer",message:e,skipAbsent:!0,test:t=>Number.isInteger(t)})}truncate(){return this.transform(e=>F(e)?e:e|0)}round(e){var t;let s=["ceil","floor","round","trunc"];if(e=((t=e)==null?void 0:t.toLowerCase())||"round",e==="trunc")return this.truncate();if(s.indexOf(e.toLowerCase())===-1)throw new TypeError("Only valid options for round() are: "+s.join(", "));return this.transform(n=>F(n)?n:Math[e](n))}}ye.prototype=ge.prototype;let Ke=new Date(""),ns=r=>Object.prototype.toString.call(r)==="[object Date]";function be(){return new N}class N extends v{constructor(){super({type:"date",check(e){return ns(e)&&!isNaN(e.getTime())}}),this.withMutation(()=>{this.transform((e,t,s)=>!s.spec.coerce||s.isType(e)||e===null?e:(e=Jt(e),isNaN(e)?N.INVALID_DATE:new Date(e)))})}prepareParam(e,t){let s;if(S.isRef(e))s=e;else{let n=this.cast(e);if(!this._typeCheck(n))throw new TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);s=n}return s}min(e,t=ue.min){let s=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(n){return n>=this.resolve(s)}})}max(e,t=ue.max){let s=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(n){return n<=this.resolve(s)}})}}N.INVALID_DATE=Ke,be.prototype=N.prototype,be.INVALID_DATE=Ke;function is(r,e=[]){let t=[],s=new Set,n=new Set(e.map(([a,o])=>`${a}-${o}`));function i(a,o){let u=D.split(a)[0];s.add(u),n.has(`${o}-${u}`)||t.push([o,u])}for(const a of Object.keys(r)){let o=r[a];s.add(a),S.isRef(o)&&o.isSibling?i(o.path,a):C(o)&&"deps"in o&&o.deps.forEach(u=>i(u,a))}return Vt.array(Array.from(s),t).reverse()}function Je(r,e){let t=1/0;return r.some((s,n)=>{var i;if((i=e.path)!=null&&i.includes(s))return t=n,!0}),t}function Be(r){return(e,t)=>Je(r,e)-Je(r,t)}const We=(r,e,t)=>{if(typeof r!="string")return r;let s=r;try{s=JSON.parse(r)}catch{}return t.isType(s)?s:r};function G(r){if("fields"in r){const e={};for(const[t,s]of Object.entries(r.fields))e[t]=G(s);return r.setFields(e)}if(r.type==="array"){const e=r.optional();return e.innerType&&(e.innerType=G(e.innerType)),e}return r.type==="tuple"?r.optional().clone({types:r.spec.types.map(G)}):"optional"in r?r.optional():r}const as=(r,e)=>{const t=[...D.normalizePath(e)];if(t.length===1)return t[0]in r;let s=t.pop(),n=D.getter(D.join(t),!0)(r);return!!(n&&s in n)};let Xe=r=>Object.prototype.toString.call(r)==="[object Object]";function Ge(r,e){let t=Object.keys(r.fields);return Object.keys(e).filter(s=>t.indexOf(s)===-1)}const os=Be([]);function xe(r){return new we(r)}class we extends v{constructor(e){super({type:"object",check(t){return Xe(t)||typeof t=="function"}}),this.fields=Object.create(null),this._sortErrors=os,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{e&&this.shape(e)})}_cast(e,t={}){var s;let n=super._cast(e,t);if(n===void 0)return this.getDefault(t);if(!this._typeCheck(n))return n;let i=this.fields,a=(s=t.stripUnknown)!=null?s:this.spec.noUnknown,o=[].concat(this._nodes,Object.keys(n).filter(h=>!this._nodes.includes(h))),u={},l=Object.assign({},t,{parent:u,__validating:t.__validating||!1}),c=!1;for(const h of o){let p=i[h],f=h in n;if(p){let y,g=n[h];l.path=(t.path?`${t.path}.`:"")+h,p=p.resolve({value:g,context:t.context,parent:u});let _=p instanceof v?p.spec:void 0,x=_==null?void 0:_.strict;if(_!=null&&_.strip){c=c||h in n;continue}y=!t.__validating||!x?p.cast(n[h],l):n[h],y!==void 0&&(u[h]=y)}else f&&!a&&(u[h]=n[h]);(f!==h in u||u[h]!==n[h])&&(c=!0)}return c?u:n}_validate(e,t={},s,n){let{from:i=[],originalValue:a=e,recursive:o=this.spec.recursive}=t;t.from=[{schema:this,value:a},...i],t.__validating=!0,t.originalValue=a,super._validate(e,t,s,(u,l)=>{if(!o||!Xe(l)){n(u,l);return}a=a||l;let c=[];for(let h of this._nodes){let p=this.fields[h];!p||S.isRef(p)||c.push(p.asNestedTest({options:t,key:h,parent:l,parentPath:t.path,originalParent:a}))}this.runTests({tests:c,value:l,originalValue:a,options:t},s,h=>{n(h.sort(this._sortErrors).concat(u),l)})})}clone(e){const t=super.clone(e);return t.fields=Object.assign({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),s=t.fields;for(let[n,i]of Object.entries(this.fields)){const a=s[n];s[n]=a===void 0?i:a}return t.withMutation(n=>n.setFields(s,[...this._excludedEdges,...e._excludedEdges]))}_getDefault(e){if("default"in this.spec)return super._getDefault(e);if(!this._nodes.length)return;let t={};return this._nodes.forEach(s=>{var n;const i=this.fields[s];let a=e;(n=a)!=null&&n.value&&(a=Object.assign({},a,{parent:a.value,value:a.value[s]})),t[s]=i&&"getDefault"in i?i.getDefault(a):void 0}),t}setFields(e,t){let s=this.clone();return s.fields=e,s._nodes=is(e,t),s._sortErrors=Be(Object.keys(e)),t&&(s._excludedEdges=t),s}shape(e,t=[]){return this.clone().withMutation(s=>{let n=s._excludedEdges;return t.length&&(Array.isArray(t[0])||(t=[t]),n=[...s._excludedEdges,...t]),s.setFields(Object.assign(s.fields,e),n)})}partial(){const e={};for(const[t,s]of Object.entries(this.fields))e[t]="optional"in s&&s.optional instanceof Function?s.optional():s;return this.setFields(e)}deepPartial(){return G(this)}pick(e){const t={};for(const s of e)this.fields[s]&&(t[s]=this.fields[s]);return this.setFields(t,this._excludedEdges.filter(([s,n])=>e.includes(s)&&e.includes(n)))}omit(e){const t=[];for(const s of Object.keys(this.fields))e.includes(s)||t.push(s);return this.pick(t)}from(e,t,s){let n=D.getter(e,!0);return this.transform(i=>{if(!i)return i;let a=i;return as(i,e)&&(a=Object.assign({},i),s||delete a[e],a[t]=n(i)),a})}json(){return this.transform(We)}exact(e){return this.test({name:"exact",exclusive:!0,message:e||B.exact,test(t){if(t==null)return!0;const s=Ge(this.schema,t);return s.length===0||this.createError({params:{properties:s.join(", ")}})}})}stripUnknown(){return this.clone({noUnknown:!0})}noUnknown(e=!0,t=B.noUnknown){typeof e!="boolean"&&(t=e,e=!0);let s=this.test({name:"noUnknown",exclusive:!0,message:t,test(n){if(n==null)return!0;const i=Ge(this.schema,n);return!e||i.length===0||this.createError({params:{unknown:i.join(", ")}})}});return s.spec.noUnknown=e,s}unknown(e=!0,t=B.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>{if(!t)return t;const s={};for(const n of Object.keys(t))s[e(n)]=t[n];return s})}camelCase(){return this.transformKeys(ae.camelCase)}snakeCase(){return this.transformKeys(ae.snakeCase)}constantCase(){return this.transformKeys(e=>ae.snakeCase(e).toUpperCase())}describe(e){const t=(e?this.resolve(e):this).clone(),s=super.describe(e);s.fields={};for(const[i,a]of Object.entries(t.fields)){var n;let o=e;(n=o)!=null&&n.value&&(o=Object.assign({},o,{parent:o.value,value:o.value[i]})),s.fields[i]=a.describe(o)}return s}}xe.prototype=we.prototype;function He(r){return new _e(r)}class _e extends v{constructor(e){super({type:"array",spec:{types:e},check(t){return Array.isArray(t)}}),this.innerType=void 0,this.innerType=e}_cast(e,t){const s=super._cast(e,t);if(!this._typeCheck(s)||!this.innerType)return s;let n=!1;const i=s.map((a,o)=>{const u=this.innerType.cast(a,Object.assign({},t,{path:`${t.path||""}[${o}]`}));return u!==a&&(n=!0),u});return n?i:s}_validate(e,t={},s,n){var i;let a=this.innerType,o=(i=t.recursive)!=null?i:this.spec.recursive;t.originalValue!=null&&t.originalValue,super._validate(e,t,s,(u,l)=>{var c;if(!o||!a||!this._typeCheck(l)){n(u,l);return}let h=new Array(l.length);for(let f=0;f<l.length;f++){var p;h[f]=a.asNestedTest({options:t,index:f,parent:l,parentPath:t.path,originalParent:(p=t.originalValue)!=null?p:e})}this.runTests({value:l,tests:h,originalValue:(c=t.originalValue)!=null?c:e,options:t},s,f=>n(f.concat(u),l))})}clone(e){const t=super.clone(e);return t.innerType=this.innerType,t}json(){return this.transform(We)}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!C(e))throw new TypeError("`array.of()` sub-schema must be a valid yup schema not: "+T(e));return t.innerType=e,t.spec=Object.assign({},t.spec,{types:e}),t}length(e,t=W.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},skipAbsent:!0,test(s){return s.length===this.resolve(e)}})}min(e,t){return t=t||W.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},skipAbsent:!0,test(s){return s.length>=this.resolve(e)}})}max(e,t){return t=t||W.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},skipAbsent:!0,test(s){return s.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:t==null?[]:[].concat(t))}compact(e){let t=e?(s,n,i)=>!e(s,n,i):s=>!!s;return this.transform(s=>s!=null?s.filter(t):s)}describe(e){const t=(e?this.resolve(e):this).clone(),s=super.describe(e);if(t.innerType){var n;let i=e;(n=i)!=null&&n.value&&(i=Object.assign({},i,{parent:i.value,value:i.value[0]})),s.innerType=t.innerType.describe(i)}return s}}He.prototype=_e.prototype;function Qe(r){return new Fe(r)}class Fe extends v{constructor(e){super({type:"tuple",spec:{types:e},check(t){const s=this.spec.types;return Array.isArray(t)&&t.length===s.length}}),this.withMutation(()=>{this.typeError(Ze.notType)})}_cast(e,t){const{types:s}=this.spec,n=super._cast(e,t);if(!this._typeCheck(n))return n;let i=!1;const a=s.map((o,u)=>{const l=o.cast(n[u],Object.assign({},t,{path:`${t.path||""}[${u}]`}));return l!==n[u]&&(i=!0),l});return i?a:n}_validate(e,t={},s,n){let i=this.spec.types;super._validate(e,t,s,(a,o)=>{var u;if(!this._typeCheck(o)){n(a,o);return}let l=[];for(let[h,p]of i.entries()){var c;l[h]=p.asNestedTest({options:t,index:h,parent:o,parentPath:t.path,originalParent:(c=t.originalValue)!=null?c:e})}this.runTests({value:o,tests:l,originalValue:(u=t.originalValue)!=null?u:e,options:t},s,h=>n(h.concat(a),o))})}describe(e){const t=(e?this.resolve(e):this).clone(),s=super.describe(e);return s.innerType=t.spec.types.map((n,i)=>{var a;let o=e;return(a=o)!=null&&a.value&&(o=Object.assign({},o,{parent:o.value,value:o.value[i]})),n.describe(o)}),s}}Qe.prototype=Fe.prototype;function us(r){return new ee(r)}function et(r){try{return r()}catch(e){if(m.isError(e))return Promise.reject(e);throw e}}class ee{constructor(e){this.type="lazy",this.__isYupSchema__=!0,this.spec=void 0,this._resolve=(t,s={})=>{let n=this.builder(t,s);if(!C(n))throw new TypeError("lazy() functions must return a valid schema");return this.spec.optional&&(n=n.optional()),n.resolve(s)},this.builder=e,this.spec={meta:void 0,optional:!1}}clone(e){const t=new ee(this.builder);return t.spec=Object.assign({},this.spec,e),t}optionality(e){return this.clone({optional:e})}optional(){return this.optionality(!0)}resolve(e){return this._resolve(e.value,e)}cast(e,t){return this._resolve(e,t).cast(e,t)}asNestedTest(e){let{key:t,index:s,parent:n,options:i}=e,a=n[s??t];return this._resolve(a,Object.assign({},i,{value:a,parent:n})).asNestedTest(e)}validate(e,t){return et(()=>this._resolve(e,t).validate(e,t))}validateSync(e,t){return this._resolve(e,t).validateSync(e,t)}validateAt(e,t,s){return et(()=>this._resolve(t,s).validateAt(e,t,s))}validateSyncAt(e,t,s){return this._resolve(t,s).validateSyncAt(e,t,s)}isValid(e,t){try{return this._resolve(e,t).isValid(e,t)}catch(s){if(m.isError(s))return Promise.resolve(!1);throw s}}isValidSync(e,t){return this._resolve(e,t).isValidSync(e,t)}describe(e){return e?this.resolve(e).describe(e):{type:"lazy",meta:this.spec.meta,label:void 0}}meta(...e){if(e.length===0)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}}function ls(r){Object.keys(r).forEach(e=>{Object.keys(r[e]).forEach(t=>{Le[e][t]=r[e][t]})})}function cs(r,e,t){if(!r||!C(r.prototype))throw new TypeError("You must provide a yup schema constructor function");if(typeof e!="string")throw new TypeError("A Method name must be provided");if(typeof t!="function")throw new TypeError("Method function must be provided");r.prototype[e]=t}const hs=Object.freeze(Object.defineProperty({__proto__:null,ArraySchema:_e,BooleanSchema:fe,DateSchema:N,LazySchema:ee,MixedSchema:he,NumberSchema:ge,ObjectSchema:we,Schema:v,StringSchema:ve,TupleSchema:Fe,ValidationError:m,addMethod:cs,array:He,bool:pe,boolean:pe,date:be,defaultLocale:Le,getIn:ce,isSchema:C,lazy:us,mixed:Ye,number:ye,object:xe,printValue:T,reach:Lt,ref:Zt,setLocale:ls,string:me,tuple:Qe},Symbol.toStringTag,{value:"Module"}));var ps=Ae('<div class="err font-label svelte-x8kgzj"> </div>'),fs=Ae('<div class="container svelte-x8kgzj"><div class="label svelte-x8kgzj"><div class="labelInner font-label noselect svelte-x8kgzj"><label><!></label></div></div> <input> <!></div>');function ds(r,e){tt(e,!0);let t=R(e,"name",19,dt),s=R(e,"disabled",3,!1),n=R(e,"value",15),i=R(e,"width",3,"250px"),a=R(e,"autocomplete",3,"on"),o=mt(e,["$$slots","$$events","$$legacy","name","disabled","error","value","width","autocomplete","children"]);const u=st();function l(w){u("keypress",w),w.code==="Enter"&&u("enter",w)}u("blur",!0);function c(){u("blur",!0)}async function h(w){await it(),n(w.target.value),u("input",!0)}var p=fs(),f=I(p),y=I(f),g=I(y),_=I(g);ut(_,()=>e.children??rt),U(g),U(y),U(f);var x=Ee(f,2);lt(x);let M;var q=Ee(x,2);{var P=w=>{var k=ps(),Z=I(k,!0);U(k),Oe(()=>{Y(k,"width",i()),at(Z,e.error)}),ct(7,k,()=>ft,()=>({duration:250})),Se(w,k)};ot(q,w=>{e.error&&w(P)})}U(p),Oe(()=>{Y(p,"width",`calc(${i()??""} + 12px)`),Y(y,"background",s()?"var(--col-gmid)":"var(--col-bg)"),ht(g,"for",t()),M=pt(x,M,{name:t(),disabled:s(),value:n(),autocomplete:a(),...o,oninput:h,onkeypress:l,onblur:c},"svelte-x8kgzj"),Y(x,"width",i())}),Se(r,p),nt()}export{ds as I,me as a,ye as b,xe as c,hs as y};
diff --git a/static/v1/_app/immutable/chunks/Input.jkTumKYK.js.br b/static/v1/_app/immutable/chunks/Input.jkTumKYK.js.br
new file mode 100644
index 000000000..96dc7dcfc
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Input.jkTumKYK.js.br differ
diff --git a/static/v1/_app/immutable/chunks/Input.jkTumKYK.js.gz b/static/v1/_app/immutable/chunks/Input.jkTumKYK.js.gz
new file mode 100644
index 000000000..043c78f44
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Input.jkTumKYK.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/LangSelector.DQTzLAdQ.js b/static/v1/_app/immutable/chunks/LangSelector.DQTzLAdQ.js
new file mode 100644
index 000000000..84c759197
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/LangSelector.DQTzLAdQ.js
@@ -0,0 +1 @@
+import"./disclose-version.BDr9Qe-U.js";import{p as k,P as x,d as p,b as c,T as P,a as R,g as i,j as f,U as S,W as y}from"./index-client.CzqVbBUo.js";import{a as A,t as B}from"./template.io25wnf1.js";import{a as C,t as l}from"./helpers.BvaXa0cv.js";import{p as m}from"./if.BnegfJmL.js";import{p as n}from"./props.C_MHtC74.js";import{O}from"./OptionSelect.jFlepSwk.js";import{L as d,z as U}from"./dataFetching.Br47vc1D.js";import{u as z}from"./language.svelte.Zi8jd0TO.js";var G=B('<div class="svelte-s2vujs"><!></div>');function H(v,s){k(s,!0);let b=n(s,"absolute",3,!1),u=n(s,"absoluteRight",3,!1),w=n(s,"updateBackend",3,!1);const L=";Path=/;SameSite=Lax;Max-Age=315360000";let e=z(),t=x(m(p(()=>e)));c(()=>{let a=C("locale"),r=p(()=>e);a!==r&&d.includes(a)&&(e=a,f(t,m(a)))}),c(()=>{i(t)&&i(t)!==e&&g(i(t))});async function g(a){if(document.cookie="locale="+a.toLowerCase()+L,w()){let r=await U();if(!r.ok){let j=await r.json();console.error(j);return}}window.location.reload()}var o=G(),h=S(o);O(h,{options:d,get value(){return i(t)},set value(a){f(t,m(a))}}),y(o),P(()=>{l(o,"absolute",b()),l(o,"absoluteLeft",!u()),l(o,"absoluteRight",u())}),A(v,o),R()}export{H as L};
diff --git a/static/v1/_app/immutable/chunks/LangSelector.DQTzLAdQ.js.br b/static/v1/_app/immutable/chunks/LangSelector.DQTzLAdQ.js.br
new file mode 100644
index 000000000..82fa4ae1d
Binary files /dev/null and b/static/v1/_app/immutable/chunks/LangSelector.DQTzLAdQ.js.br differ
diff --git a/static/v1/_app/immutable/chunks/LangSelector.DQTzLAdQ.js.gz b/static/v1/_app/immutable/chunks/LangSelector.DQTzLAdQ.js.gz
new file mode 100644
index 000000000..68b13fec8
Binary files /dev/null and b/static/v1/_app/immutable/chunks/LangSelector.DQTzLAdQ.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/LangSelector.mSh8cV6Q.js b/static/v1/_app/immutable/chunks/LangSelector.mSh8cV6Q.js
deleted file mode 100644
index 30c3706a4..000000000
--- a/static/v1/_app/immutable/chunks/LangSelector.mSh8cV6Q.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as k,b as x}from"./disclose-version.DZhRUPAc.js";import{p as R,_ as S,d as p,b as c,a2 as y,a as z,g as i,j as f,a3 as A,a5 as B}from"./index-client.CGppiJvc.js";import{L as d,z as C,t as l}from"./dataFetching.Dto1xJW6.js";import{p as m}from"./proxy.DB4Km9hY.js";import{p as n}from"./props.Df_pGDSd.js";import{O}from"./OptionSelect.BCgZksOM.js";import{u as _}from"./language.svelte.n4n5oz7-.js";import{a as G}from"./helpers.DVmWh-6p.js";var I=x('<div class="svelte-s2vujs"><!></div>');function M(v,s){R(s,!0);let b=n(s,"absolute",3,!1),u=n(s,"absoluteRight",3,!1),w=n(s,"updateBackend",3,!1);const L=";Path=/;SameSite=Lax;Max-Age=315360000";let e=_(),t=S(m(p(()=>e)));c(()=>{let a=G("locale"),r=p(()=>e);a!==r&&d.includes(a)&&(e=a,f(t,m(a)))}),c(()=>{i(t)&&i(t)!==e&&g(i(t))});async function g(a){if(document.cookie="locale="+a.toLowerCase()+L,w()){let r=await C();if(!r.ok){let j=await r.json();console.error(j);return}}window.location.reload()}var o=I(),h=A(o);O(h,{options:d,get value(){return i(t)},set value(a){f(t,m(a))}}),B(o),y(()=>{l(o,"absolute",b()),l(o,"absoluteLeft",!u()),l(o,"absoluteRight",u())}),k(v,o),z()}export{M as L};
diff --git a/static/v1/_app/immutable/chunks/LangSelector.mSh8cV6Q.js.br b/static/v1/_app/immutable/chunks/LangSelector.mSh8cV6Q.js.br
deleted file mode 100644
index 95e3e8849..000000000
Binary files a/static/v1/_app/immutable/chunks/LangSelector.mSh8cV6Q.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/LangSelector.mSh8cV6Q.js.gz b/static/v1/_app/immutable/chunks/LangSelector.mSh8cV6Q.js.gz
deleted file mode 100644
index 59753bd91..000000000
Binary files a/static/v1/_app/immutable/chunks/LangSelector.mSh8cV6Q.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/Loading.FF_EHyHU.js b/static/v1/_app/immutable/chunks/Loading.FF_EHyHU.js
deleted file mode 100644
index 5f3e73c57..000000000
--- a/static/v1/_app/immutable/chunks/Loading.FF_EHyHU.js
+++ /dev/null
@@ -1,4 +0,0 @@
-import{a as D,b as H}from"./disclose-version.DZhRUPAc.js";import{z as N,aR as Q,V as Z,aS as ee,aT as te,E as ae,aU as ie,aV as ne,W as se,v as j,d as re,aq as oe,Y as le,n as w,aW as ue,aJ as M,ak as z,aX as ce,aY as fe,aC as de,a2 as ve,a1 as O,a3 as P,a5 as q}from"./index-client.CGppiJvc.js";import{b as pe,i as ge,c as me,d as be,f as ye,n as he,g as $e,j as ke}from"./render.D4MwAWTL.js";import{t as T,y as V}from"./dataFetching.Dto1xJW6.js";import{p as F}from"./props.Df_pGDSd.js";function L(e){var t,a,i="";if(typeof e=="string"||typeof e=="number")i+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(a=L(e[t]))&&(i&&(i+=" "),i+=a)}else for(a in e)e[a]&&(i&&(i+=" "),i+=a);return i}function _e(){for(var e,t,a=0,i="",s=arguments.length;a<s;a++)(e=arguments[a])&&(t=L(e))&&(i&&(i+=" "),i+=t);return i}function R(e){return typeof e=="object"?_e(e):e??""}function we(e){if(N){var t=!1,a=()=>{if(!t){if(t=!0,e.hasAttribute("value")){var i=e.value;A(e,"value",null),e.value=i}if(e.hasAttribute("checked")){var s=e.checked;A(e,"checked",null),e.checked=s}}};e.__on_r=a,Q(a),pe()}}function Ae(e,t){var a=e.__attributes??(e.__attributes={});a.value===(a.value=t??void 0)||e.value===t&&(t!==0||e.nodeName!=="PROGRESS")||(e.value=t)}function xe(e,t){t?e.hasAttribute("selected")||e.setAttribute("selected",""):e.removeAttribute("selected")}function A(e,t,a,i){var s=e.__attributes??(e.__attributes={});N&&(s[t]=e.getAttribute(t),t==="src"||t==="srcset"||t==="href"&&e.nodeName==="LINK")||s[t]!==(s[t]=a)&&(t==="style"&&"__styles"in e&&(e.__styles={}),t==="loading"&&(e[ee]=a),a==null?e.removeAttribute(t):typeof a!="string"&&I(e).includes(t)?e[t]=a:e.setAttribute(t,a))}function Ce(e,t,a,i,s=!1,o=!1,u=!1){var c=t||{},g=e.tagName==="OPTION";for(var d in t)d in a||(a[d]=null);a.class&&(a.class=R(a.class)),i!==void 0&&(a.class=a.class?a.class+" "+i:i);var f=I(e),p=e.__attributes??(e.__attributes={});for(const n in a){let r=a[n];if(g&&n==="value"&&r==null){e.value=e.__value="",c[n]=r;continue}var v=c[n];if(r!==v){c[n]=r;var y=n[0]+n[1];if(y!=="$$"){if(y==="on"){const m={},k="$$"+n;let $=n.slice(2);var h=$e($);if(ge($)&&($=$.slice(0,-7),m.capture=!0),!h&&v){if(r!=null)continue;e.removeEventListener($,c[k],m),c[k]=null}if(r!=null)if(h)e[`__${$}`]=r,be([$]);else{let x=function(E){c[n].call(this,E)};c[k]=me($,e,x,m)}else h&&(e[`__${$}`]=void 0)}else if(n==="style"&&r!=null)e.style.cssText=r+"";else if(n==="autofocus")ye(e,!!r);else if(n==="__value"||n==="value"&&r!=null)e.value=e[n]=e.__value=r;else if(n==="selected"&&g)xe(e,r);else{var l=n;s||(l=he(l));var b=l==="defaultValue"||l==="defaultChecked";if(r==null&&!o&&!b)if(p[n]=null,l==="value"||l==="checked"){let m=e;if(l==="value"){let k=m.defaultValue;m.removeAttribute(l),m.defaultValue=k}else{let k=m.defaultChecked;m.removeAttribute(l),m.defaultChecked=k}}else e.removeAttribute(n);else b||f.includes(l)&&(o||typeof r!="string")?e[l]=r:typeof r!="function"&&(N&&(l==="src"||l==="href"||l==="srcset")||A(e,l,r))}n==="style"&&"__styles"in e&&(e.__styles={})}}}return c}var U=new Map;function I(e){var t=U.get(e.nodeName);if(t)return t;U.set(e.nodeName,t=[]);for(var a,i=e,s=Element.prototype;s!==i;){a=te(i);for(var o in a)a[o].set&&t.push(o);i=Z(i)}return t}const Fe=()=>performance.now(),_={tick:e=>requestAnimationFrame(e),now:()=>Fe(),tasks:new Set};function Y(){const e=_.now();_.tasks.forEach(t=>{t.c(e)||(_.tasks.delete(t),t.f())}),_.tasks.size!==0&&_.tick(Y)}function B(e){let t;return _.tasks.size===0&&_.tick(Y),{promise:new Promise(a=>{_.tasks.add(t={c:e,f:a})}),abort(){_.tasks.delete(t)}}}function S(e,t){e.dispatchEvent(new CustomEvent(t))}function Se(e){if(e==="float")return"cssFloat";if(e==="offset")return"cssOffset";if(e.startsWith("--"))return e;const t=e.split("-");return t.length===1?t[0]:t[0]+t.slice(1).map(a=>a[0].toUpperCase()+a.slice(1)).join("")}function G(e){const t={},a=e.split(";");for(const i of a){const[s,o]=i.split(":");if(!s||o===void 0)break;const u=Se(s.trim());t[u]=o.trim()}return t}const Ee=e=>e;function J(e,t,a,i){var s=(e&ce)!==0,o=(e&fe)!==0,u=s&&o,c=(e&ue)!==0,g=u?"both":s?"in":"out",d,f=t.inert,p,v;function y(){var r=de,m=j;M(null),z(null);try{return d??(d=a()(t,(i==null?void 0:i())??{},{direction:g}))}finally{M(r),z(m)}}var h={is_global:c,in(){var r;if(t.inert=f,!s){v==null||v.abort(),(r=v==null?void 0:v.reset)==null||r.call(v);return}o||(p==null||p.abort()),S(t,"introstart"),p=W(t,y(),v,1,()=>{S(t,"introend"),p==null||p.abort(),p=d=void 0})},out(r){if(!o){r==null||r(),d=void 0;return}t.inert=!0,S(t,"outrostart"),v=W(t,y(),p,0,()=>{S(t,"outroend"),r==null||r()})},stop:()=>{p==null||p.abort(),v==null||v.abort()}},l=j;if((l.transitions??(l.transitions=[])).push(h),s&&ke){var b=c;if(!b){for(var n=l.parent;n&&n.f&ae;)for(;(n=n.parent)&&!(n.f&ie););b=!n||(n.f&ne)!==0}b&&se(()=>{re(()=>h.in())})}}function W(e,t,a,i,s){var o=i===1;if(oe(t)){var u,c=!1;return le(()=>{if(!c){var b=t({direction:o?"in":"out"});u=W(e,b,a,i,s)}}),{abort:()=>{c=!0,u==null||u.abort()},deactivate:()=>u.deactivate(),reset:()=>u.reset(),t:()=>u.t()}}if(a==null||a.deactivate(),!(t!=null&&t.duration))return s(),{abort:w,deactivate:w,reset:w,t:()=>i};const{delay:g=0,css:d,tick:f,easing:p=Ee}=t;var v=[];if(o&&a===void 0&&(f&&f(0,1),d)){var y=G(d(0,1));v.push(y,y)}var h=()=>1-i,l=e.animate(v,{duration:g});return l.onfinish=()=>{var b=(a==null?void 0:a.t())??1-i;a==null||a.abort();var n=i-b,r=t.duration*Math.abs(n),m=[];if(r>0){if(d)for(var k=Math.ceil(r/16.666666666666668),$=0;$<=k;$+=1){var x=b+n*p($/k),E=d(x,1-x);m.push(G(E))}h=()=>{var C=l.currentTime;return b+n*p(C/r)},f&&B(()=>{if(l.playState!=="running")return!1;var C=h();return f(C,1-C),!0})}l=e.animate(m,{duration:r,fill:"forwards"}),l.onfinish=()=>{h=()=>i,f==null||f(i,1-i),s()}},{abort:()=>{l&&(l.cancel(),l.effect=null,l.onfinish=w)},deactivate:()=>{s=w},reset:()=>{i===0&&(f==null||f(1,0))},t:()=>h()}}const Ne=e=>e;function K(e){const t=e-1;return t*t*t+1}function Te(e){return e<.5?4*e*e*e:.5*Math.pow(2*e-2,3)+1}function Ve(e){const t=typeof e=="string"&&e.match(/^\s*(-?[\d.]+)([^\s]*)\s*$/);return t?[parseFloat(t[1]),t[2]||"px"]:[e,"px"]}function We(e,{delay:t=0,duration:a=400,easing:i=Te,amount:s=5,opacity:o=0}={}){const u=getComputedStyle(e),c=+u.opacity,g=u.filter==="none"?"":u.filter,d=c*(1-o),[f,p]=Ve(s);return{delay:t,duration:a,easing:i,css:(v,y)=>`opacity: ${c-d*y}; filter: ${g} blur(${y*f}${p});`}}function X(e,{delay:t=0,duration:a=400,easing:i=Ne}={}){const s=+getComputedStyle(e).opacity;return{delay:t,duration:a,easing:i,css:o=>`opacity: ${o*s}`}}function je(e,{delay:t=0,duration:a=400,easing:i=K,axis:s="y"}={}){const o=getComputedStyle(e),u=+o.opacity,c=s==="y"?"height":"width",g=parseFloat(o[c]),d=s==="y"?["top","bottom"]:["left","right"],f=d.map(n=>`${n[0].toUpperCase()}${n.slice(1)}`),p=parseFloat(o[`padding${f[0]}`]),v=parseFloat(o[`padding${f[1]}`]),y=parseFloat(o[`margin${f[0]}`]),h=parseFloat(o[`margin${f[1]}`]),l=parseFloat(o[`border${f[0]}Width`]),b=parseFloat(o[`border${f[1]}Width`]);return{delay:t,duration:a,easing:i,css:n=>`overflow: hidden;opacity: ${Math.min(n*20,1)*u};${c}: ${n*g}px;padding-${d[0]}: ${n*p}px;padding-${d[1]}: ${n*v}px;margin-${d[0]}: ${n*y}px;margin-${d[1]}: ${n*h}px;border-${d[0]}-width: ${n*l}px;border-${d[1]}-width: ${n*b}px;`}}function Me(e,{delay:t=0,duration:a=400,easing:i=K,start:s=0,opacity:o=0}={}){const u=getComputedStyle(e),c=+u.opacity,g=u.transform==="none"?"":u.transform,d=1-s,f=c*(1-o);return{delay:t,duration:a,easing:i,css:(p,v)=>`
-			transform: ${g} scale(${1-d*v});
-			opacity: ${c-f*v}
-		`}}var ze=H('<div class="container svelte-2cwfk8"><div class="loading svelte-2cwfk8"><div class="loading-1 svelte-2cwfk8"></div> <div class="loading-2 svelte-2cwfk8"></div> <div class="loading-3 svelte-2cwfk8"></div></div></div>');function Oe(e,t){let a=F(t,"offset",3,0),i=F(t,"background",3,!1),s=F(t,"global",3,!1),o=F(t,"color",3,"var(--col-acnt)");var u=ze(),c=P(u),g=P(c),d=O(g,2),f=O(d,2);q(c),q(u),ve(()=>{T(u,"global",s()),T(u,"local",!s()),T(u,"background",i()),A(c,"style",`margin-top: ${a()??""}px;`),V(g,"background",o()),V(d,"background",o()),V(f,"background",o())}),J(3,u,()=>X,()=>({duration:100})),D(e,u)}export{Oe as L,Me as a,je as b,R as c,Ae as d,we as e,X as f,Ce as g,We as h,B as l,_ as r,A as s,J as t};
diff --git a/static/v1/_app/immutable/chunks/Loading.FF_EHyHU.js.br b/static/v1/_app/immutable/chunks/Loading.FF_EHyHU.js.br
deleted file mode 100644
index 1b7bb835a..000000000
Binary files a/static/v1/_app/immutable/chunks/Loading.FF_EHyHU.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/Loading.FF_EHyHU.js.gz b/static/v1/_app/immutable/chunks/Loading.FF_EHyHU.js.gz
deleted file mode 100644
index 55429193a..000000000
Binary files a/static/v1/_app/immutable/chunks/Loading.FF_EHyHU.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/Loading.wZ55XKP1.js b/static/v1/_app/immutable/chunks/Loading.wZ55XKP1.js
deleted file mode 100644
index 82c1e7eaf..000000000
--- a/static/v1/_app/immutable/chunks/Loading.wZ55XKP1.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as l,b as f}from"./disclose-version.DZhRUPAc.js";import{j as o,a3 as L,g as m,a1 as _,a5 as $,a2 as G,_ as p}from"./index-client.CGppiJvc.js";import{e as t}from"./render.D4MwAWTL.js";import{i as u}from"./if.DUA6Hpfn.js";import{t as e,a as x,s as H,f as h}from"./Loading.FF_EHyHU.js";import{t as g}from"./dataFetching.Dto1xJW6.js";import{p as b}from"./props.Df_pGDSd.js";var I=f('<div class="circle svelte-10pff2x"></div>'),J=f('<div class="circle svelte-10pff2x"></div>'),S=f('<div class="circle svelte-10pff2x"></div>'),A=f('<div class="container svelte-10pff2x"><div class="inner svelte-10pff2x"><!> <!> <!></div></div>');function B(j,n){let q=b(n,"offset",3,0),w=b(n,"background",3,!0),y=b(n,"local",3,!1),c=p(!0),i=p(!1),d=p(!1);setTimeout(()=>{o(i,!0)},300),setTimeout(()=>{o(d,!0)},600);var s=A(),v=L(s),k=L(v);{var z=r=>{var a=I();t("introend",a,()=>o(c,!1)),t("outroend",a,()=>o(c,!0)),e(7,a,()=>x,()=>({delay:600,duration:1e3})),l(r,a)};u(k,r=>{m(c)&&r(z)})}var T=_(k,2);{var C=r=>{var a=J();t("introend",a,()=>o(i,!1)),t("outroend",a,()=>o(i,!0)),e(7,a,()=>x,()=>({delay:600,duration:1e3})),l(r,a)};u(T,r=>{m(i)&&r(C)})}var E=_(T,2);{var F=r=>{var a=S();t("introend",a,()=>o(d,!1)),t("outroend",a,()=>o(d,!0)),e(7,a,()=>x,()=>({delay:600,duration:1e3})),l(r,a)};u(E,r=>{m(d)&&r(F)})}$(v),$(s),G(()=>{g(s,"global",!y()),g(s,"local",y()),g(s,"background",w()),H(v,"style",`margin-top: ${`${q()}px`??""}`)}),e(3,v,()=>h,()=>({duration:100})),e(7,s,()=>h,()=>({duration:100})),l(j,s)}export{B as L};
diff --git a/static/v1/_app/immutable/chunks/Loading.wZ55XKP1.js.br b/static/v1/_app/immutable/chunks/Loading.wZ55XKP1.js.br
deleted file mode 100644
index 49166cc50..000000000
Binary files a/static/v1/_app/immutable/chunks/Loading.wZ55XKP1.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/Loading.wZ55XKP1.js.gz b/static/v1/_app/immutable/chunks/Loading.wZ55XKP1.js.gz
deleted file mode 100644
index 31e1eee17..000000000
Binary files a/static/v1/_app/immutable/chunks/Loading.wZ55XKP1.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/OptionSelect.BCgZksOM.js b/static/v1/_app/immutable/chunks/OptionSelect.BCgZksOM.js
deleted file mode 100644
index d81817576..000000000
--- a/static/v1/_app/immutable/chunks/OptionSelect.BCgZksOM.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as j,b as Q}from"./disclose-version.DZhRUPAc.js";import{ar as de,y as pe,z as A,C as N,A as ce,x as xe,av as U,H as he,B as X,F,K as C,aw as M,G as $,I as D,J as me,v as H,ax as E,ay as ye,az as _e,aA as be,Z as ge,as as we,aB as Se,aC as Ae,Y as qe,aD as J,aE as K,m as ke,P as T,aF as ee,aG as Ce,aH as Ie,aI as Oe,W as ae,a2 as te,a3 as Me,a5 as ne,g as z}from"./index-client.CGppiJvc.js";import{l as ze,s as Be}from"./render.D4MwAWTL.js";import{y as Ge}from"./dataFetching.Dto1xJW6.js";import{i as Ne}from"./proxy.DB4Km9hY.js";import{p as L}from"./props.Df_pGDSd.js";function le(a,e){return e}function Fe(a,e,t,n){for(var l=[],s=e.length,o=0;o<s;o++)ye(e[o].e,l,!0);var c=s>0&&l.length===0&&t!==null;if(c){var d=t.parentNode;_e(d),d.append(t),n.clear(),S(a,e[0].prev,e[s-1].next)}be(l,()=>{for(var h=0;h<s;h++){var p=e[h];c||(n.delete(p.k),S(a,p.prev,p.next)),ge(p.e,!c)}})}function se(a,e,t,n,l,s=null){var o=a,c={flags:e,items:new Map,first:null},d=(e&ee)!==0;if(d){var h=a;o=A?N(we(h)):h.appendChild(de())}A&&ce();var p=null,b=!1;pe(()=>{var g=t(),r=xe(g)?g:g==null?[]:U(g),f=r.length;if(b&&f===0)return;b=f===0;let v=!1;if(A){var q=o.data===he;q!==(f===0)&&(o=X(),N(o),F(!1),v=!0)}if(A){for(var x=null,m,y=0;y<f;y++){if(C.nodeType===8&&C.data===Se){o=C,v=!0,F(!1);break}var _=r[y],i=n(_,y);m=re(C,c,x,null,_,i,y,l,e),c.items.set(i,m),x=m}f>0&&N(X())}if(!A){var u=Ae;Je(r,c,o,l,e,(u.f&M)!==0,n)}s!==null&&(f===0?p?$(p):p=D(()=>s(o)):p!==null&&me(p,()=>{p=null})),v&&F(!0),t()}),A&&(o=C)}function Je(a,e,t,n,l,s,o,c){var R,V,W,Y;var d=(l&Ce)!==0,h=(l&(J|K))!==0,p=a.length,b=e.items,g=e.first,r=g,f,v=null,q,x=[],m=[],y,_,i,u;if(d)for(u=0;u<p;u+=1)y=a[u],_=o(y,u),i=b.get(_),i!==void 0&&((R=i.a)==null||R.measure(),(q??(q=new Set)).add(i));for(u=0;u<p;u+=1){if(y=a[u],_=o(y,u),i=b.get(_),i===void 0){var ue=r?r.e.nodes_start:t;v=re(ue,e,v,v===null?e.first:v.next,y,_,u,n,l),b.set(_,v),x=[],m=[],r=v.next;continue}if(h&&Ke(i,y,u,l),i.e.f&M&&($(i.e),d&&((V=i.a)==null||V.unfix(),(q??(q=new Set)).delete(i))),i!==r){if(f!==void 0&&f.has(i)){if(x.length<m.length){var O=m[0],w;v=O.prev;var P=x[0],B=x[x.length-1];for(w=0;w<x.length;w+=1)ie(x[w],O,t);for(w=0;w<m.length;w+=1)f.delete(m[w]);S(e,P.prev,B.next),S(e,v,P),S(e,B,O),r=O,v=B,u-=1,x=[],m=[]}else f.delete(i),ie(i,r,t),S(e,i.prev,i.next),S(e,i,v===null?e.first:v.next),S(e,v,i),v=i;continue}for(x=[],m=[];r!==null&&r.k!==_;)(s||!(r.e.f&M))&&(f??(f=new Set)).add(r),m.push(r),r=r.next;if(r===null)continue;i=r}x.push(i),v=i,r=i.next}if(r!==null||f!==void 0){for(var k=f===void 0?[]:U(f);r!==null;)(s||!(r.e.f&M))&&k.push(r),r=r.next;var G=k.length;if(G>0){var ve=l&ee&&p===0?t:null;if(d){for(u=0;u<G;u+=1)(W=k[u].a)==null||W.measure();for(u=0;u<G;u+=1)(Y=k[u].a)==null||Y.fix()}Fe(e,k,ve,b)}}d&&qe(()=>{var Z;if(q!==void 0)for(i of q)(Z=i.a)==null||Z.apply()}),H.first=e.first&&e.first.e,H.last=v&&v.e}function Ke(a,e,t,n){n&J&&E(a.v,e),n&K?E(a.i,t):a.i=t}function re(a,e,t,n,l,s,o,c,d,h){var p=(d&J)!==0,b=(d&Ie)===0,g=p?b?ke(l):T(l):l,r=d&K?T(o):o,f={i:r,v:g,k:s,a:null,e:null,prev:t,next:n};try{return f.e=D(()=>c(a,g,r),A),f.e.prev=t&&t.e,f.e.next=n&&n.e,t===null?e.first=f:(t.next=f,t.e.next=f.e),n!==null&&(n.prev=f,n.e.prev=f.e),f}finally{}}function ie(a,e,t){for(var n=a.next?a.next.e.nodes_start:t,l=e?e.e.nodes_start:t,s=a.e.nodes_start;s!==n;){var o=Oe(s);l.before(s),s=o}}function S(a,e,t){e===null?a.first=t:(e.next=t,e.e.next=t&&t.e),t!==null&&(t.prev=e,t.e.prev=e&&e.e)}function oe(a,e,t){if(a.multiple)return Pe(a,e);for(var n of a.options){var l=I(n);if(Ne(l,e)){n.selected=!0;return}}(!t||e!==void 0)&&(a.selectedIndex=-1)}function Le(a,e){ae(()=>{var t=new MutationObserver(()=>{var n=a.__value;oe(a,n)});return t.observe(a,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),()=>{t.disconnect()}})}function fe(a,e,t=e){var n=!0;ze(a,"change",l=>{var s=l?"[selected]":":checked",o;if(a.multiple)o=[].map.call(a.querySelectorAll(s),I);else{var c=a.querySelector(s)??a.querySelector("option:not([disabled])");o=c&&I(c)}t(o)}),ae(()=>{var l=e();if(oe(a,l,n),n&&l===void 0){var s=a.querySelector(":checked");s!==null&&(l=I(s),t(l))}a.__value=l,n=!1}),Le(a)}function Pe(a,e){for(var t of a.options)t.selected=~e.indexOf(I(t))}function I(a){return"__value"in a?a.__value:a.value}var Re=Q('<option class="opt svelte-ysgm66"> </option>'),Ve=Q('<select class="svelte-ysgm66"></select>');function We(a,e){let t=L(e,"value",15),n=L(e,"options",19,()=>[]),l=L(e,"width",3,"inherit");var s=Ve();se(s,21,n,le,(o,c)=>{var d=Re(),h={},p=Me(d,!0);ne(d),te(()=>{h!==(h=z(c))&&(d.value=(d.__value=z(c))==null?"":z(c)),Be(p,z(c))}),j(o,d)}),ne(s),te(()=>Ge(s,"width",l())),fe(s,t),j(a,s)}export{We as O,fe as b,se as e,le as i};
diff --git a/static/v1/_app/immutable/chunks/OptionSelect.BCgZksOM.js.br b/static/v1/_app/immutable/chunks/OptionSelect.BCgZksOM.js.br
deleted file mode 100644
index 27a6f586f..000000000
Binary files a/static/v1/_app/immutable/chunks/OptionSelect.BCgZksOM.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/OptionSelect.BCgZksOM.js.gz b/static/v1/_app/immutable/chunks/OptionSelect.BCgZksOM.js.gz
deleted file mode 100644
index 2fed9236b..000000000
Binary files a/static/v1/_app/immutable/chunks/OptionSelect.BCgZksOM.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/OptionSelect.jFlepSwk.js b/static/v1/_app/immutable/chunks/OptionSelect.jFlepSwk.js
new file mode 100644
index 000000000..cb91fbdba
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/OptionSelect.jFlepSwk.js
@@ -0,0 +1 @@
+import"./disclose-version.BDr9Qe-U.js";import{z as de,A as pe,B as A,G as H,a6 as ce,a5 as xe,aw as Q,a7 as me,a8 as V,F,I as k,ax as T,a9 as X,N as Z,aa as he,v as $,ay as D,az as ge,aA as _e,aB as be,O as we,J as ye,aC as Se,aD as Ae,y as qe,aE as J,aF as L,m as Oe,_ as E,aG as N,aH as ke,aI as Ce,E as Me,w as I,T as ee,U as Te,W as ae,g as z}from"./index-client.CzqVbBUo.js";import{l as ze,s as Be}from"./render.CK5MTJQL.js";import{a as te,t as ne}from"./template.io25wnf1.js";import{s as Ge}from"./helpers.BvaXa0cv.js";import{a as He}from"./if.BnegfJmL.js";import{p as R}from"./props.C_MHtC74.js";function le(a,e){return e}function Fe(a,e,t,n){for(var l=[],s=e.length,o=0;o<s;o++)ge(e[o].e,l,!0);var c=s>0&&l.length===0&&t!==null;if(c){var d=t.parentNode;_e(d),d.append(t),n.clear(),S(a,e[0].prev,e[s-1].next)}be(l,()=>{for(var m=0;m<s;m++){var p=e[m];c||(n.delete(p.k),S(a,p.prev,p.next)),we(p.e,!c)}})}function se(a,e,t,n,l,s=null){var o=a,c={flags:e,items:new Map,first:null},d=(e&N)!==0;if(d){var m=a;o=A?H(ye(m)):m.appendChild(de())}A&&ce();var p=null,b=!1;pe(()=>{var w=t(),r=xe(w)?w:w==null?[]:Q(w),f=r.length;if(b&&f===0)return;b=f===0;let v=!1;if(A){var q=o.data===me;q!==(f===0)&&(o=V(),H(o),F(!1),v=!0)}if(A){for(var x=null,h,g=0;g<f;g++){if(k.nodeType===8&&k.data===Se){o=k,v=!0,F(!1);break}var _=r[g],i=n(_,g);h=re(k,c,x,null,_,i,g,l,e),c.items.set(i,h),x=h}f>0&&H(V())}if(!A){var u=Ae;Je(r,c,o,l,e,(u.f&T)!==0,n)}s!==null&&(f===0?p?X(p):p=Z(()=>s(o)):p!==null&&he(p,()=>{p=null})),v&&F(!0),t()}),A&&(o=k)}function Je(a,e,t,n,l,s,o,c){var W,Y,j,K;var d=(l&ke)!==0,m=(l&(J|L))!==0,p=a.length,b=e.items,w=e.first,r=w,f,v=null,q,x=[],h=[],g,_,i,u;if(d)for(u=0;u<p;u+=1)g=a[u],_=o(g,u),i=b.get(_),i!==void 0&&((W=i.a)==null||W.measure(),(q??(q=new Set)).add(i));for(u=0;u<p;u+=1){if(g=a[u],_=o(g,u),i=b.get(_),i===void 0){var ue=r?r.e.nodes_start:t;v=re(ue,e,v,v===null?e.first:v.next,g,_,u,n,l),b.set(_,v),x=[],h=[],r=v.next;continue}if(m&&Le(i,g,u,l),i.e.f&T&&(X(i.e),d&&((Y=i.a)==null||Y.unfix(),(q??(q=new Set)).delete(i))),i!==r){if(f!==void 0&&f.has(i)){if(x.length<h.length){var M=h[0],y;v=M.prev;var U=x[0],B=x[x.length-1];for(y=0;y<x.length;y+=1)ie(x[y],M,t);for(y=0;y<h.length;y+=1)f.delete(h[y]);S(e,U.prev,B.next),S(e,v,U),S(e,B,M),r=M,v=B,u-=1,x=[],h=[]}else f.delete(i),ie(i,r,t),S(e,i.prev,i.next),S(e,i,v===null?e.first:v.next),S(e,v,i),v=i;continue}for(x=[],h=[];r!==null&&r.k!==_;)(s||!(r.e.f&T))&&(f??(f=new Set)).add(r),h.push(r),r=r.next;if(r===null)continue;i=r}x.push(i),v=i,r=i.next}if(r!==null||f!==void 0){for(var O=f===void 0?[]:Q(f);r!==null;)(s||!(r.e.f&T))&&O.push(r),r=r.next;var G=O.length;if(G>0){var ve=l&N&&p===0?t:null;if(d){for(u=0;u<G;u+=1)(j=O[u].a)==null||j.measure();for(u=0;u<G;u+=1)(K=O[u].a)==null||K.fix()}Fe(e,O,ve,b)}}d&&qe(()=>{var P;if(q!==void 0)for(i of q)(P=i.a)==null||P.apply()}),$.first=e.first&&e.first.e,$.last=v&&v.e}function Le(a,e,t,n){n&J&&D(a.v,e),n&L?D(a.i,t):a.i=t}function re(a,e,t,n,l,s,o,c,d,m){var p=(d&J)!==0,b=(d&Ce)===0,w=p?b?Oe(l):E(l):l,r=d&L?E(o):o,f={i:r,v:w,k:s,a:null,e:null,prev:t,next:n};try{return f.e=Z(()=>c(a,w,r),A),f.e.prev=t&&t.e,f.e.next=n&&n.e,t===null?e.first=f:(t.next=f,t.e.next=f.e),n!==null&&(n.prev=f,n.e.prev=f.e),f}finally{}}function ie(a,e,t){for(var n=a.next?a.next.e.nodes_start:t,l=e?e.e.nodes_start:t,s=a.e.nodes_start;s!==n;){var o=Me(s);l.before(s),s=o}}function S(a,e,t){e===null?a.first=t:(e.next=t,e.e.next=t&&t.e),t!==null&&(t.prev=e,t.e.prev=e&&e.e)}function oe(a,e,t){if(a.multiple)return Ue(a,e);for(var n of a.options){var l=C(n);if(He(l,e)){n.selected=!0;return}}(!t||e!==void 0)&&(a.selectedIndex=-1)}function Re(a,e){I(()=>{var t=new MutationObserver(()=>{var n=a.__value;oe(a,n)});return t.observe(a,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["value"]}),()=>{t.disconnect()}})}function fe(a,e,t=e){var n=!0;ze(a,"change",l=>{var s=l?"[selected]":":checked",o;if(a.multiple)o=[].map.call(a.querySelectorAll(s),C);else{var c=a.querySelector(s)??a.querySelector("option:not([disabled])");o=c&&C(c)}t(o)}),I(()=>{var l=e();if(oe(a,l,n),n&&l===void 0){var s=a.querySelector(":checked");s!==null&&(l=C(s),t(l))}a.__value=l,n=!1}),Re(a)}function Ue(a,e){for(var t of a.options)t.selected=~e.indexOf(C(t))}function C(a){return"__value"in a?a.__value:a.value}var We=ne('<option class="opt svelte-ysgm66"> </option>'),Ye=ne('<select class="svelte-ysgm66"></select>');function je(a,e){let t=R(e,"value",15),n=R(e,"options",19,()=>[]),l=R(e,"width",3,"inherit");var s=Ye();se(s,21,n,le,(o,c)=>{var d=We(),m={},p=Te(d,!0);ae(d),ee(()=>{m!==(m=z(c))&&(d.value=(d.__value=z(c))==null?"":z(c)),Be(p,z(c))}),te(o,d)}),ae(s),ee(()=>Ge(s,"width",l())),fe(s,t),te(a,s)}export{je as O,fe as b,se as e,le as i};
diff --git a/static/v1/_app/immutable/chunks/OptionSelect.jFlepSwk.js.br b/static/v1/_app/immutable/chunks/OptionSelect.jFlepSwk.js.br
new file mode 100644
index 000000000..9e7923078
Binary files /dev/null and b/static/v1/_app/immutable/chunks/OptionSelect.jFlepSwk.js.br differ
diff --git a/static/v1/_app/immutable/chunks/OptionSelect.jFlepSwk.js.gz b/static/v1/_app/immutable/chunks/OptionSelect.jFlepSwk.js.gz
new file mode 100644
index 000000000..e4a56cbeb
Binary files /dev/null and b/static/v1/_app/immutable/chunks/OptionSelect.jFlepSwk.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/PasswordInput.6uXzPAl-.js b/static/v1/_app/immutable/chunks/PasswordInput.6uXzPAl-.js
deleted file mode 100644
index 9391eafe5..000000000
--- a/static/v1/_app/immutable/chunks/PasswordInput.6uXzPAl-.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as m,n as A,b as j}from"./disclose-version.DZhRUPAc.js";import{a2 as f,p as aa,a7 as oa,a3 as l,n as ra,a5 as n,a1 as k,a as ea}from"./index-client.CGppiJvc.js";import{d as ta,e as I,s as sa}from"./render.D4MwAWTL.js";import{i as V}from"./if.DUA6Hpfn.js";import{s as ia}from"./snippet.xhmr1ywJ.js";import{s as t,e as la,g as na,t as da,b as va}from"./Loading.FF_EHyHU.js";import{y as u}from"./dataFetching.Dto1xJW6.js";import{b as ca}from"./this.B23tdsYu.js";import{p as r,r as pa}from"./props.Df_pGDSd.js";import{g as ha}from"./helpers.DVmWh-6p.js";var ma=A('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M8.25 7.5V6.108c0-1.135.845-2.098 1.976-2.192.373-.03.748-.057 1.123-.08M15.75 18H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08M15.75 18.75v-1.875a3.375 3.375 0 00-3.375-3.375h-1.5a1.125 1.125 0 01-1.125-1.125v-1.5A3.375 3.375 0 006.375 7.5H5.25m11.9-3.664A2.251 2.251 0 0015 2.25h-1.5a2.251 2.251 0 00-2.15 1.586m5.8 0c.065.21.1.433.1.664v.75h-6V4.5c0-.231.035-.454.1-.664M6.75 7.5H4.875c-.621 0-1.125.504-1.125 1.125v12c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V16.5a9 9 0 00-9-9z"></path></svg>');function W(c,a){let d=r(a,"opacity",3,.9),v=r(a,"width",3,20);var s=ma();t(s,"stroke-width",2),f(()=>{t(s,"width",v()),t(s,"opacity",d())}),m(c,s)}var ua=A('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88"></path></svg>');function E(c,a){let d=r(a,"color",3,"var(--col-err)"),v=r(a,"opacity",3,.9),s=r(a,"width",3,24);var e=ua();t(e,"stroke-width",2),f(()=>{t(e,"width",s()),t(e,"color",d()),t(e,"opacity",v())}),m(c,e)}var wa=A('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178z"></path><path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path></svg>');function P(c,a){let d=r(a,"color",3,"var(--col-ok)"),v=r(a,"opacity",3,.9),s=r(a,"width",3,24);var e=wa();t(e,"stroke-width",2),f(()=>{t(e,"width",s()),t(e,"color",d()),t(e,"opacity",v())}),m(c,e)}var ba=j('<div role="button" tabindex="0" class="btn clip svelte-6ql6gz"><!></div>'),fa=j('<div class="rel svelte-6ql6gz"><div class="err font-label svelte-6ql6gz"> </div></div>'),ga=j('<div class="container svelte-6ql6gz"><div class="label svelte-6ql6gz"><div class="labelInner font-label noselect svelte-6ql6gz"><label><!></label></div></div> <input> <div class="rel svelte-6ql6gz"><!> <div role="button" tabindex="0" class="btn show svelte-6ql6gz"><!></div></div> <!></div>');function ka(c,a){aa(a,!0);let d=r(a,"bindThis",15,void 0),v=r(a,"name",19,ha),s=r(a,"disabled",3,!1),e=r(a,"error",3,""),_=r(a,"showCopy",3,!1),y=r(a,"value",15,""),x=r(a,"width",3,"250px"),D=r(a,"maxWidth",3,"inherit"),F=r(a,"autocomplete",3,"current-password"),w=r(a,"type",15,"password"),J=pa(a,["$$slots","$$events","$$legacy","bindThis","name","disabled","error","showCopy","value","width","maxWidth","autocomplete","type","children"]);const z=oa();function K(o){o.code==="Enter"?z("enter",!0):z("keypress",!0)}function O(){z("blur",!0)}function B(){navigator.clipboard.writeText(y())}function H(){w()==="password"?w("text"):w("password")}function R(o){y(o.target.value)}var b=ga(),q=l(b),M=l(q),C=l(M),S=l(C);ia(S,()=>a.children??ra),n(C),n(M),n(q);var p=k(q,2);la(p);let L;ca(p,o=>d(o),()=>d());var $=k(p,2),T=l($);{var X=o=>{var i=ba();i.__click=B;var h=l(i);W(h,{}),n(i),I("keypress",i,B),m(o,i)};V(T,o=>{_()&&o(X)})}var g=k(T,2);g.__click=H;var Y=l(g);{var Z=o=>{E(o,{width:22})},G=o=>{P(o,{width:22})};V(Y,o=>{w()==="password"?o(Z):o(G,!1)})}n(g),n($);var N=k($,2);{var Q=o=>{var i=fa(),h=l(i),U=l(h,!0);n(h),n(i),f(()=>{u(h,"width",x()),sa(U,e())}),da(7,h,()=>va,()=>({duration:250})),m(o,i)};V(N,o=>{e()&&o(Q)})}n(b),f(()=>{u(b,"width",`calc(${x()??""} + 12px)`),u(b,"max-width",D()),u(M,"background",s()?"var(--col-gmid)":"var(--col-bg)"),t(C,"for",v()),L=na(p,L,{type:w(),name:v(),disabled:s(),value:y(),autocomplete:F(),...J,oninput:R,onkeypress:K,onblur:O},"svelte-6ql6gz"),u(p,"width",x()),u(p,"padding-right",_()?"45px":"25px")}),I("keypress",g,H),m(c,b),ea()}ta(["click"]);export{E as I,ka as P,P as a,W as b};
diff --git a/static/v1/_app/immutable/chunks/PasswordInput.6uXzPAl-.js.br b/static/v1/_app/immutable/chunks/PasswordInput.6uXzPAl-.js.br
deleted file mode 100644
index 2d04e41c5..000000000
Binary files a/static/v1/_app/immutable/chunks/PasswordInput.6uXzPAl-.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/PasswordInput.6uXzPAl-.js.gz b/static/v1/_app/immutable/chunks/PasswordInput.6uXzPAl-.js.gz
deleted file mode 100644
index 7c47011b7..000000000
Binary files a/static/v1/_app/immutable/chunks/PasswordInput.6uXzPAl-.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/PasswordInput.DOldwDot.js b/static/v1/_app/immutable/chunks/PasswordInput.DOldwDot.js
new file mode 100644
index 000000000..efd9969e9
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/PasswordInput.DOldwDot.js
@@ -0,0 +1 @@
+import"./disclose-version.BDr9Qe-U.js";import{T as f,p as aa,aP as oa,U as l,n as ra,W as n,R as k,a as ta}from"./index-client.CzqVbBUo.js";import{d as ea,e as W,s as sa}from"./render.CK5MTJQL.js";import{i as j}from"./if.BnegfJmL.js";import{a as u,n as A,t as T}from"./template.io25wnf1.js";import{s as ia}from"./snippet.B82X2vfx.js";import{s as e,d as la,e as na,t as da,a as va}from"./Button.JzTZa4bh.js";import{g as ca,s as m}from"./helpers.BvaXa0cv.js";import{b as pa}from"./this.CLOcaDU7.js";import{p as r,r as ha}from"./props.C_MHtC74.js";var ua=A('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M8.25 7.5V6.108c0-1.135.845-2.098 1.976-2.192.373-.03.748-.057 1.123-.08M15.75 18H18a2.25 2.25 0 002.25-2.25V6.108c0-1.135-.845-2.098-1.976-2.192a48.424 48.424 0 00-1.123-.08M15.75 18.75v-1.875a3.375 3.375 0 00-3.375-3.375h-1.5a1.125 1.125 0 01-1.125-1.125v-1.5A3.375 3.375 0 006.375 7.5H5.25m11.9-3.664A2.251 2.251 0 0015 2.25h-1.5a2.251 2.251 0 00-2.15 1.586m5.8 0c.065.21.1.433.1.664v.75h-6V4.5c0-.231.035-.454.1-.664M6.75 7.5H4.875c-.621 0-1.125.504-1.125 1.125v12c0 .621.504 1.125 1.125 1.125h9.75c.621 0 1.125-.504 1.125-1.125V16.5a9 9 0 00-9-9z"></path></svg>');function I(c,a){let d=r(a,"opacity",3,.9),v=r(a,"width",3,20);var s=ua();e(s,"stroke-width",2),f(()=>{e(s,"width",v()),e(s,"opacity",d())}),u(c,s)}var ma=A('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M3.98 8.223A10.477 10.477 0 001.934 12C3.226 16.338 7.244 19.5 12 19.5c.993 0 1.953-.138 2.863-.395M6.228 6.228A10.45 10.45 0 0112 4.5c4.756 0 8.773 3.162 10.065 7.498a10.523 10.523 0 01-4.293 5.774M6.228 6.228L3 3m3.228 3.228l3.65 3.65m7.894 7.894L21 21m-3.228-3.228l-3.65-3.65m0 0a3 3 0 10-4.243-4.243m4.242 4.242L9.88 9.88"></path></svg>');function P(c,a){let d=r(a,"color",3,"var(--col-err)"),v=r(a,"opacity",3,.9),s=r(a,"width",3,24);var t=ma();e(t,"stroke-width",2),f(()=>{e(t,"width",s()),e(t,"color",d()),e(t,"opacity",v())}),u(c,t)}var wa=A('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M2.036 12.322a1.012 1.012 0 010-.639C3.423 7.51 7.36 4.5 12 4.5c4.638 0 8.573 3.007 9.963 7.178.07.207.07.431 0 .639C20.577 16.49 16.64 19.5 12 19.5c-4.638 0-8.573-3.007-9.963-7.178z"></path><path stroke-linecap="round" stroke-linejoin="round" d="M15 12a3 3 0 11-6 0 3 3 0 016 0z"></path></svg>');function E(c,a){let d=r(a,"color",3,"var(--col-ok)"),v=r(a,"opacity",3,.9),s=r(a,"width",3,24);var t=wa();e(t,"stroke-width",2),f(()=>{e(t,"width",s()),e(t,"color",d()),e(t,"opacity",v())}),u(c,t)}var ba=T('<div role="button" tabindex="0" class="btn clip svelte-6ql6gz"><!></div>'),fa=T('<div class="rel svelte-6ql6gz"><div class="err font-label svelte-6ql6gz"> </div></div>'),ga=T('<div class="container svelte-6ql6gz"><div class="label svelte-6ql6gz"><div class="labelInner font-label noselect svelte-6ql6gz"><label><!></label></div></div> <input> <div class="rel svelte-6ql6gz"><!> <div role="button" tabindex="0" class="btn show svelte-6ql6gz"><!></div></div> <!></div>');function ka(c,a){aa(a,!0);let d=r(a,"bindThis",15,void 0),v=r(a,"name",19,ca),s=r(a,"disabled",3,!1),t=r(a,"error",3,""),V=r(a,"showCopy",3,!1),y=r(a,"value",15,""),x=r(a,"width",3,"250px"),R=r(a,"maxWidth",3,"inherit"),D=r(a,"autocomplete",3,"current-password"),w=r(a,"type",15,"password"),F=ha(a,["$$slots","$$events","$$legacy","bindThis","name","disabled","error","showCopy","value","width","maxWidth","autocomplete","type","children"]);const z=oa();function K(o){o.code==="Enter"?z("enter",!0):z("keypress",!0)}function N(){z("blur",!0)}function _(){navigator.clipboard.writeText(y())}function B(){w()==="password"?w("text"):w("password")}function O(o){y(o.target.value)}var b=ga(),q=l(b),M=l(q),C=l(M),S=l(C);ia(S,()=>a.children??ra),n(C),n(M),n(q);var p=k(q,2);la(p);let H;pa(p,o=>d(o),()=>d());var $=k(p,2),L=l($);{var U=o=>{var i=ba();i.__click=_;var h=l(i);I(h,{}),n(i),W("keypress",i,_),u(o,i)};j(L,o=>{V()&&o(U)})}var g=k(L,2);g.__click=B;var X=l(g);{var Y=o=>{P(o,{width:22})},Z=o=>{E(o,{width:22})};j(X,o=>{w()==="password"?o(Y):o(Z,!1)})}n(g),n($);var G=k($,2);{var J=o=>{var i=fa(),h=l(i),Q=l(h,!0);n(h),n(i),f(()=>{m(h,"width",x()),sa(Q,t())}),da(7,h,()=>va,()=>({duration:250})),u(o,i)};j(G,o=>{t()&&o(J)})}n(b),f(()=>{m(b,"width",`calc(${x()??""} + 12px)`),m(b,"max-width",R()),m(M,"background",s()?"var(--col-gmid)":"var(--col-bg)"),e(C,"for",v()),H=na(p,H,{type:w(),name:v(),disabled:s(),value:y(),autocomplete:D(),...F,oninput:O,onkeypress:K,onblur:N},"svelte-6ql6gz"),m(p,"width",x()),m(p,"padding-right",V()?"45px":"25px")}),W("keypress",g,B),u(c,b),ta()}ea(["click"]);export{P as I,ka as P,E as a,I as b};
diff --git a/static/v1/_app/immutable/chunks/PasswordInput.DOldwDot.js.br b/static/v1/_app/immutable/chunks/PasswordInput.DOldwDot.js.br
new file mode 100644
index 000000000..12d779a6a
Binary files /dev/null and b/static/v1/_app/immutable/chunks/PasswordInput.DOldwDot.js.br differ
diff --git a/static/v1/_app/immutable/chunks/PasswordInput.DOldwDot.js.gz b/static/v1/_app/immutable/chunks/PasswordInput.DOldwDot.js.gz
new file mode 100644
index 000000000..7094ca118
Binary files /dev/null and b/static/v1/_app/immutable/chunks/PasswordInput.DOldwDot.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/PasswordPolicy.D9rZurKD.js b/static/v1/_app/immutable/chunks/PasswordPolicy.D9rZurKD.js
deleted file mode 100644
index 2efd47ade..000000000
--- a/static/v1/_app/immutable/chunks/PasswordPolicy.D9rZurKD.js
+++ /dev/null
@@ -1,8 +0,0 @@
-import{c as Y,a as u,b as y}from"./disclose-version.DZhRUPAc.js";import{p as Z,_ as D,a0 as H,a as J,j as K,a3 as o,a5 as n,a1 as f,a2 as w,g}from"./index-client.CGppiJvc.js";import{s as v}from"./render.D4MwAWTL.js";import{i as $}from"./if.DUA6Hpfn.js";import{t as b}from"./dataFetching.Dto1xJW6.js";import{p as q}from"./proxy.DB4Km9hY.js";import{p as z}from"./props.Df_pGDSd.js";import{r as L}from"./legacy-client.CgqodnwN.js";import{u as O}from"./i18n.svelte.BTGsPiz_.js";var ii=y('<li class="li svelte-1f8mmbi"> </li>'),li=y('<li class="li svelte-1f8mmbi"> </li>'),ei=y('<li class="li svelte-1f8mmbi"> </li>'),si=y('<li class="li svelte-1f8mmbi"> </li>'),ai=y('<li class="li svelte-1f8mmbi"> </li>'),ri=y('<div class="policyContainer svelte-1f8mmbi"><span style="margin-left: 20px"><b> </b></span> <ul class="svelte-1f8mmbi"><li class="li svelte-1f8mmbi"> </li> <li class="li svelte-1f8mmbi"> </li> <!> <!> <!> <!> <!></ul></div>');function ci(B,P){Z(P,!0);let i=z(P,"policy",19,()=>({})),F=z(P,"accepted",15,!1),m=O(),_=D(q([!1,!1,!1,!1,!1,!1]));const G=d=>{if(!i())return!1;let r=[!1,!1,!1,!1,!1,!1],c=!1;d.length<i().length_min&&(r[0]=!0,c=!0),d.length>i().length_max&&(r[1]=!0,c=!0);let s=[0,0,0,0];for(let E=0;E<d.length;E++){let t=d.charCodeAt(E);if(t>=97&&t<=122){s[0]=s[0]+1;continue}if(t>=65&&t<=90){s[1]=s[1]+1;continue}if(t>=48&&t<=57){s[2]=s[2]+1;continue}s[3]=s[3]+1}i().include_lower_case!==-1&&i().include_lower_case>s[0]&&(r[2]=!0,c=!0),i().include_upper_case!==-1&&i().include_upper_case>s[1]&&(r[3]=!0,c=!0),i().include_digits!==-1&&i().include_digits>s[2]&&(r[4]=!0,c=!0),i().include_special!==-1&&i().include_special>s[3]&&(r[5]=!0,c=!0),K(_,q(r)),F(!c)};L(()=>{P.password&&G(P.password)});var x=Y(),I=H(x);{var N=d=>{var r=ri(),c=o(r),s=o(c),E=o(s,!0);n(s),n(c);var t=f(c,2),M=o(t),Q=o(M);n(M);var h=f(M,2),R=o(h);n(h);var C=f(h,2);{var S=e=>{var l=ii(),p=o(l);n(l),w(()=>{var a;b(l,"policyErr",!!g(_)[2]),v(p,`${m.passwordPolicy.lowercaseMin??""}
-                    ${(((a=i())==null?void 0:a.include_lower_case)||0)??""}`)}),u(e,l)};$(C,e=>{i().include_lower_case!==-1&&e(S)})}var j=f(C,2);{var T=e=>{var l=li(),p=o(l);n(l),w(()=>{var a;b(l,"policyErr",!!g(_)[3]),v(p,`${m.passwordPolicy.uppercaseMin??""}
-                    ${(((a=i())==null?void 0:a.include_upper_case)||0)??""}`)}),u(e,l)};$(j,e=>{i().include_upper_case!==-1&&e(T)})}var A=f(j,2);{var U=e=>{var l=ei(),p=o(l);n(l),w(()=>{var a;b(l,"policyErr",!!g(_)[4]),v(p,`${m.passwordPolicy.digitsMin??""}
-                    ${(((a=i())==null?void 0:a.include_digits)||0)??""}`)}),u(e,l)};$(A,e=>{i().include_digits!==-1&&e(U)})}var k=f(A,2);{var V=e=>{var l=si(),p=o(l);n(l),w(()=>{var a;b(l,"policyErr",!!g(_)[5]),v(p,`${m.passwordPolicy.specialMin??""}
-                    ${(((a=i())==null?void 0:a.include_special)||0)??""}`)}),u(e,l)};$(k,e=>{i().include_special!==-1&&e(V)})}var W=f(k,2);{var X=e=>{var l=ai(),p=o(l);n(l),w(()=>{var a;return v(p,`${m.passwordPolicy.notRecent??""}
-                    ${(((a=i())==null?void 0:a.not_recently_used)||0)??""}`)}),u(e,l)};$(W,e=>{i().not_recently_used!==-1&&e(X)})}n(t),n(r),w(()=>{var e;v(E,m.passwordPolicy.passwordPolicy),b(M,"policyErr",!!g(_)[0]),v(Q,`${m.passwordPolicy.lengthMin??""}
-                ${i().length_min??""}`),b(h,"policyErr",!!g(_)[1]),v(R,`${m.passwordPolicy.lengthMax??""}
-                ${(((e=i())==null?void 0:e.length_max)||0)??""}`)}),u(d,r)};$(I,d=>{i()&&d(N)})}u(B,x),J()}export{ci as P};
diff --git a/static/v1/_app/immutable/chunks/PasswordPolicy.D9rZurKD.js.br b/static/v1/_app/immutable/chunks/PasswordPolicy.D9rZurKD.js.br
deleted file mode 100644
index fbcf6cb0d..000000000
Binary files a/static/v1/_app/immutable/chunks/PasswordPolicy.D9rZurKD.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/PasswordPolicy.D9rZurKD.js.gz b/static/v1/_app/immutable/chunks/PasswordPolicy.D9rZurKD.js.gz
deleted file mode 100644
index 77183f10e..000000000
Binary files a/static/v1/_app/immutable/chunks/PasswordPolicy.D9rZurKD.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js b/static/v1/_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js
new file mode 100644
index 000000000..5e8ee41a3
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js
@@ -0,0 +1,8 @@
+import"./disclose-version.BDr9Qe-U.js";import{p as Y,P as Z,Q as B,a as D,j as F,U as o,W as n,R as u,T as y,g}from"./index-client.CzqVbBUo.js";import{s as v}from"./render.CK5MTJQL.js";import{p as Q,i as w}from"./if.BnegfJmL.js";import{c as G,a as f,t as $}from"./template.io25wnf1.js";import{t as h}from"./helpers.BvaXa0cv.js";import{p as T}from"./props.C_MHtC74.js";import{r as I}from"./legacy-client.DPLAlLYD.js";import{u as J}from"./i18n.svelte.C_qSL0ZA.js";var ii=$('<li class="li svelte-1f8mmbi"> </li>'),li=$('<li class="li svelte-1f8mmbi"> </li>'),ei=$('<li class="li svelte-1f8mmbi"> </li>'),si=$('<li class="li svelte-1f8mmbi"> </li>'),ai=$('<li class="li svelte-1f8mmbi"> </li>'),ri=$('<div class="policyContainer svelte-1f8mmbi"><span style="margin-left: 20px"><b> </b></span> <ul class="svelte-1f8mmbi"><li class="li svelte-1f8mmbi"> </li> <li class="li svelte-1f8mmbi"> </li> <!> <!> <!> <!> <!></ul></div>');function ci(U,P){Y(P,!0);let i=T(P,"policy",19,()=>({})),k=T(P,"accepted",15,!1),m=J(),_=Z(Q([!1,!1,!1,!1,!1,!1]));const q=d=>{if(!i())return!1;let r=[!1,!1,!1,!1,!1,!1],c=!1;d.length<i().length_min&&(r[0]=!0,c=!0),d.length>i().length_max&&(r[1]=!0,c=!0);let s=[0,0,0,0];for(let b=0;b<d.length;b++){let t=d.charCodeAt(b);if(t>=97&&t<=122){s[0]=s[0]+1;continue}if(t>=65&&t<=90){s[1]=s[1]+1;continue}if(t>=48&&t<=57){s[2]=s[2]+1;continue}s[3]=s[3]+1}i().include_lower_case!==-1&&i().include_lower_case>s[0]&&(r[2]=!0,c=!0),i().include_upper_case!==-1&&i().include_upper_case>s[1]&&(r[3]=!0,c=!0),i().include_digits!==-1&&i().include_digits>s[2]&&(r[4]=!0,c=!0),i().include_special!==-1&&i().include_special>s[3]&&(r[5]=!0,c=!0),F(_,Q(r)),k(!c)};I(()=>{P.password&&q(P.password)});var x=G(),z=B(x);{var H=d=>{var r=ri(),c=o(r),s=o(c),b=o(s,!0);n(s),n(c);var t=u(c,2),E=o(t),K=o(E);n(E);var M=u(E,2),L=o(M);n(M);var C=u(M,2);{var N=e=>{var l=ii(),p=o(l);n(l),y(()=>{var a;h(l,"policyErr",!!g(_)[2]),v(p,`${m.passwordPolicy.lowercaseMin??""}
+                    ${(((a=i())==null?void 0:a.include_lower_case)||0)??""}`)}),f(e,l)};w(C,e=>{i().include_lower_case!==-1&&e(N)})}var R=u(C,2);{var O=e=>{var l=li(),p=o(l);n(l),y(()=>{var a;h(l,"policyErr",!!g(_)[3]),v(p,`${m.passwordPolicy.uppercaseMin??""}
+                    ${(((a=i())==null?void 0:a.include_upper_case)||0)??""}`)}),f(e,l)};w(R,e=>{i().include_upper_case!==-1&&e(O)})}var j=u(R,2);{var S=e=>{var l=ei(),p=o(l);n(l),y(()=>{var a;h(l,"policyErr",!!g(_)[4]),v(p,`${m.passwordPolicy.digitsMin??""}
+                    ${(((a=i())==null?void 0:a.include_digits)||0)??""}`)}),f(e,l)};w(j,e=>{i().include_digits!==-1&&e(S)})}var A=u(j,2);{var V=e=>{var l=si(),p=o(l);n(l),y(()=>{var a;h(l,"policyErr",!!g(_)[5]),v(p,`${m.passwordPolicy.specialMin??""}
+                    ${(((a=i())==null?void 0:a.include_special)||0)??""}`)}),f(e,l)};w(A,e=>{i().include_special!==-1&&e(V)})}var W=u(A,2);{var X=e=>{var l=ai(),p=o(l);n(l),y(()=>{var a;return v(p,`${m.passwordPolicy.notRecent??""}
+                    ${(((a=i())==null?void 0:a.not_recently_used)||0)??""}`)}),f(e,l)};w(W,e=>{i().not_recently_used!==-1&&e(X)})}n(t),n(r),y(()=>{var e;v(b,m.passwordPolicy.passwordPolicy),h(E,"policyErr",!!g(_)[0]),v(K,`${m.passwordPolicy.lengthMin??""}
+                ${i().length_min??""}`),h(M,"policyErr",!!g(_)[1]),v(L,`${m.passwordPolicy.lengthMax??""}
+                ${(((e=i())==null?void 0:e.length_max)||0)??""}`)}),f(d,r)};w(z,d=>{i()&&d(H)})}f(U,x),D()}export{ci as P};
diff --git a/static/v1/_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js.br b/static/v1/_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js.br
new file mode 100644
index 000000000..27d8e1bce
Binary files /dev/null and b/static/v1/_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js.br differ
diff --git a/static/v1/_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js.gz b/static/v1/_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js.gz
new file mode 100644
index 000000000..d91e261f7
Binary files /dev/null and b/static/v1/_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/Template.mSBxkRZ-.js b/static/v1/_app/immutable/chunks/Template.mSBxkRZ-.js
new file mode 100644
index 000000000..dbcd85a4a
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/Template.mSBxkRZ-.js
@@ -0,0 +1 @@
+import"./disclose-version.BDr9Qe-U.js";import{p as r,o as i,a as p}from"./index-client.CzqVbBUo.js";import{p as c}from"./props.C_MHtC74.js";import{u as s}from"./is_dev.svelte.qp6n2kD5.js";function l(e,o){let t;return o==="json"?t={"Content-Type":"application/json",Accept:"application/json"}:t={"Content-type":"application/x-www-form-urlencoded",Accept:"application/json"},t}async function u(e,o="json"){return d("GET",e,o)}async function d(e,o,t){let a=await fetch(o,{method:e,headers:l(e,t),redirect:"manual"});return await f(a)}async function f(e,o){let t={body:void 0,text:void 0,error:void 0};return e.ok?e.headers.get("content-type")==="application/json"?t.body=await e.json():t.text=await e.text():t.error=await e.json(),t}function m(e,o){r(o,!0);let t=c(o,"value",15);i(async()=>{if(s()){let n=await u(`/auth/v1/template/${o.id}`);n.error?console.error(n.error):n.text&&a(n.text)}else{let n=document.getElementById(o.id);n&&a(n.innerHTML)}});function a(n){typeof t()=="boolean"?t(n==="true"):typeof t()=="string"?t(n):t(JSON.parse(n))}p()}export{m as T};
diff --git a/static/v1/_app/immutable/chunks/Template.mSBxkRZ-.js.br b/static/v1/_app/immutable/chunks/Template.mSBxkRZ-.js.br
new file mode 100644
index 000000000..3b516dc2b
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/Template.mSBxkRZ-.js.br
@@ -0,0 +1,8 @@
+& ���2��Ԧ.�.S�t�8�����9����i꛸����3
+�ךԘ4@>�L�IY�4*�/uCp8�t֌�Z6=��~~��8��c�z{�6)}ґ��#*�6^�V:�3&����e�������\}D�v�����������r������+�
+�E{=?��^�8l_���0LY���Yk��,��A!�N��c6���'M��؉�S�ؤ�J1���nj��>�M�Co��1fǬ�Q��cz�B�U�Ҟ�Y�!8
+��&����Q*H�(F�����2�W����؈2�X:%~�afCS.�w���<���{z����-ZkK�f��
+��z}hD_�'���~l�$�0�t�h��B�+h�@�y:�B#�����>x@�����.��ʥ��Y&FEv�n�X`o~#샚CV���F3������U*r��:=�!��
+���m	s��S�VU�M��c
+sk��.��m'�F
+�-�w���#�0�F{��w{
\ No newline at end of file
diff --git a/static/v1/_app/immutable/chunks/Template.mSBxkRZ-.js.gz b/static/v1/_app/immutable/chunks/Template.mSBxkRZ-.js.gz
new file mode 100644
index 000000000..e6922c5f6
Binary files /dev/null and b/static/v1/_app/immutable/chunks/Template.mSBxkRZ-.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/WebauthnRequest.CHVZELhw.js b/static/v1/_app/immutable/chunks/WebauthnRequest.CHVZELhw.js
deleted file mode 100644
index 0f2d9307f..000000000
--- a/static/v1/_app/immutable/chunks/WebauthnRequest.CHVZELhw.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import{a as m,b as I,c as Q}from"./disclose-version.DZhRUPAc.js";import{p as X,o as N,j as k,g,a3 as a,a5 as t,a1 as z,a2 as D,a as ee,_ as L,a0 as se}from"./index-client.CGppiJvc.js";import{s as f}from"./render.D4MwAWTL.js";import{i as P}from"./if.DUA6Hpfn.js";import{d as re,s as ae,L as te}from"./Loading.FF_EHyHU.js";import{p as U}from"./proxy.DB4Km9hY.js";import{s as ie,p as y,a as oe}from"./props.Df_pGDSd.js";import{t as de}from"./tweened.CQQvc4Vq.js";import{B as ne,F as _,G as w,U as ce,V as le}from"./dataFetching.Dto1xJW6.js";import{u as ve}from"./i18n.svelte.BTGsPiz_.js";async function pe(u,d,h){let o=await ne(u,d);if(o.status===200){let r=await o.json(),n=r.rcr;n.publicKey.challenge=_(n.publicKey.challenge);for(let c of n.publicKey.allowCredentials)c.id=_(c.id);let i;try{i=await navigator.credentials.get(n)}catch(c){return console.error(c),{err:!0,msg:h||"Invalid Key"}}let j={code:r.code,data:{id:i.id,rawId:w(i.rawId),response:{authenticatorData:w(i.response.authenticatorData),clientDataJSON:w(i.response.clientDataJSON),signature:w(i.response.signature)},type:i.type}};return o=await ce(u,j),o.status===202?{err:!1,msg:"Authentication successful",body:await o.json()}:(console.error(o),{err:!0,msg:"Authentication Error"})}else return console.error(o),{err:!0,msg:"Error starting the Authentication"}}var ue=I('<div class="good svelte-jsdqii"> </div>'),me=I('<div class="err svelte-jsdqii"> </div>'),ge=I('<div class="wrapperOuter svelte-jsdqii"><div class="wrapperInner svelte-jsdqii"><div class="content svelte-jsdqii"><div class="contentRow svelte-jsdqii"><div class="contentHeader svelte-jsdqii"> </div></div> <div class="contentRow svelte-jsdqii"><div class="contentHeader svelte-jsdqii"> </div> <div><progress class="svelte-jsdqii"></progress></div></div> <div class="contentRow svelte-jsdqii"><!></div></div></div></div>');function fe(u,d){X(d,!0);const h=ie(),o=()=>oe(S,"$progress",h);let r=y(d,"data",15),n=y(d,"purpose",3,"Login"),i=y(d,"onError",3,e=>{}),j=y(d,"onSuccess",3,e=>{}),c=L(!1),R=L(""),q=L(!1),l=ve(),S=de(r().exp,{duration:r().exp*1e3});N(()=>{let e=setTimeout(()=>{r(void 0)},r().exp*1e3);return S.set(0),()=>clearTimeout(e)}),N(async()=>{let e;n()==="Login"?e={purpose:{Login:r().code}}:e={purpose:n()};let s={};try{s=await le(pe(r().user_id,e,(l==null?void 0:l.authorize.invalidKeyUsed)||"Invalid Key"),r().exp*1e3-1e3)}catch(p){console.error(p),s.err=!0,s.msg="Timeout",i()("Passkey Error")}k(c,U(s.err)),k(q,!s.err),k(R,U(s.msg)),g(q)?j()(s.body):setTimeout(()=>{i()()},3e3)});var x=ge(),T=a(x),O=a(T),b=a(O),F=a(b),$=a(F,!0);t(F),t(b);var A=z(b,2),K=a(A),B=a(K);t(K);var H=z(K,2),J=a(H);t(H),t(A);var M=z(A,2),C=a(M);{var W=e=>{var s=ue(),p=a(s,!0);t(s),D(()=>f(p,l.authorize.mfaAck||"Acknowledged")),m(e,s)},G=e=>{var s=Q(),p=se(s);{var V=v=>{var E=me(),Z=a(E,!0);t(E),D(()=>f(Z,g(R))),m(v,E)},Y=v=>{te(v,{background:!1})};P(p,v=>{g(c)?v(V):v(Y,!1)},!0)}m(e,s)};P(C,e=>{g(q)?e(W):e(G,!1)})}t(M),t(O),t(T),t(x),D(()=>{f($,l.authorize.provideMfa||"Please login with your MFA device"),f(B,`${l.authorize.requestExpires||"Request expires"}
-                    :`),re(J,o()),ae(J,"max",r().exp)}),m(u,x),ee()}export{fe as W};
diff --git a/static/v1/_app/immutable/chunks/WebauthnRequest.CHVZELhw.js.br b/static/v1/_app/immutable/chunks/WebauthnRequest.CHVZELhw.js.br
deleted file mode 100644
index 50b96da7d..000000000
Binary files a/static/v1/_app/immutable/chunks/WebauthnRequest.CHVZELhw.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/WebauthnRequest.CHVZELhw.js.gz b/static/v1/_app/immutable/chunks/WebauthnRequest.CHVZELhw.js.gz
deleted file mode 100644
index fda9906fe..000000000
Binary files a/static/v1/_app/immutable/chunks/WebauthnRequest.CHVZELhw.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/WebauthnRequest.DHqnsBvK.js b/static/v1/_app/immutable/chunks/WebauthnRequest.DHqnsBvK.js
new file mode 100644
index 000000000..e1d293aad
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/WebauthnRequest.DHqnsBvK.js
@@ -0,0 +1,2 @@
+import"./disclose-version.BDr9Qe-U.js";import{p as V,o as M,j as D,g as m,U as a,W as t,R as E,T as I,a as X,P as R,Q as ee}from"./index-client.CzqVbBUo.js";import{s as g}from"./render.CK5MTJQL.js";import{p as N,i as U}from"./if.BnegfJmL.js";import{a as f,t as k,c as se}from"./template.io25wnf1.js";import{c as re,s as ae,L as te}from"./Button.JzTZa4bh.js";import{s as ie,p as y,a as oe}from"./props.C_MHtC74.js";import{t as de}from"./tweened.x1rdCnFk.js";import{D as ce,G as W,H as w,$ as ne,a0 as le}from"./dataFetching.Br47vc1D.js";import{u as ve}from"./i18n.svelte.C_qSL0ZA.js";async function pe(u,d,h){let o=await ce(u,d);if(o.status===200){let r=await o.json(),c=r.rcr;c.publicKey.challenge=W(c.publicKey.challenge);for(let n of c.publicKey.allowCredentials)n.id=W(n.id);let i;try{i=await navigator.credentials.get(c)}catch(n){return console.error(n),{err:!0,msg:h||"Invalid Key"}}let j={code:r.code,data:{id:i.id,rawId:w(i.rawId),response:{authenticatorData:w(i.response.authenticatorData),clientDataJSON:w(i.response.clientDataJSON),signature:w(i.response.signature)},type:i.type}};return o=await ne(u,j),o.status===202?{err:!1,msg:"Authentication successful",body:await o.json()}:(console.error(o),{err:!0,msg:"Authentication Error"})}else return console.error(o),{err:!0,msg:"Error starting the Authentication"}}var ue=k('<div class="good svelte-jsdqii"> </div>'),me=k('<div class="err svelte-jsdqii"> </div>'),ge=k('<div class="wrapperOuter svelte-jsdqii"><div class="wrapperInner svelte-jsdqii"><div class="content svelte-jsdqii"><div class="contentRow svelte-jsdqii"><div class="contentHeader svelte-jsdqii"> </div></div> <div class="contentRow svelte-jsdqii"><div class="contentHeader svelte-jsdqii"> </div> <div><progress class="svelte-jsdqii"></progress></div></div> <div class="contentRow svelte-jsdqii"><!></div></div></div></div>');function fe(u,d){V(d,!0);const h=ie(),o=()=>oe(L,"$progress",h);let r=y(d,"data",15),c=y(d,"purpose",3,"Login"),i=y(d,"onError",3,e=>{}),j=y(d,"onSuccess",3,e=>{}),n=R(!1),z=R(""),q=R(!1),l=ve(),L=de(r().exp,{duration:r().exp*1e3});M(()=>{let e=setTimeout(()=>{r(void 0)},r().exp*1e3);return L.set(0),()=>clearTimeout(e)}),M(async()=>{let e;c()==="Login"?e={purpose:{Login:r().code}}:e={purpose:c()};let s={};try{s=await le(pe(r().user_id,e,(l==null?void 0:l.authorize.invalidKeyUsed)||"Invalid Key"),r().exp*1e3-1e3)}catch(p){console.error(p),s.err=!0,s.msg="Timeout",i()("Passkey Error")}D(n,N(s.err)),D(q,!s.err),D(z,N(s.msg)),m(q)?j()(s.body):setTimeout(()=>{i()()},3e3)});var x=ge(),H=a(x),O=a(H),b=a(O),P=a(b),C=a(P,!0);t(P),t(b);var A=E(b,2),K=a(A),F=a(K);t(K);var S=E(K,2),$=a(S);t(S),t(A);var J=E(A,2),_=a(J);{var B=e=>{var s=ue(),p=a(s,!0);t(s),I(()=>g(p,l.authorize.mfaAck||"Acknowledged")),f(e,s)},G=e=>{var s=se(),p=ee(s);{var Q=v=>{var T=me(),Z=a(T,!0);t(T),I(()=>g(Z,m(z))),f(v,T)},Y=v=>{te(v,{background:!1})};U(p,v=>{m(n)?v(Q):v(Y,!1)},!0)}f(e,s)};U(_,e=>{m(q)?e(B):e(G,!1)})}t(J),t(O),t(H),t(x),I(()=>{g(C,l.authorize.provideMfa||"Please login with your MFA device"),g(F,`${l.authorize.requestExpires||"Request expires"}
+                    :`),re($,o()),ae($,"max",r().exp)}),f(u,x),X()}export{fe as W};
diff --git a/static/v1/_app/immutable/chunks/WebauthnRequest.DHqnsBvK.js.br b/static/v1/_app/immutable/chunks/WebauthnRequest.DHqnsBvK.js.br
new file mode 100644
index 000000000..7d9802a54
Binary files /dev/null and b/static/v1/_app/immutable/chunks/WebauthnRequest.DHqnsBvK.js.br differ
diff --git a/static/v1/_app/immutable/chunks/WebauthnRequest.DHqnsBvK.js.gz b/static/v1/_app/immutable/chunks/WebauthnRequest.DHqnsBvK.js.gz
new file mode 100644
index 000000000..e81c356d9
Binary files /dev/null and b/static/v1/_app/immutable/chunks/WebauthnRequest.DHqnsBvK.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/dataFetching.Br47vc1D.js b/static/v1/_app/immutable/chunks/dataFetching.Br47vc1D.js
new file mode 100644
index 000000000..5aaf40d33
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/dataFetching.Br47vc1D.js
@@ -0,0 +1 @@
+const m="pkce_verifier",w="pkce_verifier_upstream",p="csrf_token",A="access_token",O="id_token",v="provider_token",z="/auth/v1/oidc/authorize",C="rauthy",U="/auth/v1/oidc/logout",j="/auth/v1/oidc/callback",J="/auth/v1/admin",D="/auth/v1/account",R="/auth/v1/",B=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/gm,G=/^\+[0-9\s]{0,32}$/gm,q=/^[a-zA-Z0-9À-ÿ-.\s]{0,48}$/gm,Z=/^[a-zA-Z0-9À-ÿ-]{0,48}$/gm,M=/^[a-zA-Z0-9_/-]{2,24}$/gm,x=/^[\w\sÀ-ſ\-\u3041-\u3096\u30A0-\u30FF\u3400-\u4DB5\u4E00-\u9FCB\uF900-\uFA6A\u2E80-\u2FD5\uFF66-\uFF9F\uFFA1-\uFFDC\u31F0-\u31FF]{1,32}$/gm,L=/^[\w\sÀ-ſ\-\u3041-\u3096\u30A0-\u30FF\u3400-\u4DB5\u4E00-\u9FCB\uF900-\uFA6A\u2E80-\u2FD5\uFF66-\uFF9F\uFFA1-\uFFDC\u31F0-\u31FF]{0,32}$/gm,H=/^[a-zA-Z0-9\-_/\s]{0,128}$/gm,V=/^[a-zA-Z0-9\-_/]{2,32}$/gm,K=/^[a-zA-Z0-9\-_/]{2,128}$/gm,W=/^[a-zA-Z0-9À-ſ\-\s\u3041-\u3096\u30A0-\u30FF\u3400-\u4DB5\u4E00-\u9FCB\uF900-\uFA6A\u2E80-\u2FD5\uFF66-\uFF9F\uFFA1-\uFFDC\u31F0-\u31FF]{0,128}$/m,Y=/^[a-zA-Z0-9+.@/:]{0,48}$/gm,Q=/^[a-z0-9-_\/:\s]{0,128}$/gm,X=/^[a-z0-9.:-]+:\/\/[a-z0-9.:-]+$/m,ee=/^(-----BEGIN CERTIFICATE-----)[a-zA-Z0-9+/=\n]+(-----END CERTIFICATE-----)$/gm,ae=/^[a-z0-9\-_/:*]{2,64}$/gm,te=/^[a-zA-Z0-9,.:/_\-&?=~#!$'()*+%]*$/gm,re=/^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$/gm,ne=/(#(?:[0-9a-f]{2}){2,4}$|(#[0-9a-f]{3}$)|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\)$|black$|silver$|gray$|whitesmoke$|maroon$|red$|purple$|fuchsia$|green$|lime$|olivedrab$|yellow$|navy$|blue$|teal$|aquamarine$|orange$|aliceblue$|antiquewhite$|aqua$|azure$|beige$|bisque$|blanchedalmond$|blueviolet$|brown$|burlywood$|cadetblue$|chartreuse$|chocolate$|coral$|cornflowerblue$|cornsilk$|crimson$|currentcolor$|darkblue$|darkcyan$|darkgoldenrod$|darkgray$|darkgreen$|darkgrey$|darkkhaki$|darkmagenta$|darkolivegreen$|darkorange$|darkorchid$|darkred$|darksalmon$|darkseagreen$|darkslateblue$|darkslategray$|darkslategrey$|darkturquoise$|darkviolet$|deeppink$|deepskyblue$|dimgray$|dimgrey$|dodgerblue$|firebrick$|floralwhite$|forestgreen$|gainsboro$|ghostwhite$|goldenrod$|gold$|greenyellow$|grey$|honeydew$|hotpink$|indianred$|indigo$|ivory$|khaki$|lavenderblush$|lavender$|lawngreen$|lemonchiffon$|lightblue$|lightcoral$|lightcyan$|lightgoldenrodyellow$|lightgray$|lightgreen$|lightgrey$|lightpink$|lightsalmon$|lightseagreen$|lightskyblue$|lightslategray$|lightslategrey$|lightsteelblue$|lightyellow$|limegreen$|linen$|mediumaquamarine$|mediumblue$|mediumorchid$|mediumpurple$|mediumseagreen$|mediumslateblue$|mediumspringgreen$|mediumturquoise$|mediumvioletred$|midnightblue$|mintcream$|mistyrose$|moccasin$|navajowhite$|oldlace$|olive$|orangered$|orchid$|palegoldenrod$|palegreen$|paleturquoise$|palevioletred$|papayawhip$|peachpuff$|peru$|pink$|plum$|powderblue$|rosybrown$|royalblue$|saddlebrown$|salmon$|sandybrown$|seagreen$|seashell$|sienna$|skyblue$|slateblue$|slategray$|slategrey$|snow$|springgreen$|steelblue$|tan$|thistle$|tomato$|transparent$|turquoise$|violet$|wheat$|white$|yellowgreen$|rebeccapurple$)/i,oe=3,se=["Info","Notice","Warning","Critical"],ie=["InvalidLogins","IpBlacklisted","IpBlacklistRemoved","JwksRotated","NewUserRegistered","NewRauthyAdmin","NewRauthyVersion","PossibleBruteForce","RauthyStarted","RauthyHealthy","RauthyUnhealthy","SecretsMigrated","UserEmailChange","UserPasswordReset","Test"],ue=["de","en","zh","ko"],ce=["RS256","RS384","RS512","EdDSA"],le=[{label:"authorization_code",value:!1},{label:"client_credentials",value:!1},{label:"password",value:!1},{label:"refresh_token",value:!1},{label:"device_code",value:!1}],de=[{label:"S256",value:!1},{label:"plain",value:!1}],he="tpl_auth_providers",$e="tpl_client_name",fe="tpl_client_url",ge="tpl_csrf_token",me="tpl_email_old",ye="tpl_email_new",we="tpl_error_text",pe="tpl_device_user_code_length",ve="tpl_is_reg_open",be="tpl_login_action",Se="tpl_password_reset",_e="tpl_status_code",Fe="tpl_restricted_email_domain";var E={};Object.defineProperty(E,"__esModule",{value:!0});function P(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function ke(e,a){e||(e=43);for(var t=typeof window<"u"&&window.msCrypto||crypto,n=P(Array.prototype.map.call(t.getRandomValues(new Uint8Array(e)),function(i){return String.fromCharCode(i)}).join("")).substring(0,e),r=new Uint8Array(n.length),s=0;s<n.length;s++)r[s]=n.charCodeAt(s);var c=t.subtle.digest("SHA-256",r);typeof window<"u"&&window.CryptoOperation?(c.onerror=a,c.oncomplete=function(i){I(a,n,i.target.result)}):c.then(function(i){I(a,n,i)}).catch(a)}var N=E.default=ke;function I(e,a,t){e(null,{verifier:a,challenge:P(String.fromCharCode.apply(null,new Uint8Array(t)))})}for(var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",g=typeof Uint8Array>"u"?[]:new Uint8Array(256),y=0;y<f.length;y++)g[f.charCodeAt(y)]=y;var Te=function(e){var a=new Uint8Array(e),t,n=a.length,r="";for(t=0;t<n;t+=3)r+=f[a[t]>>2],r+=f[(a[t]&3)<<4|a[t+1]>>4],r+=f[(a[t+1]&15)<<2|a[t+2]>>6],r+=f[a[t+2]&63];return n%3===2?r=r.substring(0,r.length-1)+"=":n%3===1&&(r=r.substring(0,r.length-2)+"=="),r},Ae=function(e){var a=e.length*.75,t=e.length,n,r=0,s,c,i,d;e[e.length-1]==="="&&(a--,e[e.length-2]==="="&&a--);var h=new ArrayBuffer(a),$=new Uint8Array(h);for(n=0;n<t;n+=4)s=g[e.charCodeAt(n)],c=g[e.charCodeAt(n+1)],i=g[e.charCodeAt(n+2)],d=g[e.charCodeAt(n+3)],$[r++]=s<<2|c>>4,$[r++]=(c&15)<<4|i>>2,$[r++]=(i&3)<<6|d&63;return h};function Oe(e){return`${window.location.origin}/auth/${e}/profile#me`}function Ce(e){return e.inner.reduce((a,t)=>({...a,[t.path]:t.message}),{})}function Ee(e){return e==="openid"||e==="profile"||e==="email"||e==="groups"||e==="address"||e==="phone"}const Pe=e=>{N(64,(a,{challenge:t,verifier:n})=>{if(!a){localStorage.setItem(m,n);const r=Ke(24),s=e||"admin",c=`${window.location.origin}${j}`.replaceAll(":","%3A").replaceAll("/","%2F");window.location.href=`${z}?client_id=${C}&redirect_uri=${c}&response_type=code&code_challenge=${t}&code_challenge_method=S256&scope=openid+profile+email&nonce=${r}&state=${s}`}})},Ne=()=>{const e=`${U}?post_logout_redirect_uri=${window.location.origin}${R}`;window.location.href=e},Ie=e=>{localStorage.setItem(p,e)},b=()=>localStorage.getItem(p)||"",ze=e=>{localStorage.setItem(O,e)},Ue=e=>{localStorage.setItem(A,e)},je=e=>{localStorage.setItem(v,e)},Je=()=>localStorage.getItem(v)||"",De=()=>localStorage.getItem(m)||"",Re=()=>localStorage.getItem(w)||"",Be=()=>{localStorage.removeItem(m)},Ge=()=>{localStorage.removeItem(p),localStorage.removeItem(O),localStorage.removeItem(A),localStorage.removeItem(m),localStorage.removeItem(w),localStorage.removeItem(v)};function qe(e){let a=Te(e);const t={"+":"-","/":"_","=":""};return a.replace(/[+/=]/g,n=>t[n])}function Ze(e){const a={"-":"+",_:"/",".":"="},t=e.replace(/[-_.]/g,n=>a[n]);return Ae(t)}function Me(e){switch(e){case"test":return"#b2b2b2";case"info":return"#388c51";case"notice":return"#3d5d99";case"warning":return"#c29a4f";case"critical":return"#993d49"}}const xe=e=>e.toISOString().slice(0,16),Le=e=>{let a=Date.parse(e);if(!isNaN(a))return a/1e3},He=(e,a)=>{const t=-new Date().getTimezoneOffset(),n=new Date((e+t*60)*1e3);let r=n.getUTCDate();r<10&&(r="0"+r);let s=n.getUTCMonth()+1;s<10&&(s="0"+s);const c=n.getUTCFullYear();let i=n.getUTCHours();i<10&&(i="0"+i);let d=n.getUTCMinutes();d<10&&(d="0"+d);let h=n.getUTCSeconds();return h<10&&(h="0"+h),a?`${c}-${s}-${r}T${i}:${d}:${h}`:`${c}/${s}/${r} ${i}:${d}:${h}`},Ve=(e,a,t,n,r)=>{const s=a||1,c=t||1,i=n||1,d=r||1;for(;;){let h=e||16,$=0,S=0,_=0,F=0,k=[];for(let T=0;T<h;T+=1){let l=60;for(;l>57&&l<65||l>90&&l<97;)l=Math.floor(Math.random()*74)+33;l>=91&&l<=122&&($+=1),l>=65&&l<=90&&(S+=1),l>=48&&l<=57&&(_+=1),l>=33&&l<=47&&(F+=1),k.push(String.fromCharCode(l))}if(!($<s||S<c||F<d||_<i))return k.join("")}},Ke=e=>{let a="";const t=e;for(let n=0;n<t;n+=1){let r=60;for(;r>57&&r<65||r>90&&r<97;)r=Math.floor(Math.random()*74)+48;a=a.concat(String.fromCharCode(r))}return a},We=()=>new Proxy(new URLSearchParams(window.location.search),{get:(e,a)=>e.get(a.toString())}),Ye=(e,a)=>{let t;return Promise.race([e,new Promise((n,r)=>t=setTimeout(r,a,"timeout"))]).finally(()=>clearTimeout(t))},u={json:{"Content-Type":"application/json",Accept:"application/json"},form:{"Content-type":"application/x-www-form-urlencoded",Accept:"application/json"}};function o(){return{...u.json,"csrf-token":b()}}function Qe(){return{...u.form,"csrf-token":b()}}async function Xe(e){const a=await fetch("/auth/v1/oidc/authorize",{method:"POST",headers:o(),body:JSON.stringify(e)});return a.status===202&&window.location.replace(a.headers.get("location")),a}async function ea(e){const a=await fetch("/auth/v1/oidc/authorize/refresh",{method:"POST",headers:o(),body:JSON.stringify(e)});return a.status===202&&window.location.replace(a.headers.get("location")),a}async function aa(){return await fetch("/auth/v1/version",{method:"GET",headers:u.json})}async function ta(){return await fetch("/auth/v1/auth_check_admin",{method:"GET",headers:u.json})}async function ra(e){return await fetch("/auth/v1/oidc/token",{method:"POST",headers:u.form,body:e})}async function na(){return await fetch("/auth/v1/oidc/sessioninfo",{method:"GET",headers:u.json})}async function oa(e){return await fetch("/auth/v1/oidc/sessioninfo/xsrf",{method:"GET",headers:{...u.json,Authorization:`Bearer ${e}`}})}async function sa(e){let a=new FormData;for(let t in e)a.append(t,e[t]);return await fetch("/auth/v1/oidc/logout",{method:"POST",headers:Qe(),body:a})}async function ia(e){return await fetch("/auth/v1/oidc/device/verify",{method:"POST",headers:o(),body:JSON.stringify(e)})}async function ua(){return await fetch("/auth/v1/fed_cm/status",{method:"GET",headers:u.json})}async function ca(){return await fetch("/auth/v1/password_policy",{method:"GET",headers:u.json})}async function la(){return await fetch("/auth/v1/pow",{method:"POST",headers:u.json})}async function da(e,a,t){return await fetch(`/auth/v1/users/${e}/reset`,{method:"PUT",headers:{...u.json,"pwd-csrf-token":t},body:JSON.stringify(a)})}async function ha(e){return await fetch("/auth/v1/users/request_reset",{method:"POST",headers:o(),body:JSON.stringify(e)})}async function $a(e){return await fetch("/auth/v1/providers/login",{method:"POST",headers:o(),body:JSON.stringify(e)})}async function fa(e){return await fetch("/auth/v1/providers/callback",{method:"POST",headers:o(),body:JSON.stringify(e)})}async function ga(){return await fetch("/auth/v1/events/test",{method:"POST",headers:o()})}async function ma(e){return await fetch("/auth/v1/users/register",{method:"POST",headers:u.json,body:JSON.stringify(e)})}async function ya(e){return await fetch(`/auth/v1/users/${e}`,{method:"GET",headers:u.json})}async function wa(e){return await fetch(`/auth/v1/users/${e}/devices`,{method:"GET",headers:o()})}async function pa(e,a){return await fetch(`/auth/v1/users/${e}/devices`,{method:"PUT",headers:o(),body:JSON.stringify(a)})}async function va(e,a){return await fetch(`/auth/v1/users/${e}/devices`,{method:"DELETE",headers:o(),body:JSON.stringify(a)})}async function ba(e){return await fetch(`/auth/v1/users/${e}/webauthn`,{method:"GET",headers:o()})}async function Sa(e,a){return await fetch(`/auth/v1/providers/${e}/link`,{method:"POST",headers:o(),body:JSON.stringify(a)})}async function _a(){return await fetch("/auth/v1/providers/link",{method:"DELETE",headers:o()})}async function Fa(e){return await fetch(`/auth/v1/users/${e}/webid/data`,{method:"GET",headers:o()})}async function ka(e,a){return await fetch(`/auth/v1/users/${e}/webid/data`,{method:"PUT",headers:o(),body:JSON.stringify(a)})}async function Ta(e,a){return await fetch(`/auth/v1/users/${e}/self`,{method:"PUT",headers:o(),body:JSON.stringify(a)})}async function Aa(e){return await fetch(`/auth/v1/users/${e}/self/convert_passkey`,{method:"POST",headers:o()})}async function Oa(){return await fetch("/auth/v1/update_language",{method:"POST",headers:o()})}async function Ca(e,a){return await fetch(`/auth/v1/users/${e}/webauthn/register/start`,{method:"POST",headers:o(),body:JSON.stringify(a)})}async function Ea(e,a,t){return await fetch(`/auth/v1/users/${e}/webauthn/register/start`,{method:"POST",headers:{...u.json,"pwd-csrf-token":t},body:JSON.stringify(a)})}async function Pa(e,a){return await fetch(`/auth/v1/users/${e}/webauthn/register/finish`,{method:"POST",headers:o(),body:JSON.stringify(a)})}async function Na(e,a,t){return await fetch(`/auth/v1/users/${e}/webauthn/register/finish`,{method:"POST",headers:{...u.json,"pwd-csrf-token":t},body:JSON.stringify(a)})}async function Ia(e,a){return await fetch(`/auth/v1/users/${e}/webauthn/auth/start`,{method:"POST",headers:o(),body:JSON.stringify(a)})}async function za(e,a){return await fetch(`/auth/v1/users/${e}/webauthn/auth/finish`,{method:"POST",headers:o(),body:JSON.stringify(a)})}async function Ua(e,a){return await fetch(`/auth/v1/users/${e}/webauthn/delete/${a}`,{method:"DELETE",headers:o()})}export{za as $,Se as A,Ve as B,C,Ia as D,da as E,Ea as F,Ze as G,qe as H,Na as I,he as J,$e as K,ue as L,fe as M,be as N,Xe as O,He as P,w as Q,J as R,$a as S,ve as T,je as U,ea as V,ha as W,Re as X,Je as Y,fa as Z,N as _,De as a,Ye as a0,na as a1,Pe as a2,pe as a3,ia as a4,wa as a5,pa as a6,W as a7,va as a8,Oe as a9,X as aA,ce as aB,ne as aC,K as aD,V as aE,H as aF,Me as aG,se as aH,ga as aI,re as aJ,M as aK,ie as aL,Q as aM,ee as aN,ta as aO,_a as aa,Sa as ab,B as ac,G as ad,q as ae,Z as af,Ta as ag,ba as ah,Ca as ai,Pa as aj,Ua as ak,ca as al,Aa as am,ka as an,Ne as ao,ya as ap,Fa as aq,b as ar,oe as as,Le as at,xe as au,ae as av,Ee as aw,le as ax,de as ay,Y as az,ra as b,ze as c,oa as d,Ie as e,Be as f,We as g,D as h,la as i,aa as j,_e as k,we as l,te as m,ua as n,Ce as o,ge as p,sa as q,Ge as r,Ue as s,Fe as t,ma as u,x as v,L as w,me as x,ye as y,Oa as z};
diff --git a/static/v1/_app/immutable/chunks/dataFetching.Br47vc1D.js.br b/static/v1/_app/immutable/chunks/dataFetching.Br47vc1D.js.br
new file mode 100644
index 000000000..524f49b05
Binary files /dev/null and b/static/v1/_app/immutable/chunks/dataFetching.Br47vc1D.js.br differ
diff --git a/static/v1/_app/immutable/chunks/dataFetching.Br47vc1D.js.gz b/static/v1/_app/immutable/chunks/dataFetching.Br47vc1D.js.gz
new file mode 100644
index 000000000..1fd01aaf0
Binary files /dev/null and b/static/v1/_app/immutable/chunks/dataFetching.Br47vc1D.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/dataFetching.Dto1xJW6.js b/static/v1/_app/immutable/chunks/dataFetching.Dto1xJW6.js
deleted file mode 100644
index 01e8a6635..000000000
--- a/static/v1/_app/immutable/chunks/dataFetching.Dto1xJW6.js
+++ /dev/null
@@ -1 +0,0 @@
-import{z as _}from"./index-client.CGppiJvc.js";function U(e,a,t){var n=e.__className,r=j(a,t);_&&e.className===r?e.__className=r:(n!==r||_&&e.className!==r)&&(a==null&&!t?e.removeAttribute("class"):e.className=r,e.__className=r)}function j(e,a){return(e??"")+(a?" "+a:"")}function J(e,a,t){if(t){if(e.classList.contains(a))return;e.classList.add(a)}else{if(!e.classList.contains(a))return;e.classList.remove(a)}}function D(e,a,t,n){var r=e.__styles??(e.__styles={});r[a]!==t&&(r[a]=t,t==null?e.style.removeProperty(a):e.style.setProperty(a,t,""))}const m="pkce_verifier",w="pkce_verifier_upstream",v="csrf_token",O="access_token",C="id_token",p="provider_token",R="/auth/v1/oidc/authorize",E="rauthy",B="/auth/v1/oidc/logout",G="/auth/v1/oidc/callback",q="/auth/v1/admin",L="/auth/v1/account",Z="/auth/v1/",M=/^[0-9]{4}-[0-9]{2}-[0-9]{2}$/gm,x=/^\+[0-9\s]{0,32}$/gm,H=/^[a-zA-Z0-9À-ÿ-.\s]{0,48}$/gm,V=/^[a-zA-Z0-9À-ÿ-]{0,48}$/gm,W=/^[a-zA-Z0-9_/-]{2,24}$/gm,Y=/^[\w\sÀ-ſ\-\u3041-\u3096\u30A0-\u30FF\u3400-\u4DB5\u4E00-\u9FCB\uF900-\uFA6A\u2E80-\u2FD5\uFF66-\uFF9F\uFFA1-\uFFDC\u31F0-\u31FF]{1,32}$/gm,K=/^[\w\sÀ-ſ\-\u3041-\u3096\u30A0-\u30FF\u3400-\u4DB5\u4E00-\u9FCB\uF900-\uFA6A\u2E80-\u2FD5\uFF66-\uFF9F\uFFA1-\uFFDC\u31F0-\u31FF]{0,32}$/gm,Q=/^[a-zA-Z0-9\-_/\s]{0,128}$/gm,X=/^[a-zA-Z0-9\-_/]{2,32}$/gm,ee=/^[a-zA-Z0-9\-_/]{2,128}$/gm,ae=/^[a-zA-Z0-9À-ſ\-\s\u3041-\u3096\u30A0-\u30FF\u3400-\u4DB5\u4E00-\u9FCB\uF900-\uFA6A\u2E80-\u2FD5\uFF66-\uFF9F\uFFA1-\uFFDC\u31F0-\u31FF]{0,128}$/m,te=/^[a-zA-Z0-9+.@/:]{0,48}$/gm,re=/^[a-z0-9-_\/:\s]{0,128}$/gm,ne=/^[a-z0-9.:-]+:\/\/[a-z0-9.:-]+$/m,se=/^(-----BEGIN CERTIFICATE-----)[a-zA-Z0-9+/=\n]+(-----END CERTIFICATE-----)$/gm,oe=/^[a-z0-9\-_/:*]{2,64}$/gm,ie=/^[a-zA-Z0-9,.:/_\-&?=~#!$'()*+%]*$/gm,ue=/^(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]\d|\d)){3}$/gm,ce=/(#(?:[0-9a-f]{2}){2,4}$|(#[0-9a-f]{3}$)|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\)$|black$|silver$|gray$|whitesmoke$|maroon$|red$|purple$|fuchsia$|green$|lime$|olivedrab$|yellow$|navy$|blue$|teal$|aquamarine$|orange$|aliceblue$|antiquewhite$|aqua$|azure$|beige$|bisque$|blanchedalmond$|blueviolet$|brown$|burlywood$|cadetblue$|chartreuse$|chocolate$|coral$|cornflowerblue$|cornsilk$|crimson$|currentcolor$|darkblue$|darkcyan$|darkgoldenrod$|darkgray$|darkgreen$|darkgrey$|darkkhaki$|darkmagenta$|darkolivegreen$|darkorange$|darkorchid$|darkred$|darksalmon$|darkseagreen$|darkslateblue$|darkslategray$|darkslategrey$|darkturquoise$|darkviolet$|deeppink$|deepskyblue$|dimgray$|dimgrey$|dodgerblue$|firebrick$|floralwhite$|forestgreen$|gainsboro$|ghostwhite$|goldenrod$|gold$|greenyellow$|grey$|honeydew$|hotpink$|indianred$|indigo$|ivory$|khaki$|lavenderblush$|lavender$|lawngreen$|lemonchiffon$|lightblue$|lightcoral$|lightcyan$|lightgoldenrodyellow$|lightgray$|lightgreen$|lightgrey$|lightpink$|lightsalmon$|lightseagreen$|lightskyblue$|lightslategray$|lightslategrey$|lightsteelblue$|lightyellow$|limegreen$|linen$|mediumaquamarine$|mediumblue$|mediumorchid$|mediumpurple$|mediumseagreen$|mediumslateblue$|mediumspringgreen$|mediumturquoise$|mediumvioletred$|midnightblue$|mintcream$|mistyrose$|moccasin$|navajowhite$|oldlace$|olive$|orangered$|orchid$|palegoldenrod$|palegreen$|paleturquoise$|palevioletred$|papayawhip$|peachpuff$|peru$|pink$|plum$|powderblue$|rosybrown$|royalblue$|saddlebrown$|salmon$|sandybrown$|seagreen$|seashell$|sienna$|skyblue$|slateblue$|slategray$|slategrey$|snow$|springgreen$|steelblue$|tan$|thistle$|tomato$|transparent$|turquoise$|violet$|wheat$|white$|yellowgreen$|rebeccapurple$)/i,le=3,de=["Info","Notice","Warning","Critical"],he=["InvalidLogins","IpBlacklisted","IpBlacklistRemoved","JwksRotated","NewUserRegistered","NewRauthyAdmin","NewRauthyVersion","PossibleBruteForce","RauthyStarted","RauthyHealthy","RauthyUnhealthy","SecretsMigrated","UserEmailChange","UserPasswordReset","Test"],$e=["de","en","zh","ko"],fe=["RS256","RS384","RS512","EdDSA"],ge=[{label:"authorization_code",value:!1},{label:"client_credentials",value:!1},{label:"password",value:!1},{label:"refresh_token",value:!1},{label:"device_code",value:!1}],me=[{label:"S256",value:!1},{label:"plain",value:!1}],ye="error_text",we="status_code";var N={};Object.defineProperty(N,"__esModule",{value:!0});function P(e){return btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,"")}function ve(e,a){e||(e=43);for(var t=typeof window<"u"&&window.msCrypto||crypto,n=P(Array.prototype.map.call(t.getRandomValues(new Uint8Array(e)),function(i){return String.fromCharCode(i)}).join("")).substring(0,e),r=new Uint8Array(n.length),o=0;o<n.length;o++)r[o]=n.charCodeAt(o);var c=t.subtle.digest("SHA-256",r);typeof window<"u"&&window.CryptoOperation?(c.onerror=a,c.oncomplete=function(i){z(a,n,i.target.result)}):c.then(function(i){z(a,n,i)}).catch(a)}var I=N.default=ve;function z(e,a,t){e(null,{verifier:a,challenge:P(String.fromCharCode.apply(null,new Uint8Array(t)))})}for(var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",g=typeof Uint8Array>"u"?[]:new Uint8Array(256),y=0;y<f.length;y++)g[f.charCodeAt(y)]=y;var pe=function(e){var a=new Uint8Array(e),t,n=a.length,r="";for(t=0;t<n;t+=3)r+=f[a[t]>>2],r+=f[(a[t]&3)<<4|a[t+1]>>4],r+=f[(a[t+1]&15)<<2|a[t+2]>>6],r+=f[a[t+2]&63];return n%3===2?r=r.substring(0,r.length-1)+"=":n%3===1&&(r=r.substring(0,r.length-2)+"=="),r},be=function(e){var a=e.length*.75,t=e.length,n,r=0,o,c,i,d;e[e.length-1]==="="&&(a--,e[e.length-2]==="="&&a--);var h=new ArrayBuffer(a),$=new Uint8Array(h);for(n=0;n<t;n+=4)o=g[e.charCodeAt(n)],c=g[e.charCodeAt(n+1)],i=g[e.charCodeAt(n+2)],d=g[e.charCodeAt(n+3)],$[r++]=o<<2|c>>4,$[r++]=(c&15)<<4|i>>2,$[r++]=(i&3)<<6|d&63;return h};function Se(e){return`${window.location.origin}/auth/${e}/profile#me`}function Fe(e){return e.inner.reduce((a,t)=>({...a,[t.path]:t.message}),{})}function ke(e){return e==="openid"||e==="profile"||e==="email"||e==="groups"||e==="address"||e==="phone"}async function Te(){var e,a;{const t=(a=(e=document==null?void 0:document.getElementsByTagName("template"))==null?void 0:e.namedItem("auth_providers"))==null?void 0:a.innerHTML;return t?JSON.parse(t):void 0}}const Ae=e=>{I(64,(a,{challenge:t,verifier:n})=>{if(!a){localStorage.setItem(m,n);const r=Ze(24),o=e||"admin",c=`${window.location.origin}${G}`.replaceAll(":","%3A").replaceAll("/","%2F");window.location.href=`${R}?client_id=${E}&redirect_uri=${c}&response_type=code&code_challenge=${t}&code_challenge_method=S256&scope=openid+profile+email&nonce=${r}&state=${o}`}})},_e=()=>{const e=`${B}?post_logout_redirect_uri=${window.location.origin}${Z}`;window.location.href=e},Oe=e=>{localStorage.setItem(v,e)},b=()=>localStorage.getItem(v)||"",Ce=e=>{localStorage.setItem(C,e)},Ee=e=>{localStorage.setItem(O,e)},Ne=e=>{localStorage.setItem(p,e)},Pe=()=>localStorage.getItem(p)||"",Ie=()=>localStorage.getItem(m)||"",ze=()=>localStorage.getItem(w)||"",Ue=()=>{localStorage.removeItem(m)},je=()=>{localStorage.removeItem(v),localStorage.removeItem(C),localStorage.removeItem(O),localStorage.removeItem(m),localStorage.removeItem(w),localStorage.removeItem(p)};function Je(e){let a=pe(e);const t={"+":"-","/":"_","=":""};return a.replace(/[+/=]/g,n=>t[n])}function De(e){const a={"-":"+",_:"/",".":"="},t=e.replace(/[-_.]/g,n=>a[n]);return be(t)}function Re(e){switch(e){case"test":return"#b2b2b2";case"info":return"#388c51";case"notice":return"#3d5d99";case"warning":return"#c29a4f";case"critical":return"#993d49"}}const Be=e=>e.toISOString().slice(0,16),Ge=e=>{let a=Date.parse(e);if(!isNaN(a))return a/1e3},qe=(e,a)=>{const t=-new Date().getTimezoneOffset(),n=new Date((e+t*60)*1e3);let r=n.getUTCDate();r<10&&(r="0"+r);let o=n.getUTCMonth()+1;o<10&&(o="0"+o);const c=n.getUTCFullYear();let i=n.getUTCHours();i<10&&(i="0"+i);let d=n.getUTCMinutes();d<10&&(d="0"+d);let h=n.getUTCSeconds();return h<10&&(h="0"+h),a?`${c}-${o}-${r}T${i}:${d}:${h}`:`${c}/${o}/${r} ${i}:${d}:${h}`},Le=(e,a,t,n,r)=>{const o=a||1,c=t||1,i=n||1,d=r||1;for(;;){let h=e||16,$=0,S=0,F=0,k=0,T=[];for(let A=0;A<h;A+=1){let l=60;for(;l>57&&l<65||l>90&&l<97;)l=Math.floor(Math.random()*74)+33;l>=91&&l<=122&&($+=1),l>=65&&l<=90&&(S+=1),l>=48&&l<=57&&(F+=1),l>=33&&l<=47&&(k+=1),T.push(String.fromCharCode(l))}if(!($<o||S<c||k<d||F<i))return T.join("")}},Ze=e=>{let a="";const t=e;for(let n=0;n<t;n+=1){let r=60;for(;r>57&&r<65||r>90&&r<97;)r=Math.floor(Math.random()*74)+48;a=a.concat(String.fromCharCode(r))}return a},Me=()=>new Proxy(new URLSearchParams(window.location.search),{get:(e,a)=>e.get(a.toString())}),xe=(e,a)=>{let t;return Promise.race([e,new Promise((n,r)=>t=setTimeout(r,a,"timeout"))]).finally(()=>clearTimeout(t))},u={json:{"Content-Type":"application/json",Accept:"application/json"},form:{"Content-type":"application/x-www-form-urlencoded",Accept:"application/json"}};function s(){return{...u.json,"csrf-token":b()}}function He(){return{...u.form,"csrf-token":b()}}async function Ve(e){const a=await fetch("/auth/v1/oidc/authorize",{method:"POST",headers:s(),body:JSON.stringify(e)});return a.status===202&&window.location.replace(a.headers.get("location")),a}async function We(e){const a=await fetch("/auth/v1/oidc/authorize/refresh",{method:"POST",headers:s(),body:JSON.stringify(e)});return a.status===202&&window.location.replace(a.headers.get("location")),a}async function Ye(){return await fetch("/auth/v1/version",{method:"GET",headers:u.json})}async function Ke(){return await fetch("/auth/v1/auth_check_admin",{method:"GET",headers:u.json})}async function Qe(e){return await fetch("/auth/v1/oidc/token",{method:"POST",headers:u.form,body:e})}async function Xe(){return await fetch("/auth/v1/oidc/sessioninfo",{method:"GET",headers:u.json})}async function ea(e){return await fetch("/auth/v1/oidc/sessioninfo/xsrf",{method:"GET",headers:{...u.json,Authorization:`Bearer ${e}`}})}async function aa(e){let a=new URLSearchParams;for(let t in e)a.append(t,e[t]);return await fetch("/auth/v1/oidc/logout",{method:"POST",headers:He(),body:a})}async function ta(e){return await fetch("/auth/v1/oidc/device/verify",{method:"POST",headers:s(),body:JSON.stringify(e)})}async function ra(){return await fetch("/auth/v1/fed_cm/status",{method:"GET",headers:u.json})}async function na(){return await fetch("/auth/v1/password_policy",{method:"GET",headers:u.json})}async function sa(){return await fetch("/auth/v1/pow",{method:"POST",headers:u.json})}async function oa(e,a,t){return await fetch(`/auth/v1/users/${e}/reset`,{method:"PUT",headers:{...u.json,"pwd-csrf-token":t},body:JSON.stringify(a)})}async function ia(e){return await fetch("/auth/v1/users/request_reset",{method:"POST",headers:s(),body:JSON.stringify(e)})}async function ua(e){return await fetch("/auth/v1/providers/login",{method:"POST",headers:s(),body:JSON.stringify(e)})}async function ca(e){return await fetch("/auth/v1/providers/callback",{method:"POST",headers:s(),body:JSON.stringify(e)})}async function la(){return await fetch("/auth/v1/events/test",{method:"POST",headers:s()})}async function da(e){return await fetch("/auth/v1/users/register",{method:"POST",headers:u.json,body:JSON.stringify(e)})}async function ha(e){return await fetch(`/auth/v1/users/${e}`,{method:"GET",headers:u.json})}async function $a(e){return await fetch(`/auth/v1/users/${e}/devices`,{method:"GET",headers:s()})}async function fa(e,a){return await fetch(`/auth/v1/users/${e}/devices`,{method:"PUT",headers:s(),body:JSON.stringify(a)})}async function ga(e,a){return await fetch(`/auth/v1/users/${e}/devices`,{method:"DELETE",headers:s(),body:JSON.stringify(a)})}async function ma(e){return await fetch(`/auth/v1/users/${e}/webauthn`,{method:"GET",headers:s()})}async function ya(e,a){return await fetch(`/auth/v1/providers/${e}/link`,{method:"POST",headers:s(),body:JSON.stringify(a)})}async function wa(){return await fetch("/auth/v1/providers/link",{method:"DELETE",headers:s()})}async function va(e){return await fetch(`/auth/v1/users/${e}/webid/data`,{method:"GET",headers:s()})}async function pa(e,a){return await fetch(`/auth/v1/users/${e}/webid/data`,{method:"PUT",headers:s(),body:JSON.stringify(a)})}async function ba(e,a){return await fetch(`/auth/v1/users/${e}/self`,{method:"PUT",headers:s(),body:JSON.stringify(a)})}async function Sa(e){return await fetch(`/auth/v1/users/${e}/self/convert_passkey`,{method:"POST",headers:s()})}async function Fa(){return await fetch("/auth/v1/update_language",{method:"POST",headers:s()})}async function ka(e,a){return await fetch(`/auth/v1/users/${e}/webauthn/register/start`,{method:"POST",headers:s(),body:JSON.stringify(a)})}async function Ta(e,a,t){return await fetch(`/auth/v1/users/${e}/webauthn/register/start`,{method:"POST",headers:{...u.json,"pwd-csrf-token":t},body:JSON.stringify(a)})}async function Aa(e,a){return await fetch(`/auth/v1/users/${e}/webauthn/register/finish`,{method:"POST",headers:s(),body:JSON.stringify(a)})}async function _a(e,a,t){return await fetch(`/auth/v1/users/${e}/webauthn/register/finish`,{method:"POST",headers:{...u.json,"pwd-csrf-token":t},body:JSON.stringify(a)})}async function Oa(e,a){return await fetch(`/auth/v1/users/${e}/webauthn/auth/start`,{method:"POST",headers:s(),body:JSON.stringify(a)})}async function Ca(e,a){return await fetch(`/auth/v1/users/${e}/webauthn/auth/finish`,{method:"POST",headers:s(),body:JSON.stringify(a)})}async function Ea(e,a){return await fetch(`/auth/v1/users/${e}/webauthn/delete/${a}`,{method:"DELETE",headers:s()})}export{ae as $,Le as A,Oa as B,E as C,oa as D,Ta as E,De as F,Je as G,_a as H,Ve as I,qe as J,ua as K,$e as L,Ne as M,We as N,ia as O,w as P,ze as Q,q as R,Pe as S,ca as T,Ca as U,xe as V,we as W,ye as X,$a as Y,fa as Z,I as _,Ie as a,ga as a0,Se as a1,wa as a2,ya as a3,M as a4,x as a5,H as a6,V as a7,ba as a8,ma as a9,de as aA,la as aB,ue as aC,W as aD,he as aE,re as aF,se as aG,Ke as aH,ka as aa,Aa as ab,Ea as ac,na as ad,Sa as ae,pa as af,Te as ag,_e as ah,ha as ai,va as aj,b as ak,le as al,Ge as am,Be as an,oe as ao,ke as ap,ge as aq,me as ar,te as as,ne as at,fe as au,ce as av,ee as aw,X as ax,Q as ay,Re as az,Qe as b,Ce as c,ea as d,Oe as e,Ue as f,Me as g,L as h,sa as i,Ye as j,Xe as k,ie as l,Fe as m,ra as n,aa as o,ta as p,je as q,Ae as r,Ee as s,J as t,da as u,Y as v,K as w,U as x,D as y,Fa as z};
diff --git a/static/v1/_app/immutable/chunks/dataFetching.Dto1xJW6.js.br b/static/v1/_app/immutable/chunks/dataFetching.Dto1xJW6.js.br
deleted file mode 100644
index 797851a91..000000000
Binary files a/static/v1/_app/immutable/chunks/dataFetching.Dto1xJW6.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/dataFetching.Dto1xJW6.js.gz b/static/v1/_app/immutable/chunks/dataFetching.Dto1xJW6.js.gz
deleted file mode 100644
index f99f333b4..000000000
Binary files a/static/v1/_app/immutable/chunks/dataFetching.Dto1xJW6.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/disclose-version.BDr9Qe-U.js b/static/v1/_app/immutable/chunks/disclose-version.BDr9Qe-U.js
new file mode 100644
index 000000000..37a477f31
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/disclose-version.BDr9Qe-U.js
@@ -0,0 +1 @@
+const e="5";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(e);
diff --git a/static/v1/_app/immutable/chunks/disclose-version.BDr9Qe-U.js.br b/static/v1/_app/immutable/chunks/disclose-version.BDr9Qe-U.js.br
new file mode 100644
index 000000000..99a5fd5b3
Binary files /dev/null and b/static/v1/_app/immutable/chunks/disclose-version.BDr9Qe-U.js.br differ
diff --git a/static/v1/_app/immutable/chunks/disclose-version.BDr9Qe-U.js.gz b/static/v1/_app/immutable/chunks/disclose-version.BDr9Qe-U.js.gz
new file mode 100644
index 000000000..95cc66252
Binary files /dev/null and b/static/v1/_app/immutable/chunks/disclose-version.BDr9Qe-U.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/disclose-version.DZhRUPAc.js b/static/v1/_app/immutable/chunks/disclose-version.DZhRUPAc.js
deleted file mode 100644
index e71ed5f03..000000000
--- a/static/v1/_app/immutable/chunks/disclose-version.DZhRUPAc.js
+++ /dev/null
@@ -1 +0,0 @@
-import{ar as v,as as c,v as p,at as _,au as w,z as i,K as o,C as h,A as N}from"./index-client.CGppiJvc.js";function m(n){var t=document.createElement("template");return t.innerHTML=n,t.content}function r(n,t){var e=p;e.nodes_start===null&&(e.nodes_start=n,e.nodes_end=t)}function b(n,t){var e=(t&_)!==0,f=(t&w)!==0,a,u=!n.startsWith("<!>");return()=>{if(i)return r(o,null),o;a===void 0&&(a=m(u?n:"<!>"+n),e||(a=c(a)));var s=f?document.importNode(a,!0):a.cloneNode(!0);if(e){var l=c(s),d=s.lastChild;r(l,d)}else r(s,s);return s}}function g(n,t,e="svg"){var f=!n.startsWith("<!>"),a=`<${e}>${f?n:"<!>"+n}</${e}>`,u;return()=>{if(i)return r(o,null),o;if(!u){var s=m(a),l=c(s);u=c(l)}var d=u.cloneNode(!0);return r(d,d),d}}function y(n=""){if(!i){var t=v(n+"");return r(t,t),t}var e=o;return e.nodeType!==3&&(e.before(e=v()),h(e)),r(e,e),e}function C(){if(i)return r(o,null),o;var n=document.createDocumentFragment(),t=document.createComment(""),e=v();return n.append(t,e),r(t,e),n}function T(n,t){if(i){p.nodes_end=o,N();return}n!==null&&n.before(t)}const $="5";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add($);export{T as a,b,C as c,r as d,m as e,g as n,y as t};
diff --git a/static/v1/_app/immutable/chunks/disclose-version.DZhRUPAc.js.br b/static/v1/_app/immutable/chunks/disclose-version.DZhRUPAc.js.br
deleted file mode 100644
index 680ac7e4b..000000000
Binary files a/static/v1/_app/immutable/chunks/disclose-version.DZhRUPAc.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/disclose-version.DZhRUPAc.js.gz b/static/v1/_app/immutable/chunks/disclose-version.DZhRUPAc.js.gz
deleted file mode 100644
index 065757449..000000000
Binary files a/static/v1/_app/immutable/chunks/disclose-version.DZhRUPAc.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/entry.DTN3-12j.js b/static/v1/_app/immutable/chunks/entry.DTN3-12j.js
new file mode 100644
index 000000000..7b3678332
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/entry.DTN3-12j.js
@@ -0,0 +1,3 @@
+var Me=e=>{throw TypeError(e)};var jt=(e,r,t)=>r.has(e)||Me("Cannot "+t);var S=(e,r,t)=>(jt(e,r,"read from private field"),t?t.call(e):r.get(e)),j=(e,r,t)=>r.has(e)?Me("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(e):r.set(e,t);var Rt,Ut,ee,te,re,ne,ae,oe,se,ie,Lt,le,Pt,ce,Ct;import{o as Je,P as I,g as O,j as T,X as It}from"./index-client.CzqVbBUo.js";import{w as _e}from"./index.GhyFcvTZ.js";new URL("sveltekit-internal://");function Ot(e,r){return e==="/"||r==="ignore"?e:r==="never"?e.endsWith("/")?e.slice(0,-1):e:r==="always"&&!e.endsWith("/")?e+"/":e}function Tt(e){return e.split("%25").map(decodeURI).join("%25")}function $t(e){for(const r in e)e[r]=decodeURIComponent(e[r]);return e}function xe({href:e}){return e.split("#")[0]}function Nt(e,r,t,n=!1){const a=new URL(e);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(i,s){if(s==="get"||s==="getAll"||s==="has")return u=>(t(u),i[s](u));r();const l=Reflect.get(i,s);return typeof l=="function"?l.bind(i):l}}),enumerable:!0,configurable:!0});const o=["href","pathname","search","toString","toJSON"];n&&o.push("hash");for(const i of o)Object.defineProperty(a,i,{get(){return r(),e[i]},enumerable:!0,configurable:!0});return a}const Dt="/__data.json",Bt=".html__data.json";function Vt(e){return e.endsWith(".html")?e.replace(/\.html$/,Bt):e.replace(/\/$/,"")+Dt}function Ft(...e){let r=5381;for(const t of e)if(typeof t=="string"){let n=t.length;for(;n;)r=r*33^t.charCodeAt(--n)}else if(ArrayBuffer.isView(t)){const n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);let a=n.length;for(;a;)r=r*33^n[--a]}else throw new TypeError("value must be a string or TypedArray");return(r>>>0).toString(36)}function qt(e){const r=atob(e),t=new Uint8Array(r.length);for(let n=0;n<r.length;n++)t[n]=r.charCodeAt(n);return t.buffer}const Ge=window.fetch;window.fetch=(e,r)=>((e instanceof Request?e.method:(r==null?void 0:r.method)||"GET")!=="GET"&&J.delete(Re(e)),Ge(e,r));const J=new Map;function Wt(e,r){const t=Re(e,r),n=document.querySelector(t);if(n!=null&&n.textContent){let{body:a,...o}=JSON.parse(n.textContent);const i=n.getAttribute("data-ttl");return i&&J.set(t,{body:a,init:o,ttl:1e3*Number(i)}),n.getAttribute("data-b64")!==null&&(a=qt(a)),Promise.resolve(new Response(a,o))}return window.fetch(e,r)}function Mt(e,r,t){if(J.size>0){const n=Re(e,t),a=J.get(n);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(t==null?void 0:t.cache))return new Response(a.body,a.init);J.delete(n)}}return window.fetch(r,t)}function Re(e,r){let t=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(r!=null&&r.headers||r!=null&&r.body){const n=[];r.headers&&n.push([...new Headers(r.headers)].join(",")),r.body&&(typeof r.body=="string"||ArrayBuffer.isView(r.body))&&n.push(r.body),t+=`[data-hash="${Ft(...n)}"]`}return t}const Jt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Gt(e){const r=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Kt(e).map(t=>{const n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(t);if(n)return r.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const a=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(t);if(a)return r.push({name:a[1],matcher:a[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!t)return;const o=t.split(/\[(.+?)\](?!\])/);return"/"+o.map((i,s)=>{if(s%2){if(i.startsWith("x+"))return Ue(String.fromCharCode(parseInt(i.slice(2),16)));if(i.startsWith("u+"))return Ue(String.fromCharCode(...i.slice(2).split("-").map(d=>parseInt(d,16))));const l=Jt.exec(i),[,u,f,h,p]=l;return r.push({name:h,matcher:p,optional:!!u,rest:!!f,chained:f?s===1&&o[0]==="":!1}),f?"(.*?)":u?"([^/]*)?":"([^/]+?)"}return Ue(i)}).join("")}).join("")}/?$`),params:r}}function Ht(e){return!/^\([^)]+\)$/.test(e)}function Kt(e){return e.slice(1).split("/").filter(Ht)}function zt(e,r,t){const n={},a=e.slice(1),o=a.filter(s=>s!==void 0);let i=0;for(let s=0;s<r.length;s+=1){const l=r[s];let u=a[s-i];if(l.chained&&l.rest&&i&&(u=a.slice(s-i,s+1).filter(f=>f).join("/"),i=0),u===void 0){l.rest&&(n[l.name]="");continue}if(!l.matcher||t[l.matcher](u)){n[l.name]=u;const f=r[s+1],h=a[s+1];f&&!f.rest&&f.optional&&h&&l.chained&&(i=0),!f&&!h&&Object.keys(n).length===o.length&&(i=0);continue}if(l.optional&&l.chained){i++;continue}return}if(!i)return n}function Ue(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Xt({nodes:e,server_loads:r,dictionary:t,matchers:n}){const a=new Set(r);return Object.entries(t).map(([s,[l,u,f]])=>{const{pattern:h,params:p}=Gt(s),d={id:s,exec:y=>{const c=h.exec(y);if(c)return zt(c,p,n)},errors:[1,...f||[]].map(y=>e[y]),layouts:[0,...u||[]].map(i),leaf:o(l)};return d.errors.length=d.layouts.length=Math.max(d.errors.length,d.layouts.length),d});function o(s){const l=s<0;return l&&(s=~s),[l,e[s]]}function i(s){return s===void 0?s:[a.has(s),e[s]]}}function He(e,r=JSON.parse){try{return r(sessionStorage[e])}catch{}}function Ke(e,r,t=JSON.stringify){const n=t(r);try{sessionStorage[e]=n}catch{}}const L=((Rt=globalThis.__sveltekit_en17ro)==null?void 0:Rt.base)??"/auth/v1",Yt=((Ut=globalThis.__sveltekit_en17ro)==null?void 0:Ut.assets)??L,Qt="1737454727598",ze="sveltekit:snapshot",Xe="sveltekit:scroll",Ye="sveltekit:states",Zt="sveltekit:pageurl",V="sveltekit:history",G="sveltekit:navigation",ue={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},H=location.origin;function Qe(e){if(e instanceof URL)return e;let r=document.baseURI;if(!r){const t=document.getElementsByTagName("base");r=t.length?t[0].href:document.URL}return new URL(e,r)}function Le(){return{x:pageXOffset,y:pageYOffset}}function F(e,r){return e.getAttribute(`data-sveltekit-${r}`)}const Ze={...ue,"":ue.hover};function et(e){let r=e.assignedSlot??e.parentNode;return(r==null?void 0:r.nodeType)===11&&(r=r.host),r}function tt(e,r){for(;e&&e!==r;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=et(e)}}function Pe(e,r,t){let n;try{n=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,o=!n||!!a||de(n,r,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),i=(n==null?void 0:n.origin)===H&&e.hasAttribute("download");return{url:n,external:o,target:a,download:i}}function fe(e){let r=null,t=null,n=null,a=null,o=null,i=null,s=e;for(;s&&s!==document.documentElement;)n===null&&(n=F(s,"preload-code")),a===null&&(a=F(s,"preload-data")),r===null&&(r=F(s,"keepfocus")),t===null&&(t=F(s,"noscroll")),o===null&&(o=F(s,"reload")),i===null&&(i=F(s,"replacestate")),s=et(s);function l(u){switch(u){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Ze[n??"off"],preload_data:Ze[a??"off"],keepfocus:l(r),noscroll:l(t),reload:l(o),replace_state:l(i)}}function rt(e){const r=_e(e);let t=!0;function n(){t=!0,r.update(i=>i)}function a(i){t=!1,r.set(i)}function o(i){let s;return r.subscribe(l=>{(s===void 0||t&&l!==s)&&i(s=l)})}return{notify:n,set:a,subscribe:o}}const nt={v:()=>{}};function er(){const{set:e,subscribe:r}=_e(!1);let t;async function n(){clearTimeout(t);try{const a=await fetch(`${Yt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const o=(await a.json()).version!==Qt;return o&&(e(!0),nt.v(),clearTimeout(t)),o}catch{return!1}}return{subscribe:r,check:n}}function de(e,r,t){return e.origin!==H||!e.pathname.startsWith(r)?!0:t?!(e.pathname===r+"/"||e.protocol==="file:"&&e.pathname.replace(/\/[^/]+\.html?$/,"")===r):!1}function at(e){const r=rr(e),t=new ArrayBuffer(r.length),n=new DataView(t);for(let a=0;a<t.byteLength;a++)n.setUint8(a,r.charCodeAt(a));return t}const tr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function rr(e){e.length%4===0&&(e=e.replace(/==?$/,""));let r="",t=0,n=0;for(let a=0;a<e.length;a++)t<<=6,t|=tr.indexOf(e[a]),n+=6,n===24&&(r+=String.fromCharCode((t&16711680)>>16),r+=String.fromCharCode((t&65280)>>8),r+=String.fromCharCode(t&255),t=n=0);return n===12?(t>>=4,r+=String.fromCharCode(t)):n===18&&(t>>=2,r+=String.fromCharCode((t&65280)>>8),r+=String.fromCharCode(t&255)),r}const nr=-1,ar=-2,or=-3,sr=-4,ir=-5,lr=-6;function cr(e,r){if(typeof e=="number")return a(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const t=e,n=Array(t.length);function a(o,i=!1){if(o===nr)return;if(o===or)return NaN;if(o===sr)return 1/0;if(o===ir)return-1/0;if(o===lr)return-0;if(i)throw new Error("Invalid input");if(o in n)return n[o];const s=t[o];if(!s||typeof s!="object")n[o]=s;else if(Array.isArray(s))if(typeof s[0]=="string"){const l=s[0],u=r==null?void 0:r[l];if(u)return n[o]=u(a(s[1]));switch(l){case"Date":n[o]=new Date(s[1]);break;case"Set":const f=new Set;n[o]=f;for(let d=1;d<s.length;d+=1)f.add(a(s[d]));break;case"Map":const h=new Map;n[o]=h;for(let d=1;d<s.length;d+=2)h.set(a(s[d]),a(s[d+1]));break;case"RegExp":n[o]=new RegExp(s[1],s[2]);break;case"Object":n[o]=Object(s[1]);break;case"BigInt":n[o]=BigInt(s[1]);break;case"null":const p=Object.create(null);n[o]=p;for(let d=1;d<s.length;d+=2)p[s[d]]=a(s[d+1]);break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":{const d=globalThis[l],y=s[1],c=at(y),m=new d(c);n[o]=m;break}case"ArrayBuffer":{const d=s[1],y=at(d);n[o]=y;break}default:throw new Error(`Unknown type ${l}`)}}else{const l=new Array(s.length);n[o]=l;for(let u=0;u<s.length;u+=1){const f=s[u];f!==ar&&(l[u]=a(f))}}else{const l={};n[o]=l;for(const u in s){const f=s[u];l[u]=a(f)}}return n[o]}return a(0)}const ot=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...ot];const ur=new Set([...ot]);[...ur];function fr(e){return e.filter(r=>r!=null)}class pe{constructor(r,t){this.status=r,typeof t=="string"?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${r}`}}toString(){return JSON.stringify(this.body)}}class st{constructor(r,t){this.status=r,this.location=t}}class Ce extends Error{constructor(r,t,n){super(n),this.status=r,this.text=t}}const dr="x-sveltekit-invalidated",pr="x-sveltekit-trailing-slash";function he(e){return e instanceof pe||e instanceof Ce?e.status:500}function hr(e){return e instanceof Ce?e.text:"Internal Error"}let v,K,me;const mr=Je.toString().includes("$$")||/function \w+\(\) \{\}/.test(Je.toString());mr?(v={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},K={current:null},me={current:!1}):(v=new(Lt=class{constructor(){j(this,ee,I({}));j(this,te,I(null));j(this,re,I(null));j(this,ne,I({}));j(this,ae,I({id:null}));j(this,oe,I({}));j(this,se,I(-1));j(this,ie,I(new URL("https://example.com")))}get data(){return O(S(this,ee))}set data(e){T(S(this,ee),e)}get form(){return O(S(this,te))}set form(e){T(S(this,te),e)}get error(){return O(S(this,re))}set error(e){T(S(this,re),e)}get params(){return O(S(this,ne))}set params(e){T(S(this,ne),e)}get route(){return O(S(this,ae))}set route(e){T(S(this,ae),e)}get state(){return O(S(this,oe))}set state(e){T(S(this,oe),e)}get status(){return O(S(this,se))}set status(e){T(S(this,se),e)}get url(){return O(S(this,ie))}set url(e){T(S(this,ie),e)}},ee=new WeakMap,te=new WeakMap,re=new WeakMap,ne=new WeakMap,ae=new WeakMap,oe=new WeakMap,se=new WeakMap,ie=new WeakMap,Lt),K=new(Pt=class{constructor(){j(this,le,I(null))}get current(){return O(S(this,le))}set current(e){T(S(this,le),e)}},le=new WeakMap,Pt),me=new(Ct=class{constructor(){j(this,ce,I(!1))}get current(){return O(S(this,ce))}set current(e){T(S(this,ce),e)}},ce=new WeakMap,Ct),nt.v=()=>me.current=!0);function gr(e){Object.assign(v,e)}const yr=new Set(["icon","shortcut icon","apple-touch-icon"]),B=He(Xe)??{},z=He(ze)??{},N={url:rt({}),page:rt({}),navigating:_e(null),updated:er()};function je(e){B[e]=Le()}function wr(e,r){let t=e+1;for(;B[t];)delete B[t],t+=1;for(t=r+1;z[t];)delete z[t],t+=1}function q(e){return location.href=e.href,new Promise(()=>{})}async function it(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(L||"/");e&&await e.update()}}function lt(){}let ge,Ie,ye,D,Oe,E;const ct=[],we=[];let P=null;const ut=[],vr=[];let W=[],w={branch:[],error:null,url:null},Te=!1,ve=!1,ft=!0,X=!1,Y=!1,dt=!1,$e=!1,Ne,U,C,be;const Q=new Set;async function br(e,r,t){var a,o,i,s;document.URL!==location.href&&(location.href=location.href),E=e,await((o=(a=e.hooks).init)==null?void 0:o.call(a)),ge=Xt(e),D=document.documentElement,Oe=r,Ie=e.nodes[0],ye=e.nodes[1],Ie(),ye(),U=(i=history.state)==null?void 0:i[V],C=(s=history.state)==null?void 0:s[G],U||(U=C=Date.now(),history.replaceState({...history.state,[V]:U,[G]:C},""));const n=B[U];n&&(history.scrollRestoration="manual",scrollTo(n.x,n.y)),t?await Ur(Oe,t):xr(location.href,{replaceState:!0}),Rr()}function kr(){ct.length=0,$e=!1}function pt(e){we.some(r=>r==null?void 0:r.snapshot)&&(z[e]=we.map(r=>{var t;return(t=r==null?void 0:r.snapshot)==null?void 0:t.capture()}))}function ht(e){var r;(r=z[e])==null||r.forEach((t,n)=>{var a,o;(o=(a=we[n])==null?void 0:a.snapshot)==null||o.restore(t)})}function mt(){je(U),Ke(Xe,B),pt(C),Ke(ze,z)}async function gt(e,r,t,n){return Z({type:"goto",url:Qe(e),keepfocus:r.keepFocus,noscroll:r.noScroll,replace_state:r.replaceState,state:r.state,redirect_count:t,nav_token:n,accept:()=>{r.invalidateAll&&($e=!0)}})}async function Sr(e){if(e.id!==(P==null?void 0:P.id)){const r={};Q.add(r),P={id:e.id,token:r,promise:bt({...e,preload:r}).then(t=>(Q.delete(r),t.type==="loaded"&&t.state.error&&(P=null),t))}}return P.promise}async function De(e){const r=ge.find(t=>t.exec(kt(e)));r&&await Promise.all([...r.layouts,r.leaf].map(t=>t==null?void 0:t[1]()))}function yt(e,r,t){var o;w=e.state;const n=document.querySelector("style[data-sveltekit]");n&&n.remove(),Object.assign(v,e.props.page),Ne=new E.root({target:r,props:{...e.props,stores:N,components:we},hydrate:t,sync:!1}),ht(C);const a={from:null,to:{params:w.params,route:{id:((o=w.route)==null?void 0:o.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};W.forEach(i=>i(a)),ve=!0}function ke({url:e,params:r,branch:t,status:n,error:a,route:o,form:i}){let s="never";if(L&&(e.pathname===L||e.pathname===L+"/"))s="always";else for(const p of t)(p==null?void 0:p.slash)!==void 0&&(s=p.slash);e.pathname=Ot(e.pathname,s),e.search=e.search;const l={type:"loaded",state:{url:e,params:r,branch:t,error:a,route:o},props:{constructors:fr(t).map(p=>p.node.component),page:v}};i!==void 0&&(l.props.form=i);let u={},f=!v,h=0;for(let p=0;p<Math.max(t.length,w.branch.length);p+=1){const d=t[p],y=w.branch[p];(d==null?void 0:d.data)!==(y==null?void 0:y.data)&&(f=!0),d&&(u={...u,...d.data},f&&(l.props[`data_${h}`]=u),h+=1)}return(!w.url||e.href!==w.url.href||w.error!==a||i!==void 0&&i!==v.form||f)&&(l.props.page={error:a,params:r,route:{id:(o==null?void 0:o.id)??null},state:{},status:n,url:new URL(e),form:i??null,data:f?u:v.data}),l}async function Be({loader:e,parent:r,url:t,params:n,route:a,server_data_node:o}){var f,h,p;let i=null,s=!0;const l={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},u=await e();if((f=u.universal)!=null&&f.load){let d=function(...c){for(const m of c){const{href:A}=new URL(m,t);l.dependencies.add(A)}};const y={route:new Proxy(a,{get:(c,m)=>(s&&(l.route=!0),c[m])}),params:new Proxy(n,{get:(c,m)=>(s&&l.params.add(m),c[m])}),data:(o==null?void 0:o.data)??null,url:Nt(t,()=>{s&&(l.url=!0)},c=>{s&&l.search_params.add(c)},E.hash),async fetch(c,m){let A;c instanceof Request?(A=c.url,m={body:c.method==="GET"||c.method==="HEAD"?void 0:await c.blob(),cache:c.cache,credentials:c.credentials,headers:[...c.headers].length?c.headers:void 0,integrity:c.integrity,keepalive:c.keepalive,method:c.method,mode:c.mode,redirect:c.redirect,referrer:c.referrer,referrerPolicy:c.referrerPolicy,signal:c.signal,...m}):A=c;const x=new URL(A,t);return s&&d(x.href),x.origin===t.origin&&(A=x.href.slice(t.origin.length)),ve?Mt(A,x.href,m):Wt(A,m)},setHeaders:()=>{},depends:d,parent(){return s&&(l.parent=!0),r()},untrack(c){s=!1;try{return c()}finally{s=!0}}};i=await u.universal.load.call(null,y)??null}return{node:u,loader:e,server:o,universal:(h=u.universal)!=null&&h.load?{type:"data",data:i,uses:l}:null,data:i??(o==null?void 0:o.data)??null,slash:((p=u.universal)==null?void 0:p.trailingSlash)??(o==null?void 0:o.slash)}}function wt(e,r,t,n,a,o){if($e)return!0;if(!a)return!1;if(a.parent&&e||a.route&&r||a.url&&t)return!0;for(const i of a.search_params)if(n.has(i))return!0;for(const i of a.params)if(o[i]!==w.params[i])return!0;for(const i of a.dependencies)if(ct.some(s=>s(new URL(i))))return!0;return!1}function Ve(e,r){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?r??null:null}function Ar(e,r){if(!e)return new Set(r.searchParams.keys());const t=new Set([...e.searchParams.keys(),...r.searchParams.keys()]);for(const n of t){const a=e.searchParams.getAll(n),o=r.searchParams.getAll(n);a.every(i=>o.includes(i))&&o.every(i=>a.includes(i))&&t.delete(n)}return t}function vt({error:e,url:r,route:t,params:n}){return{type:"loaded",state:{error:e,url:r,route:t,params:n,branch:[]},props:{page:v,constructors:[]}}}async function bt({id:e,invalidating:r,url:t,params:n,route:a,preload:o}){if((P==null?void 0:P.id)===e)return Q.delete(P.token),P.promise;const{errors:i,layouts:s,leaf:l}=a,u=[...s,l];i.forEach(g=>g==null?void 0:g().catch(()=>{})),u.forEach(g=>g==null?void 0:g[1]().catch(()=>{}));let f=null;const h=w.url?e!==Ae(w.url):!1,p=w.route?a.id!==w.route.id:!1,d=Ar(w.url,t);let y=!1;const c=u.map((g,k)=>{var $;const _=w.branch[k],R=!!(g!=null&&g[0])&&((_==null?void 0:_.loader)!==g[1]||wt(y,p,h,d,($=_.server)==null?void 0:$.uses,n));return R&&(y=!0),R});if(c.some(Boolean)){try{f=await Et(t,c)}catch(g){const k=await M(g,{url:t,params:n,route:{id:e}});return Q.has(o)?vt({error:k,url:t,params:n,route:a}):Se({status:he(g),error:k,url:t,route:a})}if(f.type==="redirect")return f}const m=f==null?void 0:f.nodes;let A=!1;const x=u.map(async(g,k)=>{var $;if(!g)return;const _=w.branch[k],R=m==null?void 0:m[k];if((!R||R.type==="skip")&&g[1]===(_==null?void 0:_.loader)&&!wt(A,p,h,d,($=_.universal)==null?void 0:$.uses,n))return _;if(A=!0,(R==null?void 0:R.type)==="error")throw R;return Be({loader:g[1],url:t,params:n,route:a,parent:async()=>{var We;const qe={};for(let Ee=0;Ee<k;Ee+=1)Object.assign(qe,(We=await x[Ee])==null?void 0:We.data);return qe},server_data_node:Ve(R===void 0&&g[0]?{type:"skip"}:R??null,g[0]?_==null?void 0:_.server:void 0)})});for(const g of x)g.catch(()=>{});const b=[];for(let g=0;g<u.length;g+=1)if(u[g])try{b.push(await x[g])}catch(k){if(k instanceof st)return{type:"redirect",location:k.location};if(Q.has(o))return vt({error:await M(k,{params:n,url:t,route:{id:a.id}}),url:t,params:n,route:a});let _=he(k),R;if(m!=null&&m.includes(k))_=k.status??_,R=k.error;else if(k instanceof pe)R=k.body;else{if(await N.updated.check())return await it(),await q(t);R=await M(k,{params:n,url:t,route:{id:a.id}})}const $=await Er(g,b,i);return $?ke({url:t,params:n,branch:b.slice(0,$.idx).concat($.node),status:_,error:R,route:a}):await At(t,{id:a.id},R,_)}else b.push(void 0);return ke({url:t,params:n,branch:b,status:200,error:null,route:a,form:r?void 0:null})}async function Er(e,r,t){for(;e--;)if(t[e]){let n=e;for(;!r[n];)n-=1;try{return{idx:n+1,node:{node:await t[e](),loader:t[e],data:{},server:null,universal:null}}}catch{continue}}}async function Se({status:e,error:r,url:t,route:n}){const a={};let o=null;if(E.server_loads[0]===0)try{const l=await Et(t,[!0]);if(l.type!=="data"||l.nodes[0]&&l.nodes[0].type!=="data")throw 0;o=l.nodes[0]??null}catch{(t.origin!==H||t.pathname!==location.pathname||Te)&&await q(t)}const i=await Be({loader:Ie,url:t,params:a,route:n,parent:()=>Promise.resolve({}),server_data_node:Ve(o)}),s={node:await ye(),loader:ye,universal:null,server:null,data:null};return ke({url:t,params:a,branch:[i,s],status:e,error:r,route:null})}function Fe(e,r){if(!e||de(e,L,E.hash))return;let t;try{if(t=E.hooks.reroute({url:new URL(e)})??e,typeof t=="string"){const a=new URL(e);E.hash?a.hash=t:a.pathname=t,t=a}}catch{return}const n=kt(t);for(const a of ge){const o=a.exec(n);if(o)return{id:Ae(e),invalidating:r,route:a,params:$t(o),url:e}}}function kt(e){return Tt(E.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(L.length))||"/"}function Ae(e){return(E.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function St({url:e,type:r,intent:t,delta:n}){let a=!1;const o=xt(w,t,e,r);n!==void 0&&(o.navigation.delta=n);const i={...o.navigation,cancel:()=>{a=!0,o.reject(new Error("navigation cancelled"))}};return X||ut.forEach(s=>s(i)),a?null:o}async function Z({type:e,url:r,popped:t,keepfocus:n,noscroll:a,replace_state:o,state:i={},redirect_count:s=0,nav_token:l={},accept:u=lt,block:f=lt}){const h=Fe(r,!1),p=St({url:r,type:e,delta:t==null?void 0:t.delta,intent:h});if(!p){f();return}const d=U,y=C;u(),X=!0,ve&&N.navigating.set(K.current=p.navigation),be=l;let c=h&&await bt(h);if(!c){if(de(r,L,E.hash))return await q(r);c=await At(r,{id:null},await M(new Ce(404,"Not Found",`Not found: ${r.pathname}`),{url:r,params:{},route:{id:null}}),404)}if(r=(h==null?void 0:h.url)||r,be!==l)return p.reject(new Error("navigation aborted")),!1;if(c.type==="redirect")if(s>=20)c=await Se({status:500,error:await M(new Error("Redirect loop"),{url:r,params:{},route:{id:null}}),url:r,route:{id:null}});else return gt(new URL(c.location,r).href,{},s+1,l),!1;else c.props.page.status>=400&&await N.updated.check()&&(await it(),await q(r));if(kr(),je(d),pt(y),c.props.page.url.pathname!==r.pathname&&(r.pathname=c.props.page.url.pathname),i=t?t.state:i,!t){const b=o?0:1,g={[V]:U+=b,[G]:C+=b,[Ye]:i};(o?history.replaceState:history.pushState).call(history,g,"",r),o||wr(U,C)}if(P=null,c.props.page.state=i,ve){w=c.state,c.props.page&&(c.props.page.url=r);const b=(await Promise.all(vr.map(g=>g(p.navigation)))).filter(g=>typeof g=="function");if(b.length>0){let g=function(){W=W.filter(k=>!b.includes(k))};b.push(g),W.push(...b)}Ne.$set(c.props),gr(c.props.page),dt=!0}else yt(c,Oe,!1);const{activeElement:m}=document;await It();const A=t?t.scroll:a?Le():null;if(ft){const b=r.hash&&document.getElementById(decodeURIComponent(E.hash?r.hash.split("#")[2]??"":r.hash.slice(1)));A?scrollTo(A.x,A.y):b?b.scrollIntoView():scrollTo(0,0)}const x=document.activeElement!==m&&document.activeElement!==document.body;!n&&!x&&Lr(),ft=!0,c.props.page&&Object.assign(v,c.props.page),X=!1,e==="popstate"&&ht(C),p.fulfil(void 0),W.forEach(b=>b(p.navigation)),N.navigating.set(K.current=null)}async function At(e,r,t,n){return e.origin===H&&e.pathname===location.pathname&&!Te?await Se({status:n,error:t,url:e,route:r}):await q(e)}function _r(){let e;D.addEventListener("mousemove",o=>{const i=o.target;clearTimeout(e),e=setTimeout(()=>{n(i,2)},20)});function r(o){o.defaultPrevented||n(o.composedPath()[0],1)}D.addEventListener("mousedown",r),D.addEventListener("touchstart",r,{passive:!0});const t=new IntersectionObserver(o=>{for(const i of o)i.isIntersecting&&(De(new URL(i.target.href)),t.unobserve(i.target))},{threshold:0});function n(o,i){const s=tt(o,D);if(!s)return;const{url:l,external:u,download:f}=Pe(s,L,E.hash);if(u||f)return;const h=fe(s),p=l&&Ae(w.url)===Ae(l);if(!h.reload&&!p)if(i<=h.preload_data){const d=Fe(l,!1);d&&Sr(d)}else i<=h.preload_code&&De(l)}function a(){t.disconnect();for(const o of D.querySelectorAll("a")){const{url:i,external:s,download:l}=Pe(o,L,E.hash);if(s||l)continue;const u=fe(o);u.reload||(u.preload_code===ue.viewport&&t.observe(o),u.preload_code===ue.eager&&De(i))}}W.push(a),a()}function M(e,r){if(e instanceof pe)return e.body;const t=he(e),n=hr(e);return E.hooks.handleError({error:e,event:r,status:t,message:n})??{message:n}}function xr(e,r={}){return e=new URL(Qe(e)),e.origin!==H?Promise.reject(new Error("goto: invalid URL")):gt(e,r,0)}function Rr(){var r;history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(mt(),!X){const a=xt(w,void 0,null,"leave"),o={...a.navigation,cancel:()=>{n=!0,a.reject(new Error("navigation cancelled"))}};ut.forEach(i=>i(o))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&mt()}),(r=navigator.connection)!=null&&r.saveData||_r(),D.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=tt(t.composedPath()[0],D);if(!n)return;const{url:a,external:o,target:i,download:s}=Pe(n,L,E.hash);if(!a)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const l=fe(n);if(!(n instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||s)return;const[u,f]=(E.hash?a.hash.replace(/^#/,""):a.href).split("#"),h=u===xe(location);if(o||l.reload&&(!h||!f)){St({url:a,type:"link"})?X=!0:t.preventDefault();return}if(f!==void 0&&h){const[,p]=w.url.href.split("#");if(p===f){if(t.preventDefault(),f===""||f==="top"&&n.ownerDocument.getElementById("top")===null)window.scrollTo({top:0});else{const d=n.ownerDocument.getElementById(decodeURIComponent(f));d&&(d.scrollIntoView(),d.focus())}return}if(Y=!0,je(U),e(a),!l.replace_state)return;Y=!1}t.preventDefault(),await new Promise(p=>{requestAnimationFrame(()=>{setTimeout(p,0)}),setTimeout(p,100)}),Z({type:"link",url:a,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??a.href===location.href})}),D.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if(((a==null?void 0:a.formTarget)||n.target)==="_blank"||((a==null?void 0:a.formMethod)||n.method)!=="get")return;const o=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||n.action);if(de(o,L,!1))return;const i=t.target,s=fe(i);if(s.reload)return;t.preventDefault(),t.stopPropagation();const l=new FormData(i),u=a==null?void 0:a.getAttribute("name");u&&l.append(u,(a==null?void 0:a.getAttribute("value"))??""),o.search=new URLSearchParams(l).toString(),Z({type:"form",url:o,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??o.href===location.href})}),addEventListener("popstate",async t=>{var n;if((n=t.state)!=null&&n[V]){const a=t.state[V];if(be={},a===U)return;const o=B[a],i=t.state[Ye]??{},s=new URL(t.state[Zt]??location.href),l=t.state[G],u=xe(location)===xe(w.url);if(l===C&&(dt||u)){e(s),B[U]=Le(),o&&scrollTo(o.x,o.y),i!==v.state&&(v.state=i,Ne.$set({page:v})),U=a;return}const f=a-U;await Z({type:"popstate",url:s,popped:{state:i,scroll:o,delta:f},accept:()=>{U=a,C=l},block:()=>{history.go(-f)},nav_token:be})}else if(!Y){const a=new URL(location.href);e(a)}}),addEventListener("hashchange",()=>{Y?(Y=!1,history.replaceState({...history.state,[V]:++U,[G]:C},"",location.href)):E.hash&&w.url.hash===location.hash&&Z({type:"goto",url:w.url})});for(const t of document.querySelectorAll("link"))yr.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&N.navigating.set(K.current=null)});function e(t){w.url=v.url=t,N.page.set({data:v.data,error:v.error,form:v.form,params:v.params,route:v.route,state:v.state,status:v.status,url:t}),N.page.notify()}}async function Ur(e,{status:r=200,error:t,node_ids:n,params:a,route:o,data:i,form:s}){Te=!0;const l=new URL(location.href);({params:a={},route:o={id:null}}=Fe(l,!1)||{});let u,f=!0;try{const h=n.map(async(y,c)=>{const m=i[c];return m!=null&&m.uses&&(m.uses=_t(m.uses)),Be({loader:E.nodes[y],url:l,params:a,route:o,parent:async()=>{const A={};for(let x=0;x<c;x+=1)Object.assign(A,(await h[x]).data);return A},server_data_node:Ve(m)})}),p=await Promise.all(h),d=ge.find(({id:y})=>y===o.id);if(d){const y=d.layouts;for(let c=0;c<y.length;c++)y[c]||p.splice(c,0,void 0)}u=ke({url:l,params:a,branch:p,status:r,error:t,form:s,route:d??null})}catch(h){if(h instanceof st){await q(new URL(h.location,location.href));return}u=await Se({status:he(h),error:await M(h,{url:l,params:a,route:o}),url:l,route:o}),e.textContent="",f=!1}u.props.page&&(u.props.page.state={}),yt(u,e,f)}async function Et(e,r){var a;const t=new URL(e);t.pathname=Vt(e.pathname),e.pathname.endsWith("/")&&t.searchParams.append(pr,"1"),t.searchParams.append(dr,r.map(o=>o?"1":"0").join(""));const n=await Ge(t.href);if(!n.ok){let o;throw(a=n.headers.get("content-type"))!=null&&a.includes("application/json")?o=await n.json():n.status===404?o="Not Found":n.status===500&&(o="Internal Error"),new pe(n.status,o)}return new Promise(async o=>{var h;const i=new Map,s=n.body.getReader(),l=new TextDecoder;function u(p){return cr(p,{...E.decoders,Promise:d=>new Promise((y,c)=>{i.set(d,{fulfil:y,reject:c})})})}let f="";for(;;){const{done:p,value:d}=await s.read();if(p&&!f)break;for(f+=!d&&f?`
+`:l.decode(d,{stream:!0});;){const y=f.indexOf(`
+`);if(y===-1)break;const c=JSON.parse(f.slice(0,y));if(f=f.slice(y+1),c.type==="redirect")return o(c);if(c.type==="data")(h=c.nodes)==null||h.forEach(m=>{(m==null?void 0:m.type)==="data"&&(m.uses=_t(m.uses),m.data=u(m.data))}),o(c);else if(c.type==="chunk"){const{id:m,data:A,error:x}=c,b=i.get(m);i.delete(m),x?b.reject(u(x)):b.fulfil(u(A))}}}})}function _t(e){return{dependencies:new Set((e==null?void 0:e.dependencies)??[]),params:new Set((e==null?void 0:e.params)??[]),parent:!!(e!=null&&e.parent),route:!!(e!=null&&e.route),url:!!(e!=null&&e.url),search_params:new Set((e==null?void 0:e.search_params)??[])}}function Lr(){const e=document.querySelector("[autofocus]");if(e)e.focus();else{const r=document.body,t=r.getAttribute("tabindex");r.tabIndex=-1,r.focus({preventScroll:!0,focusVisible:!1}),t!==null?r.setAttribute("tabindex",t):r.removeAttribute("tabindex");const n=getSelection();if(n&&n.type!=="None"){const a=[];for(let o=0;o<n.rangeCount;o+=1)a.push(n.getRangeAt(o));setTimeout(()=>{if(n.rangeCount===a.length){for(let o=0;o<n.rangeCount;o+=1){const i=a[o],s=n.getRangeAt(o);if(i.commonAncestorContainer!==s.commonAncestorContainer||i.startContainer!==s.startContainer||i.endContainer!==s.endContainer||i.startOffset!==s.startOffset||i.endOffset!==s.endOffset)return}n.removeAllRanges()}})}}}function xt(e,r,t,n){var s,l;let a,o;const i=new Promise((u,f)=>{a=u,o=f});return i.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:((s=e.route)==null?void 0:s.id)??null},url:e.url},to:t&&{params:(r==null?void 0:r.params)??null,route:{id:((l=r==null?void 0:r.route)==null?void 0:l.id)??null},url:t},willUnload:!r,type:n,complete:i},fulfil:a,reject:o}}export{br as a,v as p,N as s,me as u};
diff --git a/static/v1/_app/immutable/chunks/entry.DTN3-12j.js.br b/static/v1/_app/immutable/chunks/entry.DTN3-12j.js.br
new file mode 100644
index 000000000..042beb1d9
Binary files /dev/null and b/static/v1/_app/immutable/chunks/entry.DTN3-12j.js.br differ
diff --git a/static/v1/_app/immutable/chunks/entry.DTN3-12j.js.gz b/static/v1/_app/immutable/chunks/entry.DTN3-12j.js.gz
new file mode 100644
index 000000000..298a5814b
Binary files /dev/null and b/static/v1/_app/immutable/chunks/entry.DTN3-12j.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/entry.Ddy6icaf.js b/static/v1/_app/immutable/chunks/entry.Ddy6icaf.js
deleted file mode 100644
index d95deedd8..000000000
--- a/static/v1/_app/immutable/chunks/entry.Ddy6icaf.js
+++ /dev/null
@@ -1,3 +0,0 @@
-var Me=e=>{throw TypeError(e)};var jt=(e,r,t)=>r.has(e)||Me("Cannot "+t);var S=(e,r,t)=>(jt(e,r,"read from private field"),t?t.call(e):r.get(e)),j=(e,r,t)=>r.has(e)?Me("Cannot add the same private member more than once"):r instanceof WeakSet?r.add(e):r.set(e,t);var xt,Ut,ee,te,re,ne,ae,oe,se,ie,Lt,le,Pt,ce,Ct;import{o as Je,_ as I,g as O,j as T,a6 as It}from"./index-client.CGppiJvc.js";import{w as _e}from"./index.BU3V9-NS.js";new URL("sveltekit-internal://");function Ot(e,r){return e==="/"||r==="ignore"?e:r==="never"?e.endsWith("/")?e.slice(0,-1):e:r==="always"&&!e.endsWith("/")?e+"/":e}function Tt(e){return e.split("%25").map(decodeURI).join("%25")}function $t(e){for(const r in e)e[r]=decodeURIComponent(e[r]);return e}function Re({href:e}){return e.split("#")[0]}function Nt(e,r,t,n=!1){const a=new URL(e);Object.defineProperty(a,"searchParams",{value:new Proxy(a.searchParams,{get(i,s){if(s==="get"||s==="getAll"||s==="has")return u=>(t(u),i[s](u));r();const l=Reflect.get(i,s);return typeof l=="function"?l.bind(i):l}}),enumerable:!0,configurable:!0});const o=["href","pathname","search","toString","toJSON"];n&&o.push("hash");for(const i of o)Object.defineProperty(a,i,{get(){return r(),e[i]},enumerable:!0,configurable:!0});return a}const Dt="/__data.json",Bt=".html__data.json";function Vt(e){return e.endsWith(".html")?e.replace(/\.html$/,Bt):e.replace(/\/$/,"")+Dt}function Ft(...e){let r=5381;for(const t of e)if(typeof t=="string"){let n=t.length;for(;n;)r=r*33^t.charCodeAt(--n)}else if(ArrayBuffer.isView(t)){const n=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);let a=n.length;for(;a;)r=r*33^n[--a]}else throw new TypeError("value must be a string or TypedArray");return(r>>>0).toString(36)}function qt(e){const r=atob(e),t=new Uint8Array(r.length);for(let n=0;n<r.length;n++)t[n]=r.charCodeAt(n);return t.buffer}const Ge=window.fetch;window.fetch=(e,r)=>((e instanceof Request?e.method:(r==null?void 0:r.method)||"GET")!=="GET"&&J.delete(xe(e)),Ge(e,r));const J=new Map;function Wt(e,r){const t=xe(e,r),n=document.querySelector(t);if(n!=null&&n.textContent){let{body:a,...o}=JSON.parse(n.textContent);const i=n.getAttribute("data-ttl");return i&&J.set(t,{body:a,init:o,ttl:1e3*Number(i)}),n.getAttribute("data-b64")!==null&&(a=qt(a)),Promise.resolve(new Response(a,o))}return window.fetch(e,r)}function Mt(e,r,t){if(J.size>0){const n=xe(e,t),a=J.get(n);if(a){if(performance.now()<a.ttl&&["default","force-cache","only-if-cached",void 0].includes(t==null?void 0:t.cache))return new Response(a.body,a.init);J.delete(n)}}return window.fetch(r,t)}function xe(e,r){let t=`script[data-sveltekit-fetched][data-url=${JSON.stringify(e instanceof Request?e.url:e)}]`;if(r!=null&&r.headers||r!=null&&r.body){const n=[];r.headers&&n.push([...new Headers(r.headers)].join(",")),r.body&&(typeof r.body=="string"||ArrayBuffer.isView(r.body))&&n.push(r.body),t+=`[data-hash="${Ft(...n)}"]`}return t}const Jt=/^(\[)?(\.\.\.)?(\w+)(?:=(\w+))?(\])?$/;function Gt(e){const r=[];return{pattern:e==="/"?/^\/$/:new RegExp(`^${Ht(e).map(t=>{const n=/^\[\.\.\.(\w+)(?:=(\w+))?\]$/.exec(t);if(n)return r.push({name:n[1],matcher:n[2],optional:!1,rest:!0,chained:!0}),"(?:/(.*))?";const a=/^\[\[(\w+)(?:=(\w+))?\]\]$/.exec(t);if(a)return r.push({name:a[1],matcher:a[2],optional:!0,rest:!1,chained:!0}),"(?:/([^/]+))?";if(!t)return;const o=t.split(/\[(.+?)\](?!\])/);return"/"+o.map((i,s)=>{if(s%2){if(i.startsWith("x+"))return Ue(String.fromCharCode(parseInt(i.slice(2),16)));if(i.startsWith("u+"))return Ue(String.fromCharCode(...i.slice(2).split("-").map(d=>parseInt(d,16))));const l=Jt.exec(i),[,u,f,h,p]=l;return r.push({name:h,matcher:p,optional:!!u,rest:!!f,chained:f?s===1&&o[0]==="":!1}),f?"(.*?)":u?"([^/]*)?":"([^/]+?)"}return Ue(i)}).join("")}).join("")}/?$`),params:r}}function zt(e){return!/^\([^)]+\)$/.test(e)}function Ht(e){return e.slice(1).split("/").filter(zt)}function Kt(e,r,t){const n={},a=e.slice(1),o=a.filter(s=>s!==void 0);let i=0;for(let s=0;s<r.length;s+=1){const l=r[s];let u=a[s-i];if(l.chained&&l.rest&&i&&(u=a.slice(s-i,s+1).filter(f=>f).join("/"),i=0),u===void 0){l.rest&&(n[l.name]="");continue}if(!l.matcher||t[l.matcher](u)){n[l.name]=u;const f=r[s+1],h=a[s+1];f&&!f.rest&&f.optional&&h&&l.chained&&(i=0),!f&&!h&&Object.keys(n).length===o.length&&(i=0);continue}if(l.optional&&l.chained){i++;continue}return}if(!i)return n}function Ue(e){return e.normalize().replace(/[[\]]/g,"\\$&").replace(/%/g,"%25").replace(/\//g,"%2[Ff]").replace(/\?/g,"%3[Ff]").replace(/#/g,"%23").replace(/[.*+?^${}()|\\]/g,"\\$&")}function Xt({nodes:e,server_loads:r,dictionary:t,matchers:n}){const a=new Set(r);return Object.entries(t).map(([s,[l,u,f]])=>{const{pattern:h,params:p}=Gt(s),d={id:s,exec:y=>{const c=h.exec(y);if(c)return Kt(c,p,n)},errors:[1,...f||[]].map(y=>e[y]),layouts:[0,...u||[]].map(i),leaf:o(l)};return d.errors.length=d.layouts.length=Math.max(d.errors.length,d.layouts.length),d});function o(s){const l=s<0;return l&&(s=~s),[l,e[s]]}function i(s){return s===void 0?s:[a.has(s),e[s]]}}function ze(e,r=JSON.parse){try{return r(sessionStorage[e])}catch{}}function He(e,r,t=JSON.stringify){const n=t(r);try{sessionStorage[e]=n}catch{}}const L=((xt=globalThis.__sveltekit_zeckhh)==null?void 0:xt.base)??"/auth/v1",Yt=((Ut=globalThis.__sveltekit_zeckhh)==null?void 0:Ut.assets)??L,Qt="1737373816864",Ke="sveltekit:snapshot",Xe="sveltekit:scroll",Ye="sveltekit:states",Zt="sveltekit:pageurl",V="sveltekit:history",G="sveltekit:navigation",ue={tap:1,hover:2,viewport:3,eager:4,off:-1,false:-1},z=location.origin;function Qe(e){if(e instanceof URL)return e;let r=document.baseURI;if(!r){const t=document.getElementsByTagName("base");r=t.length?t[0].href:document.URL}return new URL(e,r)}function Le(){return{x:pageXOffset,y:pageYOffset}}function F(e,r){return e.getAttribute(`data-sveltekit-${r}`)}const Ze={...ue,"":ue.hover};function et(e){let r=e.assignedSlot??e.parentNode;return(r==null?void 0:r.nodeType)===11&&(r=r.host),r}function tt(e,r){for(;e&&e!==r;){if(e.nodeName.toUpperCase()==="A"&&e.hasAttribute("href"))return e;e=et(e)}}function Pe(e,r,t){let n;try{n=new URL(e instanceof SVGAElement?e.href.baseVal:e.href,document.baseURI)}catch{}const a=e instanceof SVGAElement?e.target.baseVal:e.target,o=!n||!!a||de(n,r,t)||(e.getAttribute("rel")||"").split(/\s+/).includes("external"),i=(n==null?void 0:n.origin)===z&&e.hasAttribute("download");return{url:n,external:o,target:a,download:i}}function fe(e){let r=null,t=null,n=null,a=null,o=null,i=null,s=e;for(;s&&s!==document.documentElement;)n===null&&(n=F(s,"preload-code")),a===null&&(a=F(s,"preload-data")),r===null&&(r=F(s,"keepfocus")),t===null&&(t=F(s,"noscroll")),o===null&&(o=F(s,"reload")),i===null&&(i=F(s,"replacestate")),s=et(s);function l(u){switch(u){case"":case"true":return!0;case"off":case"false":return!1;default:return}}return{preload_code:Ze[n??"off"],preload_data:Ze[a??"off"],keepfocus:l(r),noscroll:l(t),reload:l(o),replace_state:l(i)}}function rt(e){const r=_e(e);let t=!0;function n(){t=!0,r.update(i=>i)}function a(i){t=!1,r.set(i)}function o(i){let s;return r.subscribe(l=>{(s===void 0||t&&l!==s)&&i(s=l)})}return{notify:n,set:a,subscribe:o}}const nt={v:()=>{}};function er(){const{set:e,subscribe:r}=_e(!1);let t;async function n(){clearTimeout(t);try{const a=await fetch(`${Yt}/_app/version.json`,{headers:{pragma:"no-cache","cache-control":"no-cache"}});if(!a.ok)return!1;const o=(await a.json()).version!==Qt;return o&&(e(!0),nt.v(),clearTimeout(t)),o}catch{return!1}}return{subscribe:r,check:n}}function de(e,r,t){return e.origin!==z||!e.pathname.startsWith(r)?!0:t?!(e.pathname===r+"/"||e.protocol==="file:"&&e.pathname.replace(/\/[^/]+\.html?$/,"")===r):!1}function at(e){const r=rr(e),t=new ArrayBuffer(r.length),n=new DataView(t);for(let a=0;a<t.byteLength;a++)n.setUint8(a,r.charCodeAt(a));return t}const tr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function rr(e){e.length%4===0&&(e=e.replace(/==?$/,""));let r="",t=0,n=0;for(let a=0;a<e.length;a++)t<<=6,t|=tr.indexOf(e[a]),n+=6,n===24&&(r+=String.fromCharCode((t&16711680)>>16),r+=String.fromCharCode((t&65280)>>8),r+=String.fromCharCode(t&255),t=n=0);return n===12?(t>>=4,r+=String.fromCharCode(t)):n===18&&(t>>=2,r+=String.fromCharCode((t&65280)>>8),r+=String.fromCharCode(t&255)),r}const nr=-1,ar=-2,or=-3,sr=-4,ir=-5,lr=-6;function cr(e,r){if(typeof e=="number")return a(e,!0);if(!Array.isArray(e)||e.length===0)throw new Error("Invalid input");const t=e,n=Array(t.length);function a(o,i=!1){if(o===nr)return;if(o===or)return NaN;if(o===sr)return 1/0;if(o===ir)return-1/0;if(o===lr)return-0;if(i)throw new Error("Invalid input");if(o in n)return n[o];const s=t[o];if(!s||typeof s!="object")n[o]=s;else if(Array.isArray(s))if(typeof s[0]=="string"){const l=s[0],u=r==null?void 0:r[l];if(u)return n[o]=u(a(s[1]));switch(l){case"Date":n[o]=new Date(s[1]);break;case"Set":const f=new Set;n[o]=f;for(let d=1;d<s.length;d+=1)f.add(a(s[d]));break;case"Map":const h=new Map;n[o]=h;for(let d=1;d<s.length;d+=2)h.set(a(s[d]),a(s[d+1]));break;case"RegExp":n[o]=new RegExp(s[1],s[2]);break;case"Object":n[o]=Object(s[1]);break;case"BigInt":n[o]=BigInt(s[1]);break;case"null":const p=Object.create(null);n[o]=p;for(let d=1;d<s.length;d+=2)p[s[d]]=a(s[d+1]);break;case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"BigInt64Array":case"BigUint64Array":{const d=globalThis[l],y=s[1],c=at(y),m=new d(c);n[o]=m;break}case"ArrayBuffer":{const d=s[1],y=at(d);n[o]=y;break}default:throw new Error(`Unknown type ${l}`)}}else{const l=new Array(s.length);n[o]=l;for(let u=0;u<s.length;u+=1){const f=s[u];f!==ar&&(l[u]=a(f))}}else{const l={};n[o]=l;for(const u in s){const f=s[u];l[u]=a(f)}}return n[o]}return a(0)}const ot=new Set(["load","prerender","csr","ssr","trailingSlash","config"]);[...ot];const ur=new Set([...ot]);[...ur];function fr(e){return e.filter(r=>r!=null)}class pe{constructor(r,t){this.status=r,typeof t=="string"?this.body={message:t}:t?this.body=t:this.body={message:`Error: ${r}`}}toString(){return JSON.stringify(this.body)}}class st{constructor(r,t){this.status=r,this.location=t}}class Ce extends Error{constructor(r,t,n){super(n),this.status=r,this.text=t}}const dr="x-sveltekit-invalidated",pr="x-sveltekit-trailing-slash";function he(e){return e instanceof pe||e instanceof Ce?e.status:500}function hr(e){return e instanceof Ce?e.text:"Internal Error"}let v,H,me;const mr=Je.toString().includes("$$")||/function \w+\(\) \{\}/.test(Je.toString());mr?(v={data:{},form:null,error:null,params:{},route:{id:null},state:{},status:-1,url:new URL("https://example.com")},H={current:null},me={current:!1}):(v=new(Lt=class{constructor(){j(this,ee,I({}));j(this,te,I(null));j(this,re,I(null));j(this,ne,I({}));j(this,ae,I({id:null}));j(this,oe,I({}));j(this,se,I(-1));j(this,ie,I(new URL("https://example.com")))}get data(){return O(S(this,ee))}set data(e){T(S(this,ee),e)}get form(){return O(S(this,te))}set form(e){T(S(this,te),e)}get error(){return O(S(this,re))}set error(e){T(S(this,re),e)}get params(){return O(S(this,ne))}set params(e){T(S(this,ne),e)}get route(){return O(S(this,ae))}set route(e){T(S(this,ae),e)}get state(){return O(S(this,oe))}set state(e){T(S(this,oe),e)}get status(){return O(S(this,se))}set status(e){T(S(this,se),e)}get url(){return O(S(this,ie))}set url(e){T(S(this,ie),e)}},ee=new WeakMap,te=new WeakMap,re=new WeakMap,ne=new WeakMap,ae=new WeakMap,oe=new WeakMap,se=new WeakMap,ie=new WeakMap,Lt),H=new(Pt=class{constructor(){j(this,le,I(null))}get current(){return O(S(this,le))}set current(e){T(S(this,le),e)}},le=new WeakMap,Pt),me=new(Ct=class{constructor(){j(this,ce,I(!1))}get current(){return O(S(this,ce))}set current(e){T(S(this,ce),e)}},ce=new WeakMap,Ct),nt.v=()=>me.current=!0);function gr(e){Object.assign(v,e)}const yr=new Set(["icon","shortcut icon","apple-touch-icon"]),B=ze(Xe)??{},K=ze(Ke)??{},N={url:rt({}),page:rt({}),navigating:_e(null),updated:er()};function je(e){B[e]=Le()}function wr(e,r){let t=e+1;for(;B[t];)delete B[t],t+=1;for(t=r+1;K[t];)delete K[t],t+=1}function q(e){return location.href=e.href,new Promise(()=>{})}async function it(){if("serviceWorker"in navigator){const e=await navigator.serviceWorker.getRegistration(L||"/");e&&await e.update()}}function lt(){}let ge,Ie,ye,D,Oe,E;const ct=[],we=[];let P=null;const ut=[],vr=[];let W=[],w={branch:[],error:null,url:null},Te=!1,ve=!1,ft=!0,X=!1,Y=!1,dt=!1,$e=!1,Ne,U,C,be;const Q=new Set;async function br(e,r,t){var a,o,i,s;document.URL!==location.href&&(location.href=location.href),E=e,await((o=(a=e.hooks).init)==null?void 0:o.call(a)),ge=Xt(e),D=document.documentElement,Oe=r,Ie=e.nodes[0],ye=e.nodes[1],Ie(),ye(),U=(i=history.state)==null?void 0:i[V],C=(s=history.state)==null?void 0:s[G],U||(U=C=Date.now(),history.replaceState({...history.state,[V]:U,[G]:C},""));const n=B[U];n&&(history.scrollRestoration="manual",scrollTo(n.x,n.y)),t?await Ur(Oe,t):Rr(location.href,{replaceState:!0}),xr()}function kr(){ct.length=0,$e=!1}function pt(e){we.some(r=>r==null?void 0:r.snapshot)&&(K[e]=we.map(r=>{var t;return(t=r==null?void 0:r.snapshot)==null?void 0:t.capture()}))}function ht(e){var r;(r=K[e])==null||r.forEach((t,n)=>{var a,o;(o=(a=we[n])==null?void 0:a.snapshot)==null||o.restore(t)})}function mt(){je(U),He(Xe,B),pt(C),He(Ke,K)}async function gt(e,r,t,n){return Z({type:"goto",url:Qe(e),keepfocus:r.keepFocus,noscroll:r.noScroll,replace_state:r.replaceState,state:r.state,redirect_count:t,nav_token:n,accept:()=>{r.invalidateAll&&($e=!0)}})}async function Sr(e){if(e.id!==(P==null?void 0:P.id)){const r={};Q.add(r),P={id:e.id,token:r,promise:bt({...e,preload:r}).then(t=>(Q.delete(r),t.type==="loaded"&&t.state.error&&(P=null),t))}}return P.promise}async function De(e){const r=ge.find(t=>t.exec(kt(e)));r&&await Promise.all([...r.layouts,r.leaf].map(t=>t==null?void 0:t[1]()))}function yt(e,r,t){var o;w=e.state;const n=document.querySelector("style[data-sveltekit]");n&&n.remove(),Object.assign(v,e.props.page),Ne=new E.root({target:r,props:{...e.props,stores:N,components:we},hydrate:t,sync:!1}),ht(C);const a={from:null,to:{params:w.params,route:{id:((o=w.route)==null?void 0:o.id)??null},url:new URL(location.href)},willUnload:!1,type:"enter",complete:Promise.resolve()};W.forEach(i=>i(a)),ve=!0}function ke({url:e,params:r,branch:t,status:n,error:a,route:o,form:i}){let s="never";if(L&&(e.pathname===L||e.pathname===L+"/"))s="always";else for(const p of t)(p==null?void 0:p.slash)!==void 0&&(s=p.slash);e.pathname=Ot(e.pathname,s),e.search=e.search;const l={type:"loaded",state:{url:e,params:r,branch:t,error:a,route:o},props:{constructors:fr(t).map(p=>p.node.component),page:v}};i!==void 0&&(l.props.form=i);let u={},f=!v,h=0;for(let p=0;p<Math.max(t.length,w.branch.length);p+=1){const d=t[p],y=w.branch[p];(d==null?void 0:d.data)!==(y==null?void 0:y.data)&&(f=!0),d&&(u={...u,...d.data},f&&(l.props[`data_${h}`]=u),h+=1)}return(!w.url||e.href!==w.url.href||w.error!==a||i!==void 0&&i!==v.form||f)&&(l.props.page={error:a,params:r,route:{id:(o==null?void 0:o.id)??null},state:{},status:n,url:new URL(e),form:i??null,data:f?u:v.data}),l}async function Be({loader:e,parent:r,url:t,params:n,route:a,server_data_node:o}){var f,h,p;let i=null,s=!0;const l={dependencies:new Set,params:new Set,parent:!1,route:!1,url:!1,search_params:new Set},u=await e();if((f=u.universal)!=null&&f.load){let d=function(...c){for(const m of c){const{href:A}=new URL(m,t);l.dependencies.add(A)}};const y={route:new Proxy(a,{get:(c,m)=>(s&&(l.route=!0),c[m])}),params:new Proxy(n,{get:(c,m)=>(s&&l.params.add(m),c[m])}),data:(o==null?void 0:o.data)??null,url:Nt(t,()=>{s&&(l.url=!0)},c=>{s&&l.search_params.add(c)},E.hash),async fetch(c,m){let A;c instanceof Request?(A=c.url,m={body:c.method==="GET"||c.method==="HEAD"?void 0:await c.blob(),cache:c.cache,credentials:c.credentials,headers:[...c.headers].length?c.headers:void 0,integrity:c.integrity,keepalive:c.keepalive,method:c.method,mode:c.mode,redirect:c.redirect,referrer:c.referrer,referrerPolicy:c.referrerPolicy,signal:c.signal,...m}):A=c;const R=new URL(A,t);return s&&d(R.href),R.origin===t.origin&&(A=R.href.slice(t.origin.length)),ve?Mt(A,R.href,m):Wt(A,m)},setHeaders:()=>{},depends:d,parent(){return s&&(l.parent=!0),r()},untrack(c){s=!1;try{return c()}finally{s=!0}}};i=await u.universal.load.call(null,y)??null}return{node:u,loader:e,server:o,universal:(h=u.universal)!=null&&h.load?{type:"data",data:i,uses:l}:null,data:i??(o==null?void 0:o.data)??null,slash:((p=u.universal)==null?void 0:p.trailingSlash)??(o==null?void 0:o.slash)}}function wt(e,r,t,n,a,o){if($e)return!0;if(!a)return!1;if(a.parent&&e||a.route&&r||a.url&&t)return!0;for(const i of a.search_params)if(n.has(i))return!0;for(const i of a.params)if(o[i]!==w.params[i])return!0;for(const i of a.dependencies)if(ct.some(s=>s(new URL(i))))return!0;return!1}function Ve(e,r){return(e==null?void 0:e.type)==="data"?e:(e==null?void 0:e.type)==="skip"?r??null:null}function Ar(e,r){if(!e)return new Set(r.searchParams.keys());const t=new Set([...e.searchParams.keys(),...r.searchParams.keys()]);for(const n of t){const a=e.searchParams.getAll(n),o=r.searchParams.getAll(n);a.every(i=>o.includes(i))&&o.every(i=>a.includes(i))&&t.delete(n)}return t}function vt({error:e,url:r,route:t,params:n}){return{type:"loaded",state:{error:e,url:r,route:t,params:n,branch:[]},props:{page:v,constructors:[]}}}async function bt({id:e,invalidating:r,url:t,params:n,route:a,preload:o}){if((P==null?void 0:P.id)===e)return Q.delete(P.token),P.promise;const{errors:i,layouts:s,leaf:l}=a,u=[...s,l];i.forEach(g=>g==null?void 0:g().catch(()=>{})),u.forEach(g=>g==null?void 0:g[1]().catch(()=>{}));let f=null;const h=w.url?e!==Ae(w.url):!1,p=w.route?a.id!==w.route.id:!1,d=Ar(w.url,t);let y=!1;const c=u.map((g,k)=>{var $;const _=w.branch[k],x=!!(g!=null&&g[0])&&((_==null?void 0:_.loader)!==g[1]||wt(y,p,h,d,($=_.server)==null?void 0:$.uses,n));return x&&(y=!0),x});if(c.some(Boolean)){try{f=await Et(t,c)}catch(g){const k=await M(g,{url:t,params:n,route:{id:e}});return Q.has(o)?vt({error:k,url:t,params:n,route:a}):Se({status:he(g),error:k,url:t,route:a})}if(f.type==="redirect")return f}const m=f==null?void 0:f.nodes;let A=!1;const R=u.map(async(g,k)=>{var $;if(!g)return;const _=w.branch[k],x=m==null?void 0:m[k];if((!x||x.type==="skip")&&g[1]===(_==null?void 0:_.loader)&&!wt(A,p,h,d,($=_.universal)==null?void 0:$.uses,n))return _;if(A=!0,(x==null?void 0:x.type)==="error")throw x;return Be({loader:g[1],url:t,params:n,route:a,parent:async()=>{var We;const qe={};for(let Ee=0;Ee<k;Ee+=1)Object.assign(qe,(We=await R[Ee])==null?void 0:We.data);return qe},server_data_node:Ve(x===void 0&&g[0]?{type:"skip"}:x??null,g[0]?_==null?void 0:_.server:void 0)})});for(const g of R)g.catch(()=>{});const b=[];for(let g=0;g<u.length;g+=1)if(u[g])try{b.push(await R[g])}catch(k){if(k instanceof st)return{type:"redirect",location:k.location};if(Q.has(o))return vt({error:await M(k,{params:n,url:t,route:{id:a.id}}),url:t,params:n,route:a});let _=he(k),x;if(m!=null&&m.includes(k))_=k.status??_,x=k.error;else if(k instanceof pe)x=k.body;else{if(await N.updated.check())return await it(),await q(t);x=await M(k,{params:n,url:t,route:{id:a.id}})}const $=await Er(g,b,i);return $?ke({url:t,params:n,branch:b.slice(0,$.idx).concat($.node),status:_,error:x,route:a}):await At(t,{id:a.id},x,_)}else b.push(void 0);return ke({url:t,params:n,branch:b,status:200,error:null,route:a,form:r?void 0:null})}async function Er(e,r,t){for(;e--;)if(t[e]){let n=e;for(;!r[n];)n-=1;try{return{idx:n+1,node:{node:await t[e](),loader:t[e],data:{},server:null,universal:null}}}catch{continue}}}async function Se({status:e,error:r,url:t,route:n}){const a={};let o=null;if(E.server_loads[0]===0)try{const l=await Et(t,[!0]);if(l.type!=="data"||l.nodes[0]&&l.nodes[0].type!=="data")throw 0;o=l.nodes[0]??null}catch{(t.origin!==z||t.pathname!==location.pathname||Te)&&await q(t)}const i=await Be({loader:Ie,url:t,params:a,route:n,parent:()=>Promise.resolve({}),server_data_node:Ve(o)}),s={node:await ye(),loader:ye,universal:null,server:null,data:null};return ke({url:t,params:a,branch:[i,s],status:e,error:r,route:null})}function Fe(e,r){if(!e||de(e,L,E.hash))return;let t;try{if(t=E.hooks.reroute({url:new URL(e)})??e,typeof t=="string"){const a=new URL(e);E.hash?a.hash=t:a.pathname=t,t=a}}catch{return}const n=kt(t);for(const a of ge){const o=a.exec(n);if(o)return{id:Ae(e),invalidating:r,route:a,params:$t(o),url:e}}}function kt(e){return Tt(E.hash?e.hash.replace(/^#/,"").replace(/[?#].+/,""):e.pathname.slice(L.length))||"/"}function Ae(e){return(E.hash?e.hash.replace(/^#/,""):e.pathname)+e.search}function St({url:e,type:r,intent:t,delta:n}){let a=!1;const o=Rt(w,t,e,r);n!==void 0&&(o.navigation.delta=n);const i={...o.navigation,cancel:()=>{a=!0,o.reject(new Error("navigation cancelled"))}};return X||ut.forEach(s=>s(i)),a?null:o}async function Z({type:e,url:r,popped:t,keepfocus:n,noscroll:a,replace_state:o,state:i={},redirect_count:s=0,nav_token:l={},accept:u=lt,block:f=lt}){const h=Fe(r,!1),p=St({url:r,type:e,delta:t==null?void 0:t.delta,intent:h});if(!p){f();return}const d=U,y=C;u(),X=!0,ve&&N.navigating.set(H.current=p.navigation),be=l;let c=h&&await bt(h);if(!c){if(de(r,L,E.hash))return await q(r);c=await At(r,{id:null},await M(new Ce(404,"Not Found",`Not found: ${r.pathname}`),{url:r,params:{},route:{id:null}}),404)}if(r=(h==null?void 0:h.url)||r,be!==l)return p.reject(new Error("navigation aborted")),!1;if(c.type==="redirect")if(s>=20)c=await Se({status:500,error:await M(new Error("Redirect loop"),{url:r,params:{},route:{id:null}}),url:r,route:{id:null}});else return gt(new URL(c.location,r).href,{},s+1,l),!1;else c.props.page.status>=400&&await N.updated.check()&&(await it(),await q(r));if(kr(),je(d),pt(y),c.props.page.url.pathname!==r.pathname&&(r.pathname=c.props.page.url.pathname),i=t?t.state:i,!t){const b=o?0:1,g={[V]:U+=b,[G]:C+=b,[Ye]:i};(o?history.replaceState:history.pushState).call(history,g,"",r),o||wr(U,C)}if(P=null,c.props.page.state=i,ve){w=c.state,c.props.page&&(c.props.page.url=r);const b=(await Promise.all(vr.map(g=>g(p.navigation)))).filter(g=>typeof g=="function");if(b.length>0){let g=function(){W=W.filter(k=>!b.includes(k))};b.push(g),W.push(...b)}Ne.$set(c.props),gr(c.props.page),dt=!0}else yt(c,Oe,!1);const{activeElement:m}=document;await It();const A=t?t.scroll:a?Le():null;if(ft){const b=r.hash&&document.getElementById(decodeURIComponent(E.hash?r.hash.split("#")[2]??"":r.hash.slice(1)));A?scrollTo(A.x,A.y):b?b.scrollIntoView():scrollTo(0,0)}const R=document.activeElement!==m&&document.activeElement!==document.body;!n&&!R&&Lr(),ft=!0,c.props.page&&Object.assign(v,c.props.page),X=!1,e==="popstate"&&ht(C),p.fulfil(void 0),W.forEach(b=>b(p.navigation)),N.navigating.set(H.current=null)}async function At(e,r,t,n){return e.origin===z&&e.pathname===location.pathname&&!Te?await Se({status:n,error:t,url:e,route:r}):await q(e)}function _r(){let e;D.addEventListener("mousemove",o=>{const i=o.target;clearTimeout(e),e=setTimeout(()=>{n(i,2)},20)});function r(o){o.defaultPrevented||n(o.composedPath()[0],1)}D.addEventListener("mousedown",r),D.addEventListener("touchstart",r,{passive:!0});const t=new IntersectionObserver(o=>{for(const i of o)i.isIntersecting&&(De(new URL(i.target.href)),t.unobserve(i.target))},{threshold:0});function n(o,i){const s=tt(o,D);if(!s)return;const{url:l,external:u,download:f}=Pe(s,L,E.hash);if(u||f)return;const h=fe(s),p=l&&Ae(w.url)===Ae(l);if(!h.reload&&!p)if(i<=h.preload_data){const d=Fe(l,!1);d&&Sr(d)}else i<=h.preload_code&&De(l)}function a(){t.disconnect();for(const o of D.querySelectorAll("a")){const{url:i,external:s,download:l}=Pe(o,L,E.hash);if(s||l)continue;const u=fe(o);u.reload||(u.preload_code===ue.viewport&&t.observe(o),u.preload_code===ue.eager&&De(i))}}W.push(a),a()}function M(e,r){if(e instanceof pe)return e.body;const t=he(e),n=hr(e);return E.hooks.handleError({error:e,event:r,status:t,message:n})??{message:n}}function Rr(e,r={}){return e=new URL(Qe(e)),e.origin!==z?Promise.reject(new Error("goto: invalid URL")):gt(e,r,0)}function xr(){var r;history.scrollRestoration="manual",addEventListener("beforeunload",t=>{let n=!1;if(mt(),!X){const a=Rt(w,void 0,null,"leave"),o={...a.navigation,cancel:()=>{n=!0,a.reject(new Error("navigation cancelled"))}};ut.forEach(i=>i(o))}n?(t.preventDefault(),t.returnValue=""):history.scrollRestoration="auto"}),addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"&&mt()}),(r=navigator.connection)!=null&&r.saveData||_r(),D.addEventListener("click",async t=>{if(t.button||t.which!==1||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.defaultPrevented)return;const n=tt(t.composedPath()[0],D);if(!n)return;const{url:a,external:o,target:i,download:s}=Pe(n,L,E.hash);if(!a)return;if(i==="_parent"||i==="_top"){if(window.parent!==window)return}else if(i&&i!=="_self")return;const l=fe(n);if(!(n instanceof SVGAElement)&&a.protocol!==location.protocol&&!(a.protocol==="https:"||a.protocol==="http:")||s)return;const[u,f]=(E.hash?a.hash.replace(/^#/,""):a.href).split("#"),h=u===Re(location);if(o||l.reload&&(!h||!f)){St({url:a,type:"link"})?X=!0:t.preventDefault();return}if(f!==void 0&&h){const[,p]=w.url.href.split("#");if(p===f){if(t.preventDefault(),f===""||f==="top"&&n.ownerDocument.getElementById("top")===null)window.scrollTo({top:0});else{const d=n.ownerDocument.getElementById(decodeURIComponent(f));d&&(d.scrollIntoView(),d.focus())}return}if(Y=!0,je(U),e(a),!l.replace_state)return;Y=!1}t.preventDefault(),await new Promise(p=>{requestAnimationFrame(()=>{setTimeout(p,0)}),setTimeout(p,100)}),Z({type:"link",url:a,keepfocus:l.keepfocus,noscroll:l.noscroll,replace_state:l.replace_state??a.href===location.href})}),D.addEventListener("submit",t=>{if(t.defaultPrevented)return;const n=HTMLFormElement.prototype.cloneNode.call(t.target),a=t.submitter;if(((a==null?void 0:a.formTarget)||n.target)==="_blank"||((a==null?void 0:a.formMethod)||n.method)!=="get")return;const o=new URL((a==null?void 0:a.hasAttribute("formaction"))&&(a==null?void 0:a.formAction)||n.action);if(de(o,L,!1))return;const i=t.target,s=fe(i);if(s.reload)return;t.preventDefault(),t.stopPropagation();const l=new FormData(i),u=a==null?void 0:a.getAttribute("name");u&&l.append(u,(a==null?void 0:a.getAttribute("value"))??""),o.search=new URLSearchParams(l).toString(),Z({type:"form",url:o,keepfocus:s.keepfocus,noscroll:s.noscroll,replace_state:s.replace_state??o.href===location.href})}),addEventListener("popstate",async t=>{var n;if((n=t.state)!=null&&n[V]){const a=t.state[V];if(be={},a===U)return;const o=B[a],i=t.state[Ye]??{},s=new URL(t.state[Zt]??location.href),l=t.state[G],u=Re(location)===Re(w.url);if(l===C&&(dt||u)){e(s),B[U]=Le(),o&&scrollTo(o.x,o.y),i!==v.state&&(v.state=i,Ne.$set({page:v})),U=a;return}const f=a-U;await Z({type:"popstate",url:s,popped:{state:i,scroll:o,delta:f},accept:()=>{U=a,C=l},block:()=>{history.go(-f)},nav_token:be})}else if(!Y){const a=new URL(location.href);e(a)}}),addEventListener("hashchange",()=>{Y?(Y=!1,history.replaceState({...history.state,[V]:++U,[G]:C},"",location.href)):E.hash&&w.url.hash===location.hash&&Z({type:"goto",url:w.url})});for(const t of document.querySelectorAll("link"))yr.has(t.rel)&&(t.href=t.href);addEventListener("pageshow",t=>{t.persisted&&N.navigating.set(H.current=null)});function e(t){w.url=v.url=t,N.page.set({data:v.data,error:v.error,form:v.form,params:v.params,route:v.route,state:v.state,status:v.status,url:t}),N.page.notify()}}async function Ur(e,{status:r=200,error:t,node_ids:n,params:a,route:o,data:i,form:s}){Te=!0;const l=new URL(location.href);({params:a={},route:o={id:null}}=Fe(l,!1)||{});let u,f=!0;try{const h=n.map(async(y,c)=>{const m=i[c];return m!=null&&m.uses&&(m.uses=_t(m.uses)),Be({loader:E.nodes[y],url:l,params:a,route:o,parent:async()=>{const A={};for(let R=0;R<c;R+=1)Object.assign(A,(await h[R]).data);return A},server_data_node:Ve(m)})}),p=await Promise.all(h),d=ge.find(({id:y})=>y===o.id);if(d){const y=d.layouts;for(let c=0;c<y.length;c++)y[c]||p.splice(c,0,void 0)}u=ke({url:l,params:a,branch:p,status:r,error:t,form:s,route:d??null})}catch(h){if(h instanceof st){await q(new URL(h.location,location.href));return}u=await Se({status:he(h),error:await M(h,{url:l,params:a,route:o}),url:l,route:o}),e.textContent="",f=!1}u.props.page&&(u.props.page.state={}),yt(u,e,f)}async function Et(e,r){var a;const t=new URL(e);t.pathname=Vt(e.pathname),e.pathname.endsWith("/")&&t.searchParams.append(pr,"1"),t.searchParams.append(dr,r.map(o=>o?"1":"0").join(""));const n=await Ge(t.href);if(!n.ok){let o;throw(a=n.headers.get("content-type"))!=null&&a.includes("application/json")?o=await n.json():n.status===404?o="Not Found":n.status===500&&(o="Internal Error"),new pe(n.status,o)}return new Promise(async o=>{var h;const i=new Map,s=n.body.getReader(),l=new TextDecoder;function u(p){return cr(p,{...E.decoders,Promise:d=>new Promise((y,c)=>{i.set(d,{fulfil:y,reject:c})})})}let f="";for(;;){const{done:p,value:d}=await s.read();if(p&&!f)break;for(f+=!d&&f?`
-`:l.decode(d,{stream:!0});;){const y=f.indexOf(`
-`);if(y===-1)break;const c=JSON.parse(f.slice(0,y));if(f=f.slice(y+1),c.type==="redirect")return o(c);if(c.type==="data")(h=c.nodes)==null||h.forEach(m=>{(m==null?void 0:m.type)==="data"&&(m.uses=_t(m.uses),m.data=u(m.data))}),o(c);else if(c.type==="chunk"){const{id:m,data:A,error:R}=c,b=i.get(m);i.delete(m),R?b.reject(u(R)):b.fulfil(u(A))}}}})}function _t(e){return{dependencies:new Set((e==null?void 0:e.dependencies)??[]),params:new Set((e==null?void 0:e.params)??[]),parent:!!(e!=null&&e.parent),route:!!(e!=null&&e.route),url:!!(e!=null&&e.url),search_params:new Set((e==null?void 0:e.search_params)??[])}}function Lr(){const e=document.querySelector("[autofocus]");if(e)e.focus();else{const r=document.body,t=r.getAttribute("tabindex");r.tabIndex=-1,r.focus({preventScroll:!0,focusVisible:!1}),t!==null?r.setAttribute("tabindex",t):r.removeAttribute("tabindex");const n=getSelection();if(n&&n.type!=="None"){const a=[];for(let o=0;o<n.rangeCount;o+=1)a.push(n.getRangeAt(o));setTimeout(()=>{if(n.rangeCount===a.length){for(let o=0;o<n.rangeCount;o+=1){const i=a[o],s=n.getRangeAt(o);if(i.commonAncestorContainer!==s.commonAncestorContainer||i.startContainer!==s.startContainer||i.endContainer!==s.endContainer||i.startOffset!==s.startOffset||i.endOffset!==s.endOffset)return}n.removeAllRanges()}})}}}function Rt(e,r,t,n){var s,l;let a,o;const i=new Promise((u,f)=>{a=u,o=f});return i.catch(()=>{}),{navigation:{from:{params:e.params,route:{id:((s=e.route)==null?void 0:s.id)??null},url:e.url},to:t&&{params:(r==null?void 0:r.params)??null,route:{id:((l=r==null?void 0:r.route)==null?void 0:l.id)??null},url:t},willUnload:!r,type:n,complete:i},fulfil:a,reject:o}}export{br as a,v as p,N as s,me as u};
diff --git a/static/v1/_app/immutable/chunks/entry.Ddy6icaf.js.br b/static/v1/_app/immutable/chunks/entry.Ddy6icaf.js.br
deleted file mode 100644
index 587e54e3a..000000000
Binary files a/static/v1/_app/immutable/chunks/entry.Ddy6icaf.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/entry.Ddy6icaf.js.gz b/static/v1/_app/immutable/chunks/entry.Ddy6icaf.js.gz
deleted file mode 100644
index 870541028..000000000
Binary files a/static/v1/_app/immutable/chunks/entry.Ddy6icaf.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/helpers.BvaXa0cv.js b/static/v1/_app/immutable/chunks/helpers.BvaXa0cv.js
new file mode 100644
index 000000000..c9173dd73
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/helpers.BvaXa0cv.js
@@ -0,0 +1 @@
+import{B as n}from"./index-client.CzqVbBUo.js";function e(s,t,a){var o=s.__className,r=l(t,a);n&&s.className===r?s.__className=r:(o!==r||n&&s.className!==r)&&(t==null&&!a?s.removeAttribute("class"):s.className=r,s.__className=r)}function l(s,t){return(s??"")+(t?" "+t:"")}function c(s,t,a){if(a){if(s.classList.contains(t))return;s.classList.add(t)}else{if(!s.classList.contains(t))return;s.classList.remove(t)}}function i(s,t,a,o){var r=s.__styles??(s.__styles={});r[t]!==a&&(r[t]=a,a==null?s.style.removeProperty(t):s.style.setProperty(t,a,""))}function u(s){let t=s+"=",a=decodeURIComponent(document.cookie).split(";");for(let o=0;o<a.length;o++){let r=a[o];for(;r.charAt(0)===" ";)r=r.substring(1);if(r.indexOf(t)===0)return r.substring(t.length,r.length)}return""}const f=s=>{let t="";const a=s||8;for(let o=0;o<a;o+=1){let r=60;for(;r>57&&r<65||r>90&&r<97;)r=Math.floor(Math.random()*74)+48;t=t.concat(String.fromCharCode(r))}return t},m=async s=>await new Promise(t=>setTimeout(t,s));export{u as a,e as b,m as c,f as g,i as s,c as t};
diff --git a/static/v1/_app/immutable/chunks/helpers.BvaXa0cv.js.br b/static/v1/_app/immutable/chunks/helpers.BvaXa0cv.js.br
new file mode 100644
index 000000000..200d01424
Binary files /dev/null and b/static/v1/_app/immutable/chunks/helpers.BvaXa0cv.js.br differ
diff --git a/static/v1/_app/immutable/chunks/helpers.BvaXa0cv.js.gz b/static/v1/_app/immutable/chunks/helpers.BvaXa0cv.js.gz
new file mode 100644
index 000000000..0227f6cf8
Binary files /dev/null and b/static/v1/_app/immutable/chunks/helpers.BvaXa0cv.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/helpers.DVmWh-6p.js b/static/v1/_app/immutable/chunks/helpers.DVmWh-6p.js
deleted file mode 100644
index a58c106e9..000000000
--- a/static/v1/_app/immutable/chunks/helpers.DVmWh-6p.js
+++ /dev/null
@@ -1 +0,0 @@
-function s(r){let e=r+"=",n=decodeURIComponent(document.cookie).split(";");for(let o=0;o<n.length;o++){let t=n[o];for(;t.charAt(0)===" ";)t=t.substring(1);if(t.indexOf(e)===0)return t.substring(e.length,t.length)}return""}const a=r=>{let e="";const n=r||8;for(let o=0;o<n;o+=1){let t=60;for(;t>57&&t<65||t>90&&t<97;)t=Math.floor(Math.random()*74)+48;e=e.concat(String.fromCharCode(t))}return e},i=async r=>await new Promise(e=>setTimeout(e,r));export{s as a,a as g,i as s};
diff --git a/static/v1/_app/immutable/chunks/helpers.DVmWh-6p.js.br b/static/v1/_app/immutable/chunks/helpers.DVmWh-6p.js.br
deleted file mode 100644
index 8b95ad5a9..000000000
Binary files a/static/v1/_app/immutable/chunks/helpers.DVmWh-6p.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/helpers.DVmWh-6p.js.gz b/static/v1/_app/immutable/chunks/helpers.DVmWh-6p.js.gz
deleted file mode 100644
index 491adcc6a..000000000
Binary files a/static/v1/_app/immutable/chunks/helpers.DVmWh-6p.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/i18n.svelte.BTGsPiz_.js.br b/static/v1/_app/immutable/chunks/i18n.svelte.BTGsPiz_.js.br
deleted file mode 100644
index ef12f383a..000000000
Binary files a/static/v1/_app/immutable/chunks/i18n.svelte.BTGsPiz_.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/i18n.svelte.BTGsPiz_.js.gz b/static/v1/_app/immutable/chunks/i18n.svelte.BTGsPiz_.js.gz
deleted file mode 100644
index c655a1089..000000000
Binary files a/static/v1/_app/immutable/chunks/i18n.svelte.BTGsPiz_.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/i18n.svelte.BTGsPiz_.js b/static/v1/_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js
similarity index 95%
rename from static/v1/_app/immutable/chunks/i18n.svelte.BTGsPiz_.js
rename to static/v1/_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js
index 3ff9e3402..93b4b3c21 100644
--- a/static/v1/_app/immutable/chunks/i18n.svelte.BTGsPiz_.js
+++ b/static/v1/_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js
@@ -1,4 +1,4 @@
-import{u as s}from"./language.svelte.n4n5oz7-.js";const r={common:{cancel:"Cancel",email:"E-Mail",errTooShort:"Input too short",errTooLong:"Input too long",invalidInput:"Invalid Input",never:"Never",password:"Password",required:"Required",save:"Save"},account:{account:"User Account",accType:"Account Type",accTypePasskeyText1:`This account is currently a passkey only account.
+import{u as s}from"./language.svelte.Zi8jd0TO.js";const i={common:{cancel:"Cancel",close:"Close",email:"E-Mail",errTooShort:"Input too short",errTooLong:"Input too long",invalidInput:"Invalid Input",never:"Never",password:"Password",required:"Required",save:"Save"},account:{account:"User Account",accType:"Account Type",accTypePasskeyText1:`This account is currently a passkey only account.
 This means, that you do not have any password, because you don't need one.`,accTypePasskeyText2:`You can convert your account and add a password. But keep
 in mind, that this implies, that you need to verify each new device with the password additionally.
 You then cannot just log in on any device, where you have not entered the password beforehand at
@@ -22,7 +22,7 @@ a way with stronger security. You will need at least one passkey (Yubikey, Apple
 ...) to create such an account. Your device must embrace the FIDO2 standard. For more information
 about this, you may follow this link: `,newAccount:"New Account",passwordReset:"Password Reset",password:"Password",passwordless:"FIDO Passkey",passwordConfirm:"Password Confirm",passwordNoMatch:"Passwords do not match",required:"Required",save:"Save",success1:"The password has been updated successfully.",success2:"You will be redirected shortly.",success3:"If you are not being redirected, please click here:",successPasskey1:"Your new passkey has been registered successfully.",successPasskey2:`Please log into your account and register a second backup key as
 soon as possible. With a passkey only account, you wil not be able to use a password reset via
-E-Mail in case you lose your current key.`},register:{domainAllowed:"Allowed domain:",domainErr:"E-Mail domain not allowed",domainRestricted:"E-Mail domains are restricted",email:"E-Mail",emailBadFormat:"Bad E-Mail format",emailCheck:"Please check your E-Mail inbox",regexName:"Name should have 2 - 32 non-special characters",register:"Register",success:"Registration successful",userReg:"User Registration"}},i={common:{cancel:"Abbrechen",email:"E-Mail",errTooShort:"Eingabe zu kurz",errTooLong:"Eingabe zu lang",invalidInput:"Ung\xFCltige Eingaben",never:"Niemals",password:"Passwort",required:"Notwendig",save:"Speichern"},account:{account:"Benutzer Account",accType:"Account Typ",accTypePasskeyText1:`Dies ist ein "Passkey-Only" Account. Das bedeutet, dass
+E-Mail in case you lose your current key.`},register:{domainAllowed:"Allowed domain:",domainErr:"E-Mail domain not allowed",domainRestricted:"E-Mail domains are restricted",email:"E-Mail",emailBadFormat:"Bad E-Mail format",emailCheck:"Please check your E-Mail inbox",regexName:"Name should have 2 - 32 non-special characters",register:"Register",success:"Registration successful",userReg:"User Registration"}},r={common:{cancel:"Abbrechen",close:"Schlie\xDFen",email:"E-Mail",errTooShort:"Eingabe zu kurz",errTooLong:"Eingabe zu lang",invalidInput:"Ung\xFCltige Eingaben",never:"Niemals",password:"Passwort",required:"Notwendig",save:"Speichern"},account:{account:"Benutzer Account",accType:"Account Typ",accTypePasskeyText1:`Dies ist ein "Passkey-Only" Account. Das bedeutet, dass
 dieser Account kein Passwort hat und auch keines ben\xF6tigt.`,accTypePasskeyText2:`Der Account kann in einen Passwort-Account umgewandelt
 werden. Das w\xFCrde allerdings bedeuten, dass ein Login auf einem neuen Ger\xE4t ohne vorherige, zumindest
 einmalige zus\xE4tzliche Verifizierung des Passwortes nicht mehr m\xF6glich sein wird.`,accTypePasskeyText3:"Soll dieser Account gewandelt und ein Passwort hinzugef\xFCgt werden?",accessExp:"Zugang erlischt",accessRenew:"Zugang Erneuerung bis",accessRenewDelete:"M\xF6glichkeit zur Erneuerung l\xF6schen",birthdate:"Geburtsdatum",city:"Stadt",changePassword:"Passwort wechseln",convertAccount:"Account Umwandeln",convertAccountP1:`Dieser Account kann in einen Passkey-Only Account umgewandelt
@@ -49,7 +49,7 @@ und schnelleren Login.
 Dazu wird mindestens ein Passkey (Yubikey, Apple Touch ID, Windows Hello, ...) ben\xF6tigt, welcher dem
 FIDO2 Standard gerecht wird. F\xFCr weitere Informationen k\xF6nnen Sie diesem Link folgen: `,newAccount:"Neuer Account",passwordReset:"Passwort Zur\xFCcksetzen",password:"Passwort",passwordless:"FIDO Passkey",passwordConfirm:"Passwort best\xE4tigen",passwordNoMatch:"Passw\xF6rter stimmen nicht \xFCberein",required:"Notwendig",save:"Speichern",success1:"Das Passwort wurde erfolgreich zur\xFCckgesetzt.",success2:"Sie werden in K\xFCrze weitergeleitet.",success3:"Sollte Sie nicht weitergeleitet werden, klicken Sie bitte hier:",successPasskey1:"Der neue Passkey wurde erfolgreich registriert.",successPasskey2:`Bitte loggen Sie sich direkt in Ihren Account ein und registrieren
 Sie mindestens einen weiteren Backup Passkey. Ein passwortloser Account kann nicht den Passwort
-Reset via E-Mail nutzen f\xFCr den Fall, dass der derzeitige Passkey abhanden kommt.`},register:{domainAllowed:"Erlaubte Domain:",domainErr:"E-Mail Domain ist nicht erlaubt",domainRestricted:"E-Mail Domains sind beschr\xE4nkt",email:"E-Mail",emailBadFormat:"Ung\xFCltiges E-Mail Format",emailCheck:"Bitte pr\xFCfen Sie Ihren E-Mail Posteingang",regexName:"Name mit 2 - 32 Buchstaben ohne Sonderzeichen",register:"Registrieren",success:"Registrierung erfolgreich",userReg:"Benutzer Registrierung"}},n={common:{cancel:"\uCDE8\uC18C",email:"\uC774\uBA54\uC77C",errTooShort:"\uC785\uB825\uC774 \uB108\uBB34 \uC9E7\uC2B5\uB2C8\uB2E4.",errTooLong:"\uC785\uB825\uC774 \uB108\uBB34 \uAE41\uB2C8\uB2E4.",invalidInput:"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC785\uB825\uC785\uB2C8\uB2E4.",never:"\uBB34\uAE30\uD55C",password:"\uBE44\uBC00\uBC88\uD638",required:"\uD544\uC218 \uD56D\uBAA9\uC785\uB2C8\uB2E4.",save:"\uC800\uC7A5"},account:{account:"\uC0AC\uC6A9\uC790 \uACC4\uC815",accType:"\uACC4\uC815 \uC885\uB958",accTypePasskeyText1:`\uC774 \uACC4\uC815\uC740 \uD604\uC7AC \uD328\uC2A4\uD0A4 \uC804\uC6A9 \uACC4\uC815\uC785\uB2C8\uB2E4.
+Reset via E-Mail nutzen f\xFCr den Fall, dass der derzeitige Passkey abhanden kommt.`},register:{domainAllowed:"Erlaubte Domain:",domainErr:"E-Mail Domain ist nicht erlaubt",domainRestricted:"E-Mail Domains sind beschr\xE4nkt",email:"E-Mail",emailBadFormat:"Ung\xFCltiges E-Mail Format",emailCheck:"Bitte pr\xFCfen Sie Ihren E-Mail Posteingang",regexName:"Name mit 2 - 32 Buchstaben ohne Sonderzeichen",register:"Registrieren",success:"Registrierung erfolgreich",userReg:"Benutzer Registrierung"}},n={common:{cancel:"\uCDE8\uC18C",close:"Close",email:"\uC774\uBA54\uC77C",errTooShort:"\uC785\uB825\uC774 \uB108\uBB34 \uC9E7\uC2B5\uB2C8\uB2E4.",errTooLong:"\uC785\uB825\uC774 \uB108\uBB34 \uAE41\uB2C8\uB2E4.",invalidInput:"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC785\uB825\uC785\uB2C8\uB2E4.",never:"\uBB34\uAE30\uD55C",password:"\uBE44\uBC00\uBC88\uD638",required:"\uD544\uC218 \uD56D\uBAA9\uC785\uB2C8\uB2E4.",save:"\uC800\uC7A5"},account:{account:"\uC0AC\uC6A9\uC790 \uACC4\uC815",accType:"\uACC4\uC815 \uC885\uB958",accTypePasskeyText1:`\uC774 \uACC4\uC815\uC740 \uD604\uC7AC \uD328\uC2A4\uD0A4 \uC804\uC6A9 \uACC4\uC815\uC785\uB2C8\uB2E4.
 \uC989, \uBE44\uBC00\uBC88\uD638\uAC00 \uD544\uC694\uD558\uC9C0 \uC54A\uC73C\uBBC0\uB85C, \uBE44\uBC00\uBC88\uD638\uAC00 \uC804\uD600 \uC5C6\uB2E4\uB294 \uB73B\uC785\uB2C8\uB2E4.`,accTypePasskeyText2:`\uACC4\uC815\uC744 \uC804\uD658\uD558\uACE0 \uBE44\uBC00\uBC88\uD638\uB97C \uCD94\uAC00\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
 \uB2E4\uB9CC, \uC774\uB807\uAC8C \uD558\uBA74 \uC0C8 \uAE30\uAE30\uB97C \uC778\uC99D\uD560 \uB54C\uB9C8\uB2E4 \uCD94\uAC00\uC801\uC73C\uB85C \uBE44\uBC00\uBC88\uD638 \uC778\uC99D\uC744 \uD574\uC57C \uD55C\uB2E4\uB294 \uAC83\uC744 \uBA85\uC2EC\uD574 \uC8FC\uC138\uC694.
 \uD55C \uBC88\uB3C4 \uBE44\uBC00\uBC88\uD638\uB97C \uC785\uB825\uD55C \uC801\uC774 \uC5C6\uB294 \uAE30\uAE30\uC5D0\uC11C\uB294 \uBC14\uB85C \uB85C\uADF8\uC778\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.`,accTypePasskeyText3:"\uACC4\uC815\uC744 \uC804\uD658\uD558\uACE0 \uBE44\uBC00\uBC88\uD638\uB97C \uCD94\uAC00\uD558\uACA0\uC2B5\uB2C8\uAE4C?",accessExp:"\uC811\uADFC \uB9CC\uB8CC",accessRenew:"\uC811\uADFC \uAC31\uC2E0 \uAE30\uD55C",accessRenewDelete:"\uAC31\uC2E0\uD560 \uAC00\uB2A5\uC131\uC744 \uC81C\uAC70",birthdate:"\uC0DD\uB144\uC6D4\uC77C",city:"\uB3C4\uC2DC",changePassword:"\uBE44\uBC00\uBC88\uD638 \uBCC0\uACBD",convertAccount:"\uACC4\uC815 \uC804\uD658",convertAccountP1:`\uACC4\uC815\uC744 \uD328\uC2A4\uD0A4 \uC804\uC6A9 \uACC4\uC815\uC73C\uB85C \uC804\uD658\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.
@@ -64,7 +64,7 @@ Reset via E-Mail nutzen f\xFCr den Fall, dass der derzeitige Passkey abhanden ko
 \uC811\uADFC\uD558\uB824\uBA74, \uACC4\uC815\uC5D0 \uB85C\uADF8\uC778\uD558\uACE0 \uCD5C\uC18C \uD558\uB098 \uC774\uC0C1\uC758 \uD328\uC2A4\uD0A4\uB97C \uCD94\uAC00\uD574\uC57C \uD569\uB2C8\uB2E4.`,email:"\uC774\uBA54\uC77C",emailBadFormat:"\uC798\uBABB\uB41C \uC774\uBA54\uC77C \uD615\uC2DD\uC785\uB2C8\uB2E4.",emailRequired:"\uC774\uBA54\uC77C\uC774 \uD544\uC694\uD569\uB2C8\uB2E4.",emailSentMsg:"\uC774\uBA54\uC77C\uC774 \uC874\uC7AC\uD558\uBA74, \uC694\uCCAD\uC774 \uC804\uC1A1\uB418\uC5C8\uC744 \uAC83\uC785\uB2C8\uB2E4.",http429:"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC785\uB825\uC774 \uB108\uBB34 \uB9CE\uC2B5\uB2C8\uB2E4. \uB2E4\uC74C \uC2DC\uAC04 \uC804\uAE4C\uC9C0 \uBE44\uD65C\uC131\uD654\uD569\uB2C8\uB2E4:",invalidCredentials:"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uC778\uC99D \uC815\uBCF4\uC785\uB2C8\uB2E4.",invalidKeyUsed:"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uD0A4\uC785\uB2C8\uB2E4.",login:"\uB85C\uADF8\uC778",mfaAck:"\uD655\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",password:"\uBE44\uBC00\uBC88\uD638",passwordForgotten:"\uBE44\uBC00\uBC88\uD638\uB97C \uC78A\uC73C\uC168\uB098\uC694?",passwordRequest:"\uC694\uCCAD",passwordRequired:"\uBE44\uBC00\uBC88\uD638\uB294 \uD544\uC694\uD569\uB2C8\uB2E4.",provideMfa:"MFA \uAE30\uAE30\uB97C \uD1B5\uD574 \uB85C\uADF8\uC778\uD574 \uC8FC\uC138\uC694.",requestExpires:"\uC694\uCCAD \uB9CC\uB8CC\uC77C",signUp:"\uC0AC\uC6A9\uC790 \uAC00\uC785"},device:{accept:"\uC218\uB77D",autoRedirectAccount:"\uC9C0\uAE08 \uACC4\uC815\uC73C\uB85C \uB9AC\uB2E4\uC774\uB809\uD2B8\uB420 \uC608\uC815\uC785\uB2C8\uB2E4.",closeWindow:"\uC774\uC81C \uCC3D\uC744 \uB2EB\uC544\uB3C4 \uB429\uB2C8\uB2E4.",decline:"\uAC70\uC808",desc:"\uAE30\uAE30\uC5D0\uC11C {{count}}\uC790\uC758 \uC0AC\uC6A9\uC790 \uCF54\uB4DC\uB97C \uC785\uB825\uD574 \uC8FC\uC138\uC694.",descScopes:"\uB2E4\uC74C \uAE30\uAE30\uAC00 \uC811\uADFC\uC744 \uC694\uCCAD\uD569\uB2C8\uB2E4:",isAccepted:"\uC694\uCCAD\uC774 \uC218\uB77D\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",isDeclined:"\uC694\uCCAD\uC774 \uAC70\uC808\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",submit:"\uC81C\uCD9C",title:"\uAE30\uAE30 \uC778\uC99D",userCode:"\uC0AC\uC6A9\uC790 \uCF54\uB4DC",wrongOrExpired:"\uC798\uBABB\uB418\uAC70\uB098 \uB9CC\uB8CC\uB41C \uCF54\uB4DC\uC785\uB2C8\uB2E4."},emailChange:{title:"\uC774\uBA54\uC77C \uBCC0\uACBD\uC774 \uC2B9\uC778\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",textChanged:"\uC774\uBA54\uC77C \uC8FC\uC18C\uAC00 \uB2E4\uC74C\uC73C\uB85C\uBD80\uD130 \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4",textLogin:"\uC774\uC81C \uC0C8\uB85C\uC6B4 \uC8FC\uC18C\uB85C \uB85C\uADF8\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",to:"\uC5D0\uC11C"},error:{details:"\uC790\uC138\uD55C \uC815\uBCF4 \uD45C\uC2DC"},index:{register:"\uAC00\uC785",accountLogin:"\uACC4\uC815",adminLogin:"\uAD00\uB9AC"},logout:{logout:"\uB85C\uADF8\uC544\uC6C3",confirmMsg:"\uC815\uB9D0\uB85C \uB85C\uADF8\uC544\uC6C3\uD558\uACE0 \uC138\uC158\uC744 \uC885\uB8CC\uD558\uACA0\uC2B5\uB2C8\uAE4C?",cancel:"\uCDE8\uC18C"},mfa:{p1:"\uC708\uB3C4\uC6B0\uC640 \uC548\uB4DC\uB85C\uC774\uB4DC\uC640 \uAC19\uC740 \uC5EC\uB7EC \uC2DC\uC2A4\uD15C\uC5D0\uC11C MFA \uD0A4\uB97C \uC0AC\uC6A9\uD558\uB824\uBA74, \uC548\uB4DC\uB85C\uC774\uB4DC\uC5D0\uC11C \uB4F1\uB85D\uD574\uC57C \uD569\uB2C8\uB2E4.",p2:"\uC548\uB4DC\uB85C\uC774\uB4DC\uB294 \uBE44\uBC00\uBC88\uD638 \uC5C6\uC774 \uC778\uC99D\uD558\uB294 \uAE30\uC220\uC744 \uAC00\uC7A5 \uC801\uAC8C \uC9C0\uC6D0\uD558\uB294 \uD50C\uB7AB\uD3FC \uC911 \uD558\uB098\uC785\uB2C8\uB2E4. \uC548\uB4DC\uB85C\uC774\uB4DC\uC5D0\uC11C \uB4F1\uB85D\uD55C \uD0A4\uB294 \uB2E4\uB978 \uACF3\uC5D0\uC11C\uB3C4 \uC791\uB3D9\uD569\uB2C8\uB2E4. \uADF8\uB7EC\uB098, \uADF8 \uBC18\uB300\uB85C\uB294 \uC801\uC6A9\uB418\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",delete:"\uC0AD\uC81C",errorReg:"\uAC00\uC785 \uC808\uCC28 \uC2DC\uC791 \uC911 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.",invalidKeyUsed:"\uC720\uD6A8\uD558\uC9C0 \uC54A\uC740 \uD0A4\uAC00 \uC0AC\uC6A9\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",lastUsed:"\uB9C8\uC9C0\uB9C9 \uC0AC\uC6A9",noKey:"\uC774 \uC2AC\uB86F\uC5D0 \uB4F1\uB85D\uB41C \uBCF4\uC548 \uD0A4\uAC00 \uC5C6\uC2B5\uB2C8\uB2E4.",register:"\uB4F1\uB85D",registerNew:"\uC0C8 \uD0A4 \uB4F1\uB85D",registerd:"\uB4F1\uB85D\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",registerdKeys:"\uB4F1\uB85D\uB41C \uD0A4",passkeyName:"\uD328\uC2A4\uD0A4 \uC774\uB984",passkeyNameErr:"\uD2B9\uC218\uBB38\uC790\uB97C \uC81C\uC678\uD55C 2\uC790\uC5D0\uC11C 32\uC790\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.",test:"\uD14C\uC2A4\uD2B8",testError:"\uD14C\uC2A4\uD2B8 \uC2DC\uC791 \uC911\uC5D0 \uC624\uB958\uAC00 \uBC1C\uC0DD\uD588\uC2B5\uB2C8\uB2E4.",testSuccess:"\uD14C\uC2A4\uD2B8 \uC131\uACF5"},passwordPolicy:{passwordPolicy:"\uBE44\uBC00\uBC88\uD638 \uC815\uCC45",lengthMin:"\uCD5C\uC18C \uC790\uC218",lengthMax:"\uCD5C\uB300 \uC790\uC218",lowercaseMin:"\uCD5C\uC18C \uC18C\uBB38\uC790 \uC790\uC218",uppercaseMin:"\uCD5C\uC18C \uB300\uBB38\uC790 \uC790\uC218",digitsMin:"\uCD5C\uC18C \uC22B\uC790 \uC790\uC218",specialMin:"\uCD5C\uC18C \uD2B9\uC218\uBB38\uC790 \uC790\uC218",notRecent:"\uCD5C\uADFC \uC0AC\uC6A9\uD55C \uBE44\uBC00\uBC88\uD638 \uC911 \uD558\uB098\uAC00 \uC544\uB2CC \uAC83"},passwordReset:{accountLogin:"\uACC4\uC815 \uB85C\uADF8\uC778",badFormat:"\uC798\uBABB\uB41C \uD615\uC2DD",fidoLink:"https://fidoalliance.org/fido2/?lang=ko",generate:"\uC0DD\uC131",newAccDesc1:"\uACC4\uC815 \uC885\uB958\uB294 \uBE44\uBC00\uBC88\uD638\uAC00 \uC5C6\uB294 \uACC4\uC815 \uB610\uB294 \uAE30\uC874\uC758 \uBE44\uBC00\uBC88\uD638\uAC00 \uC788\uB294 \uACC4\uC815 \uC911 \uD558\uB098\uB97C \uC120\uD0DD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",newAccDesc2:`\uBE44\uBC00\uBC88\uD638\uAC00 \uC5C6\uB294 \uACC4\uC815\uC740 \uB354 \uAC15\uB825\uD55C \uBCF4\uC548 \uBC29\uBC95\uC744 \uC81C\uACF5\uD558\uAE30 \uB54C\uBB38\uC5D0 \uD56D\uC0C1 \uC120\uD638\uB429\uB2C8\uB2E4.
 \uC774\uB7EC\uD55C \uACC4\uC815\uC744 \uC0DD\uC131\uD558\uB824\uBA74 \uCD5C\uC18C \uD558\uB098\uC758 \uD328\uC2A4\uD0A4(Yubikey, Apple Touch ID, Windows Hello, ...)\uAC00 \uD544\uC694\uD569\uB2C8\uB2E4. \uAE30\uAE30\uAC00 FIDO2 \uD45C\uC900\uC744 \uC9C0\uC6D0\uD574\uC57C \uD569\uB2C8\uB2E4.
 \uB354 \uC790\uC138\uD55C \uC0AC\uD56D\uC740 \uB2E4\uC74C \uB9C1\uD06C\uB97C \uCC38\uACE0\uD574 \uC8FC\uC138\uC694: `,newAccount:"\uC0C8 \uACC4\uC815",passwordReset:"\uBE44\uBC00\uBC88\uD638 \uCD08\uAE30\uD654",password:"\uBE44\uBC00\uBC88\uD638",passwordless:"FIDO \uD328\uC2A4\uD0A4",passwordConfirm:"\uBE44\uBC00\uBC88\uD638 \uD655\uC778",passwordNoMatch:"\uBE44\uBC00\uBC88\uD638\uAC00 \uC77C\uCE58\uD558\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4.",required:"\uD544\uC218",save:"\uC800\uC7A5",success1:"\uBE44\uBC00\uBC88\uD638\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uBCC0\uACBD\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",success2:"\uACE7 \uB9AC\uB2E4\uC774\uB809\uD2B8\uB429\uB2C8\uB2E4.",success3:"\uB9CC\uC57D \uB9AC\uB2E4\uC774\uB809\uD2B8\uAC00 \uB418\uC9C0 \uC54A\uC73C\uBA74, \uC5EC\uAE30\uB97C \uD074\uB9AD\uD574 \uC8FC\uC138\uC694:",successPasskey1:"\uC0C8\uB85C\uC6B4 \uD328\uC2A4\uD0A4\uAC00 \uC131\uACF5\uC801\uC73C\uB85C \uB4F1\uB85D\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",successPasskey2:`\uACC4\uC815\uC5D0 \uB85C\uADF8\uC778\uD558\uC5EC \uAC00\uB2A5\uD55C \uD55C \uBE68\uB9AC \uB450 \uBC88\uC9F8 \uBC31\uC5C5 \uD0A4\uB97C \uB4F1\uB85D\uD574 \uC8FC\uC138\uC694.
-\uD328\uC2A4\uD0A4 \uC804\uC6A9 \uACC4\uC815\uC740 \uD604\uC7AC \uD328\uC2A4\uD0A4\uB97C \uC783\uC5B4\uBC84\uB9AC\uBA74, \uC774\uBA54\uC77C\uC744 \uD1B5\uD558\uC5EC \uBE44\uBC00\uBC88\uD638 \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.`},register:{domainAllowed:"\uD5C8\uC6A9\uB41C \uB3C4\uBA54\uC778:",domainErr:"\uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC740 \uC774\uBA54\uC77C\uC758 \uB3C4\uBA54\uC778\uC785\uB2C8\uB2E4.",domainRestricted:"\uC774\uBA54\uC77C\uC758 \uB3C4\uBA54\uC778\uC774 \uC81C\uD55C\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.",email:"\uC774\uBA54\uC77C",emailBadFormat:"\uC798\uBABB\uB41C \uC774\uBA54\uC77C \uD615\uC2DD\uC785\uB2C8\uB2E4.",emailCheck:"\uC774\uBA54\uC77C \uBCF4\uAD00\uD568\uC744 \uD655\uC778\uD574 \uC8FC\uC138\uC694.",regexName:"\uC774\uB984\uC740 \uD2B9\uC218\uBB38\uC790\uB97C \uC81C\uC678\uD55C 2\uC790\uC5D0\uC11C 32\uC790\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.",register:"\uAC00\uC785",success:"\uC131\uACF5\uC801\uC73C\uB85C \uAC00\uC785\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",userReg:"\uC0AC\uC6A9\uC790 \uAC00\uC785"}},t={common:{cancel:"\u53D6\u6D88",email:"\u7535\u5B50\u90AE\u7BB1",errTooShort:"\u8F93\u5165\u8FC7\u77ED",errTooLong:"\u8F93\u5165\u8FC7\u957F",invalidInput:"\u65E0\u6548\u8F93\u5165",never:"\u4ECE\u4E0D",password:"\u5BC6\u7801",required:"\u5FC5\u586B",save:"\u4FDD\u5B58"},account:{account:"\u7528\u6237\u8D26\u6237",accType:"\u8D26\u6237\u7C7B\u578B",accTypePasskeyText1:`\u6B64\u8D26\u6237\u76EE\u524D\u4E3A\u4EC5\u5BC6\u94A5\u767B\u5F55\u8D26\u6237\u3002
+\uD328\uC2A4\uD0A4 \uC804\uC6A9 \uACC4\uC815\uC740 \uD604\uC7AC \uD328\uC2A4\uD0A4\uB97C \uC783\uC5B4\uBC84\uB9AC\uBA74, \uC774\uBA54\uC77C\uC744 \uD1B5\uD558\uC5EC \uBE44\uBC00\uBC88\uD638 \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.`},register:{domainAllowed:"\uD5C8\uC6A9\uB41C \uB3C4\uBA54\uC778:",domainErr:"\uD5C8\uC6A9\uB418\uC9C0 \uC54A\uC740 \uC774\uBA54\uC77C\uC758 \uB3C4\uBA54\uC778\uC785\uB2C8\uB2E4.",domainRestricted:"\uC774\uBA54\uC77C\uC758 \uB3C4\uBA54\uC778\uC774 \uC81C\uD55C\uB418\uC5B4 \uC788\uC2B5\uB2C8\uB2E4.",email:"\uC774\uBA54\uC77C",emailBadFormat:"\uC798\uBABB\uB41C \uC774\uBA54\uC77C \uD615\uC2DD\uC785\uB2C8\uB2E4.",emailCheck:"\uC774\uBA54\uC77C \uBCF4\uAD00\uD568\uC744 \uD655\uC778\uD574 \uC8FC\uC138\uC694.",regexName:"\uC774\uB984\uC740 \uD2B9\uC218\uBB38\uC790\uB97C \uC81C\uC678\uD55C 2\uC790\uC5D0\uC11C 32\uC790\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.",register:"\uAC00\uC785",success:"\uC131\uACF5\uC801\uC73C\uB85C \uAC00\uC785\uB418\uC5C8\uC2B5\uB2C8\uB2E4.",userReg:"\uC0AC\uC6A9\uC790 \uAC00\uC785"}},t={common:{cancel:"\u53D6\u6D88",close:"Close",email:"\u7535\u5B50\u90AE\u7BB1",errTooShort:"\u8F93\u5165\u8FC7\u77ED",errTooLong:"\u8F93\u5165\u8FC7\u957F",invalidInput:"\u65E0\u6548\u8F93\u5165",never:"\u4ECE\u4E0D",password:"\u5BC6\u7801",required:"\u5FC5\u586B",save:"\u4FDD\u5B58"},account:{account:"\u7528\u6237\u8D26\u6237",accType:"\u8D26\u6237\u7C7B\u578B",accTypePasskeyText1:`\u6B64\u8D26\u6237\u76EE\u524D\u4E3A\u4EC5\u5BC6\u94A5\u767B\u5F55\u8D26\u6237\u3002
 \u56E0\u6B64\uFF0C\u6B64\u8D26\u6237\u6CA1\u6709\u5BC6\u7801\uFF0C\u4E5F\u65E0\u9700\u8BBE\u7F6E\u5BC6\u7801\u3002`,accTypePasskeyText2:`\u60A8\u53EF\u4EE5\u8F6C\u6362\u6B64\u8D26\u6237\u5E76\u6DFB\u52A0\u5BC6\u7801\u3002
 \u4F46\u8BF7\u6CE8\u610F\uFF0C\u8C03\u6574\u540E\u5728\u65B0\u8BBE\u5907\u4E0A\u767B\u5F55\u65F6\u9700\u989D\u5916\u8FDB\u884C\u5BC6\u7801\u9A8C\u8BC1\u3002
 \u5982\u679C\u60A8\u6CA1\u6709\u4E8B\u5148\u8F93\u5165\u8FC7\u81F3\u5C11\u4E00\u6B21\u5BC6\u7801\uFF0C\u60A8\u5C06\u65E0\u6CD5\u5728\u4EFB\u4F55\u8BBE\u5907\u4E0A\u767B\u5F55\u3002`,accTypePasskeyText3:"\u60A8\u60F3\u8981\u8F6C\u6362\u60A8\u7684\u8D26\u6237\u5E76\u6DFB\u52A0\u4E00\u4E2A\u5BC6\u7801\u5417\uFF1F",accessExp:"\u8FC7\u671F",accessRenew:"\u7EED\u671F\u81F3",accessRenewDelete:"\u7981\u6B62\u7EED\u671F",birthdate:"\u751F\u65E5",city:"\u57CE\u5E02",changePassword:"\u66F4\u6539\u5BC6\u7801",convertAccount:"\u8F6C\u6362\u8D26\u6237",convertAccountP1:`\u60A8\u53EF\u4EE5\u5C06\u60A8\u7684\u8D26\u6237\u8F6C\u6362\u4E3A\u4EC5\u5BC6\u94A5\u767B\u9646\u8D26\u6237\u3002
@@ -79,4 +79,4 @@ WebID\u88AB\u4E00\u4E9B\u7F51\u7EDC\u7528\u4E8E\u53BB\u4E2D\u5FC3\u5316\u767B\u9
 \u8981\u5B8C\u6210\u767B\u9646\uFF0C\u8BF7\u767B\u5165\u60A8\u7684\u8D26\u6237\u5E76\u6DFB\u52A0\u4E00\u4E2A\u767B\u9646\u5BC6\u94A5\u3002`,email:"\u7535\u5B50\u90AE\u4EF6\u5730\u5740",emailBadFormat:"\u9519\u8BEF\u7684\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u683C\u5F0F",emailRequired:"\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u5FC5\u586B\u3002",emailSentMsg:"\u5982\u679C\u60A8\u7684\u7535\u5B50\u90AE\u4EF6\u5B58\u5728\uFF0C\u6211\u4EEC\u5DF2\u53D1\u9001\u8BF7\u6C42\u90AE\u4EF6\u3002",http429:"\u8FC7\u591A\u65E0\u6548\u8F93\u5165\uFF0C\u5DF2\u9501\u5B9A\u81F3\uFF1A",invalidCredentials:"\u65E0\u6548\u8BC1\u660E",invalidKeyUsed:"\u65E0\u6548\u5BC6\u94A5",login:"\u767B\u9646",mfaAck:"\u5DF2\u786E\u8BA4",password:"\u5BC6\u7801",passwordForgotten:"\u5FD8\u8BB0\u5BC6\u7801",passwordRequest:"\u8BF7\u6C42",passwordRequired:"\u5BC6\u7801\u5FC5\u586B\u3002",provideMfa:"\u8BF7\u4F7F\u7528MFA\u8BBE\u5907\u767B\u9646",requestExpires:"\u8BF7\u6C42\u8FC7\u671F",signUp:"\u7528\u6237\u6CE8\u518C"},device:{accept:"\u63A5\u53D7",autoRedirectAccount:"\u60A8\u5C06\u88AB\u81EA\u52A8\u91CD\u5B9A\u5411\u81F3\u60A8\u7684\u8D26\u6237\u3002",closeWindow:"\u60A8\u73B0\u5728\u53EF\u4EE5\u5173\u95ED\u6B64\u7A97\u53E3\u4E86\u3002",decline:"\u62D2\u7EDD",desc:"\u8BF7\u8F93\u5165\u6765\u81EA\u60A8\u7684\u8BBE\u5907\u7684{{count}}\u4F4D\u7528\u6237\u4EE3\u7801\u3002",descScopes:"\u6B64\u8BBE\u5907\u8BF7\u6C42\u8BBF\u95EE\uFF1A",isAccepted:"\u8BF7\u6C42\u5DF2\u88AB\u63A5\u53D7\u3002",isDeclined:"\u8BF7\u6C42\u5DF2\u88AB\u62D2\u7EDD\u3002",submit:"\u63D0\u4EA4",title:"\u8BBE\u5907\u6388\u6743",userCode:"\u7528\u6237\u4EE3\u7801",wrongOrExpired:"\u4EE3\u7801\u9519\u8BEF\u6216\u5DF2\u8FC7\u671F"},emailChange:{title:"\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u5DF2\u66F4\u65B0",textChanged:"\u60A8\u7684\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u5DF2\u4ECE",textLogin:"\u60A8\u73B0\u5728\u53EF\u4EE5\u4F7F\u7528\u60A8\u7684\u65B0\u5730\u5740\u8FDB\u884C\u767B\u9646\u3002",to:"\u66F4\u65B0\u4E3A"},error:{details:"\u663E\u793A\u8BE6\u60C5"},index:{register:"\u6CE8\u518C",accountLogin:"\u767B\u9646",adminLogin:"\u7BA1\u7406"},logout:{logout:"\u9000\u51FA\u767B\u5F55",confirmMsg:"\u60A8\u786E\u5B9A\u8981\u9000\u51FA\u767B\u5F55\u5E76\u7ED3\u675F\u4F1A\u8BDD\u5417\uFF1F",cancel:"\u53D6\u6D88"},mfa:{p1:"\u5982\u679C\u60A8\u8BA1\u5212\u5728\u591A\u4E2A\u7CFB\u7EDF\u4E0A\u4F7F\u7528\u60A8\u7684MFA\u5BC6\u94A5\uFF0C\u4F8B\u5982Windows\u548CAndroid\uFF0C\u60A8\u5E94\u8BE5\u5728Android\u4E0A\u8FDB\u884C\u6CE8\u518C\u3002",p2:"Android\u662F\u652F\u6301\u65E0\u5BC6\u7801\u767B\u9646\u7279\u6027\u6700\u5C11\u7684\u5E73\u53F0\u3002\u80FD\u591F\u5728Android\u4E0A\u8FDB\u884C\u6CE8\u518C\u7684\u5BC6\u94A5\u4E5F\u5E94\u80FD\u5728\u5176\u4ED6\u5E73\u53F0\u4E0A\u4F7F\u7528\u3002",delete:"\u5220\u9664",errorReg:"\u5F00\u59CB\u6CE8\u518C\u8FC7\u7A0B\u65F6\u51FA\u73B0\u9519\u8BEF\u3002",invalidKeyUsed:"\u4F7F\u7528\u7684\u5BC6\u94A5\u65E0\u6548",lastUsed:"\u6700\u540E\u4F7F\u7528",noKey:"\u6B64\u69FD\u4F4D\u6CA1\u6709\u5DF2\u6CE8\u518C\u7684\u5B89\u5168\u5BC6\u94A5",register:"\u6CE8\u518C",registerNew:"\u6CE8\u518C\u65B0\u7684\u5BC6\u94A5",registerd:"\u6CE8\u518C\u65F6\u95F4",registerdKeys:"\u5DF2\u6CE8\u518C\u7684\u5BC6\u94A5",passkeyName:"\u5BC6\u94A5\u540D\u79F0",passkeyNameErr:"\u9700\u8981\u540D\u79F0\u9700\u8981\u67092-32\u4E2A\u975E\u7279\u6B8A\u5B57\u7B26",test:"\u6D4B\u8BD5",testError:"\u5F00\u59CB\u6D4B\u8BD5\u65F6\u51FA\u73B0\u9519\u8BEF",testSuccess:"\u6D4B\u8BD5\u6210\u529F\uFF01"},passwordPolicy:{passwordPolicy:"\u5BC6\u7801\u8981\u6C42",lengthMin:"\u6700\u5C0F\u957F\u5EA6",lengthMax:"\u6700\u957F\u957F\u5EA6",lowercaseMin:"\u6700\u5C11\u5C0F\u5199\u5B57\u6BCD",uppercaseMin:"\u6700\u5C11\u5927\u5199\u5B57\u6BCD",digitsMin:"\u6700\u5C11\u6570\u5B57",specialMin:"\u6700\u5C11\u7279\u6B8A\u5B57\u7B26",notRecent:"\u4E0D\u662F\u6700\u8FD1\u4F7F\u7528\u8FC7\u7684\u5BC6\u7801\u4E4B\u4E00"},passwordReset:{accountLogin:"\u8D26\u6237\u767B\u5F55",badFormat:"\u683C\u5F0F\u9519\u8BEF",fidoLink:"https://fidoalliance.org/fido2/?lang=zh-hans",generate:"\u751F\u6210",newAccDesc1:"\u60A8\u53EF\u4EE5\u5728\u65E0\u5BC6\u7801\u8D26\u6237\u548C\u4F20\u7EDF\u7684\u5BC6\u7801\u8D26\u6237\u4E4B\u4E2D\u9009\u62E9\u5176\u4E00\u3002",newAccDesc2:`\u65E0\u5BC6\u7801\u8D26\u6237\u5E94\u88AB\u4F18\u5148\u8003\u8651\uFF0C\u56E0\u4E3A\u5176\u63D0\u4F9B\u66F4\u5F3A\u7684\u5B89\u5168\u6027\u3002
 \u60A8\u9700\u8981\u81F3\u5C11\u4E00\u4E2A\u652F\u6301FIDO2\u6807\u51C6\u7684\u901A\u884C\u5BC6\u94A5\uFF08Yubikey\u3001Apple Touch ID\u6216Windows Hello\u7B49\uFF09\u4EE5\u5B8C\u6210\u8D26\u6237\u521B\u5EFA\u3002
 \u83B7\u53D6\u66F4\u591A\u4FE1\u606F\uFF1A`,newAccount:"\u65B0\u8D26\u6237",passwordReset:"\u5BC6\u7801\u91CD\u7F6E",password:"\u5BC6\u7801",passwordless:"FIDO\u901A\u884C\u5BC6\u94A5",passwordConfirm:"\u5BC6\u7801\u786E\u8BA4",passwordNoMatch:"\u5BC6\u7801\u4E0D\u5339\u914D",required:"\u5FC5\u586B",save:"\u4FDD\u5B58",success1:"\u5BC6\u7801\u5DF2\u6210\u529F\u66F4\u65B0\u3002",success2:"\u60A8\u5C06\u88AB\u91CD\u5B9A\u5411\u3002",success3:"\u5982\u679C\u60A8\u672A\u88AB\u91CD\u5B9A\u5411\uFF0C\u8BF7\u70B9\u51FB\u6B64\u94FE\u63A5\uFF1A",successPasskey1:"\u60A8\u7684\u901A\u884C\u5BC6\u94A5\u5DF2\u6210\u529F\u6CE8\u518C\u3002",successPasskey2:`\u8BF7\u767B\u5165\u60A8\u7684\u8D26\u6237\u5E76\u5C3D\u5FEB\u6CE8\u518C\u4E00\u4E2A\u5907\u4EFD\u5BC6\u94A5\u3002
-\u5BF9\u4E8E\u4EC5\u5BC6\u94A5\u767B\u9646\u7684\u8D26\u6237\uFF0C\u5728\u4E22\u5931\u60A8\u5F53\u524D\u7684\u5BC6\u94A5\u65F6\uFF0C\u60A8\u65E0\u6CD5\u901A\u8FC7\u7535\u5B50\u90AE\u4EF6\u8FDB\u884C\u5BC6\u7801\u91CD\u7F6E\u3002`},register:{domainAllowed:"\u5141\u8BB8\u7684\u57DF\u540D\uFF1A",domainErr:"\u6B64\u7535\u5B50\u90AE\u4EF6\u57DF\u540D\u4E0D\u88AB\u5141\u8BB8",domainRestricted:"\u7535\u5B50\u90AE\u4EF6\u57DF\u540D\u88AB\u9650\u5236",email:"\u7535\u5B50\u90AE\u4EF6",emailBadFormat:"\u9519\u8BEF\u7684\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u683C\u5F0F",emailCheck:"\u8BF7\u68C0\u67E5\u60A8\u7684\u7535\u5B50\u90AE\u4EF6\u6536\u4EF6\u7BB1",regexName:"\u540D\u5B57\u5E94\u67092-32\u4E2A\u975E\u7279\u6B8A\u5B57\u7B26\u3002",register:"\u6CE8\u518C",success:"\u6CE8\u518C\u6210\u529F",userReg:"\u7528\u6237\u6CE8\u518C"}};let e;function a(){return e}function o(){switch(s()){case"de":e=i;break;case"ko":e=n;break;case"zh":e=t;break;default:e=r;break}}export{o as i,a as u};
+\u5BF9\u4E8E\u4EC5\u5BC6\u94A5\u767B\u9646\u7684\u8D26\u6237\uFF0C\u5728\u4E22\u5931\u60A8\u5F53\u524D\u7684\u5BC6\u94A5\u65F6\uFF0C\u60A8\u65E0\u6CD5\u901A\u8FC7\u7535\u5B50\u90AE\u4EF6\u8FDB\u884C\u5BC6\u7801\u91CD\u7F6E\u3002`},register:{domainAllowed:"\u5141\u8BB8\u7684\u57DF\u540D\uFF1A",domainErr:"\u6B64\u7535\u5B50\u90AE\u4EF6\u57DF\u540D\u4E0D\u88AB\u5141\u8BB8",domainRestricted:"\u7535\u5B50\u90AE\u4EF6\u57DF\u540D\u88AB\u9650\u5236",email:"\u7535\u5B50\u90AE\u4EF6",emailBadFormat:"\u9519\u8BEF\u7684\u7535\u5B50\u90AE\u4EF6\u5730\u5740\u683C\u5F0F",emailCheck:"\u8BF7\u68C0\u67E5\u60A8\u7684\u7535\u5B50\u90AE\u4EF6\u6536\u4EF6\u7BB1",regexName:"\u540D\u5B57\u5E94\u67092-32\u4E2A\u975E\u7279\u6B8A\u5B57\u7B26\u3002",register:"\u6CE8\u518C",success:"\u6CE8\u518C\u6210\u529F",userReg:"\u7528\u6237\u6CE8\u518C"}};let e;function a(){return e}function o(){switch(s()){case"de":e=r;break;case"ko":e=n;break;case"zh":e=t;break;default:e=i;break}}export{o as i,a as u};
diff --git a/static/v1/_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js.br b/static/v1/_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js.br
new file mode 100644
index 000000000..d962f730e
Binary files /dev/null and b/static/v1/_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js.br differ
diff --git a/static/v1/_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js.gz b/static/v1/_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js.gz
new file mode 100644
index 000000000..a798f2dd0
Binary files /dev/null and b/static/v1/_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/if.BnegfJmL.js b/static/v1/_app/immutable/chunks/if.BnegfJmL.js
new file mode 100644
index 000000000..beb4cab0a
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/if.BnegfJmL.js
@@ -0,0 +1 @@
+import{S as y,Y as I,Z as M,_ as c,a0 as S,j as d,a1 as j,a2 as v,g as P,v as Y,a3 as Z,a4 as k,a5 as q,A as z,B as m,a6 as C,K as E,a7 as H,a8 as L,G as Q,F as N,a9 as _,N as A,aa as B,I as T}from"./index-client.CzqVbBUo.js";function w(i,b=null,D){if(typeof i!="object"||i===null||y in i)return i;const g=k(i);if(g!==I&&g!==M)return i;var n=new Map,o=q(i),f=c(0);o&&n.set("length",c(i.length));var p;return new Proxy(i,{defineProperty(s,r,e){(!("value"in e)||e.configurable===!1||e.enumerable===!1||e.writable===!1)&&S();var a=n.get(r);return a===void 0?(a=c(e.value),n.set(r,a)):d(a,w(e.value,p)),!0},deleteProperty(s,r){var e=n.get(r);if(e===void 0)r in s&&n.set(r,c(v));else{if(o&&typeof r=="string"){var a=n.get("length"),t=Number(r);Number.isInteger(t)&&t<a.v&&d(a,t)}d(e,v),F(f)}return!0},get(s,r,e){var u;if(r===y)return i;var a=n.get(r),t=r in s;if(a===void 0&&(!t||(u=j(s,r))!=null&&u.writable)&&(a=c(w(t?s[r]:v,p)),n.set(r,a)),a!==void 0){var l=P(a);return l===v?void 0:l}return Reflect.get(s,r,e)},getOwnPropertyDescriptor(s,r){var e=Reflect.getOwnPropertyDescriptor(s,r);if(e&&"value"in e){var a=n.get(r);a&&(e.value=P(a))}else if(e===void 0){var t=n.get(r),l=t==null?void 0:t.v;if(t!==void 0&&l!==v)return{enumerable:!0,configurable:!0,value:l,writable:!0}}return e},has(s,r){var l;if(r===y)return!0;var e=n.get(r),a=e!==void 0&&e.v!==v||Reflect.has(s,r);if(e!==void 0||Y!==null&&(!a||(l=j(s,r))!=null&&l.writable)){e===void 0&&(e=c(a?w(s[r],p):v),n.set(r,e));var t=P(e);if(t===v)return!1}return a},set(s,r,e,a){var x;var t=n.get(r),l=r in s;if(o&&r==="length")for(var u=e;u<t.v;u+=1){var h=n.get(u+"");h!==void 0?d(h,v):u in s&&(h=c(v),n.set(u+"",h))}t===void 0?(!l||(x=j(s,r))!=null&&x.writable)&&(t=c(void 0),d(t,w(e,p)),n.set(r,t)):(l=t.v!==v,d(t,w(e,p)));var O=Reflect.getOwnPropertyDescriptor(s,r);if(O!=null&&O.set&&O.set.call(a,e),!l){if(o&&typeof r=="string"){var K=n.get("length"),R=Number(r);Number.isInteger(R)&&R>=K.v&&d(K,R+1)}F(f)}return!0},ownKeys(s){P(f);var r=Reflect.ownKeys(s).filter(t=>{var l=n.get(t);return l===void 0||l.v!==v});for(var[e,a]of n)a.v!==v&&!(e in s)&&r.push(e);return r},setPrototypeOf(){Z()}})}function F(i,b=1){d(i,i.v+b)}function G(i){return i!==null&&typeof i=="object"&&y in i?i[y]:i}function U(i,b){return Object.is(G(i),G(b))}function V(i,b,D=!1){m&&C();var g=i,n=null,o=null,f=v,p=D?E:0,s=!1;const r=(a,t=!0)=>{s=!0,e(t,a)},e=(a,t)=>{if(f===(f=a))return;let l=!1;if(m){const u=g.data===H;!!f===u&&(g=L(),Q(g),N(!1),l=!0)}f?(n?_(n):t&&(n=A(()=>t(g))),o&&B(o,()=>{o=null})):(o?_(o):t&&(o=A(()=>t(g))),n&&B(n,()=>{n=null})),l&&N(!0)};z(()=>{s=!1,b(r),s||e(null,null)},p),m&&(g=T)}export{U as a,V as i,w as p};
diff --git a/static/v1/_app/immutable/chunks/if.BnegfJmL.js.br b/static/v1/_app/immutable/chunks/if.BnegfJmL.js.br
new file mode 100644
index 000000000..9fb2a5246
Binary files /dev/null and b/static/v1/_app/immutable/chunks/if.BnegfJmL.js.br differ
diff --git a/static/v1/_app/immutable/chunks/if.BnegfJmL.js.gz b/static/v1/_app/immutable/chunks/if.BnegfJmL.js.gz
new file mode 100644
index 000000000..2c5f2aa3f
Binary files /dev/null and b/static/v1/_app/immutable/chunks/if.BnegfJmL.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/if.DUA6Hpfn.js b/static/v1/_app/immutable/chunks/if.DUA6Hpfn.js
deleted file mode 100644
index 2c88cf6c8..000000000
--- a/static/v1/_app/immutable/chunks/if.DUA6Hpfn.js
+++ /dev/null
@@ -1 +0,0 @@
-import{y as k,z as i,A as v,E as x,H as y,B as z,C as A,F as c,G as e,I as m,J as p,K as B,U as C}from"./index-client.CGppiJvc.js";function E(F,I,b=!1){i&&v();var a=F,s=null,l=null,u=C,d=b?x:0,o=!1;const g=(r,n=!0)=>{o=!0,f(n,r)},f=(r,n)=>{if(u===(u=r))return;let t=!1;if(i){const h=a.data===y;!!u===h&&(a=z(),A(a),c(!1),t=!0)}u?(s?e(s):n&&(s=m(()=>n(a))),l&&p(l,()=>{l=null})):(l?e(l):n&&(l=m(()=>n(a))),s&&p(s,()=>{s=null})),t&&c(!0)};k(()=>{o=!1,I(g),o||f(null,null)},d),i&&(a=B)}export{E as i};
diff --git a/static/v1/_app/immutable/chunks/if.DUA6Hpfn.js.br b/static/v1/_app/immutable/chunks/if.DUA6Hpfn.js.br
deleted file mode 100644
index fbfa8b2d0..000000000
Binary files a/static/v1/_app/immutable/chunks/if.DUA6Hpfn.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/if.DUA6Hpfn.js.gz b/static/v1/_app/immutable/chunks/if.DUA6Hpfn.js.gz
deleted file mode 100644
index a2f63ce79..000000000
Binary files a/static/v1/_app/immutable/chunks/if.DUA6Hpfn.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/index-client.CGppiJvc.js.br b/static/v1/_app/immutable/chunks/index-client.CGppiJvc.js.br
deleted file mode 100644
index df3ed678b..000000000
Binary files a/static/v1/_app/immutable/chunks/index-client.CGppiJvc.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/index-client.CGppiJvc.js.gz b/static/v1/_app/immutable/chunks/index-client.CGppiJvc.js.gz
deleted file mode 100644
index b0f2afd68..000000000
Binary files a/static/v1/_app/immutable/chunks/index-client.CGppiJvc.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/index-client.CGppiJvc.js b/static/v1/_app/immutable/chunks/index-client.CzqVbBUo.js
similarity index 66%
rename from static/v1/_app/immutable/chunks/index-client.CGppiJvc.js
rename to static/v1/_app/immutable/chunks/index-client.CzqVbBUo.js
index 87c0ee680..714721939 100644
--- a/static/v1/_app/immutable/chunks/index-client.CGppiJvc.js
+++ b/static/v1/_app/immutable/chunks/index-client.CzqVbBUo.js
@@ -1 +1 @@
-var Cn=Array.isArray,xt=Array.from,mt=Object.defineProperty,sn=Object.getOwnPropertyDescriptor,Pn=Object.getOwnPropertyDescriptors,Et=Object.prototype,jt=Array.prototype,Sn=Object.getPrototypeOf;function qt(n){return typeof n=="function"}const Ot=()=>{};function Tt(n){return n()}function cn(n){for(var t=0;t<n.length;t++)n[t]()}const g=2,Dn=4,H=8,J=16,x=32,K=64,vn=128,k=256,Q=512,y=1024,E=2048,C=4096,P=8192,N=16384,Mn=32768,dn=65536,kt=1<<17,Nn=1<<19,In=1<<20,pn=Symbol("$state"),Ct=Symbol("legacy props"),Pt=Symbol("");function $n(n){return n===this.v}function Bn(n,t){return n!=n?t==t:n!==t||n!==null&&typeof n=="object"||typeof n=="function"}function hn(n){return!Bn(n,this.v)}function St(n){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Dt(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Mt(n){throw new Error("https://svelte.dev/e/effect_orphan")}function Nt(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function It(){throw new Error("https://svelte.dev/e/hydration_failed")}function $t(n){throw new Error("https://svelte.dev/e/props_invalid_value")}function Bt(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Ft(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Gt(){throw new Error("https://svelte.dev/e/state_unsafe_local_read")}function Ht(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}let I=!1;function Kt(){I=!0}const Lt=1,Rt=2,Ut=4,Vt=8,Wt=16,Yt=1,Zt=2,zt=4,Jt=8,Qt=16,Xt=1,At=2,ne=4,te=1,ee=2,Fn="[",Gn="[!",Hn="]",yn={},re=Symbol();function X(n,t){var e={f:0,v:n,reactions:null,equals:$n,version:0};return e}function le(n){return Ln(X(n))}function Kn(n,t=!1){var r;const e=X(n);return t||(e.equals=hn),I&&f!==null&&f.l!==null&&((r=f.l).s??(r.s=[])).push(e),e}function ae(n,t=!1){return Ln(Kn(n,t))}function Ln(n){return s!==null&&s.f&g&&(m===null?Ie([n]):m.push(n)),n}function ue(n,t){return _n(n,z(()=>On(n))),t}function _n(n,t){return s!==null&&un()&&s.f&(g|J)&&(m===null||!m.includes(n))&&Ht(),Rn(n,t)}function Rn(n,t){return n.equals(t)||(n.v=t,n.version=ht(),Un(n,E),un()&&o!==null&&o.f&y&&!(o.f&x)&&(h!==null&&h.includes(n)?(b(o,E),fn(o)):T===null?$e([n]):T.push(n))),t}function Un(n,t){var e=n.reactions;if(e!==null)for(var r=un(),l=e.length,a=0;a<l;a++){var u=e[a],i=u.f;i&E||!r&&u===o||(b(u,t),i&(y|k)&&(i&g?Un(u,C):fn(u)))}}function wn(n){console.warn("https://svelte.dev/e/hydration_mismatch")}function oe(n){console.warn("https://svelte.dev/e/legacy_recursive_reactive_block")}let j=!1;function fe(n){j=n}let v;function S(n){if(n===null)throw wn(),yn;return v=n}function se(){return S(q(v))}function ie(n){if(j){if(q(v)!==null)throw wn(),yn;v=n}}function ce(n=1){if(j){for(var t=n,e=v;t--;)e=q(e);v=e}}function ve(){for(var n=0,t=v;;){if(t.nodeType===8){var e=t.data;if(e===Hn){if(n===0)return t;n-=1}else(e===Fn||e===Gn)&&(n+=1)}var r=q(t);t.remove(),t=r}}var Vn,Wn,Yn,Zn;function de(){if(Vn===void 0){Vn=window,Wn=document;var n=Element.prototype,t=Node.prototype;Yn=sn(t,"firstChild").get,Zn=sn(t,"nextSibling").get,n.__click=void 0,n.__className="",n.__attributes=null,n.__styles=null,n.__e=void 0,Text.prototype.__t=void 0}}function L(n=""){return document.createTextNode(n)}function A(n){return Yn.call(n)}function q(n){return Zn.call(n)}function pe(n,t){if(!j)return A(n);var e=A(v);if(e===null)e=v.appendChild(L());else if(t&&e.nodeType!==3){var r=L();return e==null||e.before(r),S(r),r}return S(e),e}function he(n,t){if(!j){var e=A(n);return e instanceof Comment&&e.data===""?q(e):e}if(t&&(v==null?void 0:v.nodeType)!==3){var r=L();return v==null||v.before(r),S(r),r}return v}function ye(n,t=1,e=!1){let r=j?v:n;for(var l;t--;)l=r,r=q(r);if(!j)return r;var a=r==null?void 0:r.nodeType;if(e&&a!==3){var u=L();return r===null?l==null||l.after(u):r.before(u),S(u),u}return S(r),r}function _e(n){n.textContent=""}function zn(n){var t=g|E;o===null?t|=k:o.f|=In;var e=s!==null&&s.f&g?s:null;const r={children:null,ctx:f,deps:null,equals:$n,f:t,fn:n,reactions:null,v:null,version:0,parent:e??o};return e!==null&&(e.children??(e.children=[])).push(r),r}function we(n){const t=zn(n);return t.equals=hn,t}function Jn(n){var t=n.children;if(t!==null){n.children=null;for(var e=0;e<t.length;e+=1){var r=t[e];r.f&g?bn(r):O(r)}}}function be(n){for(var t=n.parent;t!==null;){if(!(t.f&g))return t;t=t.parent}return null}function Qn(n){var t,e=o;W(be(n));try{Jn(n),t=yt(n)}finally{W(e)}return t}function Xn(n){var t=Qn(n),e=(M||n.f&k)&&n.deps!==null?C:y;b(n,e),n.equals(t)||(n.v=t,n.version=ht())}function bn(n){Jn(n),Y(n,0),b(n,N),n.v=n.children=n.deps=n.ctx=n.reactions=null}function An(n){o===null&&s===null&&Mt(),s!==null&&s.f&k&&Dt(),jn&&St()}function ge(n,t){var e=t.last;e===null?t.last=t.first=n:(e.next=n,n.prev=e,t.last=n)}function $(n,t,e,r=!0){var l=(n&K)!==0,a=o,u={ctx:f,deps:null,deriveds:null,nodes_start:null,nodes_end:null,f:n|E,first:null,fn:t,last:null,next:null,parent:l?null:a,prev:null,teardown:null,transitions:null,version:0};if(e){var i=B;try{vt(!0),Z(u),u.f|=Mn}catch(c){throw O(u),c}finally{vt(i)}}else t!==null&&fn(u);var d=e&&u.deps===null&&u.first===null&&u.nodes_start===null&&u.teardown===null&&(u.f&In)===0;if(!d&&!l&&r&&(a!==null&&ge(u,a),s!==null&&s.f&g)){var _=s;(_.children??(_.children=[])).push(u)}return u}function xe(n){const t=$(H,null,!1);return b(t,y),t.teardown=n,t}function nt(n){An();var t=o!==null&&(o.f&x)!==0&&f!==null&&!f.m;if(t){var e=f;(e.e??(e.e=[])).push({fn:n,effect:o,reaction:s})}else{var r=gn(n);return r}}function me(n){return An(),nn(n)}function Ee(n){const t=$(K,n,!0);return(e={})=>new Promise(r=>{e.outro?ut(t,()=>{O(t),r(void 0)}):(O(t),r(void 0))})}function gn(n){return $(Dn,n,!1)}function je(n,t){var e=f,r={effect:null,ran:!1};e.l.r1.push(r),r.effect=nn(()=>{n(),!r.ran&&(r.ran=!0,_n(e.l.r2,!0),z(t))})}function qe(){var n=f;nn(()=>{if(On(n.l.r2)){for(var t of n.l.r1){var e=t.effect;e.f&y&&b(e,C),G(e)&&Z(e),t.ran=!1}n.l.r2.v=!1}})}function nn(n){return $(H,n,!0)}function Oe(n){return tt(n)}function tt(n,t=0){return $(H|J|t,n,!0)}function Te(n,t=!0){return $(H|x,n,!0,t)}function et(n){var t=n.teardown;if(t!==null){const e=jn,r=s;dt(!0),V(null);try{t.call(null)}finally{dt(e),V(r)}}}function rt(n){var t=n.deriveds;if(t!==null){n.deriveds=null;for(var e=0;e<t.length;e+=1)bn(t[e])}}function lt(n,t=!1){var e=n.first;for(n.first=n.last=null;e!==null;){var r=e.next;O(e,t),e=r}}function ke(n){for(var t=n.first;t!==null;){var e=t.next;t.f&x||O(t),t=e}}function O(n,t=!0){var e=!1;if((t||n.f&Nn)&&n.nodes_start!==null){for(var r=n.nodes_start,l=n.nodes_end;r!==null;){var a=r===l?null:q(r);r.remove(),r=a}e=!0}lt(n,t&&!e),rt(n),Y(n,0),b(n,N);var u=n.transitions;if(u!==null)for(const d of u)d.stop();et(n);var i=n.parent;i!==null&&i.first!==null&&at(n),n.next=n.prev=n.teardown=n.ctx=n.deps=n.fn=n.nodes_start=n.nodes_end=null}function at(n){var t=n.parent,e=n.prev,r=n.next;e!==null&&(e.next=r),r!==null&&(r.prev=e),t!==null&&(t.first===n&&(t.first=r),t.last===n&&(t.last=e))}function ut(n,t){var e=[];xn(n,e,!0),ot(e,()=>{O(n),t&&t()})}function ot(n,t){var e=n.length;if(e>0){var r=()=>--e||t();for(var l of n)l.out(r)}else t()}function xn(n,t,e){if(!(n.f&P)){if(n.f^=P,n.transitions!==null)for(const u of n.transitions)(u.is_global||e)&&t.push(u);for(var r=n.first;r!==null;){var l=r.next,a=(r.f&dn)!==0||(r.f&x)!==0;xn(r,t,a?e:!1),r=l}}}function Ce(n){ft(n,!0)}function ft(n,t){if(n.f&P){G(n)&&Z(n),n.f^=P;for(var e=n.first;e!==null;){var r=e.next,l=(e.f&dn)!==0||(e.f&x)!==0;ft(e,l?t:!1),e=r}if(n.transitions!==null)for(const a of n.transitions)(a.is_global||t)&&a.in()}}const Pe=typeof requestIdleCallback>"u"?n=>setTimeout(n,1):requestIdleCallback;let tn=!1,en=!1,mn=[],En=[];function st(){tn=!1;const n=mn.slice();mn=[],cn(n)}function it(){en=!1;const n=En.slice();En=[],cn(n)}function Se(n){tn||(tn=!0,queueMicrotask(st)),mn.push(n)}function De(n){en||(en=!0,Pe(it)),En.push(n)}function Me(){tn&&st(),en&&it()}function rn(n){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}const ct=0,Ne=1;let ln=!1,an=ct,R=!1,U=null,B=!1,jn=!1;function vt(n){B=n}function dt(n){jn=n}let D=[],F=0,s=null;function V(n){s=n}let o=null;function W(n){o=n}let m=null;function Ie(n){m=n}let h=null,w=0,T=null;function $e(n){T=n}let pt=1,M=!1,f=null;function ht(){return++pt}function un(){return!I||f!==null&&f.l===null}function G(n){var u,i;var t=n.f;if(t&E)return!0;if(t&C){var e=n.deps,r=(t&k)!==0;if(e!==null){var l;if(t&Q){for(l=0;l<e.length;l++)((u=e[l]).reactions??(u.reactions=[])).push(n);n.f^=Q}for(l=0;l<e.length;l++){var a=e[l];if(G(a)&&Xn(a),r&&o!==null&&!M&&!((i=a==null?void 0:a.reactions)!=null&&i.includes(n))&&(a.reactions??(a.reactions=[])).push(n),a.version>n.version)return!0}}(!r||o!==null&&!M)&&b(n,y)}return!1}function Be(n,t){for(var e=t;e!==null;){if(e.f&vn)try{e.fn(n);return}catch{e.f^=vn}e=e.parent}throw ln=!1,n}function Fe(n){return(n.f&N)===0&&(n.parent===null||(n.parent.f&vn)===0)}function on(n,t,e,r){if(ln){if(e===null&&(ln=!1),Fe(t))throw n;return}e!==null&&(ln=!0);{Be(n,t);return}}function yt(n){var kn;var t=h,e=w,r=T,l=s,a=M,u=m,i=f,d=n.f;h=null,w=0,T=null,s=d&(x|K)?null:n,M=!B&&(d&k)!==0,m=null,f=n.ctx;try{var _=(0,n.fn)(),c=n.deps;if(h!==null){var p;if(Y(n,w),c!==null&&w>0)for(c.length=w+h.length,p=0;p<h.length;p++)c[w+p]=h[p];else n.deps=c=h;if(!M)for(p=w;p<c.length;p++)((kn=c[p]).reactions??(kn.reactions=[])).push(n)}else c!==null&&w<c.length&&(Y(n,w),c.length=w);return _}finally{h=t,w=e,T=r,s=l,M=a,m=u,f=i}}function Ge(n,t){let e=t.reactions;if(e!==null){var r=e.indexOf(n);if(r!==-1){var l=e.length-1;l===0?e=t.reactions=null:(e[r]=e[l],e.pop())}}e===null&&t.f&g&&(h===null||!h.includes(t))&&(b(t,C),t.f&(k|Q)||(t.f^=Q),Y(t,0))}function Y(n,t){var e=n.deps;if(e!==null)for(var r=t;r<e.length;r++)Ge(n,e[r])}function Z(n){var t=n.f;if(!(t&N)){b(n,y);var e=o,r=f;o=n;try{t&J?ke(n):lt(n),rt(n),et(n);var l=yt(n);n.teardown=typeof l=="function"?l:null,n.version=pt}catch(a){on(a,n,e,r||n.ctx)}finally{o=e}}}function _t(){if(F>1e3){F=0;try{Nt()}catch(n){if(U!==null)on(n,U,null);else throw n}}F++}function wt(n){var t=n.length;if(t!==0){_t();var e=B;B=!0;try{for(var r=0;r<t;r++){var l=n[r];l.f&y||(l.f^=y);var a=[];bt(l,a),He(a)}}finally{B=e}}}function He(n){var t=n.length;if(t!==0)for(var e=0;e<t;e++){var r=n[e];if(!(r.f&(N|P)))try{G(r)&&(Z(r),r.deps===null&&r.first===null&&r.nodes_start===null&&(r.teardown===null?at(r):r.fn=null))}catch(l){on(l,r,null,r.ctx)}}}function Ke(){if(R=!1,F>1001)return;const n=D;D=[],wt(n),R||(F=0,U=null)}function fn(n){an===ct&&(R||(R=!0,queueMicrotask(Ke))),U=n;for(var t=n;t.parent!==null;){t=t.parent;var e=t.f;if(e&(K|x)){if(!(e&y))return;t.f^=y}}D.push(t)}function bt(n,t){var e=n.first,r=[];n:for(;e!==null;){var l=e.f,a=(l&x)!==0,u=a&&(l&y)!==0,i=e.next;if(!u&&!(l&P))if(l&H){if(a)e.f^=y;else try{G(e)&&Z(e)}catch(p){on(p,e,null,e.ctx)}var d=e.first;if(d!==null){e=d;continue}}else l&Dn&&r.push(e);if(i===null){let p=e.parent;for(;p!==null;){if(n===p)break n;var _=p.next;if(_!==null){e=_;continue n}p=p.parent}}e=i}for(var c=0;c<r.length;c++)d=r[c],t.push(d),bt(d,t)}function qn(n){var t=an,e=D;try{_t();const l=[];an=Ne,D=l,R=!1,wt(e);var r=n==null?void 0:n();return Me(),(D.length>0||l.length>0)&&qn(),F=0,U=null,r}finally{an=t,D=e}}async function Le(){await Promise.resolve(),qn()}function On(n){var c;var t=n.f,e=(t&g)!==0;if(e&&t&N){var r=Qn(n);return bn(n),r}if(s!==null){m!==null&&m.includes(n)&&Gt();var l=s.deps;h===null&&l!==null&&l[w]===n?w++:h===null?h=[n]:h.push(n),T!==null&&o!==null&&o.f&y&&!(o.f&x)&&T.includes(n)&&(b(o,E),fn(o))}else if(e&&n.deps===null)for(var a=n,u=a.parent,i=a;u!==null;)if(u.f&g){var d=u;i=d,u=d.parent}else{var _=u;(c=_.deriveds)!=null&&c.includes(i)||(_.deriveds??(_.deriveds=[])).push(i);break}return e&&(a=n,G(a)&&Xn(a)),n.v}function z(n){const t=s;try{return s=null,n()}finally{s=t}}const Re=~(E|C|y);function b(n,t){n.f=n.f&Re|t}function Ue(n,t=!1,e){f={p:f,c:null,e:null,m:!1,s:n,x:null,l:null},I&&!t&&(f.l={s:null,u:null,r1:[],r2:X(!1)})}function Ve(n){const t=f;if(t!==null){n!==void 0&&(t.x=n);const u=t.e;if(u!==null){var e=o,r=s;t.e=null;try{for(var l=0;l<u.length;l++){var a=u[l];W(a.effect),V(a.reaction),gn(a.fn)}}finally{W(e),V(r)}}f=t.p,t.m=!0}return n||{}}function We(n){if(!(typeof n!="object"||!n||n instanceof EventTarget)){if(pn in n)Tn(n);else if(!Array.isArray(n))for(let t in n){const e=n[t];typeof e=="object"&&e&&pn in e&&Tn(e)}}}function Tn(n,t=new Set){if(typeof n=="object"&&n!==null&&!(n instanceof EventTarget)&&!t.has(n)){t.add(n),n instanceof Date&&n.getTime();for(let r in n)try{Tn(n[r],t)}catch{}const e=Sn(n);if(e!==Object.prototype&&e!==Array.prototype&&e!==Map.prototype&&e!==Set.prototype&&e!==Date.prototype){const r=Pn(e);for(let l in r){const a=r[l].get;if(a)try{a.call(n)}catch{}}}}}function gt(n){f===null&&rn(),I&&f.l!==null?Je(f).m.push(n):nt(()=>{const t=z(n);if(typeof t=="function")return t})}function Ye(n){f===null&&rn(),gt(()=>()=>z(n))}function Ze(n,t,{bubbles:e=!1,cancelable:r=!1}={}){return new CustomEvent(n,{detail:t,bubbles:e,cancelable:r})}function ze(){const n=f;return n===null&&rn(),(t,e,r)=>{var a;const l=(a=n.s.$$events)==null?void 0:a[t];if(l){const u=Cn(l)?l.slice():[l],i=Ze(t,e,r);for(const d of u)d.call(n.x,i);return!i.defaultPrevented}return!0}}function Je(n){var t=n.l;return t.u??(t.u={a:[],b:[],m:[]})}export{Wn as $,se as A,ve as B,S as C,E as D,dn as E,fe as F,Ce as G,Gn as H,Te as I,ut as J,v as K,Ct as L,C as M,Et as N,jt as O,X as P,Bt as Q,sn as R,pn as S,Ft as T,re as U,Sn as V,gn as W,nn as X,Se as Y,O as Z,le as _,Ve as a,he as a0,ye as a1,Oe as a2,pe as a3,ce as a4,ie as a5,Le as a6,ze as a7,je as a8,qe as a9,ot as aA,Hn as aB,s as aC,Lt as aD,Rt as aE,Ut as aF,Vt as aG,Wt as aH,q as aI,V as aJ,Nn as aK,Fn as aL,de as aM,yn as aN,wn as aO,It as aP,Ee as aQ,De as aR,Pt as aS,Pn as aT,J as aU,Mn as aV,ne as aW,Xt as aX,At as aY,un as aZ,Ye as a_,ue as aa,ae as ab,we as ac,xe as ad,$t as ae,kt as af,zt as ag,hn as ah,x as ai,K as aj,W as ak,Yt as al,I as am,Zt as an,Jt as ao,Qt as ap,qt as aq,L as ar,A as as,te as at,ee as au,xt as av,P as aw,Rn as ax,xn as ay,_e as az,nt as b,f as c,z as d,cn as e,We as f,On as g,zn as h,Kt as i,_n as j,qn as k,mt as l,Kn as m,Ot as n,gt as o,Ue as p,oe as q,Tt as r,Bn as s,b as t,me as u,o as v,rn as w,Cn as x,tt as y,j as z};
+var Cn=Array.isArray,xt=Array.from,mt=Object.defineProperty,fn=Object.getOwnPropertyDescriptor,Pn=Object.getOwnPropertyDescriptors,Et=Object.prototype,jt=Array.prototype,Sn=Object.getPrototypeOf;function qt(n){return typeof n=="function"}const Ot=()=>{};function Tt(n){return n()}function sn(n){for(var t=0;t<n.length;t++)n[t]()}const g=2,Dn=4,H=8,J=16,x=32,K=64,cn=128,k=256,Q=512,y=1024,E=2048,C=4096,P=8192,N=16384,Mn=32768,vn=65536,kt=1<<17,Nn=1<<19,In=1<<20,dn=Symbol("$state"),Ct=Symbol("legacy props"),Pt=Symbol("");function $n(n){return n===this.v}function Bn(n,t){return n!=n?t==t:n!==t||n!==null&&typeof n=="object"||typeof n=="function"}function pn(n){return!Bn(n,this.v)}function St(n){throw new Error("https://svelte.dev/e/effect_in_teardown")}function Dt(){throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function Mt(n){throw new Error("https://svelte.dev/e/effect_orphan")}function Nt(){throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function It(){throw new Error("https://svelte.dev/e/hydration_failed")}function $t(n){throw new Error("https://svelte.dev/e/props_invalid_value")}function Bt(){throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function Ft(){throw new Error("https://svelte.dev/e/state_prototype_fixed")}function Gt(){throw new Error("https://svelte.dev/e/state_unsafe_local_read")}function Ht(){throw new Error("https://svelte.dev/e/state_unsafe_mutation")}let I=!1;function Kt(){I=!0}const Lt=1,Rt=2,Ut=4,Vt=8,Wt=16,Yt=1,Zt=2,zt=4,Jt=8,Qt=16,Xt=1,At=2,ne=4,te=1,ee=2,Fn="[",Gn="[!",Hn="]",hn={},re=Symbol();function X(n,t){var e={f:0,v:n,reactions:null,equals:$n,version:0};return e}function le(n){return Ln(X(n))}function Kn(n,t=!1){var r;const e=X(n);return t||(e.equals=pn),I&&f!==null&&f.l!==null&&((r=f.l).s??(r.s=[])).push(e),e}function ae(n,t=!1){return Ln(Kn(n,t))}function Ln(n){return s!==null&&s.f&g&&(m===null?Ie([n]):m.push(n)),n}function ue(n,t){return yn(n,z(()=>On(n))),t}function yn(n,t){return s!==null&&an()&&s.f&(g|J)&&(m===null||!m.includes(n))&&Ht(),Rn(n,t)}function Rn(n,t){return n.equals(t)||(n.v=t,n.version=ht(),Un(n,E),an()&&o!==null&&o.f&y&&!(o.f&x)&&(h!==null&&h.includes(n)?(b(o,E),on(o)):T===null?$e([n]):T.push(n))),t}function Un(n,t){var e=n.reactions;if(e!==null)for(var r=an(),l=e.length,a=0;a<l;a++){var u=e[a],i=u.f;i&E||!r&&u===o||(b(u,t),i&(y|k)&&(i&g?Un(u,C):on(u)))}}function _n(n){console.warn("https://svelte.dev/e/hydration_mismatch")}function oe(n){console.warn("https://svelte.dev/e/legacy_recursive_reactive_block")}let j=!1;function fe(n){j=n}let v;function S(n){if(n===null)throw _n(),hn;return v=n}function se(){return S(q(v))}function ie(n){if(j){if(q(v)!==null)throw _n(),hn;v=n}}function ce(n=1){if(j){for(var t=n,e=v;t--;)e=q(e);v=e}}function ve(){for(var n=0,t=v;;){if(t.nodeType===8){var e=t.data;if(e===Hn){if(n===0)return t;n-=1}else(e===Fn||e===Gn)&&(n+=1)}var r=q(t);t.remove(),t=r}}var Vn,Wn,Yn,Zn;function de(){if(Vn===void 0){Vn=window,Wn=document;var n=Element.prototype,t=Node.prototype;Yn=fn(t,"firstChild").get,Zn=fn(t,"nextSibling").get,n.__click=void 0,n.__className="",n.__attributes=null,n.__styles=null,n.__e=void 0,Text.prototype.__t=void 0}}function L(n=""){return document.createTextNode(n)}function A(n){return Yn.call(n)}function q(n){return Zn.call(n)}function pe(n,t){if(!j)return A(n);var e=A(v);if(e===null)e=v.appendChild(L());else if(t&&e.nodeType!==3){var r=L();return e==null||e.before(r),S(r),r}return S(e),e}function he(n,t){if(!j){var e=A(n);return e instanceof Comment&&e.data===""?q(e):e}if(t&&(v==null?void 0:v.nodeType)!==3){var r=L();return v==null||v.before(r),S(r),r}return v}function ye(n,t=1,e=!1){let r=j?v:n;for(var l;t--;)l=r,r=q(r);if(!j)return r;var a=r==null?void 0:r.nodeType;if(e&&a!==3){var u=L();return r===null?l==null||l.after(u):r.before(u),S(u),u}return S(r),r}function _e(n){n.textContent=""}function zn(n){var t=g|E;o===null?t|=k:o.f|=In;var e=s!==null&&s.f&g?s:null;const r={children:null,ctx:f,deps:null,equals:$n,f:t,fn:n,reactions:null,v:null,version:0,parent:e??o};return e!==null&&(e.children??(e.children=[])).push(r),r}function we(n){const t=zn(n);return t.equals=pn,t}function Jn(n){var t=n.children;if(t!==null){n.children=null;for(var e=0;e<t.length;e+=1){var r=t[e];r.f&g?wn(r):O(r)}}}function be(n){for(var t=n.parent;t!==null;){if(!(t.f&g))return t;t=t.parent}return null}function Qn(n){var t,e=o;W(be(n));try{Jn(n),t=yt(n)}finally{W(e)}return t}function Xn(n){var t=Qn(n),e=(M||n.f&k)&&n.deps!==null?C:y;b(n,e),n.equals(t)||(n.v=t,n.version=ht())}function wn(n){Jn(n),Y(n,0),b(n,N),n.v=n.children=n.deps=n.ctx=n.reactions=null}function An(n){o===null&&s===null&&Mt(),s!==null&&s.f&k&&Dt(),jn&&St()}function ge(n,t){var e=t.last;e===null?t.last=t.first=n:(e.next=n,n.prev=e,t.last=n)}function $(n,t,e,r=!0){var l=(n&K)!==0,a=o,u={ctx:f,deps:null,deriveds:null,nodes_start:null,nodes_end:null,f:n|E,first:null,fn:t,last:null,next:null,parent:l?null:a,prev:null,teardown:null,transitions:null,version:0};if(e){var i=B;try{vt(!0),Z(u),u.f|=Mn}catch(c){throw O(u),c}finally{vt(i)}}else t!==null&&on(u);var d=e&&u.deps===null&&u.first===null&&u.nodes_start===null&&u.teardown===null&&(u.f&In)===0;if(!d&&!l&&r&&(a!==null&&ge(u,a),s!==null&&s.f&g)){var _=s;(_.children??(_.children=[])).push(u)}return u}function xe(n){const t=$(H,null,!1);return b(t,y),t.teardown=n,t}function nt(n){An();var t=o!==null&&(o.f&x)!==0&&f!==null&&!f.m;if(t){var e=f;(e.e??(e.e=[])).push({fn:n,effect:o,reaction:s})}else{var r=bn(n);return r}}function me(n){return An(),nn(n)}function Ee(n){const t=$(K,n,!0);return(e={})=>new Promise(r=>{e.outro?ut(t,()=>{O(t),r(void 0)}):(O(t),r(void 0))})}function bn(n){return $(Dn,n,!1)}function je(n,t){var e=f,r={effect:null,ran:!1};e.l.r1.push(r),r.effect=nn(()=>{n(),!r.ran&&(r.ran=!0,yn(e.l.r2,!0),z(t))})}function qe(){var n=f;nn(()=>{if(On(n.l.r2)){for(var t of n.l.r1){var e=t.effect;e.f&y&&b(e,C),G(e)&&Z(e),t.ran=!1}n.l.r2.v=!1}})}function nn(n){return $(H,n,!0)}function Oe(n){return tt(n)}function tt(n,t=0){return $(H|J|t,n,!0)}function Te(n,t=!0){return $(H|x,n,!0,t)}function et(n){var t=n.teardown;if(t!==null){const e=jn,r=s;dt(!0),V(null);try{t.call(null)}finally{dt(e),V(r)}}}function rt(n){var t=n.deriveds;if(t!==null){n.deriveds=null;for(var e=0;e<t.length;e+=1)wn(t[e])}}function lt(n,t=!1){var e=n.first;for(n.first=n.last=null;e!==null;){var r=e.next;O(e,t),e=r}}function ke(n){for(var t=n.first;t!==null;){var e=t.next;t.f&x||O(t),t=e}}function O(n,t=!0){var e=!1;if((t||n.f&Nn)&&n.nodes_start!==null){for(var r=n.nodes_start,l=n.nodes_end;r!==null;){var a=r===l?null:q(r);r.remove(),r=a}e=!0}lt(n,t&&!e),rt(n),Y(n,0),b(n,N);var u=n.transitions;if(u!==null)for(const d of u)d.stop();et(n);var i=n.parent;i!==null&&i.first!==null&&at(n),n.next=n.prev=n.teardown=n.ctx=n.deps=n.fn=n.nodes_start=n.nodes_end=null}function at(n){var t=n.parent,e=n.prev,r=n.next;e!==null&&(e.next=r),r!==null&&(r.prev=e),t!==null&&(t.first===n&&(t.first=r),t.last===n&&(t.last=e))}function ut(n,t){var e=[];gn(n,e,!0),ot(e,()=>{O(n),t&&t()})}function ot(n,t){var e=n.length;if(e>0){var r=()=>--e||t();for(var l of n)l.out(r)}else t()}function gn(n,t,e){if(!(n.f&P)){if(n.f^=P,n.transitions!==null)for(const u of n.transitions)(u.is_global||e)&&t.push(u);for(var r=n.first;r!==null;){var l=r.next,a=(r.f&vn)!==0||(r.f&x)!==0;gn(r,t,a?e:!1),r=l}}}function Ce(n){ft(n,!0)}function ft(n,t){if(n.f&P){G(n)&&Z(n),n.f^=P;for(var e=n.first;e!==null;){var r=e.next,l=(e.f&vn)!==0||(e.f&x)!==0;ft(e,l?t:!1),e=r}if(n.transitions!==null)for(const a of n.transitions)(a.is_global||t)&&a.in()}}const Pe=typeof requestIdleCallback>"u"?n=>setTimeout(n,1):requestIdleCallback;let tn=!1,en=!1,xn=[],mn=[];function st(){tn=!1;const n=xn.slice();xn=[],sn(n)}function it(){en=!1;const n=mn.slice();mn=[],sn(n)}function Se(n){tn||(tn=!0,queueMicrotask(st)),xn.push(n)}function De(n){en||(en=!0,Pe(it)),mn.push(n)}function Me(){tn&&st(),en&&it()}function En(n){throw new Error("https://svelte.dev/e/lifecycle_outside_component")}const ct=0,Ne=1;let rn=!1,ln=ct,R=!1,U=null,B=!1,jn=!1;function vt(n){B=n}function dt(n){jn=n}let D=[],F=0,s=null;function V(n){s=n}let o=null;function W(n){o=n}let m=null;function Ie(n){m=n}let h=null,w=0,T=null;function $e(n){T=n}let pt=1,M=!1,f=null;function ht(){return++pt}function an(){return!I||f!==null&&f.l===null}function G(n){var u,i;var t=n.f;if(t&E)return!0;if(t&C){var e=n.deps,r=(t&k)!==0;if(e!==null){var l;if(t&Q){for(l=0;l<e.length;l++)((u=e[l]).reactions??(u.reactions=[])).push(n);n.f^=Q}for(l=0;l<e.length;l++){var a=e[l];if(G(a)&&Xn(a),r&&o!==null&&!M&&!((i=a==null?void 0:a.reactions)!=null&&i.includes(n))&&(a.reactions??(a.reactions=[])).push(n),a.version>n.version)return!0}}(!r||o!==null&&!M)&&b(n,y)}return!1}function Be(n,t){for(var e=t;e!==null;){if(e.f&cn)try{e.fn(n);return}catch{e.f^=cn}e=e.parent}throw rn=!1,n}function Fe(n){return(n.f&N)===0&&(n.parent===null||(n.parent.f&cn)===0)}function un(n,t,e,r){if(rn){if(e===null&&(rn=!1),Fe(t))throw n;return}e!==null&&(rn=!0);{Be(n,t);return}}function yt(n){var kn;var t=h,e=w,r=T,l=s,a=M,u=m,i=f,d=n.f;h=null,w=0,T=null,s=d&(x|K)?null:n,M=!B&&(d&k)!==0,m=null,f=n.ctx;try{var _=(0,n.fn)(),c=n.deps;if(h!==null){var p;if(Y(n,w),c!==null&&w>0)for(c.length=w+h.length,p=0;p<h.length;p++)c[w+p]=h[p];else n.deps=c=h;if(!M)for(p=w;p<c.length;p++)((kn=c[p]).reactions??(kn.reactions=[])).push(n)}else c!==null&&w<c.length&&(Y(n,w),c.length=w);return _}finally{h=t,w=e,T=r,s=l,M=a,m=u,f=i}}function Ge(n,t){let e=t.reactions;if(e!==null){var r=e.indexOf(n);if(r!==-1){var l=e.length-1;l===0?e=t.reactions=null:(e[r]=e[l],e.pop())}}e===null&&t.f&g&&(h===null||!h.includes(t))&&(b(t,C),t.f&(k|Q)||(t.f^=Q),Y(t,0))}function Y(n,t){var e=n.deps;if(e!==null)for(var r=t;r<e.length;r++)Ge(n,e[r])}function Z(n){var t=n.f;if(!(t&N)){b(n,y);var e=o,r=f;o=n;try{t&J?ke(n):lt(n),rt(n),et(n);var l=yt(n);n.teardown=typeof l=="function"?l:null,n.version=pt}catch(a){un(a,n,e,r||n.ctx)}finally{o=e}}}function _t(){if(F>1e3){F=0;try{Nt()}catch(n){if(U!==null)un(n,U,null);else throw n}}F++}function wt(n){var t=n.length;if(t!==0){_t();var e=B;B=!0;try{for(var r=0;r<t;r++){var l=n[r];l.f&y||(l.f^=y);var a=[];bt(l,a),He(a)}}finally{B=e}}}function He(n){var t=n.length;if(t!==0)for(var e=0;e<t;e++){var r=n[e];if(!(r.f&(N|P)))try{G(r)&&(Z(r),r.deps===null&&r.first===null&&r.nodes_start===null&&(r.teardown===null?at(r):r.fn=null))}catch(l){un(l,r,null,r.ctx)}}}function Ke(){if(R=!1,F>1001)return;const n=D;D=[],wt(n),R||(F=0,U=null)}function on(n){ln===ct&&(R||(R=!0,queueMicrotask(Ke))),U=n;for(var t=n;t.parent!==null;){t=t.parent;var e=t.f;if(e&(K|x)){if(!(e&y))return;t.f^=y}}D.push(t)}function bt(n,t){var e=n.first,r=[];n:for(;e!==null;){var l=e.f,a=(l&x)!==0,u=a&&(l&y)!==0,i=e.next;if(!u&&!(l&P))if(l&H){if(a)e.f^=y;else try{G(e)&&Z(e)}catch(p){un(p,e,null,e.ctx)}var d=e.first;if(d!==null){e=d;continue}}else l&Dn&&r.push(e);if(i===null){let p=e.parent;for(;p!==null;){if(n===p)break n;var _=p.next;if(_!==null){e=_;continue n}p=p.parent}}e=i}for(var c=0;c<r.length;c++)d=r[c],t.push(d),bt(d,t)}function qn(n){var t=ln,e=D;try{_t();const l=[];ln=Ne,D=l,R=!1,wt(e);var r=n==null?void 0:n();return Me(),(D.length>0||l.length>0)&&qn(),F=0,U=null,r}finally{ln=t,D=e}}async function Le(){await Promise.resolve(),qn()}function On(n){var c;var t=n.f,e=(t&g)!==0;if(e&&t&N){var r=Qn(n);return wn(n),r}if(s!==null){m!==null&&m.includes(n)&&Gt();var l=s.deps;h===null&&l!==null&&l[w]===n?w++:h===null?h=[n]:h.push(n),T!==null&&o!==null&&o.f&y&&!(o.f&x)&&T.includes(n)&&(b(o,E),on(o))}else if(e&&n.deps===null)for(var a=n,u=a.parent,i=a;u!==null;)if(u.f&g){var d=u;i=d,u=d.parent}else{var _=u;(c=_.deriveds)!=null&&c.includes(i)||(_.deriveds??(_.deriveds=[])).push(i);break}return e&&(a=n,G(a)&&Xn(a)),n.v}function z(n){const t=s;try{return s=null,n()}finally{s=t}}const Re=~(E|C|y);function b(n,t){n.f=n.f&Re|t}function Ue(n,t=!1,e){f={p:f,c:null,e:null,m:!1,s:n,x:null,l:null},I&&!t&&(f.l={s:null,u:null,r1:[],r2:X(!1)})}function Ve(n){const t=f;if(t!==null){n!==void 0&&(t.x=n);const u=t.e;if(u!==null){var e=o,r=s;t.e=null;try{for(var l=0;l<u.length;l++){var a=u[l];W(a.effect),V(a.reaction),bn(a.fn)}}finally{W(e),V(r)}}f=t.p,t.m=!0}return n||{}}function We(n){if(!(typeof n!="object"||!n||n instanceof EventTarget)){if(dn in n)Tn(n);else if(!Array.isArray(n))for(let t in n){const e=n[t];typeof e=="object"&&e&&dn in e&&Tn(e)}}}function Tn(n,t=new Set){if(typeof n=="object"&&n!==null&&!(n instanceof EventTarget)&&!t.has(n)){t.add(n),n instanceof Date&&n.getTime();for(let r in n)try{Tn(n[r],t)}catch{}const e=Sn(n);if(e!==Object.prototype&&e!==Array.prototype&&e!==Map.prototype&&e!==Set.prototype&&e!==Date.prototype){const r=Pn(e);for(let l in r){const a=r[l].get;if(a)try{a.call(n)}catch{}}}}}function gt(n){f===null&&En(),I&&f.l!==null?Je(f).m.push(n):nt(()=>{const t=z(n);if(typeof t=="function")return t})}function Ye(n){f===null&&En(),gt(()=>()=>z(n))}function Ze(n,t,{bubbles:e=!1,cancelable:r=!1}={}){return new CustomEvent(n,{detail:t,bubbles:e,cancelable:r})}function ze(){const n=f;return n===null&&En(),(t,e,r)=>{var a;const l=(a=n.s.$$events)==null?void 0:a[t];if(l){const u=Cn(l)?l.slice():[l],i=Ze(t,e,r);for(const d of u)d.call(n.x,i);return!i.defaultPrevented}return!0}}function Je(n){var t=n.l;return t.u??(t.u={a:[],b:[],m:[]})}export{Wn as $,tt as A,j as B,Fn as C,E as D,q as E,fe as F,S as G,Nn as H,v as I,A as J,vn as K,Ct as L,C as M,Te as N,O,le as P,he as Q,ye as R,dn as S,Oe as T,pe as U,ce as V,ie as W,Le as X,Et as Y,jt as Z,X as _,Ve as a,Bt as a0,fn as a1,re as a2,Ft as a3,Sn as a4,Cn as a5,se as a6,Gn as a7,ve as a8,Ce as a9,_e as aA,ot as aB,Hn as aC,s as aD,Lt as aE,Rt as aF,Ut as aG,Vt as aH,Wt as aI,V as aJ,de as aK,hn as aL,_n as aM,It as aN,Ee as aO,ze as aP,De as aQ,Pt as aR,Pn as aS,J as aT,Mn as aU,Xt as aV,At as aW,ne as aX,an as aY,Ye as aZ,ut as aa,te as ab,ee as ac,je as ad,qe as ae,ue as af,ae as ag,we as ah,xe as ai,$t as aj,kt as ak,zt as al,pn as am,x as an,K as ao,W as ap,Yt as aq,I as ar,Zt as as,Jt as at,Qt as au,qt as av,xt as aw,P as ax,Rn as ay,gn as az,nt as b,f as c,z as d,sn as e,We as f,On as g,zn as h,Kt as i,yn as j,qn as k,mt as l,Kn as m,Ot as n,gt as o,Ue as p,oe as q,Tt as r,Bn as s,b as t,me as u,o as v,bn as w,nn as x,Se as y,L as z};
diff --git a/static/v1/_app/immutable/chunks/index-client.CzqVbBUo.js.br b/static/v1/_app/immutable/chunks/index-client.CzqVbBUo.js.br
new file mode 100644
index 000000000..4bae81f0b
Binary files /dev/null and b/static/v1/_app/immutable/chunks/index-client.CzqVbBUo.js.br differ
diff --git a/static/v1/_app/immutable/chunks/index-client.CzqVbBUo.js.gz b/static/v1/_app/immutable/chunks/index-client.CzqVbBUo.js.gz
new file mode 100644
index 000000000..e26ce9185
Binary files /dev/null and b/static/v1/_app/immutable/chunks/index-client.CzqVbBUo.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/index.BU3V9-NS.js.br b/static/v1/_app/immutable/chunks/index.BU3V9-NS.js.br
deleted file mode 100644
index e6cdec72d..000000000
Binary files a/static/v1/_app/immutable/chunks/index.BU3V9-NS.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/index.BU3V9-NS.js.gz b/static/v1/_app/immutable/chunks/index.BU3V9-NS.js.gz
deleted file mode 100644
index 6ce7e4fb7..000000000
Binary files a/static/v1/_app/immutable/chunks/index.BU3V9-NS.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/index.BU3V9-NS.js b/static/v1/_app/immutable/chunks/index.GhyFcvTZ.js
similarity index 86%
rename from static/v1/_app/immutable/chunks/index.BU3V9-NS.js
rename to static/v1/_app/immutable/chunks/index.GhyFcvTZ.js
index 46f41b5ba..346e062b2 100644
--- a/static/v1/_app/immutable/chunks/index.BU3V9-NS.js
+++ b/static/v1/_app/immutable/chunks/index.GhyFcvTZ.js
@@ -1 +1 @@
-import{n as i,s as h}from"./index-client.CGppiJvc.js";const n=[];function p(s,r=i){let o=null;const u=new Set;function c(e){if(h(s,e)&&(s=e,o)){const f=!n.length;for(const t of u)t[1](),n.push(t,s);if(f){for(let t=0;t<n.length;t+=2)n[t][0](n[t+1]);n.length=0}}}function l(e){c(e(s))}function a(e,f=i){const t=[e,f];return u.add(t),u.size===1&&(o=r(c,l)||i),e(s),()=>{u.delete(t),u.size===0&&o&&(o(),o=null)}}return{set:c,update:l,subscribe:a}}export{p as w};
+import{n as i,s as h}from"./index-client.CzqVbBUo.js";const n=[];function p(s,r=i){let o=null;const u=new Set;function c(e){if(h(s,e)&&(s=e,o)){const f=!n.length;for(const t of u)t[1](),n.push(t,s);if(f){for(let t=0;t<n.length;t+=2)n[t][0](n[t+1]);n.length=0}}}function l(e){c(e(s))}function a(e,f=i){const t=[e,f];return u.add(t),u.size===1&&(o=r(c,l)||i),e(s),()=>{u.delete(t),u.size===0&&o&&(o(),o=null)}}return{set:c,update:l,subscribe:a}}export{p as w};
diff --git a/static/v1/_app/immutable/chunks/index.GhyFcvTZ.js.br b/static/v1/_app/immutable/chunks/index.GhyFcvTZ.js.br
new file mode 100644
index 000000000..60809cf08
Binary files /dev/null and b/static/v1/_app/immutable/chunks/index.GhyFcvTZ.js.br differ
diff --git a/static/v1/_app/immutable/chunks/index.GhyFcvTZ.js.gz b/static/v1/_app/immutable/chunks/index.GhyFcvTZ.js.gz
new file mode 100644
index 000000000..28f1d4473
Binary files /dev/null and b/static/v1/_app/immutable/chunks/index.GhyFcvTZ.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js b/static/v1/_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js
new file mode 100644
index 000000000..2155366ab
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js
@@ -0,0 +1 @@
+import{P as u,j as t,g as a}from"./index-client.CzqVbBUo.js";import{p as e}from"./if.BnegfJmL.js";var o={};let r=u(e(typeof process<"u"&&o.DEV_MODE==="true"));function p(){t(r,o.DEV_MODE==="true")}function f(){return{get(){return a(r)},set(s){t(r,e(s))}}}export{p as i,f as u};
diff --git a/static/v1/_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js.br b/static/v1/_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js.br
new file mode 100644
index 000000000..c9d149ccb
Binary files /dev/null and b/static/v1/_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js.br differ
diff --git a/static/v1/_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js.gz b/static/v1/_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js.gz
new file mode 100644
index 000000000..2d3a7ff7f
Binary files /dev/null and b/static/v1/_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js b/static/v1/_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js
deleted file mode 100644
index c9b3cd7f0..000000000
--- a/static/v1/_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js
+++ /dev/null
@@ -1 +0,0 @@
-import{_ as n,j as o,g as u}from"./index-client.CGppiJvc.js";import{p as r}from"./proxy.DB4Km9hY.js";var s={};let e=n(r(typeof process<"u"&&s.DEV_MODE==="true"));function f(){if(typeof process<"u")o(e,s.DEV_MODE==="true");else if(typeof window<"u"){let t=window.document.getElementsByName("rauthy-csrf-token")[0];o(e,t.id==="{{ csrf_token }}")}}function i(){return{get(){return u(e)},set(t){o(e,r(t))}}}export{f as i,i as u};
diff --git a/static/v1/_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js.br b/static/v1/_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js.br
deleted file mode 100644
index 231d1423e..000000000
Binary files a/static/v1/_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js.gz b/static/v1/_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js.gz
deleted file mode 100644
index 56f66fc33..000000000
Binary files a/static/v1/_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/language.svelte.Zi8jd0TO.js b/static/v1/_app/immutable/chunks/language.svelte.Zi8jd0TO.js
new file mode 100644
index 000000000..ea193223b
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/language.svelte.Zi8jd0TO.js
@@ -0,0 +1 @@
+import{j as o,g as t,P as n}from"./index-client.CzqVbBUo.js";import{p as r}from"./if.BnegfJmL.js";let e=n("");function a(){typeof document<"u"?o(e,r(document.documentElement.lang.slice(0,2).toLowerCase())):o(e,"en")}function m(){return t(e)}export{a as i,m as u};
diff --git a/static/v1/_app/immutable/chunks/language.svelte.Zi8jd0TO.js.br b/static/v1/_app/immutable/chunks/language.svelte.Zi8jd0TO.js.br
new file mode 100644
index 000000000..5952829e1
Binary files /dev/null and b/static/v1/_app/immutable/chunks/language.svelte.Zi8jd0TO.js.br differ
diff --git a/static/v1/_app/immutable/chunks/language.svelte.Zi8jd0TO.js.gz b/static/v1/_app/immutable/chunks/language.svelte.Zi8jd0TO.js.gz
new file mode 100644
index 000000000..b59b2b647
Binary files /dev/null and b/static/v1/_app/immutable/chunks/language.svelte.Zi8jd0TO.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/language.svelte.n4n5oz7-.js b/static/v1/_app/immutable/chunks/language.svelte.n4n5oz7-.js
deleted file mode 100644
index 61f440e91..000000000
--- a/static/v1/_app/immutable/chunks/language.svelte.n4n5oz7-.js
+++ /dev/null
@@ -1 +0,0 @@
-import{j as o,g as t,_ as n}from"./index-client.CGppiJvc.js";import{p as r}from"./proxy.DB4Km9hY.js";let e=n("");function a(){typeof document<"u"?o(e,r(document.documentElement.lang.slice(0,2).toLowerCase())):o(e,"en")}function m(){return t(e)}export{a as i,m as u};
diff --git a/static/v1/_app/immutable/chunks/language.svelte.n4n5oz7-.js.br b/static/v1/_app/immutable/chunks/language.svelte.n4n5oz7-.js.br
deleted file mode 100644
index c8c6279b3..000000000
Binary files a/static/v1/_app/immutable/chunks/language.svelte.n4n5oz7-.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/language.svelte.n4n5oz7-.js.gz b/static/v1/_app/immutable/chunks/language.svelte.n4n5oz7-.js.gz
deleted file mode 100644
index 7fccb9a63..000000000
Binary files a/static/v1/_app/immutable/chunks/language.svelte.n4n5oz7-.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/legacy-client.CgqodnwN.js b/static/v1/_app/immutable/chunks/legacy-client.CgqodnwN.js
deleted file mode 100644
index f65c760bc..000000000
--- a/static/v1/_app/immutable/chunks/legacy-client.CgqodnwN.js
+++ /dev/null
@@ -1 +0,0 @@
-var p=s=>{throw TypeError(s)};var g=(s,t,r)=>t.has(s)||p("Cannot "+r);var a=(s,t,r)=>(g(s,t,"read from private field"),r?r.call(s):t.get(s)),f=(s,t,r)=>t.has(s)?p("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(s):t.set(s,r),l=(s,t,r,o)=>(g(s,t,"write to private field"),o?o.call(s,r):t.set(s,r),r);var h,c;import{g as m,L as v,j as d,k as y,l as x,u as R,m as b,D as j,q as k,t as w,M,v as O,w as P,x as D,c as q}from"./index-client.CGppiJvc.js";import{a as C,m as L,u as Y}from"./render.D4MwAWTL.js";function _(s){return class extends z{constructor(t){super({component:s,...t})}}}class z{constructor(t){f(this,h);f(this,c);var $;var r=new Map,o=(e,n)=>{var u=b(n);return r.set(e,u),u};const i=new Proxy({...t.props||{},$$events:{}},{get(e,n){return m(r.get(n)??o(n,Reflect.get(e,n)))},has(e,n){return n===v?!0:(m(r.get(n)??o(n,Reflect.get(e,n))),Reflect.has(e,n))},set(e,n,u){return d(r.get(n)??o(n,u),u),Reflect.set(e,n,u)}});l(this,c,(t.hydrate?C:L)(t.component,{target:t.target,anchor:t.anchor,props:i,context:t.context,intro:t.intro??!1,recover:t.recover})),(!(($=t==null?void 0:t.props)!=null&&$.$$host)||t.sync===!1)&&y(),l(this,h,i.$$events);for(const e of Object.keys(a(this,c)))e==="$set"||e==="$destroy"||e==="$on"||x(this,e,{get(){return a(this,c)[e]},set(n){a(this,c)[e]=n},enumerable:!0});a(this,c).$set=e=>{Object.assign(i,e)},a(this,c).$destroy=()=>{Y(a(this,c))}}$set(t){a(this,c).$set(t)}$on(t,r){a(this,h)[t]=a(this,h)[t]||[];const o=(...i)=>r.call(this,...i);return a(this,h)[t].push(o),()=>{a(this,h)[t]=a(this,h)[t].filter(i=>i!==o)}}$destroy(){a(this,c).$destroy()}}h=new WeakMap,c=new WeakMap;function A(s){R(()=>{s();var t=O;t.f&j&&(k(),w(t,M))})}function B(){const s=q;return s===null&&P(),t=>r=>{var i;const o=(i=s.s.$$events)==null?void 0:i[t];if(o){const $=D(o)?o.slice():[o];for(const e of $)e.call(s.x,r);return!r.defaultPrevented}return!0}}export{_ as a,B as c,A as r};
diff --git a/static/v1/_app/immutable/chunks/legacy-client.CgqodnwN.js.br b/static/v1/_app/immutable/chunks/legacy-client.CgqodnwN.js.br
deleted file mode 100644
index 190d99a56..000000000
Binary files a/static/v1/_app/immutable/chunks/legacy-client.CgqodnwN.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/legacy-client.CgqodnwN.js.gz b/static/v1/_app/immutable/chunks/legacy-client.CgqodnwN.js.gz
deleted file mode 100644
index 37bc32371..000000000
Binary files a/static/v1/_app/immutable/chunks/legacy-client.CgqodnwN.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/legacy-client.DPLAlLYD.js b/static/v1/_app/immutable/chunks/legacy-client.DPLAlLYD.js
new file mode 100644
index 000000000..33ee98145
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/legacy-client.DPLAlLYD.js
@@ -0,0 +1 @@
+var g=s=>{throw TypeError(s)};var l=(s,t,r)=>t.has(s)||g("Cannot "+r);var n=(s,t,r)=>(l(s,t,"read from private field"),r?r.call(s):t.get(s)),u=(s,t,r)=>t.has(s)?g("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(s):t.set(s,r),p=(s,t,r,c)=>(l(s,t,"write to private field"),c?c.call(s,r):t.set(s,r),r);var h,a;import{g as m,L as y,j as v,k as d,l as x,u as R,m as b,D as j,q as k,t as w,M as D,v as M}from"./index-client.CzqVbBUo.js";import{h as O,m as q,u as L}from"./render.CK5MTJQL.js";function P(s){return class extends _{constructor(t){super({component:s,...t})}}}class _{constructor(t){u(this,h);u(this,a);var f;var r=new Map,c=(e,o)=>{var $=b(o);return r.set(e,$),$};const i=new Proxy({...t.props||{},$$events:{}},{get(e,o){return m(r.get(o)??c(o,Reflect.get(e,o)))},has(e,o){return o===y?!0:(m(r.get(o)??c(o,Reflect.get(e,o))),Reflect.has(e,o))},set(e,o,$){return v(r.get(o)??c(o,$),$),Reflect.set(e,o,$)}});p(this,a,(t.hydrate?O:q)(t.component,{target:t.target,anchor:t.anchor,props:i,context:t.context,intro:t.intro??!1,recover:t.recover})),(!((f=t==null?void 0:t.props)!=null&&f.$$host)||t.sync===!1)&&d(),p(this,h,i.$$events);for(const e of Object.keys(n(this,a)))e==="$set"||e==="$destroy"||e==="$on"||x(this,e,{get(){return n(this,a)[e]},set(o){n(this,a)[e]=o},enumerable:!0});n(this,a).$set=e=>{Object.assign(i,e)},n(this,a).$destroy=()=>{L(n(this,a))}}$set(t){n(this,a).$set(t)}$on(t,r){n(this,h)[t]=n(this,h)[t]||[];const c=(...i)=>r.call(this,...i);return n(this,h)[t].push(c),()=>{n(this,h)[t]=n(this,h)[t].filter(i=>i!==c)}}$destroy(){n(this,a).$destroy()}}h=new WeakMap,a=new WeakMap;function z(s){R(()=>{s();var t=M;t.f&j&&(k(),w(t,D))})}export{P as a,z as r};
diff --git a/static/v1/_app/immutable/chunks/legacy-client.DPLAlLYD.js.br b/static/v1/_app/immutable/chunks/legacy-client.DPLAlLYD.js.br
new file mode 100644
index 000000000..3c942b4e8
Binary files /dev/null and b/static/v1/_app/immutable/chunks/legacy-client.DPLAlLYD.js.br differ
diff --git a/static/v1/_app/immutable/chunks/legacy-client.DPLAlLYD.js.gz b/static/v1/_app/immutable/chunks/legacy-client.DPLAlLYD.js.gz
new file mode 100644
index 000000000..e8cbba296
Binary files /dev/null and b/static/v1/_app/immutable/chunks/legacy-client.DPLAlLYD.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/legacy.BuHyzquP.js b/static/v1/_app/immutable/chunks/legacy.BuHyzquP.js
deleted file mode 100644
index 961bdc5f8..000000000
--- a/static/v1/_app/immutable/chunks/legacy.BuHyzquP.js
+++ /dev/null
@@ -1 +0,0 @@
-import{i as a}from"./index-client.CGppiJvc.js";a();
diff --git a/static/v1/_app/immutable/chunks/legacy.BuHyzquP.js.br b/static/v1/_app/immutable/chunks/legacy.BuHyzquP.js.br
deleted file mode 100644
index 0c3775193..000000000
--- a/static/v1/_app/immutable/chunks/legacy.BuHyzquP.js.br
+++ /dev/null
@@ -1,2 +0,0 @@
-��import{i as a}from"./index-client.CGppiJvc.js";a();
-
\ No newline at end of file
diff --git a/static/v1/_app/immutable/chunks/legacy.BuHyzquP.js.gz b/static/v1/_app/immutable/chunks/legacy.BuHyzquP.js.gz
deleted file mode 100644
index 11e32af50..000000000
Binary files a/static/v1/_app/immutable/chunks/legacy.BuHyzquP.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/legacy.Cdp_P06_.js b/static/v1/_app/immutable/chunks/legacy.Cdp_P06_.js
new file mode 100644
index 000000000..846157ea6
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/legacy.Cdp_P06_.js
@@ -0,0 +1 @@
+import{i as a}from"./index-client.CzqVbBUo.js";a();
diff --git a/static/v1/_app/immutable/chunks/legacy.Cdp_P06_.js.br b/static/v1/_app/immutable/chunks/legacy.Cdp_P06_.js.br
new file mode 100644
index 000000000..44003c2c0
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/legacy.Cdp_P06_.js.br
@@ -0,0 +1,2 @@
+��import{i as a}from"./index-client.CzqVbBUo.js";a();
+
\ No newline at end of file
diff --git a/static/v1/_app/immutable/chunks/legacy.Cdp_P06_.js.gz b/static/v1/_app/immutable/chunks/legacy.Cdp_P06_.js.gz
new file mode 100644
index 000000000..fa7568fca
Binary files /dev/null and b/static/v1/_app/immutable/chunks/legacy.Cdp_P06_.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/lifecycle.CRex4y9i.js b/static/v1/_app/immutable/chunks/lifecycle.BPrHSQsT.js
similarity index 87%
rename from static/v1/_app/immutable/chunks/lifecycle.CRex4y9i.js
rename to static/v1/_app/immutable/chunks/lifecycle.BPrHSQsT.js
index 91aa41c01..936597bd0 100644
--- a/static/v1/_app/immutable/chunks/lifecycle.CRex4y9i.js
+++ b/static/v1/_app/immutable/chunks/lifecycle.BPrHSQsT.js
@@ -1 +1 @@
-import{u as b,b as i,c as g,d as h,r as d,e as l,g as u,f as x,h as v}from"./index-client.CGppiJvc.js";function y(n=!1){const s=g,t=s.l.u;if(!t)return;let r=()=>x(s.s);if(n){let f=0,o={};const p=v(()=>{let c=!1;const e=s.s;for(const a in e)e[a]!==o[a]&&(o[a]=e[a],c=!0);return c&&f++,f});r=()=>u(p)}t.b.length&&b(()=>{m(s,r),l(t.b)}),i(()=>{const f=h(()=>t.m.map(d));return()=>{for(const o of f)typeof o=="function"&&o()}}),t.a.length&&i(()=>{m(s,r),l(t.a)})}function m(n,s){if(n.l.s)for(const t of n.l.s)u(t);s()}export{y as i};
+import{u as b,b as i,c as g,d as h,r as d,e as l,g as u,f as x,h as v}from"./index-client.CzqVbBUo.js";function y(n=!1){const s=g,t=s.l.u;if(!t)return;let r=()=>x(s.s);if(n){let f=0,o={};const p=v(()=>{let c=!1;const e=s.s;for(const a in e)e[a]!==o[a]&&(o[a]=e[a],c=!0);return c&&f++,f});r=()=>u(p)}t.b.length&&b(()=>{m(s,r),l(t.b)}),i(()=>{const f=h(()=>t.m.map(d));return()=>{for(const o of f)typeof o=="function"&&o()}}),t.a.length&&i(()=>{m(s,r),l(t.a)})}function m(n,s){if(n.l.s)for(const t of n.l.s)u(t);s()}export{y as i};
diff --git a/static/v1/_app/immutable/chunks/lifecycle.BPrHSQsT.js.br b/static/v1/_app/immutable/chunks/lifecycle.BPrHSQsT.js.br
new file mode 100644
index 000000000..2a7e319a5
Binary files /dev/null and b/static/v1/_app/immutable/chunks/lifecycle.BPrHSQsT.js.br differ
diff --git a/static/v1/_app/immutable/chunks/lifecycle.BPrHSQsT.js.gz b/static/v1/_app/immutable/chunks/lifecycle.BPrHSQsT.js.gz
new file mode 100644
index 000000000..44d406142
Binary files /dev/null and b/static/v1/_app/immutable/chunks/lifecycle.BPrHSQsT.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/lifecycle.CRex4y9i.js.br b/static/v1/_app/immutable/chunks/lifecycle.CRex4y9i.js.br
deleted file mode 100644
index 76a0dcf39..000000000
Binary files a/static/v1/_app/immutable/chunks/lifecycle.CRex4y9i.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/lifecycle.CRex4y9i.js.gz b/static/v1/_app/immutable/chunks/lifecycle.CRex4y9i.js.gz
deleted file mode 100644
index 91461f548..000000000
Binary files a/static/v1/_app/immutable/chunks/lifecycle.CRex4y9i.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/pow.r0U0E3f9.js b/static/v1/_app/immutable/chunks/pow.CkxCHWs-.js
similarity index 85%
rename from static/v1/_app/immutable/chunks/pow.r0U0E3f9.js
rename to static/v1/_app/immutable/chunks/pow.CkxCHWs-.js
index 6692cc889..2970d8abe 100644
--- a/static/v1/_app/immutable/chunks/pow.r0U0E3f9.js
+++ b/static/v1/_app/immutable/chunks/pow.CkxCHWs-.js
@@ -1 +1 @@
-import{_}from"./preload-helper.CmsKOCeN.js";import{i as s}from"./dataFetching.Dto1xJW6.js";let r,i=(async()=>{r=async function(){let t=await s();if(t.ok){let a=await t.text(),e=(await _(async()=>{const{pow_work_wasm:w}=await import("./spow-wasm.UQjNzBcP.js").then(async o=>(await o.__tla,o));return{pow_work_wasm:w}},[],import.meta.url)).pow_work_wasm;return await e(a)||""}else{let a=await t.json();console.error(a)}}})();export{i as __tla,r as f};
+import{_}from"./preload-helper.CmsKOCeN.js";import{i as s}from"./dataFetching.Br47vc1D.js";let r,i=(async()=>{r=async function(){let t=await s();if(t.ok){let a=await t.text(),e=(await _(async()=>{const{pow_work_wasm:w}=await import("./spow-wasm.UQjNzBcP.js").then(async o=>(await o.__tla,o));return{pow_work_wasm:w}},[],import.meta.url)).pow_work_wasm;return await e(a)||""}else{let a=await t.json();console.error(a)}}})();export{i as __tla,r as f};
diff --git a/static/v1/_app/immutable/chunks/pow.CkxCHWs-.js.br b/static/v1/_app/immutable/chunks/pow.CkxCHWs-.js.br
new file mode 100644
index 000000000..686bfde76
Binary files /dev/null and b/static/v1/_app/immutable/chunks/pow.CkxCHWs-.js.br differ
diff --git a/static/v1/_app/immutable/chunks/pow.CkxCHWs-.js.gz b/static/v1/_app/immutable/chunks/pow.CkxCHWs-.js.gz
new file mode 100644
index 000000000..f5ec85319
Binary files /dev/null and b/static/v1/_app/immutable/chunks/pow.CkxCHWs-.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/pow.r0U0E3f9.js.br b/static/v1/_app/immutable/chunks/pow.r0U0E3f9.js.br
deleted file mode 100644
index 5219ba06d..000000000
--- a/static/v1/_app/immutable/chunks/pow.r0U0E3f9.js.br
+++ /dev/null
@@ -1,4 +0,0 @@
-�`	6.t/D<�k:��c���Ħ$�f�X+l�����s)@ζ�G�(:�Fo[�$�	��[w�_�/1���m�߭��Uu�mN
-g�+G�R����V������^�E��o5��1G\�'4���\f��E��c˱��Ԅ��g�����Z�H��S�_��}}���7�L]��?�Vw	��]ۅ������C;m
-��&
-q����/����v���E	�n5��R�<�X��-a���N=��i�0?��2�����{�2T�70�
\ No newline at end of file
diff --git a/static/v1/_app/immutable/chunks/pow.r0U0E3f9.js.gz b/static/v1/_app/immutable/chunks/pow.r0U0E3f9.js.gz
deleted file mode 100644
index b6b820ce3..000000000
Binary files a/static/v1/_app/immutable/chunks/pow.r0U0E3f9.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/props.C_MHtC74.js b/static/v1/_app/immutable/chunks/props.C_MHtC74.js
new file mode 100644
index 000000000..c1e47645d
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/props.C_MHtC74.js
@@ -0,0 +1 @@
+import{n as d,d as P,ai as I,m as L,g as f,j as R,a1 as q,aj as J,ak as M,al as N,am as Q,an as T,ao as U,ap as S,aq as V,ar as W,as as X,at as Z,S as z,L as A,h as B,ah as _,v as C,au as Y,av as b}from"./index-client.CzqVbBUo.js";import{p as rr}from"./if.BnegfJmL.js";function nr(r,n,s){if(r==null)return n(void 0),d;const e=P(()=>r.subscribe(n,s));return e.unsubscribe?()=>e.unsubscribe():e}let g=!1;function er(r,n,s){const e=s[n]??(s[n]={store:null,source:L(void 0),unsubscribe:d});if(e.store!==r)if(e.unsubscribe(),e.store=r??null,r==null)e.source.v=void 0,e.unsubscribe=d;else{var u=!0;e.unsubscribe=nr(r,o=>{u?e.source.v=o:R(e.source,o)}),u=!1}return f(e.source)}function sr(r,n,s){let e=s[n];return e&&e.store!==r&&(e.unsubscribe(),e.unsubscribe=d),r}function tr(){const r={};return I(()=>{for(var n in r)r[n].unsubscribe()}),r}function ur(r){var n=g;try{return g=!1,[r(),g]}finally{g=n}}const or={get(r,n){if(!r.exclude.includes(n))return r.props[n]},set(r,n){return!1},getOwnPropertyDescriptor(r,n){if(!r.exclude.includes(n)&&n in r.props)return{enumerable:!0,configurable:!0,value:r.props[n]}},has(r,n){return r.exclude.includes(n)?!1:n in r.props},ownKeys(r){return Reflect.ownKeys(r.props).filter(n=>!r.exclude.includes(n))}};function ar(r,n,s){return new Proxy({props:r,exclude:n},or)}const ir={get(r,n){let s=r.props.length;for(;s--;){let e=r.props[s];if(b(e)&&(e=e()),typeof e=="object"&&e!==null&&n in e)return e[n]}},set(r,n,s){let e=r.props.length;for(;e--;){let u=r.props[e];b(u)&&(u=u());const o=q(u,n);if(o&&o.set)return o.set(s),!0}return!1},getOwnPropertyDescriptor(r,n){let s=r.props.length;for(;s--;){let e=r.props[s];if(b(e)&&(e=e()),typeof e=="object"&&e!==null&&n in e){const u=q(e,n);return u&&!u.configurable&&(u.configurable=!0),u}}},has(r,n){if(n===z||n===A)return!1;for(let s of r.props)if(b(s)&&(s=s()),s!=null&&n in s)return!0;return!1},ownKeys(r){const n=[];for(let s of r.props){b(s)&&(s=s());for(const e in s)n.includes(e)||n.push(e)}return n}};function lr(...r){return new Proxy({props:r},ir)}function E(r){for(var n=C,s=C;n!==null&&!(n.f&(T|U));)n=n.parent;try{return S(n),r()}finally{S(s)}}function cr(r,n,s,e){var k;var u=(s&V)!==0,o=!W||(s&X)!==0,y=(s&Z)!==0,F=(s&Y)!==0,K=!1,i;y?[i,K]=ur(()=>r[n]):i=r[n];var G=z in r||A in r,p=((k=q(r,n))==null?void 0:k.set)??(G&&y&&n in r?t=>r[n]=t:void 0),a=e,h=!0,m=!1,D=()=>(m=!0,h&&(h=!1,F?a=P(e):a=e),a);i===void 0&&e!==void 0&&(p&&o&&J(),i=D(),p&&p(i));var l;if(o)l=()=>{var t=r[n];return t===void 0?D():(h=!0,m=!1,t)};else{var O=E(()=>(u?B:_)(()=>r[n]));O.f|=M,l=()=>{var t=f(O);return t!==void 0&&(a=void 0),t===void 0?a:t}}if(!(s&N))return l;if(p){var H=r.$$legacy;return function(t,c){return arguments.length>0?((!o||!c||H||K)&&p(c?l():t),t):l()}}var x=!1,$=!1,w=L(i),v=E(()=>B(()=>{var t=l(),c=f(w);return x?(x=!1,$=!0,c):($=!1,w.v=t)}));return u||(v.equals=Q),function(t,c){if(arguments.length>0){const j=c?f(v):o&&y?rr(t):t;return v.equals(j)||(x=!0,R(w,j),m&&a!==void 0&&(a=j),P(()=>f(v))),t}return f(v)}}export{er as a,sr as b,lr as c,cr as p,ar as r,tr as s};
diff --git a/static/v1/_app/immutable/chunks/props.C_MHtC74.js.br b/static/v1/_app/immutable/chunks/props.C_MHtC74.js.br
new file mode 100644
index 000000000..b7049120f
Binary files /dev/null and b/static/v1/_app/immutable/chunks/props.C_MHtC74.js.br differ
diff --git a/static/v1/_app/immutable/chunks/props.C_MHtC74.js.gz b/static/v1/_app/immutable/chunks/props.C_MHtC74.js.gz
new file mode 100644
index 000000000..4c7cc84af
Binary files /dev/null and b/static/v1/_app/immutable/chunks/props.C_MHtC74.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/props.Df_pGDSd.js b/static/v1/_app/immutable/chunks/props.Df_pGDSd.js
deleted file mode 100644
index 7170b9c58..000000000
--- a/static/v1/_app/immutable/chunks/props.Df_pGDSd.js
+++ /dev/null
@@ -1 +0,0 @@
-import{n as d,d as P,ad as I,m as L,g as f,j as R,R as q,ae as J,af as M,ag as N,ah as Q,ai as T,aj as U,ak as S,al as V,am as W,an as X,ao as Z,S as z,L as A,h as B,ac as _,v as C,ap as Y,aq as b}from"./index-client.CGppiJvc.js";import{p as rr}from"./proxy.DB4Km9hY.js";function nr(r,n,s){if(r==null)return n(void 0),d;const e=P(()=>r.subscribe(n,s));return e.unsubscribe?()=>e.unsubscribe():e}let g=!1;function er(r,n,s){const e=s[n]??(s[n]={store:null,source:L(void 0),unsubscribe:d});if(e.store!==r)if(e.unsubscribe(),e.store=r??null,r==null)e.source.v=void 0,e.unsubscribe=d;else{var u=!0;e.unsubscribe=nr(r,o=>{u?e.source.v=o:R(e.source,o)}),u=!1}return f(e.source)}function sr(r,n,s){let e=s[n];return e&&e.store!==r&&(e.unsubscribe(),e.unsubscribe=d),r}function tr(){const r={};return I(()=>{for(var n in r)r[n].unsubscribe()}),r}function ur(r){var n=g;try{return g=!1,[r(),g]}finally{g=n}}const or={get(r,n){if(!r.exclude.includes(n))return r.props[n]},set(r,n){return!1},getOwnPropertyDescriptor(r,n){if(!r.exclude.includes(n)&&n in r.props)return{enumerable:!0,configurable:!0,value:r.props[n]}},has(r,n){return r.exclude.includes(n)?!1:n in r.props},ownKeys(r){return Reflect.ownKeys(r.props).filter(n=>!r.exclude.includes(n))}};function ar(r,n,s){return new Proxy({props:r,exclude:n},or)}const ir={get(r,n){let s=r.props.length;for(;s--;){let e=r.props[s];if(b(e)&&(e=e()),typeof e=="object"&&e!==null&&n in e)return e[n]}},set(r,n,s){let e=r.props.length;for(;e--;){let u=r.props[e];b(u)&&(u=u());const o=q(u,n);if(o&&o.set)return o.set(s),!0}return!1},getOwnPropertyDescriptor(r,n){let s=r.props.length;for(;s--;){let e=r.props[s];if(b(e)&&(e=e()),typeof e=="object"&&e!==null&&n in e){const u=q(e,n);return u&&!u.configurable&&(u.configurable=!0),u}}},has(r,n){if(n===z||n===A)return!1;for(let s of r.props)if(b(s)&&(s=s()),s!=null&&n in s)return!0;return!1},ownKeys(r){const n=[];for(let s of r.props){b(s)&&(s=s());for(const e in s)n.includes(e)||n.push(e)}return n}};function lr(...r){return new Proxy({props:r},ir)}function E(r){for(var n=C,s=C;n!==null&&!(n.f&(T|U));)n=n.parent;try{return S(n),r()}finally{S(s)}}function cr(r,n,s,e){var k;var u=(s&V)!==0,o=!W||(s&X)!==0,y=(s&Z)!==0,F=(s&Y)!==0,K=!1,i;y?[i,K]=ur(()=>r[n]):i=r[n];var G=z in r||A in r,p=((k=q(r,n))==null?void 0:k.set)??(G&&y&&n in r?t=>r[n]=t:void 0),a=e,h=!0,m=!1,D=()=>(m=!0,h&&(h=!1,F?a=P(e):a=e),a);i===void 0&&e!==void 0&&(p&&o&&J(),i=D(),p&&p(i));var l;if(o)l=()=>{var t=r[n];return t===void 0?D():(h=!0,m=!1,t)};else{var O=E(()=>(u?B:_)(()=>r[n]));O.f|=M,l=()=>{var t=f(O);return t!==void 0&&(a=void 0),t===void 0?a:t}}if(!(s&N))return l;if(p){var H=r.$$legacy;return function(t,c){return arguments.length>0?((!o||!c||H||K)&&p(c?l():t),t):l()}}var x=!1,$=!1,w=L(i),v=E(()=>B(()=>{var t=l(),c=f(w);return x?(x=!1,$=!0,c):($=!1,w.v=t)}));return u||(v.equals=Q),function(t,c){if(arguments.length>0){const j=c?f(v):o&&y?rr(t):t;return v.equals(j)||(x=!0,R(w,j),m&&a!==void 0&&(a=j),P(()=>f(v))),t}return f(v)}}export{er as a,sr as b,lr as c,cr as p,ar as r,tr as s};
diff --git a/static/v1/_app/immutable/chunks/props.Df_pGDSd.js.br b/static/v1/_app/immutable/chunks/props.Df_pGDSd.js.br
deleted file mode 100644
index 6b5bd6a52..000000000
Binary files a/static/v1/_app/immutable/chunks/props.Df_pGDSd.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/props.Df_pGDSd.js.gz b/static/v1/_app/immutable/chunks/props.Df_pGDSd.js.gz
deleted file mode 100644
index ebb8e7d03..000000000
Binary files a/static/v1/_app/immutable/chunks/props.Df_pGDSd.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/proxy.DB4Km9hY.js b/static/v1/_app/immutable/chunks/proxy.DB4Km9hY.js
deleted file mode 100644
index 22abe81de..000000000
--- a/static/v1/_app/immutable/chunks/proxy.DB4Km9hY.js
+++ /dev/null
@@ -1 +0,0 @@
-import{S as b,N as K,O as S,P as l,Q as T,j as f,R,U as s,g as h,v as U,T as x,V as A,x as E}from"./index-client.CGppiJvc.js";function g(i,d=null,M){if(typeof i!="object"||i===null||b in i)return i;const j=A(i);if(j!==K&&j!==S)return i;var n=new Map,c=E(i),m=l(0);c&&n.set("length",l(i.length));var p;return new Proxy(i,{defineProperty(v,r,e){(!("value"in e)||e.configurable===!1||e.enumerable===!1||e.writable===!1)&&T();var t=n.get(r);return t===void 0?(t=l(e.value),n.set(r,t)):f(t,g(e.value,p)),!0},deleteProperty(v,r){var e=n.get(r);if(e===void 0)r in v&&n.set(r,l(s));else{if(c&&typeof r=="string"){var t=n.get("length"),a=Number(r);Number.isInteger(a)&&a<t.v&&f(t,a)}f(e,s),N(m)}return!0},get(v,r,e){var u;if(r===b)return i;var t=n.get(r),a=r in v;if(t===void 0&&(!a||(u=R(v,r))!=null&&u.writable)&&(t=l(g(a?v[r]:s,p)),n.set(r,t)),t!==void 0){var o=h(t);return o===s?void 0:o}return Reflect.get(v,r,e)},getOwnPropertyDescriptor(v,r){var e=Reflect.getOwnPropertyDescriptor(v,r);if(e&&"value"in e){var t=n.get(r);t&&(e.value=h(t))}else if(e===void 0){var a=n.get(r),o=a==null?void 0:a.v;if(a!==void 0&&o!==s)return{enumerable:!0,configurable:!0,value:o,writable:!0}}return e},has(v,r){var o;if(r===b)return!0;var e=n.get(r),t=e!==void 0&&e.v!==s||Reflect.has(v,r);if(e!==void 0||U!==null&&(!t||(o=R(v,r))!=null&&o.writable)){e===void 0&&(e=l(t?g(v[r],p):s),n.set(r,e));var a=h(e);if(a===s)return!1}return t},set(v,r,e,t){var D;var a=n.get(r),o=r in v;if(c&&r==="length")for(var u=e;u<a.v;u+=1){var y=n.get(u+"");y!==void 0?f(y,s):u in v&&(y=l(s),n.set(u+"",y))}a===void 0?(!o||(D=R(v,r))!=null&&D.writable)&&(a=l(void 0),f(a,g(e,p)),n.set(r,a)):(o=a.v!==s,f(a,g(e,p)));var w=Reflect.getOwnPropertyDescriptor(v,r);if(w!=null&&w.set&&w.set.call(t,e),!o){if(c&&typeof r=="string"){var O=n.get("length"),P=Number(r);Number.isInteger(P)&&P>=O.v&&f(O,P+1)}N(m)}return!0},ownKeys(v){h(m);var r=Reflect.ownKeys(v).filter(a=>{var o=n.get(a);return o===void 0||o.v!==s});for(var[e,t]of n)t.v!==s&&!(e in v)&&r.push(e);return r},setPrototypeOf(){x()}})}function N(i,d=1){f(i,i.v+d)}function I(i){return i!==null&&typeof i=="object"&&b in i?i[b]:i}function L(i,d){return Object.is(I(i),I(d))}export{L as i,g as p};
diff --git a/static/v1/_app/immutable/chunks/proxy.DB4Km9hY.js.br b/static/v1/_app/immutable/chunks/proxy.DB4Km9hY.js.br
deleted file mode 100644
index c439f8506..000000000
Binary files a/static/v1/_app/immutable/chunks/proxy.DB4Km9hY.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/proxy.DB4Km9hY.js.gz b/static/v1/_app/immutable/chunks/proxy.DB4Km9hY.js.gz
deleted file mode 100644
index b7aa8a108..000000000
Binary files a/static/v1/_app/immutable/chunks/proxy.DB4Km9hY.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/render.CK5MTJQL.js b/static/v1/_app/immutable/chunks/render.CK5MTJQL.js
new file mode 100644
index 000000000..75998d53b
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/render.CK5MTJQL.js
@@ -0,0 +1 @@
+import{y as j,B as y,J as P,aA as V,aJ as g,ap as b,aD as B,v as k,ai as W,l as K,a5 as Q,aK as C,C as R,E as U,aL as M,F as E,G as D,a6 as X,I as h,aC as Y,aM as Z,aN as H,aw as ee,aO as te,z as ne,N as ae,p as oe,a as re,c as se}from"./index-client.CzqVbBUo.js";import{r as ue}from"./svelte-head.BSz900xL.js";import{d as ce}from"./template.io25wnf1.js";function ie(e){return e.endsWith("capture")&&e!=="gotpointercapture"&&e!=="lostpointercapture"}const le=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function de(e){return le.includes(e)}const fe={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject"};function ve(e){return e=e.toLowerCase(),fe[e]??e}const pe=["touchstart","touchmove"];function me(e){return pe.includes(e)}function he(e,t){if(t){const n=document.body;e.autofocus=!0,j(()=>{document.activeElement===n&&e.focus()})}}function _e(e){y&&P(e)!==null&&V(e)}let I=!1;function J(){I||(I=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const n of e.target.elements)(t=n.__on_r)==null||t.call(n)})},{capture:!0}))}function we(e,t,n,r=!0){r&&n();for(var o of t)e.addEventListener(o,n);W(()=>{for(var a of t)e.removeEventListener(a,n)})}function N(e){var t=B,n=k;g(null),b(null);try{return e()}finally{g(t),b(n)}}function ye(e,t,n,r=n){e.addEventListener(t,()=>N(n));const o=e.__on_r;o?e.__on_r=()=>{o(),r(!0)}:e.__on_r=()=>r(!0),J()}const $=new Set,x=new Set;function q(e,t,n,r){function o(a){if(r.capture||_.call(t,a),!a.cancelBubble)return N(()=>n.call(this,a))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?j(()=>{t.addEventListener(e,o,r)}):t.addEventListener(e,o,r),o}function ge(e,t,n,r,o){var a={capture:r,passive:o},c=q(e,t,n,a);(t===document.body||t===window||t===document)&&W(()=>{t.removeEventListener(e,c,a)})}function be(e){for(var t=0;t<e.length;t++)$.add(e[t]);for(var n of x)n(e)}function _(e){var T;var t=this,n=t.ownerDocument,r=e.type,o=((T=e.composedPath)==null?void 0:T.call(e))||[],a=o[0]||e.target,c=0,v=e.__root;if(v){var d=o.indexOf(v);if(d!==-1&&(t===document||t===window)){e.__root=t;return}var p=o.indexOf(t);if(p===-1)return;d<=p&&(c=d)}if(a=o[c]||e.target,a!==t){K(e,"currentTarget",{configurable:!0,get(){return a||n}});var L=B,i=k;g(null),b(null);try{for(var s,u=[];a!==null;){var l=a.assignedSlot||a.parentNode||a.host||null;try{var f=a["__"+r];if(f!==void 0&&!a.disabled)if(Q(f)){var[F,...G]=f;F.apply(a,[e,...G])}else f.call(a,e)}catch(w){s?u.push(w):s=w}if(e.cancelBubble||l===t||l===null)break;a=l}if(s){for(let w of u)queueMicrotask(()=>{throw w});throw s}}finally{e.__root=t,delete e.currentTarget,g(L),b(i)}}}let O=!0;function Ee(e,t){var n=t==null?"":typeof t=="object"?t+"":t;n!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=n,e.nodeValue=n==null?"":n+"")}function z(e,t){return A(e,t)}function Le(e,t){C(),t.intro=t.intro??!1;const n=t.target,r=y,o=h;try{for(var a=P(n);a&&(a.nodeType!==8||a.data!==R);)a=U(a);if(!a)throw M;E(!0),D(a),X();const c=A(e,{...t,anchor:a});if(h===null||h.nodeType!==8||h.data!==Y)throw Z(),M;return E(!1),c}catch(c){if(c===M)return t.recover===!1&&H(),C(),V(n),E(!1),z(e,t);throw c}finally{E(r),D(o),ue()}}const m=new Map;function A(e,{target:t,anchor:n,props:r={},events:o,context:a,intro:c=!0}){C();var v=new Set,d=i=>{for(var s=0;s<i.length;s++){var u=i[s];if(!v.has(u)){v.add(u);var l=me(u);t.addEventListener(u,_,{passive:l});var f=m.get(u);f===void 0?(document.addEventListener(u,_,{passive:l}),m.set(u,1)):m.set(u,f+1)}}};d(ee($)),x.add(d);var p=void 0,L=te(()=>{var i=n??t.appendChild(ne());return ae(()=>{if(a){oe({});var s=se;s.c=a}o&&(r.$$events=o),y&&ce(i,null),O=c,p=e(i,r)||{},O=!0,y&&(k.nodes_end=h),a&&re()}),()=>{var l;for(var s of v){t.removeEventListener(s,_);var u=m.get(s);--u===0?(document.removeEventListener(s,_),m.delete(s)):m.set(s,u)}x.delete(d),i!==n&&((l=i.parentNode)==null||l.removeChild(i))}});return S.set(p,L),p}let S=new WeakMap;function ke(e,t){const n=S.get(e);return n?(S.delete(e),n(t)):Promise.resolve()}export{J as a,he as b,q as c,be as d,ge as e,de as f,O as g,Le as h,ie as i,we as j,ye as l,z as m,ve as n,_e as r,Ee as s,ke as u,N as w};
diff --git a/static/v1/_app/immutable/chunks/render.CK5MTJQL.js.br b/static/v1/_app/immutable/chunks/render.CK5MTJQL.js.br
new file mode 100644
index 000000000..55add8f68
Binary files /dev/null and b/static/v1/_app/immutable/chunks/render.CK5MTJQL.js.br differ
diff --git a/static/v1/_app/immutable/chunks/render.CK5MTJQL.js.gz b/static/v1/_app/immutable/chunks/render.CK5MTJQL.js.gz
new file mode 100644
index 000000000..1c08b8730
Binary files /dev/null and b/static/v1/_app/immutable/chunks/render.CK5MTJQL.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/render.D4MwAWTL.js b/static/v1/_app/immutable/chunks/render.D4MwAWTL.js
deleted file mode 100644
index 601004832..000000000
--- a/static/v1/_app/immutable/chunks/render.D4MwAWTL.js
+++ /dev/null
@@ -1 +0,0 @@
-import{Y as W,z as p,as as x,az as B,aJ as L,ak as E,ad as z,aC as A,v as M,l as R,x as U,ar as K,y as X,aK as Z,aL as $,aI as T,F as w,C as k,K as m,aM as N,aN as O,A as ee,aB as te,aO as ne,aP as oe,av as ae,aQ as re,I as se,p as ue,a as ce,c as ie}from"./index-client.CGppiJvc.js";import{d as le}from"./disclose-version.DZhRUPAc.js";function de(e){return e.endsWith("capture")&&e!=="gotpointercapture"&&e!=="lostpointercapture"}const fe=["beforeinput","click","change","dblclick","contextmenu","focusin","focusout","input","keydown","keyup","mousedown","mousemove","mouseout","mouseover","mouseup","pointerdown","pointermove","pointerout","pointerover","pointerup","touchend","touchmove","touchstart"];function ve(e){return fe.includes(e)}const pe={formnovalidate:"formNoValidate",ismap:"isMap",nomodule:"noModule",playsinline:"playsInline",readonly:"readOnly",defaultvalue:"defaultValue",defaultchecked:"defaultChecked",srcobject:"srcObject"};function me(e){return e=e.toLowerCase(),pe[e]??e}const he=["touchstart","touchmove"];function _e(e){return he.includes(e)}function we(e,t){if(t){const n=document.body;e.autofocus=!0,W(()=>{document.activeElement===n&&e.focus()})}}function ye(e){p&&x(e)!==null&&B(e)}let D=!1;function J(){D||(D=!0,document.addEventListener("reset",e=>{Promise.resolve().then(()=>{var t;if(!e.defaultPrevented)for(const n of e.target.elements)(t=n.__on_r)==null||t.call(n)})},{capture:!0}))}function ge(e,t,n,a=!0){a&&n();for(var r of t)e.addEventListener(r,n);z(()=>{for(var o of t)e.removeEventListener(o,n)})}function P(e){var t=A,n=M;L(null),E(null);try{return e()}finally{L(t),E(n)}}function be(e,t,n,a=n){e.addEventListener(t,()=>P(n));const r=e.__on_r;r?e.__on_r=()=>{r(),a(!0)}:e.__on_r=()=>a(!0),J()}const Q=new Set,S=new Set;function Y(e,t,n,a){function r(o){if(a.capture||g.call(t,o),!o.cancelBubble)return P(()=>n.call(this,o))}return e.startsWith("pointer")||e.startsWith("touch")||e==="wheel"?W(()=>{t.addEventListener(e,r,a)}):t.addEventListener(e,r,a),r}function Le(e,t,n,a,r){var o={capture:a,passive:r},i=Y(e,t,n,o);(t===document.body||t===window||t===document)&&z(()=>{t.removeEventListener(e,i,o)})}function Ee(e){for(var t=0;t<e.length;t++)Q.add(e[t]);for(var n of S)n(e)}function g(e){var V;var t=this,n=t.ownerDocument,a=e.type,r=((V=e.composedPath)==null?void 0:V.call(e))||[],o=r[0]||e.target,i=0,h=e.__root;if(h){var f=r.indexOf(h);if(f!==-1&&(t===document||t===window)){e.__root=t;return}var _=r.indexOf(t);if(_===-1)return;f<=_&&(i=f)}if(o=r[i]||e.target,o!==t){R(e,"currentTarget",{configurable:!0,get(){return o||n}});var C=A,l=M;L(null),E(null);try{for(var s,u=[];o!==null;){var d=o.assignedSlot||o.parentNode||o.host||null;try{var v=o["__"+a];if(v!==void 0&&!o.disabled)if(U(v)){var[G,...H]=v;G.apply(o,[e,...H])}else v.call(o,e)}catch(b){s?u.push(b):s=b}if(e.cancelBubble||d===t||d===null)break;o=d}if(s){for(let b of u)queueMicrotask(()=>{throw b});throw s}}finally{e.__root=t,delete e.currentTarget,L(C),E(l)}}}let c;function ke(){c=void 0}function Ce(e){let t=null,n=p;var a;if(p){for(t=m,c===void 0&&(c=x(document.head));c!==null&&(c.nodeType!==8||c.data!==$);)c=T(c);c===null?w(!1):c=k(T(c))}p||(a=document.head.appendChild(K()));try{X(()=>e(a),Z)}finally{n&&(w(!0),c=m,k(t))}}let j=!0;function xe(e,t){var n=t==null?"":typeof t=="object"?t+"":t;n!==(e.__t??(e.__t=e.nodeValue))&&(e.__t=n,e.nodeValue=n==null?"":n+"")}function q(e,t){return F(e,t)}function Me(e,t){N(),t.intro=t.intro??!1;const n=t.target,a=p,r=m;try{for(var o=x(n);o&&(o.nodeType!==8||o.data!==$);)o=T(o);if(!o)throw O;w(!0),k(o),ee();const i=F(e,{...t,anchor:o});if(m===null||m.nodeType!==8||m.data!==te)throw ne(),O;return w(!1),i}catch(i){if(i===O)return t.recover===!1&&oe(),N(),B(n),w(!1),q(e,t);throw i}finally{w(a),k(r),ke()}}const y=new Map;function F(e,{target:t,anchor:n,props:a={},events:r,context:o,intro:i=!0}){N();var h=new Set,f=l=>{for(var s=0;s<l.length;s++){var u=l[s];if(!h.has(u)){h.add(u);var d=_e(u);t.addEventListener(u,g,{passive:d});var v=y.get(u);v===void 0?(document.addEventListener(u,g,{passive:d}),y.set(u,1)):y.set(u,v+1)}}};f(ae(Q)),S.add(f);var _=void 0,C=re(()=>{var l=n??t.appendChild(K());return se(()=>{if(o){ue({});var s=ie;s.c=o}r&&(a.$$events=r),p&&le(l,null),j=i,_=e(l,a)||{},j=!0,p&&(M.nodes_end=m),o&&ce()}),()=>{var d;for(var s of h){t.removeEventListener(s,g);var u=y.get(s);--u===0?(document.removeEventListener(s,g),y.delete(s)):y.set(s,u)}S.delete(f),l!==n&&((d=l.parentNode)==null||d.removeChild(l))}});return I.set(_,C),_}let I=new WeakMap;function Te(e,t){const n=I.get(e);return n?(I.delete(e),n(t)):Promise.resolve()}export{Me as a,J as b,Y as c,Ee as d,Le as e,we as f,ve as g,Ce as h,de as i,j,ge as k,be as l,q as m,me as n,ye as r,xe as s,Te as u,P as w};
diff --git a/static/v1/_app/immutable/chunks/render.D4MwAWTL.js.br b/static/v1/_app/immutable/chunks/render.D4MwAWTL.js.br
deleted file mode 100644
index 55b86debf..000000000
Binary files a/static/v1/_app/immutable/chunks/render.D4MwAWTL.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/render.D4MwAWTL.js.gz b/static/v1/_app/immutable/chunks/render.D4MwAWTL.js.gz
deleted file mode 100644
index 778752372..000000000
Binary files a/static/v1/_app/immutable/chunks/render.D4MwAWTL.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/snippet.B82X2vfx.js b/static/v1/_app/immutable/chunks/snippet.B82X2vfx.js
new file mode 100644
index 000000000..878ed9d22
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/snippet.B82X2vfx.js
@@ -0,0 +1 @@
+import{A as i,K as l,N as p,n as t,O as c,B as m,I as u}from"./index-client.CzqVbBUo.js";function d(o,r,...f){var n=o,s=t,a;i(()=>{s!==(s=r())&&(a&&(c(a),a=null),a=p(()=>s(n,...f)))},l),m&&(n=u)}export{d as s};
diff --git a/static/v1/_app/immutable/chunks/snippet.B82X2vfx.js.br b/static/v1/_app/immutable/chunks/snippet.B82X2vfx.js.br
new file mode 100644
index 000000000..67b305254
Binary files /dev/null and b/static/v1/_app/immutable/chunks/snippet.B82X2vfx.js.br differ
diff --git a/static/v1/_app/immutable/chunks/snippet.B82X2vfx.js.gz b/static/v1/_app/immutable/chunks/snippet.B82X2vfx.js.gz
new file mode 100644
index 000000000..9253d8356
Binary files /dev/null and b/static/v1/_app/immutable/chunks/snippet.B82X2vfx.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/snippet.xhmr1ywJ.js b/static/v1/_app/immutable/chunks/snippet.xhmr1ywJ.js
deleted file mode 100644
index 7fd7ded2a..000000000
--- a/static/v1/_app/immutable/chunks/snippet.xhmr1ywJ.js
+++ /dev/null
@@ -1 +0,0 @@
-import{y as i,E as p,I as t,n as c,Z as l,z as m,K as u}from"./index-client.CGppiJvc.js";function E(o,r,...f){var n=o,s=c,a;i(()=>{s!==(s=r())&&(a&&(l(a),a=null),a=t(()=>s(n,...f)))},p),m&&(n=u)}export{E as s};
diff --git a/static/v1/_app/immutable/chunks/snippet.xhmr1ywJ.js.br b/static/v1/_app/immutable/chunks/snippet.xhmr1ywJ.js.br
deleted file mode 100644
index f7123aa65..000000000
Binary files a/static/v1/_app/immutable/chunks/snippet.xhmr1ywJ.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/snippet.xhmr1ywJ.js.gz b/static/v1/_app/immutable/chunks/snippet.xhmr1ywJ.js.gz
deleted file mode 100644
index fc8247785..000000000
Binary files a/static/v1/_app/immutable/chunks/snippet.xhmr1ywJ.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/svelte-head.BSz900xL.js b/static/v1/_app/immutable/chunks/svelte-head.BSz900xL.js
new file mode 100644
index 000000000..0f2190c48
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/svelte-head.BSz900xL.js
@@ -0,0 +1 @@
+import{z as u,A as f,H as p,B as n,C as c,E as o,F as d,G as e,I as t,J as h}from"./index-client.CzqVbBUo.js";let a;function m(){a=void 0}function v(i){let s=null,r=n;var l;if(n){for(s=t,a===void 0&&(a=h(document.head));a!==null&&(a.nodeType!==8||a.data!==c);)a=o(a);a===null?d(!1):a=e(o(a))}n||(l=document.head.appendChild(u()));try{f(()=>i(l),p)}finally{r&&(d(!0),a=t,e(s))}}export{v as h,m as r};
diff --git a/static/v1/_app/immutable/chunks/svelte-head.BSz900xL.js.br b/static/v1/_app/immutable/chunks/svelte-head.BSz900xL.js.br
new file mode 100644
index 000000000..b961658c5
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/svelte-head.BSz900xL.js.br
@@ -0,0 +1 @@
+� ��F��6-Id�T^��}'9��e��rg�ι�0��%�
o�~���a��V7!��%fd�G�є�U����@��Yu��dz�wm��9	q��Q,�8:	�$��?:��>#�+���ҁy
ܮ{��=5{�k����&~��U/Y=8Q^vn�8��W�IVm��#����Hg�.b+$��։b‚����ϕ��GX��ۦ�_qm�!U�?����)>�A��.�oPՄ�ĿZ���$A���ޤ�J��݋�z0ʪ��[
\ No newline at end of file
diff --git a/static/v1/_app/immutable/chunks/svelte-head.BSz900xL.js.gz b/static/v1/_app/immutable/chunks/svelte-head.BSz900xL.js.gz
new file mode 100644
index 000000000..8c29ad811
Binary files /dev/null and b/static/v1/_app/immutable/chunks/svelte-head.BSz900xL.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/template.io25wnf1.js b/static/v1/_app/immutable/chunks/template.io25wnf1.js
new file mode 100644
index 000000000..12cbb4559
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/template.io25wnf1.js
@@ -0,0 +1 @@
+import{z as v,J as d,v as p,ab as _,ac as b,B as c,I as o,G as h,a6 as N}from"./index-client.CzqVbBUo.js";function m(n){var t=document.createElement("template");return t.innerHTML=n,t.content}function r(n,t){var e=p;e.nodes_start===null&&(e.nodes_start=n,e.nodes_end=t)}function g(n,t){var e=(t&_)!==0,f=(t&b)!==0,a,s=!n.startsWith("<!>");return()=>{if(c)return r(o,null),o;a===void 0&&(a=m(s?n:"<!>"+n),e||(a=d(a)));var u=f?document.importNode(a,!0):a.cloneNode(!0);if(e){var l=d(u),i=u.lastChild;r(l,i)}else r(u,u);return u}}function $(n,t,e="svg"){var f=!n.startsWith("<!>"),a=`<${e}>${f?n:"<!>"+n}</${e}>`,s;return()=>{if(c)return r(o,null),o;if(!s){var u=m(a),l=d(u);s=d(l)}var i=s.cloneNode(!0);return r(i,i),i}}function x(n=""){if(!c){var t=v(n+"");return r(t,t),t}var e=o;return e.nodeType!==3&&(e.before(e=v()),h(e)),r(e,e),e}function y(){if(c)return r(o,null),o;var n=document.createDocumentFragment(),t=document.createComment(""),e=v();return n.append(t,e),r(t,e),n}function C(n,t){if(c){p.nodes_end=o,N();return}n!==null&&n.before(t)}export{C as a,x as b,y as c,r as d,m as e,$ as n,g as t};
diff --git a/static/v1/_app/immutable/chunks/template.io25wnf1.js.br b/static/v1/_app/immutable/chunks/template.io25wnf1.js.br
new file mode 100644
index 000000000..f0fd9c168
Binary files /dev/null and b/static/v1/_app/immutable/chunks/template.io25wnf1.js.br differ
diff --git a/static/v1/_app/immutable/chunks/template.io25wnf1.js.gz b/static/v1/_app/immutable/chunks/template.io25wnf1.js.gz
new file mode 100644
index 000000000..03c8b728b
Binary files /dev/null and b/static/v1/_app/immutable/chunks/template.io25wnf1.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/this.B23tdsYu.js.br b/static/v1/_app/immutable/chunks/this.B23tdsYu.js.br
deleted file mode 100644
index e0f1a3446..000000000
Binary files a/static/v1/_app/immutable/chunks/this.B23tdsYu.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/this.B23tdsYu.js.gz b/static/v1/_app/immutable/chunks/this.B23tdsYu.js.gz
deleted file mode 100644
index d58557a13..000000000
Binary files a/static/v1/_app/immutable/chunks/this.B23tdsYu.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/this.B23tdsYu.js b/static/v1/_app/immutable/chunks/this.CLOcaDU7.js
similarity index 61%
rename from static/v1/_app/immutable/chunks/this.B23tdsYu.js
rename to static/v1/_app/immutable/chunks/this.CLOcaDU7.js
index a24d48a35..d4e31df47 100644
--- a/static/v1/_app/immutable/chunks/this.B23tdsYu.js
+++ b/static/v1/_app/immutable/chunks/this.CLOcaDU7.js
@@ -1 +1 @@
-import{W as e,X as f,d as l,Y as b,S as c}from"./index-client.CGppiJvc.js";function o(n,u){return n===u||(n==null?void 0:n[c])===u}function d(n={},u,a,m){return e(()=>{var s,t;return f(()=>{s=t,t=[],l(()=>{n!==a(...t)&&(u(n,...t),s&&o(a(...s),n)&&u(null,...s))})}),()=>{b(()=>{t&&o(a(...t),n)&&u(null,...t)})}}),n}export{d as b};
+import{w as e,x as f,d as l,y as b,S as c}from"./index-client.CzqVbBUo.js";function o(n,u){return n===u||(n==null?void 0:n[c])===u}function d(n={},u,a,m){return e(()=>{var s,t;return f(()=>{s=t,t=[],l(()=>{n!==a(...t)&&(u(n,...t),s&&o(a(...s),n)&&u(null,...s))})}),()=>{b(()=>{t&&o(a(...t),n)&&u(null,...t)})}}),n}export{d as b};
diff --git a/static/v1/_app/immutable/chunks/this.CLOcaDU7.js.br b/static/v1/_app/immutable/chunks/this.CLOcaDU7.js.br
new file mode 100644
index 000000000..98cbe3853
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/this.CLOcaDU7.js.br
@@ -0,0 +1,3 @@
+I �ϟ�ר��'����PH ���5���'�Ԋ����Hl�󴝉HϱN7k�7Y�e���A������S�Z�
c8��_�Ƙ���2�;�'h�G�	�vL
+3GeIRK��
Z������W�]��ۙ�
+��3��D��ūTB���E�!B�����:��U�C	����@A܏������E�¸0�a5T�2	��i��:e��
\ No newline at end of file
diff --git a/static/v1/_app/immutable/chunks/this.CLOcaDU7.js.gz b/static/v1/_app/immutable/chunks/this.CLOcaDU7.js.gz
new file mode 100644
index 000000000..caca622c5
Binary files /dev/null and b/static/v1/_app/immutable/chunks/this.CLOcaDU7.js.gz differ
diff --git a/static/v1/_app/immutable/chunks/tweened.CQQvc4Vq.js b/static/v1/_app/immutable/chunks/tweened.CQQvc4Vq.js
deleted file mode 100644
index 29f86b714..000000000
--- a/static/v1/_app/immutable/chunks/tweened.CQQvc4Vq.js
+++ /dev/null
@@ -1 +0,0 @@
-import{w as E}from"./index.BU3V9-NS.js";import{r as d,l as g}from"./Loading.FF_EHyHU.js";function f(r){return Object.prototype.toString.call(r)==="[object Date]"}function v(r){return r}function O(r){const e=r-1;return e*e*e+1}function l(r,e){if(r===e||r!==r)return()=>r;const i=typeof r;if(i!==typeof e||Array.isArray(r)!==Array.isArray(e))throw new Error("Cannot interpolate values of different type");if(Array.isArray(r)){const s=e.map((t,n)=>l(r[n],t));return t=>s.map(n=>n(t))}if(i==="object"){if(!r||!e)throw new Error("Object cannot be null");if(f(r)&&f(e)){const n=r.getTime(),o=e.getTime()-n;return a=>new Date(n+a*o)}const s=Object.keys(e),t={};return s.forEach(n=>{t[n]=l(r[n],e[n])}),n=>{const o={};return s.forEach(a=>{o[a]=t[a](n)}),o}}if(i==="number"){const s=e-r;return t=>r+t*s}throw new Error(`Cannot interpolate ${i} values`)}function P(r,e={}){const i=E(r);let s,t=r;function n(o,a){if(t=o,r==null)return i.set(r=o),Promise.resolve();let u=s,p=!1,{delay:A=0,duration:c=400,easing:h=v,interpolate:j=l}={...e,...a};if(c===0)return u&&(u.abort(),u=null),i.set(r=t),Promise.resolve();const b=d.now()+A;let m;return s=g(y=>{if(y<b)return!0;p||(m=j(r,o),typeof c=="function"&&(c=c(r,o)),p=!0),u&&(u.abort(),u=null);const w=y-b;return w>c?(i.set(r=o),!1):(i.set(r=m(h(w/c))),!0)}),s.promise}return{set:n,update:(o,a)=>n(o(t,r),a),subscribe:i.subscribe}}export{O as c,f as i,P as t};
diff --git a/static/v1/_app/immutable/chunks/tweened.CQQvc4Vq.js.br b/static/v1/_app/immutable/chunks/tweened.CQQvc4Vq.js.br
deleted file mode 100644
index df035bc2c..000000000
Binary files a/static/v1/_app/immutable/chunks/tweened.CQQvc4Vq.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/tweened.CQQvc4Vq.js.gz b/static/v1/_app/immutable/chunks/tweened.CQQvc4Vq.js.gz
deleted file mode 100644
index 947696dad..000000000
Binary files a/static/v1/_app/immutable/chunks/tweened.CQQvc4Vq.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/chunks/tweened.x1rdCnFk.js b/static/v1/_app/immutable/chunks/tweened.x1rdCnFk.js
new file mode 100644
index 000000000..e849c9a75
--- /dev/null
+++ b/static/v1/_app/immutable/chunks/tweened.x1rdCnFk.js
@@ -0,0 +1 @@
+import{w as E}from"./index.GhyFcvTZ.js";import{r as d,l as g}from"./Button.JzTZa4bh.js";function f(r){return Object.prototype.toString.call(r)==="[object Date]"}function v(r){return r}function O(r){const e=r-1;return e*e*e+1}function l(r,e){if(r===e||r!==r)return()=>r;const i=typeof r;if(i!==typeof e||Array.isArray(r)!==Array.isArray(e))throw new Error("Cannot interpolate values of different type");if(Array.isArray(r)){const s=e.map((t,n)=>l(r[n],t));return t=>s.map(n=>n(t))}if(i==="object"){if(!r||!e)throw new Error("Object cannot be null");if(f(r)&&f(e)){const n=r.getTime(),o=e.getTime()-n;return a=>new Date(n+a*o)}const s=Object.keys(e),t={};return s.forEach(n=>{t[n]=l(r[n],e[n])}),n=>{const o={};return s.forEach(a=>{o[a]=t[a](n)}),o}}if(i==="number"){const s=e-r;return t=>r+t*s}throw new Error(`Cannot interpolate ${i} values`)}function P(r,e={}){const i=E(r);let s,t=r;function n(o,a){if(t=o,r==null)return i.set(r=o),Promise.resolve();let u=s,p=!1,{delay:A=0,duration:c=400,easing:h=v,interpolate:j=l}={...e,...a};if(c===0)return u&&(u.abort(),u=null),i.set(r=t),Promise.resolve();const b=d.now()+A;let m;return s=g(y=>{if(y<b)return!0;p||(m=j(r,o),typeof c=="function"&&(c=c(r,o)),p=!0),u&&(u.abort(),u=null);const w=y-b;return w>c?(i.set(r=o),!1):(i.set(r=m(h(w/c))),!0)}),s.promise}return{set:n,update:(o,a)=>n(o(t,r),a),subscribe:i.subscribe}}export{O as c,f as i,P as t};
diff --git a/static/v1/_app/immutable/chunks/tweened.x1rdCnFk.js.br b/static/v1/_app/immutable/chunks/tweened.x1rdCnFk.js.br
new file mode 100644
index 000000000..b9ec314a3
Binary files /dev/null and b/static/v1/_app/immutable/chunks/tweened.x1rdCnFk.js.br differ
diff --git a/static/v1/_app/immutable/chunks/tweened.x1rdCnFk.js.gz b/static/v1/_app/immutable/chunks/tweened.x1rdCnFk.js.gz
new file mode 100644
index 000000000..924027033
Binary files /dev/null and b/static/v1/_app/immutable/chunks/tweened.x1rdCnFk.js.gz differ
diff --git a/static/v1/_app/immutable/entry/app.BqD-ymlD.js b/static/v1/_app/immutable/entry/app.BqD-ymlD.js
new file mode 100644
index 000000000..0857bcf58
--- /dev/null
+++ b/static/v1/_app/immutable/entry/app.BqD-ymlD.js
@@ -0,0 +1,2 @@
+const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.DfqIXgOJ.js","../chunks/disclose-version.BDr9Qe-U.js","../chunks/index-client.CzqVbBUo.js","../chunks/template.io25wnf1.js","../chunks/if.BnegfJmL.js","../chunks/snippet.B82X2vfx.js","../chunks/is_dev.svelte.qp6n2kD5.js","../chunks/language.svelte.Zi8jd0TO.js","../chunks/i18n.svelte.C_qSL0ZA.js","../assets/0.BjC-dB5x.css","../nodes/1.COjq2Jvd.js","../chunks/legacy.Cdp_P06_.js","../chunks/render.CK5MTJQL.js","../chunks/svelte-head.BSz900xL.js","../chunks/lifecycle.BPrHSQsT.js","../chunks/entry.DTN3-12j.js","../chunks/index.GhyFcvTZ.js","../nodes/2.BfkQ0hAF.js","../chunks/Button.JzTZa4bh.js","../chunks/helpers.BvaXa0cv.js","../chunks/props.C_MHtC74.js","../chunks/legacy-client.DPLAlLYD.js","../assets/Button.kuO9zTZa.css","../chunks/LangSelector.DQTzLAdQ.js","../chunks/OptionSelect.jFlepSwk.js","../assets/OptionSelect.v1wsJTwS.css","../chunks/dataFetching.Br47vc1D.js","../assets/LangSelector.O5X7vySz.css","../chunks/AppVersion.C23iCWTd.js","../assets/AppVersion.DHsV5F-O.css","../chunks/ContentCenter.B2VsFG_i.js","../assets/ContentCenter.BpmtvV5f.css","../chunks/Template.mSBxkRZ-.js","../assets/2.CZlF3VMn.css","../nodes/3.CdKQrrNc.js","../chunks/Devices.1_HD5eJJ.js","../chunks/this.CLOcaDU7.js","../chunks/tweened.x1rdCnFk.js","../chunks/Input.jkTumKYK.js","../assets/Input.DM5r-cSQ.css","../chunks/CheckIcon.B6v_Qvnl.js","../assets/Devices.BgusA-6p.css","../chunks/PasswordPolicy.DbNoBlQZ.js","../assets/PasswordPolicy.CpXtnh7y.css","../chunks/PasswordInput.DOldwDot.js","../assets/PasswordInput.DaeGq-fv.css","../chunks/WebauthnRequest.DHqnsBvK.js","../assets/WebauthnRequest._nhbHN0l.css","../assets/3.DD7tddh9.css","../nodes/4.DfcNkhQ2.js","../chunks/AdminMainPre.CSGzinoD.js","../assets/AdminMainPre.ZcanbrCY.css","../nodes/5.DgnRROwW.js","../nodes/6.DfcNkhQ2.js","../nodes/7.BXLH6c3a.js","../nodes/8.UvscZEbC.js","../nodes/9.C6jYcuax.js","../nodes/10.C9SFpmPR.js","../nodes/11.BkR4n8hK.js","../nodes/12.DNN7kTUa.js","../nodes/13.AGxmq0sB.js","../nodes/14.CXmsPhJ4.js","../nodes/15.CZRCkJBD.js","../nodes/16.DA7wm4sl.js","../nodes/17.DfcNkhQ2.js","../nodes/18.DkpZz6Mj.js","../chunks/pow.CkxCHWs-.js","../chunks/preload-helper.CmsKOCeN.js","../assets/18.B9MTzT3c.css","../nodes/19.BtPwCTG5.js","../chunks/Error.DXjVprxK.js","../assets/Error.BHaKgkRX.css","../nodes/20.BtPwCTG5.js","../nodes/21.BtPwCTG5.js","../nodes/22.BtPwCTG5.js","../nodes/23.ZHzdaffT.js","../assets/23.BGsNSr6e.css","../nodes/24.D8uR4Z9U.js","../assets/24.GB6k287-.css","../nodes/25.DAvXvs2-.js","../nodes/26.BKkAPxeb.js","../assets/26.HJ4svAjD.css","../nodes/27.CLvAzZRs.js","../assets/27.CnT30TCt.css","../nodes/28.9bailE3O.js","../assets/28.CxOoN8ns.css","../nodes/29.CLtwBEup.js","../assets/29.D1v94sLe.css","../nodes/30.DLhrrsHh.js","../assets/30.BYwAhQy0.css"])))=>i.map(i=>d[i]);
+import{_ as r}from"../chunks/preload-helper.CmsKOCeN.js";import{a as Z}from"../chunks/legacy-client.DPLAlLYD.js";import"../chunks/disclose-version.BDr9Qe-U.js";import{B as x,a6 as rr,A as tr,K as or,N as _r,I as ar,aa as mr,p as er,u as ir,b as sr,o as pr,g as l,j as D,X as lr,Q as I,R as nr,a as ur,P as L,U as Er,W as cr,T as dr,h as R}from"../chunks/index-client.CzqVbBUo.js";import{s as Or}from"../chunks/render.CK5MTJQL.js";import{p as Ir,i as T}from"../chunks/if.BnegfJmL.js";import{a as E,t as j,c as V,b as Ar}from"../chunks/template.io25wnf1.js";import{b as P}from"../chunks/this.CLOcaDU7.js";import{p as f}from"../chunks/props.C_MHtC74.js";let $,v,Q,U,g,W,X,q,z,Dr=(async()=>{function A(a,t,m){x&&rr();var n=a,s,i;tr(()=>{s!==(s=t())&&(i&&(mr(i),i=null),s&&(i=_r(()=>m(n,s))))},or),x&&(n=ar)}W={};var B=j('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),C=j("<!> <!>",1);function F(a,t){er(t,!0);let m=f(t,"components",23,()=>[]),n=f(t,"data_0",3,null),s=f(t,"data_1",3,null);ir(()=>t.stores.page.set(t.page)),sr(()=>{t.stores,t.page,t.constructors,m(),t.form,n(),s(),t.stores.page.notify()});let i=L(!1),h=L(!1),b=L(null);pr(()=>{const o=t.stores.page.subscribe(()=>{l(i)&&(D(h,!0),lr().then(()=>{D(b,Ir(document.title||"untitled page"))}))});return D(i,!0),o});const G=R(()=>t.constructors[1]);var k=C(),y=I(k);{var H=o=>{var e=V();const c=R(()=>t.constructors[0]);var d=I(e);A(d,()=>l(c),(p,u)=>{P(u(p,{get data(){return n()},get form(){return t.form},children:(_,Lr)=>{var w=V(),N=I(w);A(N,()=>l(G),(S,Y)=>{P(Y(S,{get data(){return s()},get form(){return t.form}}),O=>m()[1]=O,()=>{var O;return(O=m())==null?void 0:O[1]})}),E(_,w)},$$slots:{default:!0}}),_=>m()[0]=_,()=>{var _;return(_=m())==null?void 0:_[0]})}),E(o,e)},J=o=>{var e=V();const c=R(()=>t.constructors[0]);var d=I(e);A(d,()=>l(c),(p,u)=>{P(u(p,{get data(){return n()},get form(){return t.form}}),_=>m()[0]=_,()=>{var _;return(_=m())==null?void 0:_[0]})}),E(o,e)};T(y,o=>{t.constructors[1]?o(H):o(J,!1)})}var K=nr(y,2);{var M=o=>{var e=B(),c=Er(e);{var d=p=>{var u=Ar();dr(()=>Or(u,l(b))),E(p,u)};T(c,p=>{l(h)&&p(d)})}cr(e),E(o,e)};T(K,o=>{l(i)&&o(M)})}E(a,k),ur()}q=Z(F),X=[()=>r(()=>import("../nodes/0.DfqIXgOJ.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]),import.meta.url),()=>r(()=>import("../nodes/1.COjq2Jvd.js"),__vite__mapDeps([10,1,11,2,12,13,3,14,15,16]),import.meta.url),()=>r(()=>import("../nodes/2.BfkQ0hAF.js"),__vite__mapDeps([17,1,2,12,13,3,4,18,5,19,20,21,22,23,24,25,26,7,27,28,29,30,31,8,32,6,33]),import.meta.url),()=>r(()=>import("../nodes/3.CdKQrrNc.js"),__vite__mapDeps([34,1,2,13,3,4,26,12,18,5,19,20,21,22,35,24,25,36,16,37,38,39,40,8,7,41,23,27,42,43,44,45,46,47,32,6,30,31,48]),import.meta.url),()=>r(()=>import("../nodes/4.DfcNkhQ2.js"),__vite__mapDeps([49,1,11,2,50,13,3,4,20,26,18,12,5,19,21,22,35,24,25,36,16,37,38,39,40,8,7,41,28,29,44,45,42,43,51]),import.meta.url),()=>r(()=>import("../nodes/5.DgnRROwW.js"),__vite__mapDeps([52,1,11,2,50,13,3,4,20,26,18,12,5,19,21,22,35,24,25,36,16,37,38,39,40,8,7,41,28,29,44,45,42,43,51]),import.meta.url),()=>r(()=>import("../nodes/6.DfcNkhQ2.js"),__vite__mapDeps([53,1,11,2,50,13,3,4,20,26,18,12,5,19,21,22,35,24,25,36,16,37,38,39,40,8,7,41,28,29,44,45,42,43,51]),import.meta.url),()=>r(()=>import("../nodes/7.BXLH6c3a.js"),__vite__mapDeps([54,1,11,2,50,13,3,4,20,26,18,12,5,19,21,22,35,24,25,36,16,37,38,39,40,8,7,41,28,29,44,45,42,43,51]),import.meta.url),()=>r(()=>import("../nodes/8.UvscZEbC.js"),__vite__mapDeps([55,1,11,2,50,13,3,4,20,26,18,12,5,19,21,22,35,24,25,36,16,37,38,39,40,8,7,41,28,29,44,45,42,43,51]),import.meta.url),()=>r(()=>import("../nodes/9.C6jYcuax.js"),__vite__mapDeps([56,1,11,2,50,13,3,4,20,26,18,12,5,19,21,22,35,24,25,36,16,37,38,39,40,8,7,41,28,29,44,45,42,43,51]),import.meta.url),()=>r(()=>import("../nodes/10.C9SFpmPR.js"),__vite__mapDeps([57,1,11,2,50,13,3,4,20,26,18,12,5,19,21,22,35,24,25,36,16,37,38,39,40,8,7,41,28,29,44,45,42,43,51]),import.meta.url),()=>r(()=>import("../nodes/11.BkR4n8hK.js"),__vite__mapDeps([58,1,11,2,50,13,3,4,20,26,18,12,5,19,21,22,35,24,25,36,16,37,38,39,40,8,7,41,28,29,44,45,42,43,51]),import.meta.url),()=>r(()=>import("../nodes/12.DNN7kTUa.js"),__vite__mapDeps([59,1,11,2,50,13,3,4,20,26,18,12,5,19,21,22,35,24,25,36,16,37,38,39,40,8,7,41,28,29,44,45,42,43,51]),import.meta.url),()=>r(()=>import("../nodes/13.AGxmq0sB.js"),__vite__mapDeps([60,1,11,2,50,13,3,4,20,26,18,12,5,19,21,22,35,24,25,36,16,37,38,39,40,8,7,41,28,29,44,45,42,43,51]),import.meta.url),()=>r(()=>import("../nodes/14.CXmsPhJ4.js"),__vite__mapDeps([61,1,11,2,50,13,3,4,20,26,18,12,5,19,21,22,35,24,25,36,16,37,38,39,40,8,7,41,28,29,44,45,42,43,51]),import.meta.url),()=>r(()=>import("../nodes/15.CZRCkJBD.js"),__vite__mapDeps([62,1,11,2,50,13,3,4,20,26,18,12,5,19,21,22,35,24,25,36,16,37,38,39,40,8,7,41,28,29,44,45,42,43,51]),import.meta.url),()=>r(()=>import("../nodes/16.DA7wm4sl.js"),__vite__mapDeps([63,1,11,2,50,13,3,4,20,26,18,12,5,19,21,22,35,24,25,36,16,37,38,39,40,8,7,41,28,29,44,45,42,43,51]),import.meta.url),()=>r(()=>import("../nodes/17.DfcNkhQ2.js"),__vite__mapDeps([64,1,11,2,50,13,3,4,20,26,18,12,5,19,21,22,35,24,25,36,16,37,38,39,40,8,7,41,28,29,44,45,42,43,51]),import.meta.url),()=>r(()=>import("../nodes/18.DkpZz6Mj.js"),__vite__mapDeps([65,1,2,12,13,3,4,24,19,20,25,21,26,18,5,22,23,7,27,38,39,66,67,30,31,8,32,6,68]),import.meta.url),()=>r(()=>import("../nodes/19.BtPwCTG5.js"),__vite__mapDeps([69,1,11,2,70,12,13,3,4,23,19,20,24,25,26,7,27,30,5,31,32,6,71]),import.meta.url),()=>r(()=>import("../nodes/20.BtPwCTG5.js"),__vite__mapDeps([72,1,11,2,70,12,13,3,4,23,19,20,24,25,26,7,27,30,5,31,32,6,71]),import.meta.url),()=>r(()=>import("../nodes/21.BtPwCTG5.js"),__vite__mapDeps([73,1,11,2,70,12,13,3,4,23,19,20,24,25,26,7,27,30,5,31,32,6,71]),import.meta.url),()=>r(()=>import("../nodes/22.BtPwCTG5.js"),__vite__mapDeps([74,1,11,2,70,12,13,3,4,23,19,20,24,25,26,7,27,30,5,31,32,6,71]),import.meta.url),()=>r(()=>import("../nodes/23.ZHzdaffT.js"),__vite__mapDeps([75,1,2,12,13,3,4,19,18,5,20,21,22,38,39,26,40,30,31,76]),import.meta.url),()=>r(()=>import("../nodes/24.D8uR4Z9U.js"),__vite__mapDeps([77,1,11,2,12,13,3,4,24,19,20,25,18,5,21,22,14,26,38,39,46,37,16,8,7,47,44,36,45,23,27,30,31,32,6,78]),import.meta.url),()=>r(()=>import("../nodes/25.DAvXvs2-.js"),__vite__mapDeps([79,1,11,2,13,14,26]),import.meta.url),()=>r(()=>import("../nodes/26.BKkAPxeb.js"),__vite__mapDeps([80,1,2,12,13,3,4,26,18,5,19,20,21,22,8,7,30,31,23,24,25,27,32,6,81]),import.meta.url),()=>r(()=>import("../nodes/27.CLvAzZRs.js"),__vite__mapDeps([82,1,2,12,13,3,4,26,46,18,5,19,20,21,22,37,16,8,7,47,23,24,25,27,83]),import.meta.url),()=>r(()=>import("../nodes/28.9bailE3O.js"),__vite__mapDeps([84,1,2,12,13,3,4,21,38,5,18,19,20,22,39,26,23,24,25,7,27,66,67,30,31,8,32,6,85]),import.meta.url),()=>r(()=>import("../nodes/29.CLtwBEup.js"),__vite__mapDeps([86,1,2,12,13,3,4,23,19,20,24,25,26,7,27,18,5,21,22,30,31,8,32,6,87]),import.meta.url),()=>r(()=>import("../nodes/30.DLhrrsHh.js"),__vite__mapDeps([88,1,2,12,13,3,4,18,5,19,20,21,22,38,39,26,42,8,7,43,44,36,45,46,37,16,47,23,24,25,27,6,30,31,32,89]),import.meta.url)],z=[],Q={"/":[2],"/account":[3],"/admin":[4],"/admin/api_keys":[5],"/admin/attributes":[6],"/admin/blacklist":[7],"/admin/clients":[8],"/admin/config":[9],"/admin/docs":[10],"/admin/events":[11],"/admin/groups":[12],"/admin/providers":[13],"/admin/roles":[14],"/admin/scopes":[15],"/admin/sessions":[16],"/admin/users":[17],"/device":[18],"/error":[19],"/error/error":[20],"/error/error/error":[21],"/error/error/error/error":[22],"/fedcm":[23],"/oidc/authorize":[24],"/oidc/callback":[25],"/oidc/logout":[26],"/providers/callback":[27],"/users/register":[28],"/users/{id}/email_confirm/email_confirm":[29],"/users/{id}/reset/reset":[30]},g={handleError:({error:a})=>{console.error(a)},reroute:()=>{},transport:{}},v=Object.fromEntries(Object.entries(g.transport).map(([a,t])=>[a,t.decode])),U=!1,$=(a,t)=>v[a](t)})();export{Dr as __tla,$ as decode,v as decoders,Q as dictionary,U as hash,g as hooks,W as matchers,X as nodes,q as root,z as server_loads};
diff --git a/static/v1/_app/immutable/entry/app.BqD-ymlD.js.br b/static/v1/_app/immutable/entry/app.BqD-ymlD.js.br
new file mode 100644
index 000000000..ab2ca608a
Binary files /dev/null and b/static/v1/_app/immutable/entry/app.BqD-ymlD.js.br differ
diff --git a/static/v1/_app/immutable/entry/app.BqD-ymlD.js.gz b/static/v1/_app/immutable/entry/app.BqD-ymlD.js.gz
new file mode 100644
index 000000000..eb66392e3
Binary files /dev/null and b/static/v1/_app/immutable/entry/app.BqD-ymlD.js.gz differ
diff --git a/static/v1/_app/immutable/entry/app.Dj8nXbmK.js b/static/v1/_app/immutable/entry/app.Dj8nXbmK.js
deleted file mode 100644
index 7cc98f6ef..000000000
--- a/static/v1/_app/immutable/entry/app.Dj8nXbmK.js
+++ /dev/null
@@ -1,2 +0,0 @@
-const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["../nodes/0.Cb38Tfsl.js","../chunks/disclose-version.DZhRUPAc.js","../chunks/index-client.CGppiJvc.js","../chunks/if.DUA6Hpfn.js","../chunks/snippet.xhmr1ywJ.js","../chunks/proxy.DB4Km9hY.js","../chunks/is_dev.svelte.sP_MjoCE.js","../chunks/language.svelte.n4n5oz7-.js","../chunks/i18n.svelte.BTGsPiz_.js","../assets/0.BjC-dB5x.css","../nodes/1.DKMdcINp.js","../chunks/legacy.BuHyzquP.js","../chunks/render.D4MwAWTL.js","../chunks/lifecycle.CRex4y9i.js","../chunks/entry.Ddy6icaf.js","../chunks/index.BU3V9-NS.js","../nodes/2.DWHAwZAi.js","../chunks/Button.BH2_dPry.js","../chunks/Loading.FF_EHyHU.js","../chunks/dataFetching.Dto1xJW6.js","../chunks/props.Df_pGDSd.js","../assets/Loading.C3rZw9wZ.css","../chunks/legacy-client.CgqodnwN.js","../assets/Button.BjnyTAiT.css","../chunks/LangSelector.mSh8cV6Q.js","../chunks/OptionSelect.BCgZksOM.js","../assets/OptionSelect.v1wsJTwS.css","../chunks/helpers.DVmWh-6p.js","../assets/LangSelector.O5X7vySz.css","../chunks/AppVersion.DL5DXmu_.js","../assets/AppVersion.DHsV5F-O.css","../chunks/ContentCenter.CsjyBf2d.js","../assets/ContentCenter.BpmtvV5f.css","../assets/2.CZlF3VMn.css","../nodes/3.BgldDfnM.js","../chunks/Loading.wZ55XKP1.js","../assets/Loading.BVnr1IrI.css","../chunks/Devices.BuQD3GeY.js","../chunks/this.B23tdsYu.js","../chunks/tweened.CQQvc4Vq.js","../chunks/Input.Bj_i2TLU.js","../assets/Input.DM5r-cSQ.css","../chunks/CheckIcon.Cjxxxfsf.js","../assets/Devices.BgusA-6p.css","../chunks/PasswordPolicy.D9rZurKD.js","../assets/PasswordPolicy.CpXtnh7y.css","../chunks/PasswordInput.6uXzPAl-.js","../assets/PasswordInput.DaeGq-fv.css","../chunks/WebauthnRequest.CHVZELhw.js","../assets/WebauthnRequest._nhbHN0l.css","../assets/3.CF_aMXlW.css","../nodes/4.o4_Xudri.js","../chunks/AdminMainPre.BC7y4hZJ.js","../assets/AdminMainPre.ZcanbrCY.css","../nodes/5.F9D6MuWR.js","../nodes/6.o4_Xudri.js","../nodes/7.BScIbGWF.js","../nodes/8.DJkHqmWH.js","../nodes/9.5SYTyflJ.js","../nodes/10.mAHy2gv0.js","../nodes/11.CbrcXpmW.js","../nodes/12.DRctYUn3.js","../nodes/13.x64cmFvq.js","../nodes/14.DoJ-tz2B.js","../nodes/15.CUsx6Ptm.js","../nodes/16.eXw--TB9.js","../nodes/17.o4_Xudri.js","../nodes/18.DtlPpkWl.js","../chunks/pow.r0U0E3f9.js","../chunks/preload-helper.CmsKOCeN.js","../assets/18.GNJxucTb.css","../nodes/19.0qOBqwlU.js","../chunks/Error.CsY9Wg-p.js","../assets/Error.BHaKgkRX.css","../nodes/20.0qOBqwlU.js","../nodes/21.0qOBqwlU.js","../nodes/22.0qOBqwlU.js","../nodes/23.CKFyfpgm.js","../assets/23.BGsNSr6e.css","../nodes/24.D6gupSzm.js","../assets/24.GB6k287-.css","../nodes/25.Dh7XjBbD.js","../nodes/26.BxPoozgR.js","../assets/26.HJ4svAjD.css","../nodes/27.gkewKINJ.js","../assets/27.CnT30TCt.css","../nodes/28.DMZ7hk2F.js","../assets/28.CxOoN8ns.css","../nodes/29.Cll9oCQC.js","../assets/29.D1v94sLe.css","../nodes/30.C8nt_tI6.js","../assets/30.DvqR7Iqw.css"])))=>i.map(i=>d[i]);
-import{_ as r}from"../chunks/preload-helper.CmsKOCeN.js";import{a as N}from"../chunks/legacy-client.CgqodnwN.js";import{a as E,b as x,c as D,t as rr}from"../chunks/disclose-version.DZhRUPAc.js";import{z as j,A as tr,y as or,E as _r,I as ar,K as mr,J as er,p as ir,u as sr,b as pr,o as lr,g as l,j as L,a6 as nr,a0 as I,a1 as ur,a as Er,_ as V,a3 as cr,a5 as dr,a2 as Or,h as P}from"../chunks/index-client.CGppiJvc.js";import{s as Ir}from"../chunks/render.D4MwAWTL.js";import{i as R}from"../chunks/if.DUA6Hpfn.js";import{p as Ar}from"../chunks/proxy.DB4Km9hY.js";import{b as T}from"../chunks/this.B23tdsYu.js";import{p as f}from"../chunks/props.Df_pGDSd.js";let $,v,z,q,g,B,C,F,G,Dr=(async()=>{function A(a,t,m){j&&tr();var n=a,s,i;or(()=>{s!==(s=t())&&(i&&(er(i),i=null),s&&(i=ar(()=>m(n,s))))},_r),j&&(n=mr)}B={};var H=x('<div id="svelte-announcer" aria-live="assertive" aria-atomic="true" style="position: absolute; left: 0; top: 0; clip: rect(0 0 0 0); clip-path: inset(50%); overflow: hidden; white-space: nowrap; width: 1px; height: 1px"><!></div>'),J=x("<!> <!>",1);function K(a,t){ir(t,!0);let m=f(t,"components",23,()=>[]),n=f(t,"data_0",3,null),s=f(t,"data_1",3,null);sr(()=>t.stores.page.set(t.page)),pr(()=>{t.stores,t.page,t.constructors,m(),t.form,n(),s(),t.stores.page.notify()});let i=V(!1),h=V(!1),b=V(null);lr(()=>{const o=t.stores.page.subscribe(()=>{l(i)&&(L(h,!0),nr().then(()=>{L(b,Ar(document.title||"untitled page"))}))});return L(i,!0),o});const M=P(()=>t.constructors[1]);var y=J(),k=I(y);{var Q=o=>{var e=D();const c=P(()=>t.constructors[0]);var d=I(e);A(d,()=>l(c),(p,u)=>{T(u(p,{get data(){return n()},get form(){return t.form},children:(_,Lr)=>{var w=D(),X=I(w);A(X,()=>l(M),(Y,Z)=>{T(Z(Y,{get data(){return s()},get form(){return t.form}}),O=>m()[1]=O,()=>{var O;return(O=m())==null?void 0:O[1]})}),E(_,w)},$$slots:{default:!0}}),_=>m()[0]=_,()=>{var _;return(_=m())==null?void 0:_[0]})}),E(o,e)},S=o=>{var e=D();const c=P(()=>t.constructors[0]);var d=I(e);A(d,()=>l(c),(p,u)=>{T(u(p,{get data(){return n()},get form(){return t.form}}),_=>m()[0]=_,()=>{var _;return(_=m())==null?void 0:_[0]})}),E(o,e)};R(k,o=>{t.constructors[1]?o(Q):o(S,!1)})}var U=ur(k,2);{var W=o=>{var e=H(),c=cr(e);{var d=p=>{var u=rr();Or(()=>Ir(u,l(b))),E(p,u)};R(c,p=>{l(h)&&p(d)})}dr(e),E(o,e)};R(U,o=>{l(i)&&o(W)})}E(a,y),Er()}F=N(K),C=[()=>r(()=>import("../nodes/0.Cb38Tfsl.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]),import.meta.url),()=>r(()=>import("../nodes/1.DKMdcINp.js"),__vite__mapDeps([10,1,2,11,12,13,14,15]),import.meta.url),()=>r(()=>import("../nodes/2.DWHAwZAi.js"),__vite__mapDeps([16,1,2,12,3,17,4,18,19,20,5,21,22,23,24,25,26,7,27,28,29,30,31,32,6,8,33]),import.meta.url),()=>r(()=>import("../nodes/3.BgldDfnM.js"),__vite__mapDeps([34,1,2,12,3,5,19,35,18,20,21,36,37,25,26,22,4,38,15,39,40,27,41,42,8,7,43,17,23,24,28,44,45,46,47,48,49,31,32,50]),import.meta.url),()=>r(()=>import("../nodes/4.o4_Xudri.js"),__vite__mapDeps([51,1,2,11,52,12,3,5,20,19,18,21,17,4,22,23,37,25,26,38,15,39,40,27,41,42,8,7,43,29,30,46,47,44,45,53]),import.meta.url),()=>r(()=>import("../nodes/5.F9D6MuWR.js"),__vite__mapDeps([54,1,2,11,52,12,3,5,20,19,18,21,17,4,22,23,37,25,26,38,15,39,40,27,41,42,8,7,43,29,30,46,47,44,45,53]),import.meta.url),()=>r(()=>import("../nodes/6.o4_Xudri.js"),__vite__mapDeps([55,1,2,11,52,12,3,5,20,19,18,21,17,4,22,23,37,25,26,38,15,39,40,27,41,42,8,7,43,29,30,46,47,44,45,53]),import.meta.url),()=>r(()=>import("../nodes/7.BScIbGWF.js"),__vite__mapDeps([56,1,2,11,52,12,3,5,20,19,18,21,17,4,22,23,37,25,26,38,15,39,40,27,41,42,8,7,43,29,30,46,47,44,45,53]),import.meta.url),()=>r(()=>import("../nodes/8.DJkHqmWH.js"),__vite__mapDeps([57,1,2,11,52,12,3,5,20,19,18,21,17,4,22,23,37,25,26,38,15,39,40,27,41,42,8,7,43,29,30,46,47,44,45,53]),import.meta.url),()=>r(()=>import("../nodes/9.5SYTyflJ.js"),__vite__mapDeps([58,1,2,11,52,12,3,5,20,19,18,21,17,4,22,23,37,25,26,38,15,39,40,27,41,42,8,7,43,29,30,46,47,44,45,53]),import.meta.url),()=>r(()=>import("../nodes/10.mAHy2gv0.js"),__vite__mapDeps([59,1,2,11,52,12,3,5,20,19,18,21,17,4,22,23,37,25,26,38,15,39,40,27,41,42,8,7,43,29,30,46,47,44,45,53]),import.meta.url),()=>r(()=>import("../nodes/11.CbrcXpmW.js"),__vite__mapDeps([60,1,2,11,52,12,3,5,20,19,18,21,17,4,22,23,37,25,26,38,15,39,40,27,41,42,8,7,43,29,30,46,47,44,45,53]),import.meta.url),()=>r(()=>import("../nodes/12.DRctYUn3.js"),__vite__mapDeps([61,1,2,11,52,12,3,5,20,19,18,21,17,4,22,23,37,25,26,38,15,39,40,27,41,42,8,7,43,29,30,46,47,44,45,53]),import.meta.url),()=>r(()=>import("../nodes/13.x64cmFvq.js"),__vite__mapDeps([62,1,2,11,52,12,3,5,20,19,18,21,17,4,22,23,37,25,26,38,15,39,40,27,41,42,8,7,43,29,30,46,47,44,45,53]),import.meta.url),()=>r(()=>import("../nodes/14.DoJ-tz2B.js"),__vite__mapDeps([63,1,2,11,52,12,3,5,20,19,18,21,17,4,22,23,37,25,26,38,15,39,40,27,41,42,8,7,43,29,30,46,47,44,45,53]),import.meta.url),()=>r(()=>import("../nodes/15.CUsx6Ptm.js"),__vite__mapDeps([64,1,2,11,52,12,3,5,20,19,18,21,17,4,22,23,37,25,26,38,15,39,40,27,41,42,8,7,43,29,30,46,47,44,45,53]),import.meta.url),()=>r(()=>import("../nodes/16.eXw--TB9.js"),__vite__mapDeps([65,1,2,11,52,12,3,5,20,19,18,21,17,4,22,23,37,25,26,38,15,39,40,27,41,42,8,7,43,29,30,46,47,44,45,53]),import.meta.url),()=>r(()=>import("../nodes/17.o4_Xudri.js"),__vite__mapDeps([66,1,2,11,52,12,3,5,20,19,18,21,17,4,22,23,37,25,26,38,15,39,40,27,41,42,8,7,43,29,30,46,47,44,45,53]),import.meta.url),()=>r(()=>import("../nodes/18.DtlPpkWl.js"),__vite__mapDeps([67,1,2,12,3,25,19,5,20,26,22,35,18,21,36,24,7,27,28,40,4,41,17,23,68,69,31,32,8,70]),import.meta.url),()=>r(()=>import("../nodes/19.0qOBqwlU.js"),__vite__mapDeps([71,1,2,11,72,12,3,5,24,19,20,25,26,7,27,28,31,4,32,6,73]),import.meta.url),()=>r(()=>import("../nodes/20.0qOBqwlU.js"),__vite__mapDeps([74,1,2,11,72,12,3,5,24,19,20,25,26,7,27,28,31,4,32,6,73]),import.meta.url),()=>r(()=>import("../nodes/21.0qOBqwlU.js"),__vite__mapDeps([75,1,2,11,72,12,3,5,24,19,20,25,26,7,27,28,31,4,32,6,73]),import.meta.url),()=>r(()=>import("../nodes/22.0qOBqwlU.js"),__vite__mapDeps([76,1,2,11,72,12,3,5,24,19,20,25,26,7,27,28,31,4,32,6,73]),import.meta.url),()=>r(()=>import("../nodes/23.CKFyfpgm.js"),__vite__mapDeps([77,1,2,12,3,5,27,17,4,18,19,20,21,22,23,40,41,42,31,32,78]),import.meta.url),()=>r(()=>import("../nodes/24.D6gupSzm.js"),__vite__mapDeps([79,1,2,11,12,3,25,19,5,20,26,18,21,13,40,4,27,41,17,22,23,48,39,15,8,7,49,46,38,47,24,28,31,32,80]),import.meta.url),()=>r(()=>import("../nodes/25.Dh7XjBbD.js"),__vite__mapDeps([81,1,2,11,12,13,18,19,20,5,21]),import.meta.url),()=>r(()=>import("../nodes/26.BxPoozgR.js"),__vite__mapDeps([82,1,2,12,3,5,19,17,4,18,20,21,22,23,8,7,31,32,24,25,26,27,28,83]),import.meta.url),()=>r(()=>import("../nodes/27.gkewKINJ.js"),__vite__mapDeps([84,1,2,12,3,5,19,48,18,20,21,39,15,8,7,49,4,24,25,26,27,28,17,22,23,85]),import.meta.url),()=>r(()=>import("../nodes/28.DMZ7hk2F.js"),__vite__mapDeps([86,1,2,12,3,5,22,40,4,18,19,20,21,27,41,17,23,24,25,26,7,28,68,69,31,32,6,8,87]),import.meta.url),()=>r(()=>import("../nodes/29.Cll9oCQC.js"),__vite__mapDeps([88,1,2,12,5,24,19,20,25,26,7,27,28,17,3,4,18,21,22,23,31,32,8,89]),import.meta.url),()=>r(()=>import("../nodes/30.C8nt_tI6.js"),__vite__mapDeps([90,1,2,12,3,18,19,20,5,21,22,40,4,27,41,17,23,44,8,7,45,46,38,47,48,39,15,49,24,25,26,28,6,91]),import.meta.url)],G=[],z={"/":[2],"/account":[3],"/admin":[4],"/admin/api_keys":[5],"/admin/attributes":[6],"/admin/blacklist":[7],"/admin/clients":[8],"/admin/config":[9],"/admin/docs":[10],"/admin/events":[11],"/admin/groups":[12],"/admin/providers":[13],"/admin/roles":[14],"/admin/scopes":[15],"/admin/sessions":[16],"/admin/users":[17],"/device":[18],"/error":[19],"/error/error":[20],"/error/error/error":[21],"/error/error/error/error":[22],"/fedcm":[23],"/oidc/authorize":[24],"/oidc/callback":[25],"/oidc/logout":[26],"/providers/callback":[27],"/users/register":[28],"/users/{id}/email_confirm/email_confirm":[29],"/users/{id}/reset/reset":[30]},g={handleError:({error:a})=>{console.error(a)},reroute:()=>{},transport:{}},v=Object.fromEntries(Object.entries(g.transport).map(([a,t])=>[a,t.decode])),q=!1,$=(a,t)=>v[a](t)})();export{Dr as __tla,$ as decode,v as decoders,z as dictionary,q as hash,g as hooks,B as matchers,C as nodes,F as root,G as server_loads};
diff --git a/static/v1/_app/immutable/entry/app.Dj8nXbmK.js.br b/static/v1/_app/immutable/entry/app.Dj8nXbmK.js.br
deleted file mode 100644
index 385a855c6..000000000
Binary files a/static/v1/_app/immutable/entry/app.Dj8nXbmK.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/entry/app.Dj8nXbmK.js.gz b/static/v1/_app/immutable/entry/app.Dj8nXbmK.js.gz
deleted file mode 100644
index 0bdec9a23..000000000
Binary files a/static/v1/_app/immutable/entry/app.Dj8nXbmK.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/entry/start.Bj78bRRv.js b/static/v1/_app/immutable/entry/start.Bj78bRRv.js
deleted file mode 100644
index 9f6995445..000000000
--- a/static/v1/_app/immutable/entry/start.Bj78bRRv.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as t}from"../chunks/entry.Ddy6icaf.js";export{t as start};
diff --git a/static/v1/_app/immutable/entry/start.Bj78bRRv.js.br b/static/v1/_app/immutable/entry/start.Bj78bRRv.js.br
deleted file mode 100644
index 279114890..000000000
Binary files a/static/v1/_app/immutable/entry/start.Bj78bRRv.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/entry/start.Bj78bRRv.js.gz b/static/v1/_app/immutable/entry/start.Bj78bRRv.js.gz
deleted file mode 100644
index 4830707a7..000000000
Binary files a/static/v1/_app/immutable/entry/start.Bj78bRRv.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/entry/start.CtTLem66.js b/static/v1/_app/immutable/entry/start.CtTLem66.js
new file mode 100644
index 000000000..0f5f2c789
--- /dev/null
+++ b/static/v1/_app/immutable/entry/start.CtTLem66.js
@@ -0,0 +1 @@
+import{a as t}from"../chunks/entry.DTN3-12j.js";export{t as start};
diff --git a/static/v1/_app/immutable/entry/start.CtTLem66.js.br b/static/v1/_app/immutable/entry/start.CtTLem66.js.br
new file mode 100644
index 000000000..5fc94b99b
--- /dev/null
+++ b/static/v1/_app/immutable/entry/start.CtTLem66.js.br
@@ -0,0 +1,2 @@
+�!�import{a as t}from"../chunks/entry.DTN3-12j.js";export{t as start};
+
\ No newline at end of file
diff --git a/static/v1/_app/immutable/entry/start.CtTLem66.js.gz b/static/v1/_app/immutable/entry/start.CtTLem66.js.gz
new file mode 100644
index 000000000..2911b1e8b
Binary files /dev/null and b/static/v1/_app/immutable/entry/start.CtTLem66.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/0.Cb38Tfsl.js b/static/v1/_app/immutable/nodes/0.Cb38Tfsl.js
deleted file mode 100644
index b81d3ad57..000000000
--- a/static/v1/_app/immutable/nodes/0.Cb38Tfsl.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as r,b as e,c as v}from"../chunks/disclose-version.DZhRUPAc.js";import{p as d,o as b,a1 as h,a0 as n,a as u,j as g,g as _,_ as j}from"../chunks/index-client.CGppiJvc.js";import{i as k}from"../chunks/if.DUA6Hpfn.js";import{s as y}from"../chunks/snippet.xhmr1ywJ.js";import{p as S}from"../chunks/proxy.DB4Km9hY.js";import{i as C}from"../chunks/is_dev.svelte.sP_MjoCE.js";import{i as O}from"../chunks/language.svelte.n4n5oz7-.js";import{i as w}from"../chunks/i18n.svelte.BTGsPiz_.js";const x=!0,E="never",M=Object.freeze(Object.defineProperty({__proto__:null,prerender:x,trailingSlash:E},Symbol.toStringTag,{value:"Module"}));var q=e("<div><h1>Cookies disabled</h1> <p>You need to enable Cookies.<br> Without them, a safe interaction with Rauthy is not possible.</p></div>"),z=e("<noscript></noscript> <!>",1);function A(m,i){d(i,!0),C(),O(),w();let s=j(!0);b(()=>{g(s,S(navigator.cookieEnabled))});var t=z(),p=h(n(t),2);{var l=a=>{var o=v(),f=n(o);y(f,()=>i.children),r(a,o)},c=a=>{var o=q();r(a,o)};k(p,a=>{_(s)?a(l):a(c,!1)})}r(m,t),u()}export{A as component,M as universal};
diff --git a/static/v1/_app/immutable/nodes/0.Cb38Tfsl.js.br b/static/v1/_app/immutable/nodes/0.Cb38Tfsl.js.br
deleted file mode 100644
index 4f88a6366..000000000
Binary files a/static/v1/_app/immutable/nodes/0.Cb38Tfsl.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/0.Cb38Tfsl.js.gz b/static/v1/_app/immutable/nodes/0.Cb38Tfsl.js.gz
deleted file mode 100644
index a15f54030..000000000
Binary files a/static/v1/_app/immutable/nodes/0.Cb38Tfsl.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/0.DfqIXgOJ.js b/static/v1/_app/immutable/nodes/0.DfqIXgOJ.js
new file mode 100644
index 000000000..f6dfadf01
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/0.DfqIXgOJ.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import{p as c,o as d,R as b,Q as s,a as h,j as u,g,P as _}from"../chunks/index-client.CzqVbBUo.js";import{a,t as n,c as j}from"../chunks/template.io25wnf1.js";import{i as k,p as y}from"../chunks/if.BnegfJmL.js";import{s as S}from"../chunks/snippet.B82X2vfx.js";import{i as C}from"../chunks/is_dev.svelte.qp6n2kD5.js";import{i as O}from"../chunks/language.svelte.Zi8jd0TO.js";import{i as P}from"../chunks/i18n.svelte.C_qSL0ZA.js";const x=!0,E="never",M=Object.freeze(Object.defineProperty({__proto__:null,prerender:x,trailingSlash:E},Symbol.toStringTag,{value:"Module"}));var R=n("<div><h1>Cookies disabled</h1> <p>You need to enable Cookies.<br> Without them, a safe interaction with Rauthy is not possible.</p></div>"),Y=n("<noscript></noscript> <!>",1);function q(p,i){c(i,!0),C(),O(),P();let t=_(!0);d(()=>{u(t,y(navigator.cookieEnabled))});var e=Y(),m=b(s(e),2);{var l=o=>{var r=j(),v=s(r);S(v,()=>i.children),a(o,r)},f=o=>{var r=R();a(o,r)};k(m,o=>{g(t)?o(l):o(f,!1)})}a(p,e),h()}export{q as component,M as universal};
diff --git a/static/v1/_app/immutable/nodes/0.DfqIXgOJ.js.br b/static/v1/_app/immutable/nodes/0.DfqIXgOJ.js.br
new file mode 100644
index 000000000..8fab3def9
Binary files /dev/null and b/static/v1/_app/immutable/nodes/0.DfqIXgOJ.js.br differ
diff --git a/static/v1/_app/immutable/nodes/0.DfqIXgOJ.js.gz b/static/v1/_app/immutable/nodes/0.DfqIXgOJ.js.gz
new file mode 100644
index 000000000..eebd6968b
Binary files /dev/null and b/static/v1/_app/immutable/nodes/0.DfqIXgOJ.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/1.COjq2Jvd.js b/static/v1/_app/immutable/nodes/1.COjq2Jvd.js
new file mode 100644
index 000000000..54a67c74c
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/1.COjq2Jvd.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{p as c,Q as d,T as h,a as v,R as l,U as o,W as u}from"../chunks/index-client.CzqVbBUo.js";import{s as m}from"../chunks/render.CK5MTJQL.js";import{a as k,t as x}from"../chunks/template.io25wnf1.js";import{i as b}from"../chunks/lifecycle.BPrHSQsT.js";import{s as w,p as r}from"../chunks/entry.DTN3-12j.js";const E={get data(){return r.data},get error(){return r.error},get form(){return r.form},get params(){return r.params},get route(){return r.route},get state(){return r.state},get status(){return r.status},get url(){return r.url}};w.updated.check;const p=E;var Q=x("<h1> </h1> <p> </p>",1);function R(n,g){c(g,!1),b();var a=Q(),t=d(a),i=o(t,!0);u(t);var s=l(t,2),f=o(s,!0);u(s),h(()=>{var e;m(i,p.status),m(f,(e=p.error)==null?void 0:e.message)}),k(n,a),v()}export{R as component};
diff --git a/static/v1/_app/immutable/nodes/1.COjq2Jvd.js.br b/static/v1/_app/immutable/nodes/1.COjq2Jvd.js.br
new file mode 100644
index 000000000..679b46669
Binary files /dev/null and b/static/v1/_app/immutable/nodes/1.COjq2Jvd.js.br differ
diff --git a/static/v1/_app/immutable/nodes/1.COjq2Jvd.js.gz b/static/v1/_app/immutable/nodes/1.COjq2Jvd.js.gz
new file mode 100644
index 000000000..bb36f129c
Binary files /dev/null and b/static/v1/_app/immutable/nodes/1.COjq2Jvd.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/1.DKMdcINp.js b/static/v1/_app/immutable/nodes/1.DKMdcINp.js
deleted file mode 100644
index 3b2b41b29..000000000
--- a/static/v1/_app/immutable/nodes/1.DKMdcINp.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as c,b as d}from"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{p as h,a0 as v,a2 as l,a as b,a1 as k,a3 as o,a5 as u}from"../chunks/index-client.CGppiJvc.js";import{s as m}from"../chunks/render.D4MwAWTL.js";import{i as x}from"../chunks/lifecycle.CRex4y9i.js";import{s as B,p as r}from"../chunks/entry.Ddy6icaf.js";const E={get data(){return r.data},get error(){return r.error},get form(){return r.form},get params(){return r.params},get route(){return r.route},get state(){return r.state},get status(){return r.status},get url(){return r.url}};B.updated.check;const p=E;var _=d("<h1> </h1> <p> </p>",1);function $(n,g){h(g,!1),x();var a=_(),t=v(a),f=o(t,!0);u(t);var s=k(t,2),i=o(s,!0);u(s),l(()=>{var e;m(f,p.status),m(i,(e=p.error)==null?void 0:e.message)}),c(n,a),b()}export{$ as component};
diff --git a/static/v1/_app/immutable/nodes/1.DKMdcINp.js.br b/static/v1/_app/immutable/nodes/1.DKMdcINp.js.br
deleted file mode 100644
index dde9a00fc..000000000
Binary files a/static/v1/_app/immutable/nodes/1.DKMdcINp.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/1.DKMdcINp.js.gz b/static/v1/_app/immutable/nodes/1.DKMdcINp.js.gz
deleted file mode 100644
index b83f48762..000000000
Binary files a/static/v1/_app/immutable/nodes/1.DKMdcINp.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/10.C9SFpmPR.js b/static/v1/_app/immutable/nodes/10.C9SFpmPR.js
new file mode 100644
index 000000000..7b22c9749
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/10.C9SFpmPR.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{A as t}from"../chunks/AdminMainPre.CSGzinoD.js";function e(o){t(o,{selected:"Docs"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/10.C9SFpmPR.js.br b/static/v1/_app/immutable/nodes/10.C9SFpmPR.js.br
new file mode 100644
index 000000000..14db3c5f7
Binary files /dev/null and b/static/v1/_app/immutable/nodes/10.C9SFpmPR.js.br differ
diff --git a/static/v1/_app/immutable/nodes/10.C9SFpmPR.js.gz b/static/v1/_app/immutable/nodes/10.C9SFpmPR.js.gz
new file mode 100644
index 000000000..97aaf07c9
Binary files /dev/null and b/static/v1/_app/immutable/nodes/10.C9SFpmPR.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/10.mAHy2gv0.js b/static/v1/_app/immutable/nodes/10.mAHy2gv0.js
deleted file mode 100644
index 46ec42040..000000000
--- a/static/v1/_app/immutable/nodes/10.mAHy2gv0.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{A as t}from"../chunks/AdminMainPre.BC7y4hZJ.js";function e(o){t(o,{selected:"Docs"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/10.mAHy2gv0.js.br b/static/v1/_app/immutable/nodes/10.mAHy2gv0.js.br
deleted file mode 100644
index ef614bebb..000000000
Binary files a/static/v1/_app/immutable/nodes/10.mAHy2gv0.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/10.mAHy2gv0.js.gz b/static/v1/_app/immutable/nodes/10.mAHy2gv0.js.gz
deleted file mode 100644
index 32238fe77..000000000
Binary files a/static/v1/_app/immutable/nodes/10.mAHy2gv0.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/11.BkR4n8hK.js b/static/v1/_app/immutable/nodes/11.BkR4n8hK.js
new file mode 100644
index 000000000..3bf8bdafe
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/11.BkR4n8hK.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{A as t}from"../chunks/AdminMainPre.CSGzinoD.js";function e(o){t(o,{selected:"Events"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/11.BkR4n8hK.js.br b/static/v1/_app/immutable/nodes/11.BkR4n8hK.js.br
new file mode 100644
index 000000000..05334d114
Binary files /dev/null and b/static/v1/_app/immutable/nodes/11.BkR4n8hK.js.br differ
diff --git a/static/v1/_app/immutable/nodes/11.BkR4n8hK.js.gz b/static/v1/_app/immutable/nodes/11.BkR4n8hK.js.gz
new file mode 100644
index 000000000..5ce6ecd71
Binary files /dev/null and b/static/v1/_app/immutable/nodes/11.BkR4n8hK.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/11.CbrcXpmW.js b/static/v1/_app/immutable/nodes/11.CbrcXpmW.js
deleted file mode 100644
index e299e20a4..000000000
--- a/static/v1/_app/immutable/nodes/11.CbrcXpmW.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{A as t}from"../chunks/AdminMainPre.BC7y4hZJ.js";function e(o){t(o,{selected:"Events"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/11.CbrcXpmW.js.br b/static/v1/_app/immutable/nodes/11.CbrcXpmW.js.br
deleted file mode 100644
index df223a99a..000000000
Binary files a/static/v1/_app/immutable/nodes/11.CbrcXpmW.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/11.CbrcXpmW.js.gz b/static/v1/_app/immutable/nodes/11.CbrcXpmW.js.gz
deleted file mode 100644
index 303164cd7..000000000
Binary files a/static/v1/_app/immutable/nodes/11.CbrcXpmW.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/12.DNN7kTUa.js b/static/v1/_app/immutable/nodes/12.DNN7kTUa.js
new file mode 100644
index 000000000..6429483e9
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/12.DNN7kTUa.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{A as t}from"../chunks/AdminMainPre.CSGzinoD.js";function e(o){t(o,{selected:"Groups"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/12.DNN7kTUa.js.br b/static/v1/_app/immutable/nodes/12.DNN7kTUa.js.br
new file mode 100644
index 000000000..e969e067e
Binary files /dev/null and b/static/v1/_app/immutable/nodes/12.DNN7kTUa.js.br differ
diff --git a/static/v1/_app/immutable/nodes/12.DNN7kTUa.js.gz b/static/v1/_app/immutable/nodes/12.DNN7kTUa.js.gz
new file mode 100644
index 000000000..eef136eb2
Binary files /dev/null and b/static/v1/_app/immutable/nodes/12.DNN7kTUa.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/12.DRctYUn3.js b/static/v1/_app/immutable/nodes/12.DRctYUn3.js
deleted file mode 100644
index 8e2dc3f67..000000000
--- a/static/v1/_app/immutable/nodes/12.DRctYUn3.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{A as t}from"../chunks/AdminMainPre.BC7y4hZJ.js";function e(o){t(o,{selected:"Groups"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/12.DRctYUn3.js.br b/static/v1/_app/immutable/nodes/12.DRctYUn3.js.br
deleted file mode 100644
index 5da3f941b..000000000
Binary files a/static/v1/_app/immutable/nodes/12.DRctYUn3.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/12.DRctYUn3.js.gz b/static/v1/_app/immutable/nodes/12.DRctYUn3.js.gz
deleted file mode 100644
index 84ba5c796..000000000
Binary files a/static/v1/_app/immutable/nodes/12.DRctYUn3.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/13.AGxmq0sB.js b/static/v1/_app/immutable/nodes/13.AGxmq0sB.js
new file mode 100644
index 000000000..4a3eae26d
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/13.AGxmq0sB.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{A as e}from"../chunks/AdminMainPre.CSGzinoD.js";function r(o){e(o,{selected:"Providers"})}export{r as component};
diff --git a/static/v1/_app/immutable/nodes/13.AGxmq0sB.js.br b/static/v1/_app/immutable/nodes/13.AGxmq0sB.js.br
new file mode 100644
index 000000000..5a9fb7269
Binary files /dev/null and b/static/v1/_app/immutable/nodes/13.AGxmq0sB.js.br differ
diff --git a/static/v1/_app/immutable/nodes/13.AGxmq0sB.js.gz b/static/v1/_app/immutable/nodes/13.AGxmq0sB.js.gz
new file mode 100644
index 000000000..2b11a8165
Binary files /dev/null and b/static/v1/_app/immutable/nodes/13.AGxmq0sB.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/13.x64cmFvq.js b/static/v1/_app/immutable/nodes/13.x64cmFvq.js
deleted file mode 100644
index b130f5378..000000000
--- a/static/v1/_app/immutable/nodes/13.x64cmFvq.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{A as e}from"../chunks/AdminMainPre.BC7y4hZJ.js";function r(o){e(o,{selected:"Providers"})}export{r as component};
diff --git a/static/v1/_app/immutable/nodes/13.x64cmFvq.js.br b/static/v1/_app/immutable/nodes/13.x64cmFvq.js.br
deleted file mode 100644
index 35057007e..000000000
Binary files a/static/v1/_app/immutable/nodes/13.x64cmFvq.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/13.x64cmFvq.js.gz b/static/v1/_app/immutable/nodes/13.x64cmFvq.js.gz
deleted file mode 100644
index 01af2ad66..000000000
Binary files a/static/v1/_app/immutable/nodes/13.x64cmFvq.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/14.CXmsPhJ4.js b/static/v1/_app/immutable/nodes/14.CXmsPhJ4.js
new file mode 100644
index 000000000..959266f14
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/14.CXmsPhJ4.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{A as e}from"../chunks/AdminMainPre.CSGzinoD.js";function t(o){e(o,{selected:"Roles"})}export{t as component};
diff --git a/static/v1/_app/immutable/nodes/14.CXmsPhJ4.js.br b/static/v1/_app/immutable/nodes/14.CXmsPhJ4.js.br
new file mode 100644
index 000000000..a63c2d2a8
Binary files /dev/null and b/static/v1/_app/immutable/nodes/14.CXmsPhJ4.js.br differ
diff --git a/static/v1/_app/immutable/nodes/14.CXmsPhJ4.js.gz b/static/v1/_app/immutable/nodes/14.CXmsPhJ4.js.gz
new file mode 100644
index 000000000..2e3f037bd
Binary files /dev/null and b/static/v1/_app/immutable/nodes/14.CXmsPhJ4.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/14.DoJ-tz2B.js b/static/v1/_app/immutable/nodes/14.DoJ-tz2B.js
deleted file mode 100644
index 522c4d730..000000000
--- a/static/v1/_app/immutable/nodes/14.DoJ-tz2B.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{A as e}from"../chunks/AdminMainPre.BC7y4hZJ.js";function t(o){e(o,{selected:"Roles"})}export{t as component};
diff --git a/static/v1/_app/immutable/nodes/14.DoJ-tz2B.js.br b/static/v1/_app/immutable/nodes/14.DoJ-tz2B.js.br
deleted file mode 100644
index 5c6f520f8..000000000
Binary files a/static/v1/_app/immutable/nodes/14.DoJ-tz2B.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/14.DoJ-tz2B.js.gz b/static/v1/_app/immutable/nodes/14.DoJ-tz2B.js.gz
deleted file mode 100644
index 8119782a1..000000000
Binary files a/static/v1/_app/immutable/nodes/14.DoJ-tz2B.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/15.CUsx6Ptm.js b/static/v1/_app/immutable/nodes/15.CUsx6Ptm.js
deleted file mode 100644
index d1a6fb030..000000000
--- a/static/v1/_app/immutable/nodes/15.CUsx6Ptm.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{A as e}from"../chunks/AdminMainPre.BC7y4hZJ.js";function t(o){e(o,{selected:"Scopes"})}export{t as component};
diff --git a/static/v1/_app/immutable/nodes/15.CUsx6Ptm.js.br b/static/v1/_app/immutable/nodes/15.CUsx6Ptm.js.br
deleted file mode 100644
index 57632506b..000000000
Binary files a/static/v1/_app/immutable/nodes/15.CUsx6Ptm.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/15.CUsx6Ptm.js.gz b/static/v1/_app/immutable/nodes/15.CUsx6Ptm.js.gz
deleted file mode 100644
index ed6384ca5..000000000
Binary files a/static/v1/_app/immutable/nodes/15.CUsx6Ptm.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/15.CZRCkJBD.js b/static/v1/_app/immutable/nodes/15.CZRCkJBD.js
new file mode 100644
index 000000000..1b58bbff7
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/15.CZRCkJBD.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{A as e}from"../chunks/AdminMainPre.CSGzinoD.js";function t(o){e(o,{selected:"Scopes"})}export{t as component};
diff --git a/static/v1/_app/immutable/nodes/15.CZRCkJBD.js.br b/static/v1/_app/immutable/nodes/15.CZRCkJBD.js.br
new file mode 100644
index 000000000..c59a38dac
Binary files /dev/null and b/static/v1/_app/immutable/nodes/15.CZRCkJBD.js.br differ
diff --git a/static/v1/_app/immutable/nodes/15.CZRCkJBD.js.gz b/static/v1/_app/immutable/nodes/15.CZRCkJBD.js.gz
new file mode 100644
index 000000000..c7e7acb59
Binary files /dev/null and b/static/v1/_app/immutable/nodes/15.CZRCkJBD.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/16.DA7wm4sl.js b/static/v1/_app/immutable/nodes/16.DA7wm4sl.js
new file mode 100644
index 000000000..da482356f
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/16.DA7wm4sl.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{A as e}from"../chunks/AdminMainPre.CSGzinoD.js";function t(o){e(o,{selected:"Sessions"})}export{t as component};
diff --git a/static/v1/_app/immutable/nodes/16.DA7wm4sl.js.br b/static/v1/_app/immutable/nodes/16.DA7wm4sl.js.br
new file mode 100644
index 000000000..cf151d040
Binary files /dev/null and b/static/v1/_app/immutable/nodes/16.DA7wm4sl.js.br differ
diff --git a/static/v1/_app/immutable/nodes/16.DA7wm4sl.js.gz b/static/v1/_app/immutable/nodes/16.DA7wm4sl.js.gz
new file mode 100644
index 000000000..951e5ee31
Binary files /dev/null and b/static/v1/_app/immutable/nodes/16.DA7wm4sl.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/16.eXw--TB9.js b/static/v1/_app/immutable/nodes/16.eXw--TB9.js
deleted file mode 100644
index 99e258d1f..000000000
--- a/static/v1/_app/immutable/nodes/16.eXw--TB9.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{A as e}from"../chunks/AdminMainPre.BC7y4hZJ.js";function t(o){e(o,{selected:"Sessions"})}export{t as component};
diff --git a/static/v1/_app/immutable/nodes/16.eXw--TB9.js.br b/static/v1/_app/immutable/nodes/16.eXw--TB9.js.br
deleted file mode 100644
index 5fbccf480..000000000
Binary files a/static/v1/_app/immutable/nodes/16.eXw--TB9.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/16.eXw--TB9.js.gz b/static/v1/_app/immutable/nodes/16.eXw--TB9.js.gz
deleted file mode 100644
index e6bd47eb1..000000000
Binary files a/static/v1/_app/immutable/nodes/16.eXw--TB9.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/17.DfcNkhQ2.js b/static/v1/_app/immutable/nodes/17.DfcNkhQ2.js
new file mode 100644
index 000000000..c44fe345e
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/17.DfcNkhQ2.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{A as t}from"../chunks/AdminMainPre.CSGzinoD.js";function e(o){t(o,{selected:"Users"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/17.DfcNkhQ2.js.br b/static/v1/_app/immutable/nodes/17.DfcNkhQ2.js.br
new file mode 100644
index 000000000..40666ac39
Binary files /dev/null and b/static/v1/_app/immutable/nodes/17.DfcNkhQ2.js.br differ
diff --git a/static/v1/_app/immutable/nodes/17.DfcNkhQ2.js.gz b/static/v1/_app/immutable/nodes/17.DfcNkhQ2.js.gz
new file mode 100644
index 000000000..356b98bea
Binary files /dev/null and b/static/v1/_app/immutable/nodes/17.DfcNkhQ2.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/17.o4_Xudri.js b/static/v1/_app/immutable/nodes/17.o4_Xudri.js
deleted file mode 100644
index d9bd8b5d3..000000000
--- a/static/v1/_app/immutable/nodes/17.o4_Xudri.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{A as t}from"../chunks/AdminMainPre.BC7y4hZJ.js";function e(o){t(o,{selected:"Users"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/17.o4_Xudri.js.br b/static/v1/_app/immutable/nodes/17.o4_Xudri.js.br
deleted file mode 100644
index f9d87bdfb..000000000
Binary files a/static/v1/_app/immutable/nodes/17.o4_Xudri.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/17.o4_Xudri.js.gz b/static/v1/_app/immutable/nodes/17.o4_Xudri.js.gz
deleted file mode 100644
index a451b9a02..000000000
Binary files a/static/v1/_app/immutable/nodes/17.o4_Xudri.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/18.DkpZz6Mj.js b/static/v1/_app/immutable/nodes/18.DkpZz6Mj.js
new file mode 100644
index 000000000..b6dfc3b8a
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/18.DkpZz6Mj.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import{j as e,U as c,g as t,R as u,W as o,T as m,P as f,p as Be,o as De,Q as U,a as Oe,$ as Se,V as ee}from"../chunks/index-client.CzqVbBUo.js";import{e as V,s as p}from"../chunks/render.CK5MTJQL.js";import{i as z,p as v}from"../chunks/if.BnegfJmL.js";import{e as Ue,i as Ve}from"../chunks/OptionSelect.jFlepSwk.js";import{a as s,t as x,b as ae,c as he}from"../chunks/template.io25wnf1.js";import{h as _e}from"../chunks/svelte-head.BSz900xL.js";import{r as Ee}from"../chunks/legacy-client.DPLAlLYD.js";import{g as Fe,a1 as Ge,a2 as we,a3 as Ke,m as Ne,a4 as Qe,o as Xe}from"../chunks/dataFetching.Br47vc1D.js";import{t as Y,s as Ye,b as ve,f as Ce,B as le}from"../chunks/Button.JzTZa4bh.js";import{t as ne}from"../chunks/helpers.BvaXa0cv.js";import{p as ue}from"../chunks/props.C_MHtC74.js";import{L as qe}from"../chunks/LangSelector.DQTzLAdQ.js";import{c as He,a as Ie,I as Je}from"../chunks/Input.jkTumKYK.js";import{f as Re}from"../chunks/pow.CkxCHWs-.js";import{M as Ze,C as Me}from"../chunks/ContentCenter.B2VsFG_i.js";import{u as ea}from"../chunks/i18n.svelte.C_qSL0ZA.js";import{T as aa}from"../chunks/Template.mSBxkRZ-.js";var ta=x('<div class="circle svelte-10pff2x"></div>'),sa=x('<div class="circle svelte-10pff2x"></div>'),ra=x('<div class="circle svelte-10pff2x"></div>'),oa=x('<div class="container svelte-10pff2x"><div class="inner svelte-10pff2x"><!> <!> <!></div></div>');function ia(te,_){let q=ue(_,"offset",3,0),a=ue(_,"background",3,!0),E=ue(_,"local",3,!1),y=f(!0),$=f(!1),l=f(!1);setTimeout(()=>{e($,!0)},300),setTimeout(()=>{e(l,!0)},600);var g=oa(),b=c(g),F=c(b);{var H=i=>{var r=ta();V("introend",r,()=>e(y,!1)),V("outroend",r,()=>e(y,!0)),Y(7,r,()=>ve,()=>({delay:600,duration:1e3})),s(i,r)};z(F,i=>{t(y)&&i(H)})}var L=u(F,2);{var B=i=>{var r=sa();V("introend",r,()=>e($,!1)),V("outroend",r,()=>e($,!0)),Y(7,r,()=>ve,()=>({delay:600,duration:1e3})),s(i,r)};z(L,i=>{t($)&&i(B)})}var I=u(L,2);{var se=i=>{var r=ra();V("introend",r,()=>e(l,!1)),V("outroend",r,()=>e(l,!0)),Y(7,r,()=>ve,()=>({delay:600,duration:1e3})),s(i,r)};z(I,i=>{t(l)&&i(se)})}o(b),o(g),m(()=>{ne(g,"global",!E()),ne(g,"local",E()),ne(g,"background",a()),Ye(b,"style",`margin-top: ${`${q()}px`??""}`)}),Y(3,b,()=>Ce,()=>({duration:100})),Y(7,g,()=>Ce,()=>({duration:100})),s(te,g)}var da=x('<div class="desc svelte-19xxeot"> </div> <!> <!>',1),ca=x('<div class="desc svelte-19xxeot"><p> </p> <p> </p></div>'),va=x('<div class="desc svelte-19xxeot"><p class="declined svelte-19xxeot"> </p> <p> </p></div>'),la=x("<li> </li>"),na=x('<div class="desc svelte-19xxeot"> <ul></ul></div> <div class="inline svelte-19xxeot"><!> <!></div>',1),ua=x('<div class="container svelte-19xxeot"><div class="name svelte-19xxeot"><h2> </h2></div> <!> <div class="err svelte-19xxeot"> </div></div>'),pa=x("<!> <!>",1),ma=x("<!> <!>",1);function fa(te,_){Be(_,!0);const q="8rem";let a=ea(),E=f(void 0),y=f(""),$=f(8),l=f(!1),g=!1,b=f(void 0),F=f(!1),H=f(!1),L=v({userCode:""}),B=f(v({userCode:""})),I=f(v({}));Ee(()=>{a&&t($)&&e(I,v(He().shape({userCode:Ie().trim().min(t($),a.common.errTooShort).max(t($),a.common.errTooLong).matches(Ne,a.common.invalidInput)})))}),De(async()=>{const n=Fe();n.code&&(L.userCode=n.code);let G=await Ge();G.ok?e(E,v(await G.json())):n.code?we(`device?code=${n.code}`):we("device")});function se(){g&&r()}async function i(n){var K;if(e(y,""),g=!0,!await r())return;e(l,!0);let G=await Re(),re={user_code:L.userCode,pow:G,device_accepted:n};const j=await Qe(re);if(j.status===200){const P=await j.json();console.log(P),e(b,v(((K=P.scopes)==null?void 0:K.split(" "))||["openid"]))}else if(j.status===202)e(F,!0),setTimeout(()=>{window.location.replace("/auth/v1/account?v=devices")},2e3);else if(j.status===204)e(H,!0);else if(j.status===404)e(y,v(a.device.wrongOrExpired));else{const P=await j.json();e(y,v(P.message))}e(l,!1)}async function r(){try{return await t(I).validate(L,{abortEarly:!1}),e(B,v({userCode:""})),!0}catch(n){return e(B,v(Xe(n))),!1}}var pe=ma();_e(n=>{m(()=>Se.title=(a==null?void 0:a.device.title)||"Device Authorization")});var me=U(pe);aa(me,{id:Ke,get value(){return t($)},set value(n){e($,v(n))}});var ye=u(me,2);Ze(ye,{children:(n,G)=>{Me(n,{children:(re,j)=>{var K=pa(),P=U(K);{var be=D=>{ia(D,{})},Le=D=>{var oe=ua(),ie=c(oe),fe=c(ie),ke=c(fe,!0);o(fe),o(ie);var xe=u(ie,2);{var je=O=>{var N=da(),Q=U(N),de=c(Q,!0);m(()=>p(de,a.device.desc.replaceAll("{{count}}",t($)))),o(Q);var J=u(Q,2);Je(J,{name:"userCode",autocomplete:"off",get placeholder(){return a.device.userCode},get value(){return L.userCode},set value(d){L.userCode=d},get error(){return t(B).userCode},set error(d){t(B).userCode=d},$$events:{enter:i,input:se},children:(d,A)=>{ee();var h=ae();m(()=>p(h,a.device.userCode.toUpperCase())),s(d,h)},$$slots:{default:!0}});var T=u(J,2);le(T,{get isLoading(){return t(l)},set isLoading(d){e(l,v(d))},$$events:{click:()=>i("pending")},children:(d,A)=>{ee();var h=ae();m(()=>p(h,a.device.submit)),s(d,h)},$$slots:{default:!0}}),s(O,N)},Pe=O=>{var N=he(),Q=U(N);{var de=T=>{var d=ca(),A=c(d),h=c(A,!0);o(A);var R=u(A,2),k=c(R,!0);o(R),o(d),m(()=>{p(h,a.device.isAccepted),p(k,a.device.autoRedirectAccount)}),s(T,d)},J=T=>{var d=he(),A=U(d);{var h=k=>{var S=va(),W=c(S),Z=c(W,!0);o(W);var X=u(W,2),M=c(X,!0);o(X),o(S),m(()=>{p(Z,a.device.isDeclined),p(M,a.device.closeWindow)}),s(k,S)},R=k=>{var S=na(),W=U(S),Z=c(W),X=u(Z);Ue(X,21,()=>t(b),Ve,(w,ce)=>{var C=la(),ze=c(C,!0);o(C),m(()=>p(ze,t(ce))),s(w,C)}),o(X),o(W);var M=u(W,2),ge=c(M);le(ge,{level:1,width:q,get isLoading(){return t(l)},set isLoading(w){e(l,v(w))},$$events:{click:()=>i("accept")},children:(w,ce)=>{ee();var C=ae();m(()=>p(C,a.device.accept)),s(w,C)},$$slots:{default:!0}});var We=u(ge,2);le(We,{level:3,width:q,get isLoading(){return t(l)},set isLoading(w){e(l,v(w))},$$events:{click:()=>i("decline")},children:(w,ce)=>{ee();var C=ae();m(()=>p(C,a.device.decline)),s(w,C)},$$slots:{default:!0}}),o(M),m(()=>p(Z,`${a.device.descScopes??""} `)),s(k,S)};z(A,k=>{t(H)?k(h):k(R,!1)},!0)}s(T,d)};z(Q,T=>{t(F)?T(de):T(J,!1)},!0)}s(O,N)};z(xe,O=>{t(b)===void 0?O(je):O(Pe,!1)})}var $e=u(xe,2),Ae=c($e,!0);o($e),o(oe),m(()=>{p(ke,a.device.title),p(Ae,t(y))}),s(D,oe)};z(P,D=>{t(E)?D(Le,!1):D(be)})}var Te=u(P,2);qe(Te,{absolute:!0}),s(re,K)},$$slots:{default:!0}})},$$slots:{default:!0}}),s(te,pe),Oe()}export{fa as component};
diff --git a/static/v1/_app/immutable/nodes/18.DkpZz6Mj.js.br b/static/v1/_app/immutable/nodes/18.DkpZz6Mj.js.br
new file mode 100644
index 000000000..39e01dc0a
Binary files /dev/null and b/static/v1/_app/immutable/nodes/18.DkpZz6Mj.js.br differ
diff --git a/static/v1/_app/immutable/nodes/18.DkpZz6Mj.js.gz b/static/v1/_app/immutable/nodes/18.DkpZz6Mj.js.gz
new file mode 100644
index 000000000..0a51cdc34
Binary files /dev/null and b/static/v1/_app/immutable/nodes/18.DkpZz6Mj.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/18.DtlPpkWl.js b/static/v1/_app/immutable/nodes/18.DtlPpkWl.js
deleted file mode 100644
index a7e86c4f1..000000000
--- a/static/v1/_app/immutable/nodes/18.DtlPpkWl.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as c,b as k,t as W,c as ve}from"../chunks/disclose-version.DZhRUPAc.js";import{p as ye,_ as f,o as ne,a as Ae,j as t,a2 as n,$ as je,a0 as D,g as s,a1 as l,a3 as r,a5 as o,a4 as _}from"../chunks/index-client.CGppiJvc.js";import{h as Ie,s as d}from"../chunks/render.D4MwAWTL.js";import{i as q}from"../chunks/if.DUA6Hpfn.js";import{e as be,i as Ee}from"../chunks/OptionSelect.BCgZksOM.js";import{p as i}from"../chunks/proxy.DB4Km9hY.js";import{r as Ne}from"../chunks/legacy-client.CgqodnwN.js";import{g as Se,k as Te,r as le,l as Be,p as De,m as Me}from"../chunks/dataFetching.Dto1xJW6.js";import{L as ze}from"../chunks/Loading.wZ55XKP1.js";import{L as Fe}from"../chunks/LangSelector.mSh8cV6Q.js";import{c as He,a as Oe,I as Re}from"../chunks/Input.Bj_i2TLU.js";import{B as X}from"../chunks/Button.BH2_dPry.js";import{f as Ue}from"../chunks/pow.r0U0E3f9.js";import{M as We,C as _e}from"../chunks/ContentCenter.CsjyBf2d.js";import{u as qe}from"../chunks/i18n.svelte.BTGsPiz_.js";var Ge=k('<div class="desc svelte-19xxeot"> </div> <!> <!>',1),Je=k('<div class="desc svelte-19xxeot"><p> </p> <p> </p></div>'),Ke=k('<div class="desc svelte-19xxeot"><p class="declined svelte-19xxeot"> </p> <p> </p></div>'),Pe=k("<li> </li>"),Qe=k('<div class="desc svelte-19xxeot"> <ul></ul></div> <div class="inline svelte-19xxeot"><!> <!></div>',1),Ve=k('<div class="container svelte-19xxeot"><div class="name svelte-19xxeot"><h2> </h2></div> <!> <div class="err svelte-19xxeot"> </div></div>'),Xe=k("<!> <!>",1);function Ye(ue,me){ye(me,!0);const Y="8rem";let e=qe(),Z=f(void 0),M=f(""),I=f(8),x=f(!1),ee=!1,G=f(void 0),se=f(!1),ae=f(!1),b=i({userCode:""}),z=f(i({userCode:""})),te=f(i({}));Ne(()=>{e&&s(I)&&t(te,i(He().shape({userCode:Oe().trim().min(s(I),e.common.errTooShort).max(s(I),e.common.errTooLong).matches(Be,e.common.invalidInput)})))}),ne(()=>{t(I,i(Number.parseInt(window.document.getElementsByName("rauthy-data")[0].id)))}),ne(async()=>{const v=Se();v.code&&(b.userCode=v.code);let E=await Te();E.ok?t(Z,i(await E.json())):v.code?le(`device?code=${v.code}`):le("device")});function pe(){ee&&oe()}async function F(v){var N;if(t(M,""),ee=!0,!await oe())return;t(x,!0);let E=await Ue(),J={user_code:b.userCode,pow:E,device_accepted:v};const w=await De(J);if(w.status===200){const g=await w.json();console.log(g),t(G,i(((N=g.scopes)==null?void 0:N.split(" "))||["openid"]))}else if(w.status===202)t(se,!0),setTimeout(()=>{window.location.replace("/auth/v1/account?v=devices")},2e3);else if(w.status===204)t(ae,!0);else if(w.status===404)t(M,i(e.device.wrongOrExpired));else{const g=await w.json();t(M,i(g.message))}t(x,!1)}async function oe(){try{return await s(te).validate(b,{abortEarly:!1}),t(z,i({userCode:""})),!0}catch(v){return t(z,i(Me(v))),!1}}Ie(v=>{n(()=>je.title=(e==null?void 0:e.device.title)||"Device Authorization")}),We(ue,{children:(v,E)=>{_e(v,{children:(J,w)=>{var N=Xe(),g=D(N);{var fe=y=>{ze(y,{})},xe=y=>{var K=Ve(),P=r(K),re=r(P),he=r(re,!0);o(re),o(P);var ie=l(P,2);{var we=A=>{var S=Ge(),T=D(S),Q=r(T,!0);n(()=>d(Q,e.device.desc.replaceAll("{{count}}",s(I)))),o(T);var H=l(T,2);Re(H,{name:"userCode",autocomplete:"off",get placeholder(){return e.device.userCode},get value(){return b.userCode},set value(a){b.userCode=a},get error(){return s(z).userCode},set error(a){s(z).userCode=a},$$events:{enter:F,input:pe},children:(a,C)=>{_();var u=W();n(()=>d(u,e.device.userCode.toUpperCase())),c(a,u)},$$slots:{default:!0}});var $=l(H,2);X($,{get isLoading(){return s(x)},set isLoading(a){t(x,i(a))},$$events:{click:()=>F("pending")},children:(a,C)=>{_();var u=W();n(()=>d(u,e.device.submit)),c(a,u)},$$slots:{default:!0}}),c(A,S)},ge=A=>{var S=ve(),T=D(S);{var Q=$=>{var a=Je(),C=r(a),u=r(C,!0);o(C);var O=l(C,2),h=r(O,!0);o(O),o(a),n(()=>{d(u,e.device.isAccepted),d(h,e.device.autoRedirectAccount)}),c($,a)},H=$=>{var a=ve(),C=D(a);{var u=h=>{var j=Ke(),L=r(j),R=r(L,!0);o(L);var B=l(L,2),U=r(B,!0);o(B),o(j),n(()=>{d(R,e.device.isDeclined),d(U,e.device.closeWindow)}),c(h,j)},O=h=>{var j=Qe(),L=D(j),R=r(L),B=l(R);be(B,21,()=>s(G),Ee,(m,V)=>{var p=Pe(),ke=r(p,!0);o(p),n(()=>d(ke,s(V))),c(m,p)}),o(B),o(L);var U=l(L,2),de=r(U);X(de,{level:1,width:Y,get isLoading(){return s(x)},set isLoading(m){t(x,i(m))},$$events:{click:()=>F("accept")},children:(m,V)=>{_();var p=W();n(()=>d(p,e.device.accept)),c(m,p)},$$slots:{default:!0}});var Le=l(de,2);X(Le,{level:3,width:Y,get isLoading(){return s(x)},set isLoading(m){t(x,i(m))},$$events:{click:()=>F("decline")},children:(m,V)=>{_();var p=W();n(()=>d(p,e.device.decline)),c(m,p)},$$slots:{default:!0}}),o(U),n(()=>d(R,`${e.device.descScopes??""} `)),c(h,j)};q(C,h=>{s(ae)?h(u):h(O,!1)},!0)}c($,a)};q(T,$=>{s(se)?$(Q):$(H,!1)},!0)}c(A,S)};q(ie,A=>{s(G)===void 0?A(we):A(ge,!1)})}var ce=l(ie,2),Ce=r(ce,!0);o(ce),o(K),n(()=>{d(he,e.device.title),d(Ce,s(M))}),c(y,K)};q(g,y=>{s(Z)?y(xe,!1):y(fe)})}var $e=l(g,2);Fe($e,{absolute:!0}),c(J,N)},$$slots:{default:!0}})},$$slots:{default:!0}}),Ae()}export{Ye as component};
diff --git a/static/v1/_app/immutable/nodes/18.DtlPpkWl.js.br b/static/v1/_app/immutable/nodes/18.DtlPpkWl.js.br
deleted file mode 100644
index 92ea80dff..000000000
Binary files a/static/v1/_app/immutable/nodes/18.DtlPpkWl.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/18.DtlPpkWl.js.gz b/static/v1/_app/immutable/nodes/18.DtlPpkWl.js.gz
deleted file mode 100644
index 38799dea5..000000000
Binary files a/static/v1/_app/immutable/nodes/18.DtlPpkWl.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/19.0qOBqwlU.js b/static/v1/_app/immutable/nodes/19.0qOBqwlU.js
deleted file mode 100644
index 0b67872d3..000000000
--- a/static/v1/_app/immutable/nodes/19.0qOBqwlU.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{E as r}from"../chunks/Error.CsY9Wg-p.js";function t(o){r(o,{})}export{t as component};
diff --git a/static/v1/_app/immutable/nodes/19.0qOBqwlU.js.br b/static/v1/_app/immutable/nodes/19.0qOBqwlU.js.br
deleted file mode 100644
index 4ff169b7b..000000000
Binary files a/static/v1/_app/immutable/nodes/19.0qOBqwlU.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/19.0qOBqwlU.js.gz b/static/v1/_app/immutable/nodes/19.0qOBqwlU.js.gz
deleted file mode 100644
index a15946c4a..000000000
Binary files a/static/v1/_app/immutable/nodes/19.0qOBqwlU.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/19.BtPwCTG5.js b/static/v1/_app/immutable/nodes/19.BtPwCTG5.js
new file mode 100644
index 000000000..fc14b29dd
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/19.BtPwCTG5.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{E as r}from"../chunks/Error.DXjVprxK.js";function t(o){r(o,{})}export{t as component};
diff --git a/static/v1/_app/immutable/nodes/19.BtPwCTG5.js.br b/static/v1/_app/immutable/nodes/19.BtPwCTG5.js.br
new file mode 100644
index 000000000..e264fa31a
Binary files /dev/null and b/static/v1/_app/immutable/nodes/19.BtPwCTG5.js.br differ
diff --git a/static/v1/_app/immutable/nodes/19.BtPwCTG5.js.gz b/static/v1/_app/immutable/nodes/19.BtPwCTG5.js.gz
new file mode 100644
index 000000000..4233d8bfa
Binary files /dev/null and b/static/v1/_app/immutable/nodes/19.BtPwCTG5.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/2.BfkQ0hAF.js b/static/v1/_app/immutable/nodes/2.BfkQ0hAF.js
new file mode 100644
index 000000000..20df1296f
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/2.BfkQ0hAF.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import{p as D,Q as R,a as E,$ as F,g as j,j as G,R as s,T as v,P as H,U as A,V as d,W as B}from"../chunks/index-client.CzqVbBUo.js";import{s as c}from"../chunks/render.CK5MTJQL.js";import{p as I,i as J}from"../chunks/if.BnegfJmL.js";import{a as r,t as f,b as u}from"../chunks/template.io25wnf1.js";import{h as K}from"../chunks/svelte-head.BSz900xL.js";import{B as p}from"../chunks/Button.JzTZa4bh.js";import{L as N}from"../chunks/LangSelector.DQTzLAdQ.js";import{A as O}from"../chunks/AppVersion.C23iCWTd.js";import{M as V,C as X}from"../chunks/ContentCenter.B2VsFG_i.js";import{u as Y}from"../chunks/i18n.svelte.C_qSL0ZA.js";import{T as Z}from"../chunks/Template.mSBxkRZ-.js";import{T as S}from"../chunks/dataFetching.Br47vc1D.js";var aa=f('<div class="btn svelte-1um1rdi"><!> <!> <!></div>'),ta=f('<!> <!> <div class="version svelte-1um1rdi"><!></div>',1),ra=f("<!> <!>",1);function sa(M,P){D(P,!0);const i="9rem";let e=Y(),n=H(!1);function Q(){window.location.href="/auth/v1/admin"}function U(){window.location.href="/auth/v1/account"}function W(){window.location.href="/auth/v1/users/register"}var $=ra();K(o=>{F.title="Rauthy"});var h=R($);Z(h,{id:S,get value(){return j(n)},set value(o){G(n,I(o))}});var _=s(h,2);V(_,{children:(o,oa)=>{var w=ta(),g=R(w);X(g,{children:(y,ia)=>{var l=aa(),k=A(l);{var z=a=>{p(a,{width:i,$$events:{click:W},children:(m,t)=>{d();var T=u();v(()=>c(T,e.index.register)),r(m,T)},$$slots:{default:!0}})};J(k,a=>{j(n)&&a(z)})}var L=s(k,2);p(L,{width:i,$$events:{click:U},children:(a,m)=>{d();var t=u();v(()=>c(t,e.index.accountLogin)),r(a,t)},$$slots:{default:!0}});var C=s(L,2);p(C,{width:i,$$events:{click:Q},children:(a,m)=>{d();var t=u();v(()=>c(t,e.index.adminLogin)),r(a,t)},$$slots:{default:!0}}),B(l),r(y,l)},$$slots:{default:!0}});var x=s(g,2);N(x,{absolute:!0});var b=s(x,2),q=A(b);O(q,{}),B(b),r(o,w)},$$slots:{default:!0}}),r(M,$),E()}export{sa as component};
diff --git a/static/v1/_app/immutable/nodes/2.BfkQ0hAF.js.br b/static/v1/_app/immutable/nodes/2.BfkQ0hAF.js.br
new file mode 100644
index 000000000..3cc73e8b9
Binary files /dev/null and b/static/v1/_app/immutable/nodes/2.BfkQ0hAF.js.br differ
diff --git a/static/v1/_app/immutable/nodes/2.BfkQ0hAF.js.gz b/static/v1/_app/immutable/nodes/2.BfkQ0hAF.js.gz
new file mode 100644
index 000000000..3ba161358
Binary files /dev/null and b/static/v1/_app/immutable/nodes/2.BfkQ0hAF.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/2.DWHAwZAi.js b/static/v1/_app/immutable/nodes/2.DWHAwZAi.js
deleted file mode 100644
index 6a97d6d5c..000000000
--- a/static/v1/_app/immutable/nodes/2.DWHAwZAi.js
+++ /dev/null
@@ -1 +0,0 @@
-import{t as d,a as s,b as k}from"../chunks/disclose-version.DZhRUPAc.js";import{p as A,o as D,a as F,j as G,$ as H,a0 as I,g as J,a1 as i,a2 as l,_ as K,a3 as y,a4 as m,a5 as B}from"../chunks/index-client.CGppiJvc.js";import{h as O,s as c}from"../chunks/render.D4MwAWTL.js";import{i as P}from"../chunks/if.DUA6Hpfn.js";import{B as v}from"../chunks/Button.BH2_dPry.js";import{L as Q}from"../chunks/LangSelector.mSh8cV6Q.js";import{A as R}from"../chunks/AppVersion.DL5DXmu_.js";import{M as S,C as U}from"../chunks/ContentCenter.CsjyBf2d.js";import"../chunks/is_dev.svelte.sP_MjoCE.js";import{u as V}from"../chunks/i18n.svelte.BTGsPiz_.js";var W=k('<div class="btn svelte-1um1rdi"><!> <!> <!></div>'),X=k('<!> <!> <div class="version svelte-1um1rdi"><!></div>',1);function Y(L,j){A(j,!0);const o="9rem";let r=V(),u=K(!1);D(()=>{window.document.getElementsByName("rauthy-data")[0].id,G(u,!0)});function C(){window.location.href="/auth/v1/admin"}function E(){window.location.href="/auth/v1/account"}function M(){window.location.href="/auth/v1/users/register"}O(f=>{H.title="Rauthy"}),S(L,{children:(f,T)=>{var h=X(),$=I(h);U($,{children:(_,Z)=>{var e=W(),g=y(e);{var q=a=>{v(a,{width:o,$$events:{click:M},children:(n,t)=>{m();var b=d();l(()=>c(b,r.index.register)),s(n,b)},$$slots:{default:!0}})};P(g,a=>{J(u)&&a(q)})}var x=i(g,2);v(x,{width:o,$$events:{click:E},children:(a,n)=>{m();var t=d();l(()=>c(t,r.index.accountLogin)),s(a,t)},$$slots:{default:!0}});var z=i(x,2);v(z,{width:o,$$events:{click:C},children:(a,n)=>{m();var t=d();l(()=>c(t,r.index.adminLogin)),s(a,t)},$$slots:{default:!0}}),B(e),s(_,e)},$$slots:{default:!0}});var p=i($,2);Q(p,{absolute:!0});var w=i(p,2),N=y(w);R(N,{}),B(w),s(f,h)},$$slots:{default:!0}}),F()}export{Y as component};
diff --git a/static/v1/_app/immutable/nodes/2.DWHAwZAi.js.br b/static/v1/_app/immutable/nodes/2.DWHAwZAi.js.br
deleted file mode 100644
index 369f6a6b3..000000000
Binary files a/static/v1/_app/immutable/nodes/2.DWHAwZAi.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/2.DWHAwZAi.js.gz b/static/v1/_app/immutable/nodes/2.DWHAwZAi.js.gz
deleted file mode 100644
index 762f43fef..000000000
Binary files a/static/v1/_app/immutable/nodes/2.DWHAwZAi.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/20.0qOBqwlU.js b/static/v1/_app/immutable/nodes/20.0qOBqwlU.js
deleted file mode 100644
index 0b67872d3..000000000
--- a/static/v1/_app/immutable/nodes/20.0qOBqwlU.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{E as r}from"../chunks/Error.CsY9Wg-p.js";function t(o){r(o,{})}export{t as component};
diff --git a/static/v1/_app/immutable/nodes/20.0qOBqwlU.js.br b/static/v1/_app/immutable/nodes/20.0qOBqwlU.js.br
deleted file mode 100644
index 4ff169b7b..000000000
Binary files a/static/v1/_app/immutable/nodes/20.0qOBqwlU.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/20.0qOBqwlU.js.gz b/static/v1/_app/immutable/nodes/20.0qOBqwlU.js.gz
deleted file mode 100644
index a15946c4a..000000000
Binary files a/static/v1/_app/immutable/nodes/20.0qOBqwlU.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/20.BtPwCTG5.js b/static/v1/_app/immutable/nodes/20.BtPwCTG5.js
new file mode 100644
index 000000000..fc14b29dd
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/20.BtPwCTG5.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{E as r}from"../chunks/Error.DXjVprxK.js";function t(o){r(o,{})}export{t as component};
diff --git a/static/v1/_app/immutable/nodes/20.BtPwCTG5.js.br b/static/v1/_app/immutable/nodes/20.BtPwCTG5.js.br
new file mode 100644
index 000000000..e264fa31a
Binary files /dev/null and b/static/v1/_app/immutable/nodes/20.BtPwCTG5.js.br differ
diff --git a/static/v1/_app/immutable/nodes/20.BtPwCTG5.js.gz b/static/v1/_app/immutable/nodes/20.BtPwCTG5.js.gz
new file mode 100644
index 000000000..4233d8bfa
Binary files /dev/null and b/static/v1/_app/immutable/nodes/20.BtPwCTG5.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/21.0qOBqwlU.js b/static/v1/_app/immutable/nodes/21.0qOBqwlU.js
deleted file mode 100644
index 0b67872d3..000000000
--- a/static/v1/_app/immutable/nodes/21.0qOBqwlU.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{E as r}from"../chunks/Error.CsY9Wg-p.js";function t(o){r(o,{})}export{t as component};
diff --git a/static/v1/_app/immutable/nodes/21.0qOBqwlU.js.br b/static/v1/_app/immutable/nodes/21.0qOBqwlU.js.br
deleted file mode 100644
index 4ff169b7b..000000000
Binary files a/static/v1/_app/immutable/nodes/21.0qOBqwlU.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/21.0qOBqwlU.js.gz b/static/v1/_app/immutable/nodes/21.0qOBqwlU.js.gz
deleted file mode 100644
index a15946c4a..000000000
Binary files a/static/v1/_app/immutable/nodes/21.0qOBqwlU.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/21.BtPwCTG5.js b/static/v1/_app/immutable/nodes/21.BtPwCTG5.js
new file mode 100644
index 000000000..fc14b29dd
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/21.BtPwCTG5.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{E as r}from"../chunks/Error.DXjVprxK.js";function t(o){r(o,{})}export{t as component};
diff --git a/static/v1/_app/immutable/nodes/21.BtPwCTG5.js.br b/static/v1/_app/immutable/nodes/21.BtPwCTG5.js.br
new file mode 100644
index 000000000..e264fa31a
Binary files /dev/null and b/static/v1/_app/immutable/nodes/21.BtPwCTG5.js.br differ
diff --git a/static/v1/_app/immutable/nodes/21.BtPwCTG5.js.gz b/static/v1/_app/immutable/nodes/21.BtPwCTG5.js.gz
new file mode 100644
index 000000000..4233d8bfa
Binary files /dev/null and b/static/v1/_app/immutable/nodes/21.BtPwCTG5.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/22.0qOBqwlU.js b/static/v1/_app/immutable/nodes/22.0qOBqwlU.js
deleted file mode 100644
index 0b67872d3..000000000
--- a/static/v1/_app/immutable/nodes/22.0qOBqwlU.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{E as r}from"../chunks/Error.CsY9Wg-p.js";function t(o){r(o,{})}export{t as component};
diff --git a/static/v1/_app/immutable/nodes/22.0qOBqwlU.js.br b/static/v1/_app/immutable/nodes/22.0qOBqwlU.js.br
deleted file mode 100644
index 4ff169b7b..000000000
Binary files a/static/v1/_app/immutable/nodes/22.0qOBqwlU.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/22.0qOBqwlU.js.gz b/static/v1/_app/immutable/nodes/22.0qOBqwlU.js.gz
deleted file mode 100644
index a15946c4a..000000000
Binary files a/static/v1/_app/immutable/nodes/22.0qOBqwlU.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/22.BtPwCTG5.js b/static/v1/_app/immutable/nodes/22.BtPwCTG5.js
new file mode 100644
index 000000000..fc14b29dd
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/22.BtPwCTG5.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{E as r}from"../chunks/Error.DXjVprxK.js";function t(o){r(o,{})}export{t as component};
diff --git a/static/v1/_app/immutable/nodes/22.BtPwCTG5.js.br b/static/v1/_app/immutable/nodes/22.BtPwCTG5.js.br
new file mode 100644
index 000000000..e264fa31a
Binary files /dev/null and b/static/v1/_app/immutable/nodes/22.BtPwCTG5.js.br differ
diff --git a/static/v1/_app/immutable/nodes/22.BtPwCTG5.js.gz b/static/v1/_app/immutable/nodes/22.BtPwCTG5.js.gz
new file mode 100644
index 000000000..4233d8bfa
Binary files /dev/null and b/static/v1/_app/immutable/nodes/22.BtPwCTG5.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/23.CKFyfpgm.js b/static/v1/_app/immutable/nodes/23.CKFyfpgm.js
deleted file mode 100644
index c41a3c2d8..000000000
--- a/static/v1/_app/immutable/nodes/23.CKFyfpgm.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as n,b as h,t as y}from"../chunks/disclose-version.DZhRUPAc.js";import{p as le,_ as p,o as ce,a0 as R,a as de,j as c,a1 as r,a3 as i,g as t,a5 as s,a4 as b,a2 as ve}from"../chunks/index-client.CGppiJvc.js";import{s as z}from"../chunks/render.D4MwAWTL.js";import{i as _}from"../chunks/if.DUA6Hpfn.js";import{p as m}from"../chunks/proxy.DB4Km9hY.js";import{g as ue}from"../chunks/helpers.DVmWh-6p.js";import{B as A}from"../chunks/Button.BH2_dPry.js";import{c as fe,a as K,I as Q}from"../chunks/Input.Bj_i2TLU.js";import{l as S,n as ge,m as pe}from"../chunks/dataFetching.Dto1xJW6.js";import{C as V}from"../chunks/CheckIcon.Cjxxxfsf.js";import{M as me,C as $e}from"../chunks/ContentCenter.CsjyBf2d.js";var he=h("<br>-> enable idp registration:<br> <code>chrome://flags/#fedcm-idp-registration</code>",1),be=h('<p><!></p> <p><!> <!> <!></p> <div class="row svelte-wuqbvo"><b>Logged In:</b> <div class="check svelte-wuqbvo"><!></div></div>',1),Ie=h('<div class="flex-col"><h1>FedCM Testing</h1> <div class="row svelte-wuqbvo"><div><b>FedCM supported:</b></div> <div class="check svelte-wuqbvo"><!></div></div> <!> <!></div>'),we=h('<div class="row svelte-wuqbvo"><b>Credential Type:</b> <span> </span></div> <div class="token svelte-wuqbvo"> </div>',1),Ce=h("<!> <!>",1);function ye(W,X){le(X,!0);let E=p(""),I=p(!1),U=p(!1),M=p(""),T=p(""),l=m({clientId:"fedcm",configUrl:"any"}),u=p(m({}));const Y=fe().shape({clientId:K().required("Client ID is required").trim().matches(S,"Must be URL safe"),configUrl:K().nullable().trim().matches(S,"Must be URL safe")});ce(async()=>{if(c(E,`${window.location.origin}/auth/v1/fed_cm/config`),l.clientId=`${window.location.origin}/auth/v1/fed_cm/client_config`,(await ge()).ok?(console.log("FedCM status is: logged-in"),c(U,!0)):console.log("FedCM status is: logged-out"),window.IdentityProvider&&IdentityProvider.register!=null)console.log("FedCM is supported"),c(I,!0);else{console.error("FedCM is not supported");return}});async function Z(){if(!await k())return;let a=l.configUrl||void 0,f=l.clientId;console.log("using credentials get values: configUrl: "+a+" / clientId: "+f);try{let o=await navigator.credentials.get({identity:{mode:"button",providers:[{configURL:a,clientId:f,nonce:ue(48)}]}});console.log(o),c(T,m(o.type)),c(M,m(o.token)),c(U,!0)}catch(o){console.error("FedCM credentials error: "+o)}}function H(){IdentityProvider.register(t(E))}async function k(){try{return await Y.validate(l,{abortEarly:!1}),c(u,m({})),!0}catch(a){return c(u,m(pe(a))),!1}}var x=Ce(),D=R(x);me(D,{children:(a,f)=>{$e(a,{children:(o,q)=>{var $=Ie(),g=r(i($),2),w=r(i(g),2),re=i(w);V(re,{get check(){return t(I)}}),s(w),s(g);var N=r(g,2);{var te=d=>{var C=he();b(4),n(d,C)};_(N,d=>{t(I)||d(te)})}var oe=r(N,2);{var ae=d=>{var C=be(),F=R(C),ie=i(F);A(ie,{level:3,$$events:{click:H},children:(e,P)=>{b();var v=y("Register IdP");n(e,v)},$$slots:{default:!0}}),s(F);var L=r(F,2),j=i(L);Q(j,{autocomplete:"off",placeholder:"Client Id",get value(){return l.clientId},set value(e){l.clientId=e},get error(){return t(u).clientId},set error(e){t(u).clientId=e},$$events:{input:k},children:(e,P)=>{b();var v=y("CLIENT ID");n(e,v)},$$slots:{default:!0}});var B=r(j,2);Q(B,{autocomplete:"off",placeholder:"Config URL",get value(){return l.configUrl},set value(e){l.configUrl=e},get error(){return t(u).configUrl},set error(e){t(u).configUrl=e},$$events:{input:k},children:(e,P)=>{b();var v=y("CONFIG URL");n(e,v)},$$slots:{default:!0}});var se=r(B,2);A(se,{$$events:{click:Z},children:(e,P)=>{b();var v=y("Login");n(e,v)},$$slots:{default:!0}}),s(L);var G=r(L,2),O=r(i(G),2),ne=i(O);V(ne,{get check(){return t(U)}}),s(O),s(G),n(d,C)};_(oe,d=>{t(I)&&d(ae)})}s($),n(o,$)},$$slots:{default:!0}})},$$slots:{default:!0}});var J=r(D,2);{var ee=a=>{var f=we(),o=R(f),q=r(i(o),2),$=i(q,!0);s(q),s(o);var g=r(o,2),w=i(g,!0);s(g),ve(()=>{z($,t(T)),z(w,t(M))}),n(a,f)};_(J,a=>{t(M)&&a(ee)})}n(W,x),de()}export{ye as component};
diff --git a/static/v1/_app/immutable/nodes/23.CKFyfpgm.js.br b/static/v1/_app/immutable/nodes/23.CKFyfpgm.js.br
deleted file mode 100644
index 667b61c3b..000000000
Binary files a/static/v1/_app/immutable/nodes/23.CKFyfpgm.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/23.CKFyfpgm.js.gz b/static/v1/_app/immutable/nodes/23.CKFyfpgm.js.gz
deleted file mode 100644
index cb899639e..000000000
Binary files a/static/v1/_app/immutable/nodes/23.CKFyfpgm.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/23.ZHzdaffT.js b/static/v1/_app/immutable/nodes/23.ZHzdaffT.js
new file mode 100644
index 000000000..862f18fbb
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/23.ZHzdaffT.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import{p as le,P as p,o as ce,Q as R,a as de,j as c,R as r,U as a,g as t,W as s,V as h,T as ve}from"../chunks/index-client.CzqVbBUo.js";import{s as Q}from"../chunks/render.CK5MTJQL.js";import{p as m,i as T}from"../chunks/if.BnegfJmL.js";import{a as n,t as b,b as U}from"../chunks/template.io25wnf1.js";import{g as ue}from"../chunks/helpers.BvaXa0cv.js";import{B as V}from"../chunks/Button.JzTZa4bh.js";import{c as fe,a as W,I as H}from"../chunks/Input.jkTumKYK.js";import{m as J,n as ge,o as pe}from"../chunks/dataFetching.Br47vc1D.js";import{C as K}from"../chunks/CheckIcon.B6v_Qvnl.js";import{M as me,C as $e}from"../chunks/ContentCenter.B2VsFG_i.js";var he=b("<br>-> enable idp registration:<br> <code>chrome://flags/#fedcm-idp-registration</code>",1),be=b('<p><!></p> <p><!> <!> <!></p> <div class="row svelte-wuqbvo"><b>Logged In:</b> <div class="check svelte-wuqbvo"><!></div></div>',1),Ie=b('<div class="flex-col"><h1>FedCM Testing</h1> <div class="row svelte-wuqbvo"><div><b>FedCM supported:</b></div> <div class="check svelte-wuqbvo"><!></div></div> <!> <!></div>'),we=b('<div class="row svelte-wuqbvo"><b>Credential Type:</b> <span> </span></div> <div class="token svelte-wuqbvo"> </div>',1),Ce=b("<!> <!>",1);function Ue(S,X){le(X,!0);let _=p(""),I=p(!1),y=p(!1),M=p(""),E=p(""),l=m({clientId:"fedcm",configUrl:"any"}),u=p(m({}));const Y=fe().shape({clientId:W().required("Client ID is required").trim().matches(J,"Must be URL safe"),configUrl:W().nullable().trim().matches(J,"Must be URL safe")});ce(async()=>{if(c(_,`${window.location.origin}/auth/v1/fed_cm/config`),l.clientId=`${window.location.origin}/auth/v1/fed_cm/client_config`,(await ge()).ok?(console.log("FedCM status is: logged-in"),c(y,!0)):console.log("FedCM status is: logged-out"),window.IdentityProvider&&IdentityProvider.register!=null)console.log("FedCM is supported"),c(I,!0);else{console.error("FedCM is not supported");return}});async function Z(){if(!await k())return;let i=l.configUrl||void 0,f=l.clientId;console.log("using credentials get values: configUrl: "+i+" / clientId: "+f);try{let o=await navigator.credentials.get({identity:{mode:"button",providers:[{configURL:i,clientId:f,nonce:ue(48)}]}});console.log(o),c(E,m(o.type)),c(M,m(o.token)),c(y,!0)}catch(o){console.error("FedCM credentials error: "+o)}}function z(){IdentityProvider.register(t(_))}async function k(){try{return await Y.validate(l,{abortEarly:!1}),c(u,m({})),!0}catch(i){return c(u,m(pe(i))),!1}}var x=Ce(),D=R(x);me(D,{children:(i,f)=>{$e(i,{children:(o,q)=>{var $=Ie(),g=r(a($),2),w=r(a(g),2),re=a(w);K(re,{get check(){return t(I)}}),s(w),s(g);var N=r(g,2);{var te=d=>{var C=he();h(4),n(d,C)};T(N,d=>{t(I)||d(te)})}var oe=r(N,2);{var ie=d=>{var C=be(),F=R(C),ae=a(F);V(ae,{level:3,$$events:{click:z},children:(e,P)=>{h();var v=U("Register IdP");n(e,v)},$$slots:{default:!0}}),s(F);var L=r(F,2),j=a(L);H(j,{autocomplete:"off",placeholder:"Client Id",get value(){return l.clientId},set value(e){l.clientId=e},get error(){return t(u).clientId},set error(e){t(u).clientId=e},$$events:{input:k},children:(e,P)=>{h();var v=U("CLIENT ID");n(e,v)},$$slots:{default:!0}});var B=r(j,2);H(B,{autocomplete:"off",placeholder:"Config URL",get value(){return l.configUrl},set value(e){l.configUrl=e},get error(){return t(u).configUrl},set error(e){t(u).configUrl=e},$$events:{input:k},children:(e,P)=>{h();var v=U("CONFIG URL");n(e,v)},$$slots:{default:!0}});var se=r(B,2);V(se,{$$events:{click:Z},children:(e,P)=>{h();var v=U("Login");n(e,v)},$$slots:{default:!0}}),s(L);var G=r(L,2),O=r(a(G),2),ne=a(O);K(ne,{get check(){return t(y)}}),s(O),s(G),n(d,C)};T(oe,d=>{t(I)&&d(ie)})}s($),n(o,$)},$$slots:{default:!0}})},$$slots:{default:!0}});var A=r(D,2);{var ee=i=>{var f=we(),o=R(f),q=r(a(o),2),$=a(q,!0);s(q),s(o);var g=r(o,2),w=a(g,!0);s(g),ve(()=>{Q($,t(E)),Q(w,t(M))}),n(i,f)};T(A,i=>{t(M)&&i(ee)})}n(S,x),de()}export{Ue as component};
diff --git a/static/v1/_app/immutable/nodes/23.ZHzdaffT.js.br b/static/v1/_app/immutable/nodes/23.ZHzdaffT.js.br
new file mode 100644
index 000000000..040570e27
Binary files /dev/null and b/static/v1/_app/immutable/nodes/23.ZHzdaffT.js.br differ
diff --git a/static/v1/_app/immutable/nodes/23.ZHzdaffT.js.gz b/static/v1/_app/immutable/nodes/23.ZHzdaffT.js.gz
new file mode 100644
index 000000000..a5dab127d
Binary files /dev/null and b/static/v1/_app/immutable/nodes/23.ZHzdaffT.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/24.D6gupSzm.js b/static/v1/_app/immutable/nodes/24.D6gupSzm.js
deleted file mode 100644
index 46c1bad72..000000000
--- a/static/v1/_app/immutable/nodes/24.D6gupSzm.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import{a as l,n as sa,b as g,t as re,c as Be}from"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{a2 as w,p as ia,o as oa,a8 as se,a9 as la,a as na,j as a,g as e,aa as T,$ as ca,a0 as ie,a1 as j,ab as o,a3 as p,a5 as u,a4 as oe,a6 as da,ac as Ce}from"../chunks/index-client.CGppiJvc.js";import{h as va,s as z,e as Ie}from"../chunks/render.D4MwAWTL.js";import{i as _}from"../chunks/if.DUA6Hpfn.js";import{e as ma}from"../chunks/OptionSelect.BCgZksOM.js";import{s as I,t as ua,a as fa}from"../chunks/Loading.FF_EHyHU.js";import{i as ha}from"../chunks/lifecycle.CRex4y9i.js";import{e as pa,g as ga,m as Le,I as wa,J as $a,_ as ja,P as _a,K as ya,M as ba,N as ka,O as xa}from"../chunks/dataFetching.Dto1xJW6.js";import{I as Ma,c as Na,a as Ta,y as za}from"../chunks/Input.Bj_i2TLU.js";import{B as ce}from"../chunks/Button.BH2_dPry.js";import{W as Ea}from"../chunks/WebauthnRequest.CHVZELhw.js";import{P as Ra}from"../chunks/PasswordInput.6uXzPAl-.js";import{L as qa}from"../chunks/LangSelector.mSh8cV6Q.js";import{p as _e}from"../chunks/props.Df_pGDSd.js";import{M as Ba,C as Ca}from"../chunks/ContentCenter.CsjyBf2d.js";import{u as Ia}from"../chunks/i18n.svelte.BTGsPiz_.js";var La=sa('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m2.25 12 8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25"></path></svg>');function Ua(de,W){let d=_e(W,"color",3,"var(--col-text)"),b=_e(W,"opacity",3,.9),D=_e(W,"width",3,24);var y=La();I(y,"stroke-width",2),w(()=>{I(y,"width",D()),I(y,"color",d()),I(y,"opacity",b())}),l(de,y)}var Aa=g('<img alt="No Logo Available">'),Fa=g('<a class="home svelte-1ljcjf3"><!></a>'),Oa=g('<div role="button" tabindex="0" class="forgotten svelte-1ljcjf3"> </div>'),Sa=g("<!> <!>",1),Pa=g('<div class="btn flex-col svelte-1ljcjf3"><!></div>'),Ha=g('<div class="btn flex-col svelte-1ljcjf3"><!></div>'),Ja=g("<!> <!> <!>",1),Wa=g('<div class="flex-inline svelte-1ljcjf3"><img alt="" width="20" height="20"> <span class="providerName svelte-1ljcjf3"> </span></div>'),Da=g('<div class="providers flex-col svelte-1ljcjf3"></div>'),Ka=g('<div class="errMsg errMsgApi svelte-1ljcjf3"> </div>'),Ga=g('<div class="success svelte-1ljcjf3"> </div>'),Qa=g('<a class="reg svelte-1ljcjf3" target="_blank"> </a>'),Va=g('<a class="reg svelte-1ljcjf3" href="/auth/v1/users/register" target="_blank"> </a>'),Xa=g('<div class="btn flex-col svelte-1ljcjf3"><!></div>'),Ya=g('<div class="container svelte-1ljcjf3"><div class="head svelte-1ljcjf3"><div class="logo svelte-1ljcjf3"><!></div> <!></div> <div class="name svelte-1ljcjf3"><h2> </h2></div> <!> <!> <!> <!> <!> <!> <!></div> <!>',1);function Za(de,W){ia(W,!1);let d=Ia(),b=o(),D=o(""),y=o(""),P=o(""),K=o(""),G=o([]),Q=o(),V=o(),X=o(),Y=o(),Z=o(""),ve=o(!1),H=o(),me=o([]),ee=o(),L=o(!1),k=o(""),U=o(!1),A=o(!1),le=o(!1),ne=o(!1),ae=o(!1),F=o(!1),ye="",be=o(!1),s=o({email:"",password:""}),x=o({}),ue=o({});oa(async()=>{const i=window.document.getElementsByName("rauthy-data")[0].id.split(`
-`);a(D,i[0]),a(y,i[1]),a(be,i[2]==="true");const n=window.document.getElementsByName("rauthy-action")[0].id;n==="Refresh"?a(ve,!0):n!=null&&n.startsWith("MfaLogin ")&&a(H,n.replace("MfaLogin ","")),a(Z,window.document.getElementsByName("rauthy-csrf-token")[0].id),pa(e(Z));const v=document.getElementsByTagName("template").namedItem("auth_providers").innerHTML;v&&a(me,JSON.parse(v));const c=ga();a(b,c.client_id),a(P,c.redirect_uri),a(K,c.nonce),a(G,c.scope.split(" ")),a(V,c.state),a(X,c.code_challenge),a(Y,c.code_challenge_method),c.login_hint&&T(s,e(s).email=c.login_hint)});function ke(){a(k,""),a(le,!0),T(s,e(s).password="")}async function fe(){a(k,"");try{await e(ue).validate(e(s),{abortEarly:!1}),a(x,{})}catch(v){a(x,Le(v));return}const i={email:e(s).email,client_id:e(b),redirect_uri:e(P),state:e(V),code_challenge:e(X),code_challenge_method:e(Y),nonce:e(K),scopes:e(G)};if(e(U)&&e(s).email!==e(H)){if(!e(s).password){T(x,e(x).password=d.passwordRequired);return}if(e(s).password.length>256){T(x,e(x).password="max 256");return}i.password=e(s).password}a(L,!0);let n=await wa(i,e(Z));await xe(n)}async function xe(i){if(i.status===202)window.location.replace(i.headers.get("location"));else if(i.status===200)a(k,""),a(ee,await i.json());else if(i.status===406)a(k,d.authorize.clientForceMfa),a(A,!0);else if(i.status===429){let n=Number.parseInt(i.headers.get("x-retry-not-before")),v=$a(n),c=n*1e3-new Date().getTime();a(F,!0),a(k,`${d.authorize.http429} ${v}`),T(s,e(s).email=""),T(s,e(s).password=""),a(U,!1),setTimeout(()=>{a(F,!1),a(k,"")},c)}else e(U)?(a(k,d.authorize.invalidCredentials),a(ne,!0)):(a(U,!0),ye=e(s).email);a(L,!1)}function Ue(){e(U)&&ye!==e(s).email&&(a(U,!1),T(s,e(s).password=""),a(k,""))}function Ae(i){ja(64,(n,{challenge:v,verifier:c})=>{n||(localStorage.setItem(_a,c),Fe(i,v))})}async function Fe(i,n){let v={email:e(s).email||null,client_id:e(b),redirect_uri:e(P),scopes:e(G),state:e(V),nonce:e(K),code_challenge:e(X),code_challenge_method:e(Y),provider_id:i,pkce_challenge:n},c=await ya(v);if(c.ok){const J=await c.text();ba(J),window.location.href=c.headers.get("location")}else{let J=await c.json();a(k,J.message)}}function Oe(){a(ee,void 0)}function Se(i){i&&window.location.replace(i.loc)}async function Pe(){try{await e(ue).validate(e(s),{abortEarly:!1}),a(x,{})}catch(v){a(x,Le(v));return}let i={email:e(s).email};e(y)&&(i.redirect_uri=encodeURI(e(y))),a(L,!0);let n=await xa(i);if(n.ok)a(ae,!0);else{let v=await n.json();a(k,v.message)}a(L,!1)}se(()=>za,()=>{d&&a(ue,Na().shape({email:Ta().required(d.authorize.emailRequired).email(d.authorize.emailBadFormat)}))}),se(()=>(e(ve),e(b),e(P),e(V),e(X),e(Y),e(K),e(G),e(Z)),()=>{var i,n;if(e(ve)&&((i=e(b))==null?void 0:i.length)>0&&((n=e(P))==null?void 0:n.length)>0){a(L,!0);const v={client_id:e(b),redirect_uri:e(P),state:e(V),code_challenge:e(X),code_challenge_method:e(Y),nonce:e(K),scopes:e(G)};da().then(()=>ka(v,e(Z)).then(c=>xe(c)))}}),se(()=>e(H),()=>{e(H)&&T(s,e(s).email=e(H))}),se(()=>e(ae),()=>{e(ae)&&setTimeout(()=>{a(ae,!1),a(le,!1),a(ne,!1)},3e3)}),se(()=>e(Q),()=>{e(Q)&&e(Q).focus()}),la(),ha(),va(i=>{w(()=>ca.title=`Login ${(e(D)||e(b))??""}`)}),Ba(de,{children:(i,n)=>{Ca(i,{children:(v,c)=>{var J=Ya(),he=ie(J),pe=p(he),ge=p(pe),He=p(ge);{var Je=t=>{var r=Aa();w(()=>I(r,"src",`/auth/v1/clients/${e(b)}/logo`)),l(t,r)};_(He,t=>{e(b)&&t(Je)})}u(ge);var We=j(ge,2);{var De=t=>{var r=Fa(),f=p(r);Ua(f,{opacity:.5}),u(r),w(()=>I(r,"href",e(y))),l(t,r)};_(We,t=>{e(y)&&t(De)})}u(pe);var we=j(pe,2),Me=p(we),Ke=p(Me,!0);u(Me),u(we);var Ne=j(we,2);{var Ge=t=>{Ea(t,{t:d,onSuccess:Se,onError:Oe,get data(){return e(ee)},set data(r){a(ee,r)},$$legacy:!0})};_(Ne,t=>{e(ee)&&t(Ge)})}var Te=j(Ne,2);{var Qe=t=>{var r=Ja(),f=ie(r),R=Ce(()=>e(F)||e(A));Ma(f,{type:"email",name:"rauthyEmail",autocomplete:"email",get placeholder(){return d.common.email},get disabled(){return e(R)},get value(){return e(s).email},set value(h){T(s,e(s).email=h)},get error(){return e(x).email},set error(h){T(x,e(x).email=h)},$$events:{enter:fe,input:Ue},children:(h,B)=>{oe();var S=re();w(()=>z(S,d.common.email.toUpperCase())),l(h,S)},$$slots:{default:!0},$$legacy:!0});var O=j(f,2);{var M=h=>{var B=Sa(),S=ie(B),$e=Ce(()=>e(F)||e(A));Ra(S,{name:"rauthyPassword",get error(){return e(x).password},autocomplete:"current-password",get placeholder(){return d.common.password},get disabled(){return e($e)},get bindThis(){return e(Q)},set bindThis(m){a(Q,m)},get value(){return e(s).password},set value(m){T(s,e(s).password=m)},$$events:{enter:fe},children:(m,N)=>{oe();var E=re();w(()=>z(E,d.common.password.toUpperCase())),l(m,E)},$$slots:{default:!0},$$legacy:!0});var je=j(S,2);{var C=m=>{var N=Oa(),E=p(N,!0);u(N),w(()=>z(E,d.authorize.passwordForgotten)),ua(7,N,()=>fa),Ie("click",N,ke),Ie("keypress",N,ke),l(m,N)};_(je,m=>{e(ne)&&!e(F)&&m(C)})}l(h,B)};_(O,h=>{e(U)&&e(H)!==e(s).email&&!e(le)&&h(M)})}var $=j(O,2);{var q=h=>{var B=Be(),S=ie(B);{var $e=C=>{var m=Pa(),N=p(m);ce(N,{$$events:{click:Pe},children:(E,ra)=>{oe();var te=re();w(()=>z(te,d.authorize.passwordRequest)),l(E,te)},$$slots:{default:!0}}),u(m),l(C,m)},je=C=>{var m=Ha(),N=p(m);ce(N,{get isLoading(){return e(L)},set isLoading(E){a(L,E)},$$events:{click:fe},children:(E,ra)=>{oe();var te=re();w(()=>z(te,d.authorize.login)),l(E,te)},$$slots:{default:!0},$$legacy:!0}),u(m),l(C,m)};_(S,C=>{e(le)?C($e):C(je,!1)})}l(h,B)};_($,h=>{!e(F)&&!e(A)&&h(q)})}l(t,r)};_(Te,t=>{e(A)||t(Qe)})}var ze=j(Te,2);{var Ve=t=>{var r=Da();ma(r,5,()=>e(me),f=>f.id,(f,R)=>{ce(f,{level:3,$$events:{click:()=>Ae(e(R).id)},children:(O,M)=>{var $=Wa(),q=p($),h=j(q,2),B=p(h,!0);u(h),u($),w(()=>{I(q,"src",`/auth/v1/providers/${e(R).id}/img`),z(B,e(R).name)}),l(O,$)},$$slots:{default:!0}})}),u(r),l(t,r)};_(ze,t=>{e(me)&&t(Ve)})}var Ee=j(ze,2);{var Xe=t=>{var r=Ka(),f=p(r,!0);u(r),w(()=>z(f,e(k))),l(t,r)};_(Ee,t=>{e(k)&&t(Xe)})}var Re=j(Ee,2);{var Ye=t=>{var r=Ga(),f=p(r,!0);u(r),w(()=>z(f,d.authorize.emailSentMsg)),l(t,r)};_(Re,t=>{e(ae)&&t(Ye)})}var qe=j(Re,2);{var Ze=t=>{var r=Be(),f=ie(r);{var R=M=>{var $=Qa(),q=p($,!0);u($),w(()=>{I($,"href",`/auth/v1/users/register?redirect_uri=${e(y)??""}`),z(q,d.authorize.signUp)}),l(M,$)},O=M=>{var $=Va(),q=p($,!0);u($),w(()=>z(q,d.authorize.signUp)),l(M,$)};_(f,M=>{e(y)?M(R):M(O,!1)})}l(t,r)};_(qe,t=>{e(be)&&!e(A)&&!e(ne)&&!e(F)&&t(Ze)})}var ea=j(qe,2);{var aa=t=>{var r=Xa(),f=p(r);ce(f,{$$events:{click:()=>window.location.href="/auth/v1/account"},children:(R,O)=>{oe();var M=re("ACCOUNT");l(R,M)},$$slots:{default:!0}}),u(r),l(t,r)};_(ea,t=>{e(A)&&t(aa)})}u(he);var ta=j(he,2);qa(ta,{absolute:!0}),w(()=>z(Ke,e(D)||e(b))),l(v,J)},$$slots:{default:!0}})},$$slots:{default:!0}}),na()}export{Za as component};
diff --git a/static/v1/_app/immutable/nodes/24.D6gupSzm.js.br b/static/v1/_app/immutable/nodes/24.D6gupSzm.js.br
deleted file mode 100644
index 53d36b7f9..000000000
Binary files a/static/v1/_app/immutable/nodes/24.D6gupSzm.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/24.D6gupSzm.js.gz b/static/v1/_app/immutable/nodes/24.D6gupSzm.js.gz
deleted file mode 100644
index 2ae29cd20..000000000
Binary files a/static/v1/_app/immutable/nodes/24.D6gupSzm.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/24.D8uR4Z9U.js b/static/v1/_app/immutable/nodes/24.D8uR4Z9U.js
new file mode 100644
index 000000000..306639020
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/24.D8uR4Z9U.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{T as $,p as fa,o as pa,ad as P,ae as $a,Q,a as wa,j as a,af as z,g as e,$ as ja,R as n,ag as i,U as g,W as d,V as oe,X as _a,ah as Oe}from"../chunks/index-client.CzqVbBUo.js";import{s as C,e as Pe}from"../chunks/render.CK5MTJQL.js";import{i as _}from"../chunks/if.BnegfJmL.js";import{e as ya}from"../chunks/OptionSelect.jFlepSwk.js";import{a as o,n as ba,t as h,b as ce,c as Ie}from"../chunks/template.io25wnf1.js";import{h as ka}from"../chunks/svelte-head.BSz900xL.js";import{s as N,B as ue,t as xa,b as Ma}from"../chunks/Button.JzTZa4bh.js";import{i as Ta}from"../chunks/lifecycle.BPrHSQsT.js";import{g as za,J as Ca,K as Ua,M as La,p as Ea,N as Ra,T as Va,o as Se,O as Na,P as qa,_ as Ba,Q as Wa,S as Aa,U as Fa,V as De,e as He,W as Ka}from"../chunks/dataFetching.Br47vc1D.js";import{I as Oa,c as Pa,a as Ia,y as Sa}from"../chunks/Input.jkTumKYK.js";import{W as Da}from"../chunks/WebauthnRequest.DHqnsBvK.js";import{P as Ha}from"../chunks/PasswordInput.DOldwDot.js";import{L as Qa}from"../chunks/LangSelector.DQTzLAdQ.js";import{p as ke}from"../chunks/props.C_MHtC74.js";import{M as Xa,C as Ga}from"../chunks/ContentCenter.B2VsFG_i.js";import{u as Ya}from"../chunks/i18n.svelte.C_qSL0ZA.js";import{T as X}from"../chunks/Template.mSBxkRZ-.js";var Za=ba('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="m2.25 12 8.954-8.955c.44-.439 1.152-.439 1.591 0L21.75 12M4.5 9.75v10.125c0 .621.504 1.125 1.125 1.125H9.75v-4.875c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125V21h4.125c.621 0 1.125-.504 1.125-1.125V9.75M8.25 21h8.25"></path></svg>');function Ja(me,G){let c=ke(G,"color",3,"var(--col-text)"),y=ke(G,"opacity",3,.9),I=ke(G,"width",3,24);var w=Za();N(w,"stroke-width",2),$(()=>{N(w,"width",I()),N(w,"color",c()),N(w,"opacity",y())}),o(me,w)}var et=h('<img alt="No Logo Available">'),at=h('<a class="home svelte-1ljcjf3"><!></a>'),tt=h('<div role="button" tabindex="0" class="forgotten svelte-1ljcjf3"> </div>'),rt=h("<!> <!>",1),st=h('<div class="btn flex-col svelte-1ljcjf3"><!></div>'),lt=h('<div class="btn flex-col svelte-1ljcjf3"><!></div>'),it=h("<!> <!> <!>",1),ot=h('<div class="flex-inline svelte-1ljcjf3"><img alt="" width="20" height="20"> <span class="providerName svelte-1ljcjf3"> </span></div>'),ct=h('<div class="providers flex-col svelte-1ljcjf3"></div>'),nt=h('<div class="errMsg errMsgApi svelte-1ljcjf3"> </div>'),vt=h('<div class="success svelte-1ljcjf3"> </div>'),dt=h('<a class="reg svelte-1ljcjf3" target="_blank"> </a>'),ut=h('<a class="reg svelte-1ljcjf3" href="/auth/v1/users/register" target="_blank"> </a>'),mt=h('<div class="btn flex-col svelte-1ljcjf3"><!></div>'),gt=h('<div class="container svelte-1ljcjf3"><div class="head svelte-1ljcjf3"><div class="logo svelte-1ljcjf3"><!></div> <!></div> <div class="name svelte-1ljcjf3"><h2> </h2></div> <!> <!> <!> <!> <!> <!> <!></div> <!>',1),ht=h("<!> <!> <!> <!> <!> <!> <!>",1);function ft(me,G){fa(G,!1);let c=Ya(),y=i(),I=i(""),w=i(""),S=i(""),Y=i(""),Z=i([]),J=i(),ee=i(),ae=i(),te=i(),ge=i(!1),D=i(),ne=i([]),re=i(),q=i(!1),b=i(""),B=i(""),se=i(""),W=i(!1),A=i(!1),ve=i(!1),de=i(!1),le=i(!1),F=i(!1),xe="",he=i(!1),l=i({email:"",password:""}),k=i({}),fe=i({});pa(async()=>{const t=za();a(y,t.client_id),a(S,t.redirect_uri),a(Y,t.nonce),a(Z,t.scope.split(" ")),a(ee,t.state),a(ae,t.code_challenge),a(te,t.code_challenge_method),t.login_hint&&z(l,e(l).email=t.login_hint)});function Me(){a(b,""),a(ve,!0),z(l,e(l).password="")}async function pe(){a(b,"");try{await e(fe).validate(e(l),{abortEarly:!1}),a(k,{})}catch(p){a(k,Se(p));return}const t={email:e(l).email,client_id:e(y),redirect_uri:e(S),state:e(ee),code_challenge:e(ae),code_challenge_method:e(te),nonce:e(Y),scopes:e(Z)};if(e(W)&&e(l).email!==e(D)){if(!e(l).password){z(k,e(k).password=c.passwordRequired);return}if(e(l).password.length>256){z(k,e(k).password="max 256");return}t.password=e(l).password}a(q,!0);let f=await Na(t);await Te(f)}async function Te(t){if(t.status===202)window.location.replace(t.headers.get("location"));else if(t.status===200)a(b,""),a(re,await t.json());else if(t.status===406)a(b,c.authorize.clientForceMfa),a(A,!0);else if(t.status===429){let f=Number.parseInt(t.headers.get("x-retry-not-before")),p=qa(f),x=f*1e3-new Date().getTime();a(F,!0),a(b,`${c.authorize.http429} ${p}`),z(l,e(l).email=""),z(l,e(l).password=""),a(W,!1),setTimeout(()=>{a(F,!1),a(b,"")},x)}else e(W)?(a(b,c.authorize.invalidCredentials),a(de,!0)):(a(W,!0),xe=e(l).email);a(q,!1)}function Qe(){e(W)&&xe!==e(l).email&&(a(W,!1),z(l,e(l).password=""),a(b,""))}function Xe(t){Ba(64,(f,{challenge:p,verifier:x})=>{f||(localStorage.setItem(Wa,x),Ge(t,p))})}async function Ge(t,f){let p={email:e(l).email||null,client_id:e(y),redirect_uri:e(S),scopes:e(Z),state:e(ee),nonce:e(Y),code_challenge:e(ae),code_challenge_method:e(te),provider_id:t,pkce_challenge:f},x=await Aa(p);if(x.ok){const H=await x.text();Fa(H),window.location.href=x.headers.get("location")}else{let H=await x.json();a(b,H.message)}}function Ye(){a(re,void 0)}function Ze(t){t&&window.location.replace(t.loc)}async function Je(){try{await e(fe).validate(e(l),{abortEarly:!1}),a(k,{})}catch(p){a(k,Se(p));return}let t={email:e(l).email};e(w)&&(t.redirect_uri=encodeURI(e(w))),a(q,!0);let f=await Ka(t);if(f.ok)a(le,!0);else{let p=await f.json();a(b,p.message)}a(q,!1)}P(()=>Sa,()=>{c&&a(fe,Pa().shape({email:Ia().required(c.authorize.emailRequired).email(c.authorize.emailBadFormat)}))}),P(()=>e(B),()=>{var t;e(B)&&(e(B)==="Refresh"?a(ge,!0):(t=e(B))!=null&&t.startsWith("MfaLogin ")&&a(D,e(B).replace("MfaLogin ","")))}),P(()=>(e(ge),e(y),e(S),e(ee),e(ae),e(te),e(Y),e(Z),De),()=>{var t,f;if(e(ge)&&((t=e(y))==null?void 0:t.length)>0&&((f=e(S))==null?void 0:f.length)>0){a(q,!0);const p={client_id:e(y),redirect_uri:e(S),state:e(ee),code_challenge:e(ae),code_challenge_method:e(te),nonce:e(Y),scopes:e(Z)};_a().then(()=>De(p).then(x=>Te(x)))}}),P(()=>e(D),()=>{e(D)&&z(l,e(l).email=e(D))}),P(()=>e(le),()=>{e(le)&&setTimeout(()=>{a(le,!1),a(ve,!1),a(de,!1)},3e3)}),P(()=>e(J),()=>{e(J)&&e(J).focus()}),P(()=>(e(se),He),()=>{e(se)&&He(e(se))}),$a(),Ta();var ze=ht();ka(t=>{$(()=>ja.title=`Login ${(e(I)||e(y))??""}`)});var Ce=Q(ze);X(Ce,{id:Ca,get value(){return e(ne)},set value(t){a(ne,t)},$$legacy:!0});var Ue=n(Ce,2);X(Ue,{id:Ua,get value(){return e(I)},set value(t){a(I,t)},$$legacy:!0});var Le=n(Ue,2);X(Le,{id:La,get value(){return e(w)},set value(t){a(w,t)},$$legacy:!0});var Ee=n(Le,2);X(Ee,{id:Ea,get value(){return e(se)},set value(t){a(se,t)},$$legacy:!0});var Re=n(Ee,2);X(Re,{id:Ra,get value(){return e(B)},set value(t){a(B,t)},$$legacy:!0});var Ve=n(Re,2);X(Ve,{id:Va,get value(){return e(he)},set value(t){a(he,t)},$$legacy:!0});var ea=n(Ve,2);Xa(ea,{children:(t,f)=>{Ga(t,{children:(p,x)=>{var H=gt(),$e=Q(H),we=g($e),je=g(we),aa=g(je);{var ta=r=>{var s=et();$(()=>N(s,"src",`/auth/v1/clients/${e(y)}/logo`)),o(r,s)};_(aa,r=>{e(y)&&r(ta)})}d(je);var ra=n(je,2);{var sa=r=>{var s=at(),u=g(s);Ja(u,{opacity:.5}),d(s),$(()=>N(s,"href",e(w))),o(r,s)};_(ra,r=>{e(w)&&r(sa)})}d(we);var _e=n(we,2),Ne=g(_e),la=g(Ne,!0);d(Ne),d(_e);var qe=n(_e,2);{var ia=r=>{Da(r,{t:c,onSuccess:Ze,onError:Ye,get data(){return e(re)},set data(s){a(re,s)},$$legacy:!0})};_(qe,r=>{e(re)&&r(ia)})}var Be=n(qe,2);{var oa=r=>{var s=it(),u=Q(s),L=Oe(()=>e(F)||e(A));Oa(u,{type:"email",name:"rauthyEmail",autocomplete:"email",get placeholder(){return c.common.email},get disabled(){return e(L)},get value(){return e(l).email},set value(m){z(l,e(l).email=m)},get error(){return e(k).email},set error(m){z(k,e(k).email=m)},$$events:{enter:pe,input:Qe},children:(m,R)=>{oe();var O=ce();$(()=>C(O,c.common.email.toUpperCase())),o(m,O)},$$slots:{default:!0},$$legacy:!0});var K=n(u,2);{var M=m=>{var R=rt(),O=Q(R),ye=Oe(()=>e(F)||e(A));Ha(O,{name:"rauthyPassword",get error(){return e(k).password},autocomplete:"current-password",get placeholder(){return c.common.password},get disabled(){return e(ye)},get bindThis(){return e(J)},set bindThis(v){a(J,v)},get value(){return e(l).password},set value(v){z(l,e(l).password=v)},$$events:{enter:pe},children:(v,T)=>{oe();var U=ce();$(()=>C(U,c.common.password.toUpperCase())),o(v,U)},$$slots:{default:!0},$$legacy:!0});var be=n(O,2);{var V=v=>{var T=tt(),U=g(T,!0);d(T),$(()=>C(U,c.authorize.passwordForgotten)),xa(7,T,()=>Ma),Pe("click",T,Me),Pe("keypress",T,Me),o(v,T)};_(be,v=>{e(de)&&!e(F)&&v(V)})}o(m,R)};_(K,m=>{e(W)&&e(D)!==e(l).email&&!e(ve)&&m(M)})}var j=n(K,2);{var E=m=>{var R=Ie(),O=Q(R);{var ye=V=>{var v=st(),T=g(v);ue(T,{$$events:{click:Je},children:(U,ha)=>{oe();var ie=ce();$(()=>C(ie,c.authorize.passwordRequest)),o(U,ie)},$$slots:{default:!0}}),d(v),o(V,v)},be=V=>{var v=lt(),T=g(v);ue(T,{get isLoading(){return e(q)},set isLoading(U){a(q,U)},$$events:{click:pe},children:(U,ha)=>{oe();var ie=ce();$(()=>C(ie,c.authorize.login)),o(U,ie)},$$slots:{default:!0},$$legacy:!0}),d(v),o(V,v)};_(O,V=>{e(ve)?V(ye):V(be,!1)})}o(m,R)};_(j,m=>{!e(F)&&!e(A)&&m(E)})}o(r,s)};_(Be,r=>{e(A)||r(oa)})}var We=n(Be,2);{var ca=r=>{var s=ct();ya(s,5,()=>e(ne),u=>u.id,(u,L)=>{ue(u,{level:3,$$events:{click:()=>Xe(e(L).id)},children:(K,M)=>{var j=ot(),E=g(j),m=n(E,2),R=g(m,!0);d(m),d(j),$(()=>{N(E,"src",`/auth/v1/providers/${e(L).id}/img`),C(R,e(L).name)}),o(K,j)},$$slots:{default:!0}})}),d(s),o(r,s)};_(We,r=>{e(ne)&&r(ca)})}var Ae=n(We,2);{var na=r=>{var s=nt(),u=g(s,!0);d(s),$(()=>C(u,e(b))),o(r,s)};_(Ae,r=>{e(b)&&r(na)})}var Fe=n(Ae,2);{var va=r=>{var s=vt(),u=g(s,!0);d(s),$(()=>C(u,c.authorize.emailSentMsg)),o(r,s)};_(Fe,r=>{e(le)&&r(va)})}var Ke=n(Fe,2);{var da=r=>{var s=Ie(),u=Q(s);{var L=M=>{var j=dt(),E=g(j,!0);d(j),$(()=>{N(j,"href",`/auth/v1/users/register?redirect_uri=${e(w)??""}`),C(E,c.authorize.signUp)}),o(M,j)},K=M=>{var j=ut(),E=g(j,!0);d(j),$(()=>C(E,c.authorize.signUp)),o(M,j)};_(u,M=>{e(w)?M(L):M(K,!1)})}o(r,s)};_(Ke,r=>{e(he)&&!e(A)&&!e(de)&&!e(F)&&r(da)})}var ua=n(Ke,2);{var ma=r=>{var s=mt(),u=g(s);ue(u,{$$events:{click:()=>window.location.href="/auth/v1/account"},children:(L,K)=>{oe();var M=ce("ACCOUNT");o(L,M)},$$slots:{default:!0}}),d(s),o(r,s)};_(ua,r=>{e(A)&&r(ma)})}d($e);var ga=n($e,2);Qa(ga,{absolute:!0}),$(()=>C(la,e(I)||e(y))),o(p,H)},$$slots:{default:!0}})},$$slots:{default:!0}}),o(me,ze),wa()}export{ft as component};
diff --git a/static/v1/_app/immutable/nodes/24.D8uR4Z9U.js.br b/static/v1/_app/immutable/nodes/24.D8uR4Z9U.js.br
new file mode 100644
index 000000000..bf8316a21
Binary files /dev/null and b/static/v1/_app/immutable/nodes/24.D8uR4Z9U.js.br differ
diff --git a/static/v1/_app/immutable/nodes/24.D8uR4Z9U.js.gz b/static/v1/_app/immutable/nodes/24.D8uR4Z9U.js.gz
new file mode 100644
index 000000000..bd7897063
Binary files /dev/null and b/static/v1/_app/immutable/nodes/24.D8uR4Z9U.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/25.DAvXvs2-.js b/static/v1/_app/immutable/nodes/25.DAvXvs2-.js
new file mode 100644
index 000000000..b64b3fe59
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/25.DAvXvs2-.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{p as n,o as r,a as c,$ as p}from"../chunks/index-client.CzqVbBUo.js";import{h as d}from"../chunks/svelte-head.BSz900xL.js";import{i as m}from"../chunks/lifecycle.BPrHSQsT.js";import{g as f,C as _,a as h,b as w,s as l,c as u,d as k,e as g,f as v,R,h as j}from"../chunks/dataFetching.Br47vc1D.js";function y(C,i){n(i,!1),r(async()=>{const a=f(),t=new URLSearchParams;let s=R;a.state&&(a.state==="account"?s=j:a.state.startsWith("device")&&(s=`/auth/v1/${a.state}`)),t.append("grant_type","authorization_code"),t.append("code",a.code),t.append("redirect_uri",s),t.append("client_id",_),t.append("code_verifier",h());let o=await w(t),e=await o.json();l(e.access_token),u(e.id_token),o=await k(e.access_token),e=await o.json(),g(e.csrf_token),v(),window.location.href=s}),m(),d(a=>{p.title="Login"}),c()}export{y as component};
diff --git a/static/v1/_app/immutable/nodes/25.DAvXvs2-.js.br b/static/v1/_app/immutable/nodes/25.DAvXvs2-.js.br
new file mode 100644
index 000000000..97f2a6103
Binary files /dev/null and b/static/v1/_app/immutable/nodes/25.DAvXvs2-.js.br differ
diff --git a/static/v1/_app/immutable/nodes/25.DAvXvs2-.js.gz b/static/v1/_app/immutable/nodes/25.DAvXvs2-.js.gz
new file mode 100644
index 000000000..2d45d4334
Binary files /dev/null and b/static/v1/_app/immutable/nodes/25.DAvXvs2-.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/25.Dh7XjBbD.js b/static/v1/_app/immutable/nodes/25.Dh7XjBbD.js
deleted file mode 100644
index 7e17c001a..000000000
--- a/static/v1/_app/immutable/nodes/25.Dh7XjBbD.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{p as r,o as c,a as p,$ as d}from"../chunks/index-client.CGppiJvc.js";import{h as m}from"../chunks/render.D4MwAWTL.js";import{i as f}from"../chunks/lifecycle.CRex4y9i.js";import{L as _}from"../chunks/Loading.FF_EHyHU.js";import{g as h,C as w,a as l,b as u,s as k,c as g,d as v,e as L,f as R,R as b,h as j}from"../chunks/dataFetching.Dto1xJW6.js";function y(i,n){r(n,!1),c(async()=>{const a=h(),t=new URLSearchParams;let o=b;a.state&&(a.state==="account"?o=j:a.state.startsWith("device")&&(o=`/auth/v1/${a.state}`)),t.append("grant_type","authorization_code"),t.append("code",a.code),t.append("redirect_uri",o),t.append("client_id",w),t.append("code_verifier",l());let s=await u(t),e=await s.json();k(e.access_token),g(e.id_token),s=await v(e.access_token),e=await s.json(),L(e.csrf_token),R(),window.location.href=o}),f(),m(a=>{d.title="Login"}),_(i,{}),p()}export{y as component};
diff --git a/static/v1/_app/immutable/nodes/25.Dh7XjBbD.js.br b/static/v1/_app/immutable/nodes/25.Dh7XjBbD.js.br
deleted file mode 100644
index 0a93feca1..000000000
Binary files a/static/v1/_app/immutable/nodes/25.Dh7XjBbD.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/25.Dh7XjBbD.js.gz b/static/v1/_app/immutable/nodes/25.Dh7XjBbD.js.gz
deleted file mode 100644
index c6615b7a4..000000000
Binary files a/static/v1/_app/immutable/nodes/25.Dh7XjBbD.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/26.BKkAPxeb.js b/static/v1/_app/immutable/nodes/26.BKkAPxeb.js
new file mode 100644
index 000000000..f2c73b754
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/26.BKkAPxeb.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import{p as J,P as w,b as T,o as K,Q as q,a as N,j as l,T as n,$ as Q,g as s,R as r,U as c,W as m,V as x}from"../chunks/index-client.CzqVbBUo.js";import{s as u}from"../chunks/render.CK5MTJQL.js";import{p as v,i as R}from"../chunks/if.BnegfJmL.js";import{a as d,t as B,b as C}from"../chunks/template.io25wnf1.js";import{h as S}from"../chunks/svelte-head.BSz900xL.js";import{g as X,p as Y,e as Z,q as D,r as tt}from"../chunks/dataFetching.Br47vc1D.js";import{B as O}from"../chunks/Button.JzTZa4bh.js";import{u as at}from"../chunks/i18n.svelte.C_qSL0ZA.js";import{M as ot,C as st}from"../chunks/ContentCenter.B2VsFG_i.js";import{L as rt}from"../chunks/LangSelector.DQTzLAdQ.js";import{T as et}from"../chunks/Template.mSBxkRZ-.js";var it=B('<div class="container svelte-1r6sjfz"><h1> </h1> <p> </p> <div class="btn svelte-1r6sjfz"><!> <!></div> <!></div> <!>',1),lt=B("<!> <!>",1);function nt(P,U){J(U,!0);let a=at(),p=w(!1),i=w(""),f=w(v({}));T(()=>{s(i)&&Z(s(i))}),T(()=>{s(f).id_token_hint&&L()}),K(async()=>{const t=X();l(f,v({post_logout_redirect_uri:t.post_logout_redirect_uri,id_token_hint:t.id_token_hint,state:t.state}))});async function b(){window.location.replace("/auth/v1")}async function L(){l(p,!0);let t=await D(s(f));tt();let g=t.headers.get("location");g?window.location.replace(g):await b()}var j=lt();S(t=>{n(()=>Q.title=(a==null?void 0:a.logout.logout)||"Logout")});var y=q(j);et(y,{id:Y,get value(){return s(i)},set value(t){l(i,v(t))}});var V=r(y,2);ot(V,{children:(t,g)=>{st(t,{children:(W,ct)=>{var z=it(),$=q(z),h=c($),A=c(h,!0);m(h);var _=r(h,2),E=c(_,!0);m(_);var k=r(_,2),M=c(k);O(M,{level:2,get isLoading(){return s(p)},set isLoading(o){l(p,v(o))},$$events:{click:L},children:(o,I)=>{x();var e=C();n(()=>u(e,a.logout.logout)),d(o,e)},$$slots:{default:!0}});var F=r(M,2);O(F,{level:4,$$events:{click:b},children:(o,I)=>{x();var e=C();n(()=>u(e,a.common.cancel)),d(o,e)},$$slots:{default:!0}}),m(k);var G=r(k,2);R(G,o=>{}),m($);var H=r($,2);rt(H,{absolute:!0}),n(()=>{u(A,a.logout.logout),u(E,a.logout.confirmMsg)}),d(W,z)},$$slots:{default:!0}})},$$slots:{default:!0}}),d(P,j),N()}export{nt as component};
diff --git a/static/v1/_app/immutable/nodes/26.BKkAPxeb.js.br b/static/v1/_app/immutable/nodes/26.BKkAPxeb.js.br
new file mode 100644
index 000000000..8502f8102
Binary files /dev/null and b/static/v1/_app/immutable/nodes/26.BKkAPxeb.js.br differ
diff --git a/static/v1/_app/immutable/nodes/26.BKkAPxeb.js.gz b/static/v1/_app/immutable/nodes/26.BKkAPxeb.js.gz
new file mode 100644
index 000000000..140a42b92
Binary files /dev/null and b/static/v1/_app/immutable/nodes/26.BKkAPxeb.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/26.BxPoozgR.js b/static/v1/_app/immutable/nodes/26.BxPoozgR.js
deleted file mode 100644
index 8a9b30fe4..000000000
--- a/static/v1/_app/immutable/nodes/26.BxPoozgR.js
+++ /dev/null
@@ -1 +0,0 @@
-import{t as b,a as p,b as F}from"../chunks/disclose-version.DZhRUPAc.js";import{p as G,o as H,a as J,j as h,a2 as n,$ as K,a0 as O,a1 as e,g as P,_ as Q,a3 as l,a5 as c,a4 as j}from"../chunks/index-client.CGppiJvc.js";import{h as R,s as m}from"../chunks/render.D4MwAWTL.js";import{i as S}from"../chunks/if.DUA6Hpfn.js";import{p as T}from"../chunks/proxy.DB4Km9hY.js";import{g as U,e as V,o as z,q as W}from"../chunks/dataFetching.Dto1xJW6.js";import{B}from"../chunks/Button.BH2_dPry.js";import{u as X}from"../chunks/i18n.svelte.BTGsPiz_.js";import{M as Y,C as Z}from"../chunks/ContentCenter.CsjyBf2d.js";import{L as tt}from"../chunks/LangSelector.mSh8cV6Q.js";var at=F('<div class="container svelte-1r6sjfz"><h1> </h1> <p> </p> <div class="btn svelte-1r6sjfz"><!> <!></div> <!></div> <!>',1);function ot(E,N){G(N,!0);let a=X(),w="",i=Q(!1);H(async()=>{const t=U();w=t.post_logout_redirect_uri;const y=t.id_token_hint,u=t.state,k=window.document.getElementsByName("rauthy-csrf-token")[0].id;if(V(k),window.document.getElementsByName("rauthy-action")[0].id==="true"){h(i,!0);let r=await z({id_token_hint:y,post_logout_redirect_uri:w,state:u});await _(r)}});async function $(){window.location.href="/auth/v1"}async function q(){h(i,!0);let t=await z({});await _(t)}async function _(t){W(),t.ok&&t.headers.get("location")?window.location.replace(t.headers.get("location")):await $()}R(t=>{n(()=>K.title=(a==null?void 0:a.logout.logout)||"Logout")}),Y(E,{children:(t,y)=>{Z(t,{children:(u,k)=>{var r=at(),d=O(r),f=l(d),x=l(f,!0);c(f);var g=e(f,2),C=l(g,!0);c(g);var v=e(g,2),L=l(v);B(L,{level:2,get isLoading(){return P(i)},set isLoading(o){h(i,T(o))},$$events:{click:q},children:(o,D)=>{j();var s=b();n(()=>m(s,a.logout.logout)),p(o,s)},$$slots:{default:!0}});var I=e(L,2);B(I,{level:4,$$events:{click:$},children:(o,D)=>{j();var s=b();n(()=>m(s,a.common.cancel)),p(o,s)},$$slots:{default:!0}}),c(v);var M=e(v,2);S(M,o=>{}),c(d);var A=e(d,2);tt(A,{absolute:!0}),n(()=>{m(x,a.logout.logout),m(C,a.logout.confirmMsg)}),p(u,r)},$$slots:{default:!0}})},$$slots:{default:!0}}),J()}export{ot as component};
diff --git a/static/v1/_app/immutable/nodes/26.BxPoozgR.js.br b/static/v1/_app/immutable/nodes/26.BxPoozgR.js.br
deleted file mode 100644
index 875861061..000000000
Binary files a/static/v1/_app/immutable/nodes/26.BxPoozgR.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/26.BxPoozgR.js.gz b/static/v1/_app/immutable/nodes/26.BxPoozgR.js.gz
deleted file mode 100644
index af06d017e..000000000
Binary files a/static/v1/_app/immutable/nodes/26.BxPoozgR.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/27.CLvAzZRs.js b/static/v1/_app/immutable/nodes/27.CLvAzZRs.js
new file mode 100644
index 000000000..9fd20a56e
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/27.CLvAzZRs.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import{p as O,o as P,R as U,Q as m,a as W,j as o,g as c,P as $,n as H,$ as M,U as Y,V as Q,W as z,T as S}from"../chunks/index-client.CzqVbBUo.js";import{s as V}from"../chunks/render.CK5MTJQL.js";import{i as b,p}from"../chunks/if.BnegfJmL.js";import{a as s,t as g,c as R,b as Z}from"../chunks/template.io25wnf1.js";import{h as D}from"../chunks/svelte-head.BSz900xL.js";import{g as I,X as J,Y as K,Z as X}from"../chunks/dataFetching.Br47vc1D.js";import{W as q}from"../chunks/WebauthnRequest.DHqnsBvK.js";import{s as aa}from"../chunks/snippet.B82X2vfx.js";import{L as ea}from"../chunks/LangSelector.DQTzLAdQ.js";import{B as oa}from"../chunks/Button.JzTZa4bh.js";import{u as ta}from"../chunks/i18n.svelte.C_qSL0ZA.js";var sa=g("<div><h2>Cookies disabled</h2> <p>You need to enable Cookies.<br> Without them, a safe login cannot be executed.</p></div>"),ra=g("<noscript></noscript> <!>",1);function ia(j,k){O(k,!0);let x=$(!1),u=$(!1);P(()=>{o(u,p(navigator.cookieEnabled)),o(x,!0)});var t=ra(),n=U(m(t),2);{var y=h=>{var a=R(),C=m(a);{var e=i=>{var l=R(),_=m(l);aa(_,()=>k.children??H),s(i,l)},r=i=>{var l=sa();s(i,l)};b(C,i=>{c(u)?i(e):i(r,!1)})}s(h,a)};b(n,h=>{c(x)&&h(y)})}s(j,t),W()}var na=g('<div class="btn flex-col svelte-1dkpwyo"><!></div>'),ca=g('<div class="error svelte-1dkpwyo"> </div>'),la=g("<!> <!>",1);function va(j,k){O(k,!0);let x=ta(),u=$(!1),t=$(""),n=$(void 0);P(async()=>{const a=I();if(a.error){o(t,`${a.error}: ${a.error_description}`);return}let C={state:a.state,code:a.code,pkce_verifier:J(),xsrf_token:K()},e=await X(C);if(e.status===202)window.location.replace(e.headers.get("location"));else if(e.status===200)o(t,""),o(n,p(await e.json()));else if(e.status===204)window.location.replace("/auth/v1/account");else if(e.status===403){let r=await e.json();console.error(r),o(t,p(r.message))}else if(e.status===406)o(t,p(x.authorize.clientForceMfa)),o(u,!0);else{let r=await e.text();o(t,`HTTP ${e.status}: ${r}`)}});function y(a){o(t,p(a||"ERROR")),o(n,void 0)}function h(a){a&&window.location.replace(a.loc)}D(a=>{M.title="Callback"}),ia(j,{children:(a,C)=>{var e=la(),r=m(e);{var i=v=>{q(v,{onSuccess:h,onError:y,get data(){return c(n)},set data(T){o(n,p(T))}})},l=v=>{var T=R(),A=m(T);{var B=d=>{var f=na(),L=Y(f);oa(L,{$$events:{click:()=>window.location.href="/auth/v1/account"},children:(N,E)=>{Q();var w=Z("ACCOUNT LOGIN");s(N,w)},$$slots:{default:!0}}),z(f),s(d,f)},F=d=>{var f=R(),L=m(f);{var N=E=>{var w=ca(),G=Y(w,!0);z(w),S(()=>V(G,c(t))),s(E,w)};b(L,E=>{c(t)&&E(N)},!0)}s(d,f)};b(A,d=>{c(u)?d(B):d(F,!1)},!0)}s(v,T)};b(r,v=>{c(n)?v(i):v(l,!1)})}var _=U(r,2);ea(_,{absolute:!0}),s(a,e)},$$slots:{default:!0}}),W()}export{va as component};
diff --git a/static/v1/_app/immutable/nodes/27.CLvAzZRs.js.br b/static/v1/_app/immutable/nodes/27.CLvAzZRs.js.br
new file mode 100644
index 000000000..457b9e305
Binary files /dev/null and b/static/v1/_app/immutable/nodes/27.CLvAzZRs.js.br differ
diff --git a/static/v1/_app/immutable/nodes/27.CLvAzZRs.js.gz b/static/v1/_app/immutable/nodes/27.CLvAzZRs.js.gz
new file mode 100644
index 000000000..3e9536eec
Binary files /dev/null and b/static/v1/_app/immutable/nodes/27.CLvAzZRs.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/27.gkewKINJ.js b/static/v1/_app/immutable/nodes/27.gkewKINJ.js
deleted file mode 100644
index 7532e0123..000000000
--- a/static/v1/_app/immutable/nodes/27.gkewKINJ.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as t,b as $,c as _,t as Q}from"../chunks/disclose-version.DZhRUPAc.js";import{p as O,o as z,a1 as A,a0 as m,a as B,j as o,g as c,_ as b,n as S,$ as U,a3 as F,a4 as Y,a5 as G,a2 as q}from"../chunks/index-client.CGppiJvc.js";import{h as D,s as I}from"../chunks/render.D4MwAWTL.js";import{i as k}from"../chunks/if.DUA6Hpfn.js";import{p}from"../chunks/proxy.DB4Km9hY.js";import{g as J,Q as K,S as V,T as X}from"../chunks/dataFetching.Dto1xJW6.js";import{W as Z}from"../chunks/WebauthnRequest.CHVZELhw.js";import{s as aa}from"../chunks/snippet.xhmr1ywJ.js";import{L as ea}from"../chunks/LangSelector.mSh8cV6Q.js";import{B as oa}from"../chunks/Button.BH2_dPry.js";import{u as sa}from"../chunks/i18n.svelte.BTGsPiz_.js";var ta=$("<div><h2>Cookies disabled</h2> <p>You need to enable Cookies.<br> Without them, a safe login cannot be executed.</p></div>"),ra=$("<noscript></noscript> <!>",1);function ia(j,g){O(g,!0);let x=b(!1),u=b(!1);z(()=>{o(u,p(navigator.cookieEnabled)),o(x,!0)});var s=ra(),n=A(m(s),2);{var y=h=>{var a=_(),C=m(a);{var e=i=>{var l=_(),R=m(l);aa(R,()=>g.children??S),t(i,l)},r=i=>{var l=ta();t(i,l)};k(C,i=>{c(u)?i(e):i(r,!1)})}t(h,a)};k(n,h=>{c(x)&&h(y)})}t(j,s),B()}var na=$('<div class="btn flex-col svelte-1dkpwyo"><!></div>'),ca=$('<div class="error svelte-1dkpwyo"> </div>'),la=$("<!> <!>",1);function va(j,g){O(g,!0);let x=sa(),u=b(!1),s=b(""),n=b(void 0);z(async()=>{const a=J();if(a.error){o(s,`${a.error}: ${a.error_description}`);return}let C={state:a.state,code:a.code,pkce_verifier:K(),xsrf_token:V()},e=await X(C);if(e.status===202)window.location.replace(e.headers.get("location"));else if(e.status===200)o(s,""),o(n,p(await e.json()));else if(e.status===204)window.location.replace("/auth/v1/account");else if(e.status===403){let r=await e.json();console.error(r),o(s,p(r.message))}else if(e.status===406)o(s,p(x.authorize.clientForceMfa)),o(u,!0);else{let r=await e.text();o(s,`HTTP ${e.status}: ${r}`)}});function y(a){o(s,p(a||"ERROR")),o(n,void 0)}function h(a){a&&window.location.replace(a.loc)}D(a=>{U.title="Callback"}),ia(j,{children:(a,C)=>{var e=la(),r=m(e);{var i=v=>{Z(v,{onSuccess:h,onError:y,get data(){return c(n)},set data(E){o(n,p(E))}})},l=v=>{var E=_(),H=m(E);{var M=d=>{var f=na(),W=F(f);oa(W,{$$events:{click:()=>window.location.href="/auth/v1/account"},children:(L,T)=>{Y();var w=Q("ACCOUNT LOGIN");t(L,w)},$$slots:{default:!0}}),G(f),t(d,f)},N=d=>{var f=_(),W=m(f);{var L=T=>{var w=ca(),P=F(w,!0);G(w),q(()=>I(P,c(s))),t(T,w)};k(W,T=>{c(s)&&T(L)},!0)}t(d,f)};k(H,d=>{c(u)?d(M):d(N,!1)},!0)}t(v,E)};k(r,v=>{c(n)?v(i):v(l,!1)})}var R=A(r,2);ea(R,{absolute:!0}),t(a,e)},$$slots:{default:!0}}),B()}export{va as component};
diff --git a/static/v1/_app/immutable/nodes/27.gkewKINJ.js.br b/static/v1/_app/immutable/nodes/27.gkewKINJ.js.br
deleted file mode 100644
index 3f68a5493..000000000
Binary files a/static/v1/_app/immutable/nodes/27.gkewKINJ.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/27.gkewKINJ.js.gz b/static/v1/_app/immutable/nodes/27.gkewKINJ.js.gz
deleted file mode 100644
index 4ddfc791b..000000000
Binary files a/static/v1/_app/immutable/nodes/27.gkewKINJ.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/28.9bailE3O.js b/static/v1/_app/immutable/nodes/28.9bailE3O.js
new file mode 100644
index 000000000..6c804ded2
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/28.9bailE3O.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import{p as ie,P as N,o as oe,Q as C,a as me,T as v,$ as le,g as t,j as s,R as m,X as ne,U as y,W as h,V as R}from"../chunks/index-client.CzqVbBUo.js";import{s as l}from"../chunks/render.CK5MTJQL.js";import{p as n,i as I}from"../chunks/if.BnegfJmL.js";import{a as c,t as E,b as _,c as ce}from"../chunks/template.io25wnf1.js";import{h as ve}from"../chunks/svelte-head.BSz900xL.js";import{r as ue}from"../chunks/legacy-client.DPLAlLYD.js";import{I as P,c as de,a as Q}from"../chunks/Input.jkTumKYK.js";import{g as ge,t as pe,o as fe,u as $e,v as Ne,w as ye}from"../chunks/dataFetching.Br47vc1D.js";import{B as he}from"../chunks/Button.JzTZa4bh.js";import{L as ke}from"../chunks/LangSelector.DQTzLAdQ.js";import{f as we}from"../chunks/pow.CkxCHWs-.js";import{M as xe,C as Ee}from"../chunks/ContentCenter.B2VsFG_i.js";import{u as Ue}from"../chunks/i18n.svelte.C_qSL0ZA.js";import{T as be}from"../chunks/Template.mSBxkRZ-.js";var Ce=E(" <br> <code> </code>",1),Re=E('<div class="success svelte-1ks9oi1"> <br> </div>'),_e=E('<div class="err svelte-1ks9oi1"> </div>'),qe=E('<div class="container svelte-1ks9oi1"><div class="domainTxt svelte-1ks9oi1"><h1> </h1> <!></div> <!> <!> <!> <!> <!></div> <!>',1),Le=E("<!> <!>",1);function Te(J,S){ie(S,!0);let a=Ue(),p=N(""),k,U=N(!1),g=N(""),q=N(!1),o=n({email:"",givenName:"",familyName:""}),u=N(n({})),W=N(n({}));ue(()=>{a&&s(W,n(de().shape({email:Q().required(a.common.required).email(a.register.emailBadFormat),givenName:Q().required(a.common.required).matches(Ne,a.register.regexName),familyName:Q().matches(ye,a.register.regexName)})))}),oe(()=>{k=ge().redirect_uri});function L(d){d.detail.code==="Enter"&&A()}async function A(){s(q,!1),s(g,"");try{await t(W).validate(o,{abortEarly:!1}),s(u,n({}))}catch(w){s(u,n(fe(w)));return}if(t(p)&&!o.email.endsWith(t(p))){s(g,n(a.register.domainErr));return}s(U,!0),await ne();let d=await we();const T={email:o.email,given_name:o.givenName,family_name:o.familyName.length>0?o.familyName:void 0,pow:d};k&&(T.redirect_uri=k);const b=await $e(T);if(b.ok)s(g,""),s(q,!0),k&&setTimeout(()=>{window.location.replace(k)},3e3);else{const w=await b.json();w.message.includes("UNIQUE constraint")?s(g,"E-Mail is already registered"):s(g,n(w.message))}s(U,!1)}var F=Le();ve(d=>{v(()=>le.title=(a==null?void 0:a.register)||"Register")});var K=C(F);be(K,{id:pe,get value(){return t(p)},set value(d){s(p,n(d))}});var Y=m(K,2);xe(Y,{children:(d,T)=>{Ee(d,{children:(b,w)=>{var V=qe(),M=C(V),j=y(M),B=y(j),z=y(B,!0);h(B);var O=m(B,2);{var Z=e=>{var i=Ce(),r=C(i,!0),f=m(r,2),$=m(f),x=y($);h($),v(()=>{l(r,a.register.domainRestricted),l(f,` ${a.register.domainAllowed??""} `),l(x,`@${t(p)??""}`)}),c(e,i)};I(O,e=>{t(p)&&e(Z)})}h(j);var X=m(j,2);P(X,{type:"email",autocomplete:"email",get placeholder(){return a.common.email},get value(){return o.email},set value(e){o.email=e},get error(){return t(u).email},set error(e){t(u).email=e},$$events:{keypress:L},children:(e,i)=>{R();var r=_();v(()=>l(r,a.common.email.toUpperCase())),c(e,r)},$$slots:{default:!0}});var D=m(X,2);P(D,{autocomplete:"given-name",get placeholder(){return a.account.givenName},get value(){return o.givenName},set value(e){o.givenName=e},get error(){return t(u).givenName},set error(e){t(u).givenName=e},$$events:{keypress:L},children:(e,i)=>{R();var r=_();v(()=>l(r,a.account.givenName.toUpperCase())),c(e,r)},$$slots:{default:!0}});var G=m(D,2);P(G,{autocomplete:"family-name",get placeholder(){return a.account.familyName},get value(){return o.familyName},set value(e){o.familyName=e},get error(){return t(u).familyName},set error(e){t(u).familyName=e},$$events:{keypress:L},children:(e,i)=>{R();var r=_();v(()=>l(r,a.account.familyName.toUpperCase())),c(e,r)},$$slots:{default:!0}});var H=m(G,2);he(H,{get isLoading(){return t(U)},set isLoading(e){s(U,n(e))},$$events:{click:A},children:(e,i)=>{R();var r=_();v(()=>l(r,a.register.register)),c(e,r)},$$slots:{default:!0}});var ee=m(H,2);{var ae=e=>{var i=Re(),r=y(i,!0),f=m(r,2);h(i),v(()=>{l(r,a.register.success),l(f,` ${a.register.emailCheck??""}`)}),c(e,i)},re=e=>{var i=ce(),r=C(i);{var f=$=>{var x=_e(),se=y(x,!0);h(x),v(()=>l(se,t(g))),c($,x)};I(r,$=>{t(g)&&$(f)},!0)}c(e,i)};I(ee,e=>{t(q)?e(ae):e(re,!1)})}h(M);var te=m(M,2);ke(te,{absolute:!0}),v(()=>l(z,a.register.userReg)),c(b,V)},$$slots:{default:!0}})},$$slots:{default:!0}}),c(J,F),me()}export{Te as component};
diff --git a/static/v1/_app/immutable/nodes/28.9bailE3O.js.br b/static/v1/_app/immutable/nodes/28.9bailE3O.js.br
new file mode 100644
index 000000000..7755cb34e
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/28.9bailE3O.js.br
@@ -0,0 +1,8 @@
+@ �M�^���ɺ�f�E����׌�钊�e�.���X�`��;����������e|�q�ݼk�����˔J;o�!�1`A(������EiWRj=��Y�0�*�c�R	�ey�f���qk_��!����b�l��Z��|&ʯ�{���&T�M�,wW�
�Y\���)���M�!p60�{ƬdWp�ى!�C*J_:Q����PTnۿH�kɠ��Re�O_\�ރ��ә��1<��N'K2�s�5h���ӽ����ޗ���@�'�K�K��0�_���/"@����imG���*X�NZCd(�5�@��=�?����즑�	�1��
+���?�ȫ\�^��F���m��d� ��k(ڷ^ A :�X���l����@"�1��yK��UT��+3�_�ZDe��AT�(�z��������̋�՛�CQ9j���4/�N����%/��D\�.Q�o,���gC��Z6�_�K=�Z���Y,�����qq��Hܣ���
+�5�D��t�[Q:�m�^�JY�+�3ʋ߰/l`�+4�"�F��?��l�Tv��:d�����W���8�)�'��t�[Rs���-���W�&p��oc����W�Q����yc!+#����5�}{C��5&�@D´��i�Kx�fp�l:n*�z�6"K~��5����d=��	��ɺ��s�J�g�ã�z��q%�s�$~�M^e�{�r�����!E�H3L=������yP
�M��c���˓�j��t[���Di����P�y;�M.�n��M�|b�5���V���w��
+P
+J�-3�Z�ܛ�cT7�ױ��m%�n�x���A��s��EX4LE�*�hP�<�-��h8�e��߳�^�$Uy��g�]���@b���ϢX/��Z'���<-��]�\�ɑ�I���Fm>+s����{�������R\u6'��C�X��M��"}G�����6A��@]�>���o�d�G�$~�R���Cݣ�|���Ұ�pw�� E¿�bo�9\���]��ۢ�� �������(�c/���%YH��աBO��FiA�̩0�V�H���ߘ�5��s&{�Xleft�����X�h�ΉJ�v���-\��nx�7��ʶ�q����$�2X㿬;<�V����!���,�9W�H��c$e�TY���G����,��f��F�������+�jd,1��	�R?��
+��}`2�0�#�
+`\d"趪��#�������8:����_ρ��25+x���
a9��o�}��D�mV2���v���G�.�Ր�y�J�ڡ=�{��f>�
+UӢ�&�#��u�����xcu�����]��+�5���3�J�I����"t�-"��"���Eγ�R�K���Z��i�.�VS����c�j�H�·�&������_R�G�W~j>�q��Rӏ���=�{D�~�vY��+%XǼ;c����t���"uqE/�M��pq�k5o(_��w�;��g[�eP(�u�e��n9hl׻Z�:{2,��q�ب�I��b`��@�#6�:��Ǥ�fY�9�gT��
\ No newline at end of file
diff --git a/static/v1/_app/immutable/nodes/28.9bailE3O.js.gz b/static/v1/_app/immutable/nodes/28.9bailE3O.js.gz
new file mode 100644
index 000000000..68121de38
Binary files /dev/null and b/static/v1/_app/immutable/nodes/28.9bailE3O.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/28.DMZ7hk2F.js b/static/v1/_app/immutable/nodes/28.DMZ7hk2F.js
deleted file mode 100644
index 5fa69f1af..000000000
--- a/static/v1/_app/immutable/nodes/28.DMZ7hk2F.js
+++ /dev/null
@@ -1 +0,0 @@
-import{t as C,a as v,b as U,c as re}from"../chunks/disclose-version.DZhRUPAc.js";import{p as te,_ as $,o as ie,a as se,j as i,a2 as d,$ as me,a0 as M,a1 as l,g as t,a6 as oe,a3 as N,a5 as y,a4 as _}from"../chunks/index-client.CGppiJvc.js";import{h as le,s as o}from"../chunks/render.D4MwAWTL.js";import{i as T}from"../chunks/if.DUA6Hpfn.js";import{p as n}from"../chunks/proxy.DB4Km9hY.js";import{r as ne}from"../chunks/legacy-client.CgqodnwN.js";import{I as A,c as ce,a as F}from"../chunks/Input.Bj_i2TLU.js";import{g as ve,m as de,u as ue,v as ge,w as fe}from"../chunks/dataFetching.Dto1xJW6.js";import{B as pe}from"../chunks/Button.BH2_dPry.js";import{L as $e}from"../chunks/LangSelector.mSh8cV6Q.js";import{f as Ne}from"../chunks/pow.r0U0E3f9.js";import{M as ye,C as he}from"../chunks/ContentCenter.CsjyBf2d.js";import"../chunks/is_dev.svelte.sP_MjoCE.js";import{u as we}from"../chunks/i18n.svelte.BTGsPiz_.js";var ke=U(" <br> <code> </code>",1),Ee=U('<div class="success svelte-1ks9oi1"> <br> </div>'),xe=U('<div class="err svelte-1ks9oi1"> </div>'),be=U('<div class="container svelte-1ks9oi1"><div class="domainTxt svelte-1ks9oi1"><h1> </h1> <!></div> <!> <!> <!> <!> <!></div> <!>',1);function Ce(P,S){te(S,!0);let a=we(),h=$(void 0),w,x=$(!1),g=$(""),q=$(!1),m=n({email:"",givenName:"",familyName:""}),u=$(n({})),G=$(n({}));ne(()=>{a&&i(G,n(ce().shape({email:F().required(a.common.required).email(a.register.emailBadFormat),givenName:F().required(a.common.required).matches(ge,a.register.regexName),familyName:F().matches(fe,a.register.regexName)})))}),ie(()=>{const c=window.document.getElementsByName("rauthy-data")[0].id;c!=="{{ data }}"&&i(h,n(c)),w=ve().redirect_uri});function B(c){c.detail.code==="Enter"&&Q()}async function Q(){i(q,!1),i(g,"");try{await t(G).validate(m,{abortEarly:!1}),i(u,n({}))}catch(k){i(u,n(de(k)));return}if(t(h)&&!m.email.endsWith(t(h))){i(g,n(a.register.domainErr));return}i(x,!0),await oe();let c=await Ne();const L={email:m.email,given_name:m.givenName,family_name:m.familyName.length>0?m.familyName:void 0,pow:c};w&&(L.redirect_uri=w);const b=await ue(L);if(b.ok)i(g,""),i(q,!0),w&&setTimeout(()=>{window.location.replace(w)},3e3);else{const k=await b.json();k.message.includes("UNIQUE constraint")?i(g,"E-Mail is already registered"):i(g,n(k.message))}i(x,!1)}le(c=>{d(()=>me.title=(a==null?void 0:a.register)||"Register")}),ye(P,{children:(c,L)=>{he(c,{children:(b,k)=>{var z=be(),R=M(z),j=N(R),I=N(j),W=N(I,!0);y(I);var X=l(I,2);{var J=e=>{var s=ke(),r=M(s,!0),f=l(r,2),p=l(f),E=N(p);y(p),d(()=>{o(r,a.register.domainRestricted),o(f,` ${a.register.domainAllowed??""} `),o(E,`@${t(h)??""}`)}),v(e,s)};T(X,e=>{t(h)&&e(J)})}y(j);var D=l(j,2);A(D,{type:"email",autocomplete:"email",get placeholder(){return a.common.email},get value(){return m.email},set value(e){m.email=e},get error(){return t(u).email},set error(e){t(u).email=e},$$events:{keypress:B},children:(e,s)=>{_();var r=C();d(()=>o(r,a.common.email.toUpperCase())),v(e,r)},$$slots:{default:!0}});var H=l(D,2);A(H,{autocomplete:"given-name",get placeholder(){return a.account.givenName},get value(){return m.givenName},set value(e){m.givenName=e},get error(){return t(u).givenName},set error(e){t(u).givenName=e},$$events:{keypress:B},children:(e,s)=>{_();var r=C();d(()=>o(r,a.account.givenName.toUpperCase())),v(e,r)},$$slots:{default:!0}});var K=l(H,2);A(K,{autocomplete:"family-name",get placeholder(){return a.account.familyName},get value(){return m.familyName},set value(e){m.familyName=e},get error(){return t(u).familyName},set error(e){t(u).familyName=e},$$events:{keypress:B},children:(e,s)=>{_();var r=C();d(()=>o(r,a.account.familyName.toUpperCase())),v(e,r)},$$slots:{default:!0}});var O=l(K,2);pe(O,{get isLoading(){return t(x)},set isLoading(e){i(x,n(e))},$$events:{click:Q},children:(e,s)=>{_();var r=C();d(()=>o(r,a.register.register)),v(e,r)},$$slots:{default:!0}});var V=l(O,2);{var Y=e=>{var s=Ee(),r=N(s,!0),f=l(r,2);y(s),d(()=>{o(r,a.register.success),o(f,` ${a.register.emailCheck??""}`)}),v(e,s)},Z=e=>{var s=re(),r=M(s);{var f=p=>{var E=xe(),ae=N(E,!0);y(E),d(()=>o(ae,t(g))),v(p,E)};T(r,p=>{t(g)&&p(f)},!0)}v(e,s)};T(V,e=>{t(q)?e(Y):e(Z,!1)})}y(R);var ee=l(R,2);$e(ee,{absolute:!0}),d(()=>o(W,a.register.userReg)),v(b,z)},$$slots:{default:!0}})},$$slots:{default:!0}}),se()}export{Ce as component};
diff --git a/static/v1/_app/immutable/nodes/28.DMZ7hk2F.js.br b/static/v1/_app/immutable/nodes/28.DMZ7hk2F.js.br
deleted file mode 100644
index b3b624091..000000000
Binary files a/static/v1/_app/immutable/nodes/28.DMZ7hk2F.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/28.DMZ7hk2F.js.gz b/static/v1/_app/immutable/nodes/28.DMZ7hk2F.js.gz
deleted file mode 100644
index e914bc63f..000000000
Binary files a/static/v1/_app/immutable/nodes/28.DMZ7hk2F.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/29.CLtwBEup.js b/static/v1/_app/immutable/nodes/29.CLtwBEup.js
new file mode 100644
index 000000000..9d22b4708
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/29.CLtwBEup.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import{p as I,Q as T,a as J,T as c,$ as K,g as i,j,R as a,P as k,U as t,W as e,V as N}from"../chunks/index-client.CzqVbBUo.js";import{s as r}from"../chunks/render.CK5MTJQL.js";import{a as f,t as y,b as R}from"../chunks/template.io25wnf1.js";import{h as S}from"../chunks/svelte-head.BSz900xL.js";import{p as z}from"../chunks/if.BnegfJmL.js";import{L as X}from"../chunks/LangSelector.DQTzLAdQ.js";import{B as Y}from"../chunks/Button.JzTZa4bh.js";import{M as Z,C as _}from"../chunks/ContentCenter.B2VsFG_i.js";import{u as A}from"../chunks/i18n.svelte.C_qSL0ZA.js";import{T as E}from"../chunks/Template.mSBxkRZ-.js";import{x as O,y as aa}from"../chunks/dataFetching.Br47vc1D.js";var ta=y('<div class="container svelte-1g19pwu"><h1> </h1> <p class="svelte-1g19pwu"> <br> <b> </b> <b> </b></p> <p class="svelte-1g19pwu"> </p> <div class="btn svelte-1g19pwu"><!></div></div> <!>',1),ea=y("<!> <!> <!>",1);function ra(P,Q){I(Q,!0);let s=A(),l=k("old@mail.org"),m=k("new@mail.org");var h=ea();S(o=>{c(()=>K.title=s.emailChange.title||"E-Mail Change Confirm")});var d=T(h);E(d,{id:O,get value(){return i(l)},set value(o){j(l,z(o))}});var $=a(d,2);E($,{id:aa,get value(){return i(m)},set value(o){j(m,z(o))}});var U=a($,2);Z(U,{children:(o,sa)=>{_(o,{children:(V,oa)=>{var C=ta(),n=T(C),v=t(n),W=t(v,!0);e(v);var p=a(v,2),b=t(p),u=a(b,3),q=t(u,!0);e(u);var w=a(u),x=a(w),B=t(x,!0);e(x),e(p);var g=a(p,2),D=t(g,!0);e(g);var L=a(g,2),F=t(L);Y(F,{$$events:{click:()=>window.location.replace("/auth/v1/account")},children:(H,ia)=>{N();var M=R();c(()=>r(M,s.authorize.login)),f(H,M)},$$slots:{default:!0}}),e(L),e(n);var G=a(n,2);X(G,{absolute:!0}),c(()=>{r(W,s.emailChange.title),r(b,`${s.emailChange.textChanged??""}:`),r(q,i(l)),r(w,` ${s.emailChange.to??""} `),r(B,i(m)),r(D,s.emailChange.textLogin)}),f(V,C)},$$slots:{default:!0}})},$$slots:{default:!0}}),f(P,h),J()}export{ra as component};
diff --git a/static/v1/_app/immutable/nodes/29.CLtwBEup.js.br b/static/v1/_app/immutable/nodes/29.CLtwBEup.js.br
new file mode 100644
index 000000000..8f88aba30
Binary files /dev/null and b/static/v1/_app/immutable/nodes/29.CLtwBEup.js.br differ
diff --git a/static/v1/_app/immutable/nodes/29.CLtwBEup.js.gz b/static/v1/_app/immutable/nodes/29.CLtwBEup.js.gz
new file mode 100644
index 000000000..85331bdd8
Binary files /dev/null and b/static/v1/_app/immutable/nodes/29.CLtwBEup.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/29.Cll9oCQC.js b/static/v1/_app/immutable/nodes/29.Cll9oCQC.js
deleted file mode 100644
index c02837097..000000000
--- a/static/v1/_app/immutable/nodes/29.Cll9oCQC.js
+++ /dev/null
@@ -1 +0,0 @@
-import{t as F,a as x,b as G}from"../chunks/disclose-version.DZhRUPAc.js";import{p as H,o as I,a as J,j as y,a2 as v,$ as K,a0 as P,a1 as a,_ as B,a3 as s,a5 as t,a4 as Q,g as E}from"../chunks/index-client.CGppiJvc.js";import{h as R,s as e}from"../chunks/render.D4MwAWTL.js";import{p as M}from"../chunks/proxy.DB4Km9hY.js";import{L as S}from"../chunks/LangSelector.mSh8cV6Q.js";import{B as T}from"../chunks/Button.BH2_dPry.js";import{M as U,C as V}from"../chunks/ContentCenter.CsjyBf2d.js";import{u as W}from"../chunks/i18n.svelte.BTGsPiz_.js";var X=G('<div class="container svelte-1g19pwu"><h1> </h1> <p class="svelte-1g19pwu"> <br> <b> </b> <b> </b></p> <p class="svelte-1g19pwu"> </p> <div class="btn svelte-1g19pwu"><!></div></div> <!>',1);function Y(j,k){H(k,!0);let o=W(),g=B("old@mail.org"),d=B("new@mail.org");I(async()=>{const l=document.getElementsByName("rauthy-data")[0].id,i=[];l.split(",").forEach(r=>i.push(r)),y(g,M(i[0])),y(d,M(i[1]))}),R(l=>{v(()=>K.title=o.emailChange.title||"E-Mail Change Confirm")}),U(j,{children:(l,i)=>{V(l,{children:(r,O)=>{var u=X(),n=P(u),m=s(n),z=s(m,!0);t(m);var p=a(m,2),f=s(p),c=a(f,3),L=s(c,!0);t(c);var $=a(c),C=a($),N=s(C,!0);t(C),t(p);var h=a(p,2),_=s(h,!0);t(h);var b=a(h,2),q=s(b);T(q,{$$events:{click:()=>window.location.replace("/auth/v1/account")},children:(D,Z)=>{Q();var w=F();v(()=>e(w,o.authorize.login)),x(D,w)},$$slots:{default:!0}}),t(b),t(n);var A=a(n,2);S(A,{absolute:!0}),v(()=>{e(z,o.emailChange.title),e(f,`${o.emailChange.textChanged??""}:`),e(L,E(g)),e($,` ${o.emailChange.to??""} `),e(N,E(d)),e(_,o.emailChange.textLogin)}),x(r,u)},$$slots:{default:!0}})},$$slots:{default:!0}}),J()}export{Y as component};
diff --git a/static/v1/_app/immutable/nodes/29.Cll9oCQC.js.br b/static/v1/_app/immutable/nodes/29.Cll9oCQC.js.br
deleted file mode 100644
index 3401e0aee..000000000
Binary files a/static/v1/_app/immutable/nodes/29.Cll9oCQC.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/29.Cll9oCQC.js.gz b/static/v1/_app/immutable/nodes/29.Cll9oCQC.js.gz
deleted file mode 100644
index 448f01e19..000000000
Binary files a/static/v1/_app/immutable/nodes/29.Cll9oCQC.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/3.BgldDfnM.js b/static/v1/_app/immutable/nodes/3.BgldDfnM.js
deleted file mode 100644
index 06686e6fc..000000000
--- a/static/v1/_app/immutable/nodes/3.BgldDfnM.js
+++ /dev/null
@@ -1 +0,0 @@
-import{a as v,b as T,c as fe,t as H,n as bt}from"../chunks/disclose-version.DZhRUPAc.js";import{p as Me,g as e,a3 as t,a5 as a,a1 as o,j as i,a as Te,_ as q,h as je,a0 as ie,n as yt,o as Be,a2 as b,a4 as J,$ as $t}from"../chunks/index-client.CGppiJvc.js";import{d as ja,e as Da,s as l,r as kt,h as _t}from"../chunks/render.D4MwAWTL.js";import{i as C}from"../chunks/if.DUA6Hpfn.js";import{p as d}from"../chunks/proxy.DB4Km9hY.js";import{J as Ae,x as Z,a1 as ma,a2 as xt,_ as It,P as Nt,a3 as Pt,M as Ut,g as Ct,v as Ea,w as qt,a4 as jt,a5 as Dt,a6 as Et,a7 as Ma,y as Ta,a8 as za,m as He,a9 as Ka,t as La,aa as Mt,F as Je,G as Re,ab as Tt,B as Wa,U as zt,ac as Kt,ad as Lt,A as Wt,ae as Bt,O as Rt,af as Vt,ag as St,ah as At,k as Ot,ai as Ft,r as Ba,aj as Ht}from"../chunks/dataFetching.Dto1xJW6.js";import{L as Jt}from"../chunks/Loading.wZ55XKP1.js";import{c as Y,s as ze,t as We,f as Oe,h as Zt,b as Yt}from"../chunks/Loading.FF_EHyHU.js";import{h as Ra,T as Gt,a as Xt,S as Va,b as Qt,D as er,c as ar}from"../chunks/Devices.BuQD3GeY.js";import{p as me,s as tr,a as rr}from"../chunks/props.Df_pGDSd.js";import{c as sr,r as Fe}from"../chunks/legacy-client.CgqodnwN.js";import{e as Sa}from"../chunks/OptionSelect.BCgZksOM.js";import{a as nr,C as na}from"../chunks/CheckIcon.Cjxxxfsf.js";import{B as Pe}from"../chunks/Button.BH2_dPry.js";import{s as or}from"../chunks/snippet.xhmr1ywJ.js";import{b as ir}from"../chunks/this.B23tdsYu.js";import{u as Le}from"../chunks/i18n.svelte.BTGsPiz_.js";import{c as Ze,a as Ue,b as lr,I as Ke}from"../chunks/Input.Bj_i2TLU.js";import{t as vr}from"../chunks/tweened.CQQvc4Vq.js";import{L as Aa}from"../chunks/LangSelector.mSh8cV6Q.js";import{P as cr}from"../chunks/PasswordPolicy.D9rZurKD.js";import{P as ha}from"../chunks/PasswordInput.6uXzPAl-.js";import{W as dr}from"../chunks/WebauthnRequest.CHVZELhw.js";import{M as ur,C as pr}from"../chunks/ContentCenter.CsjyBf2d.js";function mr(R){return function(...p){var r=p[0];r.target===this&&(R==null||R.apply(this,p))}}var hr=R=>R.stopPropagation(),wr=(R,p)=>e(p).close(),fr=(R,p)=>e(p).close(),gr=T('<dialog role="none" class="svelte-l3vtl3"><div role="none" class="svelte-l3vtl3"><div role="button" tabindex="0" class="close svelte-l3vtl3"><!></div> <div class="inner svelte-l3vtl3"><!></div></div></dialog>');function br(R,p){Me(p,!0),sr();let r=me(p,"showModal",15),y=q(void 0);Fe(()=>{e(y)&&r()&&e(y).showModal()});var n=gr(),w=je(()=>mr(()=>e(y).close()));n.__click=function(...x){var W;(W=e(w))==null||W.apply(this,x)};var $=t(n);$.__click=[hr];var h=t($);h.__click=[wr,y],h.__keydown=[fr,y];var j=t(h);nr(j,{color:"var(--col-err)",width:24}),a(h);var z=o(h,2),I=t(z);{var _=x=>{var W=fe(),U=ie(W);or(U,()=>p.children??yt),v(x,W)};C(I,x=>{r()&&x(_)})}a(z),a($),a(n),ir(n,x=>i(y,x),()=>e(y)),Da("close",n,()=>r(!1)),v(R,n),Te()}ja(["click","keydown"]);var yr=T('<div class="link-err value svelte-bckoh9"> </div>'),$r=T('<div class="fed-btn svelte-bckoh9"><!> <!></div>'),kr=(R,p)=>i(p,!e(p)),_r=T('<div class="flex-inline svelte-bckoh9"><img alt="" width="20" height="20"> <span class="provider-name svelte-bckoh9"> </span></div>'),xr=T('<p> </p> <div class="providers svelte-bckoh9"></div>',1),Ir=T('<div role="button" tabindex="0" class="provider-link svelte-bckoh9"> </div> <!>',1),Nr=T('<div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div>'),Pr=T('<div><div><b>WebID:</b></div> <span class="value svelte-bckoh9"><a target="_blank"><!></a></span></div>'),Ur=T('<div class="container svelte-bckoh9"><div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div><div><b> </b></div> <div><div class="value svelte-bckoh9"> </div> <!></div></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div class="row svelte-bckoh9"><div><b> </b></div> <!></div> <div class="row svelte-bckoh9"><div><b> </b></div> <!></div> <div class="row svelte-bckoh9"><div><b> </b></div> <!></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <!> <!></div>');function Oa(R,p){Me(p,!0);let r=me(p,"user",31,()=>d({})),y=me(p,"viewModePhone",3,!1),n=Le(),w=q(!1),$=q(!1),h=q(d([])),j=je(()=>{var V;return(V=r().account_type)==null?void 0:V.startsWith("federated")}),z=je(()=>{var V;return e(j)?`${r().account_type}: ${((V=p.authProvider)==null?void 0:V.name)||""}`:r().account_type}),I=je(()=>y()?"rowPhone":"row"),_=je(()=>y()?"labelPhone":"label");Be(()=>{var te;let V=(te=document==null?void 0:document.getElementsByTagName("template").namedItem("auth_providers"))==null?void 0:te.innerHTML;V&&V!=="{{ auth_providers|safe }}"&&i(h,d(JSON.parse(V)))});function x(V){It(64,(te,{challenge:_e,verifier:xe})=>{te||(localStorage.setItem(Nt,xe),W(V,_e))})}async function W(V,te){let _e={email:r().email,client_id:"rauthy",redirect_uri:window.location.href,provider_id:V,pkce_challenge:te},xe=await Pt(V,_e);if(xe.ok){const Ne=await xe.text();Ut(Ne),window.location.href=xe.headers.get("location")}else{let Ne=await xe.json();console.error(Ne)}}async function U(){let V=await xt(),te=await V.json();V.ok?r(te):i(w,!0)}var S=Ur(),A=t(S),he=t(A),X=t(he),B=t(X);a(X),a(he);var K=o(he,2),re=t(K,!0);a(K),a(A);var ne=o(A,2),se=t(ne),le=t(se),we=t(le);a(le),a(se);var ve=o(se,2),ce=t(ve,!0);a(ve),a(ne);var pe=o(ne,2),D=t(pe),N=t(D),E=t(N);a(N),a(D);var g=o(D,2),k=t(g,!0);a(g),a(pe);var m=o(pe,2),c=t(m),P=t(c),s=t(P);a(P),a(c);var f=o(c,2),u=t(f,!0);a(f),a(m);var L=o(m,2),G=t(L),O=t(G),oe=t(O);a(O),a(G);var de=o(G,2),Ie=t(de),ge=t(Ie,!0);a(Ie);var be=o(Ie,2);{var ye=V=>{var te=$r(),_e=t(te);Pe(_e,{level:3,$$events:{click:U},children:(qe,Ee)=>{J();var Se=H();b(()=>l(Se,n.account.providerUnlink)),v(qe,Se)},$$slots:{default:!0}});var xe=o(_e,2);{var Ne=qe=>{var Ee=yr(),Se=t(Ee,!0);a(Ee),b(()=>l(Se,n.account.providerUnlinkDesc)),v(qe,Ee)};C(xe,qe=>{e(w)&&qe(Ne)})}a(te),v(V,te)},$e=V=>{var te=fe(),_e=ie(te);{var xe=Ne=>{var qe=Ir(),Ee=ie(qe);Ee.__click=[kr,$];var Se=t(Ee,!0);a(Ee);var ht=o(Ee,2);br(ht,{get showModal(){return e($)},set showModal(va){i($,d(va))},children:(va,ls)=>{var Pa=xr(),ca=ie(Pa),wt=t(ca,!0);a(ca);var Ua=o(ca,2);Sa(Ua,21,()=>e(h),da=>da.id,(da,ua)=>{Pe(da,{level:3,$$events:{click:()=>x(e(ua).id)},children:(ft,vs)=>{var pa=_r(),Ca=t(pa),qa=o(Ca,2),gt=t(qa,!0);a(qa),a(pa),b(()=>{ze(Ca,"src",`/auth/v1/providers/${e(ua).id}/img`),l(gt,e(ua).name)}),v(ft,pa)},$$slots:{default:!0}})}),a(Ua),b(()=>l(wt,n.account.providerLinkDesc)),v(va,Pa)},$$slots:{default:!0}}),b(()=>l(Se,n.account.providerLink)),Da("keypress",Ee,()=>i($,!e($))),v(Ne,qe)};C(_e,Ne=>{e(h).length>0&&Ne(xe)},!0)}v(V,te)};C(be,V=>{e(j)?V(ye):V($e,!1)})}a(de),a(L);var M=o(L,2),Q=t(M),ee=t(Q),ue=t(ee);a(ee),a(Q);var F=o(Q,2),ae=t(F,!0);a(F),a(M);var ke=o(M,2),Ce=t(ke),De=t(Ce),Ve=t(De);a(De),a(Ce);var wa=o(Ce,2),Xa=t(wa,!0);a(wa),a(ke);var oa=o(ke,2),Ye=t(oa),fa=t(Ye),Qa=t(fa);a(fa),a(Ye);var et=o(Ye,2),at=je(()=>!!r().webauthn_user_id);na(et,{get check(){return e(at)}}),a(oa);var ia=o(oa,2),Ge=t(ia),ga=t(Ge),tt=t(ga);a(ga),a(Ge);var rt=o(Ge,2);na(rt,{get check(){return r().enabled}}),a(ia);var la=o(ia,2),Xe=t(la),ba=t(Xe),st=t(ba);a(ba),a(Xe);var nt=o(Xe,2);na(nt,{get check(){return r().email_verified}}),a(la);var Qe=o(la,2),ea=t(Qe),ya=t(ea),ot=t(ya);a(ya),a(ea);var $a=o(ea,2),it=t($a,!0);b(()=>l(it,Ae(r().last_login))),a($a),a(Qe);var aa=o(Qe,2),ta=t(aa),ka=t(ta),lt=t(ka);a(ka),a(ta);var _a=o(ta,2),vt=t(_a,!0);b(()=>l(vt,r().password_expires&&Ae(r().password_expires)||n.common.never)),a(_a),a(aa);var ra=o(aa,2),sa=t(ra),xa=t(sa),ct=t(xa);a(xa),a(sa);var Ia=o(sa,2),dt=t(Ia,!0);b(()=>l(dt,Ae(r().created_at))),a(Ia),a(ra);var Na=o(ra,2);{var ut=V=>{var te=Nr(),_e=t(te),xe=t(_e),Ne=t(xe);a(xe),a(_e);var qe=o(_e,2),Ee=t(qe,!0);b(()=>l(Ee,Ae(r().user_expires))),a(qe),a(te),b(()=>{Z(te,Y(e(I)),"svelte-bckoh9"),Z(_e,Y(e(_)),"svelte-bckoh9"),l(Ne,`${n.account.userExpiry??""}:`)}),v(V,te)};C(Na,V=>{r().user_expires&&V(ut)})}var pt=o(Na,2);{var mt=V=>{var te=Pr(),_e=t(te),xe=o(_e,2),Ne=t(xe);b(()=>ze(Ne,"href",ma(r().id)));var qe=t(Ne);Ra(qe,()=>ma(r().id).replace("/auth/","/auth/<wbr/>")),a(Ne),a(xe),a(te),b(()=>{Z(te,Y(e(I)),"svelte-bckoh9"),Z(_e,Y(e(_)),"svelte-bckoh9")}),v(V,te)};C(pt,V=>{p.webIdData&&V(mt)})}a(S),b(()=>{Z(A,Y(e(I)),"svelte-bckoh9"),Z(he,Y(e(_)),"svelte-bckoh9"),l(B,`${n.common.email??""}:`),l(re,r().email),Z(ne,Y(e(I)),"svelte-bckoh9"),Z(se,Y(e(_)),"svelte-bckoh9"),l(we,`${n.account.givenName??""}:`),l(ce,r().given_name),Z(pe,Y(e(I)),"svelte-bckoh9"),Z(D,Y(e(_)),"svelte-bckoh9"),l(E,`${n.account.familyName??""}:`),l(k,r().family_name),Z(m,Y(e(I)),"svelte-bckoh9"),Z(c,Y(e(_)),"svelte-bckoh9"),l(s,`${n.account.user??""} ID:`),l(u,r().id),Z(L,Y(e(I)),"svelte-bckoh9"),Z(G,Y(e(_)),"svelte-bckoh9"),l(oe,`${n.account.accType??""}:`),l(ge,e(z)||""),Z(M,Y(e(I)),"svelte-bckoh9"),Z(Q,Y(e(_)),"svelte-bckoh9"),l(ue,`${n.account.roles??""}:`),l(ae,r().roles||"None"),Z(ke,Y(e(I)),"svelte-bckoh9"),Z(Ce,Y(e(_)),"svelte-bckoh9"),l(Ve,`${n.account.groups??""}:`),l(Xa,r().groups||"None"),Z(Ye,Y(e(_)),"svelte-bckoh9"),l(Qa,`${n.account.mfaActivated??""}:`),Z(Ge,Y(e(_)),"svelte-bckoh9"),l(tt,`${n.account.userEnabled??""}:`),Z(Xe,Y(e(_)),"svelte-bckoh9"),l(st,`${n.account.emailVerified??""}:`),Z(Qe,Y(e(I)),"svelte-bckoh9"),Z(ea,Y(e(_)),"svelte-bckoh9"),l(ot,`${n.account.lastLogin??""}:`),Z(aa,Y(e(I)),"svelte-bckoh9"),Z(ta,Y(e(_)),"svelte-bckoh9"),l(lt,`${n.account.passwordExpiry??""}:`),Z(ra,Y(e(I)),"svelte-bckoh9"),Z(sa,Y(e(_)),"svelte-bckoh9"),l(ct,`${n.account.userCreated??""}:`)}),v(R,S),Te()}ja(["click"]);function Fa(R,p){Me(p,!0);let r=me(p,"selected",15),y=me(p,"showWebId",3,!1),n=Le(),w=d(y()?[n.account.navInfo,n.account.navEdit,n.common.password,n.account.navMfa,"WebID",n.account.devices,n.account.navLogout]:[n.account.navInfo,n.account.navEdit,n.common.password,n.account.navMfa,n.account.devices,n.account.navLogout]);Be(()=>{Ct().v==="devices"&&r(n.account.devices)}),Gt(R,{get labels(){return w},get selected(){return r()},set selected($){r($)}}),Te()}var Cr=T("<p> </p>"),qr=T('<div class="success svelte-1xh7x72">Update successful <!></div>'),jr=T('<div class="err svelte-1xh7x72"> </div>'),Dr=T('<div class="wrapper svelte-1xh7x72"><div class="container svelte-1xh7x72"><!> <!> <!> <div> </div> <!> <!> <!> <!> <!> <!> <!> <div class="bottom svelte-1xh7x72"><!></div></div></div>');function Ha(R,p){Me(p,!0);let r=me(p,"user",31,()=>d({})),y=me(p,"viewModePhone",3,!1),n=Le(),w=je(()=>y()?"calc(100vw - 1.5rem)":"300px");const $="8rem";let h=q(!1),j=q(""),z=q(!1),I=q(!1),_=d({email:r().email,givenName:r().given_name,familyName:r().family_name}),x=q(d({}));const W=Ze().shape({email:Ue().required(n.account.validEmail).email(n.account.validEmail),givenName:Ue().required(n.account.validGivenName).matches(Ea,n.account.validGivenName),familyName:Ue().nullable().matches(qt,n.account.validFamilyName)});let U=q(d({}));const S=Ze().shape({birthdate:Ue().nullable().trim().matches(jt,n.common.invalidInput),phone:Ue().nullable().trim().matches(Dt,"+..."),street:Ue().nullable().trim().matches(Et,n.common.invalidInput),zip:lr().nullable().min(1e3).max(999999),city:Ue().nullable().trim().matches(Ma,n.common.invalidInput),country:Ue().nullable().trim().matches(Ma,n.common.invalidInput)});function A(s){s.code==="Enter"&&he()}async function he(){if(!await X()){i(j,d(n.common.invalidInput));return}i(h,!0);const s={email:_.email,given_name:_.givenName,family_name:_.familyName||null,user_values:r().user_values};s.user_values.phone&&(s.user_values.phone=s.user_values.phone.replaceAll(" ","")),s.user_values.zip&&(s.user_values.zip=Number.parseInt(s.user_values.zip));let f=await za(r().id,s);if(f.ok)i(z,!0),r(r().email=_.email,!0),r(r().given_name=_.givenName,!0),r(r().family_name=_.familyName,!0),f.status===202&&i(I,!0);else{let u=await f.json();i(j,d(u.message))}i(h,!1)}async function X(){let s=!0;try{await W.validate(_,{abortEarly:!1}),i(x,d({}))}catch(f){i(x,d(He(f))),s=!1}try{await S.validate(r().user_values,{abortEarly:!1}),i(U,d({}))}catch(f){i(U,d(He(f))),s=!1}return s}var B=Dr(),K=t(B),re=t(K);Ke(re,{autocomplete:"family-name",get placeholder(){return n.common.email},get width(){return e(w)},get value(){return _.email},set value(s){_.email=s},get error(){return e(x).email},set error(s){e(x).email=s},$$events:{input:X},children:(s,f)=>{J();var u=H();b(()=>l(u,n.common.email.toUpperCase())),v(s,u)},$$slots:{default:!0}});var ne=o(re,2);Ke(ne,{autocomplete:"given-name",get placeholder(){return n.account.givenName},get width(){return e(w)},get value(){return _.givenName},set value(s){_.givenName=s},get error(){return e(x).givenName},set error(s){e(x).givenName=s},$$events:{input:X},children:(s,f)=>{J();var u=H();b(()=>l(u,n.account.givenName.toUpperCase())),v(s,u)},$$slots:{default:!0}});var se=o(ne,2);Ke(se,{autocomplete:"family-name",get placeholder(){return n.account.familyName},get width(){return e(w)},get value(){return _.familyName},set value(s){_.familyName=s},get error(){return e(x).familyName},set error(s){e(x).familyName=s},$$events:{input:X},children:(s,f)=>{J();var u=H();b(()=>l(u,n.account.familyName.toUpperCase())),v(s,u)},$$slots:{default:!0}});var le=o(se,2);Ta(le,"margin",".5rem");var we=t(le,!0);a(le);var ve=o(le,2);Ke(ve,{autocomplete:"street-address",get placeholder(){return n.account.street},get width(){return e(w)},get value(){return r().user_values.street},set value(s){r(r().user_values.street=s,!0)},get error(){return e(U).street},set error(s){e(U).street=s},$$events:{keypress:A,input:X},children:(s,f)=>{J();var u=H();b(()=>l(u,n.account.street.toUpperCase())),v(s,u)},$$slots:{default:!0}});var ce=o(ve,2);Ke(ce,{type:"number",autocomplete:"postal-code",get placeholder(){return n.account.zip},min:1e3,max:999999,get width(){return e(w)},get value(){return r().user_values.zip},set value(s){r(r().user_values.zip=s,!0)},get error(){return e(U).zip},set error(s){e(U).zip=s},$$events:{keypress:A,input:X},children:(s,f)=>{J();var u=H();b(()=>l(u,n.account.zip.toUpperCase())),v(s,u)},$$slots:{default:!0}});var pe=o(ce,2);Ke(pe,{autocomplete:"adress-level2",get placeholder(){return n.account.city},get width(){return e(w)},get value(){return r().user_values.city},set value(s){r(r().user_values.city=s,!0)},get error(){return e(U).city},set error(s){e(U).city=s},$$events:{keypress:A,input:X},children:(s,f)=>{J();var u=H();b(()=>l(u,n.account.city.toUpperCase())),v(s,u)},$$slots:{default:!0}});var D=o(pe,2);Ke(D,{autocomplete:"country",get placeholder(){return n.account.country},get width(){return e(w)},get value(){return r().user_values.country},set value(s){r(r().user_values.country=s,!0)},get error(){return e(U).country},set error(s){e(U).country=s},$$events:{keypress:A,input:X},children:(s,f)=>{J();var u=H();b(()=>l(u,n.account.country.toUpperCase())),v(s,u)},$$slots:{default:!0}});var N=o(D,2);Ke(N,{autocomplete:"tel",get placeholder(){return n.account.phone},get width(){return e(w)},get value(){return r().user_values.phone},set value(s){r(r().user_values.phone=s,!0)},get error(){return e(U).phone},set error(s){e(U).phone=s},$$events:{keypress:A,input:X},children:(s,f)=>{J();var u=H();b(()=>l(u,n.account.phone.toUpperCase())),v(s,u)},$$slots:{default:!0}});var E=o(N,2);Ke(E,{type:"date",autocomplete:"bday",get placeholder(){return n.account.birthdate},get width(){return e(w)},get value(){return r().user_values.birthdate},set value(s){r(r().user_values.birthdate=s,!0)},get error(){return e(U).birthdate},set error(s){e(U).birthdate=s},$$events:{keypress:A,input:X},children:(s,f)=>{J();var u=H();b(()=>l(u,n.account.birthdate.toUpperCase())),v(s,u)},$$slots:{default:!0}});var g=o(E,2);Pe(g,{width:$,level:1,get isLoading(){return e(h)},set isLoading(s){i(h,d(s))},$$events:{click:he},children:(s,f)=>{J();var u=H();b(()=>l(u,n.common.save)),v(s,u)},$$slots:{default:!0}});var k=o(g,2),m=t(k);{var c=s=>{var f=qr(),u=o(t(f));{var L=G=>{var O=Cr(),oe=t(O,!0);a(O),b(()=>l(oe,n.account.emailUpdateConfirm)),v(G,O)};C(u,G=>{e(I)&&G(L)})}a(f),We(3,f,()=>Oe),v(s,f)},P=s=>{var f=fe(),u=ie(f);{var L=G=>{var O=jr(),oe=t(O,!0);a(O),b(()=>l(oe,e(j))),We(3,O,()=>Oe),v(G,O)};C(u,G=>{e(j)&&G(L)},!0)}v(s,f)};C(m,s=>{e(z)?s(c):s(P,!1)})}a(k),a(K),a(B),b(()=>l(we,n.account.optionalValues)),v(R,B),Te()}var Er=bt('<svg fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M7.864 4.243A7.5 7.5 0 0119.5 10.5c0 2.92-.556 5.709-1.568 8.268M5.742 6.364A7.465 7.465 0 004.5 10.5a7.464 7.464 0 01-1.15 3.993m1.989 3.559A11.209 11.209 0 008.25 10.5a3.75 3.75 0 117.5 0c0 .527-.021 1.049-.064 1.565M12 10.5a14.94 14.94 0 01-3.6 9.75m6.633-4.596a18.666 18.666 0 01-2.485 5.33"></path></svg>');function Mr(R,p){let r=me(p,"opacity",3,.9),y=me(p,"width",3,24),n=me(p,"color",3,"currentColor");var w=Er();ze(w,"stroke-width",2),b(()=>{ze(w,"stroke",n()),ze(w,"width",y()),ze(w,"opacity",r())}),v(R,w)}var Tr=T('<!> <div class="regBtns svelte-q7vfo0"><!> <!></div>',1),zr=T('<div class="regNewBtn svelte-q7vfo0"><!></div>'),Kr=T('<div class="keysHeader svelte-q7vfo0"> </div>'),Lr=T("<div><!></div>"),Wr=T('<div class="row svelte-q7vfo0"><div></div> <div class="deleteBtn svelte-q7vfo0"><!></div></div>'),Br=T('<div class="keyContainer svelte-q7vfo0"><div class="row svelte-q7vfo0"> <div class="nameUv svelte-q7vfo0"><b> </b> <!></div></div> <div class="row svelte-q7vfo0"> <span class="font-mono"> </span></div> <div class="row svelte-q7vfo0"> <span class="font-mono"> </span></div> <!></div>'),Rr=T('<div class="button svelte-q7vfo0"><!></div>'),Vr=T('<div class="container svelte-q7vfo0"><p class="svelte-q7vfo0"> <br><br> </p> <!> <!> <div class="keysContainer svelte-q7vfo0"></div> <!> <div class="svelte-q7vfo0"> </div></div>');function Ja(R,p){Me(p,!0);let r=me(p,"user",19,()=>({})),y=Le(),n=q(!1),w=q(""),$=q(!1),h=q(r().account_type==="password"),j=q(d([]));Fe(()=>{e(j).length>0&&r().account_type==="passkey"&&i(h,e(j).length>1)});let z=d({passkeyName:""}),I=q(d({}));const _=Ze().shape({passkeyName:Ue().required(y.common.invalidInput).matches(Ea,y.mfa.passkeyNameErr)});Be(()=>{W()});function x(){i(n,!1),i(w,"")}async function W(){let g=await Ka(p.sessionInfo.user_id),k=await g.json();g.ok?i(j,d(k)):console.error("error fetching passkeys: "+k.message)}async function U(){if(x(),!await he())return;const g=z.passkeyName;if(g.length<2){i(n,!0),i(w,d(y.mfa.passkeyNameErr));return}let k=await Mt(r().id,{passkey_name:g});if(k.status===200){let m=await k.json();m.publicKey.challenge=Je(m.publicKey.challenge),m.publicKey.user.id=Je(m.publicKey.user.id),m.publicKey.excludeCredentials=m.publicKey.excludeCredentials,m.publicKey.excludeCredentials&&(m.publicKey.excludeCredentials=m.publicKey.excludeCredentials.map(s=>(s.id=Je(s.id),s)));let c=await navigator.credentials.create(m),P={passkey_name:g,data:{id:c.id,rawId:Re(c.rawId),response:{attestationObject:Re(c.response.attestationObject),clientDataJSON:Re(c.response.clientDataJSON)},type:c.type}};k=await Tt(r().id,P),k.status===201?(i($,!1),z.passkeyName="",await W()):console.error(k)}else i(n,!0),i(w,d(y.mfa.errorReg))}async function S(){x();let g=await Wa(r().id,{purpose:"Test"});if(g.status===200){let k=await g.json(),m=k.rcr;m.publicKey.challenge=Je(m.publicKey.challenge);for(let s of m.publicKey.allowCredentials)s.id=Je(s.id);let c;try{c=await navigator.credentials.get(m)}catch{i(n,!0),i(w,d(y.mfa.invalidKeyUsed));return}let P={code:k.code,data:{id:c.id,rawId:Re(c.rawId),response:{authenticatorData:Re(c.response.authenticatorData),clientDataJSON:Re(c.response.clientDataJSON),signature:Re(c.response.signature)},type:c.type}};g=await zt(r().id,P),g.status===202?(i(w,d(y.mfa.testSuccess)),await W()):console.error(g)}else i(n,!0),i(w,d(y.mfa.testError))}async function A(g){let k=await Kt(r().id,g);if(k.status===200)await W();else{let m=await k.json();i(n,!0),i(w,d(m.message))}}async function he(){try{return await _.validate(z,{abortEarly:!1}),i(I,d({})),!0}catch(g){return i(I,d(He(g))),!1}}var X=Vr(),B=t(X),K=t(B),re=o(K,3);a(B);var ne=o(B,2);{var se=g=>{var k=Tr(),m=ie(k);Ke(m,{autocomplete:"off",get placeholder(){return y.mfa.passkeyName},autofocus:!0,get value(){return z.passkeyName},set value(f){z.passkeyName=f},get error(){return e(I).passkeyName},set error(f){e(I).passkeyName=f},$$events:{input:he,enter:U},children:(f,u)=>{J();var L=H();b(()=>l(L,y.mfa.passkeyName)),v(f,L)},$$slots:{default:!0}});var c=o(m,2),P=t(c);Pe(P,{level:1,$$events:{click:U},children:(f,u)=>{J();var L=H();b(()=>l(L,y.mfa.register)),v(f,L)},$$slots:{default:!0}});var s=o(P,2);Pe(s,{level:4,$$events:{click:()=>i($,!1)},children:(f,u)=>{J();var L=H();b(()=>l(L,y.common.cancel)),v(f,L)},$$slots:{default:!0}}),a(c),v(g,k)},le=g=>{var k=zr(),m=t(k);Pe(m,{level:3,$$events:{click:()=>i($,!0)},children:(c,P)=>{J();var s=H();b(()=>l(s,y.mfa.registerNew)),v(c,s)},$$slots:{default:!0}}),a(k),v(g,k)};C(ne,g=>{e($)?g(se):g(le,!1)})}var we=o(ne,2);{var ve=g=>{var k=Kr(),m=t(k,!0);a(k),b(()=>l(m,y.mfa.registerdKeys)),v(g,k)};C(we,g=>{e(j).length>0&&g(ve)})}var ce=o(we,2);Sa(ce,21,()=>e(j),g=>g.name,(g,k)=>{var m=Br(),c=t(m),P=t(c),s=o(P),f=t(s),u=t(f,!0);a(f);var L=o(f,2);{var G=ee=>{Xt(ee,{get text(){return y.account.userVerifiedTooltip},children:(ue,F)=>{var ae=Lr();Ta(ae,"margin-bottom","-.25rem");var ke=t(ae);Mr(ke,{width:18,color:"var(--col-acnt)"}),a(ae),v(ue,ae)},$$slots:{default:!0}})};C(L,ee=>{e(k).user_verified&&ee(G)})}a(s),a(c);var O=o(c,2),oe=t(O),de=o(oe),Ie=t(de,!0);b(()=>l(Ie,Ae(e(k).registered))),a(de),a(O);var ge=o(O,2),be=t(ge),ye=o(be),$e=t(ye,!0);b(()=>l($e,Ae(e(k).last_used))),a(ye),a(ge);var M=o(ge,2);{var Q=ee=>{var ue=Wr(),F=o(t(ue),2),ae=t(F);Pe(ae,{level:4,$$events:{click:()=>A(e(k).name)},children:(ke,Ce)=>{J();var De=H();b(()=>l(De,y.mfa.delete.toUpperCase())),v(ke,De)},$$slots:{default:!0}}),a(F),a(ue),v(ee,ue)};C(M,ee=>{e(h)&&ee(Q)})}a(m),b(()=>{l(P,`${`${y.mfa.passkeyName}: `??""} `),l(u,e(k).name),l(oe,`${`${y.mfa.registerd}: `??""} `),l(be,`${`${y.mfa.lastUsed}: `??""} `)}),v(g,m)}),a(ce);var pe=o(ce,2);{var D=g=>{var k=Rr(),m=t(k);Pe(m,{level:1,$$events:{click:S},children:(c,P)=>{J();var s=H();b(()=>l(s,y.mfa.test)),v(c,s)},$$slots:{default:!0}}),a(k),v(g,k)};C(pe,g=>{e(j).length>0&&g(D)})}var N=o(pe,2),E=t(N,!0);a(N),a(X),b(()=>{l(K,`${y.mfa.p1??""} `),l(re,` ${y.mfa.p2??""}`),La(N,"msg",!e(n)),La(N,"err",e(n)),l(E,e(w))}),v(R,X),Te()}var Sr=T('<div class="container svelte-dpnwj7"><!> <!> <!> <!> <!> <div class="err svelte-dpnwj7"> </div></div>');function Ar(R,p){Me(p,!0);let r=me(p,"formValues",31,()=>d({})),y=me(p,"btnWidth",3,"4rem"),n=me(p,"hideCurrentPassword",3,!1),w=me(p,"isValid",15),$=Le();w(U);let h=q(!1),j=q(""),z=q(void 0),I=q(d({})),_=je(()=>{var B;return((B=r().new)==null?void 0:B.length)>6&&r().new===r().verify});const x=Ze().shape({current:Ue().required($.account.passwordCurrReq),new:Ue().required($.account.passwordNewReq),verify:Ue().required($.account.passwordNoMatch)}),W=Ze().shape({new:Ue().required($.account.passwordNewReq),verify:Ue().required($.account.passwordNoMatch)});Be(async()=>{let B=await Lt(),K=await B.json();B.ok?i(z,d(K)):i(j,d(K.message))});async function U(){if(i(j,""),n())try{await W.validate(r(),{abortEarly:!1}),i(I,d({}))}catch(B){return i(I,d(He(B))),!1}else try{await x.validate(r(),{abortEarly:!1}),i(I,d({}))}catch(B){return i(I,d(He(B))),!1}return e(h)?r().new.length>256?(i(j,"max 256"),!1):r().new!==r().verify?(i(j,d($.account.passwordNoMatch)),!1):!0:(i(j,d($.account.passwordPolicyFollow)),!1)}function S(){const B=e(z).length_min>20?e(z).length_min:20;let K=Wt(B,e(z).include_lower_case,e(z).include_upper_case,e(z).include_digits,e(z).include_special);r(r().new=K,!0),r(r().verify=K,!0)}var A=fe(),he=ie(A);{var X=B=>{var K=Sr(),re=t(K);cr(re,{t:$,get policy(){return e(z)},get password(){return r().new},get accepted(){return e(h)},set accepted(D){i(h,d(D))}});var ne=o(re,2);{var se=D=>{ha(D,{get error(){return e(I).current},autocomplete:"current-password",get placeholder(){return $.account.passwordCurr},get width(){return p.inputWidth},get value(){return r().current},set value(N){r(r().current=N,!0)},$$events:{input:U},children:(N,E)=>{J();var g=H();b(()=>l(g,$.account.passwordCurr.toUpperCase())),v(N,g)},$$slots:{default:!0}})};C(ne,D=>{n()||D(se)})}var le=o(ne,2);ha(le,{get error(){return e(I).new},autocomplete:"new-password",get placeholder(){return $.account.passwordNew},get showCopy(){return e(_)},get width(){return p.inputWidth},get value(){return r().new},set value(D){r(r().new=D,!0)},$$events:{input:U},children:(D,N)=>{J();var E=H();b(()=>l(E,$.account.passwordNew.toUpperCase())),v(D,E)},$$slots:{default:!0}});var we=o(le,2);ha(we,{get error(){return e(I).verify},autocomplete:"new-password",get placeholder(){return $.account.passwordConfirm},get showCopy(){return e(_)},get width(){return p.inputWidth},get value(){return r().verify},set value(D){r(r().verify=D,!0)},$$events:{input:U},children:(D,N)=>{J();var E=H();b(()=>l(E,$.account.passwordConfirm.toUpperCase())),v(D,E)},$$slots:{default:!0}});var ve=o(we,2);Pe(ve,{level:2,get width(){return y()},$$events:{click:S},children:(D,N)=>{J();var E=H();b(()=>l(E,$.account.generateRandom)),v(D,E)},$$slots:{default:!0}});var ce=o(ve,2),pe=t(ce,!0);a(ce),a(K),b(()=>l(pe,e(j))),v(B,K)};C(he,B=>{e(z)&&B(X)})}return v(R,A),Te({isPwdValid:U})}var Or=T('<div class="m-05 svelte-od1aaa"><p class="svelte-od1aaa"> </p> <p class="svelte-od1aaa"><b> </b></p> <p class="svelte-od1aaa"> </p> <!></div>'),Fr=T('<p class="svelte-od1aaa"> </p> <p class="svelte-od1aaa"> </p> <p class="svelte-od1aaa"> </p> <!>',1),Hr=T("<div><!></div>"),Jr=T('<div class="convertPasskey svelte-od1aaa"><h3> </h3> <p class="svelte-od1aaa"> </p> <!></div>'),Zr=T('<div class="success svelte-od1aaa">Update successful</div>'),Yr=T('<div class="err svelte-od1aaa"> </div>'),Gr=T('<div><!> <div><!></div> <!></div> <!> <div class="bottom svelte-od1aaa"><!></div>',1),Xr=T('<div class="wrapper svelte-od1aaa"><div class="container svelte-od1aaa"><!> <!> <!> <!></div></div>');function Za(R,p){Me(p,!0);let r=me(p,"user",19,()=>({})),y=me(p,"viewModePhone",3,!1),n=Le(),w=je(()=>y()?"calc(100vw - 1.5rem)":"300px");const $="13rem";let h=r().account_type,j=q(d([])),z=q(void 0),I=q(!1),_=q(!1),x=q(""),W=q(!1),U=q(void 0),S=q(d({current:"",new:"",verify:""})),A=je(()=>e(j).filter(c=>c.user_verified).length>0);Be(()=>{he()});async function he(){let c=await Ka(r().id),P=await c.json();c.ok?i(j,d(P)):console.error("error fetching passkeys: "+P.message)}async function X(){let c=await Bt(r().id);if(c.ok)window.location.reload();else{let P=await c.json();console.error("error fetching passkeys: "+P.message)}}async function B(){e(j).length>0?await K():await re()}async function K(){if(!await e(z)()){i(x,d(n.common.invalidInput));return}const c=await Wa(r().id,{purpose:"PasswordNew"});i(U,d(await c.json()))}async function re(c){if(!await e(z)()){i(x,d(n.common.invalidInput));return}i(_,!0);let P={password_new:e(S).new};c?P.mfa_code=c:P.password_current=e(S).current;let s=await za(r().id,P);if(s.ok)i(W,!0),i(S,d({})),window.location.reload();else{let f=await s.json();i(x,d(f.message))}i(_,!1)}function ne(){i(U,void 0),i(x,d(n.mfa.errorReg))}function se(c){c&&(i(U,void 0),re(c.code))}async function le(){let c=await Rt({email:r().email});if(c.ok)i(W,!0);else{let P=await c.json();i(x,d(P.message))}}var we=Xr(),ve=t(we),ce=t(ve);{var pe=c=>{dr(c,{purpose:"PasswordNew",onSuccess:se,onError:ne,get data(){return e(U)},set data(P){i(U,d(P))}})};C(ce,c=>{e(U)&&c(pe)})}var D=o(ce,2);{var N=c=>{var P=Or(),s=t(P),f=t(s,!0);a(s);var u=o(s,2),L=t(u),G=t(L,!0);a(L),a(u);var O=o(u,2),oe=t(O,!0);a(O);var de=o(O,2);{var Ie=be=>{na(be,{check:!0})},ge=be=>{Pe(be,{width:$,level:3,$$events:{click:le},children:(ye,$e)=>{J();var M=H();b(()=>l(M,n.account.passwordReset)),v(ye,M)},$$slots:{default:!0}})};C(de,be=>{e(W)?be(Ie):be(ge,!1)})}a(P),b(()=>{l(f,n.account.federatedConvertPassword1),l(G,p.authProvider.name||"UNKNOWN"),l(oe,n.account.federatedConvertPassword2)}),v(c,P)};C(D,c=>{h==="federated"&&c(N)})}var E=o(D,2);{var g=c=>{var P=Fr(),s=ie(P),f=t(s,!0);a(s);var u=o(s,2),L=t(u,!0);a(u);var G=o(u,2),O=t(G,!0);a(G);var oe=o(G,2);Pe(oe,{width:$,level:3,$$events:{click:()=>i(I,!0)},children:(de,Ie)=>{J();var ge=H();b(()=>l(ge,n.account.convertAccount)),v(de,ge)},$$slots:{default:!0}}),b(()=>{l(f,n.account.accTypePasskeyText1),l(L,n.account.accTypePasskeyText2),l(O,n.account.accTypePasskeyText3)}),v(c,P)};C(E,c=>{(h==="passkey"||h==="federated_passkey")&&!e(I)&&c(g)})}var k=o(E,2);{var m=c=>{var P=Gr(),s=ie(P),f=t(s),u=je(()=>!(h==="password"&&e(j).length<1));Ar(f,{btnWidth:$,get inputWidth(){return e(w)},get hideCurrentPassword(){return e(u)},get formValues(){return e(S)},set formValues(M){i(S,d(M))},get isValid(){return e(z)},set isValid(M){i(z,d(M))}});var L=o(f,2),G=t(L);Pe(G,{width:$,level:1,get isLoading(){return e(_)},set isLoading(M){i(_,d(M))},$$events:{click:B},children:(M,Q)=>{J();var ee=H();b(()=>l(ee,n.common.save)),v(M,ee)},$$slots:{default:!0}}),a(L);var O=o(L,2);{var oe=M=>{var Q=Hr(),ee=t(Q);Pe(ee,{width:$,level:4,$$events:{click:()=>i(I,!1)},children:(ue,F)=>{J();var ae=H();b(()=>l(ae,n.common.cancel)),v(ue,ae)},$$slots:{default:!0}}),a(Q),v(M,Q)};C(O,M=>{e(I)&&!e(_)&&M(oe)})}a(s);var de=o(s,2);{var Ie=M=>{var Q=Jr(),ee=t(Q),ue=t(ee,!0);a(ee);var F=o(ee,2),ae=t(F,!0);a(F);var ke=o(F,2);Pe(ke,{width:$,level:3,$$events:{click:X},children:(Ce,De)=>{J();var Ve=H();b(()=>l(Ve,n.account.convertAccount)),v(Ce,Ve)},$$slots:{default:!0}}),a(Q),b(()=>{l(ue,n.account.convertAccount),l(ae,n.account.convertAccountP1)}),v(M,Q)};C(de,M=>{!e(I)&&e(A)&&M(Ie)})}var ge=o(de,2),be=t(ge);{var ye=M=>{var Q=Zr();We(3,Q,()=>Oe),v(M,Q)},$e=M=>{var Q=fe(),ee=ie(Q);{var ue=F=>{var ae=Yr(),ke=t(ae,!0);a(ae),b(()=>l(ke,e(x))),We(3,ae,()=>Oe),v(F,ae)};C(ee,F=>{e(x)&&F(ue)},!0)}v(M,Q)};C(be,M=>{e(W)?M(ye):M($e,!1)})}a(ge),We(1,s,()=>Zt,()=>({duration:350})),v(c,P)};C(k,c=>{(h==="password"||h==="federated_password"||e(I))&&c(m)})}a(ve),a(we),v(R,we),Te()}var Qr=T('<div><p class="svelte-naxx27"> </p>    <textarea class="font-mono text svelte-naxx27"></textarea></div>'),es=T('<div class="success svelte-naxx27">Update successful</div>'),as=T('<div class="err svelte-naxx27"> </div>'),ts=T('<div class="wrapper svelte-naxx27"><div class="container svelte-naxx27"><p class="svelte-naxx27"> </p> <p class="svelte-naxx27"><a target="_blank"><!></a></p> <div class="row svelte-naxx27"><div class="label svelte-naxx27">E-Mail</div> <!></div> <div class="row svelte-naxx27"><div class="label svelte-naxx27"> </div> <!></div> <!> <!> <div class="bottom svelte-naxx27"><!></div></div></div>');function Ya(R,p){Me(p,!0);let r=me(p,"webIdData",15),y=Le();const n="12rem";let w=q(""),$=q(!1),h=q(!!r().custom_triples),j=ma(r().user_id);Fe(()=>{e($)&&setTimeout(()=>{i($,!1)},3e3)});async function z(){i(w,"");let N=await Vt(r().user_id,r());if(N.ok)i($,!0);else{let E=await N.json();i(w,d(E.message))}}var I=ts(),_=t(I),x=t(_),W=t(x,!0);a(x);var U=o(x,2),S=t(U);ze(S,"href",j);var A=t(S);Ra(A,()=>j.replace("/auth/","/auth/<wbr/>")),a(S),a(U);var he=o(U,2),X=o(t(he),2);Va(X,{get selected(){return r().expose_email},set selected(N){r(r().expose_email=N,!0)}}),a(he);var B=o(he,2),K=t(B),re=t(K,!0);a(K);var ne=o(K,2);Va(ne,{get selected(){return e(h)},set selected(N){i(h,d(N))}}),a(B);var se=o(B,2);{var le=N=>{var E=Qr(),g=t(E),k=t(g,!0);a(g);var m=o(g,2);kt(m),ze(m,"rows",15),ze(m,"cols",40),a(E),b(()=>l(k,y.account.webIdDescData)),Qt(m,()=>r().custom_triples,c=>r(r().custom_triples=c,!0)),We(3,E,()=>Yt),v(N,E)};C(se,N=>{e(h)&&N(le)})}var we=o(se,2);Pe(we,{width:n,level:1,$$events:{click:z},children:(N,E)=>{J();var g=H();b(()=>l(g,y.common.save)),v(N,g)},$$slots:{default:!0}});var ve=o(we,2),ce=t(ve);{var pe=N=>{var E=es();We(3,E,()=>Oe),v(N,E)},D=N=>{var E=fe(),g=ie(E);{var k=m=>{var c=as(),P=t(c,!0);a(c),b(()=>l(P,e(w))),We(3,c,()=>Oe),v(m,c)};C(g,m=>{e(w)&&m(k)},!0)}v(N,E)};C(ce,N=>{e($)?N(pe):N(D,!1)})}a(ve),a(_),a(I),b(()=>{l(W,y.account.webIdDesc),l(re,y.account.webIdExpertMode)}),v(R,I),Te()}var rs=T('<div class="container svelte-1nrg3bb"><!></div>');function Ga(R,p){Me(p,!0);var r=rs(),y=t(r);er(y,{get userId(){return p.sessionInfo.user_id}}),a(r),v(R,r),Te()}var ss=T('<div class="wrapper svelte-47czfz"><!> <div class="headerPhone svelte-47czfz"><h3> </h3></div> <div class="container svelte-47czfz"><!> <div class="innerPhone svelte-47czfz"><div><!></div></div></div></div>'),ns=T('<div class="wrapper svelte-47czfz"><!> <div class="header svelte-47czfz"><h3> </h3></div> <div class="container svelte-47czfz"><!> <div class="inner svelte-47czfz"><div><!></div></div></div></div>');function os(R,p){Me(p,!0);const r=tr(),y=()=>rr(_,"$op",r);let n=me(p,"sessionInfo",7),w=me(p,"user",31,()=>d({})),$=me(p,"webIdData",15),h=Le(),j=q(void 0),z=q(void 0),I=q(void 0),_=vr(1,{duration:100}),x=q(d(h.account.navInfo)),W=q(d(h.account.navInfo));Be(async()=>{i(z,d(await St()))});function U(){_.set(0).then(()=>i(x,d(e(W)))).then(()=>_.set(1))}let S=je(()=>e(j)<500);Fe(()=>{e(W)&&U()}),Fe(()=>{e(W)===h.account.navLogout&&At()}),Fe(()=>{var K;e(z)&&((K=w().account_type)!=null&&K.startsWith("federated"))&&i(I,d(e(z).filter(re=>re.id===w().auth_provider_id)[0]))});var A=fe(),he=ie(A);{var X=K=>{var re=ss(),ne=t(re);Aa(ne,{absolute:!0,absoluteRight:!0,updateBackend:!0});var se=o(ne,2),le=t(se),we=t(le,!0);a(le),a(se);var ve=o(se,2),ce=t(ve);Fa(ce,{get selected(){return e(W)},set selected(k){i(W,d(k))}});var pe=o(ce,2),D=t(pe),N=t(D);{var E=k=>{Oa(k,{get webIdData(){return $()},viewModePhone:!0,get authProvider(){return e(I)},get user(){return w()},set user(m){w(m)}})},g=k=>{var m=fe(),c=ie(m);{var P=f=>{Ha(f,{viewModePhone:!0,get user(){return w()},set user(u){w(u)}})},s=f=>{var u=fe(),L=ie(u);{var G=oe=>{Za(oe,{get user(){return w()},get authProvider(){return e(I)},viewModePhone:!0})},O=oe=>{var de=fe(),Ie=ie(de);{var ge=ye=>{Ja(ye,{get sessionInfo(){return n()},get user(){return w()}})},be=ye=>{var $e=fe(),M=ie($e);{var Q=ue=>{Ya(ue,{get webIdData(){return $()},set webIdData(F){$(F)}})},ee=ue=>{var F=fe(),ae=ie(F);{var ke=Ce=>{Ga(Ce,{get sessionInfo(){return n()},set sessionInfo(De){n(De)}})};C(ae,Ce=>{e(x)===h.account.devices&&Ce(ke)},!0)}v(ue,F)};C(M,ue=>{e(x)==="WebID"?ue(Q):ue(ee,!1)},!0)}v(ye,$e)};C(Ie,ye=>{e(x)===h.account.navMfa?ye(ge):ye(be,!1)},!0)}v(oe,de)};C(L,oe=>{e(x)===h.common.password?oe(G):oe(O,!1)},!0)}v(f,u)};C(c,f=>{e(x)===h.account.navEdit?f(P):f(s,!1)},!0)}v(k,m)};C(N,k=>{e(x)===h.account.navInfo?k(E):k(g,!1)})}a(D),a(pe),a(ve),a(re),b(()=>{l(we,h.account.account),ze(D,"style",`opacity: ${y()??""}`)}),v(K,re)},B=K=>{var re=ns(),ne=t(re);Aa(ne,{absolute:!0,updateBackend:!0});var se=o(ne,2),le=t(se),we=t(le,!0);a(le),a(se);var ve=o(se,2),ce=t(ve),pe=je(()=>!!$());Fa(ce,{get showWebId(){return e(pe)},get selected(){return e(W)},set selected(m){i(W,d(m))}});var D=o(ce,2),N=t(D),E=t(N);{var g=m=>{Oa(m,{get webIdData(){return $()},get authProvider(){return e(I)},get user(){return w()},set user(c){w(c)}})},k=m=>{var c=fe(),P=ie(c);{var s=u=>{Ha(u,{get user(){return w()},set user(L){w(L)}})},f=u=>{var L=fe(),G=ie(L);{var O=de=>{Za(de,{get user(){return w()},get authProvider(){return e(I)}})},oe=de=>{var Ie=fe(),ge=ie(Ie);{var be=$e=>{Ja($e,{get sessionInfo(){return n()},get user(){return w()}})},ye=$e=>{var M=fe(),Q=ie(M);{var ee=F=>{Ya(F,{get webIdData(){return $()},set webIdData(ae){$(ae)}})},ue=F=>{var ae=fe(),ke=ie(ae);{var Ce=De=>{Ga(De,{get sessionInfo(){return n()},set sessionInfo(Ve){n(Ve)}})};C(ke,De=>{e(x)===h.account.devices&&De(Ce)},!0)}v(F,ae)};C(Q,F=>{e(x)==="WebID"?F(ee):F(ue,!1)},!0)}v($e,M)};C(ge,$e=>{e(x)===h.account.navMfa?$e(be):$e(ye,!1)},!0)}v(de,Ie)};C(G,de=>{e(x)===h.common.password?de(O):de(oe,!1)},!0)}v(u,L)};C(P,u=>{e(x)===h.account.navEdit?u(s):u(f,!1)},!0)}v(m,c)};C(E,m=>{e(x)===h.account.navInfo?m(g):m(k,!1)})}a(N),a(D),a(ve),a(re),b(()=>{l(we,h.account.account),ze(N,"style",`opacity: ${y()??""}`)}),v(K,re)};C(he,K=>{e(S)?K(X):K(B,!1)})}ar("innerWidth",K=>i(j,d(K))),v(R,A),Te()}function is(R,p){Me(p,!0);let r=Le(),y=q(void 0),n=q(void 0),w=q(void 0),$=q(!1);Be(async()=>{let h=await Ot();h.ok?(i(y,d(await h.json())),h=await Ft(e(y).user_id),h.ok?i(n,d(await h.json())):Ba("account"),h=await Ht(e(y).user_id),h.ok?i(w,d(await h.json())):h.status===404&&i(w,d({user_id:e(y).user_id,is_open:!1})),i($,!0)):Ba("account")}),_t(h=>{b(()=>{var j;return $t.title=`${((r==null?void 0:r.account.account)||"Account")??""} ${((j=e(n))==null?void 0:j.email)??""}`})}),ur(R,{children:(h,j)=>{pr(h,{children:(z,I)=>{var _=fe(),x=ie(_);{var W=S=>{Jt(S,{})},U=S=>{os(S,{get sessionInfo(){return e(y)},get user(){return e(n)},set user(A){i(n,d(A))},get webIdData(){return e(w)},set webIdData(A){i(w,d(A))}})};C(x,S=>{e($)?S(U,!1):S(W)})}v(z,_)},$$slots:{default:!0}})},$$slots:{default:!0}}),Te()}export{is as component};
diff --git a/static/v1/_app/immutable/nodes/3.BgldDfnM.js.br b/static/v1/_app/immutable/nodes/3.BgldDfnM.js.br
deleted file mode 100644
index f9b4949c7..000000000
Binary files a/static/v1/_app/immutable/nodes/3.BgldDfnM.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/3.BgldDfnM.js.gz b/static/v1/_app/immutable/nodes/3.BgldDfnM.js.gz
deleted file mode 100644
index 60680046b..000000000
Binary files a/static/v1/_app/immutable/nodes/3.BgldDfnM.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/3.CdKQrrNc.js b/static/v1/_app/immutable/nodes/3.CdKQrrNc.js
new file mode 100644
index 000000000..22d38f2ea
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/3.CdKQrrNc.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import{U as t,R as i,W as a,T as w,p as We,P as K,b as oa,j as v,g as e,a as Ae,h as Ie,Q as le,V as re,o as Je,$ as _t}from"../chunks/index-client.CzqVbBUo.js";import{h as xt}from"../chunks/svelte-head.BSz900xL.js";import{a as l,t as W,c as we,n as Aa,b as se}from"../chunks/template.io25wnf1.js";import{i as j,p as m}from"../chunks/if.BnegfJmL.js";import{P as Be,a9 as wa,aa as Nt,_ as It,Q as Ct,ab as Pt,U as Dt,g as jt,v as La,w as qt,ac as Ut,ad as Wt,ae as At,af as za,ag as Ma,o as Fe,ah as Ta,ai as Lt,G as Se,H as Ke,aj as zt,D as Ea,$ as Mt,ak as Tt,al as Et,B as Rt,am as Vt,W as Kt,an as Ot,ao as Bt,J as Ht,a1 as Gt,ap as Jt,a2 as Ra,aq as Ft}from"../chunks/dataFetching.Br47vc1D.js";import{d as Va,e as Ka,s as d,r as St}from"../chunks/render.CK5MTJQL.js";import{t as Me,s as _e,f as Ve,e as Qt,g as ne,B as Pe,h as Yt,a as Xt}from"../chunks/Button.JzTZa4bh.js";import{h as Oa,T as Zt,a as er,S as Ba,b as ar,D as tr,c as rr}from"../chunks/Devices.1_HD5eJJ.js";import{p as V,r as sr,s as nr,a as or}from"../chunks/props.C_MHtC74.js";import{r as ba}from"../chunks/legacy-client.DPLAlLYD.js";import{e as Ha}from"../chunks/OptionSelect.jFlepSwk.js";import{t as He,s as Ge,b as oe}from"../chunks/helpers.BvaXa0cv.js";import{C as ia}from"../chunks/CheckIcon.B6v_Qvnl.js";import{s as Ga}from"../chunks/snippet.B82X2vfx.js";import{b as Ja}from"../chunks/this.CLOcaDU7.js";import{u as Te}from"../chunks/i18n.svelte.C_qSL0ZA.js";import{c as Qe,a as De,b as ir,I as Ee}from"../chunks/Input.jkTumKYK.js";import{t as lr}from"../chunks/tweened.x1rdCnFk.js";import{L as Fa}from"../chunks/LangSelector.DQTzLAdQ.js";import{P as cr}from"../chunks/PasswordPolicy.DbNoBlQZ.js";import{P as ga}from"../chunks/PasswordInput.DOldwDot.js";import{W as vr}from"../chunks/WebauthnRequest.DHqnsBvK.js";import{T as dr}from"../chunks/Template.mSBxkRZ-.js";import{M as ur,C as pr}from"../chunks/ContentCenter.B2VsFG_i.js";var mr=W('<div class="container svelte-1yqkxw6"><div class="loading svelte-1yqkxw6"><div class="loading-1 svelte-1yqkxw6"></div> <div class="loading-2 svelte-1yqkxw6"></div> <div class="loading-3 svelte-1yqkxw6"></div></div></div>');function Sa(O,o){let r=V(o,"background",3,!1),b=V(o,"color",3,"hsl(var(--text))"),s=V(o,"global",3,!1),p=V(o,"offset",3,0);var h=mr(),u=t(h),q=t(u),g=i(q,2),k=i(g,2);a(u),a(h),w(()=>{He(h,"global",s()),He(h,"local",!s()),He(h,"background",r()),_e(u,"style",`margin-top: ${p()??""}px;`),Ge(q,"background",b()),Ge(g,"background",b()),Ge(k,"background",b())}),Me(3,h,()=>Ve,()=>({duration:100})),l(O,h)}var hr=W('<div class="load svelte-av2wub"><!></div>'),fr=W('<div class="font-label svelte-av2wub"><!></div>'),wr=W("<button><!></button>");function br(O,o){We(o,!0);let r=V(o,"type",3,"button"),b=V(o,"role",3,"button"),s=V(o,"ref",15),p=V(o,"level",3,1),h=V(o,"isDisabled",3,!1),u=V(o,"isLoading",3,!1),q=V(o,"invisible",3,!1),g=V(o,"invisibleOutline",3,!1),k=sr(o,["$$slots","$$events","$$legacy","type","role","ref","id","ariaLabel","ariaControls","ariaCurrent","level","width","isDisabled","isLoading","invisible","invisibleOutline","popovertarget","popovertargetaction","onclick","onLeft","onRight","onUp","onDown","children"]),z=Ie(()=>{if(q())return"invisible";switch(p()){case-1:return"l1d";case-2:return"l2d";case-3:return"l3d";case 2:return"l2";case 3:return"l3";default:return"l1"}}),N=K(!u()),G=Ie(()=>h()||u());oa(()=>{u()?setTimeout(()=>{v(N,!1)},120):setTimeout(()=>{v(N,!0)},120)});function D(){switch(p()){case-1:return"var(--btn-text)";case-2:return"hsl(var(--error))";case-3:return"hsl(var(--error))";case 2:return"hsl(var(--action))";case 3:return"hsl(var(--action))";default:return"var(--btn-text)"}}function I(C){var R,Z,S,Q,ee;switch(C.code){case"Enter":(R=o.onclick)==null||R.call(o,C);break;case"ArrowLeft":(Z=o.onLeft)==null||Z.call(o);break;case"ArrowRight":(S=o.onRight)==null||S.call(o);break;case"ArrowUp":(Q=o.onUp)==null||Q.call(o);break;case"ArrowDown":(ee=o.onDown)==null||ee.call(o);break}}var M=wr();let Y;var F=t(M);{var A=C=>{var R=hr(),Z=t(R),S=Ie(D);Sa(Z,{background:!1,get color(){return e(S)}}),a(R),l(C,R)},J=C=>{var R=we(),Z=le(R);{var S=Q=>{var ee=fr(),ae=t(ee);Ga(ae,()=>o.children),a(ee),Me(1,ee,()=>Ve),l(Q,ee)};j(Z,Q=>{e(N)&&Q(S)},!0)}l(C,R)};j(F,C=>{u()?C(A):C(J,!1)})}a(M),Ja(M,C=>s(C),()=>s()),w(()=>{Y=Qt(M,Y,{role:b(),type:r(),id:o.id,"aria-label":o.ariaLabel,"aria-controls":o.ariaControls,"aria-current":o.ariaCurrent,class:e(z),"data-isloading":u(),onclick:o.onclick,onkeydown:I,disabled:e(G),"aria-disabled":e(G),popovertarget:o.popovertarget,popovertargetaction:o.popovertargetaction,...k},"svelte-av2wub"),He(M,"invisibleOutline",g()),Ge(M,"width",o.width)}),l(O,M),Ae()}var gr=Aa('<svg fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"></path></svg>');function $r(O,o){let r=V(o,"opacity",3,.9),b=V(o,"width",3,"1.5rem"),s=V(o,"color",3,"hsl(var(--error))");var p=gr();_e(p,"stroke-width",2),w(()=>{_e(p,"width",b()),_e(p,"color",s()),_e(p,"opacity",r())}),l(O,p)}function yr(O,o,r){o()||r()}function kr(O){O.stopPropagation()}var _r=W('<span class="closeIcon svelte-1w7l4fj"><!></span>'),xr=W('<div class="relative"><div class="absolute close svelte-1w7l4fj"><!></div></div>'),Nr=W('<dialog aria-modal="true" class="svelte-1w7l4fj"><div role="none" class="svelte-1w7l4fj"><!> <!></div></dialog>');function Ir(O,o){We(o,!0);let r=V(o,"showModal",15),b=V(o,"closeModal",15),s=V(o,"strict",3,!1),p=V(o,"prerender",3,!1),h=Te(),u;oa(()=>{b(q)}),oa(()=>{r()&&(u==null||u.showModal())});function q(I){I==null||I.preventDefault(),u==null||u.close(),r(!1)}var g=Nr();g.__click=[yr,s,q];var k=t(g);k.__click=[kr];var z=t(k);{var N=I=>{var M=xr(),Y=t(M),F=t(Y);br(F,{get ariaLabel(){return h.common.close},invisible:!0,onclick:q,children:(A,J)=>{var C=_r(),R=t(C);$r(R,{color:"currentColor",width:"1.2rem"}),a(C),l(A,C)},$$slots:{default:!0}}),a(Y),a(M),l(I,M)};j(z,I=>{s()||I(N)})}var G=i(z,2);{var D=I=>{var M=we(),Y=le(M);Ga(Y,()=>o.children),l(I,M)};j(G,I=>{(p()||r())&&I(D)})}a(k),a(g),Ja(g,I=>u=I,()=>u),w(()=>_e(g,"data-strict",s())),Ka("close",g,()=>{var I;r(!1),(I=o.onClose)==null||I.call(o)}),l(O,g),Ae()}Va(["click"]);var Cr=W('<div class="link-err value svelte-bckoh9"> </div>'),Pr=W('<div class="fed-btn svelte-bckoh9"><!> <!></div>'),Dr=(O,o)=>v(o,!e(o)),jr=W('<div class="flex-inline svelte-bckoh9"><img alt="" width="20" height="20"> <span class="provider-name svelte-bckoh9"> </span></div>'),qr=W('<p> </p> <div class="providers svelte-bckoh9"></div>',1),Ur=W('<div role="button" tabindex="0" class="provider-link svelte-bckoh9"> </div> <!>',1),Wr=W('<div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div>'),Ar=W('<div><div><b>WebID:</b></div> <span class="value svelte-bckoh9"><a target="_blank"><!></a></span></div>'),Lr=W('<div class="container svelte-bckoh9"><div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div><div><b> </b></div> <div><div class="value svelte-bckoh9"> </div> <!></div></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div class="row svelte-bckoh9"><div><b> </b></div> <!></div> <div class="row svelte-bckoh9"><div><b> </b></div> <!></div> <div class="row svelte-bckoh9"><div><b> </b></div> <!></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <div><div><b> </b></div> <span class="value svelte-bckoh9"> </span></div> <!> <!></div>');function Qa(O,o){We(o,!0);let r=V(o,"user",15),b=V(o,"viewModePhone",3,!1),s=Te(),p=K(!1),h=K(!1),u=Ie(()=>{var X;return(X=r().account_type)==null?void 0:X.startsWith("federated")}),q=Ie(()=>{var X;return e(u)?`${r().account_type}: ${((X=o.authProvider)==null?void 0:X.name)||""}`:r().account_type}),g=Ie(()=>b()?"rowPhone":"row"),k=Ie(()=>b()?"labelPhone":"label");function z(X){It(64,(me,{challenge:xe,verifier:Ne})=>{me||(localStorage.setItem(Ct,Ne),N(X,xe))})}async function N(X,me){let xe={email:r().email,client_id:"rauthy",redirect_uri:window.location.href,provider_id:X,pkce_challenge:me},Ne=await Pt(X,xe);if(Ne.ok){const Ce=await Ne.text();Dt(Ce),window.location.href=Ne.headers.get("location")}else{let Ce=await Ne.json();console.error(Ce)}}async function G(){let X=await Nt(),me=await X.json();X.ok?r(me):v(p,!0)}var D=Lr(),I=t(D),M=t(I),Y=t(M),F=t(Y);a(Y),a(M);var A=i(M,2),J=t(A,!0);a(A),a(I);var C=i(I,2),R=t(C),Z=t(R),S=t(Z);a(Z),a(R);var Q=i(R,2),ee=t(Q,!0);a(Q),a(C);var ae=i(C,2),ue=t(ae),B=t(ue),U=t(B);a(B),a(ue);var T=i(ue,2),y=t(T,!0);a(T),a(ae);var x=i(ae,2),$=t(x),c=t($),P=t(c);a(c),a($);var n=i($,2),_=t(n,!0);a(n),a(x);var f=i(x,2),E=t(f),te=t(E),ie=t(te);a(te),a(E);var he=i(E,2),pe=t(he),be=t(pe,!0);a(pe);var ge=i(pe,2);{var ke=X=>{var me=Pr(),xe=t(me);Pe(xe,{level:3,$$events:{click:G},children:(je,Ue)=>{re();var Oe=se();w(()=>d(Oe,s.account.providerUnlink)),l(je,Oe)},$$slots:{default:!0}});var Ne=i(xe,2);{var Ce=je=>{var Ue=Cr(),Oe=t(Ue,!0);a(Ue),w(()=>d(Oe,s.account.providerUnlinkDesc)),l(je,Ue)};j(Ne,je=>{e(p)&&je(Ce)})}a(me),l(X,me)},qe=X=>{var me=we(),xe=le(me);{var Ne=Ce=>{var je=Ur(),Ue=le(je);Ue.__click=[Dr,h];var Oe=t(Ue,!0);a(Ue);var gt=i(Ue,2);Ir(gt,{get showModal(){return e(h)},set showModal(ua){v(h,m(ua))},children:(ua,fs)=>{var ja=qr(),pa=le(ja),$t=t(pa,!0);a(pa);var qa=i(pa,2);Ha(qa,21,()=>o.providers,ma=>ma.id,(ma,ha)=>{Pe(ma,{level:3,$$events:{click:()=>z(e(ha).id)},children:(yt,ws)=>{var fa=jr(),Ua=t(fa),Wa=i(Ua,2),kt=t(Wa,!0);a(Wa),a(fa),w(()=>{_e(Ua,"src",`/auth/v1/providers/${e(ha).id}/img`),d(kt,e(ha).name)}),l(yt,fa)},$$slots:{default:!0}})}),a(qa),w(()=>d($t,s.account.providerLinkDesc)),l(ua,ja)},$$slots:{default:!0}}),w(()=>d(Oe,s.account.providerLink)),Ka("keypress",Ue,()=>v(h,!e(h))),l(Ce,je)};j(xe,Ce=>{o.providers.length>0&&Ce(Ne)},!0)}l(X,me)};j(ge,X=>{e(u)?X(ke):X(qe,!1)})}a(he),a(f);var $e=i(f,2),L=t($e),ce=t(L),ve=t(ce);a(ce),a(L);var ye=i(L,2),de=t(ye,!0);a(ye),a($e);var H=i($e,2),fe=t(H),Re=t(fe),Le=t(Re);a(Re),a(fe);var ze=i(fe,2),la=t(ze,!0);a(ze),a(H);var ca=i(H,2),Ye=t(ca),$a=t(Ye),rt=t($a);a($a),a(Ye);var st=i(Ye,2),nt=Ie(()=>!!r().webauthn_user_id);ia(st,{get check(){return e(nt)}}),a(ca);var va=i(ca,2),Xe=t(va),ya=t(Xe),ot=t(ya);a(ya),a(Xe);var it=i(Xe,2);ia(it,{get check(){return r().enabled}}),a(va);var da=i(va,2),Ze=t(da),ka=t(Ze),lt=t(ka);a(ka),a(Ze);var ct=i(Ze,2);ia(ct,{get check(){return r().email_verified}}),a(da);var ea=i(da,2),aa=t(ea),_a=t(aa),vt=t(_a);a(_a),a(aa);var xa=i(aa,2),dt=t(xa,!0);w(()=>d(dt,Be(r().last_login))),a(xa),a(ea);var ta=i(ea,2),ra=t(ta),Na=t(ra),ut=t(Na);a(Na),a(ra);var Ia=i(ra,2),pt=t(Ia,!0);w(()=>d(pt,r().password_expires&&Be(r().password_expires)||s.common.never)),a(Ia),a(ta);var sa=i(ta,2),na=t(sa),Ca=t(na),mt=t(Ca);a(Ca),a(na);var Pa=i(na,2),ht=t(Pa,!0);w(()=>d(ht,Be(r().created_at))),a(Pa),a(sa);var Da=i(sa,2);{var ft=X=>{var me=Wr(),xe=t(me),Ne=t(xe),Ce=t(Ne);a(Ne),a(xe);var je=i(xe,2),Ue=t(je,!0);w(()=>d(Ue,Be(r().user_expires))),a(je),a(me),w(()=>{oe(me,ne(e(g)),"svelte-bckoh9"),oe(xe,ne(e(k)),"svelte-bckoh9"),d(Ce,`${s.account.userExpiry??""}:`)}),l(X,me)};j(Da,X=>{r().user_expires&&X(ft)})}var wt=i(Da,2);{var bt=X=>{var me=Ar(),xe=t(me),Ne=i(xe,2),Ce=t(Ne);w(()=>_e(Ce,"href",wa(r().id)));var je=t(Ce);Oa(je,()=>wa(r().id).replace("/auth/","/auth/<wbr/>")),a(Ce),a(Ne),a(me),w(()=>{oe(me,ne(e(g)),"svelte-bckoh9"),oe(xe,ne(e(k)),"svelte-bckoh9")}),l(X,me)};j(wt,X=>{o.webIdData&&X(bt)})}a(D),w(()=>{oe(I,ne(e(g)),"svelte-bckoh9"),oe(M,ne(e(k)),"svelte-bckoh9"),d(F,`${s.common.email??""}:`),d(J,r().email),oe(C,ne(e(g)),"svelte-bckoh9"),oe(R,ne(e(k)),"svelte-bckoh9"),d(S,`${s.account.givenName??""}:`),d(ee,r().given_name),oe(ae,ne(e(g)),"svelte-bckoh9"),oe(ue,ne(e(k)),"svelte-bckoh9"),d(U,`${s.account.familyName??""}:`),d(y,r().family_name),oe(x,ne(e(g)),"svelte-bckoh9"),oe($,ne(e(k)),"svelte-bckoh9"),d(P,`${s.account.user??""} ID:`),d(_,r().id),oe(f,ne(e(g)),"svelte-bckoh9"),oe(E,ne(e(k)),"svelte-bckoh9"),d(ie,`${s.account.accType??""}:`),d(be,e(q)||""),oe($e,ne(e(g)),"svelte-bckoh9"),oe(L,ne(e(k)),"svelte-bckoh9"),d(ve,`${s.account.roles??""}:`),d(de,r().roles||"None"),oe(H,ne(e(g)),"svelte-bckoh9"),oe(fe,ne(e(k)),"svelte-bckoh9"),d(Le,`${s.account.groups??""}:`),d(la,r().groups||"None"),oe(Ye,ne(e(k)),"svelte-bckoh9"),d(rt,`${s.account.mfaActivated??""}:`),oe(Xe,ne(e(k)),"svelte-bckoh9"),d(ot,`${s.account.userEnabled??""}:`),oe(Ze,ne(e(k)),"svelte-bckoh9"),d(lt,`${s.account.emailVerified??""}:`),oe(ea,ne(e(g)),"svelte-bckoh9"),oe(aa,ne(e(k)),"svelte-bckoh9"),d(vt,`${s.account.lastLogin??""}:`),oe(ta,ne(e(g)),"svelte-bckoh9"),oe(ra,ne(e(k)),"svelte-bckoh9"),d(ut,`${s.account.passwordExpiry??""}:`),oe(sa,ne(e(g)),"svelte-bckoh9"),oe(na,ne(e(k)),"svelte-bckoh9"),d(mt,`${s.account.userCreated??""}:`)}),l(O,D),Ae()}Va(["click"]);function Ya(O,o){We(o,!0);let r=V(o,"selected",15),b=V(o,"showWebId",3,!1),s=Te(),p=m(b()?[s.account.navInfo,s.account.navEdit,s.common.password,s.account.navMfa,"WebID",s.account.devices,s.account.navLogout]:[s.account.navInfo,s.account.navEdit,s.common.password,s.account.navMfa,s.account.devices,s.account.navLogout]);Je(()=>{jt().v==="devices"&&r(s.account.devices)}),Zt(O,{get labels(){return p},get selected(){return r()},set selected(h){r(h)}}),Ae()}var zr=W("<p> </p>"),Mr=W('<div class="success svelte-1xh7x72">Update successful <!></div>'),Tr=W('<div class="err svelte-1xh7x72"> </div>'),Er=W('<div class="wrapper svelte-1xh7x72"><div class="container svelte-1xh7x72"><!> <!> <!> <div> </div> <!> <!> <!> <!> <!> <!> <!> <div class="bottom svelte-1xh7x72"><!></div></div></div>');function Xa(O,o){We(o,!0);let r=V(o,"user",31,()=>m({})),b=V(o,"viewModePhone",3,!1),s=Te(),p=Ie(()=>b()?"calc(100vw - 1.5rem)":"300px");const h="8rem";let u=K(!1),q=K(""),g=K(!1),k=K(!1),z=m({email:r().email,givenName:r().given_name,familyName:r().family_name}),N=K(m({}));const G=Qe().shape({email:De().required(s.account.validEmail).email(s.account.validEmail),givenName:De().required(s.account.validGivenName).matches(La,s.account.validGivenName),familyName:De().nullable().matches(qt,s.account.validFamilyName)});let D=K(m({}));const I=Qe().shape({birthdate:De().nullable().trim().matches(Ut,s.common.invalidInput),phone:De().nullable().trim().matches(Wt,"+..."),street:De().nullable().trim().matches(At,s.common.invalidInput),zip:ir().nullable().min(1e3).max(999999),city:De().nullable().trim().matches(za,s.common.invalidInput),country:De().nullable().trim().matches(za,s.common.invalidInput)});function M(n){n.code==="Enter"&&Y()}async function Y(){if(!await F()){v(q,m(s.common.invalidInput));return}v(u,!0);const n={email:z.email,given_name:z.givenName,family_name:z.familyName||null,user_values:r().user_values};n.user_values.phone&&(n.user_values.phone=n.user_values.phone.replaceAll(" ","")),n.user_values.zip&&(n.user_values.zip=Number.parseInt(n.user_values.zip));let _=await Ma(r().id,n);if(_.ok)v(g,!0),r(r().email=z.email,!0),r(r().given_name=z.givenName,!0),r(r().family_name=z.familyName,!0),_.status===202&&v(k,!0);else{let f=await _.json();v(q,m(f.message))}v(u,!1)}async function F(){let n=!0;try{await G.validate(z,{abortEarly:!1}),v(N,m({}))}catch(_){v(N,m(Fe(_))),n=!1}try{await I.validate(r().user_values,{abortEarly:!1}),v(D,m({}))}catch(_){v(D,m(Fe(_))),n=!1}return n}var A=Er(),J=t(A),C=t(J);Ee(C,{autocomplete:"family-name",get placeholder(){return s.common.email},get width(){return e(p)},get value(){return z.email},set value(n){z.email=n},get error(){return e(N).email},set error(n){e(N).email=n},$$events:{input:F},children:(n,_)=>{re();var f=se();w(()=>d(f,s.common.email.toUpperCase())),l(n,f)},$$slots:{default:!0}});var R=i(C,2);Ee(R,{autocomplete:"given-name",get placeholder(){return s.account.givenName},get width(){return e(p)},get value(){return z.givenName},set value(n){z.givenName=n},get error(){return e(N).givenName},set error(n){e(N).givenName=n},$$events:{input:F},children:(n,_)=>{re();var f=se();w(()=>d(f,s.account.givenName.toUpperCase())),l(n,f)},$$slots:{default:!0}});var Z=i(R,2);Ee(Z,{autocomplete:"family-name",get placeholder(){return s.account.familyName},get width(){return e(p)},get value(){return z.familyName},set value(n){z.familyName=n},get error(){return e(N).familyName},set error(n){e(N).familyName=n},$$events:{input:F},children:(n,_)=>{re();var f=se();w(()=>d(f,s.account.familyName.toUpperCase())),l(n,f)},$$slots:{default:!0}});var S=i(Z,2);Ge(S,"margin",".5rem");var Q=t(S,!0);a(S);var ee=i(S,2);Ee(ee,{autocomplete:"street-address",get placeholder(){return s.account.street},get width(){return e(p)},get value(){return r().user_values.street},set value(n){r(r().user_values.street=n,!0)},get error(){return e(D).street},set error(n){e(D).street=n},$$events:{keypress:M,input:F},children:(n,_)=>{re();var f=se();w(()=>d(f,s.account.street.toUpperCase())),l(n,f)},$$slots:{default:!0}});var ae=i(ee,2);Ee(ae,{type:"number",autocomplete:"postal-code",get placeholder(){return s.account.zip},min:1e3,max:999999,get width(){return e(p)},get value(){return r().user_values.zip},set value(n){r(r().user_values.zip=n,!0)},get error(){return e(D).zip},set error(n){e(D).zip=n},$$events:{keypress:M,input:F},children:(n,_)=>{re();var f=se();w(()=>d(f,s.account.zip.toUpperCase())),l(n,f)},$$slots:{default:!0}});var ue=i(ae,2);Ee(ue,{autocomplete:"adress-level2",get placeholder(){return s.account.city},get width(){return e(p)},get value(){return r().user_values.city},set value(n){r(r().user_values.city=n,!0)},get error(){return e(D).city},set error(n){e(D).city=n},$$events:{keypress:M,input:F},children:(n,_)=>{re();var f=se();w(()=>d(f,s.account.city.toUpperCase())),l(n,f)},$$slots:{default:!0}});var B=i(ue,2);Ee(B,{autocomplete:"country",get placeholder(){return s.account.country},get width(){return e(p)},get value(){return r().user_values.country},set value(n){r(r().user_values.country=n,!0)},get error(){return e(D).country},set error(n){e(D).country=n},$$events:{keypress:M,input:F},children:(n,_)=>{re();var f=se();w(()=>d(f,s.account.country.toUpperCase())),l(n,f)},$$slots:{default:!0}});var U=i(B,2);Ee(U,{autocomplete:"tel",get placeholder(){return s.account.phone},get width(){return e(p)},get value(){return r().user_values.phone},set value(n){r(r().user_values.phone=n,!0)},get error(){return e(D).phone},set error(n){e(D).phone=n},$$events:{keypress:M,input:F},children:(n,_)=>{re();var f=se();w(()=>d(f,s.account.phone.toUpperCase())),l(n,f)},$$slots:{default:!0}});var T=i(U,2);Ee(T,{type:"date",autocomplete:"bday",get placeholder(){return s.account.birthdate},get width(){return e(p)},get value(){return r().user_values.birthdate},set value(n){r(r().user_values.birthdate=n,!0)},get error(){return e(D).birthdate},set error(n){e(D).birthdate=n},$$events:{keypress:M,input:F},children:(n,_)=>{re();var f=se();w(()=>d(f,s.account.birthdate.toUpperCase())),l(n,f)},$$slots:{default:!0}});var y=i(T,2);Pe(y,{width:h,level:1,get isLoading(){return e(u)},set isLoading(n){v(u,m(n))},$$events:{click:Y},children:(n,_)=>{re();var f=se();w(()=>d(f,s.common.save)),l(n,f)},$$slots:{default:!0}});var x=i(y,2),$=t(x);{var c=n=>{var _=Mr(),f=i(t(_));{var E=te=>{var ie=zr(),he=t(ie,!0);a(ie),w(()=>d(he,s.account.emailUpdateConfirm)),l(te,ie)};j(f,te=>{e(k)&&te(E)})}a(_),Me(3,_,()=>Ve),l(n,_)},P=n=>{var _=we(),f=le(_);{var E=te=>{var ie=Tr(),he=t(ie,!0);a(ie),w(()=>d(he,e(q))),Me(3,ie,()=>Ve),l(te,ie)};j(f,te=>{e(q)&&te(E)},!0)}l(n,_)};j($,n=>{e(g)?n(c):n(P,!1)})}a(x),a(J),a(A),w(()=>d(Q,s.account.optionalValues)),l(O,A),Ae()}var Rr=Aa('<svg fill="none" viewBox="0 0 24 24"><path stroke-linecap="round" stroke-linejoin="round" d="M7.864 4.243A7.5 7.5 0 0119.5 10.5c0 2.92-.556 5.709-1.568 8.268M5.742 6.364A7.465 7.465 0 004.5 10.5a7.464 7.464 0 01-1.15 3.993m1.989 3.559A11.209 11.209 0 008.25 10.5a3.75 3.75 0 117.5 0c0 .527-.021 1.049-.064 1.565M12 10.5a14.94 14.94 0 01-3.6 9.75m6.633-4.596a18.666 18.666 0 01-2.485 5.33"></path></svg>');function Vr(O,o){let r=V(o,"opacity",3,.9),b=V(o,"width",3,24),s=V(o,"color",3,"currentColor");var p=Rr();_e(p,"stroke-width",2),w(()=>{_e(p,"stroke",s()),_e(p,"width",b()),_e(p,"opacity",r())}),l(O,p)}var Kr=W('<!> <div class="regBtns svelte-q7vfo0"><!> <!></div>',1),Or=W('<div class="regNewBtn svelte-q7vfo0"><!></div>'),Br=W('<div class="keysHeader svelte-q7vfo0"> </div>'),Hr=W("<div><!></div>"),Gr=W('<div class="row svelte-q7vfo0"><div></div> <div class="deleteBtn svelte-q7vfo0"><!></div></div>'),Jr=W('<div class="keyContainer svelte-q7vfo0"><div class="row svelte-q7vfo0"> <div class="nameUv svelte-q7vfo0"><b> </b> <!></div></div> <div class="row svelte-q7vfo0"> <span class="font-mono"> </span></div> <div class="row svelte-q7vfo0"> <span class="font-mono"> </span></div> <!></div>'),Fr=W('<div class="button svelte-q7vfo0"><!></div>'),Sr=W('<div class="container svelte-q7vfo0"><p class="svelte-q7vfo0"> <br><br> </p> <!> <!> <div class="keysContainer svelte-q7vfo0"></div> <!> <div class="svelte-q7vfo0"> </div></div>');function Za(O,o){We(o,!0);let r=V(o,"user",19,()=>({})),b=Te(),s=K(!1),p=K(""),h=K(!1),u=K(r().account_type==="password"),q=K(m([]));ba(()=>{e(q).length>0&&r().account_type==="passkey"&&v(u,e(q).length>1)});let g=m({passkeyName:""}),k=K(m({}));const z=Qe().shape({passkeyName:De().required(b.common.invalidInput).matches(La,b.mfa.passkeyNameErr)});Je(()=>{G()});function N(){v(s,!1),v(p,"")}async function G(){let y=await Ta(o.session.user_id),x=await y.json();y.ok?v(q,m(x)):console.error("error fetching passkeys: "+x.message)}async function D(){if(N(),!await Y())return;const y=g.passkeyName;if(y.length<2){v(s,!0),v(p,m(b.mfa.passkeyNameErr));return}let x=await Lt(r().id,{passkey_name:y});if(x.status===200){let $=await x.json();$.publicKey.challenge=Se($.publicKey.challenge),$.publicKey.user.id=Se($.publicKey.user.id),$.publicKey.excludeCredentials=$.publicKey.excludeCredentials,$.publicKey.excludeCredentials&&($.publicKey.excludeCredentials=$.publicKey.excludeCredentials.map(n=>(n.id=Se(n.id),n)));let c=await navigator.credentials.create($),P={passkey_name:y,data:{id:c.id,rawId:Ke(c.rawId),response:{attestationObject:Ke(c.response.attestationObject),clientDataJSON:Ke(c.response.clientDataJSON)},type:c.type}};x=await zt(r().id,P),x.status===201?(v(h,!1),g.passkeyName="",await G()):console.error(x)}else v(s,!0),v(p,m(b.mfa.errorReg))}async function I(){N();let y=await Ea(r().id,{purpose:"Test"});if(y.status===200){let x=await y.json(),$=x.rcr;$.publicKey.challenge=Se($.publicKey.challenge);for(let n of $.publicKey.allowCredentials)n.id=Se(n.id);let c;try{c=await navigator.credentials.get($)}catch{v(s,!0),v(p,m(b.mfa.invalidKeyUsed));return}let P={code:x.code,data:{id:c.id,rawId:Ke(c.rawId),response:{authenticatorData:Ke(c.response.authenticatorData),clientDataJSON:Ke(c.response.clientDataJSON),signature:Ke(c.response.signature)},type:c.type}};y=await Mt(r().id,P),y.status===202?(v(p,m(b.mfa.testSuccess)),await G()):console.error(y)}else v(s,!0),v(p,m(b.mfa.testError))}async function M(y){let x=await Tt(r().id,y);if(x.status===200)await G();else{let $=await x.json();v(s,!0),v(p,m($.message))}}async function Y(){try{return await z.validate(g,{abortEarly:!1}),v(k,m({})),!0}catch(y){return v(k,m(Fe(y))),!1}}var F=Sr(),A=t(F),J=t(A),C=i(J,3);a(A);var R=i(A,2);{var Z=y=>{var x=Kr(),$=le(x);Ee($,{autocomplete:"off",get placeholder(){return b.mfa.passkeyName},autofocus:!0,get value(){return g.passkeyName},set value(_){g.passkeyName=_},get error(){return e(k).passkeyName},set error(_){e(k).passkeyName=_},$$events:{input:Y,enter:D},children:(_,f)=>{re();var E=se();w(()=>d(E,b.mfa.passkeyName)),l(_,E)},$$slots:{default:!0}});var c=i($,2),P=t(c);Pe(P,{level:1,$$events:{click:D},children:(_,f)=>{re();var E=se();w(()=>d(E,b.mfa.register)),l(_,E)},$$slots:{default:!0}});var n=i(P,2);Pe(n,{level:4,$$events:{click:()=>v(h,!1)},children:(_,f)=>{re();var E=se();w(()=>d(E,b.common.cancel)),l(_,E)},$$slots:{default:!0}}),a(c),l(y,x)},S=y=>{var x=Or(),$=t(x);Pe($,{level:3,$$events:{click:()=>v(h,!0)},children:(c,P)=>{re();var n=se();w(()=>d(n,b.mfa.registerNew)),l(c,n)},$$slots:{default:!0}}),a(x),l(y,x)};j(R,y=>{e(h)?y(Z):y(S,!1)})}var Q=i(R,2);{var ee=y=>{var x=Br(),$=t(x,!0);a(x),w(()=>d($,b.mfa.registerdKeys)),l(y,x)};j(Q,y=>{e(q).length>0&&y(ee)})}var ae=i(Q,2);Ha(ae,21,()=>e(q),y=>y.name,(y,x)=>{var $=Jr(),c=t($),P=t(c),n=i(P),_=t(n),f=t(_,!0);a(_);var E=i(_,2);{var te=ve=>{er(ve,{get text(){return b.account.userVerifiedTooltip},children:(ye,de)=>{var H=Hr();Ge(H,"margin-bottom","-.25rem");var fe=t(H);Vr(fe,{width:18,color:"var(--col-acnt)"}),a(H),l(ye,H)},$$slots:{default:!0}})};j(E,ve=>{e(x).user_verified&&ve(te)})}a(n),a(c);var ie=i(c,2),he=t(ie),pe=i(he),be=t(pe,!0);w(()=>d(be,Be(e(x).registered))),a(pe),a(ie);var ge=i(ie,2),ke=t(ge),qe=i(ke),$e=t(qe,!0);w(()=>d($e,Be(e(x).last_used))),a(qe),a(ge);var L=i(ge,2);{var ce=ve=>{var ye=Gr(),de=i(t(ye),2),H=t(de);Pe(H,{level:4,$$events:{click:()=>M(e(x).name)},children:(fe,Re)=>{re();var Le=se();w(()=>d(Le,b.mfa.delete.toUpperCase())),l(fe,Le)},$$slots:{default:!0}}),a(de),a(ye),l(ve,ye)};j(L,ve=>{e(u)&&ve(ce)})}a($),w(()=>{d(P,`${`${b.mfa.passkeyName}: `??""} `),d(f,e(x).name),d(he,`${`${b.mfa.registerd}: `??""} `),d(ke,`${`${b.mfa.lastUsed}: `??""} `)}),l(y,$)}),a(ae);var ue=i(ae,2);{var B=y=>{var x=Fr(),$=t(x);Pe($,{level:1,$$events:{click:I},children:(c,P)=>{re();var n=se();w(()=>d(n,b.mfa.test)),l(c,n)},$$slots:{default:!0}}),a(x),l(y,x)};j(ue,y=>{e(q).length>0&&y(B)})}var U=i(ue,2),T=t(U,!0);a(U),a(F),w(()=>{d(J,`${b.mfa.p1??""} `),d(C,` ${b.mfa.p2??""}`),He(U,"msg",!e(s)),He(U,"err",e(s)),d(T,e(p))}),l(O,F),Ae()}var Qr=W('<div class="container svelte-dpnwj7"><!> <!> <!> <!> <!> <div class="err svelte-dpnwj7"> </div></div>');function Yr(O,o){We(o,!0);let r=V(o,"formValues",31,()=>m({})),b=V(o,"btnWidth",3,"4rem"),s=V(o,"hideCurrentPassword",3,!1),p=V(o,"isValid",15),h=Te();p(D);let u=K(!1),q=K(""),g=K(void 0),k=K(m({})),z=Ie(()=>{var A;return((A=r().new)==null?void 0:A.length)>6&&r().new===r().verify});const N=Qe().shape({current:De().required(h.account.passwordCurrReq),new:De().required(h.account.passwordNewReq),verify:De().required(h.account.passwordNoMatch)}),G=Qe().shape({new:De().required(h.account.passwordNewReq),verify:De().required(h.account.passwordNoMatch)});Je(async()=>{let A=await Et(),J=await A.json();A.ok?v(g,m(J)):v(q,m(J.message))});async function D(){if(v(q,""),s())try{await G.validate(r(),{abortEarly:!1}),v(k,m({}))}catch(A){return v(k,m(Fe(A))),!1}else try{await N.validate(r(),{abortEarly:!1}),v(k,m({}))}catch(A){return v(k,m(Fe(A))),!1}return e(u)?r().new.length>256?(v(q,"max 256"),!1):r().new!==r().verify?(v(q,m(h.account.passwordNoMatch)),!1):!0:(v(q,m(h.account.passwordPolicyFollow)),!1)}function I(){const A=e(g).length_min>20?e(g).length_min:20;let J=Rt(A,e(g).include_lower_case,e(g).include_upper_case,e(g).include_digits,e(g).include_special);r(r().new=J,!0),r(r().verify=J,!0)}var M=we(),Y=le(M);{var F=A=>{var J=Qr(),C=t(J);cr(C,{t:h,get policy(){return e(g)},get password(){return r().new},get accepted(){return e(u)},set accepted(B){v(u,m(B))}});var R=i(C,2);{var Z=B=>{ga(B,{get error(){return e(k).current},autocomplete:"current-password",get placeholder(){return h.account.passwordCurr},get width(){return o.inputWidth},get value(){return r().current},set value(U){r(r().current=U,!0)},$$events:{input:D},children:(U,T)=>{re();var y=se();w(()=>d(y,h.account.passwordCurr.toUpperCase())),l(U,y)},$$slots:{default:!0}})};j(R,B=>{s()||B(Z)})}var S=i(R,2);ga(S,{get error(){return e(k).new},autocomplete:"new-password",get placeholder(){return h.account.passwordNew},get showCopy(){return e(z)},get width(){return o.inputWidth},get value(){return r().new},set value(B){r(r().new=B,!0)},$$events:{input:D},children:(B,U)=>{re();var T=se();w(()=>d(T,h.account.passwordNew.toUpperCase())),l(B,T)},$$slots:{default:!0}});var Q=i(S,2);ga(Q,{get error(){return e(k).verify},autocomplete:"new-password",get placeholder(){return h.account.passwordConfirm},get showCopy(){return e(z)},get width(){return o.inputWidth},get value(){return r().verify},set value(B){r(r().verify=B,!0)},$$events:{input:D},children:(B,U)=>{re();var T=se();w(()=>d(T,h.account.passwordConfirm.toUpperCase())),l(B,T)},$$slots:{default:!0}});var ee=i(Q,2);Pe(ee,{level:2,get width(){return b()},$$events:{click:I},children:(B,U)=>{re();var T=se();w(()=>d(T,h.account.generateRandom)),l(B,T)},$$slots:{default:!0}});var ae=i(ee,2),ue=t(ae,!0);a(ae),a(J),w(()=>d(ue,e(q))),l(A,J)};j(Y,A=>{e(g)&&A(F)})}return l(O,M),Ae({isPwdValid:D})}var Xr=W('<div class="m-05 svelte-od1aaa"><p class="svelte-od1aaa"> </p> <p class="svelte-od1aaa"><b> </b></p> <p class="svelte-od1aaa"> </p> <!></div>'),Zr=W('<p class="svelte-od1aaa"> </p> <p class="svelte-od1aaa"> </p> <p class="svelte-od1aaa"> </p> <!>',1),es=W("<div><!></div>"),as=W('<div class="convertPasskey svelte-od1aaa"><h3> </h3> <p class="svelte-od1aaa"> </p> <!></div>'),ts=W('<div class="success svelte-od1aaa">Update successful</div>'),rs=W('<div class="err svelte-od1aaa"> </div>'),ss=W('<div><!> <div><!></div> <!></div> <!> <div class="bottom svelte-od1aaa"><!></div>',1),ns=W('<div class="wrapper svelte-od1aaa"><div class="container svelte-od1aaa"><!> <!> <!> <!></div></div>');function et(O,o){We(o,!0);let r=V(o,"user",19,()=>({})),b=V(o,"viewModePhone",3,!1),s=Te(),p=Ie(()=>b()?"calc(100vw - 1.5rem)":"300px");const h="13rem";let u=r().account_type,q=K(m([])),g=K(void 0),k=K(!1),z=K(!1),N=K(""),G=K(!1),D=K(void 0),I=K(m({current:"",new:"",verify:""})),M=Ie(()=>e(q).filter(c=>c.user_verified).length>0);Je(()=>{Y()});async function Y(){let c=await Ta(r().id),P=await c.json();c.ok?v(q,m(P)):console.error("error fetching passkeys: "+P.message)}async function F(){let c=await Vt(r().id);if(c.ok)window.location.reload();else{let P=await c.json();console.error("error fetching passkeys: "+P.message)}}async function A(){e(q).length>0?await J():await C()}async function J(){if(!await e(g)()){v(N,m(s.common.invalidInput));return}const c=await Ea(r().id,{purpose:"PasswordNew"});v(D,m(await c.json()))}async function C(c){if(!await e(g)()){v(N,m(s.common.invalidInput));return}v(z,!0);let P={password_new:e(I).new};c?P.mfa_code=c:P.password_current=e(I).current;let n=await Ma(r().id,P);if(n.ok)v(G,!0),v(I,m({})),window.location.reload();else{let _=await n.json();v(N,m(_.message))}v(z,!1)}function R(){v(D,void 0),v(N,m(s.mfa.errorReg))}function Z(c){c&&(v(D,void 0),C(c.code))}async function S(){let c=await Kt({email:r().email});if(c.ok)v(G,!0);else{let P=await c.json();v(N,m(P.message))}}var Q=ns(),ee=t(Q),ae=t(ee);{var ue=c=>{vr(c,{purpose:"PasswordNew",onSuccess:Z,onError:R,get data(){return e(D)},set data(P){v(D,m(P))}})};j(ae,c=>{e(D)&&c(ue)})}var B=i(ae,2);{var U=c=>{var P=Xr(),n=t(P),_=t(n,!0);a(n);var f=i(n,2),E=t(f),te=t(E,!0);a(E),a(f);var ie=i(f,2),he=t(ie,!0);a(ie);var pe=i(ie,2);{var be=ke=>{ia(ke,{check:!0})},ge=ke=>{Pe(ke,{width:h,level:3,$$events:{click:S},children:(qe,$e)=>{re();var L=se();w(()=>d(L,s.account.passwordReset)),l(qe,L)},$$slots:{default:!0}})};j(pe,ke=>{e(G)?ke(be):ke(ge,!1)})}a(P),w(()=>{d(_,s.account.federatedConvertPassword1),d(te,o.authProvider.name||"UNKNOWN"),d(he,s.account.federatedConvertPassword2)}),l(c,P)};j(B,c=>{u==="federated"&&c(U)})}var T=i(B,2);{var y=c=>{var P=Zr(),n=le(P),_=t(n,!0);a(n);var f=i(n,2),E=t(f,!0);a(f);var te=i(f,2),ie=t(te,!0);a(te);var he=i(te,2);Pe(he,{width:h,level:3,$$events:{click:()=>v(k,!0)},children:(pe,be)=>{re();var ge=se();w(()=>d(ge,s.account.convertAccount)),l(pe,ge)},$$slots:{default:!0}}),w(()=>{d(_,s.account.accTypePasskeyText1),d(E,s.account.accTypePasskeyText2),d(ie,s.account.accTypePasskeyText3)}),l(c,P)};j(T,c=>{(u==="passkey"||u==="federated_passkey")&&!e(k)&&c(y)})}var x=i(T,2);{var $=c=>{var P=ss(),n=le(P),_=t(n),f=Ie(()=>!(u==="password"&&e(q).length<1));Yr(_,{btnWidth:h,get inputWidth(){return e(p)},get hideCurrentPassword(){return e(f)},get formValues(){return e(I)},set formValues(L){v(I,m(L))},get isValid(){return e(g)},set isValid(L){v(g,m(L))}});var E=i(_,2),te=t(E);Pe(te,{width:h,level:1,get isLoading(){return e(z)},set isLoading(L){v(z,m(L))},$$events:{click:A},children:(L,ce)=>{re();var ve=se();w(()=>d(ve,s.common.save)),l(L,ve)},$$slots:{default:!0}}),a(E);var ie=i(E,2);{var he=L=>{var ce=es(),ve=t(ce);Pe(ve,{width:h,level:4,$$events:{click:()=>v(k,!1)},children:(ye,de)=>{re();var H=se();w(()=>d(H,s.common.cancel)),l(ye,H)},$$slots:{default:!0}}),a(ce),l(L,ce)};j(ie,L=>{e(k)&&!e(z)&&L(he)})}a(n);var pe=i(n,2);{var be=L=>{var ce=as(),ve=t(ce),ye=t(ve,!0);a(ve);var de=i(ve,2),H=t(de,!0);a(de);var fe=i(de,2);Pe(fe,{width:h,level:3,$$events:{click:F},children:(Re,Le)=>{re();var ze=se();w(()=>d(ze,s.account.convertAccount)),l(Re,ze)},$$slots:{default:!0}}),a(ce),w(()=>{d(ye,s.account.convertAccount),d(H,s.account.convertAccountP1)}),l(L,ce)};j(pe,L=>{!e(k)&&e(M)&&L(be)})}var ge=i(pe,2),ke=t(ge);{var qe=L=>{var ce=ts();Me(3,ce,()=>Ve),l(L,ce)},$e=L=>{var ce=we(),ve=le(ce);{var ye=de=>{var H=rs(),fe=t(H,!0);a(H),w(()=>d(fe,e(N))),Me(3,H,()=>Ve),l(de,H)};j(ve,de=>{e(N)&&de(ye)},!0)}l(L,ce)};j(ke,L=>{e(G)?L(qe):L($e,!1)})}a(ge),Me(1,n,()=>Yt,()=>({duration:350})),l(c,P)};j(x,c=>{(u==="password"||u==="federated_password"||e(k))&&c($)})}a(ee),a(Q),l(O,Q),Ae()}var os=W('<div><p class="svelte-naxx27"> </p>    <textarea class="font-mono text svelte-naxx27"></textarea></div>'),is=W('<div class="success svelte-naxx27">Update successful</div>'),ls=W('<div class="err svelte-naxx27"> </div>'),cs=W('<div class="wrapper svelte-naxx27"><div class="container svelte-naxx27"><p class="svelte-naxx27"> </p> <p class="svelte-naxx27"><a target="_blank"><!></a></p> <div class="row svelte-naxx27"><div class="label svelte-naxx27">E-Mail</div> <!></div> <div class="row svelte-naxx27"><div class="label svelte-naxx27"> </div> <!></div> <!> <!> <div class="bottom svelte-naxx27"><!></div></div></div>');function at(O,o){We(o,!0);let r=V(o,"webIdData",15),b=Te();const s="12rem";let p=K(""),h=K(!1),u=K(!!r().custom_triples),q=wa(r().user_id);ba(()=>{e(h)&&setTimeout(()=>{v(h,!1)},3e3)});async function g(){v(p,"");let U=await Ot(r().user_id,r());if(U.ok)v(h,!0);else{let T=await U.json();v(p,m(T.message))}}var k=cs(),z=t(k),N=t(z),G=t(N,!0);a(N);var D=i(N,2),I=t(D);_e(I,"href",q);var M=t(I);Oa(M,()=>q.replace("/auth/","/auth/<wbr/>")),a(I),a(D);var Y=i(D,2),F=i(t(Y),2);Ba(F,{get selected(){return r().expose_email},set selected(U){r(r().expose_email=U,!0)}}),a(Y);var A=i(Y,2),J=t(A),C=t(J,!0);a(J);var R=i(J,2);Ba(R,{get selected(){return e(u)},set selected(U){v(u,m(U))}}),a(A);var Z=i(A,2);{var S=U=>{var T=os(),y=t(T),x=t(y,!0);a(y);var $=i(y,2);St($),_e($,"rows",15),_e($,"cols",40),a(T),w(()=>d(x,b.account.webIdDescData)),ar($,()=>r().custom_triples,c=>r(r().custom_triples=c,!0)),Me(3,T,()=>Xt),l(U,T)};j(Z,U=>{e(u)&&U(S)})}var Q=i(Z,2);Pe(Q,{width:s,level:1,$$events:{click:g},children:(U,T)=>{re();var y=se();w(()=>d(y,b.common.save)),l(U,y)},$$slots:{default:!0}});var ee=i(Q,2),ae=t(ee);{var ue=U=>{var T=is();Me(3,T,()=>Ve),l(U,T)},B=U=>{var T=we(),y=le(T);{var x=$=>{var c=ls(),P=t(c,!0);a(c),w(()=>d(P,e(p))),Me(3,c,()=>Ve),l($,c)};j(y,$=>{e(p)&&$(x)},!0)}l(U,T)};j(ae,U=>{e(h)?U(ue):U(B,!1)})}a(ee),a(z),a(k),w(()=>{d(G,b.account.webIdDesc),d(C,b.account.webIdExpertMode)}),l(O,k),Ae()}var vs=W('<div class="container svelte-1nrg3bb"><!></div>');function tt(O,o){We(o,!0);var r=vs(),b=t(r);tr(b,{get userId(){return o.session.user_id}}),a(r),l(O,r),Ae()}var ds=W('<div class="wrapper svelte-47czfz"><!> <div class="headerPhone svelte-47czfz"><h3> </h3></div> <div class="container svelte-47czfz"><!> <div class="innerPhone svelte-47czfz"><div><!></div></div></div></div>'),us=W('<div class="wrapper svelte-47czfz"><!> <div class="header svelte-47czfz"><h3> </h3></div> <div class="container svelte-47czfz"><!> <div class="inner svelte-47czfz"><div><!></div></div></div></div>'),ps=W("<!> <!>",1);function ms(O,o){We(o,!0);const r=nr(),b=()=>or(z,"$op",r);let s=V(o,"session",7),p=V(o,"user",15),h=V(o,"webIdData",15),u=Te(),q=K(void 0),g=K(m([])),k=Ie(()=>{var C;if((C=p().account_type)!=null&&C.startsWith("federated"))return e(g).filter(R=>R.id===p().auth_provider_id)[0]}),z=lr(1,{duration:100}),N=K(m(u.account.navInfo)),G=K(m(u.account.navInfo));function D(){z.set(0).then(()=>v(N,m(e(G)))).then(()=>z.set(1))}let I=Ie(()=>e(q)&&e(q)<500);ba(()=>{e(G)&&D()}),oa(()=>{e(G)===u.account.navLogout&&Bt()});var M=ps(),Y=le(M);dr(Y,{id:Ht,get value(){return e(g)},set value(C){v(g,m(C))}});var F=i(Y,2);{var A=C=>{var R=ds(),Z=t(R);Fa(Z,{absolute:!0,absoluteRight:!0,updateBackend:!0});var S=i(Z,2),Q=t(S),ee=t(Q,!0);a(Q),a(S);var ae=i(S,2),ue=t(ae);Ya(ue,{get selected(){return e(G)},set selected($){v(G,m($))}});var B=i(ue,2),U=t(B),T=t(U);{var y=$=>{Qa($,{get webIdData(){return h()},viewModePhone:!0,get providers(){return e(g)},get authProvider(){return e(k)},get user(){return p()},set user(c){p(c)}})},x=$=>{var c=we(),P=le(c);{var n=f=>{Xa(f,{viewModePhone:!0,get user(){return p()},set user(E){p(E)}})},_=f=>{var E=we(),te=le(E);{var ie=pe=>{et(pe,{get user(){return p()},get authProvider(){return e(k)},viewModePhone:!0})},he=pe=>{var be=we(),ge=le(be);{var ke=$e=>{Za($e,{get session(){return s()},get user(){return p()}})},qe=$e=>{var L=we(),ce=le(L);{var ve=de=>{at(de,{get webIdData(){return h()},set webIdData(H){h(H)}})},ye=de=>{var H=we(),fe=le(H);{var Re=Le=>{tt(Le,{get session(){return s()},set session(ze){s(ze)}})};j(fe,Le=>{e(N)===u.account.devices&&Le(Re)},!0)}l(de,H)};j(ce,de=>{e(N)==="WebID"?de(ve):de(ye,!1)},!0)}l($e,L)};j(ge,$e=>{e(N)===u.account.navMfa?$e(ke):$e(qe,!1)},!0)}l(pe,be)};j(te,pe=>{e(N)===u.common.password?pe(ie):pe(he,!1)},!0)}l(f,E)};j(P,f=>{e(N)===u.account.navEdit?f(n):f(_,!1)},!0)}l($,c)};j(T,$=>{e(N)===u.account.navInfo?$(y):$(x,!1)})}a(U),a(B),a(ae),a(R),w(()=>{d(ee,u.account.account),_e(U,"style",`opacity: ${b()??""}`)}),l(C,R)},J=C=>{var R=us(),Z=t(R);Fa(Z,{absolute:!0,updateBackend:!0});var S=i(Z,2),Q=t(S),ee=t(Q,!0);a(Q),a(S);var ae=i(S,2),ue=t(ae),B=Ie(()=>!!h());Ya(ue,{get showWebId(){return e(B)},get selected(){return e(G)},set selected(c){v(G,m(c))}});var U=i(ue,2),T=t(U),y=t(T);{var x=c=>{Qa(c,{get webIdData(){return h()},get providers(){return e(g)},get authProvider(){return e(k)},get user(){return p()},set user(P){p(P)}})},$=c=>{var P=we(),n=le(P);{var _=E=>{Xa(E,{get user(){return p()},set user(te){p(te)}})},f=E=>{var te=we(),ie=le(te);{var he=be=>{et(be,{get user(){return p()},get authProvider(){return e(k)}})},pe=be=>{var ge=we(),ke=le(ge);{var qe=L=>{Za(L,{get session(){return s()},get user(){return p()}})},$e=L=>{var ce=we(),ve=le(ce);{var ye=H=>{at(H,{get webIdData(){return h()},set webIdData(fe){h(fe)}})},de=H=>{var fe=we(),Re=le(fe);{var Le=ze=>{tt(ze,{get session(){return s()},set session(la){s(la)}})};j(Re,ze=>{e(N)===u.account.devices&&ze(Le)},!0)}l(H,fe)};j(ve,H=>{e(N)==="WebID"?H(ye):H(de,!1)},!0)}l(L,ce)};j(ke,L=>{e(N)===u.account.navMfa?L(qe):L($e,!1)},!0)}l(be,ge)};j(ie,be=>{e(N)===u.common.password?be(he):be(pe,!1)},!0)}l(E,te)};j(n,E=>{e(N)===u.account.navEdit?E(_):E(f,!1)},!0)}l(c,P)};j(y,c=>{e(N)===u.account.navInfo?c(x):c($,!1)})}a(T),a(U),a(ae),a(R),w(()=>{d(ee,u.account.account),_e(T,"style",`opacity: ${b()??""}`)}),l(C,R)};j(F,C=>{e(I)?C(A):C(J,!1)})}rr("innerWidth",C=>v(q,m(C))),l(O,M),Ae()}function hs(O,o){We(o,!0);let r=Te(),b=K(void 0),s=K(void 0),p=K(void 0),h=K(!1);Je(async()=>{let u=await Gt();if(u.ok){if(v(b,m(await u.json())),!e(b)){console.error("did not receive valid session response");return}u=await Jt(e(b).user_id),u.ok?v(s,m(await u.json())):Ra("account"),u=await Ft(e(b).user_id),u.ok?v(p,m(await u.json())):u.status===404&&v(p,m({user_id:e(b).user_id,is_open:!1})),v(h,!0)}else Ra("account")}),xt(u=>{w(()=>{var q;return _t.title=`${((r==null?void 0:r.account.account)||"Account")??""} ${((q=e(s))==null?void 0:q.email)??""}`})}),ur(O,{children:(u,q)=>{pr(u,{children:(g,k)=>{var z=we(),N=le(z);{var G=I=>{Sa(I,{})},D=I=>{var M=we(),Y=le(M);{var F=A=>{ms(A,{get session(){return e(b)},get user(){return e(s)},set user(J){v(s,m(J))},get webIdData(){return e(p)},set webIdData(J){v(p,m(J))}})};j(Y,A=>{e(b)&&e(s)&&A(F)},!0)}l(I,M)};j(N,I=>{e(h)?I(D,!1):I(G)})}l(g,z)},$$slots:{default:!0}})},$$slots:{default:!0}}),Ae()}export{hs as component};
diff --git a/static/v1/_app/immutable/nodes/3.CdKQrrNc.js.br b/static/v1/_app/immutable/nodes/3.CdKQrrNc.js.br
new file mode 100644
index 000000000..9a422b419
Binary files /dev/null and b/static/v1/_app/immutable/nodes/3.CdKQrrNc.js.br differ
diff --git a/static/v1/_app/immutable/nodes/3.CdKQrrNc.js.gz b/static/v1/_app/immutable/nodes/3.CdKQrrNc.js.gz
new file mode 100644
index 000000000..3a0ca74e6
Binary files /dev/null and b/static/v1/_app/immutable/nodes/3.CdKQrrNc.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/30.C8nt_tI6.js b/static/v1/_app/immutable/nodes/30.C8nt_tI6.js
deleted file mode 100644
index 1768b5021..000000000
--- a/static/v1/_app/immutable/nodes/30.C8nt_tI6.js
+++ /dev/null
@@ -1,2 +0,0 @@
-import{a as p,b as U,c as ie,t as k}from"../chunks/disclose-version.DZhRUPAc.js";import{p as es,_ as g,o as ss,a0 as V,a as rs,j as s,a2 as m,$ as ge,g as e,a1 as d,a3 as _,a5 as R,a4 as C,h as as}from"../chunks/index-client.CGppiJvc.js";import{h as ts,s as w}from"../chunks/render.D4MwAWTL.js";import{i as y}from"../chunks/if.DUA6Hpfn.js";import{L as os,t as je,b as qe,s as Ae}from"../chunks/Loading.FF_EHyHU.js";import{y as is,v as ds,A as ns,m as Se,B as ps,D as ls,E as cs,F as he,G as $e,H as us}from"../chunks/dataFetching.Dto1xJW6.js";import{p as l}from"../chunks/proxy.DB4Km9hY.js";import{r as ue}from"../chunks/legacy-client.CgqodnwN.js";import{c as Ue,a as ye,I as ws}from"../chunks/Input.Bj_i2TLU.js";import{B}from"../chunks/Button.BH2_dPry.js";import{P as Oe}from"../chunks/PasswordPolicy.D9rZurKD.js";import{P as we}from"../chunks/PasswordInput.6uXzPAl-.js";import{W as Fe}from"../chunks/WebauthnRequest.CHVZELhw.js";import{L as vs}from"../chunks/LangSelector.mSh8cV6Q.js";import"../chunks/is_dev.svelte.sP_MjoCE.js";import{u as ms}from"../chunks/i18n.svelte.BTGsPiz_.js";var fs=U('<div class="success svelte-189rvns"> <br> </div>'),gs=U("<div><!> <!> <!> <!> <!> <!></div>"),hs=U('<div class="success svelte-189rvns"><p> </p> <p> </p> <!></div>'),$s=U("<div><!> <!> <!></div>"),ys=U('<!> <h1> </h1> <p> </p> <p> <a target="_blank" class="svelte-189rvns">FIDO Alliance</a></p> <div><!> <!></div> <!>',1),bs=U('<div class="success svelte-189rvns"> <br> <br> <a class="svelte-189rvns">Link</a></div>'),ks=U("<!> <h1>Password Reset</h1> <!> <!> <!> <!> <!> <!>",1),_s=U('<div class="err svelte-189rvns"> </div>'),Rs=U('<!> <div class="container svelte-189rvns"><!> <!></div> <!>',1);function Cs(Ve,Be){es(Be,!0);const O="150px",Q="320px";let r=ms(),de="",W=g(void 0),be=g(!0),ke=!1,N=g(!1),I=g(""),X="",Y=g(""),Z=g(""),ne="",ee=g(void 0),f=g(!1),se=g(!1),re=g(!1),j=g(void 0),n=g(l({passkeyName:"",password:"",passwordConfirm:""})),x=g(l({})),_e=g(void 0),Re=g(void 0);ss(async()=>{let a;a="10, 128, 1, 1, 1, 1, 3";const t=[];a.split(",").forEach(i=>t.push(i)),s(W,l({length_min:Number.parseInt(t[0]),length_max:Number.parseInt(t[1]),include_lower_case:Number.parseInt(t[2]),include_upper_case:Number.parseInt(t[3]),include_digits:Number.parseInt(t[4]),include_special:Number.parseInt(t[5]),not_recently_used:Number.parseInt(t[6])})),ke=t[7]=="true",de=window.document.getElementsByName("rauthy-csrf-token")[0].id,X=window.location.href.split("/users/")[1].split("/")[0],ne=window.location.href.split("/reset/")[1].split("?")[0],s(Y,"password_reset"),s(be,!0)});function Ce(){window.location.replace("/auth/v1/account")}function Ne(){const a=e(W).length_min>24?e(W).length_min:24;let t=ns(a,e(W).include_lower_case,e(W).include_upper_case,e(W).include_digits,e(W).include_special);e(n).password=t,e(n).passwordConfirm=t}async function Ie(){s(I,"");try{await e(_e).validate(e(n),{abortEarly:!1}),s(x,l({}))}catch(i){s(x,l(Se(i)));return}const a=e(n).passkeyName;if(a.length<2){s(I,l(r.mfa.passkeyNameErr));return}let t=await cs(X,{passkey_name:a,magic_link_id:ne},de);if(t.status===200){let i=await t.json();i.publicKey.authenticatorSelection.userVerification="required",i.publicKey.challenge=he(i.publicKey.challenge),i.publicKey.user.id=he(i.publicKey.user.id),i.publicKey.excludeCredentials=i.publicKey.excludeCredentials,i.publicKey.excludeCredentials&&(i.publicKey.excludeCredentials=i.publicKey.excludeCredentials.map(h=>(h.id=he(h.id),h)));let b=await navigator.credentials.create(i),D={passkey_name:a,data:{id:b.id,rawId:$e(b.rawId),response:{attestationObject:$e(b.response.attestationObject),clientDataJSON:$e(b.response.clientDataJSON)},type:b.type},magic_link_id:ne};t=await us(X,D,de),t.status===201?(s(n,l({passkeyName:"",password:"",passwordConfirm:""})),s(f,!0)):(pe(),console.error(t))}else{pe();let i=await t.json();console.error(i.error),console.error(i.message)}}async function Le(){try{await e(Re).validate(e(n),{abortEarly:!1}),s(x,l({}))}catch(a){s(x,l(Se(a)));return}if(e(se)){if(e(n).password.length>256){s(I,"max 256");return}if(e(n).password!==e(n).passwordConfirm){s(I,l(r.passwordReset.passwordNoMatch));return}else s(I,"");if(ke){let a=await ps(X,{purpose:"PasswordReset"}),t=await a.json();if(!a.ok){s(I,l(t.message)),s(N,!1);return}if(t.user_id!==X){s(I,"MFA user ID does not match - this should never happen"),s(N,!1);return}s(j,l(t))}else await De()}}async function De(a){s(N,!0);const t={password:e(n).password,magic_link_id:ne,mfa_code:a},i=await ls(X,t,de);if(i.ok)s(I,""),s(n,l({passkeyName:"",password:"",passwordConfirm:""})),s(ee,l(i.headers.get("Location"))),console.log("redirectUri: "+e(ee)),s(f,!0);else{const b=await i.json();s(I,l(b.message))}s(N,!1)}function pe(){s(j,void 0),s(I,l(r.mfa.errorReg))}function Ee(a){a&&(s(j,void 0),De(a.code))}ue(()=>{r&&(s(_e,l(Ue().shape({passkeyName:ye().required(r.common.required).matches(ds,r.mfa.passkeyNameErr)}))),s(Re,l(Ue().shape({password:ye().required(r.common.required),passwordConfirm:ye().required(r.common.required)}))))}),ue(()=>{e(Z)&&s(n,l({passkeyName:"",password:"",passwordConfirm:""}))}),ue(()=>{var a;((a=e(n).password)==null?void 0:a.length)>0&&e(n).password===e(n).passwordConfirm&&s(re,!0)}),ue(()=>{e(f)&&setTimeout(()=>{e(ee)?window.location.replace(e(ee)):Ce()},5e3)});var xe=Rs();ts(a=>{var t=ie(),i=V(t);{var b=h=>{var q=ie(),ae=V(q);{var F=K=>{m(()=>ge.title=r.passwordReset.newAccount)},G=K=>{var P=ie(),J=V(P);{var te=z=>{m(()=>ge.title=r.passwordReset.passwordReset)};y(J,z=>{e(Y)==="password_reset"&&z(te)},!0)}p(K,P)};y(ae,K=>{e(Y).startsWith("new_user")?K(F):K(G,!1)})}p(h,q)},D=h=>{ge.title="Password"};y(i,h=>{r?h(b):h(D,!1)})}p(a,t)});var Ke=V(xe);{var Ge=a=>{os(a,{})};y(Ke,a=>{e(be)||a(Ge)})}var ve=d(Ke,2),Pe=_(ve);{var Je=a=>{var t=ys(),i=V(t);{var b=o=>{Fe(o,{onSuccess:Ee,onError:pe,get data(){return e(j)},set data($){s(j,l($))}})};y(i,o=>{e(j)&&o(b)})}var D=d(i,2),h=_(D,!0);R(D);var q=d(D,2),ae=_(q,!0);R(q);var F=d(q,2),G=_(F,!0),K=d(G);R(F);var P=d(F,2);is(P,"margin-bottom","1rem");var J=_(P);B(J,{width:O,level:2,get isDisabled(){return e(f)},get isLoading(){return e(N)},set isLoading(o){s(N,l(o))},$$events:{click:()=>s(Z,"passkey")},children:(o,$)=>{C();var L=k();m(()=>w(L,r.passwordReset.passwordless)),p(o,L)},$$slots:{default:!0}});var te=d(J,2);B(te,{width:O,level:3,get isDisabled(){return e(f)},get isLoading(){return e(N)},set isLoading(o){s(N,l(o))},$$events:{click:()=>s(Z,"password")},children:(o,$)=>{C();var L=k();m(()=>w(L,r.passwordReset.password)),p(o,L)},$$slots:{default:!0}}),R(P);var z=d(P,2);{var u=o=>{var $=gs(),L=_($);Oe(L,{get policy(){return e(W)},get password(){return e(n).password},get accepted(){return e(se)},set accepted(v){s(se,l(v))}});var le=d(L,2);we(le,{get error(){return e(x).password},autocomplete:"new-password",get placeholder(){return r.passwordReset.password},width:Q,get showCopy(){return e(re)},get disabled(){return e(f)},get value(){return e(n).password},set value(v){e(n).password=v},children:(v,A)=>{C();var c=k();m(()=>w(c,r.passwordReset.password.toUpperCase())),p(v,c)},$$slots:{default:!0}});var H=d(le,2);we(H,{get error(){return e(x).passwordConfirm},autocomplete:"new-password",get placeholder(){return r.passwordReset.passwordConfirm},width:Q,get showCopy(){return e(re)},get disabled(){return e(f)},get value(){return e(n).passwordConfirm},set value(v){e(n).passwordConfirm=v},children:(v,A)=>{C();var c=k();m(()=>w(c,r.passwordReset.passwordConfirm.toUpperCase())),p(v,c)},$$slots:{default:!0}});var M=d(H,2);B(M,{width:O,level:3,get isDisabled(){return e(f)},$$events:{click:Ne},children:(v,A)=>{C();var c=k();m(()=>w(c,r.passwordReset.generate)),p(v,c)},$$slots:{default:!0}});var oe=d(M,2);B(oe,{width:O,level:2,get isDisabled(){return e(f)},get isLoading(){return e(N)},set isLoading(v){s(N,l(v))},$$events:{click:Le},children:(v,A)=>{C();var c=k();m(()=>w(c,r.common.save)),p(v,c)},$$slots:{default:!0}});var ce=d(oe,2);{var me=v=>{var A=fs(),c=_(A),T=d(c,2);R(A),m(()=>{w(c,`${r.passwordReset.success1??""} `),w(T,` ${r.passwordReset.success2??""}`)}),p(v,A)};y(ce,v=>{e(f)&&v(me)})}R($),je(3,$,()=>qe),p(o,$)},E=o=>{var $=ie(),L=V($);{var le=H=>{var M=$s(),oe=_(M);ws(oe,{autocomplete:"off",get placeholder(){return r.mfa.passkeyName},width:Q,get disabled(){return e(f)},get value(){return e(n).passkeyName},set value(c){e(n).passkeyName=c},get error(){return e(x).passkeyName},set error(c){e(x).passkeyName=c},$$events:{enter:Ie},children:(c,T)=>{C();var S=k();m(()=>w(S,r.mfa.passkeyName)),p(c,S)},$$slots:{default:!0}});var ce=d(oe,2),me=as(()=>e(f)?2:1);B(ce,{width:O,get level(){return e(me)},get isDisabled(){return e(f)},$$events:{click:Ie},children:(c,T)=>{C();var S=k();m(()=>w(S,r.mfa.register)),p(c,S)},$$slots:{default:!0}});var v=d(ce,2);{var A=c=>{var T=hs(),S=_(T),He=_(S,!0);R(S);var fe=d(S,2),Qe=_(fe,!0);R(fe);var Ye=d(fe,2);B(Ye,{width:O,level:1,$$events:{click:Ce},children:(Ze,Ns)=>{C();var We=k();m(()=>w(We,r.passwordReset.accountLogin)),p(Ze,We)},$$slots:{default:!0}}),R(T),m(()=>{w(He,r.passwordReset.successPasskey1),w(Qe,r.passwordReset.successPasskey2)}),p(c,T)};y(v,c=>{e(f)&&c(A)})}R(M),je(3,M,()=>qe),p(H,M)};y(L,H=>{e(Z)==="passkey"&&H(le)},!0)}p(o,$)};y(z,o=>{e(Z)==="password"?o(u):o(E,!1)})}m(()=>{w(h,r.passwordReset.newAccount),w(ae,r.passwordReset.newAccDesc1),w(G,r.passwordReset.newAccDesc2),Ae(K,"href",r.passwordReset.fidoLink)}),p(a,t)},Me=a=>{var t=ie(),i=V(t);{var b=D=>{var h=ks(),q=V(h);{var ae=u=>{Fe(u,{purpose:"PasswordReset",onSuccess:Ee,onError:pe,get data(){return e(j)},set data(E){s(j,l(E))}})};y(q,u=>{e(j)&&u(ae)})}var F=d(q,4);Oe(F,{get policy(){return e(W)},get password(){return e(n).password},get accepted(){return e(se)},set accepted(u){s(se,l(u))}});var G=d(F,2);we(G,{get error(){return e(x).password},autocomplete:"new-password",get placeholder(){return r.passwordReset.password},width:Q,get showCopy(){return e(re)},get value(){return e(n).password},set value(u){e(n).password=u},children:(u,E)=>{C();var o=k();m(()=>w(o,r.passwordReset.password.toUpperCase())),p(u,o)},$$slots:{default:!0}});var K=d(G,2);we(K,{get error(){return e(x).passwordConfirm},autocomplete:"new-password",get placeholder(){return r.passwordReset.passwordConfirm},width:Q,get showCopy(){return e(re)},get value(){return e(n).passwordConfirm},set value(u){e(n).passwordConfirm=u},children:(u,E)=>{C();var o=k();m(()=>w(o,r.passwordReset.passwordConfirm.toUpperCase())),p(u,o)},$$slots:{default:!0}});var P=d(K,2);B(P,{width:O,level:3,$$events:{click:Ne},children:(u,E)=>{C();var o=k();m(()=>w(o,r.passwordReset.generate)),p(u,o)},$$slots:{default:!0}});var J=d(P,2);B(J,{width:O,level:2,get isLoading(){return e(N)},set isLoading(u){s(N,l(u))},$$events:{click:Le},children:(u,E)=>{C();var o=k();m(()=>w(o,r.common.save)),p(u,o)},$$slots:{default:!0}});var te=d(J,2);{var z=u=>{var E=bs(),o=_(E),$=d(o,2),L=d($,3);R(E),m(()=>{w(o,`${r.passwordReset.success1??""}
-                ${r.passwordReset.success2??""} `),w($,` ${r.passwordReset.success3??""} `),Ae(L,"href",e(ee)||"/auth/v1/account")}),p(u,E)};y(te,u=>{e(f)&&u(z)})}p(D,h)};y(i,D=>{e(Y).startsWith("password_reset")&&D(b)},!0)}p(a,t)};y(Pe,a=>{e(Y).startsWith("new_user")?a(Je):a(Me,!1)})}var Te=d(Pe,2);{var Xe=a=>{var t=_s(),i=_(t,!0);R(t),m(()=>w(i,e(I))),p(a,t)};y(Te,a=>{e(I)&&a(Xe)})}R(ve);var ze=d(ve,2);vs(ze,{absolute:!0}),p(Ve,xe),rs()}export{Cs as component};
diff --git a/static/v1/_app/immutable/nodes/30.C8nt_tI6.js.br b/static/v1/_app/immutable/nodes/30.C8nt_tI6.js.br
deleted file mode 100644
index becc5aa2c..000000000
Binary files a/static/v1/_app/immutable/nodes/30.C8nt_tI6.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/30.C8nt_tI6.js.gz b/static/v1/_app/immutable/nodes/30.C8nt_tI6.js.gz
deleted file mode 100644
index 41d4aea2c..000000000
Binary files a/static/v1/_app/immutable/nodes/30.C8nt_tI6.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/30.DLhrrsHh.js b/static/v1/_app/immutable/nodes/30.DLhrrsHh.js
new file mode 100644
index 000000000..902f06454
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/30.DLhrrsHh.js
@@ -0,0 +1,2 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import{p as as,P as y,o as ts,Q as W,a as os,j as s,T as m,$ as Ne,g as e,R as o,U as R,W as C,V as b,h as is}from"../chunks/index-client.CzqVbBUo.js";import{s as u}from"../chunks/render.CK5MTJQL.js";import{p as d,i as $}from"../chunks/if.BnegfJmL.js";import{a as t,t as q,c as Z,b as L}from"../chunks/template.io25wnf1.js";import{h as ds}from"../chunks/svelte-head.BSz900xL.js";import{B as F,s as He,t as Te,a as Ve}from"../chunks/Button.JzTZa4bh.js";import{s as ns}from"../chunks/helpers.BvaXa0cv.js";import{r as ge}from"../chunks/legacy-client.DPLAlLYD.js";import{c as Ge,a as Ke,I as ls}from"../chunks/Input.jkTumKYK.js";import{A as ps,v as cs,B as us,o as Me,D as ws,E as vs,F as ms,G as De,H as Ee,I as fs}from"../chunks/dataFetching.Br47vc1D.js";import{P as Qe}from"../chunks/PasswordPolicy.DbNoBlQZ.js";import{P as he}from"../chunks/PasswordInput.DOldwDot.js";import{W as Ye}from"../chunks/WebauthnRequest.DHqnsBvK.js";import{L as gs}from"../chunks/LangSelector.DQTzLAdQ.js";import"../chunks/is_dev.svelte.qp6n2kD5.js";import{u as hs}from"../chunks/i18n.svelte.C_qSL0ZA.js";import{M as ys,C as $s}from"../chunks/ContentCenter.B2VsFG_i.js";import{T as _s}from"../chunks/Template.mSBxkRZ-.js";var ks=q('<div class="success svelte-14344wy"> <br> </div>'),Rs=q("<div><!> <!> <!> <!> <!> <!></div>"),Cs=q('<div class="success svelte-14344wy"><p> </p> <p> </p> <!></div>'),bs=q("<div><!> <!> <!></div>"),Ls=q('<!> <h1> </h1> <p> </p> <p> <a target="_blank" class="svelte-14344wy">FIDO Alliance</a></p> <div><!> <!></div> <!>',1),Ns=q('<div class="success svelte-14344wy"> <br> <br> <a class="svelte-14344wy">Link</a></div>'),Ks=q("<!> <h1>Password Reset</h1> <!> <!> <!> <!> <!> <!>",1),Ds=q('<div class="err svelte-14344wy"> </div>'),Es=q('<div class="container"><!> <!></div>'),xs=q("<!> <!> <!>",1);function Ps(Be,Xe){as(Xe,!0);const J="150px",z="320px";let r=hs(),p=y(void 0),N=y(!1),K=y(""),ee=y(""),se=y(""),re=y(""),g=y(!1),ae=y(!1),te=y(!1),A=y(void 0),i=y(d({passkeyName:"",password:"",passwordConfirm:""})),P=y(d({})),xe=y(void 0),Pe=y(void 0);ts(async()=>{s(ee,"password_reset")});function qe(){window.location.replace("/auth/v1/account")}function Ae(){if(e(p)){const w=e(p).password_policy.length_min>24?e(p).password_policy.length_min:24;let _=us(w,e(p).password_policy.include_lower_case,e(p).password_policy.include_upper_case,e(p).password_policy.include_digits,e(p).password_policy.include_special);e(i).password=_,e(i).passwordConfirm=_}}async function Ie(){if(!e(p)){console.error("template data is undefined");return}s(K,"");try{await e(xe).validate(e(i),{abortEarly:!1}),s(P,d({}))}catch(n){s(P,d(Me(n)));return}const w=e(i).passkeyName;if(w.length<2){s(K,d(r.mfa.passkeyNameErr));return}let _={passkey_name:w,magic_link_id:e(p).magic_link_id},f=await ms(e(p).user_id,_,e(p).csrf_token);if(f.status===200){let n=await f.json();n.publicKey.authenticatorSelection.userVerification="required",n.publicKey.challenge=De(n.publicKey.challenge),n.publicKey.user.id=De(n.publicKey.user.id),n.publicKey.excludeCredentials=n.publicKey.excludeCredentials,n.publicKey.excludeCredentials&&(n.publicKey.excludeCredentials=n.publicKey.excludeCredentials.map(O=>(O.id=De(O.id),O)));let D=await navigator.credentials.create(n),I={passkey_name:w,data:{id:D.id,rawId:Ee(D.rawId),response:{attestationObject:Ee(D.response.attestationObject),clientDataJSON:Ee(D.response.clientDataJSON)},type:D.type},magic_link_id:e(p).magic_link_id};f=await fs(userId,I,e(p).csrf_token),f.status===201?(s(i,d({passkeyName:"",password:"",passwordConfirm:""})),s(g,!0)):(pe(),console.error(f))}else{pe();let n=await f.json();console.error(n.error),console.error(n.message)}}async function je(){var w,_;try{await e(Pe).validate(e(i),{abortEarly:!1}),s(P,d({}))}catch(f){s(P,d(Me(f)));return}if(e(ae)){if(e(i).password.length>256){s(K,"max 256");return}if(e(i).password!==e(i).passwordConfirm){s(K,d(r.passwordReset.passwordNoMatch));return}else s(K,"");if((w=e(p))!=null&&w.needs_mfa){let f=await ws((_=e(p))==null?void 0:_.user_id,{purpose:"PasswordReset"}),n=await f.json();if(!f.ok){s(K,d(n.message)),s(N,!1);return}if(n.user_id!==e(p).user_id){s(K,"MFA user ID does not match - this should never happen"),s(N,!1);return}s(A,d(n))}else await Se()}}async function Se(w){var n;if(!e(p))return;s(N,!0);const _={password:e(i).password,magic_link_id:e(p).magic_link_id,mfa_code:w},f=await vs(e(p).user_id,_,(n=e(p))==null?void 0:n.csrf_token);if(f.ok)s(K,""),s(i,d({passkeyName:"",password:"",passwordConfirm:""})),s(re,d(f.headers.get("Location"))),console.log("redirectUri: "+e(re)),s(g,!0);else{const D=await f.json();s(K,d(D.message))}s(N,!1)}function pe(){s(A,void 0),s(K,d(r.mfa.errorReg))}function Ue(w){w&&(s(A,void 0),Se(w.code))}ge(()=>{r&&(s(xe,d(Ge().shape({passkeyName:Ke().required(r.common.required).matches(cs,r.mfa.passkeyNameErr)}))),s(Pe,d(Ge().shape({password:Ke().required(r.common.required),passwordConfirm:Ke().required(r.common.required)}))))}),ge(()=>{e(se)&&s(i,d({passkeyName:"",password:"",passwordConfirm:""}))}),ge(()=>{var w;((w=e(i).password)==null?void 0:w.length)>0&&e(i).password===e(i).passwordConfirm&&s(te,!0)}),ge(()=>{e(g)&&setTimeout(()=>{e(re)?window.location.replace(e(re)):qe()},5e3)});var We=xs();ds(w=>{var _=Z(),f=W(_);{var n=I=>{var O=Z(),oe=W(O);{var ie=H=>{m(()=>Ne.title=r.passwordReset.newAccount)},ce=H=>{var ue=Z(),ye=W(ue);{var $e=k=>{m(()=>Ne.title=r.passwordReset.passwordReset)};$(ye,k=>{e(ee)==="password_reset"&&k($e)},!0)}t(H,ue)};$(oe,H=>{e(ee).startsWith("new_user")?H(ie):H(ce,!1)})}t(I,O)},D=I=>{Ne.title="Password"};$(f,I=>{r?I(n):I(D,!1)})}t(w,_)});var Je=W(We);_s(Je,{id:ps,get value(){return e(p)},set value(w){s(p,d(w))}});var Oe=o(Je,2);ys(Oe,{children:(w,_)=>{$s(w,{children:(f,n)=>{var D=Z(),I=W(D);{var O=oe=>{var ie=Es(),ce=R(ie);{var H=k=>{var j=Ls(),Q=W(j);{var _e=a=>{Ye(a,{onSuccess:Ue,onError:pe,get data(){return e(A)},set data(h){s(A,d(h))}})};$(Q,a=>{e(A)&&a(_e)})}var T=o(Q,2),we=R(T,!0);C(T);var Y=o(T,2),ke=R(Y,!0);C(Y);var B=o(Y,2),de=R(B,!0),ve=o(de);C(B);var V=o(B,2);ns(V,"margin-bottom","1rem");var ne=R(V);F(ne,{width:J,level:2,get isDisabled(){return e(g)},get isLoading(){return e(N)},set isLoading(a){s(N,d(a))},$$events:{click:()=>s(se,"passkey")},children:(a,h)=>{b();var E=L();m(()=>u(E,r.passwordReset.passwordless)),t(a,E)},$$slots:{default:!0}});var Re=o(ne,2);F(Re,{width:J,level:3,get isDisabled(){return e(g)},get isLoading(){return e(N)},set isLoading(a){s(N,d(a))},$$events:{click:()=>s(se,"password")},children:(a,h)=>{b();var E=L();m(()=>u(E,r.passwordReset.password)),t(a,E)},$$slots:{default:!0}}),C(V);var Ce=o(V,2);{var c=a=>{var h=Rs(),E=R(h);Qe(E,{get policy(){return e(p).password_policy},get password(){return e(i).password},get accepted(){return e(ae)},set accepted(v){s(ae,d(v))}});var me=o(E,2);he(me,{get error(){return e(P).password},autocomplete:"new-password",get placeholder(){return r.passwordReset.password},width:z,get showCopy(){return e(te)},get disabled(){return e(g)},get value(){return e(i).password},set value(v){e(i).password=v},children:(v,S)=>{b();var l=L();m(()=>u(l,r.passwordReset.password.toUpperCase())),t(v,l)},$$slots:{default:!0}});var X=o(me,2);he(X,{get error(){return e(P).passwordConfirm},autocomplete:"new-password",get placeholder(){return r.passwordReset.passwordConfirm},width:z,get showCopy(){return e(te)},get disabled(){return e(g)},get value(){return e(i).passwordConfirm},set value(v){e(i).passwordConfirm=v},children:(v,S)=>{b();var l=L();m(()=>u(l,r.passwordReset.passwordConfirm.toUpperCase())),t(v,l)},$$slots:{default:!0}});var G=o(X,2);F(G,{width:J,level:3,get isDisabled(){return e(g)},$$events:{click:Ae},children:(v,S)=>{b();var l=L();m(()=>u(l,r.passwordReset.generate)),t(v,l)},$$slots:{default:!0}});var le=o(G,2);F(le,{width:J,level:2,get isDisabled(){return e(g)},get isLoading(){return e(N)},set isLoading(v){s(N,d(v))},$$events:{click:je},children:(v,S)=>{b();var l=L();m(()=>u(l,r.common.save)),t(v,l)},$$slots:{default:!0}});var fe=o(le,2);{var be=v=>{var S=ks(),l=R(S),M=o(l,2);C(S),m(()=>{u(l,`${r.passwordReset.success1??""} `),u(M,` ${r.passwordReset.success2??""}`)}),t(v,S)};$(fe,v=>{e(g)&&v(be)})}C(h),Te(3,h,()=>Ve),t(a,h)},x=a=>{var h=Z(),E=W(h);{var me=X=>{var G=bs(),le=R(G);ls(le,{autocomplete:"off",get placeholder(){return r.mfa.passkeyName},width:z,get disabled(){return e(g)},get value(){return e(i).passkeyName},set value(l){e(i).passkeyName=l},get error(){return e(P).passkeyName},set error(l){e(P).passkeyName=l},$$events:{enter:Ie},children:(l,M)=>{b();var U=L();m(()=>u(U,r.mfa.passkeyName)),t(l,U)},$$slots:{default:!0}});var fe=o(le,2),be=is(()=>e(g)?2:1);F(fe,{width:J,get level(){return e(be)},get isDisabled(){return e(g)},$$events:{click:Ie},children:(l,M)=>{b();var U=L();m(()=>u(U,r.mfa.register)),t(l,U)},$$slots:{default:!0}});var v=o(fe,2);{var S=l=>{var M=Cs(),U=R(M),ze=R(U,!0);C(U);var Le=o(U,2),es=R(Le,!0);C(Le);var ss=o(Le,2);F(ss,{width:J,level:1,$$events:{click:qe},children:(rs,qs)=>{b();var Fe=L();m(()=>u(Fe,r.passwordReset.accountLogin)),t(rs,Fe)},$$slots:{default:!0}}),C(M),m(()=>{u(ze,r.passwordReset.successPasskey1),u(es,r.passwordReset.successPasskey2)}),t(l,M)};$(v,l=>{e(g)&&l(S)})}C(G),Te(3,G,()=>Ve),t(X,G)};$(E,X=>{e(se)==="passkey"&&X(me)},!0)}t(a,h)};$(Ce,a=>{e(se)==="password"?a(c):a(x,!1)})}m(()=>{u(we,r.passwordReset.newAccount),u(ke,r.passwordReset.newAccDesc1),u(de,r.passwordReset.newAccDesc2),He(ve,"href",r.passwordReset.fidoLink)}),t(k,j)},ue=k=>{var j=Z(),Q=W(j);{var _e=T=>{var we=Ks(),Y=W(we);{var ke=c=>{Ye(c,{purpose:"PasswordReset",onSuccess:Ue,onError:pe,get data(){return e(A)},set data(x){s(A,d(x))}})};$(Y,c=>{e(A)&&c(ke)})}var B=o(Y,4);Qe(B,{get policy(){return e(p).password_policy},get password(){return e(i).password},get accepted(){return e(ae)},set accepted(c){s(ae,d(c))}});var de=o(B,2);he(de,{get error(){return e(P).password},autocomplete:"new-password",get placeholder(){return r.passwordReset.password},width:z,get showCopy(){return e(te)},get value(){return e(i).password},set value(c){e(i).password=c},children:(c,x)=>{b();var a=L();m(()=>u(a,r.passwordReset.password.toUpperCase())),t(c,a)},$$slots:{default:!0}});var ve=o(de,2);he(ve,{get error(){return e(P).passwordConfirm},autocomplete:"new-password",get placeholder(){return r.passwordReset.passwordConfirm},width:z,get showCopy(){return e(te)},get value(){return e(i).passwordConfirm},set value(c){e(i).passwordConfirm=c},children:(c,x)=>{b();var a=L();m(()=>u(a,r.passwordReset.passwordConfirm.toUpperCase())),t(c,a)},$$slots:{default:!0}});var V=o(ve,2);F(V,{width:J,level:3,$$events:{click:Ae},children:(c,x)=>{b();var a=L();m(()=>u(a,r.passwordReset.generate)),t(c,a)},$$slots:{default:!0}});var ne=o(V,2);F(ne,{width:J,level:2,get isLoading(){return e(N)},set isLoading(c){s(N,d(c))},$$events:{click:je},children:(c,x)=>{b();var a=L();m(()=>u(a,r.common.save)),t(c,a)},$$slots:{default:!0}});var Re=o(ne,2);{var Ce=c=>{var x=Ns(),a=R(x),h=o(a,2),E=o(h,3);C(x),m(()=>{u(a,`${r.passwordReset.success1??""}
+                            ${r.passwordReset.success2??""} `),u(h,` ${r.passwordReset.success3??""} `),He(E,"href",e(re)||"/auth/v1/account")}),t(c,x)};$(Re,c=>{e(g)&&c(Ce)})}t(T,we)};$(Q,T=>{e(ee).startsWith("password_reset")&&T(_e)},!0)}t(k,j)};$(ce,k=>{e(ee).startsWith("new_user")?k(H):k(ue,!1)})}var ye=o(ce,2);{var $e=k=>{var j=Ds(),Q=R(j,!0);C(j),m(()=>u(Q,e(K))),t(k,j)};$(ye,k=>{e(K)&&k($e)})}C(ie),t(oe,ie)};$(I,oe=>{e(p)&&oe(O)})}t(f,D)},$$slots:{default:!0}})},$$slots:{default:!0}});var Ze=o(Oe,2);gs(Ze,{absolute:!0}),t(Be,We),os()}export{Ps as component};
diff --git a/static/v1/_app/immutable/nodes/30.DLhrrsHh.js.br b/static/v1/_app/immutable/nodes/30.DLhrrsHh.js.br
new file mode 100644
index 000000000..3314c647b
Binary files /dev/null and b/static/v1/_app/immutable/nodes/30.DLhrrsHh.js.br differ
diff --git a/static/v1/_app/immutable/nodes/30.DLhrrsHh.js.gz b/static/v1/_app/immutable/nodes/30.DLhrrsHh.js.gz
new file mode 100644
index 000000000..9856240ef
Binary files /dev/null and b/static/v1/_app/immutable/nodes/30.DLhrrsHh.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/4.DfcNkhQ2.js b/static/v1/_app/immutable/nodes/4.DfcNkhQ2.js
new file mode 100644
index 000000000..c44fe345e
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/4.DfcNkhQ2.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{A as t}from"../chunks/AdminMainPre.CSGzinoD.js";function e(o){t(o,{selected:"Users"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/4.DfcNkhQ2.js.br b/static/v1/_app/immutable/nodes/4.DfcNkhQ2.js.br
new file mode 100644
index 000000000..40666ac39
Binary files /dev/null and b/static/v1/_app/immutable/nodes/4.DfcNkhQ2.js.br differ
diff --git a/static/v1/_app/immutable/nodes/4.DfcNkhQ2.js.gz b/static/v1/_app/immutable/nodes/4.DfcNkhQ2.js.gz
new file mode 100644
index 000000000..356b98bea
Binary files /dev/null and b/static/v1/_app/immutable/nodes/4.DfcNkhQ2.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/4.o4_Xudri.js b/static/v1/_app/immutable/nodes/4.o4_Xudri.js
deleted file mode 100644
index d9bd8b5d3..000000000
--- a/static/v1/_app/immutable/nodes/4.o4_Xudri.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{A as t}from"../chunks/AdminMainPre.BC7y4hZJ.js";function e(o){t(o,{selected:"Users"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/4.o4_Xudri.js.br b/static/v1/_app/immutable/nodes/4.o4_Xudri.js.br
deleted file mode 100644
index f9d87bdfb..000000000
Binary files a/static/v1/_app/immutable/nodes/4.o4_Xudri.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/4.o4_Xudri.js.gz b/static/v1/_app/immutable/nodes/4.o4_Xudri.js.gz
deleted file mode 100644
index a451b9a02..000000000
Binary files a/static/v1/_app/immutable/nodes/4.o4_Xudri.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/5.DgnRROwW.js b/static/v1/_app/immutable/nodes/5.DgnRROwW.js
new file mode 100644
index 000000000..b640eed51
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/5.DgnRROwW.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{A as t}from"../chunks/AdminMainPre.CSGzinoD.js";function e(o){t(o,{selected:"ApiKeys"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/5.DgnRROwW.js.br b/static/v1/_app/immutable/nodes/5.DgnRROwW.js.br
new file mode 100644
index 000000000..e7c599107
Binary files /dev/null and b/static/v1/_app/immutable/nodes/5.DgnRROwW.js.br differ
diff --git a/static/v1/_app/immutable/nodes/5.DgnRROwW.js.gz b/static/v1/_app/immutable/nodes/5.DgnRROwW.js.gz
new file mode 100644
index 000000000..7a0d4db05
Binary files /dev/null and b/static/v1/_app/immutable/nodes/5.DgnRROwW.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/5.F9D6MuWR.js b/static/v1/_app/immutable/nodes/5.F9D6MuWR.js
deleted file mode 100644
index a23e93392..000000000
--- a/static/v1/_app/immutable/nodes/5.F9D6MuWR.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{A as t}from"../chunks/AdminMainPre.BC7y4hZJ.js";function e(o){t(o,{selected:"ApiKeys"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/5.F9D6MuWR.js.br b/static/v1/_app/immutable/nodes/5.F9D6MuWR.js.br
deleted file mode 100644
index 4a7340b63..000000000
Binary files a/static/v1/_app/immutable/nodes/5.F9D6MuWR.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/5.F9D6MuWR.js.gz b/static/v1/_app/immutable/nodes/5.F9D6MuWR.js.gz
deleted file mode 100644
index 27dda2ddc..000000000
Binary files a/static/v1/_app/immutable/nodes/5.F9D6MuWR.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/6.DfcNkhQ2.js b/static/v1/_app/immutable/nodes/6.DfcNkhQ2.js
new file mode 100644
index 000000000..c44fe345e
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/6.DfcNkhQ2.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{A as t}from"../chunks/AdminMainPre.CSGzinoD.js";function e(o){t(o,{selected:"Users"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/6.DfcNkhQ2.js.br b/static/v1/_app/immutable/nodes/6.DfcNkhQ2.js.br
new file mode 100644
index 000000000..40666ac39
Binary files /dev/null and b/static/v1/_app/immutable/nodes/6.DfcNkhQ2.js.br differ
diff --git a/static/v1/_app/immutable/nodes/6.DfcNkhQ2.js.gz b/static/v1/_app/immutable/nodes/6.DfcNkhQ2.js.gz
new file mode 100644
index 000000000..356b98bea
Binary files /dev/null and b/static/v1/_app/immutable/nodes/6.DfcNkhQ2.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/6.o4_Xudri.js b/static/v1/_app/immutable/nodes/6.o4_Xudri.js
deleted file mode 100644
index d9bd8b5d3..000000000
--- a/static/v1/_app/immutable/nodes/6.o4_Xudri.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{A as t}from"../chunks/AdminMainPre.BC7y4hZJ.js";function e(o){t(o,{selected:"Users"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/6.o4_Xudri.js.br b/static/v1/_app/immutable/nodes/6.o4_Xudri.js.br
deleted file mode 100644
index f9d87bdfb..000000000
Binary files a/static/v1/_app/immutable/nodes/6.o4_Xudri.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/6.o4_Xudri.js.gz b/static/v1/_app/immutable/nodes/6.o4_Xudri.js.gz
deleted file mode 100644
index a451b9a02..000000000
Binary files a/static/v1/_app/immutable/nodes/6.o4_Xudri.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/7.BScIbGWF.js b/static/v1/_app/immutable/nodes/7.BScIbGWF.js
deleted file mode 100644
index c3d49b66d..000000000
--- a/static/v1/_app/immutable/nodes/7.BScIbGWF.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{A as o}from"../chunks/AdminMainPre.BC7y4hZJ.js";function e(t){o(t,{selected:"Blacklist"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/7.BScIbGWF.js.br b/static/v1/_app/immutable/nodes/7.BScIbGWF.js.br
deleted file mode 100644
index 2b6f8a043..000000000
Binary files a/static/v1/_app/immutable/nodes/7.BScIbGWF.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/7.BScIbGWF.js.gz b/static/v1/_app/immutable/nodes/7.BScIbGWF.js.gz
deleted file mode 100644
index ce131313c..000000000
Binary files a/static/v1/_app/immutable/nodes/7.BScIbGWF.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/7.BXLH6c3a.js b/static/v1/_app/immutable/nodes/7.BXLH6c3a.js
new file mode 100644
index 000000000..dcac74c9e
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/7.BXLH6c3a.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{A as o}from"../chunks/AdminMainPre.CSGzinoD.js";function e(t){o(t,{selected:"Blacklist"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/7.BXLH6c3a.js.br b/static/v1/_app/immutable/nodes/7.BXLH6c3a.js.br
new file mode 100644
index 000000000..e4eb18a12
Binary files /dev/null and b/static/v1/_app/immutable/nodes/7.BXLH6c3a.js.br differ
diff --git a/static/v1/_app/immutable/nodes/7.BXLH6c3a.js.gz b/static/v1/_app/immutable/nodes/7.BXLH6c3a.js.gz
new file mode 100644
index 000000000..6345990f0
Binary files /dev/null and b/static/v1/_app/immutable/nodes/7.BXLH6c3a.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/8.DJkHqmWH.js b/static/v1/_app/immutable/nodes/8.DJkHqmWH.js
deleted file mode 100644
index a7561c7fc..000000000
--- a/static/v1/_app/immutable/nodes/8.DJkHqmWH.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{A as t}from"../chunks/AdminMainPre.BC7y4hZJ.js";function e(o){t(o,{selected:"Clients"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/8.DJkHqmWH.js.br b/static/v1/_app/immutable/nodes/8.DJkHqmWH.js.br
deleted file mode 100644
index 0a83c4960..000000000
Binary files a/static/v1/_app/immutable/nodes/8.DJkHqmWH.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/8.DJkHqmWH.js.gz b/static/v1/_app/immutable/nodes/8.DJkHqmWH.js.gz
deleted file mode 100644
index 1b436dc05..000000000
Binary files a/static/v1/_app/immutable/nodes/8.DJkHqmWH.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/8.UvscZEbC.js b/static/v1/_app/immutable/nodes/8.UvscZEbC.js
new file mode 100644
index 000000000..120e4c611
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/8.UvscZEbC.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{A as t}from"../chunks/AdminMainPre.CSGzinoD.js";function e(o){t(o,{selected:"Clients"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/8.UvscZEbC.js.br b/static/v1/_app/immutable/nodes/8.UvscZEbC.js.br
new file mode 100644
index 000000000..64e873080
Binary files /dev/null and b/static/v1/_app/immutable/nodes/8.UvscZEbC.js.br differ
diff --git a/static/v1/_app/immutable/nodes/8.UvscZEbC.js.gz b/static/v1/_app/immutable/nodes/8.UvscZEbC.js.gz
new file mode 100644
index 000000000..18cd91979
Binary files /dev/null and b/static/v1/_app/immutable/nodes/8.UvscZEbC.js.gz differ
diff --git a/static/v1/_app/immutable/nodes/9.5SYTyflJ.js b/static/v1/_app/immutable/nodes/9.5SYTyflJ.js
deleted file mode 100644
index bb168b119..000000000
--- a/static/v1/_app/immutable/nodes/9.5SYTyflJ.js
+++ /dev/null
@@ -1 +0,0 @@
-import"../chunks/disclose-version.DZhRUPAc.js";import"../chunks/legacy.BuHyzquP.js";import{A as t}from"../chunks/AdminMainPre.BC7y4hZJ.js";function e(o){t(o,{selected:"Config"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/9.5SYTyflJ.js.br b/static/v1/_app/immutable/nodes/9.5SYTyflJ.js.br
deleted file mode 100644
index 685cf0907..000000000
Binary files a/static/v1/_app/immutable/nodes/9.5SYTyflJ.js.br and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/9.5SYTyflJ.js.gz b/static/v1/_app/immutable/nodes/9.5SYTyflJ.js.gz
deleted file mode 100644
index 8ef036a57..000000000
Binary files a/static/v1/_app/immutable/nodes/9.5SYTyflJ.js.gz and /dev/null differ
diff --git a/static/v1/_app/immutable/nodes/9.C6jYcuax.js b/static/v1/_app/immutable/nodes/9.C6jYcuax.js
new file mode 100644
index 000000000..3fbb16228
--- /dev/null
+++ b/static/v1/_app/immutable/nodes/9.C6jYcuax.js
@@ -0,0 +1 @@
+import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Cdp_P06_.js";import{A as t}from"../chunks/AdminMainPre.CSGzinoD.js";function e(o){t(o,{selected:"Config"})}export{e as component};
diff --git a/static/v1/_app/immutable/nodes/9.C6jYcuax.js.br b/static/v1/_app/immutable/nodes/9.C6jYcuax.js.br
new file mode 100644
index 000000000..2bfbd5d17
Binary files /dev/null and b/static/v1/_app/immutable/nodes/9.C6jYcuax.js.br differ
diff --git a/static/v1/_app/immutable/nodes/9.C6jYcuax.js.gz b/static/v1/_app/immutable/nodes/9.C6jYcuax.js.gz
new file mode 100644
index 000000000..db18e1d16
Binary files /dev/null and b/static/v1/_app/immutable/nodes/9.C6jYcuax.js.gz differ
diff --git a/static/v1/_app/version.json b/static/v1/_app/version.json
index ef27f6a17..c692cf984 100644
--- a/static/v1/_app/version.json
+++ b/static/v1/_app/version.json
@@ -1 +1 @@
-{"version":"1737373816864"}
\ No newline at end of file
+{"version":"1737454727598"}
\ No newline at end of file
diff --git a/static/v1/_app/version.json.br b/static/v1/_app/version.json.br
index 659ee235d..d4201a474 100644
Binary files a/static/v1/_app/version.json.br and b/static/v1/_app/version.json.br differ
diff --git a/static/v1/_app/version.json.gz b/static/v1/_app/version.json.gz
index 21e5bd3dd..16ee945d0 100644
Binary files a/static/v1/_app/version.json.gz and b/static/v1/_app/version.json.gz differ
diff --git a/templates/html/account.html b/templates/html/account.html
index 89f7773f0..bcd5315e7 100644
--- a/templates/html/account.html
+++ b/templates/html/account.html
@@ -41,69 +41,64 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-zq6QSf4cCBxyCTzGxytVdjc5AZlZbLad4eSqJtiq9aI='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-pvwnBb/7v959QaqAu/ziM9wQvrlIec9B4ocYQ++odgI='; style-src 'self' 'unsafe-inline'">
 		<link href="./_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
-		<link href="./_app/immutable/assets/3.CF_aMXlW.css" rel="stylesheet">
-		<link href="./_app/immutable/assets/Loading.BVnr1IrI.css" rel="stylesheet">
-		<link href="./_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
+		<link href="./_app/immutable/assets/3.DD7tddh9.css" rel="stylesheet">
+		<link href="./_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/Devices.BgusA-6p.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
-		<link href="./_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/LangSelector.O5X7vySz.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/WebauthnRequest._nhbHN0l.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/ContentCenter.BpmtvV5f.css" rel="stylesheet">
-		<link rel="modulepreload" href="./_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="./_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/3.BgldDfnM.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Loading.wZ55XKP1.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Devices.BuQD3GeY.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/LangSelector.mSh8cV6Q.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/PasswordPolicy.D9rZurKD.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/WebauthnRequest.CHVZELhw.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/ContentCenter.CsjyBf2d.js"><!--[--><!--]--><title>User Account </title>
+		<link rel="modulepreload" href="./_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/3.CdKQrrNc.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Devices.1_HD5eJJ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/LangSelector.DQTzLAdQ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/WebauthnRequest.DHqnsBvK.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Template.mSBxkRZ-.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/ContentCenter.B2VsFG_i.js"><!--[--><!--]--><title>User Account </title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
 </div>
-<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><!--[--><div class="container svelte-10pff2x global background"><div class="inner svelte-10pff2x" style="margin-top: 0px"><!--[--><div class="circle svelte-10pff2x"></div><!--]--> <!--[!--><!--]--> <!--[!--><!--]--></div></div><!--]--><!----></div><!----></main><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><!--[--><div class="container svelte-1yqkxw6 local"><div class="loading svelte-1yqkxw6" style="margin-top: 0px;"><div style="background: hsl(var(--text));" class="loading-1 svelte-1yqkxw6"></div> <div style="background: hsl(var(--text));" class="loading-2 svelte-1yqkxw6"></div> <div style="background: hsl(var(--text));" class="loading-3 svelte-1yqkxw6"></div></div></div><!--]--><!----></div><!----></main><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL(".", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -111,8 +106,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("./_app/immutable/entry/start.Bj78bRRv.js"),
-						import("./_app/immutable/entry/app.Dj8nXbmK.js")
+						import("./_app/immutable/entry/start.CtTLem66.js"),
+						import("./_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 3],
diff --git a/templates/html/account.html.br b/templates/html/account.html.br
index de189e527..42f39b24b 100644
Binary files a/templates/html/account.html.br and b/templates/html/account.html.br differ
diff --git a/templates/html/account.html.gz b/templates/html/account.html.gz
index cac930176..6d2daea0e 100644
Binary files a/templates/html/account.html.gz and b/templates/html/account.html.gz differ
diff --git a/templates/html/admin.html b/templates/html/admin.html
index 0fe352c66..dff0af870 100644
--- a/templates/html/admin.html
+++ b/templates/html/admin.html
@@ -41,56 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-T9C/q+ajAXld0vKstGmRB53Y1OLevh559e0mQsUieSA='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-PlfIwgL/WyMXC0Fpt+uDGUnt78NlT3m1tkzptzVVGbA='; style-src 'self' 'unsafe-inline'">
 		<link href="./_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/AdminMainPre.ZcanbrCY.css" rel="stylesheet">
-		<link href="./_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link href="./_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
+		<link href="./_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/Devices.BgusA-6p.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/AppVersion.DHsV5F-O.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
-		<link rel="modulepreload" href="./_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="./_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/4.o4_Xudri.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Devices.BuQD3GeY.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/AppVersion.DL5DXmu_.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/PasswordPolicy.D9rZurKD.js"><!--[--><!--]--><title>Admin</title>
+		<link rel="modulepreload" href="./_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/4.DfcNkhQ2.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/AdminMainPre.CSGzinoD.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Devices.1_HD5eJJ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/AppVersion.C23iCWTd.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js"><!--[--><!--]--><title>Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -99,7 +95,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL(".", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("./_app/immutable/entry/start.Bj78bRRv.js"),
-						import("./_app/immutable/entry/app.Dj8nXbmK.js")
+						import("./_app/immutable/entry/start.CtTLem66.js"),
+						import("./_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 4],
diff --git a/templates/html/admin.html.br b/templates/html/admin.html.br
index cdf61cc8f..1ba13ef48 100644
Binary files a/templates/html/admin.html.br and b/templates/html/admin.html.br differ
diff --git a/templates/html/admin.html.gz b/templates/html/admin.html.gz
index 32554740c..06ff45ca7 100644
Binary files a/templates/html/admin.html.gz and b/templates/html/admin.html.gz differ
diff --git a/templates/html/admin/api_keys.html b/templates/html/admin/api_keys.html
index 3d5b3d142..dacecc0f6 100644
--- a/templates/html/admin/api_keys.html
+++ b/templates/html/admin/api_keys.html
@@ -41,56 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-VI/7O6sOvvk7Oots76j2MNx+d5KtjX7ra1GeajmMjmA='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-xer9aXCQs1y7JMIh4WAc7Z761GG3KrXIUimFdkSAPBQ='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AdminMainPre.ZcanbrCY.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Devices.BgusA-6p.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AppVersion.DHsV5F-O.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/5.F9D6MuWR.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.BuQD3GeY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.DL5DXmu_.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.D9rZurKD.js"><!--[--><!--]--><title>Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/5.DgnRROwW.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.CSGzinoD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.1_HD5eJJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.C23iCWTd.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js"><!--[--><!--]--><title>Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -99,7 +95,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 5],
diff --git a/templates/html/admin/api_keys.html.br b/templates/html/admin/api_keys.html.br
index a3ea6004c..c537ed931 100644
Binary files a/templates/html/admin/api_keys.html.br and b/templates/html/admin/api_keys.html.br differ
diff --git a/templates/html/admin/api_keys.html.gz b/templates/html/admin/api_keys.html.gz
index ac183c75a..4433d3b9b 100644
Binary files a/templates/html/admin/api_keys.html.gz and b/templates/html/admin/api_keys.html.gz differ
diff --git a/templates/html/admin/attributes.html b/templates/html/admin/attributes.html
index 88c428a2f..3e7e65dba 100644
--- a/templates/html/admin/attributes.html
+++ b/templates/html/admin/attributes.html
@@ -41,56 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-LxjrKQzgDMx9iJzvdqtuFax0KZ+KBqHyCPiS+rE2S8E='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-xvsC1gdoARInH8Y3VS7AD0ICqi7nEnK01TwiebuBCao='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AdminMainPre.ZcanbrCY.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Devices.BgusA-6p.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AppVersion.DHsV5F-O.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/6.o4_Xudri.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.BuQD3GeY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.DL5DXmu_.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.D9rZurKD.js"><!--[--><!--]--><title>Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/6.DfcNkhQ2.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.CSGzinoD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.1_HD5eJJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.C23iCWTd.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js"><!--[--><!--]--><title>Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -99,7 +95,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 6],
diff --git a/templates/html/admin/attributes.html.br b/templates/html/admin/attributes.html.br
index 6e3fe2aab..0be953cf7 100644
Binary files a/templates/html/admin/attributes.html.br and b/templates/html/admin/attributes.html.br differ
diff --git a/templates/html/admin/attributes.html.gz b/templates/html/admin/attributes.html.gz
index 18895e7a6..6ce966edd 100644
Binary files a/templates/html/admin/attributes.html.gz and b/templates/html/admin/attributes.html.gz differ
diff --git a/templates/html/admin/blacklist.html b/templates/html/admin/blacklist.html
index 3d332be64..6899e4ba0 100644
--- a/templates/html/admin/blacklist.html
+++ b/templates/html/admin/blacklist.html
@@ -41,56 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-XQR4dOuJrvbatGaBh/22b98KB+NpB6q8z9dO+qkQv48='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-aKd1BzPYwVSD+S6AI3G47d5SUSGkHKUIJ7PLfEiK3+Q='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AdminMainPre.ZcanbrCY.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Devices.BgusA-6p.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AppVersion.DHsV5F-O.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/7.BScIbGWF.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.BuQD3GeY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.DL5DXmu_.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.D9rZurKD.js"><!--[--><!--]--><title>Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/7.BXLH6c3a.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.CSGzinoD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.1_HD5eJJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.C23iCWTd.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js"><!--[--><!--]--><title>Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -99,7 +95,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 7],
diff --git a/templates/html/admin/blacklist.html.br b/templates/html/admin/blacklist.html.br
index 312929d47..9db592df9 100644
Binary files a/templates/html/admin/blacklist.html.br and b/templates/html/admin/blacklist.html.br differ
diff --git a/templates/html/admin/blacklist.html.gz b/templates/html/admin/blacklist.html.gz
index 166430f43..91a837c0b 100644
Binary files a/templates/html/admin/blacklist.html.gz and b/templates/html/admin/blacklist.html.gz differ
diff --git a/templates/html/admin/clients.html b/templates/html/admin/clients.html
index f576c5260..0ed5ebf8f 100644
--- a/templates/html/admin/clients.html
+++ b/templates/html/admin/clients.html
@@ -41,56 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-hQ6T2yRPOJA/t534skOWlJtCmvxc181Ixg/PGfI+bTA='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-evq6a7w5dEttT+uH337SOQwD0N2vjRnBreWhffAqUzg='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AdminMainPre.ZcanbrCY.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Devices.BgusA-6p.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AppVersion.DHsV5F-O.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/8.DJkHqmWH.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.BuQD3GeY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.DL5DXmu_.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.D9rZurKD.js"><!--[--><!--]--><title>Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/8.UvscZEbC.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.CSGzinoD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.1_HD5eJJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.C23iCWTd.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js"><!--[--><!--]--><title>Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -99,7 +95,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 8],
diff --git a/templates/html/admin/clients.html.br b/templates/html/admin/clients.html.br
index e47ecd9cb..1fcfa6c89 100644
Binary files a/templates/html/admin/clients.html.br and b/templates/html/admin/clients.html.br differ
diff --git a/templates/html/admin/clients.html.gz b/templates/html/admin/clients.html.gz
index 73debd120..1874bf906 100644
Binary files a/templates/html/admin/clients.html.gz and b/templates/html/admin/clients.html.gz differ
diff --git a/templates/html/admin/config.html b/templates/html/admin/config.html
index 86b3cf301..0be7dc441 100644
--- a/templates/html/admin/config.html
+++ b/templates/html/admin/config.html
@@ -41,56 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-xI2GSIXyB5APrgyzds4pGmJju3BVqWYeA9rSf7Ss3tM='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-qG5MuT8HDRgkeoliZtLLIKEUn1SiH33ZYrP4zP4aB9k='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AdminMainPre.ZcanbrCY.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Devices.BgusA-6p.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AppVersion.DHsV5F-O.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/9.5SYTyflJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.BuQD3GeY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.DL5DXmu_.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.D9rZurKD.js"><!--[--><!--]--><title>Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/9.C6jYcuax.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.CSGzinoD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.1_HD5eJJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.C23iCWTd.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js"><!--[--><!--]--><title>Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -99,7 +95,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 9],
diff --git a/templates/html/admin/config.html.br b/templates/html/admin/config.html.br
index 6c25b16c7..b9b1d1731 100644
Binary files a/templates/html/admin/config.html.br and b/templates/html/admin/config.html.br differ
diff --git a/templates/html/admin/config.html.gz b/templates/html/admin/config.html.gz
index cc9eba2fa..5a59a676e 100644
Binary files a/templates/html/admin/config.html.gz and b/templates/html/admin/config.html.gz differ
diff --git a/templates/html/admin/docs.html b/templates/html/admin/docs.html
index 74268e25f..8c4d12419 100644
--- a/templates/html/admin/docs.html
+++ b/templates/html/admin/docs.html
@@ -41,56 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-R+hqPf3vRH/49F4NZZjjhTmvJnl91xc3z9F6ySGhyS8='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-tUHYOJzCw2+Fw9BS72s9DLc3r4UQDbOC7RZQlK6O+ew='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AdminMainPre.ZcanbrCY.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Devices.BgusA-6p.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AppVersion.DHsV5F-O.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/10.mAHy2gv0.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.BuQD3GeY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.DL5DXmu_.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.D9rZurKD.js"><!--[--><!--]--><title>Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/10.C9SFpmPR.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.CSGzinoD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.1_HD5eJJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.C23iCWTd.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js"><!--[--><!--]--><title>Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -99,7 +95,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 10],
diff --git a/templates/html/admin/docs.html.br b/templates/html/admin/docs.html.br
index 7201e27ab..124021dd0 100644
Binary files a/templates/html/admin/docs.html.br and b/templates/html/admin/docs.html.br differ
diff --git a/templates/html/admin/docs.html.gz b/templates/html/admin/docs.html.gz
index 01717ca92..acdfcb5bd 100644
Binary files a/templates/html/admin/docs.html.gz and b/templates/html/admin/docs.html.gz differ
diff --git a/templates/html/admin/events.html b/templates/html/admin/events.html
index 67cf82558..df5b27165 100644
--- a/templates/html/admin/events.html
+++ b/templates/html/admin/events.html
@@ -41,56 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-l1xZdR3olIPnMRFc67wzgI+Y1ah0Bre0prhkE1p2Oas='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-lTPLam6kSux+2Ii3NUj/k3Xe6ydGuLdRgVtYdqOMX4I='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AdminMainPre.ZcanbrCY.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Devices.BgusA-6p.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AppVersion.DHsV5F-O.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/11.CbrcXpmW.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.BuQD3GeY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.DL5DXmu_.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.D9rZurKD.js"><!--[--><!--]--><title>Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/11.BkR4n8hK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.CSGzinoD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.1_HD5eJJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.C23iCWTd.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js"><!--[--><!--]--><title>Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -99,7 +95,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 11],
diff --git a/templates/html/admin/events.html.br b/templates/html/admin/events.html.br
index f2b71df78..a1fb4da13 100644
Binary files a/templates/html/admin/events.html.br and b/templates/html/admin/events.html.br differ
diff --git a/templates/html/admin/events.html.gz b/templates/html/admin/events.html.gz
index 6eb0c976e..3dc48db9d 100644
Binary files a/templates/html/admin/events.html.gz and b/templates/html/admin/events.html.gz differ
diff --git a/templates/html/admin/groups.html b/templates/html/admin/groups.html
index 93c714a3e..7bd3cda4e 100644
--- a/templates/html/admin/groups.html
+++ b/templates/html/admin/groups.html
@@ -41,56 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-Fi6igoskRzVJXNCfPJCpWLcXOWFryztPQJBC36ZNUPo='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-tkZ+f9rbUyGyyfdRFCYQpuus1sBA4vEB/QkYHGbsefs='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AdminMainPre.ZcanbrCY.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Devices.BgusA-6p.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AppVersion.DHsV5F-O.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/12.DRctYUn3.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.BuQD3GeY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.DL5DXmu_.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.D9rZurKD.js"><!--[--><!--]--><title>Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/12.DNN7kTUa.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.CSGzinoD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.1_HD5eJJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.C23iCWTd.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js"><!--[--><!--]--><title>Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -99,7 +95,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 12],
diff --git a/templates/html/admin/groups.html.br b/templates/html/admin/groups.html.br
index 36b56ccd1..ba54670cb 100644
Binary files a/templates/html/admin/groups.html.br and b/templates/html/admin/groups.html.br differ
diff --git a/templates/html/admin/groups.html.gz b/templates/html/admin/groups.html.gz
index 937cae1db..6cbe6e03e 100644
Binary files a/templates/html/admin/groups.html.gz and b/templates/html/admin/groups.html.gz differ
diff --git a/templates/html/admin/providers.html b/templates/html/admin/providers.html
index a1b62d77f..916758f01 100644
--- a/templates/html/admin/providers.html
+++ b/templates/html/admin/providers.html
@@ -41,56 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-iS1DP8m+8rERDlXgj5MX1ZlMeAYLoYTuqmXP2TTXyrY='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-uTibBLY3gM5hKKuATTOAxlmyzMOUGjxpWLMcj02lPFQ='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AdminMainPre.ZcanbrCY.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Devices.BgusA-6p.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AppVersion.DHsV5F-O.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/13.x64cmFvq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.BuQD3GeY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.DL5DXmu_.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.D9rZurKD.js"><!--[--><!--]--><title>Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/13.AGxmq0sB.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.CSGzinoD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.1_HD5eJJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.C23iCWTd.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js"><!--[--><!--]--><title>Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -99,7 +95,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 13],
diff --git a/templates/html/admin/providers.html.br b/templates/html/admin/providers.html.br
index 7f2c7c869..ffad4e46c 100644
Binary files a/templates/html/admin/providers.html.br and b/templates/html/admin/providers.html.br differ
diff --git a/templates/html/admin/providers.html.gz b/templates/html/admin/providers.html.gz
index 5b4c90e27..686f0a223 100644
Binary files a/templates/html/admin/providers.html.gz and b/templates/html/admin/providers.html.gz differ
diff --git a/templates/html/admin/roles.html b/templates/html/admin/roles.html
index 82a523058..c41086879 100644
--- a/templates/html/admin/roles.html
+++ b/templates/html/admin/roles.html
@@ -41,56 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-9k1X7JVpVlNVvUt3HHVH8mBUMaORoPWMueahqqSrwEA='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-R2r56Mm8wiSH/W0pdCbD6pSh87mYISw4wF9ijEAH0fw='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AdminMainPre.ZcanbrCY.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Devices.BgusA-6p.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AppVersion.DHsV5F-O.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/14.DoJ-tz2B.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.BuQD3GeY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.DL5DXmu_.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.D9rZurKD.js"><!--[--><!--]--><title>Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/14.CXmsPhJ4.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.CSGzinoD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.1_HD5eJJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.C23iCWTd.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js"><!--[--><!--]--><title>Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -99,7 +95,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 14],
diff --git a/templates/html/admin/roles.html.br b/templates/html/admin/roles.html.br
index f5dfe118c..7316383d2 100644
Binary files a/templates/html/admin/roles.html.br and b/templates/html/admin/roles.html.br differ
diff --git a/templates/html/admin/roles.html.gz b/templates/html/admin/roles.html.gz
index f7bfb0522..bdb243bc2 100644
Binary files a/templates/html/admin/roles.html.gz and b/templates/html/admin/roles.html.gz differ
diff --git a/templates/html/admin/scopes.html b/templates/html/admin/scopes.html
index 0188ed988..b4cfd4301 100644
--- a/templates/html/admin/scopes.html
+++ b/templates/html/admin/scopes.html
@@ -41,56 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-zWThaRa0OYHITf9CJIA3+1UL568qxGYDrvxsYZsOusA='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-ut/CSO/Xp1tJTeODV3fKc3vvce3pS1GCc3+frFkc6Gg='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AdminMainPre.ZcanbrCY.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Devices.BgusA-6p.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AppVersion.DHsV5F-O.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/15.CUsx6Ptm.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.BuQD3GeY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.DL5DXmu_.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.D9rZurKD.js"><!--[--><!--]--><title>Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/15.CZRCkJBD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.CSGzinoD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.1_HD5eJJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.C23iCWTd.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js"><!--[--><!--]--><title>Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -99,7 +95,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 15],
diff --git a/templates/html/admin/scopes.html.br b/templates/html/admin/scopes.html.br
index fee35623b..ca30813c9 100644
Binary files a/templates/html/admin/scopes.html.br and b/templates/html/admin/scopes.html.br differ
diff --git a/templates/html/admin/scopes.html.gz b/templates/html/admin/scopes.html.gz
index d016db71d..d5bd8d746 100644
Binary files a/templates/html/admin/scopes.html.gz and b/templates/html/admin/scopes.html.gz differ
diff --git a/templates/html/admin/sessions.html b/templates/html/admin/sessions.html
index 40d332f4d..89562a405 100644
--- a/templates/html/admin/sessions.html
+++ b/templates/html/admin/sessions.html
@@ -41,56 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-7KRIly9Qp+RHi+GCO2SUOsxoNCwK5Dgya9N8KKx/7qc='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-g8v/YMkeLCxEVK/xRAfPCNlBv2WJAPzfsjnKhBTW3Xw='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AdminMainPre.ZcanbrCY.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Devices.BgusA-6p.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AppVersion.DHsV5F-O.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/16.eXw--TB9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.BuQD3GeY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.DL5DXmu_.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.D9rZurKD.js"><!--[--><!--]--><title>Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/16.DA7wm4sl.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.CSGzinoD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.1_HD5eJJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.C23iCWTd.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js"><!--[--><!--]--><title>Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -99,7 +95,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 16],
diff --git a/templates/html/admin/sessions.html.br b/templates/html/admin/sessions.html.br
index aa5146797..7b5d4f930 100644
Binary files a/templates/html/admin/sessions.html.br and b/templates/html/admin/sessions.html.br differ
diff --git a/templates/html/admin/sessions.html.gz b/templates/html/admin/sessions.html.gz
index 967e25d67..a532a56b7 100644
Binary files a/templates/html/admin/sessions.html.gz and b/templates/html/admin/sessions.html.gz differ
diff --git a/templates/html/admin/users.html b/templates/html/admin/users.html
index f82eb2134..35e0c7889 100644
--- a/templates/html/admin/users.html
+++ b/templates/html/admin/users.html
@@ -41,56 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-B+LWt7HSSOoSw+mJQjggfz/5+xvv6baLbvIfAwjzeTM='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-B8dVHUEQtKnzKhpnq3JthoeZhXFNnQLnP6uu0MIN89I='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AdminMainPre.ZcanbrCY.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Devices.BgusA-6p.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/AppVersion.DHsV5F-O.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/17.o4_Xudri.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.BC7y4hZJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.BuQD3GeY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.DL5DXmu_.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.D9rZurKD.js"><!--[--><!--]--><title>Admin</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/17.DfcNkhQ2.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AdminMainPre.CSGzinoD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Devices.1_HD5eJJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/AppVersion.C23iCWTd.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js"><!--[--><!--]--><title>Admin</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -99,7 +95,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -107,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 17],
diff --git a/templates/html/admin/users.html.br b/templates/html/admin/users.html.br
index 7fd0548f6..7793fd797 100644
Binary files a/templates/html/admin/users.html.br and b/templates/html/admin/users.html.br differ
diff --git a/templates/html/admin/users.html.gz b/templates/html/admin/users.html.gz
index ac8bd7fa7..8ac5b5b57 100644
Binary files a/templates/html/admin/users.html.gz and b/templates/html/admin/users.html.gz differ
diff --git a/templates/html/device.html b/templates/html/device.html
index 9026485a1..afbf125f3 100644
--- a/templates/html/device.html
+++ b/templates/html/device.html
@@ -41,60 +41,55 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-TrhbLNloVySSZDE3SC36yoBtFbmjjHoOBpxAssQM7wU='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-dw18vEukdZBbirFFj6M0Sp7i1uQBPtXtumyOQmJP+7k='; style-src 'self' 'unsafe-inline'">
 		<link href="./_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
-		<link href="./_app/immutable/assets/18.GNJxucTb.css" rel="stylesheet">
+		<link href="./_app/immutable/assets/18.B9MTzT3c.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
-		<link href="./_app/immutable/assets/Loading.BVnr1IrI.css" rel="stylesheet">
-		<link href="./_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
+		<link href="./_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/LangSelector.O5X7vySz.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
-		<link href="./_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/ContentCenter.BpmtvV5f.css" rel="stylesheet">
-		<link rel="modulepreload" href="./_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="./_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/18.DtlPpkWl.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Loading.wZ55XKP1.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/LangSelector.mSh8cV6Q.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/pow.r0U0E3f9.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/ContentCenter.CsjyBf2d.js"><!--[--><!--]--><title>Device Authorization</title>
+		<link rel="modulepreload" href="./_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/18.DkpZz6Mj.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/LangSelector.DQTzLAdQ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/pow.CkxCHWs-.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/ContentCenter.B2VsFG_i.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Template.mSBxkRZ-.js"><!--[--><!--]--><title>Device Authorization</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
 </div>
-<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><!--[--><div class="container svelte-10pff2x global background"><div class="inner svelte-10pff2x" style="margin-top: 0px"><!--[--><div class="circle svelte-10pff2x"></div><!--]--> <!--[!--><!--]--> <!--[!--><!--]--></div></div><!--]--> <div class="svelte-s2vujs absolute absoluteLeft"><select style="width: inherit;" class="svelte-ysgm66"><!--[--><option class="opt svelte-ysgm66" value="de">de</option><option class="opt svelte-ysgm66" value="en">en</option><option class="opt svelte-ysgm66" value="zh">zh</option><option class="opt svelte-ysgm66" value="ko">ko</option><!--]--></select><!----></div><!----><!----></div><!----></main><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><!--[--><div class="container svelte-10pff2x global background"><div class="inner svelte-10pff2x" style="margin-top: 0px"><!--[--><div class="circle svelte-10pff2x"></div><!--]--> <!--[!--><!--]--> <!--[!--><!--]--></div></div><!--]--> <div class="svelte-s2vujs absolute absoluteLeft"><select style="width: inherit;" class="svelte-ysgm66"><!--[--><option class="opt svelte-ysgm66" value="de">de</option><option class="opt svelte-ysgm66" value="en">en</option><option class="opt svelte-ysgm66" value="zh">zh</option><option class="opt svelte-ysgm66" value="ko">ko</option><!--]--></select><!----></div><!----><!----></div><!----></main><!----><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL(".", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -102,8 +97,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("./_app/immutable/entry/start.Bj78bRRv.js"),
-						import("./_app/immutable/entry/app.Dj8nXbmK.js")
+						import("./_app/immutable/entry/start.CtTLem66.js"),
+						import("./_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 18],
diff --git a/templates/html/device.html.br b/templates/html/device.html.br
index f13808f44..b34014780 100644
Binary files a/templates/html/device.html.br and b/templates/html/device.html.br differ
diff --git a/templates/html/device.html.gz b/templates/html/device.html.gz
index fab24cfa6..68d9753aa 100644
Binary files a/templates/html/device.html.gz and b/templates/html/device.html.gz differ
diff --git a/templates/html/error.html b/templates/html/error.html
index 90a89710a..d4bcd97b0 100644
--- a/templates/html/error.html
+++ b/templates/html/error.html
@@ -41,44 +41,43 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-CliHpAG9EzCVn08T6UiTT8M7TTBzrRfs4d0nuiw/jgw='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-WyRdBTsjND03GVQc4Gfi7HWIGv/Vm4o+1KKqMTW6C0k='; style-src 'self' 'unsafe-inline'">
 		<link href="./_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/Error.BHaKgkRX.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/LangSelector.O5X7vySz.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/ContentCenter.BpmtvV5f.css" rel="stylesheet">
-		<link rel="modulepreload" href="./_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="./_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/19.0qOBqwlU.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Error.CsY9Wg-p.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/LangSelector.mSh8cV6Q.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/ContentCenter.CsjyBf2d.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/19.BtPwCTG5.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Error.DXjVprxK.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/LangSelector.DQTzLAdQ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/ContentCenter.B2VsFG_i.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Template.mSBxkRZ-.js">
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -87,7 +86,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL(".", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -95,8 +94,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("./_app/immutable/entry/start.Bj78bRRv.js"),
-						import("./_app/immutable/entry/app.Dj8nXbmK.js")
+						import("./_app/immutable/entry/start.CtTLem66.js"),
+						import("./_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 19],
diff --git a/templates/html/error.html.br b/templates/html/error.html.br
index 75e199500..e0b5f21e3 100644
Binary files a/templates/html/error.html.br and b/templates/html/error.html.br differ
diff --git a/templates/html/error.html.gz b/templates/html/error.html.gz
index d98bc49ed..9ac88289d 100644
Binary files a/templates/html/error.html.gz and b/templates/html/error.html.gz differ
diff --git a/templates/html/error/error.html b/templates/html/error/error.html
index 2e0f538f5..fd059a89e 100644
--- a/templates/html/error/error.html
+++ b/templates/html/error/error.html
@@ -41,44 +41,43 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-bu2W8Cju7P7dknv+SNT9AHRCPJDQAQLlm/60o7PJJfM='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-fBCLK+/T1/l5v2NC3oXIWJ7L/yj1sA4KPmnd9VBe6wk='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Error.BHaKgkRX.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/LangSelector.O5X7vySz.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/ContentCenter.BpmtvV5f.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/20.0qOBqwlU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Error.CsY9Wg-p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/LangSelector.mSh8cV6Q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/ContentCenter.CsjyBf2d.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/20.BtPwCTG5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Error.DXjVprxK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/LangSelector.DQTzLAdQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/ContentCenter.B2VsFG_i.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Template.mSBxkRZ-.js">
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -87,7 +86,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -95,8 +94,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 20],
diff --git a/templates/html/error/error.html.br b/templates/html/error/error.html.br
index 0a6623664..90bf3cff9 100644
Binary files a/templates/html/error/error.html.br and b/templates/html/error/error.html.br differ
diff --git a/templates/html/error/error.html.gz b/templates/html/error/error.html.gz
index 1b2ce6879..20ac5d113 100644
Binary files a/templates/html/error/error.html.gz and b/templates/html/error/error.html.gz differ
diff --git a/templates/html/error/error/error.html b/templates/html/error/error/error.html
index c5c68e907..94bed19e3 100644
--- a/templates/html/error/error/error.html
+++ b/templates/html/error/error/error.html
@@ -41,44 +41,43 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-YbXq5O1yD7FJ8WJMW16obAJNf465htYmpMjXkxqHZfk='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-/OeogM4DUXuuRLyJAi0g7mSWm5dGTihr3iXwJRNiNVw='; style-src 'self' 'unsafe-inline'">
 		<link href="../../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/Error.BHaKgkRX.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/LangSelector.O5X7vySz.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../../_app/immutable/assets/ContentCenter.BpmtvV5f.css" rel="stylesheet">
-		<link rel="modulepreload" href="../../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../../_app/immutable/nodes/21.0qOBqwlU.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/Error.CsY9Wg-p.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/LangSelector.mSh8cV6Q.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../../_app/immutable/chunks/ContentCenter.CsjyBf2d.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../../_app/immutable/nodes/21.BtPwCTG5.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/Error.DXjVprxK.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/LangSelector.DQTzLAdQ.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/ContentCenter.B2VsFG_i.js">
+		<link rel="modulepreload" href="../../_app/immutable/chunks/Template.mSBxkRZ-.js">
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -87,7 +86,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("../..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -95,8 +94,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../../_app/immutable/entry/start.CtTLem66.js"),
+						import("../../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 21],
diff --git a/templates/html/error/error/error.html.br b/templates/html/error/error/error.html.br
index b8672321f..f15f32ed3 100644
Binary files a/templates/html/error/error/error.html.br and b/templates/html/error/error/error.html.br differ
diff --git a/templates/html/error/error/error.html.gz b/templates/html/error/error/error.html.gz
index 02eaf304c..04d12d052 100644
Binary files a/templates/html/error/error/error.html.gz and b/templates/html/error/error/error.html.gz differ
diff --git a/templates/html/error/error/error/error.html b/templates/html/error/error/error/error.html
index fa98a0704..7fbcb3aaa 100644
--- a/templates/html/error/error/error/error.html
+++ b/templates/html/error/error/error/error.html
@@ -41,44 +41,43 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-z1kIi6pJbHXIkFEZqrcUD7qXFHsoVPCNnYoG/VpxHvg='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-fx3GunW3Zj/lxbrSEcuVYGZVOXkmmyGzkzZXLRy+nuo='; style-src 'self' 'unsafe-inline'">
 		<link href="../../../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/Error.BHaKgkRX.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/LangSelector.O5X7vySz.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/ContentCenter.BpmtvV5f.css" rel="stylesheet">
-		<link rel="modulepreload" href="../../../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../../../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../../../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../../../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../../../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../../../_app/immutable/nodes/22.0qOBqwlU.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/Error.CsY9Wg-p.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/LangSelector.mSh8cV6Q.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/ContentCenter.CsjyBf2d.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../../../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../../../_app/immutable/nodes/22.BtPwCTG5.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/Error.DXjVprxK.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/LangSelector.DQTzLAdQ.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/ContentCenter.B2VsFG_i.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/Template.mSBxkRZ-.js">
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -87,7 +86,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("../../..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -95,8 +94,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../../../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../../../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../../../_app/immutable/entry/start.CtTLem66.js"),
+						import("../../../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 22],
diff --git a/templates/html/error/error/error/error.html.br b/templates/html/error/error/error/error.html.br
index 07e21b3e2..231889103 100644
Binary files a/templates/html/error/error/error/error.html.br and b/templates/html/error/error/error/error.html.br differ
diff --git a/templates/html/error/error/error/error.html.gz b/templates/html/error/error/error/error.html.gz
index 09da63a83..a330fdc7e 100644
Binary files a/templates/html/error/error/error/error.html.gz and b/templates/html/error/error/error/error.html.gz differ
diff --git a/templates/html/fedcm.html b/templates/html/fedcm.html
index 20f9a7f17..184de966d 100644
--- a/templates/html/fedcm.html
+++ b/templates/html/fedcm.html
@@ -41,45 +41,41 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-MymJCti6bXxRYHKshuDjoKxTfQCGWwHsufbPQB6wos0='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-2R2ZDrUpn+ZxTO+nHLMRcvldMzOiJddr82k6tS2w5LE='; style-src 'self' 'unsafe-inline'">
 		<link href="./_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/23.BGsNSr6e.css" rel="stylesheet">
-		<link href="./_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
-		<link href="./_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
+		<link href="./_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/ContentCenter.BpmtvV5f.css" rel="stylesheet">
-		<link rel="modulepreload" href="./_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="./_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/23.CKFyfpgm.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/CheckIcon.Cjxxxfsf.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/ContentCenter.CsjyBf2d.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/23.ZHzdaffT.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/CheckIcon.B6v_Qvnl.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/ContentCenter.B2VsFG_i.js">
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -88,7 +84,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL(".", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -96,8 +92,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("./_app/immutable/entry/start.Bj78bRRv.js"),
-						import("./_app/immutable/entry/app.Dj8nXbmK.js")
+						import("./_app/immutable/entry/start.CtTLem66.js"),
+						import("./_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 23],
diff --git a/templates/html/fedcm.html.br b/templates/html/fedcm.html.br
index aeba6977b..7713e31f9 100644
Binary files a/templates/html/fedcm.html.br and b/templates/html/fedcm.html.br differ
diff --git a/templates/html/fedcm.html.gz b/templates/html/fedcm.html.gz
index 8967d0d4a..dbdd0eb7f 100644
Binary files a/templates/html/fedcm.html.gz and b/templates/html/fedcm.html.gz differ
diff --git a/templates/html/index.html b/templates/html/index.html
index 3cc8e974d..46b640811 100644
--- a/templates/html/index.html
+++ b/templates/html/index.html
@@ -41,57 +41,54 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-aFm5IgDUQULK+PaNYbpJpofjElgf6CK3c3r1a6CgO+c='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-uilAus0mCvIin5vlC+DE2EwG9fK8GD4bT4HvEOS2zqE='; style-src 'self' 'unsafe-inline'">
 		<link href="./_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/2.CZlF3VMn.css" rel="stylesheet">
-		<link href="./_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
-		<link href="./_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
+		<link href="./_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/LangSelector.O5X7vySz.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/AppVersion.DHsV5F-O.css" rel="stylesheet">
 		<link href="./_app/immutable/assets/ContentCenter.BpmtvV5f.css" rel="stylesheet">
-		<link rel="modulepreload" href="./_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="./_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="./_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="./_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="./_app/immutable/nodes/2.DWHAwZAi.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/LangSelector.mSh8cV6Q.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/AppVersion.DL5DXmu_.js">
-		<link rel="modulepreload" href="./_app/immutable/chunks/ContentCenter.CsjyBf2d.js"><!--[--><!--]--><title>Rauthy</title>
+		<link rel="modulepreload" href="./_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="./_app/immutable/nodes/2.BfkQ0hAF.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/LangSelector.DQTzLAdQ.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/AppVersion.C23iCWTd.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/ContentCenter.B2VsFG_i.js">
+		<link rel="modulepreload" href="./_app/immutable/chunks/Template.mSBxkRZ-.js"><!--[--><!--]--><title>Rauthy</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
 </div>
-<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="btn svelte-1um1rdi"><!--[!--><!--]--> <button style="width: 9rem; cursor: pointer;" class="font-label l2 svelte-103k7bs"><!--[!--><!--[--><div class="txt svelte-103k7bs"><!---->Account<!----></div><!--]--><!--]--></button><!----> <button style="width: 9rem; cursor: pointer;" class="font-label l2 svelte-103k7bs"><!--[!--><!--[--><div class="txt svelte-103k7bs"><!---->Admin<!----></div><!--]--><!--]--></button><!----></div><!----></div><!----> <div class="svelte-s2vujs absolute absoluteLeft"><select style="width: inherit;" class="svelte-ysgm66"><!--[--><option class="opt svelte-ysgm66" value="de">de</option><option class="opt svelte-ysgm66" value="en">en</option><option class="opt svelte-ysgm66" value="zh">zh</option><option class="opt svelte-ysgm66" value="ko">ko</option><!--]--></select><!----></div><!----> <div class="version svelte-1um1rdi"><!--[!--><div class="ver svelte-zcqypp">v</div><!--]--><!----></div><!----></main><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="btn svelte-1um1rdi"><!--[!--><!--]--> <button style="width: 9rem; cursor: pointer;" class="font-label l2 svelte-103k7bs"><!--[!--><!--[--><div class="txt svelte-103k7bs"><!---->Account<!----></div><!--]--><!--]--></button><!----> <button style="width: 9rem; cursor: pointer;" class="font-label l2 svelte-103k7bs"><!--[!--><!--[--><div class="txt svelte-103k7bs"><!---->Admin<!----></div><!--]--><!--]--></button><!----></div><!----></div><!----> <div class="svelte-s2vujs absolute absoluteLeft"><select style="width: inherit;" class="svelte-ysgm66"><!--[--><option class="opt svelte-ysgm66" value="de">de</option><option class="opt svelte-ysgm66" value="en">en</option><option class="opt svelte-ysgm66" value="zh">zh</option><option class="opt svelte-ysgm66" value="ko">ko</option><!--]--></select><!----></div><!----> <div class="version svelte-1um1rdi"><!--[!--><div class="ver svelte-zcqypp">v</div><!--]--><!----></div><!----></main><!----><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL(".", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -99,8 +96,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("./_app/immutable/entry/start.Bj78bRRv.js"),
-						import("./_app/immutable/entry/app.Dj8nXbmK.js")
+						import("./_app/immutable/entry/start.CtTLem66.js"),
+						import("./_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 2],
diff --git a/templates/html/index.html.br b/templates/html/index.html.br
index 0e7d8cc12..a6818ba61 100644
Binary files a/templates/html/index.html.br and b/templates/html/index.html.br differ
diff --git a/templates/html/index.html.gz b/templates/html/index.html.gz
index a155a1afa..6ff6e14f7 100644
Binary files a/templates/html/index.html.gz and b/templates/html/index.html.gz differ
diff --git a/templates/html/oidc/authorize.html b/templates/html/oidc/authorize.html
index 40bbbce13..e4147ea11 100644
--- a/templates/html/oidc/authorize.html
+++ b/templates/html/oidc/authorize.html
@@ -41,64 +41,61 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-y33vXMUQhxwxZqee5MV0V1K/1oyALVmtHa7RRE2spUs='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-heNQxbmbl1RzUT3v2SlaeQ8BmSvduFRewMrENP932R4='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/24.GB6k287-.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/WebauthnRequest._nhbHN0l.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/LangSelector.O5X7vySz.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/ContentCenter.BpmtvV5f.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/24.D6gupSzm.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/lifecycle.CRex4y9i.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/WebauthnRequest.CHVZELhw.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/LangSelector.mSh8cV6Q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/ContentCenter.CsjyBf2d.js"><!--[--><!--]--><title>Login </title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/24.D8uR4Z9U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/lifecycle.BPrHSQsT.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/WebauthnRequest.DHqnsBvK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/LangSelector.DQTzLAdQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/ContentCenter.B2VsFG_i.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Template.mSBxkRZ-.js"><!--[--><!--]--><title>Login </title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
 </div>
-<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="container svelte-1ljcjf3"><div class="head svelte-1ljcjf3"><div class="logo svelte-1ljcjf3"><!--[!--><!--]--></div> <!--[!--><!--]--></div> <div class="name svelte-1ljcjf3"><h2></h2></div> <!--[!--><!--]--> <!--[--><div style="width: calc(250px + 12px);" class="container svelte-x8kgzj"><div class="label svelte-x8kgzj"><div style="background: var(--col-bg);" class="labelInner font-label noselect svelte-x8kgzj"><label for="rauthyEmail"><!---->E-MAIL<!----></label></div></div> <input name="rauthyEmail" value="" autocomplete="email" type="email" placeholder="E-Mail" style="width: 250px;" class="svelte-x8kgzj"> <!--[!--><!--]--></div><!----> <!--[!--><!--]--> <!--[--><!--[!--><div class="btn flex-col svelte-1ljcjf3"><button style="width: inherit; cursor: pointer;" class="font-label l2 svelte-103k7bs"><!--[!--><!--[--><div class="txt svelte-103k7bs"><!---->Login<!----></div><!--]--><!--]--></button><!----></div><!--]--><!--]--><!--]--> <!--[--><div class="providers flex-col svelte-1ljcjf3"><!--[--><!--]--></div><!--]--> <!--[!--><!--]--> <!--[!--><!--]--> <!--[!--><!--]--> <!--[!--><!--]--></div> <div class="svelte-s2vujs absolute absoluteLeft"><select style="width: inherit;" class="svelte-ysgm66"><!--[--><option class="opt svelte-ysgm66" value="de">de</option><option class="opt svelte-ysgm66" value="en">en</option><option class="opt svelte-ysgm66" value="zh">zh</option><option class="opt svelte-ysgm66" value="ko">ko</option><!--]--></select><!----></div><!----><!----></div><!----></main><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><!----> <!----> <!----> <!----> <!----> <!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="container svelte-1ljcjf3"><div class="head svelte-1ljcjf3"><div class="logo svelte-1ljcjf3"><!--[!--><!--]--></div> <!--[!--><!--]--></div> <div class="name svelte-1ljcjf3"><h2></h2></div> <!--[!--><!--]--> <!--[--><div style="width: calc(250px + 12px);" class="container svelte-x8kgzj"><div class="label svelte-x8kgzj"><div style="background: var(--col-bg);" class="labelInner font-label noselect svelte-x8kgzj"><label for="rauthyEmail"><!---->E-MAIL<!----></label></div></div> <input name="rauthyEmail" value="" autocomplete="email" type="email" placeholder="E-Mail" style="width: 250px;" class="svelte-x8kgzj"> <!--[!--><!--]--></div><!----> <!--[!--><!--]--> <!--[--><!--[!--><div class="btn flex-col svelte-1ljcjf3"><button style="width: inherit; cursor: pointer;" class="font-label l2 svelte-103k7bs"><!--[!--><!--[--><div class="txt svelte-103k7bs"><!---->Login<!----></div><!--]--><!--]--></button><!----></div><!--]--><!--]--><!--]--> <!--[--><div class="providers flex-col svelte-1ljcjf3"><!--[--><!--]--></div><!--]--> <!--[!--><!--]--> <!--[!--><!--]--> <!--[!--><!--]--> <!--[!--><!--]--></div> <div class="svelte-s2vujs absolute absoluteLeft"><select style="width: inherit;" class="svelte-ysgm66"><!--[--><option class="opt svelte-ysgm66" value="de">de</option><option class="opt svelte-ysgm66" value="en">en</option><option class="opt svelte-ysgm66" value="zh">zh</option><option class="opt svelte-ysgm66" value="ko">ko</option><!--]--></select><!----></div><!----><!----></div><!----></main><!----><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -106,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 24],
diff --git a/templates/html/oidc/authorize.html.br b/templates/html/oidc/authorize.html.br
index 31c8188af..1aac3cc0c 100644
Binary files a/templates/html/oidc/authorize.html.br and b/templates/html/oidc/authorize.html.br differ
diff --git a/templates/html/oidc/authorize.html.gz b/templates/html/oidc/authorize.html.gz
index 6e4ed75af..c232efaad 100644
Binary files a/templates/html/oidc/authorize.html.gz and b/templates/html/oidc/authorize.html.gz differ
diff --git a/templates/html/oidc/callback.html b/templates/html/oidc/callback.html
index d05b1276a..b4e123736 100644
--- a/templates/html/oidc/callback.html
+++ b/templates/html/oidc/callback.html
@@ -41,47 +41,43 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-2TWgfyqgQIk1vAAZw71lyWuQabomiTzngjCOew33aaI='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-nYLHaq7kpn4+xhzJNjt6iPVJefvZNwd2Rf2vwtB0oXQ='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/25.Dh7XjBbD.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.BuHyzquP.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/lifecycle.CRex4y9i.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js"><!--[--><!--]--><title>Login</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/25.DAvXvs2-.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy.Cdp_P06_.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/lifecycle.BPrHSQsT.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js"><!--[--><!--]--><title>Login</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
 </div>
-<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><div class="container svelte-2cwfk8 local"><div class="loading svelte-2cwfk8" style="margin-top: 0px;"><div style="background: var(--col-acnt);" class="loading-1 svelte-2cwfk8"></div> <div style="background: var(--col-acnt);" class="loading-2 svelte-2cwfk8"></div> <div style="background: var(--col-acnt);" class="loading-3 svelte-2cwfk8"></div></div></div><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -89,8 +85,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 25],
diff --git a/templates/html/oidc/callback.html.br b/templates/html/oidc/callback.html.br
index 0f122dafb..1c2b32ce0 100644
Binary files a/templates/html/oidc/callback.html.br and b/templates/html/oidc/callback.html.br differ
diff --git a/templates/html/oidc/callback.html.gz b/templates/html/oidc/callback.html.gz
index 3a040d961..d5c5872e3 100644
Binary files a/templates/html/oidc/callback.html.gz and b/templates/html/oidc/callback.html.gz differ
diff --git a/templates/html/oidc/logout.html b/templates/html/oidc/logout.html
index 78c359bd2..8c85eed2d 100644
--- a/templates/html/oidc/logout.html
+++ b/templates/html/oidc/logout.html
@@ -41,55 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-9MSaogoiAwHvoIi8iZsVvjmNyFGbUeFNDfANtE/8fyM='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-yv0CIxsf2LuKvHDuY3WvKWuKhch6eSRSkhG1Q66Aeuo='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/26.HJ4svAjD.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/ContentCenter.BpmtvV5f.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/LangSelector.O5X7vySz.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/26.BxPoozgR.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/ContentCenter.CsjyBf2d.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/LangSelector.mSh8cV6Q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js"><!--[--><!--]--><title>Logout</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/26.BKkAPxeb.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/ContentCenter.B2VsFG_i.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/LangSelector.DQTzLAdQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Template.mSBxkRZ-.js"><!--[--><!--]--><title>Logout</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
 </div>
-<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="container svelte-1r6sjfz"><h1>Logout</h1> <p>Do you really want to logout and end your session?</p> <div class="btn svelte-1r6sjfz"><button style="width: inherit; cursor: pointer;" class="font-label l2 svelte-103k7bs"><!--[!--><!--[--><div class="txt svelte-103k7bs"><!---->Logout<!----></div><!--]--><!--]--></button><!----> <button style="width: inherit; cursor: pointer;" class="font-label l4 svelte-103k7bs"><!--[!--><!--[--><div class="txt svelte-103k7bs"><!---->Cancel<!----></div><!--]--><!--]--></button><!----></div> <!--[!--><!--]--></div> <div class="svelte-s2vujs absolute absoluteLeft"><select style="width: inherit;" class="svelte-ysgm66"><!--[--><option class="opt svelte-ysgm66" value="de">de</option><option class="opt svelte-ysgm66" value="en">en</option><option class="opt svelte-ysgm66" value="zh">zh</option><option class="opt svelte-ysgm66" value="ko">ko</option><!--]--></select><!----></div><!----><!----></div><!----></main><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="container svelte-1r6sjfz"><h1>Logout</h1> <p>Do you really want to logout and end your session?</p> <div class="btn svelte-1r6sjfz"><button style="width: inherit; cursor: pointer;" class="font-label l2 svelte-103k7bs"><!--[!--><!--[--><div class="txt svelte-103k7bs"><!---->Logout<!----></div><!--]--><!--]--></button><!----> <button style="width: inherit; cursor: pointer;" class="font-label l4 svelte-103k7bs"><!--[!--><!--[--><div class="txt svelte-103k7bs"><!---->Cancel<!----></div><!--]--><!--]--></button><!----></div> <!--[!--><!--]--></div> <div class="svelte-s2vujs absolute absoluteLeft"><select style="width: inherit;" class="svelte-ysgm66"><!--[--><option class="opt svelte-ysgm66" value="de">de</option><option class="opt svelte-ysgm66" value="en">en</option><option class="opt svelte-ysgm66" value="zh">zh</option><option class="opt svelte-ysgm66" value="ko">ko</option><!--]--></select><!----></div><!----><!----></div><!----></main><!----><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -97,8 +94,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 26],
diff --git a/templates/html/oidc/logout.html.br b/templates/html/oidc/logout.html.br
index 4155b982d..c93f91af7 100644
Binary files a/templates/html/oidc/logout.html.br and b/templates/html/oidc/logout.html.br differ
diff --git a/templates/html/oidc/logout.html.gz b/templates/html/oidc/logout.html.gz
index 3e017afa7..875faf920 100644
Binary files a/templates/html/oidc/logout.html.gz and b/templates/html/oidc/logout.html.gz differ
diff --git a/templates/html/providers/callback.html b/templates/html/providers/callback.html
index 5b3147749..6af08cda8 100644
--- a/templates/html/providers/callback.html
+++ b/templates/html/providers/callback.html
@@ -41,47 +41,43 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-m7DqMp3EXTYO8zpVU+w6FSLn6o9+zWSUdEX1hhWNaaY='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-Y5JqRvLVszVDigm736paz8nr+fbuB+baOMwdQJMv5RI='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/27.CnT30TCt.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/WebauthnRequest._nhbHN0l.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/LangSelector.O5X7vySz.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/27.gkewKINJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/WebauthnRequest.CHVZELhw.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/LangSelector.mSh8cV6Q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js"><!--[--><!--]--><title>Callback</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/27.CLvAzZRs.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/WebauthnRequest.DHqnsBvK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/LangSelector.DQTzLAdQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js"><!--[--><!--]--><title>Callback</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
@@ -90,7 +86,7 @@
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -98,8 +94,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 27],
diff --git a/templates/html/providers/callback.html.br b/templates/html/providers/callback.html.br
index 25efefc7b..ce8b625fa 100644
Binary files a/templates/html/providers/callback.html.br and b/templates/html/providers/callback.html.br differ
diff --git a/templates/html/providers/callback.html.gz b/templates/html/providers/callback.html.gz
index 29b62f73b..c3c4246d0 100644
Binary files a/templates/html/providers/callback.html.gz and b/templates/html/providers/callback.html.gz differ
diff --git a/templates/html/users/register.html b/templates/html/users/register.html
index 8d9374839..615d78a8f 100644
--- a/templates/html/users/register.html
+++ b/templates/html/users/register.html
@@ -41,58 +41,55 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-p1Z7PKaDswMnRHS7lcB3c7uG119TTlXWOSPqo5/P6Wk='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-9y6nhM10rvmM8l9WJxXlLmcOWp/wsqNB4AQg4Z/BkI4='; style-src 'self' 'unsafe-inline'">
 		<link href="../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/28.CxOoN8ns.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
-		<link href="../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
+		<link href="../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/LangSelector.O5X7vySz.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
 		<link href="../_app/immutable/assets/ContentCenter.BpmtvV5f.css" rel="stylesheet">
-		<link rel="modulepreload" href="../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../_app/immutable/nodes/28.DMZ7hk2F.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/LangSelector.mSh8cV6Q.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/pow.r0U0E3f9.js">
-		<link rel="modulepreload" href="../_app/immutable/chunks/ContentCenter.CsjyBf2d.js"><!--[--><!--]--><title>[object Object]</title>
+		<link rel="modulepreload" href="../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../_app/immutable/nodes/28.9bailE3O.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/LangSelector.DQTzLAdQ.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/pow.CkxCHWs-.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/ContentCenter.B2VsFG_i.js">
+		<link rel="modulepreload" href="../_app/immutable/chunks/Template.mSBxkRZ-.js"><!--[--><!--]--><title>[object Object]</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
 </div>
-<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="container svelte-1ks9oi1"><div class="domainTxt svelte-1ks9oi1"><h1>User Registration</h1> <!--[!--><!--]--></div> <div style="width: calc(250px + 12px);" class="container svelte-x8kgzj"><div class="label svelte-x8kgzj"><div style="background: var(--col-bg);" class="labelInner font-label noselect svelte-x8kgzj"><label for="ALo5odJk"><!---->E-MAIL<!----></label></div></div> <input name="ALo5odJk" value="" autocomplete="email" type="email" placeholder="E-Mail" style="width: 250px;" class="svelte-x8kgzj"> <!--[!--><!--]--></div><!----> <div style="width: calc(250px + 12px);" class="container svelte-x8kgzj"><div class="label svelte-x8kgzj"><div style="background: var(--col-bg);" class="labelInner font-label noselect svelte-x8kgzj"><label for="lll5QXNZ"><!---->GIVEN NAME<!----></label></div></div> <input name="lll5QXNZ" value="" autocomplete="given-name" placeholder="Given Name" style="width: 250px;" class="svelte-x8kgzj"> <!--[!--><!--]--></div><!----> <div style="width: calc(250px + 12px);" class="container svelte-x8kgzj"><div class="label svelte-x8kgzj"><div style="background: var(--col-bg);" class="labelInner font-label noselect svelte-x8kgzj"><label for="tOYol4CA"><!---->FAMILY NAME<!----></label></div></div> <input name="tOYol4CA" value="" autocomplete="family-name" placeholder="Family Name" style="width: 250px;" class="svelte-x8kgzj"> <!--[!--><!--]--></div><!----> <button style="width: inherit; cursor: pointer;" class="font-label l2 svelte-103k7bs"><!--[!--><!--[--><div class="txt svelte-103k7bs"><!---->Register<!----></div><!--]--><!--]--></button><!----> <!--[!--><!--[!--><!--]--><!--]--></div> <div class="svelte-s2vujs absolute absoluteLeft"><select style="width: inherit;" class="svelte-ysgm66"><!--[--><option class="opt svelte-ysgm66" value="de">de</option><option class="opt svelte-ysgm66" value="en">en</option><option class="opt svelte-ysgm66" value="zh">zh</option><option class="opt svelte-ysgm66" value="ko">ko</option><!--]--></select><!----></div><!----><!----></div><!----></main><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="container svelte-1ks9oi1"><div class="domainTxt svelte-1ks9oi1"><h1>User Registration</h1> <!--[!--><!--]--></div> <div style="width: calc(250px + 12px);" class="container svelte-x8kgzj"><div class="label svelte-x8kgzj"><div style="background: var(--col-bg);" class="labelInner font-label noselect svelte-x8kgzj"><label for="d8ggFIIB"><!---->E-MAIL<!----></label></div></div> <input name="d8ggFIIB" value="" autocomplete="email" type="email" placeholder="E-Mail" style="width: 250px;" class="svelte-x8kgzj"> <!--[!--><!--]--></div><!----> <div style="width: calc(250px + 12px);" class="container svelte-x8kgzj"><div class="label svelte-x8kgzj"><div style="background: var(--col-bg);" class="labelInner font-label noselect svelte-x8kgzj"><label for="xUsB3aW6"><!---->GIVEN NAME<!----></label></div></div> <input name="xUsB3aW6" value="" autocomplete="given-name" placeholder="Given Name" style="width: 250px;" class="svelte-x8kgzj"> <!--[!--><!--]--></div><!----> <div style="width: calc(250px + 12px);" class="container svelte-x8kgzj"><div class="label svelte-x8kgzj"><div style="background: var(--col-bg);" class="labelInner font-label noselect svelte-x8kgzj"><label for="RD9yG40A"><!---->FAMILY NAME<!----></label></div></div> <input name="RD9yG40A" value="" autocomplete="family-name" placeholder="Family Name" style="width: 250px;" class="svelte-x8kgzj"> <!--[!--><!--]--></div><!----> <button style="width: inherit; cursor: pointer;" class="font-label l2 svelte-103k7bs"><!--[!--><!--[--><div class="txt svelte-103k7bs"><!---->Register<!----></div><!--]--><!--]--></button><!----> <!--[!--><!--[!--><!--]--><!--]--></div> <div class="svelte-s2vujs absolute absoluteLeft"><select style="width: inherit;" class="svelte-ysgm66"><!--[--><option class="opt svelte-ysgm66" value="de">de</option><option class="opt svelte-ysgm66" value="en">en</option><option class="opt svelte-ysgm66" value="zh">zh</option><option class="opt svelte-ysgm66" value="ko">ko</option><!--]--></select><!----></div><!----><!----></div><!----></main><!----><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -100,8 +97,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../_app/immutable/entry/start.CtTLem66.js"),
+						import("../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 28],
diff --git a/templates/html/users/register.html.br b/templates/html/users/register.html.br
index 1eb725b23..348107fd1 100644
Binary files a/templates/html/users/register.html.br and b/templates/html/users/register.html.br differ
diff --git a/templates/html/users/register.html.gz b/templates/html/users/register.html.gz
index 4a3315892..76cbe9b94 100644
Binary files a/templates/html/users/register.html.gz and b/templates/html/users/register.html.gz differ
diff --git a/templates/html/users/{id}/email_confirm/email_confirm.html b/templates/html/users/{id}/email_confirm/email_confirm.html
index 7258ca9e1..c2895c0c9 100644
--- a/templates/html/users/{id}/email_confirm/email_confirm.html
+++ b/templates/html/users/{id}/email_confirm/email_confirm.html
@@ -41,55 +41,52 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-qSJoF3Iy1YRrNa+j/RN83UKheASJ33frtgz7nCNS1wM='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-dydKRtCJW+hg1IHRog3JsCI1Q4bfkD8T57g4H2uDGHM='; style-src 'self' 'unsafe-inline'">
 		<link href="../../../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/29.D1v94sLe.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/LangSelector.O5X7vySz.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
-		<link href="../../../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
-		<link href="../../../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
+		<link href="../../../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/ContentCenter.BpmtvV5f.css" rel="stylesheet">
-		<link rel="modulepreload" href="../../../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../../../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link rel="modulepreload" href="../../../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../../../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../../../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../../../_app/immutable/nodes/29.Cll9oCQC.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/LangSelector.mSh8cV6Q.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/OptionSelect.BCgZksOM.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/ContentCenter.CsjyBf2d.js"><!--[--><!--]--><title>E-Mail Change confirmed</title>
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../../../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../../../_app/immutable/nodes/29.CLtwBEup.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/LangSelector.DQTzLAdQ.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/ContentCenter.B2VsFG_i.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/Template.mSBxkRZ-.js"><!--[--><!--]--><title>E-Mail Change confirmed</title>
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
 </div>
-<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="container svelte-1g19pwu"><h1>E-Mail Change confirmed</h1> <p class="svelte-1g19pwu">Your E-Mail address has been changed from:<br> <b>old@mail.org</b> to <b>new@mail.org</b></p> <p class="svelte-1g19pwu">You can now log in using your new address.</p> <div class="btn svelte-1g19pwu"><button style="width: inherit; cursor: pointer;" class="font-label l2 svelte-103k7bs"><!--[!--><!--[--><div class="txt svelte-103k7bs"><!---->Login<!----></div><!--]--><!--]--></button><!----></div></div> <div class="svelte-s2vujs absolute absoluteLeft"><select style="width: inherit;" class="svelte-ysgm66"><!--[--><option class="opt svelte-ysgm66" value="de">de</option><option class="opt svelte-ysgm66" value="en">en</option><option class="opt svelte-ysgm66" value="zh">zh</option><option class="opt svelte-ysgm66" value="ko">ko</option><!--]--></select><!----></div><!----><!----></div><!----></main><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><!----> <!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><div class="container svelte-1g19pwu"><h1>E-Mail Change confirmed</h1> <p class="svelte-1g19pwu">Your E-Mail address has been changed from:<br> <b>old@mail.org</b> to <b>new@mail.org</b></p> <p class="svelte-1g19pwu">You can now log in using your new address.</p> <div class="btn svelte-1g19pwu"><button style="width: inherit; cursor: pointer;" class="font-label l2 svelte-103k7bs"><!--[!--><!--[--><div class="txt svelte-103k7bs"><!---->Login<!----></div><!--]--><!--]--></button><!----></div></div> <div class="svelte-s2vujs absolute absoluteLeft"><select style="width: inherit;" class="svelte-ysgm66"><!--[--><option class="opt svelte-ysgm66" value="de">de</option><option class="opt svelte-ysgm66" value="en">en</option><option class="opt svelte-ysgm66" value="zh">zh</option><option class="opt svelte-ysgm66" value="ko">ko</option><!--]--></select><!----></div><!----><!----></div><!----></main><!----><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("../../..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -97,8 +94,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../../../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../../../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../../../_app/immutable/entry/start.CtTLem66.js"),
+						import("../../../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 29],
diff --git a/templates/html/users/{id}/email_confirm/email_confirm.html.br b/templates/html/users/{id}/email_confirm/email_confirm.html.br
index 2d5941d04..05a6fba12 100644
Binary files a/templates/html/users/{id}/email_confirm/email_confirm.html.br and b/templates/html/users/{id}/email_confirm/email_confirm.html.br differ
diff --git a/templates/html/users/{id}/email_confirm/email_confirm.html.gz b/templates/html/users/{id}/email_confirm/email_confirm.html.gz
index 53fa5249f..4d6478e8b 100644
Binary files a/templates/html/users/{id}/email_confirm/email_confirm.html.gz and b/templates/html/users/{id}/email_confirm/email_confirm.html.gz differ
diff --git a/templates/html/users/{id}/reset/reset.html b/templates/html/users/{id}/reset/reset.html
index 6fff9e3e6..43ef32fb8 100644
--- a/templates/html/users/{id}/reset/reset.html
+++ b/templates/html/users/{id}/reset/reset.html
@@ -41,62 +41,61 @@
             color: var(--col-act2a)
         }
     </style>
-    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-hjLUWP+mYu+dY7BIS6OaO146MPgfHL2eF80xMaQHk2g='; style-src 'self' 'unsafe-inline'">
+    <meta http-equiv="content-security-policy" content="default-src 'none'; connect-src 'self'; img-src 'self'; script-src 'self' 'wasm-unsafe-eval' 'sha256-2dczPBPhNdRQ9F0dZqIBOzcSEnNv8asTYSOgqnVxtCo='; style-src 'self' 'unsafe-inline'">
 		<link href="../../../_app/immutable/assets/0.BjC-dB5x.css" rel="stylesheet">
-		<link href="../../../_app/immutable/assets/30.DvqR7Iqw.css" rel="stylesheet">
-		<link href="../../../_app/immutable/assets/Loading.C3rZw9wZ.css" rel="stylesheet">
+		<link href="../../../_app/immutable/assets/30.BYwAhQy0.css" rel="stylesheet">
+		<link href="../../../_app/immutable/assets/Button.kuO9zTZa.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/Input.DM5r-cSQ.css" rel="stylesheet">
-		<link href="../../../_app/immutable/assets/Button.BjnyTAiT.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/PasswordPolicy.CpXtnh7y.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/PasswordInput.DaeGq-fv.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/WebauthnRequest._nhbHN0l.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/LangSelector.O5X7vySz.css" rel="stylesheet">
 		<link href="../../../_app/immutable/assets/OptionSelect.v1wsJTwS.css" rel="stylesheet">
-		<link rel="modulepreload" href="../../../_app/immutable/entry/start.Bj78bRRv.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/entry.Ddy6icaf.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/index-client.CGppiJvc.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/index.BU3V9-NS.js">
-		<link rel="modulepreload" href="../../../_app/immutable/entry/app.Dj8nXbmK.js">
+		<link href="../../../_app/immutable/assets/ContentCenter.BpmtvV5f.css" rel="stylesheet">
+		<link rel="modulepreload" href="../../../_app/immutable/entry/start.CtTLem66.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/entry.DTN3-12j.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/index-client.CzqVbBUo.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/index.GhyFcvTZ.js">
+		<link rel="modulepreload" href="../../../_app/immutable/entry/app.BqD-ymlD.js">
 		<link rel="modulepreload" href="../../../_app/immutable/chunks/preload-helper.CmsKOCeN.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/legacy-client.CgqodnwN.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/render.D4MwAWTL.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/disclose-version.DZhRUPAc.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/if.DUA6Hpfn.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/proxy.DB4Km9hY.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/this.B23tdsYu.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/props.Df_pGDSd.js">
-		<link rel="modulepreload" href="../../../_app/immutable/nodes/0.Cb38Tfsl.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/snippet.xhmr1ywJ.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/is_dev.svelte.sP_MjoCE.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/language.svelte.n4n5oz7-.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/i18n.svelte.BTGsPiz_.js">
-		<link rel="modulepreload" href="../../../_app/immutable/nodes/30.C8nt_tI6.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/Loading.FF_EHyHU.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/dataFetching.Dto1xJW6.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/Input.Bj_i2TLU.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/helpers.DVmWh-6p.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/Button.BH2_dPry.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/PasswordPolicy.D9rZurKD.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/PasswordInput.6uXzPAl-.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/WebauthnRequest.CHVZELhw.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/tweened.CQQvc4Vq.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/LangSelector.mSh8cV6Q.js">
-		<link rel="modulepreload" href="../../../_app/immutable/chunks/OptionSelect.BCgZksOM.js"><!--[--><!--[--><!--[!--><!--[!--><!--]--><!--]--><!--]--><!--]-->
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/legacy-client.DPLAlLYD.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/render.CK5MTJQL.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/svelte-head.BSz900xL.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/template.io25wnf1.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/disclose-version.BDr9Qe-U.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/if.BnegfJmL.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/this.CLOcaDU7.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/props.C_MHtC74.js">
+		<link rel="modulepreload" href="../../../_app/immutable/nodes/0.DfqIXgOJ.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/snippet.B82X2vfx.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/is_dev.svelte.qp6n2kD5.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/language.svelte.Zi8jd0TO.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/i18n.svelte.C_qSL0ZA.js">
+		<link rel="modulepreload" href="../../../_app/immutable/nodes/30.DLhrrsHh.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/Button.JzTZa4bh.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/helpers.BvaXa0cv.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/Input.jkTumKYK.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/dataFetching.Br47vc1D.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/PasswordPolicy.DbNoBlQZ.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/PasswordInput.DOldwDot.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/WebauthnRequest.DHqnsBvK.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/tweened.x1rdCnFk.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/LangSelector.DQTzLAdQ.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/OptionSelect.jFlepSwk.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/ContentCenter.B2VsFG_i.js">
+		<link rel="modulepreload" href="../../../_app/immutable/chunks/Template.mSBxkRZ-.js"><!--[--><!--[--><!--[!--><!--[!--><!--]--><!--]--><!--]--><!--]-->
 </head>
 <body>
 <div class="hidden" aria-hidden="true">
-    <input name="rauthy-csrf-token" id="{{ csrf_token }}" type="hidden"/>
-    <input name="rauthy-data" id="{{ data }}" type="hidden"/>
-    <input name="rauthy-action" id="{{ action }}" type="hidden"/>
     {%- for tpl in templates -%}
     <template id="{{ tpl.id() }}">{{ tpl.inner()|safe }}</template>
     {%- endfor %}
 </div>
-<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><!--[!--><!--]--> <div class="container svelte-189rvns"><!--[!--><!--[!--><!--]--><!--]--> <!--[!--><!--]--></div> <div class="svelte-s2vujs absolute absoluteLeft"><select style="width: inherit;" class="svelte-ysgm66"><!--[--><option class="opt svelte-ysgm66" value="de">de</option><option class="opt svelte-ysgm66" value="en">en</option><option class="opt svelte-ysgm66" value="zh">zh</option><option class="opt svelte-ysgm66" value="ko">ko</option><!--]--></select><!----></div><!----><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
+<div style="display: contents"><!--[--><!--[--><!----><noscript><h2>You need to enable JavaScript</h2></noscript> <!--[--><!----><!----> <main class="svelte-1w3gfbz"><div class="svelte-vtwvgl"><!--[!--><!--]--><!----></div><!----></main><!----> <div class="svelte-s2vujs absolute absoluteLeft"><select style="width: inherit;" class="svelte-ysgm66"><!--[--><option class="opt svelte-ysgm66" value="de">de</option><option class="opt svelte-ysgm66" value="en">en</option><option class="opt svelte-ysgm66" value="zh">zh</option><option class="opt svelte-ysgm66" value="ko">ko</option><!--]--></select><!----></div><!----><!----><!----><!--]--><!----><!--]--> <!--[!--><!--]--><!--]-->
 			
 			<script>
 				{
-					__sveltekit_zeckhh = {
+					__sveltekit_en17ro = {
 						base: new URL("../../..", location).pathname.slice(0, -1),
 						assets: "/auth/v1"
 					};
@@ -104,8 +103,8 @@
 					const element = document.currentScript.parentElement;
 
 					Promise.all([
-						import("../../../_app/immutable/entry/start.Bj78bRRv.js"),
-						import("../../../_app/immutable/entry/app.Dj8nXbmK.js")
+						import("../../../_app/immutable/entry/start.CtTLem66.js"),
+						import("../../../_app/immutable/entry/app.BqD-ymlD.js")
 					]).then(([kit, app]) => {
 						kit.start(app, element, {
 							node_ids: [0, 30],
diff --git a/templates/html/users/{id}/reset/reset.html.br b/templates/html/users/{id}/reset/reset.html.br
index a2a9f5839..2183815c2 100644
Binary files a/templates/html/users/{id}/reset/reset.html.br and b/templates/html/users/{id}/reset/reset.html.br differ
diff --git a/templates/html/users/{id}/reset/reset.html.gz b/templates/html/users/{id}/reset/reset.html.gz
index 9598e5f1e..993c4dffb 100644
Binary files a/templates/html/users/{id}/reset/reset.html.gz and b/templates/html/users/{id}/reset/reset.html.gz differ