@dskripchenko/flow 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/dist/standalone.css +1 -1
- package/dist/standalone.js +10 -10
- package/dist/style.css +1 -13
- package/dist/vue.cjs +47 -47
- package/dist/vue.d.ts +2 -0
- package/dist/vue.mjs +48 -48
- package/package.json +3 -3
package/dist/standalone.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
!function(){if(typeof document>"u"||document.querySelector("style[data-dsk-flow]"))return;var s=document.createElement("style");s.setAttribute("data-dsk-flow","");s.textContent=":root{--uid-color-zinc-50:#fafafa;--uid-color-zinc-100:#f4f4f5;--uid-color-zinc-200:#e4e4e7;--uid-color-zinc-300:#d4d4d8;--uid-color-zinc-400:#a1a1aa;--uid-color-zinc-500:#71717a;--uid-color-zinc-600:#52525b;--uid-color-zinc-700:#3f3f46;--uid-color-zinc-800:#27272a;--uid-color-zinc-900:#18181b;--uid-color-zinc-950:#09090b;--uid-color-teal-50:#f0fdfa;--uid-color-teal-100:#ccfbf1;--uid-color-teal-300:#5eead4;--uid-color-teal-400:#2dd4bf;--uid-color-teal-500:#14b8a6;--uid-color-teal-600:#0d9488;--uid-color-teal-700:#0f766e;--uid-color-teal-900:#134e4a;--uid-color-rose-50:#fff1f2;--uid-color-rose-400:#fb7185;--uid-color-rose-500:#f43f5e;--uid-color-rose-600:#e11d48;--uid-color-rose-700:#be123c;--uid-color-rose-950:#4c0519;--uid-color-emerald-50:#ecfdf5;--uid-color-emerald-400:#34d399;--uid-color-emerald-600:#059669;--uid-color-emerald-950:#022c22;--uid-color-amber-50:#fffbeb;--uid-color-amber-400:#fbbf24;--uid-color-amber-600:#d97706;--uid-color-amber-950:#451a03;--uid-color-blue-50:#eff6ff;--uid-color-blue-400:#60a5fa;--uid-color-blue-600:#2563eb;--uid-color-blue-950:#172554;--uid-color-white:#fff;--uid-font-family-sans:\"Inter\", system-ui, -apple-system, sans-serif;--uid-font-family-mono:\"IBM Plex Mono\", \"Fira Code\", \"Cascadia Mono\", \"Roboto Mono\", ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"DejaVu Sans Mono\", \"Courier New\", monospace;--uid-font-size-xs:12px;--uid-font-size-sm:14px;--uid-font-size-md:16px;--uid-font-size-base:var(--uid-font-size-md);--uid-font-size-lg:18px;--uid-font-size-xl:20px;--uid-font-size-2xl:24px;--uid-font-size-3xl:30px;--uid-font-size-4xl:36px;--uid-font-weight-regular:400;--uid-font-weight-medium:500;--uid-font-weight-semibold:600;--uid-font-weight-bold:700;--uid-line-height-tight:1.25;--uid-line-height-snug:1.375;--uid-line-height-normal:1.5;--uid-line-height-relaxed:1.625;--uid-space-0:0;--uid-space-2xs:2px;--uid-space-xs:4px;--uid-space-sm:8px;--uid-space-md:16px;--uid-space-lg:24px;--uid-space-xl:32px;--uid-space-2xl:48px;--uid-space-3xl:64px;--uid-size-sm:32px;--uid-size-md:40px;--uid-size-lg:48px;--uid-radius-none:0;--uid-radius-sm:3px;--uid-radius-md:6px;--uid-radius-lg:10px;--uid-radius-full:9999px;--uid-duration-fast:.1s;--uid-duration-base:.2s;--uid-duration-slow:.35s;--uid-ease-out:cubic-bezier(0, 0, .2, 1);--uid-ease-in:cubic-bezier(.4, 0, 1, 1);--uid-ease-in-out:cubic-bezier(.4, 0, .2, 1);--uid-z-base:0;--uid-z-raised:1;--uid-z-sticky:100;--uid-z-affix:100;--uid-z-fixed:150;--uid-z-dropdown:200;--uid-z-overlay:300;--uid-z-drawer:400;--uid-z-modal:400;--uid-z-popover:450;--uid-z-toast:500;--uid-z-tooltip:600;--uid-bp-sm:480px;--uid-bp-md:768px;--uid-bp-lg:1024px;--uid-bp-xl:1280px;--uid-bp-2xl:1536px}:root[data-theme=light]{--uid-surface-base:var(--uid-color-zinc-50);--uid-surface-raised:var(--uid-color-white);--uid-surface-overlay:var(--uid-color-white);--uid-text-primary:var(--uid-color-zinc-900);--uid-text-secondary:var(--uid-color-zinc-500);--uid-text-tertiary:var(--uid-color-zinc-400);--uid-text-on-accent:var(--uid-color-white);--uid-border-subtle:var(--uid-color-zinc-200);--uid-border-default:var(--uid-color-zinc-300);--uid-border-hover:var(--uid-color-zinc-400);--uid-accent:var(--uid-color-teal-500);--uid-accent-hover:var(--uid-color-teal-600);--uid-accent-subtle:var(--uid-color-teal-50);--uid-accent-text:var(--uid-color-teal-700);--uid-danger:var(--uid-color-rose-600);--uid-danger-hover:var(--uid-color-rose-700);--uid-danger-subtle:var(--uid-color-rose-50);--uid-success:var(--uid-color-emerald-600);--uid-success-subtle:var(--uid-color-emerald-50);--uid-warning:var(--uid-color-amber-600);--uid-warning-subtle:var(--uid-color-amber-50);--uid-info:var(--uid-color-blue-600);--uid-info-subtle:var(--uid-color-blue-50);--uid-shadow-sm:0 1px 2px #0000000d;--uid-shadow-md:0 4px 12px #00000014;--uid-shadow-lg:0 8px 24px #0000001f;--uid-shadow-xl:0 20px 60px #0000004d}:root[data-theme=dark]{--uid-surface-base:#1c1c1e;--uid-surface-raised:#2c2c2e;--uid-surface-overlay:#3a3a3c;--uid-text-primary:var(--uid-color-zinc-100);--uid-text-secondary:var(--uid-color-zinc-400);--uid-text-tertiary:var(--uid-color-zinc-600);--uid-text-on-accent:var(--uid-color-white);--uid-border-subtle:var(--uid-color-zinc-700);--uid-border-default:var(--uid-color-zinc-600);--uid-border-hover:var(--uid-color-zinc-400);--uid-accent:var(--uid-color-teal-400);--uid-accent-hover:var(--uid-color-teal-300);--uid-accent-subtle:var(--uid-color-teal-900);--uid-accent-text:var(--uid-color-teal-300);--uid-danger:var(--uid-color-rose-400);--uid-danger-hover:var(--uid-color-rose-500);--uid-danger-subtle:var(--uid-color-rose-950);--uid-success:var(--uid-color-emerald-400);--uid-success-subtle:var(--uid-color-emerald-950);--uid-warning:var(--uid-color-amber-400);--uid-warning-subtle:var(--uid-color-amber-950);--uid-info:var(--uid-color-blue-400);--uid-info-subtle:var(--uid-color-blue-950);--uid-shadow-sm:0 1px 2px #0003;--uid-shadow-md:0 4px 12px #0006;--uid-shadow-lg:0 8px 24px #0009;--uid-shadow-xl:0 20px 60px #0009}:root{--uid-color-bg:var(--uid-surface-raised);--uid-color-bg-subtle:var(--uid-surface-base);--uid-color-overlay:var(--uid-surface-overlay);--uid-color-surface:var(--uid-surface-raised);--uid-color-surface-raised:var(--uid-surface-raised);--uid-color-surface-hover:var(--uid-surface-base);--uid-color-text:var(--uid-text-primary);--uid-color-text-primary:var(--uid-text-primary);--uid-color-text-secondary:var(--uid-text-secondary);--uid-color-text-tertiary:var(--uid-text-tertiary);--uid-color-text-disabled:var(--uid-text-tertiary);--uid-color-text-on-primary:var(--uid-text-on-accent);--uid-color-border:var(--uid-border-default);--uid-color-border-hover:var(--uid-border-hover);--uid-color-primary:var(--uid-accent);--uid-color-primary-hover:var(--uid-accent-hover);--uid-color-primary-subtle:var(--uid-accent-subtle);--uid-focus-ring:0 0 0 3px var(--uid-color-primary-subtle);--uid-color-focus-ring:var(--uid-accent);--uid-color-danger:var(--uid-danger);--uid-color-danger-subtle:var(--uid-danger-subtle);--uid-color-success:var(--uid-success);--uid-color-success-subtle:var(--uid-success-subtle);--uid-color-warning:var(--uid-warning);--uid-color-warning-subtle:var(--uid-warning-subtle);--uid-color-warning-dark:var(--uid-warning);--uid-color-info:var(--uid-info);--uid-color-info-subtle:var(--uid-info-subtle)}.uid-button{--uid-button-bg:var(--uid-accent);--uid-button-bg-hover:var(--uid-accent-hover);--uid-button-color:var(--uid-text-on-accent);--uid-button-border:transparent;--uid-button-radius:var(--uid-radius-md);--uid-button-height:var(--uid-size-md);--uid-button-padding-x:var(--uid-space-md);--uid-button-padding-y:var(--uid-space-xs);justify-content:center;align-items:center;gap:var(--uid-space-xs);min-height:var(--uid-button-height);padding:var(--uid-button-padding-y) var(--uid-button-padding-x);border:1px solid var(--uid-button-border);border-radius:var(--uid-button-radius);background:var(--uid-button-bg);color:var(--uid-button-color);font:inherit;font-size:var(--uid-font-size-md);font-weight:var(--uid-font-weight-medium);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--uid-duration-fast) var(--uid-ease-out), border-color var(--uid-duration-fast) var(--uid-ease-out), color var(--uid-duration-fast) var(--uid-ease-out), opacity var(--uid-duration-fast) var(--uid-ease-out);line-height:1;text-decoration:none;display:inline-flex}.uid-button:hover:not([disabled]):not([data-loading=true]){background:var(--uid-button-bg-hover)}.uid-button:active:not([disabled]):not([data-loading=true]){transform:scale(.98)}.uid-button:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px;border-radius:inherit}.uid-button[disabled],.uid-button[aria-disabled=true]{opacity:.5;cursor:not-allowed}.uid-button[data-loading=true]{opacity:.7;cursor:wait;pointer-events:none}.uid-button--secondary{--uid-button-bg:var(--uid-surface-raised);--uid-button-bg-hover:var(--uid-border-subtle);--uid-button-color:var(--uid-text-primary);--uid-button-border:var(--uid-border-default)}.uid-button--ghost{--uid-button-bg:transparent;--uid-button-bg-hover:var(--uid-border-subtle);--uid-button-color:var(--uid-text-primary);--uid-button-border:transparent}.uid-button--danger{--uid-button-bg:var(--uid-danger);--uid-button-bg-hover:var(--uid-danger-hover);--uid-button-color:var(--uid-text-on-accent)}.uid-button--danger:focus-visible{outline-color:var(--uid-danger)}.uid-button--sm{--uid-button-height:var(--uid-size-sm);--uid-button-padding-x:var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-button--lg{--uid-button-height:var(--uid-size-lg);--uid-button-padding-x:var(--uid-space-lg);font-size:var(--uid-font-size-lg)}.uid-button__prepend,.uid-button__append{flex-shrink:0;align-items:center;display:inline-flex}.uid-button__icon{flex-shrink:0}.uid-button--icon-only{width:var(--uid-button-height);min-width:var(--uid-button-height);padding:0}.uid-input-field{--uid-input-height:var(--uid-size-md);--uid-input-padding-x:var(--uid-space-sm);--uid-input-font-size:var(--uid-font-size-md);--uid-input-bg:var(--uid-surface-raised);--uid-input-border:var(--uid-border-default);--uid-input-border-focus:var(--uid-accent);--uid-input-color:var(--uid-text-primary);--uid-input-placeholder:var(--uid-text-tertiary);--uid-input-radius:var(--uid-radius-md);--uid-input-gap:var(--uid-space-xs);gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-input-field__label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);line-height:1.4;display:flex}.uid-input-field__required{color:var(--uid-danger)}.uid-input-field__control{min-height:var(--uid-input-height);padding:var(--uid-space-xs) var(--uid-input-padding-x);align-items:center;gap:var(--uid-input-gap);background:var(--uid-input-bg);border:1px solid var(--uid-input-border);border-radius:var(--uid-input-radius);transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);display:flex}.uid-input-field__control:focus-within{border-color:var(--uid-input-border-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-accent) 15%, transparent);outline:none}.uid-input-field__input{min-width:0;color:var(--uid-input-color);font:inherit;font-size:var(--uid-input-font-size);background:0 0;border:none;outline:none;flex:1;padding:0;line-height:1.5}.uid-input-field__input::placeholder{color:var(--uid-input-placeholder)}.uid-input-field__prepend,.uid-input-field__append{color:var(--uid-text-secondary);flex-shrink:0;align-items:center;display:inline-flex}.uid-input-field__hint{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-input-field__hint--error{color:var(--uid-danger)}.uid-input-field--error .uid-input-field__control{border-color:var(--uid-danger)}.uid-input-field--error .uid-input-field__control:focus-within{border-color:var(--uid-danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-danger) 15%, transparent)}.uid-input-field--disabled .uid-input-field__control{opacity:.5;cursor:not-allowed;background:var(--uid-surface-base)}.uid-input-field--disabled .uid-input-field__input{cursor:not-allowed;pointer-events:none}.uid-input-field--readonly .uid-input-field__control{background:var(--uid-surface-base);border-style:dashed}.uid-input-field--sm{--uid-input-height:var(--uid-size-sm);--uid-input-font-size:var(--uid-font-size-sm);--uid-input-padding-x:var(--uid-space-xs)}.uid-input-field--lg{--uid-input-height:var(--uid-size-lg);--uid-input-font-size:var(--uid-font-size-lg);--uid-input-padding-x:var(--uid-space-md)}.uid-textarea-field{--uid-textarea-padding-x:var(--uid-space-sm);--uid-textarea-padding-y:var(--uid-space-xs);--uid-textarea-font-size:var(--uid-font-size-md);--uid-textarea-bg:var(--uid-surface-raised);--uid-textarea-border:var(--uid-border-default);--uid-textarea-border-focus:var(--uid-accent);--uid-textarea-color:var(--uid-text-primary);--uid-textarea-placeholder:var(--uid-text-tertiary);--uid-textarea-radius:var(--uid-radius-md);gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-textarea-field__label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);line-height:1.4;display:flex}.uid-textarea-field__required{color:var(--uid-danger)}.uid-textarea-field__textarea{box-sizing:border-box;width:100%;padding:var(--uid-textarea-padding-y) var(--uid-textarea-padding-x);background:var(--uid-textarea-bg);border:1px solid var(--uid-textarea-border);border-radius:var(--uid-textarea-radius);color:var(--uid-textarea-color);font:inherit;font-size:var(--uid-textarea-font-size);transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);outline:none;line-height:1.5}.uid-textarea-field__textarea::placeholder{color:var(--uid-textarea-placeholder)}.uid-textarea-field__textarea:focus-visible{border-color:var(--uid-textarea-border-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-accent) 15%, transparent)}.uid-textarea-field__hint{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-textarea-field__hint--error{color:var(--uid-danger)}.uid-textarea-field--error .uid-textarea-field__textarea{border-color:var(--uid-danger)}.uid-textarea-field--error .uid-textarea-field__textarea:focus-visible{border-color:var(--uid-danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-danger) 15%, transparent)}.uid-textarea-field--disabled .uid-textarea-field__textarea{opacity:.5;cursor:not-allowed;background:var(--uid-surface-base)}.uid-textarea-field--readonly .uid-textarea-field__textarea{background:var(--uid-surface-base);cursor:default;border-style:dashed}.uid-textarea-field--sm{--uid-textarea-font-size:var(--uid-font-size-sm);--uid-textarea-padding-x:var(--uid-space-xs)}.uid-textarea-field--lg{--uid-textarea-font-size:var(--uid-font-size-lg);--uid-textarea-padding-x:var(--uid-space-md)}.uid-checkbox{--uid-checkbox-size:16px;--uid-checkbox-radius:var(--uid-radius-sm);--uid-checkbox-border:var(--uid-border-default);--uid-checkbox-bg:var(--uid-surface-raised);--uid-checkbox-checked-bg:var(--uid-accent);--uid-checkbox-checked-border:var(--uid-accent);--uid-checkbox-mark:var(--uid-text-on-accent);--uid-checkbox-gap:var(--uid-space-sm);gap:var(--uid-space-xs);flex-direction:column;display:inline-flex}.uid-checkbox__label{align-items:center;gap:var(--uid-checkbox-gap);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.uid-checkbox__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.uid-checkbox__box{width:var(--uid-checkbox-size);height:var(--uid-checkbox-size);border:1.5px solid var(--uid-checkbox-border);border-radius:var(--uid-checkbox-radius);background:var(--uid-checkbox-bg);transition:background var(--uid-duration-fast) var(--uid-ease-out), border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);flex-shrink:0;position:relative}.uid-checkbox__box:after{content:\"\";border:1.5px solid var(--uid-checkbox-mark);opacity:0;width:4px;height:8px;transition:opacity var(--uid-duration-fast) var(--uid-ease-out), transform var(--uid-duration-fast) var(--uid-ease-out);border-top:none;border-left:none;margin:auto;position:absolute;inset:0;transform:rotate(45deg)translateY(-1px)scale(0)}.uid-checkbox__box:before{content:\"\";background:var(--uid-checkbox-mark);opacity:0;width:8px;height:1.5px;transition:opacity var(--uid-duration-fast) var(--uid-ease-out), transform var(--uid-duration-fast) var(--uid-ease-out);border-radius:1px;margin:auto;position:absolute;inset:0;transform:scale(0)}.uid-checkbox__input:checked+.uid-checkbox__box{background:var(--uid-checkbox-checked-bg);border-color:var(--uid-checkbox-checked-border)}.uid-checkbox__input:checked+.uid-checkbox__box:after{opacity:1;transform:rotate(45deg)translateY(-1px)scale(1)}.uid-checkbox__input:indeterminate+.uid-checkbox__box{background:var(--uid-checkbox-checked-bg);border-color:var(--uid-checkbox-checked-border)}.uid-checkbox__input:indeterminate+.uid-checkbox__box:before{opacity:1;transform:scale(1)}.uid-checkbox__input:focus-visible+.uid-checkbox__box{box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-accent) 15%, transparent);border-color:var(--uid-accent);outline:none}.uid-checkbox__text{font-size:var(--uid-font-size-md);color:var(--uid-text-primary);line-height:1.4}.uid-checkbox__required{color:var(--uid-danger);margin-left:2px}.uid-checkbox__hint{padding-left:calc(var(--uid-checkbox-size) + var(--uid-checkbox-gap));font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-checkbox__hint--error{color:var(--uid-danger)}.uid-checkbox--error .uid-checkbox__box{border-color:var(--uid-danger)}.uid-checkbox--error .uid-checkbox__input:focus-visible+.uid-checkbox__box{box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-danger) 15%, transparent);border-color:var(--uid-danger)}.uid-checkbox--disabled .uid-checkbox__label{cursor:not-allowed;opacity:.5}.uid-checkbox-group{gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-checkbox-group__legend{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);align-items:center;gap:var(--uid-space-2xs);margin:0;line-height:1.4;display:flex}.uid-checkbox-group__required{color:var(--uid-danger)}.uid-checkbox-group__options{gap:var(--uid-space-sm);display:flex}.uid-checkbox-group--vertical .uid-checkbox-group__options{flex-direction:column}.uid-checkbox-group--horizontal .uid-checkbox-group__options{flex-flow:wrap}.uid-checkbox-group__hint{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-checkbox-group__hint--error{color:var(--uid-danger)}.uid-checkbox-group--disabled{cursor:not-allowed;opacity:.5}.uid-radio{--uid-radio-size:16px;--uid-radio-border:var(--uid-border-default);--uid-radio-bg:var(--uid-surface-raised);--uid-radio-checked-border:var(--uid-accent);--uid-radio-dot:var(--uid-accent);--uid-radio-gap:var(--uid-space-sm);align-items:center;gap:var(--uid-radio-gap);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.uid-radio__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.uid-radio__circle{width:var(--uid-radio-size);height:var(--uid-radio-size);border:1.5px solid var(--uid-radio-border);background:var(--uid-radio-bg);transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.uid-radio__circle:after{content:\"\";background:var(--uid-radio-dot);opacity:0;width:6px;height:6px;transition:opacity var(--uid-duration-fast) var(--uid-ease-out), transform var(--uid-duration-fast) var(--uid-ease-out);border-radius:50%;transform:scale(.5)}.uid-radio__input:checked+.uid-radio__circle{border-color:var(--uid-radio-checked-border)}.uid-radio__input:checked+.uid-radio__circle:after{opacity:1;transform:scale(1)}.uid-radio__input:focus-visible+.uid-radio__circle{box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-accent) 15%, transparent);border-color:var(--uid-accent);outline:none}.uid-radio__text{font-size:var(--uid-font-size-md);color:var(--uid-text-primary);line-height:1.4}.uid-radio--disabled{cursor:not-allowed;opacity:.5}.uid-radio-group{gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-radio-group__legend{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);align-items:center;gap:var(--uid-space-2xs);margin:0;line-height:1.4;display:flex}.uid-radio-group__required{color:var(--uid-danger)}.uid-radio-group__options{gap:var(--uid-space-sm);display:flex}.uid-radio-group--vertical .uid-radio-group__options{flex-direction:column}.uid-radio-group--horizontal .uid-radio-group__options{flex-flow:wrap}.uid-radio-group__hint{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-radio-group__hint--error{color:var(--uid-danger)}.uid-radio-group--disabled{cursor:not-allowed;opacity:.5}.uid-switch{--uid-switch-track-width:36px;--uid-switch-track-height:20px;--uid-switch-thumb-size:14px;--uid-switch-thumb-offset:3px;--uid-switch-track-bg:var(--uid-border-default);--uid-switch-track-on-bg:var(--uid-accent);--uid-switch-thumb-bg:var(--uid-color-white);--uid-switch-gap:var(--uid-space-sm);gap:var(--uid-space-xs);flex-direction:column;display:inline-flex}.uid-switch__label{align-items:center;gap:var(--uid-switch-gap);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.uid-switch__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.uid-switch__track{width:var(--uid-switch-track-width);height:var(--uid-switch-track-height);background:var(--uid-switch-track-bg);border-radius:var(--uid-radius-full);transition:background var(--uid-duration-base) var(--uid-ease-in-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);flex-shrink:0;position:relative}.uid-switch__thumb{top:var(--uid-switch-thumb-offset);left:var(--uid-switch-thumb-offset);width:var(--uid-switch-thumb-size);height:var(--uid-switch-thumb-size);background:var(--uid-switch-thumb-bg);box-shadow:var(--uid-shadow-sm);transition:transform var(--uid-duration-base) var(--uid-ease-in-out);border-radius:50%;position:absolute;transform:translate(0)}.uid-switch__input:checked+.uid-switch__track{background:var(--uid-switch-track-on-bg)}.uid-switch__input:checked+.uid-switch__track .uid-switch__thumb{transform:translateX(calc(var(--uid-switch-track-width) - var(--uid-switch-thumb-size) - var(--uid-switch-thumb-offset) * 2))}.uid-switch__input:focus-visible+.uid-switch__track{box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-accent) 15%, transparent);outline:none}.uid-switch__text{font-size:var(--uid-font-size-md);color:var(--uid-text-primary);line-height:1.4}.uid-switch__required{color:var(--uid-danger);margin-left:2px}.uid-switch__hint{padding-left:calc(var(--uid-switch-track-width) + var(--uid-switch-gap));font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-switch__hint--error{color:var(--uid-danger)}.uid-switch--error .uid-switch__track{outline:1.5px solid var(--uid-danger);outline-offset:1px}.uid-switch--disabled .uid-switch__label{cursor:not-allowed;opacity:.5}.uid-switch--sm{--uid-switch-track-width:28px;--uid-switch-track-height:16px;--uid-switch-thumb-size:10px;--uid-switch-thumb-offset:3px}.uid-switch--lg{--uid-switch-track-width:44px;--uid-switch-track-height:24px;--uid-switch-thumb-size:18px;--uid-switch-thumb-offset:3px}.uid-label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);line-height:var(--uid-line-height-tight);cursor:default;display:inline-flex}.uid-label--disabled{opacity:.5;cursor:not-allowed}.uid-label__required{color:var(--uid-danger)}.uid-form-field{gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-form-field__label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);line-height:1.4;display:flex}.uid-form-field--disabled .uid-form-field__label{opacity:.5}.uid-form-field__required{color:var(--uid-danger)}.uid-form-field__content{flex-direction:column;display:flex}.uid-form-field__hint{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-form-field__hint--error{color:var(--uid-danger)}.uid-spinner{--uid-spinner-size:20px;--uid-spinner-color:currentColor;--uid-spinner-width:2px;width:var(--uid-spinner-size);height:var(--uid-spinner-size);border:var(--uid-spinner-width) solid color-mix(in srgb, var(--uid-spinner-color) 20%, transparent);border-top-color:var(--uid-spinner-color);animation:uid-spin var(--uid-duration-slow) linear infinite;border-radius:50%;flex-shrink:0;display:inline-block}@keyframes uid-spin{to{transform:rotate(360deg)}}.uid-spinner--sm{--uid-spinner-size:16px}.uid-spinner--lg{--uid-spinner-size:28px;--uid-spinner-width:2.5px}.uid-skeleton{background:linear-gradient(90deg, var(--uid-surface-raised) 25%, color-mix(in srgb, var(--uid-text-tertiary) 18%, var(--uid-surface-raised)) 50%, var(--uid-surface-raised) 75%);border-radius:var(--uid-radius-sm);vertical-align:middle;background-size:200% 100%;animation:1.6s ease-in-out infinite uid-skeleton-shimmer;display:inline-block}.uid-skeleton--rounded{border-radius:var(--uid-radius-md)}.uid-skeleton--full{border-radius:var(--uid-radius-full)}.uid-skeleton-lines{gap:var(--uid-space-sm);flex-direction:column;width:100%;display:flex}.uid-skeleton-lines .uid-skeleton{display:block}@keyframes uid-skeleton-shimmer{0%{background-position:200%}to{background-position:-200%}}.uid-badge{--uid-badge-bg:color-mix(in srgb, var(--uid-text-primary) 10%, transparent);--uid-badge-color:var(--uid-text-primary);--uid-badge-radius:var(--uid-radius-full);padding:2px var(--uid-space-xs);background:var(--uid-badge-bg);color:var(--uid-badge-color);border-radius:var(--uid-badge-radius);font-size:var(--uid-font-size-xs);font-weight:var(--uid-font-weight-medium);white-space:nowrap;vertical-align:middle;justify-content:center;align-items:center;line-height:1.4;display:inline-flex}.uid-badge--dot{border-radius:50%;width:8px;height:8px;padding:0}.uid-badge--sm{padding:1px 5px;font-size:10px}.uid-badge--info{--uid-badge-bg:color-mix(in srgb, var(--uid-accent) 15%, transparent);--uid-badge-color:var(--uid-accent-text)}.uid-badge--success{--uid-badge-bg:var(--uid-success-subtle);--uid-badge-color:var(--uid-success)}.uid-badge--warning{--uid-badge-bg:var(--uid-warning-subtle);--uid-badge-color:var(--uid-warning)}.uid-badge--danger{--uid-badge-bg:var(--uid-danger-subtle);--uid-badge-color:var(--uid-danger)}.uid-badge--dot.uid-badge--default{background:var(--uid-text-tertiary)}.uid-badge--dot.uid-badge--info{background:var(--uid-accent)}.uid-badge--dot.uid-badge--success{background:var(--uid-success)}.uid-badge--dot.uid-badge--warning{background:var(--uid-warning)}.uid-badge--dot.uid-badge--danger{background:var(--uid-danger)}.uid-alert{--uid-alert-bg:var(--uid-accent-subtle);--uid-alert-color:var(--uid-accent-text);--uid-alert-border:var(--uid-accent);align-items:flex-start;gap:var(--uid-space-sm);padding:var(--uid-space-sm) var(--uid-space-md);background:var(--uid-alert-bg);border:1px solid color-mix(in srgb, var(--uid-alert-border) 30%, transparent);border-left:3px solid var(--uid-alert-border);border-radius:var(--uid-radius-md);color:var(--uid-alert-color);display:flex}.uid-alert__icon{flex-shrink:0;margin-top:1px;display:flex}.uid-alert__content{flex:1;min-width:0}.uid-alert__title{margin:0 0 var(--uid-space-xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-semibold);color:var(--uid-alert-color);line-height:1.4}.uid-alert__body{font-size:var(--uid-font-size-sm);color:var(--uid-text-primary);line-height:1.5}.uid-alert__close{padding:var(--uid-space-xs);margin:calc(-1 * var(--uid-space-xs)) calc(-1 * var(--uid-space-xs)) 0 0;color:var(--uid-alert-color);cursor:pointer;border-radius:var(--uid-radius-sm);opacity:.7;transition:opacity var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.uid-alert__close:hover{opacity:1}.uid-alert__close:focus-visible{outline:2px solid var(--uid-alert-border);outline-offset:1px;opacity:1}.uid-alert--info{--uid-alert-bg:var(--uid-accent-subtle);--uid-alert-color:var(--uid-accent-text);--uid-alert-border:var(--uid-accent)}.uid-alert--success{--uid-alert-bg:var(--uid-success-subtle);--uid-alert-color:var(--uid-success);--uid-alert-border:var(--uid-success)}.uid-alert--warning{--uid-alert-bg:var(--uid-warning-subtle);--uid-alert-color:var(--uid-warning);--uid-alert-border:var(--uid-warning)}.uid-alert--danger{--uid-alert-bg:var(--uid-danger-subtle);--uid-alert-color:var(--uid-danger);--uid-alert-border:var(--uid-danger)}.uid-toast-list{bottom:var(--uid-space-lg);right:var(--uid-space-lg);z-index:var(--uid-z-toast);gap:var(--uid-space-sm);pointer-events:none;max-width:400px;width:calc(100vw - var(--uid-space-lg) * 2);flex-direction:column;align-items:flex-end;display:flex;position:fixed}.uid-toast{--uid-toast-bg:var(--uid-surface-overlay);--uid-toast-color:var(--uid-text-primary);--uid-toast-border:var(--uid-border-default);--uid-toast-accent:var(--uid-accent);align-items:flex-start;gap:var(--uid-space-sm);padding:var(--uid-space-sm) var(--uid-space-md);background:var(--uid-toast-bg);border:1px solid var(--uid-toast-border);border-left:3px solid var(--uid-toast-accent);border-radius:var(--uid-radius-md);box-shadow:var(--uid-shadow-lg);pointer-events:all;box-sizing:border-box;width:100%;display:flex}.uid-toast__icon{color:var(--uid-toast-accent);flex-shrink:0;margin-top:1px;display:flex}.uid-toast__content{flex:1;min-width:0}.uid-toast__title{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-semibold);color:var(--uid-toast-color);margin:0 0 2px;line-height:1.4}.uid-toast__message{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-toast__close{padding:var(--uid-space-xs);margin:calc(-1 * var(--uid-space-xs)) calc(-1 * var(--uid-space-xs)) 0 0;color:var(--uid-text-tertiary);cursor:pointer;border-radius:var(--uid-radius-sm);transition:color var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.uid-toast__close:hover{color:var(--uid-text-primary)}.uid-toast__close:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:1px}.uid-toast--info{--uid-toast-accent:var(--uid-accent)}.uid-toast--success{--uid-toast-accent:var(--uid-success)}.uid-toast--warning{--uid-toast-accent:var(--uid-warning)}.uid-toast--danger{--uid-toast-accent:var(--uid-danger)}.uid-toast-enter-active,.uid-toast-leave-active{transition:opacity var(--uid-duration-base) var(--uid-ease-out), transform var(--uid-duration-base) var(--uid-ease-out)}.uid-toast-move{transition:transform var(--uid-duration-base) var(--uid-ease-out)}.uid-toast-enter-from,.uid-toast-leave-to{opacity:0;transform:translate(100%)}.uid-toast-leave-active{position:absolute}.uid-progress-wrapper{gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-progress-header{justify-content:space-between;align-items:center;gap:var(--uid-space-sm);display:flex}.uid-progress-label,.uid-progress-value{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);line-height:1.4}.uid-progress{--uid-progress-height:8px;--uid-progress-bg:var(--uid-border-subtle);--uid-progress-fill:var(--uid-accent);--uid-progress-radius:var(--uid-radius-full);width:100%;height:var(--uid-progress-height);background:var(--uid-progress-bg);border-radius:var(--uid-progress-radius);position:relative;overflow:hidden}.uid-progress__bar{background:var(--uid-progress-fill);border-radius:var(--uid-progress-radius);height:100%;transition:width var(--uid-duration-base) var(--uid-ease-out)}.uid-progress--indeterminate:after{content:\"\";background:linear-gradient(90deg, transparent 0%, var(--uid-progress-fill) 40%, var(--uid-progress-fill) 60%, transparent 100%) no-repeat center / 50% 100%;animation:1.5s linear infinite uid-progress-indeterminate;position:absolute;inset:0}@keyframes uid-progress-indeterminate{0%{background-position:-50%}to{background-position:150%}}.uid-progress--sm{--uid-progress-height:4px}.uid-progress--lg{--uid-progress-height:12px}.uid-progress--default,.uid-progress--info{--uid-progress-fill:var(--uid-accent)}.uid-progress--success{--uid-progress-fill:var(--uid-success)}.uid-progress--warning{--uid-progress-fill:var(--uid-warning)}.uid-progress--danger{--uid-progress-fill:var(--uid-danger)}.uid-modal-overlay{z-index:var(--uid-z-modal);padding:var(--uid-space-md);background:var(--uid-modal-overlay,#00000080);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.uid-modal{width:100%;max-height:calc(100vh - var(--uid-space-xl));background:var(--uid-modal-bg,var(--uid-color-surface));border:1px solid var(--uid-modal-border,var(--uid-color-border));border-radius:var(--uid-modal-radius,var(--uid-radius-lg));box-shadow:var(--uid-modal-shadow,var(--uid-shadow-xl,0 20px 60px #0000004d));outline:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.uid-modal--sm{max-width:400px}.uid-modal--md{max-width:560px}.uid-modal--lg{max-width:768px}.uid-modal--xl{max-width:1024px}.uid-modal--full{max-width:none;height:calc(100vh - var(--uid-space-xl))}.uid-modal--full .uid-modal__body{flex:1;overflow:auto}.uid-modal__header{padding:var(--uid-space-md) 20px;border-bottom:1px solid var(--uid-color-border);flex-shrink:0;align-items:flex-start;gap:12px;display:flex}.uid-modal__title{font-size:var(--uid-font-size-lg);color:var(--uid-color-text-primary);flex:1;margin:0;font-weight:600;line-height:1.3}.uid-modal__close{border-radius:var(--uid-radius-sm);width:28px;height:28px;color:var(--uid-color-text-secondary);cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out), color var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.uid-modal__close:hover{background:var(--uid-color-surface-hover);color:var(--uid-color-text-primary)}.uid-modal__close:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-modal__body{flex:1;padding:20px;overflow-y:auto}.uid-modal__footer{justify-content:flex-end;align-items:center;gap:var(--uid-space-sm);border-top:1px solid var(--uid-color-border);flex-shrink:0;padding:12px 20px;display:flex}.uid-modal-enter-active,.uid-modal-leave-active{transition:opacity var(--uid-duration-base) var(--uid-ease-out)}.uid-modal-enter-active .uid-modal,.uid-modal-leave-active .uid-modal{transition:opacity var(--uid-duration-base) var(--uid-ease-out), transform var(--uid-duration-base) var(--uid-ease-out)}.uid-modal-enter-from,.uid-modal-leave-to{opacity:0}.uid-modal-enter-from .uid-modal,.uid-modal-leave-to .uid-modal{opacity:0;transform:scale(.95)translateY(-8px)}.uid-drawer-overlay{z-index:var(--uid-z-modal);background:var(--uid-drawer-overlay,#00000080);position:fixed;inset:0}.uid-drawer{background:var(--uid-drawer-bg,var(--uid-color-surface));border-color:var(--uid-drawer-border,var(--uid-color-border));box-shadow:var(--uid-drawer-shadow,var(--uid-shadow-xl,0 20px 60px #0000004d));border-style:solid;border-width:0;outline:none;flex-direction:column;display:flex;position:fixed;overflow:hidden}.uid-drawer--right{width:var(--uid-drawer-width,400px);border-width:0 0 0 1px;top:0;bottom:0;right:0}.uid-drawer--left{width:var(--uid-drawer-width,400px);border-width:0 1px 0 0;top:0;bottom:0;left:0}.uid-drawer--top{height:var(--uid-drawer-height,50vh);border-radius:0 0 var(--uid-radius-lg) var(--uid-radius-lg);border-width:0 0 1px;top:0;left:0;right:0}.uid-drawer--bottom{height:var(--uid-drawer-height,50vh);border-radius:var(--uid-radius-lg) var(--uid-radius-lg) 0 0;border-width:1px 0 0;bottom:0;left:0;right:0}.uid-drawer__header{padding:var(--uid-space-md) 20px;border-bottom:1px solid var(--uid-color-border);flex-shrink:0;align-items:flex-start;gap:12px;display:flex}.uid-drawer__title{font-size:var(--uid-font-size-lg);color:var(--uid-color-text-primary);flex:1;margin:0;font-weight:600;line-height:1.3}.uid-drawer__close{border-radius:var(--uid-radius-sm);width:28px;height:28px;color:var(--uid-color-text-secondary);cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out), color var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.uid-drawer__close:hover{background:var(--uid-color-surface-hover);color:var(--uid-color-text-primary)}.uid-drawer__close:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-drawer__body{flex:1;padding:20px;overflow-y:auto}.uid-drawer__footer{justify-content:flex-end;align-items:center;gap:var(--uid-space-sm);border-top:1px solid var(--uid-color-border);flex-shrink:0;padding:12px 20px;display:flex}.uid-drawer-right-enter-active,.uid-drawer-right-leave-active,.uid-drawer-left-enter-active,.uid-drawer-left-leave-active,.uid-drawer-top-enter-active,.uid-drawer-top-leave-active,.uid-drawer-bottom-enter-active,.uid-drawer-bottom-leave-active{transition:opacity var(--uid-duration-base) var(--uid-ease-out)}.uid-drawer-right-enter-active .uid-drawer,.uid-drawer-right-leave-active .uid-drawer,.uid-drawer-left-enter-active .uid-drawer,.uid-drawer-left-leave-active .uid-drawer,.uid-drawer-bottom-enter-active .uid-drawer,.uid-drawer-bottom-leave-active .uid-drawer{transition:transform var(--uid-duration-base) var(--uid-ease-out)}.uid-drawer-right-enter-from,.uid-drawer-right-leave-to{opacity:0}.uid-drawer-right-enter-from .uid-drawer,.uid-drawer-right-leave-to .uid-drawer{transform:translate(100%)}.uid-drawer-left-enter-from,.uid-drawer-left-leave-to{opacity:0}.uid-drawer-left-enter-from .uid-drawer,.uid-drawer-left-leave-to .uid-drawer{transform:translate(-100%)}.uid-drawer-bottom-enter-from,.uid-drawer-bottom-leave-to{opacity:0}.uid-drawer-bottom-enter-from .uid-drawer,.uid-drawer-bottom-leave-to .uid-drawer{transform:translateY(100%)}.uid-drawer-top-enter-active .uid-drawer,.uid-drawer-top-leave-active .uid-drawer{transition:transform var(--uid-duration-base) var(--uid-ease-out)}.uid-drawer-top-enter-from,.uid-drawer-top-leave-to{opacity:0}.uid-drawer-top-enter-from .uid-drawer,.uid-drawer-top-leave-to .uid-drawer{transform:translateY(-100%)}.uid-tooltip-anchor{display:contents}.uid-tooltip{z-index:var(--uid-z-tooltip);max-width:var(--uid-tooltip-max-width,240px);padding:var(--uid-tooltip-padding-y,var(--uid-space-xs)) var(--uid-tooltip-padding-x,var(--uid-space-sm));background:var(--uid-tooltip-bg,var(--uid-color-zinc-900));color:var(--uid-tooltip-color,var(--uid-color-zinc-50));font-size:var(--uid-tooltip-font-size,var(--uid-font-size-sm));border-radius:var(--uid-tooltip-radius,var(--uid-radius-sm));pointer-events:none;white-space:normal;word-break:break-word;line-height:1.4}.uid-tooltip-enter-active,.uid-tooltip-leave-active{transition:opacity var(--uid-duration-fast) var(--uid-ease-out), transform var(--uid-duration-fast) var(--uid-ease-out)}.uid-tooltip-enter-from,.uid-tooltip-leave-to{opacity:0;transform:scale(.95)}.uid-popover-trigger{display:contents}.uid-popover{z-index:var(--uid-z-popover,450);min-width:var(--uid-popover-min-width,200px);padding:var(--uid-popover-padding,12px);background:var(--uid-popover-bg,var(--uid-color-surface));border:1px solid var(--uid-popover-border,var(--uid-color-border));border-radius:var(--uid-popover-radius,var(--uid-radius-md));box-shadow:var(--uid-popover-shadow,var(--uid-shadow-lg,0 8px 24px #00000026))}.uid-popover-enter-active,.uid-popover-leave-active{transition:opacity var(--uid-duration-fast) var(--uid-ease-out), transform var(--uid-duration-fast) var(--uid-ease-out)}.uid-popover-enter-from,.uid-popover-leave-to{opacity:0;transform:scale(.96)translateY(-4px)}.uid-menu-trigger{display:contents}.uid-menu{z-index:var(--uid-z-popover,450);min-width:var(--uid-menu-min-width,180px);padding:var(--uid-menu-padding-y,var(--uid-space-xs)) 0;background:var(--uid-menu-bg,var(--uid-color-surface));border:1px solid var(--uid-menu-border,var(--uid-color-border));border-radius:var(--uid-menu-radius,var(--uid-radius-md));box-shadow:var(--uid-menu-shadow,var(--uid-shadow-lg,0 8px 24px #00000026));outline:none}.uid-menu-item{align-items:center;gap:var(--uid-space-sm);width:100%;padding:var(--uid-space-sm) 12px;font-size:var(--uid-font-size-sm);color:var(--uid-menu-item-color,var(--uid-color-text-primary));text-align:left;cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;border-radius:0;display:flex}.uid-menu-item:hover:not([disabled]),.uid-menu-item:focus-visible:not([disabled]),.uid-menu-item:focus-visible{background:var(--uid-menu-item-bg-hover,var(--uid-color-surface-hover));outline:none}.uid-menu-item__icon{color:var(--uid-menu-item-icon-color,currentColor);flex-shrink:0}.uid-menu-item--danger{color:var(--uid-menu-item-color-danger,var(--uid-color-danger))}.uid-menu-item--disabled,.uid-menu-item[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.uid-menu-separator{height:1px;margin:var(--uid-space-xs) 0;background:var(--uid-color-border)}.uid-submenu{display:block}.uid-submenu__label{flex:auto;min-width:0}.uid-submenu__chevron{color:var(--uid-menu-submenu-chevron-color,var(--uid-color-text-secondary,currentColor));flex-shrink:0;margin-left:auto}.uid-submenu__trigger--open:not([disabled]){background:var(--uid-menu-item-bg-hover,var(--uid-color-surface-hover))}.uid-submenu__panel{max-height:calc(100vh - 16px);overflow-y:auto}.uid-submenu-enter-active,.uid-submenu-leave-active{transition:opacity var(--uid-duration-fast) var(--uid-ease-out)}.uid-submenu-enter-from,.uid-submenu-leave-to{opacity:0}.uid-menu-enter-active,.uid-menu-leave-active{transition:opacity var(--uid-duration-fast) var(--uid-ease-out), transform var(--uid-duration-fast) var(--uid-ease-out)}.uid-menu-enter-from,.uid-menu-leave-to{opacity:0;transform:scale(.96)translateY(-4px)}.uid-tabs{flex-direction:column;display:flex}.uid-tabs--vertical{gap:var(--uid-space-md);flex-direction:row}.uid-tabs__list{gap:var(--uid-space-xs);border-bottom:1px solid var(--uid-color-border);scrollbar-width:thin;scroll-snap-type:x proximity;flex-shrink:0;display:flex;overflow:auto hidden}.uid-tabs__list>.uid-tab{scroll-snap-align:start;flex:none}.uid-tabs--vertical .uid-tabs__list{border-bottom:none;border-right:1px solid var(--uid-color-border);gap:var(--uid-space-2xs);scroll-snap-type:none;flex-direction:column;padding-right:0;overflow-x:visible}.uid-tabs__panels{flex:1}.uid-tab{align-items:center;gap:var(--uid-space-sm);padding:var(--uid-space-sm) 12px;border-radius:var(--uid-radius-sm) var(--uid-radius-sm) 0 0;font-size:var(--uid-font-size-sm);color:var(--uid-tab-color,var(--uid-color-text-secondary));cursor:pointer;white-space:nowrap;transition:color var(--uid-duration-fast) var(--uid-ease-out), background var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;font-weight:500;display:inline-flex;position:relative}.uid-tab:after{content:\"\";height:2px;transition:background var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border-radius:1px;position:absolute;bottom:-1px;left:0;right:0}.uid-tab:hover:not([disabled]){color:var(--uid-tab-color-hover,var(--uid-color-text-primary));background:var(--uid-color-surface-hover)}.uid-tab--active{color:var(--uid-tab-color-active,var(--uid-color-primary))}.uid-tab--active:after{background:var(--uid-color-primary)}.uid-tab[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.uid-tab:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px;border-radius:var(--uid-radius-sm)}.uid-tabs--vertical .uid-tab{border-radius:var(--uid-radius-sm) 0 0 var(--uid-radius-sm);padding:var(--uid-space-sm) 12px;justify-content:flex-start}.uid-tabs--vertical .uid-tab:after{width:2px;height:auto;inset:0 -1px 0 auto}.uid-tab-panel{padding:var(--uid-space-md) 0;outline:none}.uid-tab-panel:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px;border-radius:var(--uid-radius-sm)}.uid-breadcrumb__list{font-size:var(--uid-breadcrumb-font-size,var(--uid-font-size-sm));flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;list-style:none;display:flex}.uid-breadcrumb__item{align-items:center;display:flex}.uid-breadcrumb__separator:before{content:var(--uid-breadcrumb-sep,\"/\");padding:0 var(--uid-space-sm);color:var(--uid-breadcrumb-sep-color,var(--uid-color-text-disabled));-webkit-user-select:none;user-select:none}.uid-breadcrumb__item:first-child>.uid-breadcrumb__separator{display:none}.uid-breadcrumb__link{color:var(--uid-breadcrumb-link-color,var(--uid-color-text-secondary));transition:color var(--uid-duration-fast) var(--uid-ease-out);text-decoration:none}.uid-breadcrumb__link:hover{color:var(--uid-breadcrumb-link-color-hover,var(--uid-color-text-primary));text-decoration:underline}.uid-breadcrumb__link:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px;border-radius:var(--uid-radius-sm)}.uid-breadcrumb__link--button{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.uid-breadcrumb__text{color:var(--uid-breadcrumb-text-color,var(--uid-color-text-secondary))}.uid-breadcrumb__current{color:var(--uid-breadcrumb-current-color,var(--uid-color-text-primary));font-weight:500}.uid-breadcrumb--nowrap{min-width:0}.uid-breadcrumb--nowrap .uid-breadcrumb__list{white-space:nowrap;flex-wrap:nowrap;overflow:hidden}.uid-breadcrumb--nowrap .uid-breadcrumb__item{min-width:var(--uid-breadcrumb-item-min-width,3em);max-width:var(--uid-breadcrumb-item-max-width,none);flex:0 8 auto}.uid-breadcrumb--nowrap .uid-breadcrumb__item:last-child{flex-shrink:1}.uid-breadcrumb--nowrap .uid-breadcrumb__separator{flex-shrink:0}.uid-breadcrumb--nowrap .uid-breadcrumb__item>:not(.uid-breadcrumb__separator){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.uid-breadcrumb--measuring .uid-breadcrumb__list>.uid-breadcrumb__item{flex-shrink:0}.uid-breadcrumb__item--collapsed{display:none}.uid-breadcrumb--collapse .uid-breadcrumb__item--ellipsis{flex-shrink:0}.uid-breadcrumb__item--ellipsis>:not(.uid-breadcrumb__separator):not(.uid-breadcrumb__ellipsis){display:none}.uid-breadcrumb__ellipsis{color:var(--uid-breadcrumb-link-color,var(--uid-color-text-secondary))}.uid-breadcrumb__ellipsis--button{padding:0 var(--uid-space-xs,4px);border-radius:var(--uid-radius-sm);font:inherit;line-height:inherit;cursor:pointer;background:0 0;border:none}.uid-breadcrumb__ellipsis--button:hover,.uid-breadcrumb__ellipsis--button[aria-expanded=true]{color:var(--uid-breadcrumb-link-color-hover,var(--uid-color-text-primary));background:var(--uid-color-bg-subtle)}.uid-breadcrumb__ellipsis--button:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-breadcrumb__probe{visibility:hidden;pointer-events:none;white-space:nowrap;font-size:var(--uid-breadcrumb-font-size,var(--uid-font-size-sm));position:absolute}.uid-breadcrumb__menu{z-index:var(--uid-z-popover,450);min-width:160px;max-width:min(320px,100vw - 16px);max-height:280px;padding:var(--uid-space-xs,4px);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md,8px);box-shadow:var(--uid-shadow-md);flex-direction:column;display:flex;overflow-y:auto}.uid-breadcrumb__menu-item{width:100%;padding:var(--uid-space-sm) 12px;border-radius:var(--uid-radius-sm,4px);color:var(--uid-color-text);font:inherit;font-size:var(--uid-breadcrumb-font-size,var(--uid-font-size-sm));text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:none;display:block;overflow:hidden}.uid-breadcrumb__menu-item:hover,.uid-breadcrumb__menu-item:focus-visible{background:var(--uid-color-bg-subtle);outline:none}.uid-breadcrumb__menu-item[aria-disabled=true]{color:var(--uid-color-text-secondary);cursor:default}.uid-link{color:var(--uid-link-color,var(--uid-color-primary));-webkit-text-decoration:var(--uid-link-decoration,underline);-webkit-text-decoration:var(--uid-link-decoration,underline);text-decoration:var(--uid-link-decoration,underline);text-underline-offset:2px;cursor:pointer;transition:color var(--uid-duration-fast) var(--uid-ease-out), opacity var(--uid-duration-fast) var(--uid-ease-out)}.uid-link:hover:not(.uid-link--disabled){color:var(--uid-link-color-hover,var(--uid-color-primary-hover))}.uid-link:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px;border-radius:var(--uid-radius-sm)}.uid-link--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.uid-pagination{align-items:center;gap:var(--uid-space-xs);display:inline-flex}.uid-pagination__btn{min-width:32px;height:32px;padding:0 var(--uid-space-xs);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-pagination-btn-bg,var(--uid-color-surface));font-size:var(--uid-font-size-sm);color:var(--uid-pagination-btn-color,var(--uid-color-text-primary));cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out), border-color var(--uid-duration-fast) var(--uid-ease-out), color var(--uid-duration-fast) var(--uid-ease-out);justify-content:center;align-items:center;font-weight:500;display:inline-flex}.uid-pagination__btn--labeled{gap:var(--uid-space-xs);padding:0 12px}.uid-pagination__btn:hover:not([disabled]):not(.uid-pagination__btn--active){background:var(--uid-pagination-btn-bg-hover,var(--uid-color-surface-hover));border-color:var(--uid-color-border-hover)}.uid-pagination__btn--active{background:var(--uid-pagination-btn-bg-active,var(--uid-color-primary));border-color:var(--uid-color-primary);color:var(--uid-pagination-btn-color-active,var(--uid-color-text-on-primary));cursor:default}.uid-pagination__btn[disabled]{opacity:.4;cursor:not-allowed}.uid-pagination__btn:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-pagination__ellipsis{min-width:32px;height:32px;font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex}.uid-load-more{padding:var(--uid-space-md) 0;justify-content:center;display:flex}.uid-load-more__btn{align-items:center;gap:var(--uid-space-sm);padding:var(--uid-space-sm) 20px;border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-color-surface);font-size:var(--uid-font-size-sm);color:var(--uid-color-text-primary);cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out), border-color var(--uid-duration-fast) var(--uid-ease-out);font-weight:500;display:inline-flex}.uid-load-more__btn:hover:not([disabled]){background:var(--uid-color-surface-hover);border-color:var(--uid-color-border-hover)}.uid-load-more__btn[disabled]{opacity:.4;cursor:not-allowed}.uid-load-more__btn:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-infinite-scroll__loader{padding:var(--uid-space-md) 0;justify-content:center;display:flex}.uid-infinite-scroll__sentinel{height:1px}.uid-page-size{align-items:center;gap:var(--uid-space-sm);font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);display:inline-flex}.uid-page-size__select{padding:var(--uid-space-xs) var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-color-surface);font-size:var(--uid-font-size-sm);color:var(--uid-color-text-primary);cursor:pointer}.uid-page-size__select:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-card{background:var(--uid-card-bg,var(--uid-color-surface));border:1px solid var(--uid-card-border,var(--uid-color-border));border-radius:var(--uid-card-radius,var(--uid-radius-lg));flex-direction:column;display:flex;overflow:hidden}.uid-card--clickable{cursor:pointer;transition:box-shadow var(--uid-duration-fast) var(--uid-ease-out), border-color var(--uid-duration-fast) var(--uid-ease-out)}.uid-card--clickable:hover{border-color:var(--uid-color-border-hover);box-shadow:var(--uid-shadow-md,0 4px 12px #0000001a)}.uid-card--clickable:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-card__media{flex-shrink:0}.uid-card__media img{width:100%;display:block}.uid-card__header{padding:var(--uid-space-md) var(--uid-space-md) 0;font-size:var(--uid-font-size-lg);color:var(--uid-color-text-primary);font-weight:600}.uid-card__body{flex:1}.uid-card__footer{align-items:center;gap:var(--uid-space-sm);padding:12px var(--uid-space-md);border-top:1px solid var(--uid-color-border);display:flex}.uid-card--pad-none .uid-card__body{padding:0}.uid-card--pad-sm .uid-card__body{padding:12px}.uid-card--pad-md .uid-card__body{padding:var(--uid-space-md)}.uid-card--pad-lg .uid-card__body{padding:var(--uid-space-lg)}.uid-card--pad-sm .uid-card__header{padding:12px 12px 0}.uid-card--pad-lg .uid-card__header{padding:var(--uid-space-lg) var(--uid-space-lg) 0}.uid-card--pad-sm .uid-card__footer{padding:var(--uid-space-sm) 12px}.uid-card--pad-lg .uid-card__footer{padding:var(--uid-space-md) var(--uid-space-lg)}.uid-avatar{color:#fff;background:var(--uid-avatar-bg,var(--uid-color-primary));-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.uid-avatar--xs{width:24px;height:24px;font-size:10px}.uid-avatar--sm{width:32px;height:32px;font-size:12px}.uid-avatar--md{width:40px;height:40px;font-size:14px}.uid-avatar--lg{width:56px;height:56px;font-size:18px}.uid-avatar--xl{width:72px;height:72px;font-size:22px}.uid-avatar--circle{border-radius:50%}.uid-avatar--square{border-radius:var(--uid-radius-md)}.uid-avatar__img{object-fit:cover;width:100%;height:100%;display:block}.uid-avatar__initials{color:#fff;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.uid-avatar-group{align-items:center;display:inline-flex}.uid-avatar-group>*{margin-left:var(--uid-avatar-group-overlap,-8px);box-shadow:0 0 0 2px var(--uid-color-surface)}.uid-avatar-group>:first-child{margin-left:0}.uid-avatar-group__overflow{background:var(--uid-color-surface-raised);color:var(--uid-color-text-secondary);border:2px solid var(--uid-color-border);font-size:12px}.uid-tag{align-items:center;gap:var(--uid-space-xs);border-radius:var(--uid-tag-radius,var(--uid-radius-full,9999px));white-space:nowrap;font-weight:500;display:inline-flex}.uid-tag--sm{padding:1px var(--uid-space-sm);font-size:var(--uid-font-size-xs,11px)}.uid-tag--md{padding:2px var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-tag--default{background:var(--uid-tag-bg-default,var(--uid-color-surface-raised));color:var(--uid-tag-color-default,var(--uid-color-text-secondary));border:1px solid var(--uid-color-border)}.uid-tag--info{background:var(--uid-tag-bg-info,var(--uid-color-info-subtle));color:var(--uid-tag-color-info,var(--uid-color-info))}.uid-tag--success{background:var(--uid-tag-bg-success,var(--uid-color-success-subtle));color:var(--uid-tag-color-success,var(--uid-color-success))}.uid-tag--warning{background:var(--uid-tag-bg-warning,var(--uid-color-warning-subtle));color:var(--uid-tag-color-warning,var(--uid-color-warning-dark,var(--uid-color-warning)))}.uid-tag--danger{background:var(--uid-tag-bg-danger,var(--uid-color-danger-subtle));color:var(--uid-tag-color-danger,var(--uid-color-danger))}.uid-tag__dismiss{width:14px;height:14px;color:inherit;opacity:.6;cursor:pointer;transition:opacity var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.uid-tag__dismiss:hover{opacity:1}.uid-tag__dismiss:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:1px}.uid-divider{color:var(--uid-divider-color,var(--uid-color-text-disabled));font-size:var(--uid-font-size-sm);align-items:center;display:flex}.uid-divider--horizontal{flex-direction:row;width:100%}.uid-divider--horizontal:before,.uid-divider--horizontal:after{content:\"\";background:var(--uid-divider-line,var(--uid-color-border));flex:1;height:1px}.uid-divider--horizontal .uid-divider__label{white-space:nowrap;-webkit-user-select:none;user-select:none;padding:0 12px}.uid-divider--horizontal:not(:has(.uid-divider__label)):after{display:none}.uid-divider--vertical{background:var(--uid-divider-line,var(--uid-color-border));flex-direction:column;align-self:stretch;width:1px;height:auto}.uid-accordion{border:1px solid var(--uid-accordion-border,var(--uid-color-border));border-radius:var(--uid-accordion-radius,var(--uid-radius-md));flex-direction:column;display:flex;overflow:hidden}.uid-accordion-item+.uid-accordion-item{border-top:1px solid var(--uid-color-border)}.uid-accordion-item__trigger{width:100%;padding:var(--uid-space-md);background:var(--uid-accordion-trigger-bg,transparent);font-size:var(--uid-font-size-base);color:var(--uid-color-text-primary);text-align:left;cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out);border:none;align-items:center;gap:12px;font-weight:500;display:flex}.uid-accordion-item__trigger:hover:not([disabled]){background:var(--uid-color-surface-hover)}.uid-accordion-item__trigger:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px}.uid-accordion-item__trigger[disabled]{opacity:.4;cursor:not-allowed}.uid-accordion-item__title{flex:1}.uid-accordion-item__chevron{color:var(--uid-color-text-secondary);transition:transform var(--uid-duration-base) var(--uid-ease-in-out);flex-shrink:0}.uid-accordion-item--open .uid-accordion-item__chevron{transform:rotate(180deg)}.uid-accordion-item__body{transition:grid-template-rows var(--uid-duration-base) var(--uid-ease-in-out);grid-template-rows:0fr;display:grid}.uid-accordion-item__body:not([hidden]){grid-template-rows:1fr}.uid-accordion-item__body[hidden]{visibility:hidden;display:grid}.uid-accordion-item__body-inner{padding:0 var(--uid-space-md) var(--uid-space-md);color:var(--uid-color-text-secondary);overflow:hidden}.uid-table-wrap{background:var(--uid-table-bg,var(--uid-color-surface));border-radius:var(--uid-table-radius,var(--uid-radius-md))}.uid-table-wrap--bordered{border:1px solid var(--uid-color-border);overflow:hidden}.uid-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.uid-table{border-collapse:collapse;width:100%;font-size:var(--uid-font-size-sm)}.uid-table__head{background:var(--uid-table-head-bg,var(--uid-color-surface-raised))}.uid-table__th{padding:12px var(--uid-space-md);font-size:var(--uid-font-size-xs,11px);text-transform:uppercase;letter-spacing:.04em;color:var(--uid-table-th-color,var(--uid-color-text-secondary));border-bottom:1px solid var(--uid-color-border);white-space:nowrap;font-weight:600}.uid-table__th--left{text-align:left}.uid-table__th--center{text-align:center}.uid-table__th--right{text-align:right}.uid-table__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.uid-table__th--sortable:hover{background:var(--uid-color-surface-hover);color:var(--uid-color-text-primary)}.uid-table__th--active{color:var(--uid-color-primary)}.uid-table__th-content{align-items:center;gap:var(--uid-space-xs);display:inline-flex}.uid-table__sort-icon{opacity:.5;flex-shrink:0}.uid-table__th--active .uid-table__sort-icon{opacity:1}.uid-table__row{--_uid-table-row-bg:transparent;background:var(--_uid-table-row-bg);transition:background var(--uid-duration-fast) var(--uid-ease-out)}.uid-table__row:hover{--_uid-table-row-bg:var(--uid-table-row-bg-hover,var(--uid-color-surface-hover))}.uid-table__row+.uid-table__row{border-top:1px solid var(--uid-color-border)}.uid-table--striped .uid-table__row:nth-child(2n){--_uid-table-row-bg:var(--uid-table-row-bg-stripe,var(--uid-color-surface-raised))}.uid-table--striped .uid-table__row:nth-child(2n):hover{--_uid-table-row-bg:var(--uid-table-row-bg-hover,var(--uid-color-surface-hover))}.uid-table__td{padding:12px var(--uid-space-md);color:var(--uid-color-text-primary);vertical-align:middle}.uid-table__td--left{text-align:left}.uid-table__td--center{text-align:center}.uid-table__td--right{text-align:right}.uid-table__td--center,.uid-table__td--empty{text-align:center;padding:var(--uid-space-xl) var(--uid-space-md);color:var(--uid-color-text-secondary)}.uid-table__th--select,.uid-table__td--select{width:40px;padding-left:var(--uid-space-md);text-align:left;padding-right:0}.uid-table__row.uid-table__row--selected,.uid-table--striped .uid-table__row.uid-table__row--selected{--_uid-table-row-bg:var(--uid-table-row-bg-selected,var(--uid-color-surface-hover))}.uid-table__row.uid-table__row--selected:hover,.uid-table--striped .uid-table__row.uid-table__row--selected:hover{--_uid-table-row-bg:var(--uid-table-row-bg-selected-hover,var(--uid-table-row-bg-selected,var(--uid-color-surface-hover)))}.uid-table--has-fixed{width:max-content;min-width:100%}.uid-table__cell--fixed{z-index:1;position:sticky}.uid-table__td.uid-table__cell--fixed{background-color:var(--uid-table-fixed-bg,var(--uid-table-bg,var(--uid-color-surface)));background-image:linear-gradient(var(--_uid-table-row-bg), var(--_uid-table-row-bg))}.uid-table__th.uid-table__cell--fixed{z-index:2;background-color:var(--uid-table-head-bg,var(--uid-color-surface-raised))}.uid-table__th--sortable.uid-table__cell--fixed:hover{background-color:var(--uid-color-surface-hover)}.uid-table__cell--fixed-left-last:after,.uid-table__cell--fixed-right-first:after{content:\"\";pointer-events:none;width:12px;transition:box-shadow var(--uid-duration-fast) var(--uid-ease-out);position:absolute;top:0;bottom:-1px}.uid-table__cell--fixed-left-last:after{right:-12px}.uid-table__cell--fixed-right-first:after{left:-12px}.uid-table-scroll--ping-left .uid-table__cell--fixed-left-last:after{box-shadow:inset 10px 0 8px -8px var(--uid-table-fixed-shadow,var(--_uid-table-fixed-shadow))}.uid-table-scroll--ping-right .uid-table__cell--fixed-right-first:after{box-shadow:inset -10px 0 8px -8px var(--uid-table-fixed-shadow,var(--_uid-table-fixed-shadow))}.uid-table{--_uid-table-fixed-shadow:#00000026}:root[data-theme=dark] .uid-table{--_uid-table-fixed-shadow:#00000080}.uid-select{width:100%;position:relative}.uid-select__trigger{align-items:center;gap:var(--uid-space-sm);width:100%;padding:var(--uid-space-2xs) 12px;border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md,8px);background:var(--uid-color-bg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--uid-duration-fast), box-shadow var(--uid-duration-fast);min-height:var(--uid-size-md);outline:none;display:flex}.uid-select__trigger:hover{border-color:var(--uid-color-border-hover,var(--uid-color-text-secondary))}.uid-select--open .uid-select__trigger,.uid-select__trigger:focus-visible{border-color:var(--uid-color-primary);box-shadow:var(--uid-focus-ring,0 0 0 3px var(--uid-color-primary-subtle))}.uid-select--disabled .uid-select__trigger{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-select__value{font-size:var(--uid-font-size-base,16px);color:var(--uid-color-text);text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.uid-select__tags{gap:var(--uid-space-xs);flex-wrap:wrap;flex:1;min-width:0;display:flex}.uid-select--multiple .uid-select__trigger{padding-top:var(--uid-space-xs);padding-bottom:var(--uid-space-xs)}.uid-select__tag{align-items:center;gap:var(--uid-space-2xs);max-width:100%;padding:2px var(--uid-space-xs);background:var(--uid-select-tag-bg,var(--uid-color-primary-subtle));color:var(--uid-select-tag-color,var(--uid-color-primary));border-radius:var(--uid-radius-sm,4px);font-size:var(--uid-font-size-sm,14px);line-height:1.4;display:inline-flex}.uid-select__tag-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uid-select__tag--more{background:var(--uid-color-bg-subtle);color:var(--uid-color-text-secondary)}.uid-select__tag-remove{width:14px;height:14px;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.uid-select__tag-remove:hover{opacity:1}.uid-select__value--placeholder{color:var(--uid-color-text-tertiary)}.uid-select__suffix{align-items:center;gap:var(--uid-space-xs);flex-shrink:0;display:flex}.uid-select__clear{border-radius:var(--uid-radius-sm,4px);cursor:pointer;width:18px;height:18px;color:var(--uid-color-text-secondary);transition:color var(--uid-duration-fast), background var(--uid-duration-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.uid-select__clear:hover{color:var(--uid-color-text);background:var(--uid-color-bg-subtle)}.uid-select__chevron{color:var(--uid-color-text-secondary);transition:transform var(--uid-duration-base);flex-shrink:0}.uid-select__chevron--open{transform:rotate(180deg)}.uid-select__dropdown{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md,8px);box-shadow:var(--uid-shadow-md);flex-direction:column;max-height:280px;display:flex;overflow:hidden}.uid-select__search{padding:var(--uid-space-sm);border-bottom:1px solid var(--uid-color-border);flex-shrink:0}.uid-select__search-input{width:100%;font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text);background:0 0;border:none;outline:none;padding:2px 0}.uid-select__search-input::placeholder{color:var(--uid-color-text-tertiary)}.uid-select__list{padding:var(--uid-space-xs);flex:1;overflow-y:auto}.uid-select__group-label{padding:var(--uid-space-sm) 12px var(--uid-space-xs);font-size:var(--uid-font-size-xs,12px);text-transform:uppercase;letter-spacing:.05em;color:var(--uid-color-text-tertiary);font-weight:600}.uid-select__option{width:100%;padding:var(--uid-space-sm) 12px;border-radius:var(--uid-radius-sm,4px);cursor:pointer;text-align:left;font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text);transition:background var(--uid-duration-fast);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.uid-select__option--active{background:var(--uid-color-bg-subtle)}.uid-select__option--selected{color:var(--uid-color-primary);font-weight:500}.uid-select__option--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-select__check{color:var(--uid-color-primary);flex-shrink:0}.uid-select__empty{padding:var(--uid-space-md) 12px;text-align:center;font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text-secondary)}.uid-select--sm .uid-select__trigger{padding:0 var(--uid-space-sm);min-height:var(--uid-size-sm)}.uid-select--lg .uid-select__trigger{padding:var(--uid-space-2xs) var(--uid-space-md);min-height:var(--uid-size-lg)}.uid-select-dropdown-enter-active,.uid-select-dropdown-leave-active{transition:opacity var(--uid-duration-fast), transform var(--uid-duration-fast)}.uid-select-dropdown-enter-from,.uid-select-dropdown-leave-to{opacity:0;transform:translateY(-4px)}.uid-select--sm .uid-select__value{font-size:var(--uid-font-size-sm)}.uid-select--md .uid-select__value{font-size:var(--uid-font-size-md)}.uid-select--lg .uid-select__value{font-size:var(--uid-font-size-lg)}.uid-datepicker{width:100%;position:relative}.uid-datepicker__trigger{align-items:center;gap:var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md,8px);background:var(--uid-color-bg);cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;transition:border-color var(--uid-duration-fast), box-shadow var(--uid-duration-fast);min-height:var(--uid-size-md);outline:none;padding:0 12px;display:flex}.uid-datepicker__trigger:hover{border-color:var(--uid-color-border-hover,var(--uid-color-text-secondary))}.uid-datepicker--open .uid-datepicker__trigger,.uid-datepicker__trigger:focus-visible{border-color:var(--uid-color-primary);box-shadow:var(--uid-focus-ring,0 0 0 3px var(--uid-color-primary-subtle))}.uid-datepicker--disabled .uid-datepicker__trigger{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-datepicker__value{font-size:var(--uid-font-size-base,16px);color:var(--uid-color-text);flex:1}.uid-datepicker__value--placeholder{color:var(--uid-color-text-tertiary)}.uid-datepicker__suffix{align-items:center;gap:var(--uid-space-xs);flex-shrink:0;display:flex}.uid-datepicker__clear{border-radius:var(--uid-radius-sm,4px);cursor:pointer;width:18px;height:18px;color:var(--uid-color-text-secondary);transition:color var(--uid-duration-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.uid-datepicker__clear:hover{color:var(--uid-color-text)}.uid-datepicker__chevron{color:var(--uid-color-text-secondary);transition:transform var(--uid-duration-base)}.uid-datepicker__chevron--open{transform:rotate(180deg)}.uid-datepicker__panel{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md,8px);box-shadow:var(--uid-shadow-md);width:var(--uid-datepicker-width,280px);-webkit-user-select:none;user-select:none;padding:12px}.uid-datepicker__nav{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.uid-datepicker__nav-btn{border-radius:var(--uid-radius-sm,4px);cursor:pointer;width:28px;height:28px;color:var(--uid-color-text-secondary);transition:background var(--uid-duration-fast), color var(--uid-duration-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.uid-datepicker__nav-btn:hover{background:var(--uid-color-bg-subtle);color:var(--uid-color-text)}.uid-datepicker__month-label{font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text);font-weight:600}.uid-datepicker__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.uid-datepicker__weekday{height:32px;font-size:var(--uid-font-size-xs,12px);color:var(--uid-color-text-tertiary);justify-content:center;align-items:center;font-weight:600;display:flex}.uid-datepicker__day{border-radius:var(--uid-radius-sm,4px);cursor:pointer;height:32px;font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text);transition:background var(--uid-duration-fast), color var(--uid-duration-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.uid-datepicker__day:hover:not(:disabled){background:var(--uid-color-bg-subtle)}.uid-datepicker__day--other{color:var(--uid-color-text-tertiary)}.uid-datepicker__day--today{color:var(--uid-color-primary);font-weight:700}.uid-datepicker__day--selected{font-weight:600;background:var(--uid-color-primary)!important;color:var(--uid-color-text-on-primary)!important}.uid-datepicker__day--disabled{opacity:.35;cursor:not-allowed}.uid-datepicker-panel-enter-active,.uid-datepicker-panel-leave-active{transition:opacity var(--uid-duration-fast), transform var(--uid-duration-fast)}.uid-datepicker-panel-enter-from,.uid-datepicker-panel-leave-to{opacity:0;transform:translateY(-4px)}.uid-datepicker--sm .uid-datepicker__trigger{min-height:var(--uid-size-sm);padding-inline:var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-datepicker--lg .uid-datepicker__trigger{min-height:var(--uid-size-lg);padding-inline:var(--uid-space-md)}.uid-datepicker--sm .uid-datepicker__value{font-size:var(--uid-font-size-sm)}.uid-datepicker--md .uid-datepicker__value{font-size:var(--uid-font-size-md)}.uid-datepicker--lg .uid-datepicker__value{font-size:var(--uid-font-size-lg)}.uid-virtual-list{will-change:scroll-position;position:relative;overflow-y:auto}.uid-virtual-list__spacer{position:relative}.uid-virtual-list__content{will-change:transform;position:absolute;top:0;left:0;right:0}.uid-virtual-list__item{box-sizing:border-box;overflow:hidden}.uid-slider{gap:var(--uid-space-sm);flex-direction:column;width:100%;display:flex}.uid-slider__header{justify-content:space-between;align-items:center;display:flex}.uid-slider__label{font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text);font-weight:500}.uid-slider__value{font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-primary);text-align:right;min-width:2ch;font-weight:600}.uid-slider__input{appearance:none;width:100%;height:var(--uid-slider-track-height,4px);border-radius:var(--uid-radius-full,9999px);cursor:pointer;background:linear-gradient(to right, var(--uid-slider-fill-color,var(--uid-color-primary)) 0%, var(--uid-slider-fill-color,var(--uid-color-primary)) var(--_fill,0%), var(--uid-slider-track-bg,var(--uid-color-border)) var(--_fill,0%), var(--uid-slider-track-bg,var(--uid-color-border)) 100%);transition:opacity var(--uid-duration-fast);outline:none}.uid-slider__input::-webkit-slider-thumb{-webkit-appearance:none;width:var(--uid-slider-thumb-size,18px);height:var(--uid-slider-thumb-size,18px);background:var(--uid-slider-thumb-bg,var(--uid-color-primary));border:2px solid var(--uid-color-bg);box-shadow:var(--uid-shadow-sm);cursor:pointer;transition:transform var(--uid-duration-fast);border-radius:50%}.uid-slider__input::-moz-range-thumb{width:var(--uid-slider-thumb-size,18px);height:var(--uid-slider-thumb-size,18px);background:var(--uid-slider-thumb-bg,var(--uid-color-primary));border:2px solid var(--uid-color-bg);box-shadow:var(--uid-shadow-sm);cursor:pointer;transition:transform var(--uid-duration-fast);border-radius:50%}.uid-slider__input:hover::-webkit-slider-thumb{transform:scale(1.2)}.uid-slider__input:hover::-moz-range-thumb{transform:scale(1.2)}.uid-slider__input:focus-visible::-webkit-slider-thumb{box-shadow:var(--uid-focus-ring,0 0 0 3px var(--uid-color-primary-subtle))}.uid-slider__input:focus-visible::-moz-range-thumb{box-shadow:var(--uid-focus-ring,0 0 0 3px var(--uid-color-primary-subtle))}.uid-slider--disabled .uid-slider__input{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-slider__marks{--_thumb:var(--uid-slider-thumb-size,18px);height:calc(var(--uid-font-size-xs,12px) * 1.5 + 8px);margin-top:calc(var(--uid-space-sm) * -1 + 2px);position:relative}.uid-slider__mark{top:0;left:calc(var(--_thumb) / 2 + (100% - var(--_thumb)) * var(--_pos,0));font:inherit;font-size:var(--uid-font-size-xs,12px);color:var(--uid-slider-mark-color,var(--uid-text-secondary,var(--uid-color-text)));white-space:nowrap;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:0 2px;line-height:1.5;display:flex;position:absolute;transform:translate(-50%)}.uid-slider__mark-tick{background:var(--uid-slider-track-bg,var(--uid-color-border));border-radius:1px;width:2px;height:6px}.uid-slider__mark--active .uid-slider__mark-tick{background:var(--uid-slider-fill-color,var(--uid-color-primary))}.uid-slider__mark--active{color:var(--uid-slider-mark-active-color,var(--uid-text-primary,var(--uid-color-text)))}.uid-slider__mark:hover:not([disabled]){color:var(--uid-slider-fill-color,var(--uid-color-primary))}.uid-slider__mark[disabled]{cursor:not-allowed}.uid-colorpicker{display:inline-flex;position:relative}.uid-colorpicker__trigger{align-items:center;gap:var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md,8px);background:var(--uid-color-bg);cursor:pointer;font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text);transition:border-color var(--uid-duration-fast), box-shadow var(--uid-duration-fast);min-width:140px;min-height:var(--uid-size-md);outline:none;padding:0 12px;font-family:inherit;display:flex}.uid-colorpicker__trigger:hover{border-color:var(--uid-color-border-hover,var(--uid-color-text-secondary))}.uid-colorpicker--open .uid-colorpicker__trigger,.uid-colorpicker__trigger:focus-visible{border-color:var(--uid-color-primary);box-shadow:var(--uid-focus-ring,0 0 0 3px var(--uid-color-primary-subtle))}.uid-colorpicker--disabled .uid-colorpicker__trigger{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-colorpicker__swatch{border-radius:var(--uid-radius-sm,4px);border:1px solid var(--uid-color-border);background-image:linear-gradient(45deg, var(--uid-color-border) 25%, transparent 25%), linear-gradient(-45deg, var(--uid-color-border) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--uid-color-border) 75%), linear-gradient(-45deg, transparent 75%, var(--uid-color-border) 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;flex-shrink:0;width:20px;height:20px}.uid-colorpicker__trigger-label{font-family:var(--uid-font-family-mono,monospace);font-size:var(--uid-font-size-sm,14px)}.uid-colorpicker__trigger-label--empty{color:var(--uid-color-text-tertiary);font-family:inherit}.uid-colorpicker__panel{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md,8px);box-shadow:var(--uid-shadow-md);flex-direction:column;gap:12px;width:240px;padding:12px;display:flex}.uid-colorpicker__gradient{border-radius:var(--uid-radius-sm,4px);cursor:crosshair;touch-action:none;background:linear-gradient(to bottom, transparent 0%, #000 100%), linear-gradient(to right, #fff 0%, var(--_hue,red) 100%);flex-shrink:0;width:100%;height:160px;position:relative}.uid-colorpicker__gradient-thumb{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000004d,0 1px 3px #0000004d}.uid-colorpicker__controls{align-items:center;gap:var(--uid-space-sm);display:flex}.uid-colorpicker__sliders{gap:var(--uid-space-sm);flex-direction:column;flex:1;display:flex}.uid-colorpicker__preview{border-radius:var(--uid-radius-sm,4px);border:1px solid var(--uid-color-border);flex-shrink:0;width:32px;height:32px}.uid-colorpicker__hue-track{border-radius:var(--uid-radius-full,9999px);cursor:pointer;touch-action:none;background:linear-gradient(90deg,red,#ff8000,#ff0,#80ff00,#0f0,#00ff80,#0ff,#0080ff,#00f,#8000ff,#f0f,#ff0080,red);height:12px;position:relative}.uid-colorpicker__alpha-track{border-radius:var(--uid-radius-full,9999px);cursor:pointer;touch-action:none;background-image:linear-gradient(to right, transparent, var(--_color,red)), linear-gradient(45deg, #ccc 25%, transparent 25%), linear-gradient(-45deg, #ccc 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #ccc 75%), linear-gradient(-45deg, transparent 75%, #ccc 75%);background-position:0 0,0 0,0 4px,4px -4px,-4px 0;background-size:100% 100%,8px 8px,8px 8px,8px 8px,8px 8px;height:12px;position:relative}.uid-colorpicker__track-thumb{pointer-events:none;background:#fff;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000004d,0 1px 3px #0000004d}.uid-colorpicker__inputs{align-items:center;gap:var(--uid-space-sm);display:flex}.uid-colorpicker__input-label{font-size:var(--uid-font-size-xs,12px);color:var(--uid-color-text-secondary);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;font-weight:600}.uid-colorpicker__hex-input{padding:var(--uid-space-xs) var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm,4px);background:var(--uid-color-bg-subtle);font-family:var(--uid-font-family-mono,monospace);font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text);width:0;transition:border-color var(--uid-duration-fast);outline:none;flex:1}.uid-colorpicker__hex-input:focus{border-color:var(--uid-color-primary)}.uid-colorpicker__presets{gap:var(--uid-space-xs);flex-wrap:wrap;display:flex}.uid-colorpicker__preset{border-radius:var(--uid-radius-sm,4px);border:1px solid var(--uid-color-border);cursor:pointer;width:20px;height:20px;transition:transform var(--uid-duration-fast), box-shadow var(--uid-duration-fast);padding:0}.uid-colorpicker__preset:hover{transform:scale(1.15)}.uid-colorpicker__preset--active{box-shadow:0 0 0 2px var(--uid-color-bg), 0 0 0 4px var(--uid-color-primary)}.uid-colorpicker-panel-enter-active,.uid-colorpicker-panel-leave-active{transition:opacity var(--uid-duration-fast), transform var(--uid-duration-fast)}.uid-colorpicker-panel-enter-from,.uid-colorpicker-panel-leave-to{opacity:0;transform:translateY(-4px)}.uid-colorpicker--sm .uid-colorpicker__trigger{min-height:var(--uid-size-sm);padding-inline:var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-colorpicker--lg .uid-colorpicker__trigger{min-height:var(--uid-size-lg);padding-inline:var(--uid-space-md)}.uid-colorpicker--sm .uid-colorpicker__trigger-label{font-size:var(--uid-font-size-sm)}.uid-colorpicker--md .uid-colorpicker__trigger-label{font-size:var(--uid-font-size-md)}.uid-colorpicker--lg .uid-colorpicker__trigger-label{font-size:var(--uid-font-size-lg)}.uid-command-overlay{background:var(--uid-color-overlay,#00000080);z-index:var(--uid-z-modal,500);justify-content:center;align-items:flex-start;padding-top:min(15vh,120px);display:flex;position:fixed;inset:0}.uid-command{width:100%;max-width:var(--uid-command-width,560px);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-lg,12px);box-shadow:var(--uid-shadow-xl);flex-direction:column;max-height:480px;display:flex;overflow:hidden}.uid-command__search{padding:12px var(--uid-space-md);border-bottom:1px solid var(--uid-color-border);flex-shrink:0;align-items:center;gap:12px;display:flex}.uid-command__search-icon{color:var(--uid-color-text-secondary);flex-shrink:0}.uid-command__input{font-size:var(--uid-font-size-base,16px);color:var(--uid-color-text);background:0 0;border:none;outline:none;flex:1;line-height:1.5}.uid-command__input::placeholder{color:var(--uid-color-text-tertiary)}.uid-command__list{padding:var(--uid-space-xs);flex:1;overflow-y:auto}.uid-command__group-label{padding:var(--uid-space-sm) 12px var(--uid-space-xs);font-size:var(--uid-font-size-xs,12px);text-transform:uppercase;letter-spacing:.05em;color:var(--uid-color-text-tertiary);font-weight:600}.uid-command__item{width:100%;padding:var(--uid-space-sm) 12px;border-radius:var(--uid-radius-md,8px);cursor:pointer;text-align:left;color:var(--uid-color-text);transition:background var(--uid-duration-fast);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.uid-command__item--active{background:var(--uid-color-bg-subtle)}.uid-command__item-text{flex-direction:column;gap:1px;min-width:0;display:flex}.uid-command__item-label{font-size:var(--uid-font-size-sm,14px);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.uid-command__item-desc{font-size:var(--uid-font-size-xs,12px);color:var(--uid-color-text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.uid-command__item-shortcut{gap:var(--uid-space-xs);flex-shrink:0;display:flex}.uid-command__kbd{min-width:20px;font-size:var(--uid-font-size-xs,12px);font-family:var(--uid-font-family-mono,monospace);background:var(--uid-color-bg-subtle);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm,4px);color:var(--uid-color-text-secondary);justify-content:center;align-items:center;padding:2px 5px;display:inline-flex}.uid-command__empty{padding:var(--uid-space-xl) var(--uid-space-md);text-align:center;font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text-secondary)}.uid-command-enter-active,.uid-command-leave-active{transition:opacity var(--uid-duration-base)}.uid-command-enter-active .uid-command,.uid-command-leave-active .uid-command{transition:transform var(--uid-duration-base), opacity var(--uid-duration-base)}.uid-command-enter-from,.uid-command-leave-to{opacity:0}.uid-command-enter-from .uid-command,.uid-command-leave-to .uid-command{opacity:0;transform:scale(.96)translateY(-8px)}.uid-number-input{--uid-number-input-height:var(--uid-size-md);--uid-number-input-padding-x:var(--uid-space-sm);--uid-number-input-font-size:var(--uid-font-size-md);--uid-number-input-bg:var(--uid-surface-raised);--uid-number-input-border:var(--uid-border-default);--uid-number-input-color:var(--uid-text-primary);--uid-number-input-radius:var(--uid-radius-md);gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-number-input__label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);line-height:1.4;display:flex}.uid-number-input__required{color:var(--uid-danger)}.uid-number-input__control{min-height:var(--uid-number-input-height);background:var(--uid-number-input-bg);border:1px solid var(--uid-number-input-border);border-radius:var(--uid-number-input-radius);transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);align-items:stretch;display:flex;overflow:hidden;container:uid-number-input/inline-size}.uid-number-input__control:focus-within{border-color:var(--uid-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-accent) 15%, transparent)}.uid-number-input__input{min-width:0;padding:0 var(--uid-number-input-padding-x);color:var(--uid-number-input-color);font:inherit;font-size:var(--uid-number-input-font-size);text-align:var(--uid-number-input-text-align,left);-moz-appearance:textfield;background:0 0;border:none;outline:none;flex:1}.uid-number-input__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.uid-number-input__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.uid-number-input__btn{background:var(--uid-surface-base);border:none;border-left:1px solid var(--uid-number-input-border);width:28px;color:var(--uid-text-secondary);cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out), color var(--uid-duration-fast) var(--uid-ease-out);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.uid-number-input__btn--prefix{border-left:none;border-right:1px solid var(--uid-number-input-border)}.uid-number-input__btn:hover:not(:disabled){background:var(--uid-surface-overlay);color:var(--uid-text-primary)}.uid-number-input__btn:disabled{opacity:.4;cursor:not-allowed}.uid-number-input__btn:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px}.uid-number-input__hint{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-number-input__hint--error{color:var(--uid-danger)}.uid-number-input--error .uid-number-input__control{border-color:var(--uid-danger)}.uid-number-input--error .uid-number-input__control:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-danger) 15%, transparent)}.uid-number-input--disabled .uid-number-input__control{opacity:.5;cursor:not-allowed;background:var(--uid-surface-base)}.uid-number-input--disabled .uid-number-input__input,.uid-number-input--disabled .uid-number-input__btn{pointer-events:none}.uid-number-input--readonly .uid-number-input__control{background:var(--uid-surface-base);border-style:dashed}.uid-number-input--sm{--uid-number-input-height:var(--uid-size-sm);--uid-number-input-font-size:var(--uid-font-size-sm);--uid-number-input-padding-x:var(--uid-space-xs)}.uid-number-input--sm .uid-number-input__btn{width:24px}.uid-number-input--lg{--uid-number-input-height:var(--uid-size-lg);--uid-number-input-font-size:var(--uid-font-size-lg);--uid-number-input-padding-x:var(--uid-space-md)}.uid-number-input--lg .uid-number-input__btn{width:36px}.uid-number-input--centered{--uid-number-input-text-align:center}@container uid-number-input (width<=8.5rem){.uid-number-input__btn{display:none}}.uid-timepicker{width:100%;position:relative}.uid-timepicker__trigger{align-items:center;gap:var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-color-bg);cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;transition:border-color var(--uid-duration-fast), box-shadow var(--uid-duration-fast);min-height:var(--uid-size-md);outline:none;padding:0 12px;display:flex}.uid-timepicker__trigger:hover{border-color:var(--uid-color-border-hover,var(--uid-color-text-secondary))}.uid-timepicker--open .uid-timepicker__trigger,.uid-timepicker__trigger:focus-visible{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle)}.uid-timepicker--disabled .uid-timepicker__trigger{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-timepicker__icon{color:var(--uid-color-text-secondary);flex-shrink:0}.uid-timepicker__value{font-size:var(--uid-font-size-md);color:var(--uid-color-text);font-variant-numeric:tabular-nums;flex:1}.uid-timepicker__value--placeholder{color:var(--uid-color-text-tertiary)}.uid-timepicker__clear{border-radius:var(--uid-radius-sm);cursor:pointer;width:18px;height:18px;color:var(--uid-color-text-secondary);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.uid-timepicker__clear:hover{color:var(--uid-color-text)}.uid-timepicker__panel{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);box-shadow:var(--uid-shadow-md);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.uid-timepicker__columns{padding:var(--uid-space-xs);align-items:stretch;display:flex}.uid-timepicker__column{scroll-snap-type:y mandatory;scrollbar-width:thin;flex-direction:column;width:56px;height:192px;display:flex;overflow-y:auto}.uid-timepicker__column+.uid-timepicker__column{border-left:1px solid var(--uid-color-border)}.uid-timepicker__cell{cursor:pointer;height:32px;font-size:var(--uid-font-size-sm);font-variant-numeric:tabular-nums;color:var(--uid-color-text);border-radius:var(--uid-radius-sm);scroll-snap-align:center;transition:background var(--uid-duration-fast), color var(--uid-duration-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:1px 4px;display:flex}.uid-timepicker__cell:hover:not(:disabled){background:var(--uid-color-bg-subtle)}.uid-timepicker__cell--selected{background:var(--uid-color-primary);color:var(--uid-color-text-on-primary);font-weight:600}.uid-timepicker__cell:disabled{opacity:.4;cursor:not-allowed}.uid-timepicker__footer{justify-content:space-between;gap:var(--uid-space-sm);padding:var(--uid-space-sm);border-top:1px solid var(--uid-color-border);display:flex}.uid-timepicker__btn{border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-color-bg);color:var(--uid-color-text);font-size:var(--uid-font-size-sm);cursor:pointer;transition:background var(--uid-duration-fast);flex:1;padding:6px 12px}.uid-timepicker__btn:hover{background:var(--uid-color-bg-subtle)}.uid-timepicker__btn--primary{background:var(--uid-color-primary);color:var(--uid-color-text-on-primary);border-color:var(--uid-color-primary)}.uid-timepicker__btn--primary:hover{background:var(--uid-color-primary-hover);border-color:var(--uid-color-primary-hover)}.uid-timepicker-panel-enter-active,.uid-timepicker-panel-leave-active{transition:opacity var(--uid-duration-fast), transform var(--uid-duration-fast)}.uid-timepicker-panel-enter-from,.uid-timepicker-panel-leave-to{opacity:0;transform:translateY(-4px)}.uid-timepicker--sm .uid-timepicker__trigger{min-height:var(--uid-size-sm);padding-inline:var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-timepicker--lg .uid-timepicker__trigger{min-height:var(--uid-size-lg);padding-inline:var(--uid-space-md)}.uid-timepicker--sm .uid-timepicker__value{font-size:var(--uid-font-size-sm)}.uid-timepicker--md .uid-timepicker__value{font-size:var(--uid-font-size-md)}.uid-timepicker--lg .uid-timepicker__value{font-size:var(--uid-font-size-lg)}.uid-daterange{width:100%;position:relative}.uid-daterange__trigger{align-items:center;gap:var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-color-bg);cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;transition:border-color var(--uid-duration-fast), box-shadow var(--uid-duration-fast);min-height:var(--uid-size-md);outline:none;padding:0 12px;display:flex}.uid-daterange__trigger:hover{border-color:var(--uid-color-border-hover,var(--uid-color-text-secondary))}.uid-daterange--open .uid-daterange__trigger,.uid-daterange__trigger:focus-visible{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle)}.uid-daterange--disabled .uid-daterange__trigger{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-daterange__icon{color:var(--uid-color-text-secondary);flex-shrink:0}.uid-daterange__value{font-size:var(--uid-font-size-md);color:var(--uid-color-text);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.uid-daterange__value--placeholder{color:var(--uid-color-text-tertiary)}.uid-daterange__separator{color:var(--uid-color-text-tertiary);margin:0 var(--uid-space-xs)}.uid-daterange__clear{border-radius:var(--uid-radius-sm);cursor:pointer;width:18px;height:18px;color:var(--uid-color-text-secondary);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.uid-daterange__clear:hover{color:var(--uid-color-text)}.uid-daterange__panel{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);box-shadow:var(--uid-shadow-md);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.uid-daterange__months{gap:var(--uid-space-md);padding:12px;display:flex}.uid-daterange__month{width:248px}.uid-daterange__nav{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.uid-daterange__month+.uid-daterange__month .uid-daterange__nav-btn--prev,.uid-daterange__month:not(:last-child) .uid-daterange__nav-btn--next{visibility:hidden}.uid-daterange__nav-btn{border-radius:var(--uid-radius-sm);cursor:pointer;width:28px;height:28px;color:var(--uid-color-text-secondary);transition:background var(--uid-duration-fast), color var(--uid-duration-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.uid-daterange__nav-btn:hover{background:var(--uid-color-bg-subtle);color:var(--uid-color-text)}.uid-daterange__month-label{font-size:var(--uid-font-size-sm);color:var(--uid-color-text);font-weight:600}.uid-daterange__grid{grid-template-columns:repeat(7,1fr);display:grid}.uid-daterange__weekday{height:32px;font-size:var(--uid-font-size-xs);color:var(--uid-color-text-tertiary);justify-content:center;align-items:center;font-weight:600;display:flex}.uid-daterange__day{cursor:pointer;height:32px;font-size:var(--uid-font-size-sm);color:var(--uid-color-text);z-index:1;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.uid-daterange__day:hover:not(:disabled){background:var(--uid-color-bg-subtle);border-radius:var(--uid-radius-sm)}.uid-daterange__day--other{color:var(--uid-color-text-tertiary);pointer-events:none}.uid-daterange__day--today{color:var(--uid-color-primary);font-weight:700}.uid-daterange__day--start,.uid-daterange__day--end{border-radius:var(--uid-radius-sm);font-weight:600;background:var(--uid-color-primary)!important;color:var(--uid-color-text-on-primary)!important}.uid-daterange__day--in-range{background:var(--uid-color-primary-subtle);color:var(--uid-color-text);border-radius:0}.uid-daterange__day--disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.uid-daterange__footer{justify-content:space-between;gap:var(--uid-space-sm);padding:var(--uid-space-sm) 12px;border-top:1px solid var(--uid-color-border);flex-wrap:wrap;display:flex}.uid-daterange__btn{border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-color-bg);color:var(--uid-color-text);font-size:var(--uid-font-size-sm);cursor:pointer;transition:background var(--uid-duration-fast);padding:6px 12px}.uid-daterange__btn:hover{background:var(--uid-color-bg-subtle)}.uid-daterange__btn:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-daterange__times{gap:var(--uid-space-md);padding:var(--uid-space-sm) 12px;border-top:1px solid var(--uid-color-border);flex-wrap:wrap;display:flex}.uid-daterange__time-field{gap:var(--uid-space-xs);flex-direction:column;flex:1;min-width:120px;display:flex}.uid-daterange__time-label{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary)}.uid-daterange__time{border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-color-bg);color:var(--uid-color-text);font:inherit;font-size:var(--uid-font-size-sm);padding:6px 8px}.uid-daterange__time:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-daterange__time:disabled{opacity:.5;cursor:not-allowed}@media (width<=600px){.uid-daterange__months{flex-direction:column}.uid-daterange__month+.uid-daterange__month .uid-daterange__nav-btn--prev,.uid-daterange__month:not(:last-child) .uid-daterange__nav-btn--next{visibility:visible}}.uid-daterange-panel-enter-active,.uid-daterange-panel-leave-active{transition:opacity var(--uid-duration-fast), transform var(--uid-duration-fast)}.uid-daterange-panel-enter-from,.uid-daterange-panel-leave-to{opacity:0;transform:translateY(-4px)}.uid-daterange--sm .uid-daterange__trigger{min-height:var(--uid-size-sm);padding-inline:var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-daterange--lg .uid-daterange__trigger{min-height:var(--uid-size-lg);padding-inline:var(--uid-space-md)}.uid-daterange--sm .uid-daterange__value{font-size:var(--uid-font-size-sm)}.uid-daterange--md .uid-daterange__value{font-size:var(--uid-font-size-md)}.uid-daterange--lg .uid-daterange__value{font-size:var(--uid-font-size-lg)}.uid-tags-input{gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-tags-input__label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);line-height:1.4;display:flex}.uid-tags-input__required{color:var(--uid-danger)}.uid-tags-input__control{align-items:center;gap:var(--uid-space-xs);min-height:var(--uid-size-md);padding:var(--uid-space-2xs) var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-surface-raised);cursor:text;transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);flex-wrap:wrap;display:flex}.uid-tags-input__control:focus-within{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle);outline:none}.uid-tags-input__chip{align-items:center;gap:var(--uid-space-2xs);padding:2px var(--uid-space-xs);background:var(--uid-color-primary-subtle);color:var(--uid-color-primary);border-radius:var(--uid-radius-sm);font-size:var(--uid-font-size-sm);line-height:1.4;display:inline-flex}.uid-tags-input__chip--invalid{background:color-mix(in srgb, var(--uid-color-danger) 12%, transparent);color:var(--uid-color-danger)}.uid-tags-input__chip-remove{width:14px;height:14px;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.uid-tags-input__chip-remove:hover{opacity:1}.uid-tags-input__field{min-width:80px;color:var(--uid-color-text);font:inherit;font-size:var(--uid-font-size-md);background:0 0;border:none;outline:none;flex:1;padding:4px 0}.uid-tags-input__field::placeholder{color:var(--uid-color-text-tertiary)}.uid-tags-input__hint{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);margin:0;line-height:1.4}.uid-tags-input__hint--error{color:var(--uid-danger)}.uid-tags-input--error .uid-tags-input__control{border-color:var(--uid-danger)}.uid-tags-input--disabled .uid-tags-input__control{opacity:.5;cursor:not-allowed;background:var(--uid-surface-base);pointer-events:none}.uid-tags-input--sm .uid-tags-input__control{min-height:var(--uid-size-sm);font-size:var(--uid-font-size-sm);padding-block:0}.uid-tags-input--sm .uid-tags-input__field{font-size:var(--uid-font-size-sm);padding-block:0}.uid-tags-input--lg .uid-tags-input__control{min-height:var(--uid-size-lg);font-size:var(--uid-font-size-lg)}.uid-tags-input--sm .uid-tags-input__field{font-size:var(--uid-font-size-sm)}.uid-tags-input--md .uid-tags-input__field{font-size:var(--uid-font-size-md)}.uid-tags-input--lg .uid-tags-input__field{font-size:var(--uid-font-size-lg)}.uid-combobox{gap:var(--uid-space-xs);flex-direction:column;display:flex;position:relative}.uid-combobox__label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);line-height:1.4;display:flex}.uid-combobox__required{color:var(--uid-danger)}.uid-combobox__control{min-height:var(--uid-size-md);padding:0 var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-surface-raised);cursor:text;transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);align-items:center;display:flex}.uid-combobox--open .uid-combobox__control,.uid-combobox__control:focus-within{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle)}.uid-combobox__field{min-width:0;padding:var(--uid-space-xs) 0;color:var(--uid-color-text);font:inherit;font-size:var(--uid-font-size-md);background:0 0;border:none;outline:none;flex:1}.uid-combobox__field::placeholder{color:var(--uid-color-text-tertiary)}.uid-combobox__suffix{align-items:center;gap:var(--uid-space-xs);color:var(--uid-color-text-secondary);flex-shrink:0;display:flex}.uid-combobox__clear{border-radius:var(--uid-radius-sm);cursor:pointer;width:18px;height:18px;color:var(--uid-color-text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.uid-combobox__clear:hover{color:var(--uid-color-text)}.uid-combobox__chevron{transition:transform var(--uid-duration-base);cursor:pointer}.uid-combobox__chevron--open{transform:rotate(180deg)}.uid-combobox__hint{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);margin:0;line-height:1.4}.uid-combobox__hint--error{color:var(--uid-danger)}.uid-combobox__dropdown{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);box-shadow:var(--uid-shadow-md);max-height:280px;padding:var(--uid-space-2xs);overflow-y:auto}.uid-combobox__dropdown[data-position=trigger]{margin-top:0;top:auto}.uid-combobox__option{align-items:center;gap:var(--uid-space-sm);width:100%;padding:var(--uid-space-sm) var(--uid-space-sm);border-radius:var(--uid-radius-sm);text-align:left;cursor:pointer;font-size:var(--uid-font-size-md);color:var(--uid-color-text);background:0 0;border:none;display:flex}.uid-combobox__option--active{background:var(--uid-color-bg-subtle)}.uid-combobox__option--selected{color:var(--uid-color-primary);font-weight:600}.uid-combobox__option--disabled{opacity:.4;cursor:not-allowed}.uid-combobox__option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.uid-combobox__option-hint{color:var(--uid-color-text-tertiary);font-size:var(--uid-font-size-sm);flex-shrink:0}.uid-combobox__check{color:var(--uid-color-primary);flex-shrink:0}.uid-combobox__create{color:var(--uid-color-primary)}.uid-combobox__empty{padding:var(--uid-space-md);text-align:center;color:var(--uid-color-text-tertiary);font-size:var(--uid-font-size-sm)}.uid-combobox--error .uid-combobox__control{border-color:var(--uid-danger)}.uid-combobox--disabled .uid-combobox__control{opacity:.5;pointer-events:none;background:var(--uid-surface-base)}.uid-combobox--sm .uid-combobox__control{min-height:var(--uid-size-sm)}.uid-combobox--sm .uid-combobox__field{font-size:var(--uid-font-size-sm);padding-block:0}.uid-combobox--lg .uid-combobox__control{min-height:var(--uid-size-lg)}.uid-combobox--sm .uid-combobox__field{font-size:var(--uid-font-size-sm)}.uid-combobox--md .uid-combobox__field{font-size:var(--uid-font-size-md)}.uid-combobox--lg .uid-combobox__field{font-size:var(--uid-font-size-lg)}.uid-tree{font-size:var(--uid-font-size-md);color:var(--uid-color-text);-webkit-user-select:none;user-select:none;margin:0;padding:0;list-style:none}.uid-tree-item{list-style:none}.uid-tree__list{margin:0;padding:0;list-style:none}.uid-tree-item__row{align-items:center;gap:var(--uid-space-xs);padding:6px var(--uid-space-sm);padding-left:calc(var(--uid-space-sm) + var(--uid-tree-level,0) * 16px);border-radius:var(--uid-radius-sm);cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out);outline:none;min-height:32px;display:flex}.uid-tree-item__row:hover{background:var(--uid-color-bg-subtle)}.uid-tree-item__row:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px}.uid-tree-item--selected>.uid-tree-item__row{background:var(--uid-color-primary-subtle);color:var(--uid-color-primary);font-weight:500}.uid-tree-item--disabled>.uid-tree-item__row{opacity:.5;cursor:not-allowed}.uid-tree-item__chevron{width:16px;height:16px;color:var(--uid-color-text-secondary);border-radius:var(--uid-radius-sm);cursor:pointer;transition:transform var(--uid-duration-base);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.uid-tree-item__chevron--open{transform:rotate(90deg)}.uid-tree-item__chevron--placeholder{visibility:hidden;cursor:default}.uid-tree-item__check{border:1px solid var(--uid-color-border);background:var(--uid-color-bg);cursor:pointer;width:16px;height:16px;transition:background var(--uid-duration-fast), border-color var(--uid-duration-fast);color:var(--uid-color-text-on-primary);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.uid-tree-item__check--checked,.uid-tree-item__check--indeterminate{background:var(--uid-color-primary);border-color:var(--uid-color-primary)}.uid-tree-item__check--indeterminate:after{content:\"\";background:var(--uid-color-text-on-primary);border-radius:1px;width:8px;height:2px}.uid-tree-item__icon{color:var(--uid-color-text-secondary);flex-shrink:0;align-items:center;display:inline-flex}.uid-tree-item__icon--branch{color:var(--uid-color-primary)}.uid-tree-item__icon--leaf{color:var(--uid-color-text-tertiary,var(--uid-color-text-secondary))}.uid-tree-item__label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.uid-tree-item__children{margin:0;padding:0;list-style:none}.uid-tree--guides .uid-tree-item__children{position:relative}.uid-tree--guides .uid-tree-item__children:before{content:\"\";top:0;bottom:0;left:calc(var(--uid-space-sm) + var(--uid-tree-level,0) * 16px + 8px);background:var(--uid-color-border);width:1px;position:absolute}.uid-timeline{margin:0;padding:0;list-style:none;position:relative}.uid-timeline-item{gap:var(--uid-space-md);padding-bottom:var(--uid-space-lg);display:flex;position:relative}.uid-timeline-item:last-child{padding-bottom:0}.uid-timeline-item__rail{flex-direction:column;flex-shrink:0;align-items:center;width:24px;display:flex;position:relative}.uid-timeline-item__marker{background:var(--uid-color-bg);border:2px solid var(--uid-color-border);width:12px;height:12px;color:var(--uid-color-text-secondary);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:4px;display:flex}.uid-timeline-item--with-icon .uid-timeline-item__marker{width:28px;height:28px;margin-top:0}.uid-timeline-item__line{background:var(--uid-color-border);width:2px;margin-top:var(--uid-space-2xs);flex:1}.uid-timeline-item:last-child .uid-timeline-item__line{display:none}.uid-timeline-item__content{min-width:0;padding-bottom:var(--uid-space-sm);flex:1}.uid-timeline-item__time{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary);margin:0 0 var(--uid-space-2xs) 0}.uid-timeline-item__title{margin:0 0 var(--uid-space-2xs) 0;font-size:var(--uid-font-size-md);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text);line-height:1.4}.uid-timeline-item__description{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);margin:0;line-height:1.5}.uid-timeline-item--success .uid-timeline-item__marker{background:var(--uid-color-success);border-color:var(--uid-color-success);color:var(--uid-color-text-on-primary)}.uid-timeline-item--warning .uid-timeline-item__marker{background:var(--uid-color-warning);border-color:var(--uid-color-warning);color:var(--uid-color-text-on-primary)}.uid-timeline-item--danger .uid-timeline-item__marker{background:var(--uid-color-danger);border-color:var(--uid-color-danger);color:var(--uid-color-text-on-primary)}.uid-timeline-item--primary .uid-timeline-item__marker{background:var(--uid-color-primary);border-color:var(--uid-color-primary);color:var(--uid-color-text-on-primary)}.uid-timeline-item--info .uid-timeline-item__marker{background:var(--uid-color-info);border-color:var(--uid-color-info);color:var(--uid-color-text-on-primary)}.uid-timeline--alternate .uid-timeline-item{width:50%}.uid-timeline--alternate .uid-timeline-item:nth-child(2n){flex-direction:row;margin-left:auto}.uid-timeline--alternate .uid-timeline-item:nth-child(odd){text-align:right;flex-direction:row-reverse}.uid-file-upload{gap:var(--uid-space-sm);flex-direction:column;display:flex}.uid-file-upload__label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);display:flex}.uid-file-upload__required{color:var(--uid-danger)}.uid-file-upload__dropzone{justify-content:center;align-items:center;gap:var(--uid-space-sm);padding:var(--uid-space-xl);border:2px dashed var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-color-bg-subtle);text-align:center;cursor:pointer;transition:border-color var(--uid-duration-fast) var(--uid-ease-out), background var(--uid-duration-fast) var(--uid-ease-out);outline:none;flex-direction:column;display:flex}.uid-file-upload__dropzone:hover,.uid-file-upload__dropzone:focus-visible,.uid-file-upload__dropzone--active{border-color:var(--uid-color-primary);background:var(--uid-color-primary-subtle)}.uid-file-upload__icon{color:var(--uid-color-text-secondary)}.uid-file-upload__primary-text{font-size:var(--uid-font-size-md);color:var(--uid-color-text);font-weight:var(--uid-font-weight-medium)}.uid-file-upload__primary-text strong{color:var(--uid-color-primary)}.uid-file-upload__secondary-text{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary)}.uid-file-upload__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.uid-file-upload__list{gap:var(--uid-space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.uid-file-upload__item{align-items:center;gap:var(--uid-space-sm);padding:var(--uid-space-sm) 12px;border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-color-bg);display:flex}.uid-file-upload__item--error{border-color:var(--uid-color-danger);background:color-mix(in srgb, var(--uid-color-danger) 5%, var(--uid-color-bg))}.uid-file-upload__file-icon{color:var(--uid-color-text-secondary);flex-shrink:0}.uid-file-upload__file-info{flex:1;min-width:0}.uid-file-upload__file-name{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-color-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.uid-file-upload__file-meta{font-size:var(--uid-font-size-xs);color:var(--uid-color-text-tertiary);gap:var(--uid-space-sm);display:flex}.uid-file-upload__progress{background:var(--uid-color-bg-subtle);border-radius:2px;height:4px;margin-top:4px;overflow:hidden}.uid-file-upload__progress-bar{background:var(--uid-color-primary);height:100%;transition:width var(--uid-duration-base) var(--uid-ease-out)}.uid-file-upload__remove{border-radius:var(--uid-radius-sm);width:24px;height:24px;color:var(--uid-color-text-secondary);cursor:pointer;transition:background var(--uid-duration-fast), color var(--uid-duration-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.uid-file-upload__remove:hover{background:var(--uid-color-bg-subtle);color:var(--uid-color-danger)}.uid-file-upload--disabled .uid-file-upload__dropzone{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-file-upload__hint{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);margin:0;line-height:1.4}.uid-file-upload__hint--error{color:var(--uid-danger)}.uid-code{--uid-code-bg:var(--uid-color-bg-subtle);--uid-code-color:var(--uid-color-text);--uid-code-border:var(--uid-color-border);--uid-code-radius:var(--uid-radius-md);--uid-code-padding-y:var(--uid-space-md);--uid-code-padding-x:var(--uid-space-md);--uid-code-font:var(--uid-font-family-mono,ui-monospace, SFMono-Regular, Menlo, Consolas, \"Liberation Mono\", \"DejaVu Sans Mono\", monospace);--uid-code-font-size:var(--uid-font-size-sm);background:var(--uid-code-bg);color:var(--uid-code-color);border:1px solid var(--uid-code-border);border-radius:var(--uid-code-radius);font-family:var(--uid-code-font);font-size:var(--uid-code-font-size);line-height:1.6;position:relative;overflow:hidden}.uid-code__header{padding:var(--uid-space-xs) var(--uid-space-sm);border-bottom:1px solid var(--uid-code-border);background:var(--uid-color-bg);justify-content:space-between;align-items:center;display:flex}.uid-code__lang{font-size:var(--uid-font-size-xs);font-weight:var(--uid-font-weight-medium);color:var(--uid-color-text-tertiary);text-transform:lowercase;letter-spacing:.05em}.uid-code__copy{align-items:center;gap:var(--uid-space-2xs);color:var(--uid-color-text-secondary);font-size:var(--uid-font-size-xs);border-radius:var(--uid-radius-sm);cursor:pointer;transition:background var(--uid-duration-fast), color var(--uid-duration-fast);background:0 0;border:none;padding:4px 8px;font-family:inherit;display:flex}.uid-code__copy:hover{background:var(--uid-color-bg-subtle);color:var(--uid-color-text)}.uid-code__copy--copied{color:var(--uid-color-success)}.uid-code__body{max-height:var(--uid-code-max-height,none);display:flex;overflow:auto}.uid-code__line-numbers{padding:var(--uid-code-padding-y) var(--uid-space-sm);text-align:right;-webkit-user-select:none;user-select:none;color:var(--uid-color-text-tertiary);background:var(--uid-color-bg);border-right:1px solid var(--uid-code-border);flex-direction:column;flex-shrink:0;display:flex}.uid-code__line-number{font-variant-numeric:tabular-nums;font-size:var(--uid-font-size-xs);line-height:calc(var(--uid-code-font-size) * 1.6)}.uid-code__pre{padding:var(--uid-code-padding-y) var(--uid-code-padding-x);font-family:inherit;font-size:inherit;line-height:inherit;white-space:pre;flex:1;min-width:0;margin:0;overflow:auto}.uid-code__pre code{font-family:inherit;font-size:inherit;background:0 0;border-radius:0;padding:0}.uid-code--inline{padding:2px var(--uid-space-xs);border-radius:var(--uid-radius-sm);background:var(--uid-color-bg-subtle);color:var(--uid-color-text);white-space:nowrap;border:none;font-size:.92em;display:inline}.uid-code--inline.uid-code--inline-strong{font-weight:var(--uid-font-weight-medium);color:var(--uid-color-primary)}.uid-code--minimal .uid-code__body{padding:0}.uid-code--wrap .uid-code__pre{white-space:pre-wrap;word-break:break-word}.uid-code{--uid-code-tok-comment:var(--uid-text-secondary);--uid-code-tok-string:var(--uid-success);--uid-code-tok-number:var(--uid-warning);--uid-code-tok-literal:var(--uid-warning);--uid-code-tok-keyword:var(--uid-accent-text);--uid-code-tok-function:var(--uid-info);--uid-code-tok-variable:var(--uid-danger);--uid-code-tok-tag:var(--uid-danger);--uid-code-tok-attr:var(--uid-warning);--uid-code-tok-property:var(--uid-info);--uid-code-tok-punctuation:var(--uid-text-secondary)}.uid-code__tok--comment{color:var(--uid-code-tok-comment);font-style:italic}.uid-code__tok--string{color:var(--uid-code-tok-string)}.uid-code__tok--number{color:var(--uid-code-tok-number)}.uid-code__tok--literal{color:var(--uid-code-tok-literal)}.uid-code__tok--keyword{color:var(--uid-code-tok-keyword);font-weight:var(--uid-font-weight-medium)}.uid-code__tok--function{color:var(--uid-code-tok-function)}.uid-code__tok--variable{color:var(--uid-code-tok-variable)}.uid-code__tok--tag{color:var(--uid-code-tok-tag)}.uid-code__tok--attr{color:var(--uid-code-tok-attr)}.uid-code__tok--property{color:var(--uid-code-tok-property)}.uid-code__tok--punctuation{color:var(--uid-code-tok-punctuation)}.uid-markdown{--uid-markdown-color:var(--uid-text-primary);--uid-markdown-muted:var(--uid-text-secondary);--uid-markdown-link:var(--uid-accent);--uid-markdown-border:var(--uid-border-subtle);--uid-markdown-sunken:color-mix(in srgb, var(--uid-text-primary) 6%, transparent);--uid-markdown-font-size:var(--uid-font-size-md);--uid-markdown-line-height:var(--uid-line-height-relaxed);--uid-markdown-toc-width:220px;gap:var(--uid-space-xl);min-width:0;color:var(--uid-markdown-color);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.uid-markdown--toc{grid-template-columns:minmax(0, 1fr) var(--uid-markdown-toc-width)}.uid-markdown__body{min-width:0;font-size:var(--uid-markdown-font-size);line-height:var(--uid-markdown-line-height);word-break:break-word}.uid-markdown__body>*+*{margin-top:var(--uid-space-md)}.uid-markdown__html>:first-child{margin-top:0}.uid-markdown__html>:last-child{margin-bottom:0}.uid-markdown__html p,.uid-markdown__html ul,.uid-markdown__html ol,.uid-markdown__html blockquote,.uid-markdown__html pre{margin:0 0 var(--uid-space-sm)}.uid-markdown__html h1,.uid-markdown__html h2,.uid-markdown__html h3,.uid-markdown__html h4,.uid-markdown__html h5,.uid-markdown__html h6{margin:var(--uid-space-lg) 0 var(--uid-space-xs);font-weight:var(--uid-font-weight-semibold);line-height:var(--uid-line-height-tight);scroll-margin-top:72px}.uid-markdown__html h1{font-size:var(--uid-font-size-2xl)}.uid-markdown__html h2{font-size:var(--uid-font-size-xl);padding-bottom:var(--uid-space-xs);border-bottom:1px solid var(--uid-markdown-border)}.uid-markdown__html h3{font-size:var(--uid-font-size-lg)}.uid-markdown__html h4{font-size:var(--uid-font-size-md)}.uid-markdown__html ul,.uid-markdown__html ol{padding-left:1.5em}.uid-markdown__html li+li{margin-top:var(--uid-space-2xs)}.uid-markdown__html a{color:var(--uid-markdown-link)}.uid-markdown__html blockquote{padding-left:var(--uid-space-md);border-left:3px solid var(--uid-markdown-border);color:var(--uid-markdown-muted)}.uid-markdown__html code{font-family:var(--uid-font-family-mono);border-radius:var(--uid-radius-sm);background:var(--uid-markdown-sunken);padding:0 .25em;font-size:.9em}.uid-markdown__html pre{padding:var(--uid-space-sm);border-radius:var(--uid-radius-md);background:var(--uid-markdown-sunken);overflow:auto}.uid-markdown__html pre code{background:0 0;padding:0}.uid-markdown__html img{max-width:100%}.uid-markdown__html hr{border:0;border-top:1px solid var(--uid-markdown-border);margin:var(--uid-space-lg) 0}.uid-markdown__table{margin:0 0 var(--uid-space-sm);overflow-x:auto}.uid-markdown__html table{border-collapse:collapse;width:100%;font-size:.95em}.uid-markdown__html th,.uid-markdown__html td{padding:var(--uid-space-xs) var(--uid-space-sm);border:1px solid var(--uid-markdown-border);text-align:left;vertical-align:top}.uid-markdown__html th{font-weight:var(--uid-font-weight-semibold);background:var(--uid-markdown-sunken)}.uid-markdown__html blockquote.uid-markdown__callout{padding:var(--uid-space-sm) var(--uid-space-md);border-radius:var(--uid-radius-sm);color:var(--uid-markdown-color);background:var(--uid-markdown-sunken);border-left-width:4px}.uid-markdown__html blockquote.uid-markdown__callout>:last-child{margin-bottom:0}.uid-markdown__html blockquote.uid-markdown__callout--note{border-left-color:var(--uid-info);background:var(--uid-info-subtle)}.uid-markdown__html blockquote.uid-markdown__callout--tip{border-left-color:var(--uid-success);background:var(--uid-success-subtle)}.uid-markdown__html blockquote.uid-markdown__callout--important{border-left-color:var(--uid-accent);background:var(--uid-accent-subtle)}.uid-markdown__html blockquote.uid-markdown__callout--warning{border-left-color:var(--uid-warning);background:var(--uid-warning-subtle)}.uid-markdown__html blockquote.uid-markdown__callout--caution{border-left-color:var(--uid-danger);background:var(--uid-danger-subtle)}.uid-markdown__html .uid-markdown__callout-title{font-weight:var(--uid-font-weight-semibold);margin-bottom:var(--uid-space-2xs)}.uid-markdown__code{width:100%}.uid-markdown__block{text-align:center;overflow-x:auto}.uid-markdown__block>svg{max-width:100%;height:auto}.uid-markdown__block--live{text-align:start;overflow:visible}.uid-markdown__block--pending{padding:var(--uid-space-lg);border:1px dashed var(--uid-markdown-border);border-radius:var(--uid-radius-md);color:var(--uid-markdown-muted);font-size:var(--uid-font-size-sm)}.uid-markdown__block-error-message{margin:0 0 var(--uid-space-xs);padding:var(--uid-space-xs) var(--uid-space-sm);border-left:3px solid var(--uid-danger);border-radius:var(--uid-radius-sm);background:var(--uid-danger-subtle);color:var(--uid-markdown-color);font-size:var(--uid-font-size-sm)}.uid-markdown__toc{top:var(--uid-space-lg);max-height:calc(100vh - 96px);font-size:var(--uid-font-size-sm);border-left:1px solid var(--uid-markdown-border);padding-left:var(--uid-space-md);position:sticky;overflow:auto}.uid-markdown__toc-title{font-weight:var(--uid-font-weight-semibold);margin-bottom:var(--uid-space-xs)}.uid-markdown__toc ul{margin:0;padding:0;list-style:none}.uid-markdown__toc-item{margin:2px 0}.uid-markdown__toc-item--l3{padding-left:var(--uid-space-md)}.uid-markdown__toc-item--l4,.uid-markdown__toc-item--l5,.uid-markdown__toc-item--l6{padding-left:var(--uid-space-xl)}.uid-markdown__toc a{color:var(--uid-markdown-muted);text-decoration:none}.uid-markdown__toc a:hover{color:var(--uid-markdown-link)}.uid-markdown__toc a:focus-visible{outline:2px solid var(--uid-focus-ring);outline-offset:2px;border-radius:var(--uid-radius-sm)}@media (width<=1100px){.uid-markdown--toc{grid-template-columns:minmax(0,1fr)}.uid-markdown__toc{max-height:none;padding:var(--uid-space-sm) var(--uid-space-md);border-radius:var(--uid-radius-md);background:var(--uid-markdown-sunken);border-left:0;order:-1;position:static}}.uid-image{--uid-image-radius:var(--uid-radius-md);--uid-image-fit:cover;--uid-image-placeholder:var(--uid-surface-raised);--uid-image-fallback-fg:var(--uid-text-tertiary);border-radius:var(--uid-image-radius);background:var(--uid-image-placeholder);vertical-align:middle;max-width:100%;display:inline-block;position:relative;overflow:hidden}.uid-image[data-status=loaded]{background:0 0}.uid-image__img{object-fit:var(--uid-image-fit);width:100%;height:100%;transition:opacity var(--uid-duration-fast) var(--uid-ease-out);display:block}.uid-image[data-status=loading] .uid-image__img{opacity:0}.uid-image__placeholder{background:linear-gradient(90deg, var(--uid-surface-raised) 25%, color-mix(in srgb, var(--uid-text-tertiary) 18%, var(--uid-surface-raised)) 50%, var(--uid-surface-raised) 75%);background-size:200% 100%;justify-content:center;align-items:center;animation:1.6s ease-in-out infinite uid-image-shimmer;display:flex;position:absolute;inset:0}@keyframes uid-image-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.uid-image__placeholder{animation:none}}.uid-image__fallback{width:100%;min-width:48px;height:100%;min-height:48px;color:var(--uid-image-fallback-fg);background:var(--uid-image-placeholder);justify-content:center;align-items:center;display:flex}.uid-image__trigger{cursor:zoom-in;border-radius:inherit;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.uid-image__trigger:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px}.uid-image__preview{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.uid-image__preview-img{object-fit:contain;max-width:100%;max-height:80vh}.uid-rating{--uid-rating-color:var(--uid-color-warning,#f59e0b);--uid-rating-color-empty:var(--uid-color-border);--uid-rating-size:24px;--uid-rating-gap:var(--uid-space-2xs);align-items:center;gap:var(--uid-rating-gap);font-size:var(--uid-rating-size);-webkit-user-select:none;user-select:none;line-height:1;display:inline-flex}.uid-rating--readonly{cursor:default}.uid-rating--disabled{opacity:.5;pointer-events:none}.uid-rating__star{cursor:pointer;width:1em;height:1em;color:var(--uid-rating-color-empty);transition:transform var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.uid-rating__star:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px;border-radius:4px}.uid-rating__star:hover{transform:scale(1.15)}.uid-rating--readonly .uid-rating__star,.uid-rating--readonly .uid-rating__star:hover{cursor:default;transform:none}.uid-rating__icon{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.uid-rating__icon--filled{color:var(--uid-rating-color);clip-path:inset(0)}.uid-rating__icon--filled[data-half=true]{clip-path:inset(0 50% 0 0)}.uid-rating__label{margin-left:var(--uid-space-xs);font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);font-variant-numeric:tabular-nums}.uid-rating--sm{--uid-rating-size:16px}.uid-rating--lg{--uid-rating-size:32px}.uid-rating--primary{--uid-rating-color:var(--uid-color-primary)}.uid-rating--success{--uid-rating-color:var(--uid-color-success)}.uid-rating--danger{--uid-rating-color:var(--uid-color-danger)}.uid-splitter{width:100%;height:100%;display:flex;position:relative;overflow:hidden}.uid-splitter--horizontal{flex-direction:row}.uid-splitter--vertical{flex-direction:column}.uid-splitter__pane{flex-grow:0;flex-shrink:0;min-width:0;min-height:0;position:relative;overflow:auto}.uid-splitter__pane--end{flex:1}.uid-splitter__handle{background:var(--uid-color-border);-webkit-user-select:none;user-select:none;transition:background var(--uid-duration-fast) var(--uid-ease-out);outline:none;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.uid-splitter__handle:hover,.uid-splitter__handle:focus-visible,.uid-splitter--dragging .uid-splitter__handle{background:var(--uid-color-primary)}.uid-splitter--horizontal .uid-splitter__handle{cursor:col-resize;width:4px;margin:0}.uid-splitter--vertical .uid-splitter__handle{cursor:row-resize;height:4px}.uid-splitter__handle:before{content:\"\";position:absolute;inset:-4px}.uid-splitter__grip{pointer-events:none;color:var(--uid-color-text-tertiary);gap:2px;display:flex}.uid-splitter__grip-dot{background:currentColor;border-radius:50%;width:2px;height:2px}.uid-splitter--horizontal .uid-splitter__grip{flex-direction:column}.uid-splitter--dragging{cursor:col-resize}.uid-splitter--dragging.uid-splitter--vertical{cursor:row-resize}.uid-splitter--disabled .uid-splitter__handle{cursor:not-allowed;opacity:.4;pointer-events:none}.uid-stat{--uid-stat-padding:var(--uid-space-md);--uid-stat-radius:var(--uid-radius-md);--uid-stat-bg:var(--uid-color-bg);--uid-stat-border:var(--uid-color-border);gap:var(--uid-space-md);padding:var(--uid-stat-padding);background:var(--uid-stat-bg);border:1px solid var(--uid-stat-border);border-radius:var(--uid-stat-radius);align-items:flex-start;min-width:0;display:flex}.uid-stat--bordered-none{border:none}.uid-stat--ghost{background:0 0;border:none;padding:0}.uid-stat__icon{border-radius:var(--uid-radius-md);background:var(--uid-color-primary-subtle);width:40px;height:40px;color:var(--uid-color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.uid-stat--success .uid-stat__icon{background:var(--uid-color-success-subtle);color:var(--uid-color-success)}.uid-stat--warning .uid-stat__icon{background:var(--uid-color-warning-subtle);color:var(--uid-color-warning)}.uid-stat--danger .uid-stat__icon{background:var(--uid-color-danger-subtle);color:var(--uid-color-danger)}.uid-stat--info .uid-stat__icon{background:var(--uid-color-info-subtle);color:var(--uid-color-info)}.uid-stat__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.uid-stat__title{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.4;overflow:hidden}.uid-stat__value-row{align-items:baseline;gap:var(--uid-space-sm);flex-wrap:wrap;display:flex}.uid-stat__value{font-size:var(--uid-font-size-2xl,28px);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text);font-variant-numeric:tabular-nums;align-items:baseline;gap:2px;line-height:1.2;display:inline-flex}.uid-stat__prefix,.uid-stat__suffix{font-size:.65em;font-weight:var(--uid-font-weight-medium);color:var(--uid-color-text-tertiary)}.uid-stat__trend{border-radius:var(--uid-radius-sm);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);background:var(--uid-color-bg-subtle);color:var(--uid-color-text-secondary);align-items:center;gap:2px;padding:2px 6px;display:inline-flex}.uid-stat__trend--up{background:var(--uid-color-success-subtle);color:var(--uid-color-success)}.uid-stat__trend--down{background:var(--uid-color-danger-subtle);color:var(--uid-color-danger)}.uid-stat__footer{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary);margin:0;line-height:1.4}.uid-stat--loading .uid-stat__title,.uid-stat--loading .uid-stat__value,.uid-stat--loading .uid-stat__footer{background:var(--uid-color-bg-subtle);color:#0000;border-radius:var(--uid-radius-sm);background-image:linear-gradient(90deg, transparent 0%, var(--uid-color-border) 50%, transparent 100%);background-size:200% 100%;animation:1.4s linear infinite uid-stat-shimmer}@keyframes uid-stat-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.uid-stat--trend-below .uid-stat__value-row{flex-direction:column;align-items:flex-start;gap:4px}.uid-description-list{--uid-desc-cols:1;--uid-desc-label-color:var(--uid-color-text-secondary);--uid-desc-value-color:var(--uid-color-text);font-size:var(--uid-font-size-md)}.uid-description-list__title{margin:0 0 var(--uid-space-md) 0;font-size:var(--uid-font-size-lg,18px);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text)}.uid-description-list__grid{grid-template-columns:repeat(var(--uid-desc-cols), 1fr);gap:0;display:grid}.uid-description-item{grid-column:span var(--uid-desc-span,1);min-width:0;display:flex}.uid-description-item__label{color:var(--uid-desc-label-color);font-weight:var(--uid-font-weight-medium);flex-shrink:0}.uid-description-item__value{color:var(--uid-desc-value-color);align-items:center;gap:var(--uid-space-xs);word-break:break-word;min-width:0;display:flex}.uid-description-item__copy{width:18px;height:18px;color:var(--uid-color-text-tertiary);cursor:pointer;border-radius:var(--uid-radius-sm);transition:color var(--uid-duration-fast), background var(--uid-duration-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.uid-description-item__copy:hover{background:var(--uid-color-bg-subtle);color:var(--uid-color-text)}.uid-description-item__copy--copied{color:var(--uid-color-success)}.uid-description-list--horizontal .uid-description-item{padding:var(--uid-space-sm) 0;align-items:baseline;gap:var(--uid-space-md)}.uid-description-list--horizontal .uid-description-item__label{width:var(--uid-desc-label-width,33%);min-width:120px}.uid-description-list--horizontal .uid-description-item__value{flex:1}.uid-description-list--vertical .uid-description-item{gap:var(--uid-space-2xs);padding:var(--uid-space-sm) 0;flex-direction:column}.uid-description-list--vertical .uid-description-item__label{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary)}.uid-description-list--bordered .uid-description-list__grid{border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);overflow:hidden}.uid-description-list--bordered .uid-description-item{padding:var(--uid-space-sm) var(--uid-space-md);border-right:1px solid var(--uid-color-border);border-bottom:1px solid var(--uid-color-border)}.uid-description-list--bordered.uid-description-list--horizontal .uid-description-item__label{background:var(--uid-color-bg-subtle);margin:calc(-1 * var(--uid-space-sm)) 0 calc(-1 * var(--uid-space-sm)) calc(-1 * var(--uid-space-md));padding:var(--uid-space-sm) var(--uid-space-md);align-self:stretch;align-items:center;display:flex}.uid-description-list--sm{font-size:var(--uid-font-size-sm)}.uid-description-list--lg{font-size:var(--uid-font-size-lg,16px)}.uid-pattern-result{text-align:center;padding:var(--uid-space-2xl) var(--uid-space-md);align-items:center;gap:var(--uid-space-md);flex-direction:column;max-width:560px;margin:0 auto;display:flex}.uid-pattern-result__icon{background:var(--uid-color-bg-subtle);width:72px;height:72px;color:var(--uid-color-text-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex}.uid-pattern-result--success .uid-pattern-result__icon{background:var(--uid-color-success-subtle);color:var(--uid-color-success)}.uid-pattern-result--info .uid-pattern-result__icon{background:var(--uid-color-info-subtle);color:var(--uid-color-info)}.uid-pattern-result--warning .uid-pattern-result__icon{background:var(--uid-color-warning-subtle);color:var(--uid-color-warning)}.uid-pattern-result--error .uid-pattern-result__icon{background:var(--uid-color-danger-subtle);color:var(--uid-color-danger)}.uid-pattern-result__title{font-size:var(--uid-font-size-xl,22px);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text);margin:0;line-height:1.3}.uid-pattern-result__description{font-size:var(--uid-font-size-md);color:var(--uid-color-text-secondary);max-width:480px;margin:0;line-height:1.5}.uid-pattern-result__content{width:100%;margin-top:var(--uid-space-md);padding:var(--uid-space-md);background:var(--uid-color-bg-subtle);border-radius:var(--uid-radius-md);font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);text-align:left}.uid-pattern-result__actions{gap:var(--uid-space-sm);margin-top:var(--uid-space-sm);flex-wrap:wrap;justify-content:center;display:flex}.uid-pattern-result--compact{padding:var(--uid-space-md);gap:var(--uid-space-sm)}.uid-pattern-result--compact .uid-pattern-result__icon{width:48px;height:48px}.uid-pattern-result--compact .uid-pattern-result__title{font-size:var(--uid-font-size-lg,18px)}.uid-back-top{right:var(--uid-back-top-right,32px);bottom:var(--uid-back-top-bottom,32px);z-index:var(--uid-z-fixed,1000);border:1px solid var(--uid-color-border);background:var(--uid-color-bg);width:44px;height:44px;color:var(--uid-color-text-secondary);cursor:pointer;box-shadow:var(--uid-shadow-md);transition:color var(--uid-duration-fast) var(--uid-ease-out), background var(--uid-duration-fast) var(--uid-ease-out), transform var(--uid-duration-fast) var(--uid-ease-out);border-radius:50%;outline:none;justify-content:center;align-items:center;padding:0;display:flex;position:fixed}.uid-back-top:hover{background:var(--uid-color-primary);color:var(--uid-color-text-on-primary);border-color:var(--uid-color-primary)}.uid-back-top:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-back-top:active{transform:translateY(1px)}.uid-back-top-enter-active,.uid-back-top-leave-active{transition:opacity var(--uid-duration-base) var(--uid-ease-out), transform var(--uid-duration-base) var(--uid-ease-out)}.uid-back-top-enter-from,.uid-back-top-leave-to{opacity:0;transform:translateY(8px)}.uid-affix{position:relative}.uid-affix__sentinel{visibility:hidden;pointer-events:none;width:100%;height:1px}.uid-affix__content{z-index:var(--uid-z-affix,90);transition:box-shadow var(--uid-duration-base) var(--uid-ease-out);position:sticky}.uid-affix--top .uid-affix__content{top:var(--uid-affix-offset,0px)}.uid-affix--bottom .uid-affix__content{bottom:var(--uid-affix-offset,0px)}.uid-affix--affixed .uid-affix__content{box-shadow:var(--uid-shadow-sm)}.uid-watermark{isolation:isolate;position:relative}.uid-watermark__overlay{pointer-events:none;z-index:var(--uid-watermark-z,9);background-position:0 0;background-repeat:repeat;background-size:var(--uid-watermark-size,auto);background-image:var(--uid-watermark-image,none);position:absolute;inset:0}.uid-watermark__content{z-index:1;position:relative}.uid-anchor{border-left:2px solid var(--uid-color-border);font-size:var(--uid-font-size-sm);flex-direction:column;padding-left:0;display:flex}.uid-anchor__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.uid-anchor__item{flex-direction:column;display:flex;position:relative}.uid-anchor__link{padding:var(--uid-space-xs) var(--uid-space-md);color:var(--uid-color-text-secondary);transition:color var(--uid-duration-fast) var(--uid-ease-out);border-left:2px solid #0000;border-radius:0;margin-left:-2px;text-decoration:none;display:block}.uid-anchor__link:hover{color:var(--uid-color-text)}.uid-anchor__link--active{color:var(--uid-color-primary);border-left-color:var(--uid-color-primary);font-weight:var(--uid-font-weight-medium)}.uid-anchor__sublist{padding:0 0 0 var(--uid-space-md);margin:0;list-style:none}.uid-anchor__sublist .uid-anchor__link{font-size:.92em}.uid-tour{z-index:var(--uid-z-modal,1500);pointer-events:none;position:fixed;inset:0}.uid-tour__mask{pointer-events:auto;background:#00000073;position:fixed;inset:0}.uid-tour__spotlight{border-radius:var(--uid-radius-md);pointer-events:none;outline:2px solid var(--uid-color-primary);outline-offset:2px;transition:top var(--uid-duration-base) var(--uid-ease-out), left var(--uid-duration-base) var(--uid-ease-out), width var(--uid-duration-base) var(--uid-ease-out), height var(--uid-duration-base) var(--uid-ease-out);position:absolute;box-shadow:0 0 0 9999px #00000073}.uid-tour__popover{background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);width:320px;box-shadow:var(--uid-shadow-lg);padding:var(--uid-space-md);pointer-events:auto;z-index:1;transition:top var(--uid-duration-base) var(--uid-ease-out), left var(--uid-duration-base) var(--uid-ease-out);position:absolute}.uid-tour__popover--center{transition:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.uid-tour__title{margin:0 0 var(--uid-space-xs) 0;font-size:var(--uid-font-size-lg,18px);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text)}.uid-tour__description{margin:0 0 var(--uid-space-md) 0;font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);line-height:1.5}.uid-tour__footer{justify-content:space-between;align-items:center;gap:var(--uid-space-sm);display:flex}.uid-tour__progress{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary);font-variant-numeric:tabular-nums}.uid-tour__actions{gap:var(--uid-space-xs);display:flex}.uid-tour__btn{border:1px solid var(--uid-color-border);background:var(--uid-color-bg);color:var(--uid-color-text);font-size:var(--uid-font-size-sm);border-radius:var(--uid-radius-sm);cursor:pointer;transition:background var(--uid-duration-fast);padding:6px 12px}.uid-tour__btn:hover{background:var(--uid-color-bg-subtle)}.uid-tour__btn--primary{background:var(--uid-color-primary);color:var(--uid-color-text-on-primary);border-color:var(--uid-color-primary)}.uid-tour__btn--primary:hover{background:var(--uid-color-primary-hover);border-color:var(--uid-color-primary-hover)}.uid-tour__btn--ghost{color:var(--uid-color-text-secondary);border-color:#0000}.uid-tour__btn--ghost:hover{background:var(--uid-color-bg-subtle)}.uid-mention{gap:var(--uid-space-xs);flex-direction:column;display:flex;position:relative}.uid-mention__label{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary)}.uid-mention__field{width:100%;padding:var(--uid-space-sm) 12px;border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-surface-raised);color:var(--uid-color-text);font:inherit;font-size:var(--uid-font-size-md);resize:vertical;transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);line-height:1.5;display:block}.uid-mention__field:focus{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle);outline:none}.uid-mention__field::placeholder{color:var(--uid-color-text-tertiary)}.uid-mention--disabled .uid-mention__field{opacity:.5;cursor:not-allowed;background:var(--uid-surface-base)}.uid-mention__dropdown{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);box-shadow:var(--uid-shadow-md);width:240px;max-height:240px;padding:var(--uid-space-2xs);overflow-y:auto}.uid-mention__option{align-items:center;gap:var(--uid-space-sm);width:100%;padding:var(--uid-space-sm);border-radius:var(--uid-radius-sm);text-align:left;cursor:pointer;font-size:var(--uid-font-size-md);color:var(--uid-color-text);background:0 0;border:none;display:flex}.uid-mention__option:hover,.uid-mention__option--active{background:var(--uid-color-bg-subtle)}.uid-mention__option-label{font-weight:var(--uid-font-weight-medium)}.uid-mention__option-hint{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary);margin-left:auto}.uid-mention__empty{padding:var(--uid-space-md);text-align:center;color:var(--uid-color-text-tertiary);font-size:var(--uid-font-size-sm)}.uid-tree-select{gap:var(--uid-space-xs);flex-direction:column;display:flex;position:relative}.uid-tree-select__label{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary)}.uid-tree-select__required{color:var(--uid-danger)}.uid-tree-select__trigger{align-items:center;gap:var(--uid-space-sm);min-height:var(--uid-size-md);padding:0 var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-surface-raised);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);outline:none;display:flex}.uid-tree-select--open .uid-tree-select__trigger,.uid-tree-select__trigger:focus-visible{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle)}.uid-tree-select--disabled .uid-tree-select__trigger{opacity:.5;cursor:not-allowed;pointer-events:none;background:var(--uid-surface-base)}.uid-tree-select__value{align-items:center;gap:var(--uid-space-xs);padding:var(--uid-space-2xs) 0;font-size:var(--uid-font-size-md);color:var(--uid-color-text);flex-wrap:wrap;flex:1;min-width:0;display:flex}.uid-tree-select__placeholder{color:var(--uid-color-text-tertiary)}.uid-tree-select__chip{align-items:center;gap:var(--uid-space-2xs);padding:2px var(--uid-space-xs);background:var(--uid-color-primary-subtle);color:var(--uid-color-primary);border-radius:var(--uid-radius-sm);font-size:var(--uid-font-size-sm);display:inline-flex}.uid-tree-select__chip-remove{width:14px;height:14px;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.uid-tree-select__chip-remove:hover{opacity:1}.uid-tree-select__suffix{align-items:center;gap:var(--uid-space-xs);color:var(--uid-color-text-secondary);flex-shrink:0;display:flex}.uid-tree-select__clear{border-radius:var(--uid-radius-sm);cursor:pointer;width:18px;height:18px;color:var(--uid-color-text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.uid-tree-select__clear:hover{color:var(--uid-color-text)}.uid-tree-select__chevron{transition:transform var(--uid-duration-base)}.uid-tree-select__chevron--open{transform:rotate(180deg)}.uid-tree-select__hint{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);margin:0}.uid-tree-select__hint--error{color:var(--uid-danger)}.uid-tree-select--error .uid-tree-select__trigger{border-color:var(--uid-danger)}.uid-tree-select__dropdown{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);box-shadow:var(--uid-shadow-md);max-height:320px;padding:var(--uid-space-xs) 0;left:0;overflow-y:auto}.uid-tree-select--sm .uid-tree-select__trigger{min-height:var(--uid-size-sm);padding-inline:var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-tree-select--lg .uid-tree-select__trigger{min-height:var(--uid-size-lg);padding-inline:var(--uid-space-md)}.uid-tree-select--sm .uid-tree-select__value{font-size:var(--uid-font-size-sm)}.uid-tree-select--md .uid-tree-select__value{font-size:var(--uid-font-size-md)}.uid-tree-select--lg .uid-tree-select__value{font-size:var(--uid-font-size-lg)}.uid-notification-badge{--uid-notif-badge-size:18px;--uid-notif-badge-color:var(--uid-color-text-on-primary);--uid-notif-badge-bg:var(--uid-color-danger);--uid-notif-badge-offset-x:0px;--uid-notif-badge-offset-y:0px;display:inline-flex;position:relative}.uid-notification-badge__dot,.uid-notification-badge__count{background:var(--uid-notif-badge-bg);color:var(--uid-notif-badge-color);box-shadow:0 0 0 2px var(--uid-color-bg);pointer-events:none;font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute}.uid-notification-badge__dot{width:8px;height:8px}.uid-notification-badge__count{min-width:var(--uid-notif-badge-size);height:var(--uid-notif-badge-size);font-size:11px;font-weight:var(--uid-font-weight-semibold);padding:0 6px;line-height:1}.uid-notification-badge--top-right .uid-notification-badge__dot,.uid-notification-badge--top-right .uid-notification-badge__count{top:var(--uid-notif-badge-offset-y);right:var(--uid-notif-badge-offset-x);transform:translate(50%,-50%)}.uid-notification-badge--top-left .uid-notification-badge__dot,.uid-notification-badge--top-left .uid-notification-badge__count{top:var(--uid-notif-badge-offset-y);left:var(--uid-notif-badge-offset-x);transform:translate(-50%,-50%)}.uid-notification-badge--bottom-right .uid-notification-badge__dot,.uid-notification-badge--bottom-right .uid-notification-badge__count{bottom:var(--uid-notif-badge-offset-y);right:var(--uid-notif-badge-offset-x);transform:translate(50%,50%)}.uid-notification-badge--bottom-left .uid-notification-badge__dot,.uid-notification-badge--bottom-left .uid-notification-badge__count{bottom:var(--uid-notif-badge-offset-y);left:var(--uid-notif-badge-offset-x);transform:translate(-50%,50%)}.uid-notification-badge--primary .uid-notification-badge__dot,.uid-notification-badge--primary .uid-notification-badge__count{background:var(--uid-color-primary)}.uid-notification-badge--success .uid-notification-badge__dot,.uid-notification-badge--success .uid-notification-badge__count{background:var(--uid-color-success)}.uid-notification-badge--warning .uid-notification-badge__dot,.uid-notification-badge--warning .uid-notification-badge__count{background:var(--uid-color-warning)}.uid-notification-badge--info .uid-notification-badge__dot,.uid-notification-badge--info .uid-notification-badge__count{background:var(--uid-color-info)}.uid-carousel{border-radius:var(--uid-radius-md);position:relative;overflow:hidden}.uid-carousel__track{transition:transform var(--uid-duration-slow,.4s) var(--uid-ease-in-out);will-change:transform;display:flex}.uid-carousel--no-transition .uid-carousel__track{transition:none}.uid-carousel__slide{flex:0 0 100%;min-width:0}.uid-carousel__arrow{color:#fff;cursor:pointer;z-index:2;width:36px;height:36px;transition:background var(--uid-duration-fast) var(--uid-ease-out);background:#0006;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.uid-carousel__arrow:hover{background:#0009}.uid-carousel__arrow:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-carousel__arrow:disabled{opacity:.4;cursor:not-allowed}.uid-carousel__arrow--prev{left:var(--uid-space-sm)}.uid-carousel__arrow--next{right:var(--uid-space-sm)}.uid-carousel__indicators{bottom:var(--uid-space-sm);justify-content:center;gap:var(--uid-space-xs);z-index:2;display:flex;position:absolute;left:0;right:0}.uid-carousel__indicator{cursor:pointer;width:8px;height:8px;transition:background var(--uid-duration-fast) var(--uid-ease-out), width var(--uid-duration-fast) var(--uid-ease-out);background:#ffffff80;border:none;border-radius:50%;padding:0}.uid-carousel__indicator--active{background:#fff;border-radius:4px;width:24px}.uid-carousel__indicator:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-carousel--vertical .uid-carousel__track{flex-direction:column}.uid-carousel--vertical .uid-carousel__slide{flex:0 0 100%;height:100%}.uid-carousel--vertical .uid-carousel__arrow--prev{top:var(--uid-space-sm);left:50%;transform:translate(-50%)}.uid-carousel--vertical .uid-carousel__arrow--next{top:auto;bottom:var(--uid-space-sm);left:50%;right:auto;transform:translate(-50%)}.uid-carousel--vertical .uid-carousel__indicators{top:50%;bottom:auto;right:var(--uid-space-sm);flex-direction:column;left:auto;transform:translateY(-50%)}.uid-transfer{gap:var(--uid-space-md);grid-template-columns:1fr auto 1fr;align-items:stretch;display:grid}.uid-transfer__panel{border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-color-bg);flex-direction:column;min-height:280px;display:flex;overflow:hidden}.uid-transfer__header{padding:var(--uid-space-sm) 12px;border-bottom:1px solid var(--uid-color-border);background:var(--uid-color-bg-subtle);font-size:var(--uid-font-size-sm);justify-content:space-between;align-items:center;gap:var(--uid-space-sm);min-height:40px;display:flex}.uid-transfer__title{font-weight:var(--uid-font-weight-medium);color:var(--uid-color-text);gap:var(--uid-space-xs);align-items:center;display:flex}.uid-transfer__count{color:var(--uid-color-text-tertiary);font-variant-numeric:tabular-nums}.uid-transfer__select-all{cursor:pointer;align-items:center;gap:4px;font-size:12px;display:inline-flex}.uid-transfer__search{padding:var(--uid-space-xs) 12px;border-bottom:1px solid var(--uid-color-border)}.uid-transfer__search-input{width:100%;color:var(--uid-color-text);font:inherit;font-size:var(--uid-font-size-sm);background:0 0;border:none;outline:none}.uid-transfer__search-input::placeholder{color:var(--uid-color-text-tertiary)}.uid-transfer__list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.uid-transfer__item{align-items:center;gap:var(--uid-space-sm);cursor:pointer;font-size:var(--uid-font-size-sm);color:var(--uid-color-text);transition:background var(--uid-duration-fast) var(--uid-ease-out);padding:8px 12px;display:flex}.uid-transfer__item:hover:not(.uid-transfer__item--disabled){background:var(--uid-color-bg-subtle)}.uid-transfer__item--disabled{opacity:.5;cursor:not-allowed}.uid-transfer__check{border:1px solid var(--uid-color-border);background:var(--uid-color-bg);width:14px;height:14px;color:var(--uid-color-text-on-primary);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.uid-transfer__check--checked{background:var(--uid-color-primary);border-color:var(--uid-color-primary)}.uid-transfer__label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.uid-transfer__empty{padding:var(--uid-space-md);text-align:center;color:var(--uid-color-text-tertiary);font-size:var(--uid-font-size-sm)}.uid-transfer__ops{justify-content:center;gap:var(--uid-space-sm);flex-direction:column;display:flex}.uid-transfer__op{border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-color-bg);width:32px;height:32px;color:var(--uid-color-text-secondary);cursor:pointer;transition:background var(--uid-duration-fast), color var(--uid-duration-fast);justify-content:center;align-items:center;display:flex}.uid-transfer__op:hover:not(:disabled){background:var(--uid-color-primary);color:var(--uid-color-text-on-primary);border-color:var(--uid-color-primary)}.uid-transfer__op:disabled{opacity:.4;cursor:not-allowed}.uid-transfer--disabled .uid-transfer__panel,.uid-transfer--disabled .uid-transfer__op{opacity:.6;pointer-events:none}.uid-cascader{gap:var(--uid-space-xs);flex-direction:column;display:flex;position:relative}.uid-cascader__label{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary)}.uid-cascader__trigger{align-items:center;gap:var(--uid-space-sm);min-height:var(--uid-size-md);padding:var(--uid-space-xs) 12px;border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-surface-raised);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);outline:none;display:flex}.uid-cascader--open .uid-cascader__trigger,.uid-cascader__trigger:focus-visible{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle)}.uid-cascader--disabled .uid-cascader__trigger{opacity:.5;pointer-events:none;background:var(--uid-surface-base)}.uid-cascader__value{min-width:0;font-size:var(--uid-font-size-md);flex-wrap:wrap;flex:1;align-items:center;gap:4px;display:flex}.uid-cascader__placeholder{color:var(--uid-color-text-tertiary)}.uid-cascader__separator{color:var(--uid-color-text-tertiary);margin:0 2px}.uid-cascader__suffix{align-items:center;gap:var(--uid-space-xs);color:var(--uid-color-text-secondary);flex-shrink:0;display:flex}.uid-cascader__clear{cursor:pointer;width:18px;height:18px;color:var(--uid-color-text-secondary);border-radius:var(--uid-radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.uid-cascader__clear:hover{color:var(--uid-color-text)}.uid-cascader__chevron{transition:transform var(--uid-duration-base)}.uid-cascader__chevron--open{transform:rotate(180deg)}.uid-cascader__dropdown{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);box-shadow:var(--uid-shadow-md);flex-direction:column;max-height:360px;display:flex;overflow:hidden}.uid-cascader__columns{min-height:0;display:flex}.uid-cascader__search{padding:var(--uid-space-2xs);border-bottom:1px solid var(--uid-color-border)}.uid-cascader__search-input{width:100%;min-height:var(--uid-size-sm);padding:0 var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-surface-raised);color:var(--uid-color-text);font:inherit;font-size:var(--uid-font-size-sm);outline:none}.uid-cascader__search-input:focus-visible{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle)}.uid-cascader__results{padding:var(--uid-space-2xs);min-width:240px;max-height:300px;margin:0;list-style:none;overflow-y:auto}.uid-cascader__result{padding:var(--uid-space-sm) 12px;border-radius:var(--uid-radius-sm);cursor:pointer;font-size:var(--uid-font-size-md);color:var(--uid-color-text);flex-wrap:wrap;align-items:center;gap:2px;display:flex}.uid-cascader__result--active{background:var(--uid-color-bg-subtle)}.uid-cascader__highlight{color:var(--uid-color-primary);font-weight:var(--uid-font-weight-medium);background:0 0}.uid-cascader__empty{padding:var(--uid-space-sm) 12px;font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary)}.uid-cascader__column{min-width:160px;max-height:320px;padding:var(--uid-space-2xs);flex-direction:column;display:flex;overflow-y:auto}.uid-cascader__column+.uid-cascader__column{border-left:1px solid var(--uid-color-border)}.uid-cascader__option{align-items:center;gap:var(--uid-space-sm);padding:var(--uid-space-sm) 12px;border-radius:var(--uid-radius-sm);text-align:left;cursor:pointer;font-size:var(--uid-font-size-md);color:var(--uid-color-text);white-space:nowrap;background:0 0;border:none;width:100%;display:flex}.uid-cascader__option:hover{background:var(--uid-color-bg-subtle)}.uid-cascader__option--active{background:var(--uid-color-primary-subtle);color:var(--uid-color-primary)}.uid-cascader__option--selected{font-weight:var(--uid-font-weight-medium)}.uid-cascader__option:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px}.uid-cascader__option--disabled{opacity:.4;cursor:not-allowed}.uid-cascader__option-label{text-overflow:ellipsis;flex:1;overflow:hidden}.uid-cascader__option-arrow{color:var(--uid-color-text-tertiary)}.uid-cascader__hint{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);margin:0}.uid-cascader--sm .uid-cascader__trigger{min-height:var(--uid-size-sm);padding-block:0;padding-inline:var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-cascader--lg .uid-cascader__trigger{min-height:var(--uid-size-lg);padding-inline:var(--uid-space-md)}.uid-cascader--sm .uid-cascader__value{font-size:var(--uid-font-size-sm)}.uid-cascader--md .uid-cascader__value{font-size:var(--uid-font-size-md)}.uid-cascader--lg .uid-cascader__value{font-size:var(--uid-font-size-lg)}.uid-calendar{--uid-cal-cell-min-h:88px;background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);flex-direction:column;width:100%;display:flex;overflow:hidden}.uid-calendar__header{padding:var(--uid-space-sm) var(--uid-space-md);border-bottom:1px solid var(--uid-color-border);background:var(--uid-color-bg-subtle);justify-content:space-between;align-items:center;display:flex}.uid-calendar__title{font-size:var(--uid-font-size-lg,16px);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text)}.uid-calendar__nav{gap:var(--uid-space-xs);display:flex}.uid-calendar__btn{height:28px;padding:0 var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-color-bg);color:var(--uid-color-text);font-size:var(--uid-font-size-sm);cursor:pointer;transition:background var(--uid-duration-fast);justify-content:center;align-items:center;display:flex}.uid-calendar__btn:hover{background:var(--uid-color-bg-subtle)}.uid-calendar__btn--icon{width:28px;padding:0}.uid-calendar__weekdays{background:var(--uid-color-bg-subtle);border-bottom:1px solid var(--uid-color-border);grid-template-columns:repeat(7,1fr);display:grid}.uid-calendar__weekday{padding:var(--uid-space-sm);font-size:var(--uid-font-size-xs);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text-tertiary);text-align:center;text-transform:uppercase;letter-spacing:.06em}.uid-calendar__grid{grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(var(--uid-cal-cell-min-h), 1fr);display:grid}.uid-calendar__day{border-right:1px solid var(--uid-color-border);border-bottom:1px solid var(--uid-color-border);cursor:pointer;background:var(--uid-color-bg);transition:background var(--uid-duration-fast) var(--uid-ease-out);flex-direction:column;gap:4px;padding:4px 6px;display:flex;position:relative;overflow:hidden}.uid-calendar__day:hover{background:var(--uid-color-bg-subtle)}.uid-calendar__day:nth-child(7n){border-right:none}.uid-calendar__grid>.uid-calendar__day:nth-last-child(-n+7){border-bottom:none}.uid-calendar__day--other{background:var(--uid-color-bg-subtle)}.uid-calendar__day--other .uid-calendar__date{color:var(--uid-color-text-tertiary)}.uid-calendar__day--today .uid-calendar__date{background:var(--uid-color-primary);color:var(--uid-color-text-on-primary)}.uid-calendar__day--selected{background:var(--uid-color-primary-subtle)}.uid-calendar__day--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.uid-calendar__day:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px}.uid-calendar__date{min-width:22px;height:22px;font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);font-variant-numeric:tabular-nums;color:var(--uid-color-text);border-radius:11px;justify-content:center;align-self:flex-end;align-items:center;padding:0 4px;display:inline-flex}.uid-calendar__events{flex-direction:column;gap:2px;display:flex;overflow:hidden}.uid-calendar__event{background:var(--uid-event-color,var(--uid-color-primary));color:var(--uid-color-text-on-primary);border-radius:var(--uid-radius-sm);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;text-align:left;border:none;align-items:center;gap:4px;width:100%;padding:2px 6px;font-size:11px;display:flex;overflow:hidden}.uid-calendar__event:hover{filter:brightness(.9)}.uid-calendar__more{color:var(--uid-color-text-secondary);padding:0 6px;font-size:11px}.uid-calendar--compact{--uid-cal-cell-min-h:40px}.uid-calendar--compact .uid-calendar__day{padding:4px}.uid-calendar--compact .uid-calendar__events{flex-flow:wrap;gap:2px;display:flex}.uid-calendar--compact .uid-calendar__event{border-radius:50%;width:6px;height:6px;padding:0;overflow:visible}.uid-calendar--compact .uid-calendar__event-label,.uid-calendar--compact .uid-calendar__more{display:none}.uid-sparkline{--uid-sparkline-color:var(--uid-color-primary);--uid-sparkline-area-opacity:.15;vertical-align:middle;line-height:0;display:inline-block}.uid-sparkline__svg{display:block;overflow:visible}.uid-sparkline__line{fill:none;stroke:var(--uid-sparkline-color);stroke-width:var(--uid-sparkline-stroke,1.5);stroke-linejoin:round;stroke-linecap:round}.uid-sparkline__area{fill:var(--uid-sparkline-color);fill-opacity:var(--uid-sparkline-area-opacity);stroke:none}.uid-sparkline__bar{fill:var(--uid-sparkline-color);rx:1}.uid-sparkline__bar--negative{fill:var(--uid-color-danger)}.uid-sparkline__dot{fill:var(--uid-color-bg);stroke:var(--uid-sparkline-color);stroke-width:2px}.uid-sparkline__dot--last{fill:var(--uid-sparkline-color)}.uid-sparkline__zero{stroke:var(--uid-color-border);stroke-width:1px;stroke-dasharray:2 2}.uid-progress-ring{--uid-ring-color:var(--uid-color-primary);--uid-ring-track:var(--uid-color-bg-subtle);justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.uid-progress-ring__svg{display:block;transform:rotate(-90deg)}.uid-progress-ring__track{fill:none;stroke:var(--uid-ring-track)}.uid-progress-ring__progress{fill:none;stroke:var(--uid-ring-color);stroke-linecap:round;transition:stroke-dashoffset var(--uid-duration-base) var(--uid-ease-in-out)}.uid-progress-ring__indeterminate .uid-progress-ring__progress{animation:1s linear infinite uid-ring-spin}@keyframes uid-ring-spin{to{stroke-dashoffset:-1000px}}.uid-progress-ring__label{font-size:var(--uid-ring-label-size,14px);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text);font-variant-numeric:tabular-nums;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.uid-progress-ring--success{--uid-ring-color:var(--uid-color-success)}.uid-progress-ring--warning{--uid-ring-color:var(--uid-color-warning)}.uid-progress-ring--danger{--uid-ring-color:var(--uid-color-danger)}.uid-progress-ring--info{--uid-ring-color:var(--uid-color-info)}.uid-gauge{--uid-gauge-color:var(--uid-color-primary);--uid-gauge-track:var(--uid-color-bg-subtle);flex-direction:column;align-items:center;line-height:1;display:inline-flex;position:relative}.uid-gauge__svg{display:block;overflow:visible}.uid-gauge__track{fill:none;stroke:var(--uid-gauge-track);stroke-linecap:round}.uid-gauge__progress{fill:none;stroke:var(--uid-gauge-color);stroke-linecap:round;transition:stroke-dashoffset var(--uid-duration-base) var(--uid-ease-in-out)}.uid-gauge__range{fill:none;stroke-linecap:butt}.uid-gauge--ranged .uid-gauge__track{stroke-linecap:butt}.uid-gauge__needle{stroke:var(--uid-color-text);stroke-width:2px;stroke-linecap:round;transition:transform var(--uid-duration-base) var(--uid-ease-in-out)}.uid-gauge__needle-pivot{fill:var(--uid-color-text)}.uid-gauge__content{text-align:center;pointer-events:none;position:absolute;bottom:8%;left:0;right:0}.uid-gauge__value{font-size:var(--uid-gauge-value-size,22px);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text);font-variant-numeric:tabular-nums;align-items:baseline;gap:2px;display:inline-flex}.uid-gauge__suffix{font-size:.6em;font-weight:var(--uid-font-weight-medium);color:var(--uid-color-text-tertiary)}.uid-gauge__label{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary);margin-top:2px}.uid-gauge__limits{width:100%;font-size:var(--uid-font-size-xs);color:var(--uid-color-text-tertiary);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:2px;display:flex}.uid-gauge--success{--uid-gauge-color:var(--uid-color-success)}.uid-gauge--warning{--uid-gauge-color:var(--uid-color-warning)}.uid-gauge--danger{--uid-gauge-color:var(--uid-color-danger)}.uid-gauge--info{--uid-gauge-color:var(--uid-color-info)}.uid-heatmap{--uid-heatmap-color:var(--uid-color-primary);--uid-heatmap-empty:var(--uid-color-bg-subtle);--uid-heatmap-cell:12px;--uid-heatmap-gap:3px;gap:var(--uid-space-xs);font-size:var(--uid-font-size-xs);color:var(--uid-color-text-tertiary);flex-direction:column;display:flex}.uid-heatmap__chart{gap:var(--uid-space-xs);align-items:flex-start;display:flex}.uid-heatmap__weekdays{grid-template-rows:repeat(7, var(--uid-heatmap-cell));gap:var(--uid-heatmap-gap);flex-shrink:0;margin-top:16px;font-size:10px;display:grid}.uid-heatmap__weekday{height:var(--uid-heatmap-cell);visibility:hidden;align-items:center;display:flex}.uid-heatmap__weekday--visible{visibility:visible}.uid-heatmap__grid-wrapper{flex-direction:column;gap:2px;display:flex}.uid-heatmap__months{height:14px;font-size:10px;display:flex;position:relative}.uid-heatmap__month{white-space:nowrap;position:absolute}.uid-heatmap__svg{display:block}.uid-heatmap__cell{fill:var(--uid-heatmap-empty);rx:2;ry:2;cursor:default;transition:fill var(--uid-duration-fast) var(--uid-ease-out)}.uid-heatmap__cell:hover{stroke:var(--uid-color-text);stroke-width:1px}.uid-heatmap__legend{align-items:center;gap:4px;margin-left:auto;font-size:10px;display:flex}.uid-heatmap__legend-cell{width:var(--uid-heatmap-cell);height:var(--uid-heatmap-cell);background:var(--uid-heatmap-empty);border-radius:2px}.uid-heatmap-matrix{--uid-heatmap-matrix-color:var(--uid-color-primary);--uid-heatmap-matrix-empty-border:var(--uid-color-border);--uid-heatmap-matrix-cols:1;--uid-heatmap-matrix-cell-height:20px;--uid-heatmap-matrix-min-cell:10px;--uid-heatmap-matrix-gap:2px;--uid-heatmap-matrix-header-height:19px;--uid-heatmap-matrix-radius:2px;gap:var(--uid-space-sm);min-width:0;color:var(--uid-color-text-secondary);flex-direction:column;font-size:11px;display:flex;position:relative}.uid-heatmap-matrix__scroll{min-width:0;padding:2px;overflow-x:auto}.uid-heatmap-matrix__grid{grid-template-columns:max-content repeat(var(--uid-heatmap-matrix-cols), minmax(var(--uid-heatmap-matrix-min-cell), 1fr));gap:var(--uid-heatmap-matrix-gap);align-items:center;display:grid}.uid-heatmap-matrix__row{display:contents}.uid-heatmap-matrix__corner,.uid-heatmap-matrix__col-header{height:var(--uid-heatmap-matrix-header-height);position:relative}.uid-heatmap-matrix__col-label{white-space:nowrap;text-overflow:ellipsis;max-width:96px;color:var(--uid-color-text-secondary);line-height:14px;position:absolute;bottom:2px;left:50%;overflow:hidden;transform:translate(-50%)}.uid-heatmap-matrix--labels-rotated .uid-heatmap-matrix__col-label{transform-origin:0 100%;bottom:2px;transform:rotate(-45deg)}.uid-heatmap-matrix__col-label--hidden{visibility:hidden}.uid-heatmap-matrix__row-header{white-space:nowrap;text-align:end;text-overflow:ellipsis;max-width:12em;padding-inline-end:var(--uid-space-xs);line-height:14px;overflow:hidden}.uid-heatmap-matrix__cell{height:var(--uid-heatmap-matrix-cell-height);border-radius:var(--uid-heatmap-matrix-radius);cursor:default;transition:box-shadow var(--uid-duration-fast) var(--uid-ease-out);outline:none}.uid-heatmap-matrix__cell--empty{box-shadow:inset 0 0 0 1px var(--uid-heatmap-matrix-empty-border);background:0 0}.uid-heatmap-matrix__cell--active{box-shadow:0 0 0 1.5px var(--uid-color-text)}.uid-heatmap-matrix__cell:focus-visible{box-shadow:0 0 0 2px var(--uid-color-focus-ring)}.uid-heatmap-matrix__tooltip{z-index:var(--uid-z-tooltip);max-width:var(--uid-tooltip-max-width,240px);padding:var(--uid-space-xs) var(--uid-space-sm);background:var(--uid-tooltip-bg,var(--uid-color-zinc-900));color:var(--uid-tooltip-color,var(--uid-color-zinc-50));font-size:var(--uid-font-size-xs);white-space:nowrap;border-radius:var(--uid-tooltip-radius,var(--uid-radius-sm));box-shadow:var(--uid-shadow-md);pointer-events:none;flex-direction:column;gap:2px;line-height:1.35;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 6px))}.uid-heatmap-matrix__tooltip-label{opacity:.8}.uid-heatmap-matrix__tooltip-value{font-weight:var(--uid-font-weight-semibold,600);font-variant-numeric:tabular-nums}.uid-heatmap-matrix__legend{justify-content:flex-end;align-items:center;gap:var(--uid-space-xs) var(--uid-space-sm);color:var(--uid-color-text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.uid-heatmap-matrix__legend-bar{border-radius:4px;width:120px;max-width:40%;height:8px}.uid-heatmap-matrix__legend-empty{align-items:center;gap:var(--uid-space-xs);margin-inline-start:var(--uid-space-xs);display:inline-flex}.uid-heatmap-matrix__legend-swatch{border-radius:var(--uid-heatmap-matrix-radius);width:10px;height:10px;box-shadow:inset 0 0 0 1px var(--uid-heatmap-matrix-empty-border)}.uid-stepper{align-items:flex-start;margin:0;padding:0;list-style:none;display:flex}.uid-stepper__step{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.uid-stepper:not(.uid-stepper--vertical) .uid-stepper__step:not(:last-child):after{content:\"\";top:calc(var(--uid-stepper-indicator-size,32px) / 2);left:calc(50% + var(--uid-stepper-indicator-size,32px) / 2);width:calc(100% - var(--uid-stepper-indicator-size,32px));background:var(--uid-stepper-connector,var(--uid-color-border));height:2px;transition:background var(--uid-duration-base);position:absolute}.uid-stepper:not(.uid-stepper--vertical) .uid-stepper__step--completed:not(:last-child):after{background:var(--uid-stepper-connector-completed,var(--uid-color-primary))}.uid-stepper__indicator{width:var(--uid-stepper-indicator-size,32px);height:var(--uid-stepper-indicator-size,32px);z-index:1;background:var(--uid-stepper-indicator-bg,var(--uid-color-bg-subtle));border:2px solid var(--uid-stepper-indicator-border,var(--uid-color-border));color:var(--uid-stepper-indicator-color,var(--uid-color-text-secondary));transition:background var(--uid-duration-base), border-color var(--uid-duration-base), color var(--uid-duration-base);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.uid-stepper__step--current .uid-stepper__indicator{background:var(--uid-stepper-indicator-bg-current,var(--uid-color-primary));border-color:var(--uid-stepper-indicator-border-current,var(--uid-color-primary));color:var(--uid-stepper-indicator-color-current,var(--uid-color-text-on-primary))}.uid-stepper__step--completed .uid-stepper__indicator{background:var(--uid-stepper-indicator-bg-completed,var(--uid-color-primary));border-color:var(--uid-stepper-indicator-border-completed,var(--uid-color-primary));color:var(--uid-stepper-indicator-color-completed,var(--uid-color-text-on-primary))}.uid-stepper__content{margin-top:var(--uid-space-sm);text-align:center;flex-direction:column;gap:2px;display:flex}.uid-stepper__label{font-size:var(--uid-font-size-sm,14px);color:var(--uid-stepper-label-color,var(--uid-color-text));transition:color var(--uid-duration-base);font-weight:500}.uid-stepper__step--pending .uid-stepper__label{color:var(--uid-stepper-label-color-pending,var(--uid-color-text-secondary))}.uid-stepper__description{font-size:var(--uid-font-size-xs,12px);color:var(--uid-stepper-desc-color,var(--uid-color-text-tertiary))}.uid-stepper--vertical{flex-direction:column}.uid-stepper--vertical .uid-stepper__step{padding-bottom:var(--uid-space-lg);flex-direction:row;flex:none;align-items:flex-start;gap:12px}.uid-stepper--vertical .uid-stepper__step:last-child{padding-bottom:0}.uid-stepper--vertical .uid-stepper__step:not(:last-child):after{content:\"\";top:var(--uid-stepper-indicator-size,32px);left:calc(var(--uid-stepper-indicator-size,32px) / 2 - 1px);width:2px;height:calc(100% - var(--uid-stepper-indicator-size,32px));background:var(--uid-stepper-connector,var(--uid-color-border));transition:background var(--uid-duration-base);position:absolute}.uid-stepper--vertical .uid-stepper__step--completed:not(:last-child):after{background:var(--uid-stepper-connector-completed,var(--uid-color-primary))}.uid-stepper--vertical .uid-stepper__content{text-align:left;margin-top:4px}.uid-stepper__target{display:contents}.uid-stepper__target--selectable{flex-direction:inherit;align-items:inherit;gap:inherit;font:inherit;color:inherit;text-align:inherit;cursor:pointer;border-radius:var(--uid-radius-md);background:0 0;border:0;padding:0;display:flex}.uid-stepper__target--selectable:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-stack{display:flex}.uid-stack--inline{display:inline-flex}.uid-grid{display:grid}.uid-container{width:100%;margin-inline:auto}.uid-container--sm{max-width:var(--uid-container-sm,640px)}.uid-container--md{max-width:var(--uid-container-md,768px)}.uid-container--lg{max-width:var(--uid-container-lg,1024px)}.uid-container--xl{max-width:var(--uid-container-xl,1280px)}.uid-container--2xl{max-width:var(--uid-container-2xl,1536px)}.uid-container--full{max-width:100%}.uid-container--padded{padding-inline:var(--uid-container-padding-x,var(--uid-space-md))}.uid-wizard{gap:var(--uid-wizard-gap,var(--uid-space-lg));flex-direction:column;display:flex}.uid-wizard-step{flex:1}.uid-pattern-header{--uid-header-height:64px;--uid-header-bg:var(--uid-color-surface);--uid-header-border:var(--uid-color-border);--uid-header-z:var(--uid-z-sticky);background:var(--uid-header-bg);height:var(--uid-header-height);z-index:var(--uid-header-z)}.uid-pattern-header--sticky{position:sticky;top:0}.uid-pattern-header--bordered{border-bottom:1px solid var(--uid-header-border)}.uid-pattern-header--transparent{background:0 0}.uid-pattern-header__inner{height:100%;padding:0 var(--uid-space-lg);align-items:center;gap:var(--uid-space-lg);max-width:var(--uid-container-xl,1280px);margin-inline:auto;display:flex}.uid-pattern-header__logo{flex-shrink:0;align-items:center;display:flex}.uid-pattern-header__nav{align-items:center;gap:var(--uid-space-xs);flex:1;display:flex}.uid-pattern-header__actions{align-items:center;gap:var(--uid-space-sm);flex-shrink:0;display:flex}.uid-pattern-header__mobile{display:none}@media (width<=768px){.uid-pattern-header__nav{display:none}.uid-pattern-header__mobile{align-items:center;margin-left:auto;display:flex}}.uid-pattern-footer{background:var(--uid-footer-bg,var(--uid-color-surface));border-top:1px solid var(--uid-color-border);color:var(--uid-color-text-secondary);font-size:var(--uid-font-size-sm)}.uid-pattern-footer__inner{max-width:var(--uid-container-xl,1280px);padding:var(--uid-space-lg);margin-inline:auto}.uid-pattern-footer--minimal .uid-pattern-footer__content{justify-content:center;align-items:center;gap:var(--uid-space-md);flex-wrap:wrap;display:flex}.uid-pattern-footer--columns .uid-pattern-footer__columns{gap:var(--uid-space-xl);padding-bottom:var(--uid-space-lg);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.uid-pattern-footer__bottom{padding-top:var(--uid-space-md);border-top:1px solid var(--uid-color-border);color:var(--uid-color-text-disabled);font-size:var(--uid-font-size-xs,12px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.uid-pattern-sidebar{--uid-sidebar-width:240px;--uid-sidebar-collapsed-width:56px;width:var(--uid-sidebar-width);background:var(--uid-sidebar-bg,var(--uid-color-bg-subtle));border-color:var(--uid-color-border);transition:width var(--uid-duration-base) var(--uid-ease-in-out);border-style:solid;border-width:0;flex-direction:column;display:flex;overflow:hidden}.uid-pattern-sidebar--left{border-right-width:1px}.uid-pattern-sidebar--right{border-left-width:1px}.uid-pattern-sidebar--collapsed{width:var(--uid-sidebar-collapsed-width)}.uid-pattern-sidebar--collapsed .uid-sidebar-item__label,.uid-pattern-sidebar--collapsed .uid-sidebar-item__badge,.uid-pattern-sidebar--collapsed .uid-sidebar-group__title{display:none}.uid-pattern-sidebar__header{padding:var(--uid-space-md);border-bottom:1px solid var(--uid-color-border);flex-shrink:0}.uid-pattern-sidebar__nav{padding:var(--uid-space-sm) 0;flex:1;overflow-y:auto}.uid-pattern-sidebar__footer{padding:12px var(--uid-space-sm);border-top:1px solid var(--uid-color-border);flex-shrink:0}.uid-sidebar-item{padding:var(--uid-space-sm) 12px;margin:1px var(--uid-space-sm);border-radius:var(--uid-radius-sm);color:var(--uid-sidebar-item-color,var(--uid-color-text-secondary));font-size:var(--uid-font-size-sm);cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out), color var(--uid-duration-fast) var(--uid-ease-out);align-items:center;gap:12px;font-weight:500;text-decoration:none;display:flex}.uid-sidebar-item:hover:not(.uid-sidebar-item--disabled){background:var(--uid-color-surface-hover);color:var(--uid-color-text-primary)}.uid-sidebar-item--active{background:var(--uid-sidebar-item-bg-active,var(--uid-color-primary-subtle,color-mix(in srgb, var(--uid-color-primary) 10%, transparent)));color:var(--uid-sidebar-item-color-active,var(--uid-color-primary))}.uid-sidebar-item--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.uid-sidebar-item:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px}.uid-sidebar-item__icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.uid-sidebar-item__label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.uid-sidebar-item__badge{min-width:18px;height:18px;padding:0 var(--uid-space-xs);background:var(--uid-color-primary);color:var(--uid-color-text-on-primary);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.uid-sidebar-group{padding:var(--uid-space-xs) 0}.uid-sidebar-group__title{padding:var(--uid-space-sm) 20px;text-transform:uppercase;letter-spacing:.06em;color:var(--uid-color-text-disabled);margin:0;font-size:11px;font-weight:600}.uid-sidebar-divider{height:1px;margin:var(--uid-space-sm) 12px;background:var(--uid-color-border)}.uid-pattern-page-header{padding:var(--uid-space-lg) 0 0}.uid-pattern-page-header__breadcrumb{margin-bottom:12px}.uid-pattern-page-header__row{justify-content:space-between;align-items:flex-start;gap:var(--uid-space-md);flex-wrap:wrap;display:flex}.uid-pattern-page-header__heading{align-items:flex-start;gap:12px;display:flex}.uid-pattern-page-header__back{border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);width:36px;height:36px;color:var(--uid-color-text-secondary);cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out), color var(--uid-duration-fast) var(--uid-ease-out);background:0 0;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.uid-pattern-page-header__back:hover{background:var(--uid-color-surface-hover);color:var(--uid-color-text-primary)}.uid-pattern-page-header__back:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-pattern-page-header__title{font-size:var(--uid-font-size-2xl,24px);color:var(--uid-color-text-primary);margin:0;font-weight:700;line-height:1.2}.uid-pattern-page-header__description{margin:var(--uid-space-xs) 0 0;font-size:var(--uid-font-size-base);color:var(--uid-color-text-secondary);line-height:1.5}.uid-pattern-page-header__actions{align-items:center;gap:var(--uid-space-sm);flex-shrink:0;display:flex}.uid-pattern-page-header__tabs{margin-top:var(--uid-space-md)}.uid-pattern-empty-state{justify-content:center;align-items:center;gap:var(--uid-space-md);padding:var(--uid-space-2xl) var(--uid-space-lg);text-align:center;flex-direction:column;display:flex}.uid-pattern-empty-state__illustration{color:var(--uid-color-text-disabled);justify-content:center;align-items:center;display:flex}.uid-pattern-empty-state__content{gap:var(--uid-space-sm);flex-direction:column;max-width:360px;display:flex}.uid-pattern-empty-state__title{font-size:var(--uid-font-size-lg);color:var(--uid-color-text-primary);margin:0;font-weight:600}.uid-pattern-empty-state__description{font-size:var(--uid-font-size-base);color:var(--uid-color-text-secondary);margin:0;line-height:1.5}.uid-pattern-empty-state__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.uid-pattern-error-state{justify-content:center;align-items:center;gap:var(--uid-space-md);padding:var(--uid-space-2xl) var(--uid-space-lg);text-align:center;flex-direction:column;display:flex}.uid-pattern-error-state__illustration{color:var(--uid-color-danger);opacity:.8;justify-content:center;align-items:center;display:flex}.uid-pattern-error-state__code{color:var(--uid-color-text-disabled);letter-spacing:-2px;font-variant-numeric:tabular-nums;font-size:64px;font-weight:800;line-height:1}.uid-pattern-error-state__content{gap:var(--uid-space-sm);flex-direction:column;max-width:400px;display:flex}.uid-pattern-error-state__title{font-size:var(--uid-font-size-xl,20px);color:var(--uid-color-text-primary);margin:0;font-weight:700}.uid-pattern-error-state__description{font-size:var(--uid-font-size-base);color:var(--uid-color-text-secondary);margin:0;line-height:1.5}.uid-pattern-error-state__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.uid-layout-simple{min-height:var(--uid-layout-simple-min-height,100vh);flex-direction:column;display:flex}.uid-layout-simple--full{height:100vh;overflow:hidden}.uid-layout-simple__header{flex-shrink:0}.uid-layout-simple__content{flex:1;width:100%}.uid-layout-simple--full .uid-layout-simple__content{overflow-y:auto}.uid-layout-simple__footer{flex-shrink:0}.uid-layout-sidebar{min-height:var(--uid-layout-sidebar-min-height,100vh);display:flex;position:relative}.uid-layout-sidebar__sidebar{width:var(--uid-layout-sidebar-width,240px);transition:width var(--uid-duration-base) var(--uid-ease-in-out);flex-shrink:0;overflow:hidden}.uid-layout-sidebar--collapsed .uid-layout-sidebar__sidebar{width:var(--uid-layout-sidebar-collapsed-width,56px)}.uid-layout-sidebar__main{flex-direction:column;flex:1;min-width:0;display:flex}.uid-layout-sidebar__main-header{flex-shrink:0}.uid-layout-sidebar__main-content{flex:1;min-width:0}.uid-layout-sidebar__main-footer{flex-shrink:0}.uid-layout-sidebar__backdrop{display:none}@media (width<=768px){.uid-layout-sidebar__sidebar{z-index:var(--uid-z-drawer,400);transition:transform var(--uid-duration-base) var(--uid-ease-in-out);background:var(--uid-color-bg);position:fixed;inset:0 auto 0 0;transform:translate(-100%);width:var(--uid-layout-sidebar-width,240px)!important}.uid-layout-sidebar:not(.uid-layout-sidebar--collapsed) .uid-layout-sidebar__sidebar{box-shadow:var(--uid-shadow-lg);transform:translate(0)}.uid-layout-sidebar__backdrop{background:var(--uid-color-overlay,#00000080);z-index:calc(var(--uid-z-drawer,400) - 1);cursor:pointer;display:none;position:fixed;inset:0}.uid-layout-sidebar:not(.uid-layout-sidebar--collapsed) .uid-layout-sidebar__backdrop{display:block}}.uid-layout-auth{min-height:var(--uid-layout-auth-min-height,100vh);display:flex}.uid-layout-auth--centered{padding:var(--uid-space-lg);background:var(--uid-layout-auth-bg,var(--uid-color-bg-subtle));justify-content:center;align-items:center}.uid-layout-auth--centered .uid-layout-auth__main{align-items:center;gap:var(--uid-space-md);flex-direction:column;width:100%;display:flex}.uid-layout-auth__card{width:100%;max-width:var(--uid-layout-auth-card-width,400px)}.uid-layout-auth__footer{font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text-secondary);text-align:center}.uid-layout-auth--split{align-items:stretch}.uid-layout-auth__brand{padding:var(--uid-space-2xl);background:var(--uid-layout-auth-brand-bg,var(--uid-color-primary));color:var(--uid-layout-auth-brand-color,var(--uid-color-text-on-primary));flex:1;justify-content:center;align-items:center;display:flex}.uid-layout-auth--split .uid-layout-auth__main{padding:var(--uid-space-2xl);justify-content:center;align-items:center;gap:var(--uid-space-md);background:var(--uid-color-bg);flex-direction:column;flex:1;display:flex}@media (width<=768px){.uid-layout-auth--split{flex-direction:column}.uid-layout-auth__brand{padding:var(--uid-space-xl) var(--uid-space-lg);flex:none}.uid-layout-auth--split .uid-layout-auth__main{padding:var(--uid-space-xl) var(--uid-space-lg);flex:1}}.uid-layout-wizard{min-height:var(--uid-layout-wizard-min-height,0);background:var(--uid-color-bg);flex-direction:column;width:100%;display:flex}.uid-layout-wizard__header{padding:var(--uid-space-lg) var(--uid-space-xl) var(--uid-space-md);border-bottom:1px solid var(--uid-color-border);flex-shrink:0}.uid-layout-wizard__stepper{padding:var(--uid-space-lg) var(--uid-space-xl);border-bottom:1px solid var(--uid-color-border);flex-shrink:0}.uid-layout-wizard__content{padding:var(--uid-layout-wizard-content-padding,var(--uid-space-xl));flex:1;min-width:0}.uid-layout-wizard__nav{padding:var(--uid-space-md) var(--uid-space-xl);border-top:1px solid var(--uid-color-border);background:var(--uid-color-bg);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}@media (width<=640px){.uid-layout-wizard__header,.uid-layout-wizard__stepper,.uid-layout-wizard__content,.uid-layout-wizard__nav{padding-left:var(--uid-space-md);padding-right:var(--uid-space-md)}}.fl-view,.fl-editor{--fl-bg:var(--uid-surface-base,#fafafa);--fl-grid:color-mix(in srgb, var(--uid-text-tertiary,#a1a1aa) 45%, transparent);--fl-node-bg:var(--uid-surface-raised,#fff);--fl-node-border:var(--uid-border-default,#d4d4d8);--fl-node-text:var(--uid-text-primary,#18181b);--fl-node-muted:var(--uid-text-secondary,#71717a);--fl-edge:color-mix(in srgb, var(--uid-text-tertiary,#a1a1aa) 85%, var(--uid-text-secondary,#71717a));--fl-accent:var(--uid-accent,#14b8a6);--fl-accent-subtle:var(--uid-accent-subtle,#f0fdfa);--fl-success:var(--uid-success,#059669);--fl-success-subtle:var(--uid-success-subtle,#ecfdf5);--fl-danger:var(--uid-danger,#e11d48);--fl-danger-subtle:var(--uid-danger-subtle,#fff1f2);--fl-warning:var(--uid-warning,#d97706);--fl-warning-subtle:var(--uid-warning-subtle,#fffbeb);--fl-info:var(--uid-info,#2563eb);--fl-info-subtle:var(--uid-info-subtle,#eff6ff);--fl-shadow:color-mix(in srgb, var(--uid-text-primary,#18181b) 9%, transparent);--fl-font:var(--uid-font-family-sans,system-ui, sans-serif);--fl-radius:var(--uid-radius-lg,12px);height:100%;min-height:360px;font-family:var(--fl-font);color:var(--fl-node-text);display:flex;position:relative}.fl-canvas{min-width:0;min-height:inherit;background:var(--fl-bg);border-radius:inherit;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;outline:none;flex:auto;position:relative;overflow:hidden}.fl-canvas.is-panning,.fl-canvas.is-space,.fl-canvas.is-space *{cursor:grabbing}.fl-canvas.is-editable{cursor:default}.fl-canvas.is-connecting,.fl-canvas.is-connecting *{cursor:crosshair}.fl-svg{width:100%;height:100%;font-family:var(--fl-font);display:block;position:absolute;inset:0}.fl-canvas.is-animating .fl-viewport{transition:transform .24s var(--uid-ease-out,ease-out)}.fl-grid-dot{fill:var(--fl-grid)}.fl-group rect{fill:color-mix(in srgb, var(--fl-node-muted) 6%, transparent);stroke:color-mix(in srgb, var(--fl-node-muted) 35%, transparent);stroke-dasharray:5 4;stroke-width:1px}.fl-group__label{letter-spacing:.04em;text-transform:uppercase;fill:var(--fl-node-muted);font-size:11px;font-weight:600}.fl-edge__hit{fill:none;stroke:#0000;stroke-width:16px;pointer-events:stroke;cursor:pointer}.fl-edge__line{fill:none;stroke:var(--fl-edge);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:stroke .12s}.fl-edge.is-hovered .fl-edge__line{stroke:var(--fl-node-muted);stroke-width:2px}.fl-edge.is-association .fl-edge__line{stroke-dasharray:3 4;stroke-width:1.2px}.fl-edge.is-traversed .fl-edge__line{stroke:color-mix(in srgb, var(--fl-success) 75%, var(--fl-edge));stroke-width:2px}.fl-edge.is-path .fl-edge__line{stroke:var(--fl-accent);stroke-width:2.6px}.fl-edge__flow{fill:none;stroke:color-mix(in srgb, var(--fl-node-bg) 80%, transparent);stroke-width:1.4px;stroke-dasharray:2 12;stroke-linecap:round;pointer-events:none;animation:1.1s linear infinite fl-flow}.fl-edge.is-disabled .fl-edge__line{stroke-dasharray:5 5;opacity:.45}.fl-edge.is-selected .fl-edge__line,.fl-edge.is-focused .fl-edge__line{stroke:var(--fl-accent);stroke-width:2.6px}.fl-edge.has-error .fl-edge__line{stroke:var(--fl-danger)}.fl-edge.has-warning .fl-edge__line{stroke:var(--fl-warning)}.fl-arrow path{fill:var(--fl-edge)}.fl-arrow--accent path{fill:var(--fl-accent)}.fl-arrow--success path{fill:color-mix(in srgb, var(--fl-success) 75%, var(--fl-edge))}.fl-arrow--muted path{fill:var(--fl-edge);opacity:.45}.fl-arrow--danger path{fill:var(--fl-danger)}.fl-edge-label{cursor:pointer;outline:none}.fl-edge-label__bg{fill:var(--fl-bg);stroke:var(--uid-border-subtle,#e4e4e7);stroke-width:1px}.fl-edge-label__text{fill:var(--fl-node-muted);font-size:12px;font-weight:500}.fl-edge-label.is-path .fl-edge-label__bg{stroke:color-mix(in srgb, var(--fl-accent) 55%, transparent);fill:var(--fl-accent-subtle)}.fl-edge-label.is-path .fl-edge-label__text{fill:var(--uid-accent-text,var(--fl-accent))}.fl-edge-label.is-selected .fl-edge-label__bg,.fl-edge-label.is-focused .fl-edge-label__bg{stroke:var(--fl-accent);stroke-width:1.5px}.fl-edge-label.is-disabled{opacity:.5}.fl-edge-label.is-disabled .fl-edge-label__text{text-decoration:line-through}.fl-edge-label:not(:has(rect)){pointer-events:none}.fl-node-wrap{cursor:pointer;outline:none}.fl-canvas.is-editable .fl-node-wrap{cursor:grab}.fl-canvas.is-dragging .fl-node-wrap{cursor:grabbing}.fl-node__body{fill:var(--fl-node-bg);stroke:var(--fl-node-border);stroke-width:1px;transition:stroke .12s,fill .12s}.fl-node__shadow{fill:var(--fl-shadow)}.fl-node-wrap.is-hovered .fl-node__body{stroke:var(--uid-border-hover,#a1a1aa)}.fl-node__label{fill:var(--fl-node-text);pointer-events:none;font-size:14px;font-weight:500}.fl-node__label--outside{fill:var(--fl-node-muted);font-size:13px}.fl-node__desc{fill:var(--fl-node-muted);font-size:12px;font-weight:400}.fl-node__tile rect{fill:var(--fl-accent-subtle)}.fl-node__tile svg{color:var(--uid-accent-text,var(--fl-accent))}.fl-node--rect.fl-node .fl-node__tile rect{fill:var(--fl-info-subtle)}.fl-node--rect.fl-node .fl-node__tile svg{color:var(--fl-info)}.fl-node__body--start{fill:var(--fl-success-subtle);stroke:var(--fl-success);stroke-width:1.5px}.fl-node--circle .fl-node__glyph{color:var(--fl-success);fill:var(--fl-success)}.fl-node__body--end{fill:var(--fl-node-bg);stroke:var(--fl-node-text);stroke-width:3px}.fl-node__end-core{fill:var(--fl-node-text)}.fl-node--note .fl-node__body{fill:var(--fl-warning-subtle);stroke:color-mix(in srgb, var(--fl-warning) 45%, transparent)}.fl-node--note .fl-node__shadow{display:none}.fl-node--note .fl-node__label{fill:var(--fl-node-muted);font-size:13px;font-weight:400}.fl-node--diamond .fl-node__body{fill:var(--fl-node-bg)}.fl-node.fl-tone--accent .fl-node__body{stroke:var(--fl-accent);stroke-width:2px}.fl-node.fl-tone--success .fl-node__body{stroke:color-mix(in srgb, var(--fl-success) 70%, var(--fl-node-border));stroke-width:1.5px}.fl-node.fl-tone--danger .fl-node__body{stroke:var(--fl-danger);stroke-width:2px;fill:color-mix(in srgb, var(--fl-danger-subtle) 60%, var(--fl-node-bg))}.fl-node.fl-tone--warning .fl-node__body{stroke:var(--fl-warning);stroke-width:1.5px;stroke-dasharray:6 3}.fl-node.fl-tone--neutral .fl-node__body{stroke-dasharray:3 3}.fl-node.fl-tone--neutral .fl-node__label{fill:var(--fl-node-muted)}.fl-node.is-on-path:not(.has-status) .fl-node__body{stroke:color-mix(in srgb, var(--fl-accent) 60%, var(--fl-node-border))}.fl-node__halo{fill:none;stroke:var(--fl-accent);stroke-width:6px;opacity:.22;transform-box:fill-box;transform-origin:50%;pointer-events:none;animation:1.8s ease-in-out infinite fl-pulse}.fl-node.is-current .fl-node__halo{opacity:.32}.fl-node__ring{fill:none;stroke:var(--fl-accent);stroke-width:2px;pointer-events:none}.fl-node.is-focused:not(.is-selected) .fl-node__ring{stroke-dasharray:4 3}.fl-node__chip circle,.fl-node__chip rect{fill:var(--fl-node-muted);stroke:var(--fl-bg);stroke-width:2px}.fl-node__chip svg{color:#fff}.fl-node__chip text{fill:#fff;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.fl-tone--success .fl-node__chip circle,.fl-tone--success .fl-node__chip rect{fill:var(--fl-success)}.fl-tone--danger .fl-node__chip circle,.fl-tone--danger .fl-node__chip rect{fill:var(--fl-danger)}.fl-tone--warning .fl-node__chip circle,.fl-tone--warning .fl-node__chip rect{fill:var(--fl-warning)}.fl-tone--accent .fl-node__chip circle,.fl-tone--accent .fl-node__chip rect{fill:var(--fl-accent)}.fl-tone--info .fl-node__chip circle,.fl-tone--info .fl-node__chip rect{fill:var(--fl-info)}.fl-node__chip--pulse .fl-node__pulse{opacity:.35;stroke:none;transform-box:fill-box;transform-origin:50%;animation:1.6s ease-out infinite fl-ping}.fl-node__count rect,.fl-edge-count rect{fill:var(--uid-surface-raised,#fff);stroke:var(--uid-border-default,#d4d4d8);stroke-width:1px}.fl-node__count text,.fl-edge-count text{fill:var(--uid-text-secondary,#71717a);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.fl-node__count--accent rect,.fl-edge-label.is-path .fl-edge-count rect{fill:var(--fl-accent-subtle);stroke:color-mix(in srgb, var(--fl-accent) 70%, transparent)}.fl-node__count--accent text,.fl-edge-label.is-path .fl-edge-count text{fill:var(--uid-accent-text,var(--fl-accent))}.fl-node__count--danger rect{fill:var(--fl-danger-subtle);stroke:color-mix(in srgb, var(--fl-danger) 70%, transparent)}.fl-node__count--danger text{fill:var(--fl-danger)}.fl-node__enter{cursor:pointer}.fl-node__enter rect{fill:var(--fl-node-bg);stroke:var(--fl-node-border)}.fl-node__enter svg{color:var(--fl-node-muted)}.fl-node__enter:hover rect{stroke:var(--fl-accent);fill:var(--fl-accent-subtle)}.fl-node__enter:hover svg{color:var(--uid-accent-text,var(--fl-accent))}.fl-node__issue circle{stroke:var(--fl-bg);stroke-width:2px}.fl-node.has-error .fl-node__issue circle{fill:var(--fl-danger)}.fl-node.has-warning .fl-node__issue circle{fill:var(--fl-warning)}.fl-node__issue text{fill:#fff;font-size:11px;font-weight:800}.fl-node.has-error .fl-node__body{stroke:var(--fl-danger)}.fl-node.is-disabled{opacity:.5}.fl-node.is-disabled .fl-node__body{stroke-dasharray:4 3}.fl-node.is-disabled .fl-node__label tspan:not(.fl-node__desc){text-decoration:line-through}.fl-node-wrap.is-drop-target .fl-node__body{stroke:var(--fl-accent);stroke-width:2px}.fl-handle{cursor:crosshair}.fl-handle__hit{fill:#0000}.fl-handle__dot{fill:var(--fl-node-bg);stroke:var(--fl-accent);stroke-width:1.6px;transition:r .1s}.fl-handle:hover .fl-handle__dot,.fl-handle.is-snapped .fl-handle__dot{fill:var(--fl-accent);r:6.5}.fl-edge-end{fill:var(--fl-node-bg);stroke:var(--fl-accent);stroke-width:2px;cursor:move}.fl-edge-end:hover{fill:var(--fl-accent)}.fl-connect-preview{fill:none;stroke:var(--fl-accent);stroke-width:2px;stroke-dasharray:6 4;pointer-events:none}.fl-connect-preview.is-snapped{stroke-dasharray:none}.fl-band{fill:color-mix(in srgb, var(--fl-accent) 10%, transparent);stroke:var(--fl-accent);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}.fl-controls{background:var(--fl-node-bg);border:1px solid var(--uid-border-subtle,#e4e4e7);border-radius:var(--uid-radius-md,8px);box-shadow:var(--uid-shadow-md);cursor:default;z-index:2;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;bottom:12px;left:12px}.fl-controls__zoom{font-variant-numeric:tabular-nums;min-width:52px}.fl-controls__sep{background:var(--uid-border-subtle,#e4e4e7);align-self:stretch;width:1px;margin:4px 2px}.fl-minimap{background:color-mix(in srgb, var(--fl-node-bg) 92%, transparent);border:1px solid var(--uid-border-subtle,#e4e4e7);border-radius:var(--uid-radius-md,8px);box-shadow:var(--uid-shadow-md);cursor:pointer;z-index:2;position:absolute;bottom:12px;right:12px;overflow:hidden}.fl-minimap svg{touch-action:none;display:block}.fl-minimap__node{fill:color-mix(in srgb, var(--fl-node-muted) 45%, transparent)}.fl-minimap__node.is-current{fill:var(--fl-accent)}.fl-minimap__node.is-selected{fill:var(--uid-accent-text,var(--fl-accent))}.fl-minimap__group{fill:color-mix(in srgb, var(--fl-node-muted) 10%, transparent)}.fl-minimap__view{fill:color-mix(in srgb, var(--fl-accent) 8%, transparent);stroke:var(--fl-accent)}.fl-hovebar{background:var(--fl-node-bg);border:1px solid var(--uid-border-subtle,#e4e4e7);border-radius:var(--uid-radius-md,8px);box-shadow:var(--uid-shadow-md);cursor:default;z-index:3;white-space:nowrap;align-items:center;gap:6px;padding:4px 6px 4px 10px;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 8px))}.fl-hovebar:after{content:\"\";height:10px;position:absolute;bottom:-10px;left:0;right:0}.fl-hovebar--edge{transform:translate(-50%,calc(-100% - 6px))}.fl-nav{background:var(--fl-node-bg);border:1px solid var(--uid-border-subtle,#e4e4e7);border-radius:var(--uid-radius-md,8px);max-width:min(640px,100% - 24px);box-shadow:var(--uid-shadow-sm);cursor:default;z-index:2;align-items:center;gap:4px;width:max-content;padding:3px 12px 3px 3px;display:flex;position:absolute;top:12px;left:12px;right:12px}.fl-nav__crumbs{flex:auto;min-width:0}.fl-status{background:color-mix(in srgb, var(--fl-node-bg) 94%, transparent);border:1px solid var(--uid-border-subtle,#e4e4e7);border-radius:var(--uid-radius-md,8px);max-width:calc(100% - 24px);box-shadow:var(--uid-shadow-sm);font-size:var(--uid-font-size-sm,13px);color:var(--fl-node-muted);cursor:default;z-index:2;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:4px 6px 4px 12px;display:flex;position:absolute;top:12px;right:12px}.fl-view:has(.fl-nav) .fl-status{top:60px}.fl-status__text{font-variant-numeric:tabular-nums;white-space:nowrap}.fl-status__summary{flex-wrap:wrap;gap:4px;display:inline-flex}.fl-status__dot{background:var(--fl-node-muted);border-radius:50%;flex:none;width:8px;height:8px}.fl-status__dot.is-live{background:var(--fl-success);box-shadow:0 0 0 0 color-mix(in srgb, var(--fl-success) 60%, transparent);animation:2s ease-out infinite fl-live}.fl-status__dot.is-stale{background:var(--fl-warning)}.fl-status__dot.is-error{background:var(--fl-danger)}.fl-busy{background:color-mix(in srgb, var(--fl-bg) 60%, transparent);z-index:4;place-items:center;display:grid;position:absolute;inset:0}.fl-empty{text-align:center;cursor:default;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex;position:absolute;inset:0}.fl-empty>*{pointer-events:auto}.fl-empty__title{font-size:var(--uid-font-size-lg,16px);color:var(--fl-node-text);margin:0;font-weight:600}.fl-empty__hint{max-width:360px;color:var(--fl-node-muted);font-size:var(--uid-font-size-sm,13px);margin:0;line-height:1.5}.fl-layout-error{color:var(--fl-danger);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fl-details{flex-direction:column;gap:14px;display:flex}.fl-details__head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fl-details__desc{color:var(--uid-text-secondary);margin:0;line-height:1.5}.fl-details__enter{align-self:flex-start}.fl-details__section{font-size:var(--uid-font-size-xs,12px);letter-spacing:.04em;text-transform:uppercase;color:var(--uid-text-secondary);margin:4px 0 0;font-weight:600}.fl-details code{font-family:var(--uid-font-family-mono,monospace);font-size:.92em}@keyframes fl-pulse{0%,to{opacity:.12;stroke-width:4px}50%{opacity:.34;stroke-width:9px}}@keyframes fl-ping{0%{opacity:.5;transform:scale(.8)}to{opacity:0;transform:scale(1.9)}}@keyframes fl-flow{to{stroke-dashoffset:-14px}}@keyframes fl-live{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--fl-success) 55%, transparent)}70%,to{box-shadow:0 0 0 6px #0000}}@media (prefers-reduced-motion:reduce){.fl-node__halo,.fl-node__chip--pulse .fl-node__pulse,.fl-edge__flow,.fl-status__dot.is-live{animation:none}.fl-canvas.is-animating .fl-viewport{transition:none}}@media (width<=640px){.fl-minimap,.fl-status__summary,.fl-controls__zoom{display:none}}.fl-editor{background:var(--fl-node-bg);border:1px solid var(--uid-border-subtle,#e4e4e7);border-radius:var(--fl-radius);flex-direction:column;overflow:hidden}.fl-toolbar{border-bottom:1px solid var(--uid-border-subtle,#e4e4e7);background:var(--fl-node-bg);box-sizing:border-box;flex:none;align-items:center;gap:2px;min-height:44px;padding:6px 8px;display:flex}.fl-toolbar__sep{background:var(--uid-border-subtle,#e4e4e7);width:1px;height:20px;margin:0 6px}.fl-toolbar__spacer{flex:auto}.fl-toolbar__text{white-space:nowrap}.fl-editor__body{flex:auto;min-height:0;display:flex}.fl-editor__palette{border-right:1px solid var(--uid-border-subtle,#e4e4e7);box-sizing:border-box;flex:none;width:196px;padding:12px;overflow-y:auto}.fl-editor__canvas{flex:auto;min-width:0;display:flex;position:relative}.fl-editor__canvas .fl-canvas{border-radius:0}.fl-editor__side{border-left:1px solid var(--uid-border-subtle,#e4e4e7);box-sizing:border-box;flex:none;width:312px;padding:4px 14px 16px;overflow-y:auto}.fl-panel-title{font-size:var(--uid-font-size-xs,12px);letter-spacing:.04em;text-transform:uppercase;color:var(--fl-node-muted);margin:2px 2px 10px;font-weight:600}.fl-palette{flex-direction:column;gap:6px;display:flex}.fl-palette__item-wrap{display:flex}.fl-palette__item.uid-button{cursor:grab;touch-action:none;flex:auto;justify-content:flex-start}.fl-palette__hint{font-size:var(--uid-font-size-xs,12px);color:var(--fl-node-muted);margin:8px 2px 0;line-height:1.45}.fl-palette-ghost{z-index:1000;background:var(--uid-surface-raised,#fff);border:1.5px solid var(--uid-accent,#14b8a6);box-shadow:var(--uid-shadow-lg);color:var(--uid-text-primary);font:500 13px var(--uid-font-family-sans,system-ui, sans-serif);pointer-events:none;opacity:.92;border-radius:10px;padding:8px 14px;position:fixed;transform:translate(-50%,-50%)}.fl-props{flex-direction:column;gap:14px;padding-top:14px;display:flex}.fl-props__muted{color:var(--fl-node-muted);font-size:var(--uid-font-size-sm,13px);margin:0;line-height:1.5}.fl-props__route{color:var(--fl-node-text);font-weight:500}.fl-props__count{margin:0;font-weight:600}.fl-props__tools{flex-wrap:wrap;gap:4px;display:flex}.fl-props__section{border-top:1px solid var(--uid-border-subtle,#e4e4e7);flex-direction:column;gap:8px;padding-top:12px;display:flex}.fl-props__section h4{font-size:var(--uid-font-size-xs,12px);letter-spacing:.04em;text-transform:uppercase;color:var(--fl-node-muted);margin:0;font-weight:600}.fl-props__row{gap:6px;display:flex}.fl-props__kv{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;align-items:center;gap:4px;display:grid}.fl-props__add,.fl-props__delete{align-self:flex-start}.fl-props__condition input{font-family:var(--uid-font-family-mono,monospace)}.fl-issues__summary{font-size:var(--uid-font-size-sm,13px);color:var(--fl-node-muted);margin:14px 0 8px}.fl-issues__none{color:var(--fl-success);font-size:var(--uid-font-size-sm,13px);align-items:center;gap:8px;margin:8px 0;display:flex}.fl-issues__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.fl-issue.uid-button{text-align:left;white-space:normal;justify-content:flex-start;align-items:flex-start;width:100%;height:auto;min-height:32px;padding-top:6px;padding-bottom:6px}.fl-issue__text{font-weight:400;line-height:1.4}.fl-issue--error .uid-icon{color:var(--fl-danger)}.fl-issue--warning .uid-icon{color:var(--fl-warning)}.fl-tab-issues__count{margin-left:6px}.fl-hint{background:color-mix(in srgb, var(--fl-node-bg) 85%, transparent);color:var(--fl-node-muted);font-size:var(--uid-font-size-xs,12px);pointer-events:none;white-space:nowrap;border-radius:999px;margin:0;padding:4px 10px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.fl-editor-empty{flex-direction:column;align-items:center;gap:8px;max-width:400px;display:flex}.fl-editor-empty__actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.fl-context-anchor{z-index:50;width:1px;height:1px;position:fixed}.fl-context-anchor__trigger{width:1px;height:1px;display:block}.fl-menu-label{flex:auto}.fl-menu-shortcut{font:inherit;font-size:var(--uid-font-size-xs,12px);color:var(--uid-text-tertiary,#a1a1aa);margin-left:16px}.fl-import{flex-direction:column;gap:12px;display:flex}.fl-import__source textarea{font-family:var(--uid-font-family-mono,monospace);font-size:13px}.fl-editor.is-narrow .fl-hint{display:none}.fl-toggle.uid-button.is-active{background:var(--fl-accent-subtle);color:var(--uid-accent-text,var(--fl-accent))}.fl-props__head{align-items:center;gap:8px;min-width:0;display:flex}.fl-props__head .uid-icon,.fl-props__head svg{color:var(--fl-node-muted);flex:none}.fl-props__kind{font-weight:600;font-size:var(--uid-font-size-sm,13px)}.fl-props__id{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--uid-font-family-mono,monospace);font-size:var(--uid-font-size-xs,12px);color:var(--fl-node-muted);margin-left:auto;overflow:hidden}.fl-props__transition.uid-button{justify-content:flex-start;width:100%}.fl-view,.fl-editor{font-family:var(--uid-font-family-sans,system-ui, sans-serif);font-size:var(--uid-font-size-md,14px);color:var(--uid-text-primary);-webkit-font-smoothing:antialiased}\n/*$vite$:1*/";document.head.appendChild(s)}();
|
|
2
|
-
var DskFlow=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var n={},r=[],i=()=>{},a=()=>!1,o=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),s=e=>e.startsWith(`onUpdate:`),c=Object.assign,l=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},u=Object.prototype.hasOwnProperty,d=(e,t)=>u.call(e,t),f=Array.isArray,p=e=>S(e)===`[object Map]`,m=e=>S(e)===`[object Set]`,h=e=>S(e)===`[object Date]`,g=e=>typeof e==`function`,_=e=>typeof e==`string`,v=e=>typeof e==`symbol`,y=e=>typeof e==`object`&&!!e,b=e=>(y(e)||g(e))&&g(e.then)&&g(e.catch),x=Object.prototype.toString,S=e=>x.call(e),C=e=>S(e).slice(8,-1),w=e=>S(e)===`[object Object]`,T=e=>_(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,ee=t(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),E=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},D=/-\w/g,O=E(e=>e.replace(D,e=>e.slice(1).toUpperCase())),k=/\B([A-Z])/g,A=E(e=>e.replace(k,`-$1`).toLowerCase()),j=E(e=>e.charAt(0).toUpperCase()+e.slice(1)),M=E(e=>e?`on${j(e)}`:``),N=(e,t)=>!Object.is(e,t),te=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},ne=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},re=e=>{let t=parseFloat(e);return isNaN(t)?e:t},ie=e=>{let t=_(e)?Number(e):NaN;return isNaN(t)?e:t},ae,oe=()=>ae||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function se(e){if(f(e)){let t={};for(let n=0;n<e.length;n++){let r=e[n],i=_(r)?de(r):se(r);if(i)for(let e in i)t[e]=i[e]}return t}if(_(e)||y(e))return e}var ce=/;(?![^(]*\))/g,le=/:([^]+)/,ue=/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g;function de(e){let t={};return e.replace(ue,e=>e.startsWith(`/*`)?``:e).split(ce).forEach(e=>{if(e){let n=e.split(le);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function P(e){let t=``;if(_(e))t=e;else if(f(e))for(let n=0;n<e.length;n++){let r=P(e[n]);r&&(t+=r+` `)}else if(y(e))for(let n in e)e[n]&&(t+=n+` `);return t.trim()}function fe(e){if(!e)return null;let{class:t,style:n}=e;return t&&!_(t)&&(e.class=P(t)),n&&(e.style=se(n)),e}var pe=t(`itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly`);function me(e){return!!e||e===``}function he(e,t,n){if(e.length!==t.length)return!1;let r=!0;for(let i=0;r&&i<e.length;i++)r=ye(e[i],t[i],n);return r}function ge(e,t,n){if(e.size!==t.size)return!1;let r=Array.from(t),i=new Uint8Array(r.length);for(let t of e){let e=-1;for(let a=0;a<r.length;a++)if(!i[a]&&ye(t,r[a],n)){e=a;break}if(e<0)return!1;i[e]=1}return!0}function _e(e,t,n){let r=p(e),i=p(t);if(r||i||(r=m(e),i=m(t),r||i))return r&&i?ge(e,t,n):!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e){let i=e.hasOwnProperty(r),a=t.hasOwnProperty(r);if(i&&!a||!i&&a||!ye(e[r],t[r],n))return!1}return String(e)===String(t)}function ve(e,t,n,r){n||=[new Map,new Map];let[i,a]=n;if(i.has(e)||a.has(t))return i.get(e)===t&&a.get(t)===e;i.set(e,t),a.set(t,e);let o=r(e,t,n);return i.delete(e),a.delete(t),o}function ye(e,t,n){if(e===t)return!0;let r=h(e),i=h(t);return r||i?r&&i?e.getTime()===t.getTime():!1:(r=v(e),i=v(t),r||i?e===t:(r=f(e),i=f(t),r||i?r&&i?ve(e,t,n,he):!1:(r=y(e),i=y(t),r||i?!r||!i?!1:ve(e,t,n,_e):String(e)===String(t))))}function be(e,t){return e.findIndex(e=>ye(e,t))}var xe=e=>!!(e&&e.__v_isRef===!0),F=e=>_(e)?e:e==null?``:f(e)||y(e)&&(e.toString===x||!g(e.toString))?xe(e)?F(e.value):JSON.stringify(e,Se,2):String(e),Se=(e,t)=>xe(t)?Se(e,t.value):p(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Ce(t,r)+` =>`]=n,e),{})}:m(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Ce(e))}:v(t)?Ce(t):y(t)&&!f(t)&&!w(t)?String(t):t,Ce=(e,t=``)=>v(e)?`Symbol(${e.description??t})`:e,we,Te=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&we&&(we.active?(this.parent=we,this.index=(we.scopes||(we.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes){let n=this.scopes.slice();for(e=0,t=n.length;e<t;e++)n[e].pause()}for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes){let n=this.scopes.slice();for(e=0,t=n.length;e<t;e++)n[e].resume()}let n=this.effects.slice();for(e=0,t=n.length;e<t;e++)n[e].resume()}}run(e){if(this._active){let t=we;try{return we=this,e()}finally{we=t}}}on(){++this._on===1&&(this.prevScope=we,we=this)}off(){if(this._on>0&&--this._on===0){if(we===this)we=this.prevScope;else{let e=we;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(this.effects.length=0,t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){let e=this.scopes.slice();for(t=0,n=e.length;t<n;t++)e[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){let e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0}}};function Ee(){return we}var De,Oe=new WeakSet,ke=class{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,we&&(we.active?we.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Oe.has(this)&&(Oe.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Ne(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Ke(this),Ie(this);let e=De,t=He;De=this,He=!0;try{return this.fn()}finally{Le(this),De=e,He=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)Be(e);this.deps=this.depsTail=void 0,Ke(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Oe.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Re(this)&&this.run()}get dirty(){return Re(this)}},Ae=0,je,Me;function Ne(e,t=!1){e.flags|=8,t?(e.next=Me,Me=e):(e.next=je,je=e)}function Pe(){Ae++}function Fe(){if(--Ae>0)return;if(Me){let e=Me;for(Me=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;je;){let t=je;for(je=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Ie(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Le(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),Be(r),Ve(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Re(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ze(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ze(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===qe)||(e.globalVersion=qe,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Re(e))))return;e.flags|=2;let t=e.dep,n=De,r=He;De=e,He=!0;try{Ie(e);let n=e.fn(e._value);(t.version===0||N(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{De=n,He=r,Le(e),e.flags&=-3}}function Be(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Be(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ve(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var He=!0,Ue=[];function We(){Ue.push(He),He=!1}function Ge(){let e=Ue.pop();He=e===void 0||e}function Ke(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=De;De=void 0;try{t()}finally{De=e}}}var qe=0,Je=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Ye=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!De||!He||De===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==De)t=this.activeLink=new Je(De,this),De.deps?(t.prevDep=De.depsTail,De.depsTail.nextDep=t,De.depsTail=t):De.deps=De.depsTail=t,Xe(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=De.depsTail,t.nextDep=void 0,De.depsTail.nextDep=t,De.depsTail=t,De.deps===t&&(De.deps=e)}return t}trigger(e){this.version++,qe++,this.notify(e)}notify(e){Pe();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Fe()}}};function Xe(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Xe(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var Ze=new WeakMap,Qe=Symbol(``),$e=Symbol(``),et=Symbol(``);function tt(e,t,n){if(He&&De){let t=Ze.get(e);t||Ze.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new Ye),r.map=t,r.key=n),r.track()}}function nt(e,t,n,r,i,a){let o=Ze.get(e);if(!o){qe++;return}let s=e=>{e&&e.trigger()};if(Pe(),t===`clear`)o.forEach(s);else{let i=f(e),a=i&&T(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===et||!v(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(et)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(Qe)),p(e)&&s(o.get($e)));break;case`delete`:i||(s(o.get(Qe)),p(e)&&s(o.get($e)));break;case`set`:p(e)&&s(o.get(Qe))}}Fe()}function rt(e,t){let n=Ze.get(e);return n&&n.get(t)}function it(e){let t=Kt(e);return t===e||(tt(t,`iterate`,et),Wt(e))?t:Ut(e)?Ht(e)?t.map(e=>Yt(Jt(e))):t.map(Yt):t.map(Jt)}function at(e){return tt(e=Kt(e),`iterate`,et),e}function ot(e,t){return Ut(e)?Yt(Ht(e)?Jt(t):t):Jt(t)}var st={__proto__:null,[Symbol.iterator](){return ct(this,Symbol.iterator,e=>ot(this,e))},concat(...e){return it(this).concat(...e.map(e=>f(e)?it(e):e))},entries(){return ct(this,`entries`,e=>(e[1]=ot(this,e[1]),e))},every(e,t){return dt(this,`every`,e,t,void 0,arguments)},filter(e,t){return dt(this,`filter`,e,t,e=>e.map(e=>ot(this,e)),arguments)},find(e,t){return dt(this,`find`,e,t,e=>ot(this,e),arguments)},findIndex(e,t){return dt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return dt(this,`findLast`,e,t,e=>ot(this,e),arguments)},findLastIndex(e,t){return dt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return dt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return pt(this,`includes`,e)},indexOf(...e){return pt(this,`indexOf`,e)},join(e){return it(this).join(e)},lastIndexOf(...e){return pt(this,`lastIndexOf`,e)},map(e,t){return dt(this,`map`,e,t,void 0,arguments)},pop(){return mt(this,`pop`)},push(...e){return mt(this,`push`,e)},reduce(e,...t){return ft(this,`reduce`,e,t)},reduceRight(e,...t){return ft(this,`reduceRight`,e,t)},shift(){return mt(this,`shift`)},some(e,t){return dt(this,`some`,e,t,void 0,arguments)},splice(...e){return mt(this,`splice`,e)},toReversed(){return it(this).toReversed()},toSorted(e){return it(this).toSorted(e)},toSpliced(...e){return it(this).toSpliced(...e)},unshift(...e){return mt(this,`unshift`,e)},values(){return ct(this,`values`,e=>ot(this,e))}};function ct(e,t,n){let r=at(e),i=r[t],a=i.call(r);if(r!==e&&!Wt(e)){if(a[Symbol.toStringTag]===`Array Iterator`){let e=Object.create(Object.getPrototypeOf(a));return e.next=()=>lt(a.next(),n),i!==ut[t]&&Object.defineProperties(e,{return:{get(){let e=a.return;return typeof e==`function`?e.bind(a):e}},throw:{get(){let e=a.throw;return typeof e==`function`?e.bind(a):e}}}),e}a._next=a.next,a.next=()=>lt(a._next(),n)}return a}function lt(e,t){return e.done||(e.value=t(e.value)),e}var ut=Array.prototype;function dt(e,t,n,r,i,a){let o=at(e),s=o!==e&&!Wt(e),c=o[t];if(c!==ut[t]){let t=c.apply(e,a);return s?Jt(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,ot(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function ft(e,t,n,r){let i=at(e),a=i!==e&&!Wt(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=ot(e,t)),n.call(this,t,ot(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?ot(e,c):c}function pt(e,t,n){let r=Kt(e);tt(r,`iterate`,et);let i=r[t](...n);return(i===-1||i===!1)&&Gt(n[0])?(n[0]=Kt(n[0]),r[t](...n)):i}function mt(e,t,n=[]){We(),Pe();let r=Kt(e)[t].apply(e,n);return Fe(),Ge(),r}var ht=t(`__proto__,__v_isRef,__isVue`),gt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(v));function _t(e){v(e)||(e=String(e));let t=Kt(this);return tt(t,`has`,e),t.hasOwnProperty(e)}var vt=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?It:Ft:i?Pt:Nt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=f(e);if(!r){let e;if(a&&(e=st[t]))return e;if(t===`hasOwnProperty`)return _t}let o=Reflect.get(e,t,Xt(e)?e:n);if((v(t)?gt.has(t):ht(t))||(r||tt(e,`get`,t),i))return o;if(Xt(o)){let e=a&&T(t)?o:o.value;return r&&y(e)?Bt(e):e}return y(o)?r?Bt(o):Rt(o):o}},yt=class extends vt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=f(e)&&T(t);if(!this._isShallow){let e=Ut(i);if(!Wt(n)&&!Ut(n)&&(i=Kt(i),n=Kt(n)),!a&&Xt(i)&&!Xt(n))return e||(i.value=n),!0}let o=a?Number(t)<e.length:d(e,t),s=Reflect.set(e,t,n,Xt(e)?e:r);return e===Kt(r)&&s&&(o?N(n,i)&&nt(e,`set`,t,n,i):nt(e,`add`,t,n)),s}deleteProperty(e,t){let n=d(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&nt(e,`delete`,t,void 0,r),i}has(e,t){let n=Reflect.has(e,t);return v(t)&>.has(t)||tt(e,`has`,t),n}ownKeys(e){return tt(e,`iterate`,f(e)?`length`:Qe),Reflect.ownKeys(e)}},bt=class extends vt{constructor(e=!1){super(!0,e)}set(e,t){return!0}deleteProperty(e,t){return!0}},xt=new yt,St=new bt,Ct=new yt(!0),wt=e=>e,Tt=e=>Reflect.getPrototypeOf(e);function Et(e,t,n){return function(...r){let i=this.__v_raw,a=Kt(i),o=p(a),s=e===`entries`||e===Symbol.iterator&&o,l=e===`keys`&&o,u=i[e](...r),d=n?wt:t?Yt:Jt;return!t&&tt(a,`iterate`,l?$e:Qe),c(Object.create(u),{next(){let{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:s?[d(e[0]),d(e[1])]:d(e),done:t}}})}}function Dt(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function Ot(e,t){let n={get(n){let r=this.__v_raw,i=Kt(r),a=Kt(n);e||(N(n,a)&&tt(i,`get`,n),tt(i,`get`,a));let{has:o}=Tt(i),s=t?wt:e?Yt:Jt;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&tt(Kt(t),`iterate`,Qe),t.size},has(t){let n=this.__v_raw,r=Kt(n),i=Kt(t);return e||(N(t,i)&&tt(r,`has`,t),tt(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=Kt(a),s=t?wt:e?Yt:Jt;return!e&&tt(o,`iterate`,Qe),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return c(n,e?{add:Dt(`add`),set:Dt(`set`),delete:Dt(`delete`),clear:Dt(`clear`)}:{add(e){let n=Kt(this),r=Tt(n),i=Kt(e),a=!t&&!Wt(e)&&!Ut(e)?i:e;return r.has.call(n,a)||N(e,a)&&r.has.call(n,e)||N(i,a)&&r.has.call(n,i)||(n.add(a),nt(n,`add`,a,a)),this},set(e,n){t||Wt(n)||Ut(n)||(n=Kt(n));let r=Kt(this),{has:i,get:a}=Tt(r),o=i.call(r,e);o||=(e=Kt(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?N(n,s)&&nt(r,`set`,e,n,s):nt(r,`add`,e,n),this},delete(e){let t=Kt(this),{has:n,get:r}=Tt(t),i=n.call(t,e);i||=(e=Kt(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&nt(t,`delete`,e,void 0,a),o},clear(){let e=Kt(this),t=e.size!==0,n=e.clear();return t&&nt(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Et(r,e,t)}),n}function kt(e,t){let n=Ot(e,t);return(r,i,a)=>i===`__v_isReactive`?!e:i===`__v_isReadonly`?e:i===`__v_isShallow`?t:i===`__v_raw`?r:Reflect.get(d(n,i)&&i in r?n:r,i,a)}var At={get:kt(!1,!1)},jt={get:kt(!1,!0)},Mt={get:kt(!0,!1)},Nt=new WeakMap,Pt=new WeakMap,Ft=new WeakMap,It=new WeakMap;function Lt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function Rt(e){return Ut(e)?e:Vt(e,!1,xt,At,Nt)}function zt(e){return Vt(e,!1,Ct,jt,Pt)}function Bt(e){return Vt(e,!0,St,Mt,Ft)}function Vt(e,t,n,r,i){if(!y(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=Lt(C(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function Ht(e){return Ut(e)?Ht(e.__v_raw):!!(e&&e.__v_isReactive)}function Ut(e){return!!(e&&e.__v_isReadonly)}function Wt(e){return!!(e&&e.__v_isShallow)}function Gt(e){return e?!!e.__v_raw:!1}function Kt(e){let t=e&&e.__v_raw;return t?Kt(t):e}function qt(e){return!d(e,`__v_skip`)&&Object.isExtensible(e)&&ne(e,`__v_skip`,!0),e}var Jt=e=>y(e)?Rt(e):e,Yt=e=>y(e)?Bt(e):e;function Xt(e){return e?e.__v_isRef===!0:!1}function I(e){return Qt(e,!1)}function Zt(e){return Qt(e,!0)}function Qt(e,t){return Xt(e)?e:new $t(e,t)}var $t=class{constructor(e,t){this.dep=new Ye,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:Kt(e),this._value=t?e:Jt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||Wt(e)||Ut(e);e=n?e:Kt(e),N(e,t)&&(this._rawValue=e,this._value=n?e:Jt(e),this.dep.trigger())}};function L(e){return Xt(e)?e.value:e}function en(e){return g(e)?e():L(e)}var tn={get:(e,t,n)=>t===`__v_raw`?e:L(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return Xt(i)&&!Xt(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function nn(e){return Ht(e)?e:new Proxy(e,tn)}var rn=class{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new Ye,{get:n,set:r}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}};function an(e){return new rn(e)}var on=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=v(t)?t:String(t),this._raw=Kt(e);let r=!0,i=e;if(!f(e)||v(this._key)||!T(this._key))do r=!Gt(i)||Wt(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=L(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&Xt(this._raw[this._key])){let t=this._object[this._key];if(Xt(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return rt(this._raw,this._key)}},sn=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function cn(e,t,n){return Xt(e)?e:g(e)?new sn(e):y(e)&&arguments.length>1?ln(e,t,n):I(e)}function ln(e,t,n){return new on(e,t,n)}var un=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Ye(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=qe-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&De!==this)return Ne(this,!0),!0}get value(){let e=this.dep.track();return ze(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function dn(e,t,n=!1){let r,i;return g(e)?r=e:(r=e.get,i=e.set),new un(r,i,n)}var fn={},pn=new WeakMap,mn=void 0;function hn(e,t=!1,n=mn){if(n){let t=pn.get(n);t||pn.set(n,t=[]),t.push(e)}}function gn(e,t,r=n){let{immediate:a,deep:o,once:s,scheduler:c,augmentJob:u,call:d}=r,p=e=>o?e:Wt(e)||o===!1||o===0?_n(e,1):_n(e),m,h,_,v,y=!1,b=!1;if(Xt(e)?(h=()=>e.value,y=Wt(e)):Ht(e)?(h=()=>p(e),y=!0):f(e)?(b=!0,y=e.some(e=>Ht(e)||Wt(e)),h=()=>e.map(e=>{if(Xt(e))return e.value;if(Ht(e))return p(e);if(g(e))return d?d(e,2):e()})):h=g(e)?t?d?()=>d(e,2):e:()=>{if(_){We();try{_()}finally{Ge()}}let t=mn;mn=m;try{return d?d(e,3,[v]):e(v)}finally{mn=t}}:i,t&&o){let e=h,t=o===!0?1/0:o;h=()=>_n(e(),t)}let x=Ee(),S=()=>{m.stop(),x&&x.active&&l(x.effects,m)};if(s&&t){let e=t;t=(...t)=>{try{return e(...t)}finally{S()}}}let C=b?Array(e.length).fill(fn):fn,w=e=>{if(m.flags&1&&(m.dirty||e)){if(t){let n=m.run();if(e||o||y||(b?n.some((e,t)=>N(e,C[t])):N(n,C))){let e=mn;We();try{_&&_(),mn=m;let e=[n,C===fn?void 0:b&&C[0]===fn?[]:C,v];C=n,d?d(t,3,e):t(...e)}finally{mn=e,Ge()}}}else m.run()}};return u&&u(w),m=new ke(h),m.scheduler=c?()=>c(w,!1):w,v=e=>hn(e,!1,m),_=m.onStop=()=>{let e=pn.get(m);if(e){if(d)d(e,4);else for(let t of e)t();pn.delete(m)}},t?a?w(!0):C=m.run():c?c(w.bind(null,!0),!0):m.run(),S.pause=m.pause.bind(m),S.resume=m.resume.bind(m),S.stop=S,S}function _n(e,t=1/0,n){if(t<=0||!y(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Xt(e))_n(e.value,t,n);else if(f(e))for(let r=0;r<e.length;r++)_n(e[r],t,n);else if(m(e)||p(e))e.forEach(e=>{_n(e,t,n)});else if(w(e)){for(let r in e)_n(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&_n(e[r],t,n)}return e}function vn(e,t,n,r){try{return r?e(...r):e()}catch(e){bn(e,t,n)}}function yn(e,t,n,r){if(g(e)){let i=vn(e,t,n,r);return i&&b(i)&&i.catch(e=>{bn(e,t,n)}),i}if(f(e)){let i=[];for(let a=0;a<e.length;a++)i.push(yn(e[a],t,n,r));return i}}function bn(e,t,r,i=!0){let a=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:s}=t&&t.appContext.config||n;if(t){let n=t.parent,i=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${r}`;for(;n;){let t=n.ec;if(t){for(let n=0;n<t.length;n++)if(t[n](e,i,a)===!1)return}n=n.parent}if(o){We(),vn(o,null,10,[e,i,a]),Ge();return}}xn(e,r,a,i,s)}function xn(e,t,n,r=!0,i=!1){if(i)throw e;console.error(e)}var Sn=[],Cn=-1,wn=[],Tn=null,En=0,Dn=Promise.resolve(),On=null;function kn(e){let t=On||Dn;return e?t.then(this?e.bind(this):e):t}function An(e){let t=Cn+1,n=Sn.length;for(;t<n;){let r=t+n>>>1,i=Sn[r],a=Rn(i);a<e||a===e&&i.flags&2?t=r+1:n=r}return t}function jn(e){if(!(e.flags&1)){let t=Rn(e),n=Sn[Sn.length-1];!n||!(e.flags&2)&&t>=Rn(n)?Sn.push(e):Sn.splice(An(t),0,e),e.flags|=1,Mn()}}function Mn(){On||=Dn.then(zn)}function Nn(e){if(!f(e))Tn&&e.id===-1?Tn.splice(En+1,0,e):e.flags&1||(wn.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)wn.push(e[t]);Mn()}function Pn(e,t,n,r=Cn+1){for(;r<Sn.length;r++){let n=Sn[r];if(n&&n.flags&2){if(e&&n.id!==e.uid||t!==void 0&&!(n.id>=t))continue;Sn.splice(r,1),r=e?r-1:Cn,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function Fn(e,t,n=0){if(wn.length){let e=wn,r=0;if(t){e=[];for(let i=0;i<wn.length;i++){let a=wn[i];(a.i===void 0?t.has(a):!a.i||a.i.uid<n)?wn[r++]=a:e.push(a)}}let i=[...new Set(e)].sort((e,t)=>Rn(e)-Rn(t));if(wn.length=r,Tn){for(let e=0;e<i.length;e++)Tn.push(i[e]);return}for(Tn=i,En=0;En<Tn.length;En++){let e=Tn[En];e.flags&4&&(e.flags&=-2),e.flags&8||e(),e.flags&=-2}Tn=null,En=0}}var In=!1;function Ln(e,t){if(In){e();return}let n=t===void 0?void 0:new Set(wn);e(),In=!0;try{Pn(void 0,t),Fn(void 0,n,t)}finally{In=!1}}var Rn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function zn(e){try{for(Cn=0;Cn<Sn.length;Cn++){let e=Sn[Cn];e&&!(e.flags&8)&&(e.flags&4&&(e.flags&=-2),vn(e,e.i,e.i?15:14),e.flags&4||(e.flags&=-2))}}finally{for(;Cn<Sn.length;Cn++){let e=Sn[Cn];e&&(e.flags&=-2)}Cn=-1,Sn.length=0,Fn(e),On=null,(Sn.length||wn.length)&&zn(e)}}var Bn=null,Vn=null;function Hn(e){let t=Bn;return Bn=e,Vn=e&&e.type.__scopeId||null,t}function R(e,t=Bn,n){if(!t||e._n)return e;let r=(...n)=>{r._d&&Ia(-1);let i=Hn(t),a=Ma.length,o;try{o=e(...n)}finally{for(let e=Ma.length;e>a;e--)Pa();Hn(i),r._d&&Ia(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function Un(e,t){if(Bn===null)return e;let r=_o(Bn),i=e.dirs||=[];for(let e=0;e<t.length;e++){let[a,o,s,c=n]=t[e];a&&(g(a)&&(a={mounted:a,updated:a}),a.deep&&_n(o),i.push({dir:a,instance:r,value:o,oldValue:void 0,arg:s,modifiers:c}))}return e}function Wn(e,t,n,r){let i=e.dirs,a=t&&t.dirs;for(let o=0;o<i.length;o++){let s=i[o];a&&(s.oldValue=a[o].value);let c=s.dir[r];c&&(We(),yn(c,n,8,[e.el,s,e,t]),Ge())}}function Gn(e,t){if(eo){let n=eo.provides,r=eo.parent&&eo.parent.provides;r===n&&(n=eo.provides=Object.create(r)),n[e]=t}}function Kn(e,t,n=!1){let r=to();if(r||Li){let i=Li?Li._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&g(t)?t.call(r&&r.proxy):t}}var qn=Symbol.for(`v-scx`),Jn=()=>Kn(qn);function Yn(e,t){return Qn(e,null,t)}function Xn(e,t){return Qn(e,null,{flush:`sync`})}function Zn(e,t,n){return Qn(e,t,n)}function Qn(e,t,r=n){let{immediate:a,deep:o,flush:s,once:l}=r,u=c({},r),d=t&&a||!t&&s!==`post`,f;if(so){if(s===`sync`){let e=Jn();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=i,e.resume=i,e.pause=i,e}}let p=eo;u.call=(e,t,n)=>yn(e,p,t,n);let m=!1;s===`post`?u.scheduler=e=>{e.i=p,ga(e,p&&p.suspense)}:s!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():jn(e)}),u.augmentJob=e=>{t&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=gn(e,t,u);return so&&(f?f.push(h):d&&h()),h}function $n(e,t,n){let r=this.proxy,i=_(e)?e.includes(`.`)?er(r,e):()=>r[e]:e.bind(r,r),a;g(t)?a=t:(a=t.handler,n=t);let o=io(this),s=Qn(i,a.bind(r),n);return o(),s}function er(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;e<n.length&&t;e++)t=t[n[e]];return t}}var tr=new WeakMap,nr=Symbol(`_vte`),rr=e=>e.__isTeleport,ir=e=>e&&(e.disabled||e.disabled===``),ar=e=>e&&(e.defer||e.defer===``),or=e=>typeof SVGElement<`u`&&e instanceof SVGElement,sr=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,cr=(e,t)=>{let n=e&&e.to;return _(n)?t?t(n):null:n},lr={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g,parentNode:_}}=l,v=ir(t.props),{dynamicChildren:y}=t,b=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},x=(e=t)=>{let n=ir(e.props),r=e.target=cr(e.props,m),a=mr(r,e,h,p);r&&(o!==`svg`&&or(r)?o=`svg`:o!==`mathml`&&sr(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),pr(e,!1)))},S=e=>{let t=()=>{if(tr.get(e)===t){if(tr.delete(e),ir(e.props)){let t=_(e.el)||n;b(e,t,e.anchor),pr(e,!0)}x(e)}};tr.set(e,t),ga(t,a)};if(e==null){let e=t.el=h(``),i=t.anchor=h(``);if(p(e,n,r),p(i,n,r),ar(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),pr(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=tr.get(e);if(u){u.flags|=8,tr.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=ir(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||or(p)?o=`svg`:(o===`mathml`||sr(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),Sa(e,t,!0)):c||d(e,t,_,b,i,a,o,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):ur(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=cr(t.props,m);e&&(t.target=e,ur(t,e,null,l,0))}else g&&ur(t,p,h,l,1);pr(t,v)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e,p=ir(f),m=a||!p,h=tr.get(e);if(h&&(h.flags|=8,tr.delete(e)),d&&(i(l),i(u)),a&&i(c),!h&&(p||d)&&o&16)for(let e=0;e<s.length;e++){let i=s[e];r(i,t,n,m,!!i.dynamicChildren)}},move:ur,hydrate:dr};function ur(e,t,n,{o:{insert:r},m:i},a=2){a===0&&(e.targetStart&&r(e.targetStart,t,n),r(e.targetAnchor,t,n),n=e.targetAnchor);let{el:o,anchor:s,shapeFlag:c,children:l,props:u}=e,d=a===2;if(d&&r(o,t,n),!tr.has(e)&&(!d||ir(u))&&c&16)for(let e=0;e<l.length;e++)i(l[e],t,n,2);d&&r(s,t,n)}function dr(e,t,n,r,i,a,{o:{nextSibling:o,parentNode:s,querySelector:c,insert:l,createText:u}},d){function f(e,n){let r=n;for(;r;){if(r&&r.nodeType===8){if(r.data===`teleport start anchor`)t.targetStart=r;else if(r.data===`teleport anchor`){t.targetAnchor=r,e._lpa=t.targetAnchor&&o(t.targetAnchor);break}}r=o(r)}}function p(e,t){t.anchor=d(o(e),t,s(e),n,r,i,a)}let m=t.target=cr(t.props,c),h=ir(t.props);if(m){let c=m._lpa||m.firstChild;t.shapeFlag&16&&(h?(p(e,t),f(m,c),t.targetAnchor||mr(m,t,u,l,s(e)===m?e:null)):(t.anchor=o(e),f(m,c),t.targetAnchor||mr(m,t,u,l),d(c&&o(c),t,m,n,r,i,a))),pr(t,h)}else h&&t.shapeFlag&16&&(p(e,t),t.targetStart=e,t.targetAnchor=o(e));return t.anchor&&o(t.anchor)}var fr=lr;function pr(e,t){let n=e.ctx;if(n&&n.ut){let r,i;for(t?(r=e.el,i=e.anchor):(r=e.targetStart,i=e.targetAnchor);r&&r!==i;)r.nodeType===1&&r.setAttribute(`data-v-owner`,n.uid),r=r.nextSibling;n.ut()}}function mr(e,t,n,r,i=null){let a=t.targetStart=n(``),o=t.targetAnchor=n(``);return a[nr]=o,e&&(r(a,e,i),r(o,e,i)),o}var hr=Symbol(`_leaveCb`),gr=Symbol(`_enterCb`);function _r(){let e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Kr(()=>{e.isMounted=!0}),Yr(()=>{e.isUnmounting=!0}),e}var vr=[Function,Array],yr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:vr,onEnter:vr,onAfterEnter:vr,onEnterCancelled:vr,onBeforeLeave:vr,onLeave:vr,onAfterLeave:vr,onLeaveCancelled:vr,onBeforeAppear:vr,onAppear:vr,onAfterAppear:vr,onAppearCancelled:vr},br={name:`BaseTransition`,props:yr,setup(e,{slots:t}){let n=to(),r=_r();return()=>{let i=t.default&&Or(t.default(),!0),a=i&&i.length?xr(i):n.subTree?K():void 0;if(!a)return;let o=Kt(e),{mode:s}=o;if(r.isLeaving)return Tr(a);let c=Er(a);if(!c)return Tr(a);let l=wr(c,o,r,n,e=>l=e);c.type!==Aa&&Dr(c,l);let u=n.subTree&&Er(n.subTree);if(u&&u.type!==Aa&&!za(u,c)&&kr(n.subTree)){let e=wr(u,o,r,n);if(Dr(u,e),s===`out-in`&&c.type!==Aa)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},Tr(a);s===`in-out`&&c.type!==Aa?e.delayLeave=(e,t,n)=>{let i=Cr(r,u);i[String(u.key)]=u,e[hr]=()=>{t(),e[hr]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function xr(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==Aa){t=n;break}}return t}var Sr=br;function Cr(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function wr(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:p,onLeave:m,onAfterLeave:h,onLeaveCancelled:g,onBeforeAppear:_,onAppear:v,onAfterAppear:y,onAppearCancelled:b}=t,x=String(e.key),S=Cr(n,e),C=(e,t)=>{e&&yn(e,r,9,t)},w=(e,t)=>{let n=t[1];C(e,t),f(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},T={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted){if(a)r=_||c;else return}t[hr]&&t[hr](!0);let i=S[x];if(i&&za(e,i)){let e=i.el[hr];if(!e){let t=kr(i);e=t&&t.el[hr]}e&&e()}C(r,[t])},enter(t){if(S[x]===e)return;let r=l,i=u,o=d;if(!n.isMounted){if(a)r=v||l,i=y||u,o=b||d;else return}let s=!1;t[gr]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[gr]=void 0)};let c=t[gr].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[gr]&&t[gr](!0),n.isUnmounting)return r();C(p,[t]);let a=!1;t[hr]=n=>{a||(a=!0,r(),C(n?g:h,[t]),t[hr]=void 0,S[i]===e&&delete S[i])};let o=t[hr].bind(null,!1);S[i]=e,m?w(m,[t,o]):o()},clone(e){let a=wr(e,t,n,r,i);return i&&i(a),a}};return T}function Tr(e){if(Rr(e))return e=Wa(e),e.children=null,e}function Er(e){if(!Rr(e))return rr(e.type)&&e.children?xr(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&g(n.default))return n.default()}}function Dr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;let n=e.component.subTree;Dr(rr(n.type)&&Er(n)||n,t)}else if(e.shapeFlag&128)e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback);else if(e.transition=t,e.type===z&&f(e.children)){let n=Gi(e.children,!1);n&&Dr(n,t)}}function Or(e,t=!1,n){let r=[],i=0;for(let a=0;a<e.length;a++){let o=e[a],s=n==null?o.key:String(n)+String(o.key==null?a:o.key);o.type===z?(o.patchFlag&128&&i++,r=r.concat(Or(o.children,t,s))):(t||o.type!==Aa)&&r.push(s==null?o:Wa(o,{key:s}))}if(i>1)for(let e=0;e<r.length;e++)r[e].patchFlag=-2;return r}function kr(e){if(e.component)return kr(e.component.subTree);if(e.type===z){let t=f(e.children)&&Gi(e.children,!1);return t?kr(t):void 0}if(e.type!==Aa)return e}function Ar(e,t){return g(e)?c({name:e.name},t,{setup:e}):e}function jr(){let e=to();return e?(e.appContext.config.idPrefix||`v`)+`-`+e.ids[0]+e.ids[1]++:``}function Mr(e){e.ids=[e.ids[0]+e.ids[2]+++`-`,0,0]}function Nr(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}var Pr=new WeakMap;function Fr(e,t,r,i,o=!1){if(f(e)){e.forEach((e,n)=>Fr(e,t&&(f(t)?t[n]:t),r,i,o));return}if(Lr(i)&&!o){i.shapeFlag&512&&i.type.__asyncResolved&&i.component.subTree.component&&Fr(e,t,r,i.component.subTree);return}let s=i.shapeFlag&4?_o(i.component):i.el,c=o?null:s,{i:u,r:p}=e,m=t&&t.r,h=u.refs===n?u.refs={}:u.refs,v=u.setupState,y=Kt(v),b=v===n?a:e=>!Nr(h,e)&&d(y,e),x=(e,t)=>!(t&&Nr(h,t));if(m!=null&&m!==p){if(Ir(t),_(m))h[m]=null,b(m)&&(v[m]=null);else if(Xt(m)){let e=t;x(m,e.k)&&(m.value=null),e.k&&(h[e.k]=null)}}if(g(p))vn(p,u,12,[c,h]);else{let t=_(p),n=Xt(p);if(t||n){let i=()=>{if(e.f){let n=t?b(p)?v[p]:h[p]:x(p)||!e.k?p.value:h[e.k];if(o)f(n)&&l(n,s);else if(f(n))n.includes(s)||n.push(s);else if(t)h[p]=[s],b(p)&&(v[p]=h[p]);else{let t=[s];x(p,e.k)&&(p.value=t),e.k&&(h[e.k]=t)}}else t?(h[p]=c,b(p)&&(v[p]=c)):n&&(x(p,e.k)&&(p.value=c),e.k&&(h[e.k]=c))};if(c){let t=()=>{i(),Pr.delete(e)};t.id=-1,Pr.set(e,t),ga(t,r)}else Ir(e),i()}}}function Ir(e){let t=Pr.get(e);t&&(t.flags|=8,Pr.delete(e))}oe().requestIdleCallback,oe().cancelIdleCallback;var Lr=e=>!!e.type.__asyncLoader,Rr=e=>e.type.__isKeepAlive;function zr(e,t){Vr(e,`a`,t)}function Br(e,t){Vr(e,`da`,t)}function Vr(e,t,n=eo){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Ur(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Rr(e.parent.vnode)&&Hr(r,t,n,e),e=e.parent}}function Hr(e,t,n,r){let i=Ur(t,e,r,!0);Xr(()=>{l(r[t],i)},n)}function Ur(e,t,n=eo,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{We();let i=io(n),a=yn(t,n,e,r);return i(),Ge(),a};return r?i.unshift(a):i.push(a),a}}var Wr=e=>(t,n=eo)=>{so&&e!==`sp`||Ur(e,(...e)=>t(...e),n)},Gr=Wr(`bm`),Kr=Wr(`m`),qr=Wr(`bu`),Jr=Wr(`u`),Yr=Wr(`bum`),Xr=Wr(`um`),Zr=Wr(`sp`),Qr=Wr(`rtg`),$r=Wr(`rtc`);function ei(e,t=eo){Ur(`ec`,e,t)}var ti=`components`,ni=Symbol.for(`v-ndc`);function ri(e){return _(e)?ii(ti,e,!1)||e:e||ni}function ii(e,t,n=!0,r=!1){let i=Bn||eo;if(i){let n=i.type;if(e===ti){let e=vo(n,!1);if(e&&(e===t||e===O(t)||e===j(O(t))))return n}let a=ai(i[e]||n[e],t)||ai(i.appContext[e],t);return!a&&r?n:a}}function ai(e,t){return e&&(e[t]||e[O(t)]||e[j(O(t))])}function oi(e,t,n,r){let i,a=n&&n[r],o=f(e);if(o||_(e)){let n=o&&Ht(e),r=!1,s=!1;n&&(r=!Wt(e),s=Ut(e),e=at(e)),i=Array(e.length);for(let n=0,o=e.length;n<o;n++)i[n]=t(r?s?Yt(Jt(e[n])):Jt(e[n]):e[n],n,void 0,a&&a[n])}else if(typeof e==`number`){if(!Number.isInteger(e)||e<0)i=[];else{i=Array(e);for(let n=0;n<e;n++)i[n]=t(n+1,n,void 0,a&&a[n])}}else if(y(e)){if(e[Symbol.iterator])i=Array.from(e,(e,n)=>t(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r<o;r++){let o=n[r];i[r]=t(e[o],o,r,a&&a[r])}}}else i=[];return n&&(n[r]=i),i}function si(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(f(r))for(let t=0;t<r.length;t++)e[r[t].name]=r[t].fn;else r&&(e[r.name]=r.key?(...e)=>{let t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function ci(e,t,n,r,i,a){if(n??={},Bn.ce||Bn.parent&&Lr(Bn.parent)&&Bn.parent.ce){let e=a!=null&&n.key==null?c({},n,{key:a}):n,i=Object.keys(e).length>0;return t!=="default"&&(e.name=t),B(),H(z,null,[W(`slot`,e,r&&r())],i?-2:64)}let o=e[t];o&&o._c&&(o._d=!1);let s=Ma.length;B();let l;try{let i=o&&li(o(n)),s=n.key||a||i&&i.key;l=H(z,{key:(s&&!v(s)?s:`_${t}`)+(!i&&r?`_fb`:``)},i||(r?r():[]),i&&e._===1?64:-2)}catch(e){for(let e=Ma.length;e>s;e--)Pa();throw e}finally{o&&o._c&&(o._d=!0)}return!i&&l.scopeId&&(l.slotScopeIds=[l.scopeId+`-s`]),l}function li(e){return e.some(e=>!Ra(e)||!(e.type===Aa||e.type===z&&!li(e.children)))?e:null}var ui=e=>e?oo(e)?_o(e):ui(e.parent):null,di=c(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ui(e.parent),$root:e=>ui(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>wi(e),$forceUpdate:e=>e.f||=()=>{jn(e.update)},$nextTick:e=>e.n||=kn.bind(e.proxy),$watch:e=>$n.bind(e)}),fi=(e,t)=>e!==n&&!e.__isScriptSetup&&d(e,t),pi={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:r,setupState:i,data:a,props:o,accessCache:s,type:c,appContext:l}=e;if(t[0]!==`$`){let e=s[t];if(e!==void 0)switch(e){case 1:return i[t];case 2:return a[t];case 4:return r[t];case 3:return o[t]}else if(fi(i,t))return s[t]=1,i[t];else if(a!==n&&d(a,t))return s[t]=2,a[t];else if(d(o,t))return s[t]=3,o[t];else if(r!==n&&d(r,t))return s[t]=4,r[t];else yi&&(s[t]=0)}let u=di[t],f,p;if(u)return t===`$attrs`&&tt(e.attrs,`get`,``),u(e);if((f=c.__cssModules)&&(f=f[t]))return f;if(r!==n&&d(r,t))return s[t]=4,r[t];if(p=l.config.globalProperties,d(p,t))return p[t]},set({_:e},t,r){let{data:i,setupState:a,ctx:o}=e;return fi(a,t)?(a[t]=r,!0):i!==n&&d(i,t)?(i[t]=r,!0):d(e.props,t)||t[0]===`$`&&t.slice(1)in e?!1:(o[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:i,appContext:a,props:o,type:s}},c){let l;return!!(r[c]||e!==n&&c[0]!==`$`&&d(e,c)||fi(t,c)||d(o,c)||d(i,c)||d(di,c)||d(a.config.globalProperties,c)||(l=s.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get==null?d(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function mi(){return gi(`useSlots`).slots}function hi(){return gi(`useAttrs`).attrs}function gi(e){let t=to();return t.setupContext||=go(t)}function _i(e){return f(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function vi(e,t){return!e||!t?e||t:f(e)&&f(t)?e.concat(t):c({},_i(e),_i(t))}var yi=!0;function bi(e){let t=wi(e),n=e.proxy,r=e.ctx;yi=!1,t.beforeCreate&&Si(t.beforeCreate,e,`bc`);let{data:a,computed:o,methods:s,watch:c,provide:l,inject:u,created:d,beforeMount:p,mounted:m,beforeUpdate:h,updated:_,activated:v,deactivated:b,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:T,renderTracked:ee,renderTriggered:E,errorCaptured:D,serverPrefetch:O,expose:k,inheritAttrs:A,components:j,directives:M,filters:N}=t;if(u&&xi(u,r,null),s)for(let e in s){let t=s[e];g(t)&&(r[e]=t.bind(n))}if(a){let t=a.call(n,n);y(t)&&(e.data=Rt(t))}if(yi=!0,o)for(let e in o){let t=o[e],a=q({get:g(t)?t.bind(n,n):g(t.get)?t.get.bind(n,n):i,set:!g(t)&&g(t.set)?t.set.bind(n):i});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(c)for(let e in c)Ci(c[e],r,n,e);if(l){let e=g(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{Gn(t,e[t])})}d&&Si(d,e,`c`);function te(e,t){f(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(te(Gr,p),te(Kr,m),te(qr,h),te(Jr,_),te(zr,v),te(Br,b),te(ei,D),te($r,ee),te(Qr,E),te(Yr,S),te(Xr,w),te(Zr,O),f(k)){if(k.length){let t=e.exposed||={};k.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={}}T&&e.render===i&&(e.render=T),A!=null&&(e.inheritAttrs=A),j&&(e.components=j),M&&(e.directives=M),O&&Mr(e)}function xi(e,t,n=i){f(e)&&(e=ki(e));for(let n in e){let r=e[n],i;i=y(r)?`default`in r?Kn(r.from||n,r.default,!0):Kn(r.from||n):Kn(r),Xt(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function Si(e,t,n){yn(f(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ci(e,t,n,r){let i=r.includes(`.`)?er(n,r):()=>n[r];if(_(e)){let n=t[e];g(n)&&Zn(i,n)}else if(g(e))Zn(i,e.bind(n));else if(y(e)){if(f(e))e.forEach(e=>Ci(e,t,n,r));else{let r=g(e.handler)?e.handler.bind(n):t[e.handler];g(r)&&Zn(i,r,e)}}}function wi(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Ti(c,e,o,!0)),Ti(c,t,o)),y(t)&&a.set(t,c),c}function Ti(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Ti(e,a,n,!0),i&&i.forEach(t=>Ti(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=Ei[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var Ei={data:Di,props:Mi,emits:Mi,methods:ji,computed:ji,beforeCreate:Ai,created:Ai,beforeMount:Ai,mounted:Ai,beforeUpdate:Ai,updated:Ai,beforeDestroy:Ai,beforeUnmount:Ai,destroyed:Ai,unmounted:Ai,activated:Ai,deactivated:Ai,errorCaptured:Ai,serverPrefetch:Ai,components:ji,directives:ji,watch:Ni,provide:Di,inject:Oi};function Di(e,t){return t?e?function(){return c(g(e)?e.call(this,this):e,g(t)?t.call(this,this):t)}:t:e}function Oi(e,t){return ji(ki(e),ki(t))}function ki(e){if(f(e)){let t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Ai(e,t){return e?[...new Set([].concat(e,t))]:t}function ji(e,t){return e?c(Object.create(null),e,t):t}function Mi(e,t){return e?f(e)&&f(t)?[...new Set([...e,...t])]:c(Object.create(null),_i(e),_i(t??{})):t}function Ni(e,t){if(!e)return t;if(!t)return e;let n=c(Object.create(null),e);for(let r in t)n[r]=Ai(e[r],t[r]);return n}function Pi(){return{app:null,config:{isNativeTag:a,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}var Fi=0;function Ii(e,t){return function(n,r=null){g(n)||(n=c({},n)),r!=null&&!y(r)&&(r=null);let i=Pi(),a=new WeakSet,o=[],s=!1,l=i.app={_uid:Fi++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:xo,get config(){return i.config},set config(e){},use(e,...t){return a.has(e)||(e&&g(e.install)?(a.add(e),e.install(l,...t)):g(e)&&(a.add(e),e(l,...t))),l},mixin(e){return i.mixins.includes(e)||i.mixins.push(e),l},component(e,t){return t?(i.components[e]=t,l):i.components[e]},directive(e,t){return t?(i.directives[e]=t,l):i.directives[e]},mount(a,o,c){if(!s){let u=l._ceVNode||W(n,r);return u.appContext=i,c===!0?c=`svg`:c===!1&&(c=void 0),o&&t?t(u,a):e(u,a,c),s=!0,l._container=a,a.__vue_app__=l,_o(u.component)}},onUnmount(e){o.push(e)},unmount(){s&&(yn(o,l._instance,16),e(null,l._container),delete l._container.__vue_app__)},provide(e,t){return i.provides[e]=t,l},runWithContext(e){let t=Li;Li=l;try{return e()}finally{Li=t}}};return l}}var Li=null;function Ri(e,t,r=n){let i=to(),a=O(t),o=A(t),s=zi(e,a),c=an((s,c)=>{let l,u=n,d;return Xn(()=>{let t=e[a];N(l,t)&&(l=t,c())}),{get(){return s(),r.get?r.get(l):l},set(e){let s=r.set?r.set(e):e;if(!N(s,l)&&!(u!==n&&N(e,u)))return;let f=i.vnode.props,p=!!(f&&(t in f||a in f||o in f)&&(`onUpdate:${t}`in f||`onUpdate:${a}`in f||`onUpdate:${o}`in f));p||(l=e,c()),i.emit(`update:${t}`,s),N(e,u)&&(N(e,s)&&!N(s,d)||p&&u!==n&&!N(s,l))&&c(),u=e,d=s}}});return c[Symbol.iterator]=()=>{let e=0;return{next(){return e<2?{value:e++?s||n:c,done:!1}:{done:!0}}}},c}var zi=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${O(t)}Modifiers`]||e[`${A(t)}Modifiers`];function Bi(e,t,...r){if(e.isUnmounted)return;let i=e.vnode.props||n,a=r,o=t.startsWith(`update:`),s=o&&zi(i,t.slice(7));s&&(s.trim&&(a=r.map(e=>_(e)?e.trim():e)),s.number&&(a=a.map(re)));let c,l=i[c=M(t)]||i[c=M(O(t))];!l&&o&&(l=i[c=M(A(t))]),l&&yn(l,e,6,a);let u=i[c+`Once`];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,yn(u,e,6,a)}}var Vi=new WeakMap;function Hi(e,t,n=!1){let r=n?Vi:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!g(e)){let r=e=>{let n=Hi(e,t,!0);n&&(s=!0,c(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(y(e)&&r.set(e,null),null):(f(a)?a.forEach(e=>o[e]=null):c(o,a),y(e)&&r.set(e,o),o)}function Ui(e,t){return!e||!o(t)?!1:(t=t.slice(2),t=t===`Once`?t:t.replace(/Once$/,``),d(e,t[0].toLowerCase()+t.slice(1))||d(e,A(t))||d(e,t))}function Wi(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:c,emit:l,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:h,inheritAttrs:g}=e,_=Hn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=Ga(u.call(t,e,d,f,m,p,h)),y=c}else{let e=t;v=Ga(e.length>1?e(f,{attrs:c,slots:o,emit:l}):e(f,null)),y=t.props?c:Ki(c)}}catch(t){Ma.length=0,bn(t,e,1),v=W(Aa)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(s)&&(y=qi(y,a)),b=Wa(b,y,!1,!0))}return n.dirs&&(b=Wa(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&Dr(rr(b.type)&&Er(b)||b,n.transition),v=b,Hn(_),v}function Gi(e,t=!0){let n;for(let t=0;t<e.length;t++){let r=e[t];if(Ra(r)){if(r.type!==Aa||r.children===`v-if`){if(n)return;n=r}}else return}return n}var Ki=e=>{let t;for(let n in e)(n===`class`||n===`style`||o(n))&&((t||={})[n]=e[n]);return t},qi=(e,t)=>{let n={};for(let r in e)s(r)&&r.slice(9)in t||(n[r]=e[r]);return n};function Ji(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Yi(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t];if(Xi(o,r,n)&&!Ui(l,n))return!0}}}else return(i||s)&&(!s||!s.$stable)?!0:r===o?!1:r?!o||Yi(r,o,l):!!o;return!1}function Yi(e,t,n){let r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let i=0;i<r.length;i++){let a=r[i];if(!d(e,a)||Xi(t,e,a)&&!Ui(n,a))return!0}return!1}function Xi(e,t,n){let r=e[n],i=t[n];return n===`style`&&y(r)&&y(i)?!ye(r,i):r!==i}function Zi({vnode:e,parent:t,suspense:n},r){for(;t;){let n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.suspense.vnode.el=n.el=r,e=n),n===e)(e=t.vnode).el=r,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=r)}var Qi={},$i=()=>Object.create(Qi),ea=e=>Object.getPrototypeOf(e)===Qi;function ta(e,t,n,r=!1){let i={},a=$i();e.propsDefaults=Object.create(null),ra(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);e.props=n?r?i:zt(i):e.type.props?i:a,e.attrs=a}function na(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=Kt(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r<n.length;r++){let o=n[r];if(Ui(e.emitsOptions,o))continue;let u=t[o];if(c){if(d(a,o))u!==a[o]&&(a[o]=u,l=!0);else{let t=O(o);i[t]=ia(c,s,t,u,e,!1)}}else u!==a[o]&&(a[o]=u,l=!0)}}}else{ra(e,t,i,a)&&(l=!0);let r;for(let a in s)t&&(d(t,a)||(r=A(a))!==a&&d(t,r))||(c?n&&(n[a]!==void 0||n[r]!==void 0)&&(i[a]=ia(c,s,a,void 0,e,!0)):delete i[a]);if(a!==s)for(let e in a)t&&d(t,e)||(delete a[e],l=!0)}l&&nt(e.attrs,`set`,``)}function ra(e,t,r,i){let[a,o]=e.propsOptions,s=!1,c;if(t)for(let n in t){if(ee(n))continue;let l=t[n],u;a&&d(a,u=O(n))?!o||!o.includes(u)?r[u]=l:(c||={})[u]=l:Ui(e.emitsOptions,n)||n in i&&l===i[n]||(i[n]=l,s=!0)}if(o){let t=Kt(r),i=c||n;for(let n=0;n<o.length;n++){let s=o[n];r[s]=ia(a,t,s,i[s],e,!d(i,s))}}return s}function ia(e,t,n,r,i,a){let o=e[n];if(o!=null){let e=d(o,`default`);if(e&&r===void 0){let e=o.default;if(o.type!==Function&&!o.skipFactory&&g(e)){let{propsDefaults:a}=i;if(n in a)r=a[n];else{let o=io(i);r=a[n]=e.call(null,t),o()}}else r=e;i.ce&&i.ce._setProp(n,r)}o[0]&&(a&&!e?r=!1:o[1]&&(r===``||r===A(n))&&(r=!0))}return r}var aa=new WeakMap;function oa(e,t,i=!1){let a=i?aa:t.propsCache,o=a.get(e);if(o)return o;let s=e.props,l={},u=[],p=!1;if(!g(e)){let n=e=>{p=!0;let[n,r]=oa(e,t,!0);c(l,n),r&&u.push(...r)};!i&&t.mixins.length&&t.mixins.forEach(n),e.extends&&n(e.extends),e.mixins&&e.mixins.forEach(n)}if(!s&&!p)return y(e)&&a.set(e,r),r;if(f(s))for(let e=0;e<s.length;e++){let t=O(s[e]);sa(t)&&(l[t]=n)}else if(s)for(let e in s){let t=O(e);if(sa(t)){let n=s[e],r=l[t]=f(n)||g(n)?{type:n}:c({},n),i=r.type,a=!1,o=!0;if(f(i))for(let e=0;e<i.length;++e){let t=i[e],n=g(t)&&t.name;if(n===`Boolean`){a=!0;break}n===`String`&&(o=!1)}else a=g(i)&&i.name===`Boolean`;r[0]=a,r[1]=o,(a||d(r,`default`))&&u.push(t)}}let m=[l,u];return y(e)&&a.set(e,m),m}function sa(e){return e[0]!==`$`&&!ee(e)}var ca=e=>e===`_`||e===`_ctx`||e===`$stable`,la=e=>f(e)?e.map(Ga):[Ga(e)],ua=(e,t,n)=>{if(t._n)return t;let r=R((...e)=>la(t(...e)),n);return r._c=!1,r},da=(e,t,n)=>{let r=e._ctx;for(let n in e){if(ca(n))continue;let i=e[n];if(g(i))t[n]=ua(n,i,r);else if(i!=null){let e=la(i);t[n]=()=>e}}},fa=(e,t)=>{let n=la(t);e.slots.default=()=>n},pa=(e,t,n)=>{for(let r in t)(n||!ca(r))&&(e[r]=t[r])},ma=(e,t,n)=>{let r=e.slots=$i();if(e.vnode.shapeFlag&32){let e=t._;e?(pa(r,t,n),n&&ne(r,`_`,e,!0)):da(t,r)}else t&&fa(e,t)},ha=(e,t,r)=>{let{vnode:i,slots:a}=e,o=!0,s=n;if(i.shapeFlag&32){let e=t._;e?r&&e===1?o=!1:pa(a,t,r):(o=!t.$stable,da(t,a)),s=t}else t&&(fa(e,t),s={default:1});if(o)for(let e in a)!ca(e)&&s[e]==null&&delete a[e]},ga=Oa;function _a(e){return va(e)}function va(e,t){let a=oe();a.__VUE__=!0;let{insert:o,remove:s,patchProp:c,createElement:l,createText:u,createComment:d,setText:f,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=i,insertStaticContent:_}=e,v=(e,t,n,i=null,a=null,o=null,s=void 0,c=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!za(e,t)&&(i=me(e),ue(e,a,o,!0),e=null),t.patchFlag===-2&&(l=!1,t.dynamicChildren=null),t.dynamicChildren&&e&&e.dynamicChildren&&e.dynamicChildren.hasOnce&&(t.dynamicChildren===r&&(t.dynamicChildren=[]),t.dynamicChildren.hasOnce=!0);let{type:u,ref:d,shapeFlag:f}=t;switch(u){case ka:y(e,t,n,i);break;case Aa:b(e,t,n,i);break;case ja:e??x(t,n,i,s);break;case z:j(e,t,n,i,a,o,s,c,l);break;default:f&1?w(e,t,n,i,a,o,s,c,l):f&6?M(e,t,n,i,a,o,s,c,l):(f&64||f&128)&&u.process(e,t,n,i,a,o,s,c,l,ge)}d!=null&&a?Fr(d,e&&e.ref,o,t||e,!t):d==null&&e&&e.ref!=null&&Fr(e.ref,null,o,e,!0)},y=(e,t,n,r)=>{if(e==null)o(t.el=u(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{e==null?o(t.el=d(t.children||``),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let i;for(;e&&e!==t;)i=h(e),o(e,n,r),e=i;o(t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),s(e),e=n;s(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)T(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),O(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},T=(e,t,n,r,i,a,s,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=l(e.type,a,m&&m.is,m),h&8?p(d,e.children):h&16&&D(e.children,d,null,r,i,ya(e,a),s,u),_&&Wn(e,null,r,`created`),E(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!ee(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&Ya(f,r,e)}_&&Wn(e,null,r,`beforeMount`);let v=xa(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&ga(()=>{try{f&&Ya(f,r,e),v&&g.enter(d),_&&Wn(e,null,r,`mounted`)}finally{}},i)},E=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t<r.length;t++)g(e,r[t]);if(i){let n=i.subTree;if(t===n||Da(n.type)&&(n.ssContent===t||n.ssFallback===t)){let t=i.vnode;E(e,t,t.scopeId,t.slotScopeIds,i.parent)}}},D=(e,t,n,r,i,a,o,s,c=0)=>{for(let l=c;l<e.length;l++){let c=e[l]=s?Ka(e[l]):Ga(e[l]);v(null,c,t,n,r,i,a,o,s)}},O=(e,t,r,i,a,o,s)=>{let l=t.el=e.el,{patchFlag:u,dynamicChildren:d,dirs:f}=t;u|=e.patchFlag&16;let m=e.props||n,h=t.props||n,g;if(r&&ba(r,!1),(g=h.onVnodeBeforeUpdate)&&Ya(g,r,t,e),f&&Wn(t,e,r,`beforeUpdate`),r&&ba(r,!0),d&&(!e.dynamicChildren||e.dynamicChildren.length!==d.length)&&(u=0,s=!1,d=null),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?k(e.dynamicChildren,d,l,r,i,ya(t,a),o):s||ae(e,t,l,null,r,i,ya(t,a),o,!1),u>0){if(u&16)A(l,m,h,r,a);else if(u&2&&m.class!==h.class&&c(l,`class`,null,h.class,a),u&4&&c(l,`style`,m.style,h.style,a),u&8){let e=t.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t],i=m[n],o=h[n];(o!==i||n===`value`)&&c(l,n,i,o,a,r)}}u&1&&e.children!==t.children&&p(l,t.children)}else!s&&d==null&&A(l,m,h,r,a);((g=h.onVnodeUpdated)||f)&&ga(()=>{g&&Ya(g,r,t,e),f&&Wn(t,e,r,`updated`)},i)},k=(e,t,n,r,i,a,o)=>{for(let s=0;s<t.length;s++){let c=e[s],l=t[s],u=c.el||Ea(c),d=u&&(c.type===z||!za(c,l)||c.shapeFlag&198)?m(u):n;v(c,l,d,null,r,i,a,o,!0)}},A=(e,t,r,i,a)=>{if(t!==r){if(t!==n)for(let n in t)!ee(n)&&!(n in r)&&c(e,n,t[n],null,a,i);for(let n in r){if(ee(n))continue;let o=r[n],s=t[n];o!==s&&n!==`value`&&c(e,n,s,o,a,i)}`value`in r&&c(e,`value`,t.value,r.value,a)}},j=(e,t,n,r,i,a,s,c,l)=>{let d=t.el=e?e.el:u(``),f=t.anchor=e?e.anchor:u(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(c=c?c.concat(h):h),e==null?(o(d,n,r),o(f,n,r),D(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(k(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&Sa(e,t,!0)):ae(e,t,n,f,i,a,s,c,l)},M=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):N(t,n,r,i,a,o,c):ne(e,t,c)},N=(e,t,n,r,i,a,o)=>{let s=e.component=$a(e,r,i);if(Rr(e)&&(s.ctx.renderer=ge),co(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,re,o,a),!e.el){let r=s.subTree=W(Aa);b(null,r,t,n),e.placeholder=r.el}}else re(s,e,t,n,i,a,o)},ne=(e,t,n)=>{let r=t.component=e.component;if(Ji(e,t,n)){if(r.asyncDep&&!r.asyncResolved){t.el=e.el,t.placeholder=e.placeholder,ie(r,t,n);return}r.next=t,r.update()}else t.el=e.el,t.placeholder=e.placeholder,r.vnode=t},re=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=wa(e);if(n){t&&(t.el=c.el,ie(e,t,o)),n.asyncDep.then(()=>{ga(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;ba(e,!1),t?(t.el=c.el,ie(e,t,o)):t=c,n&&te(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&Ya(d,s,t,c),ba(e,!0);let f=Wi(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),me(p),e,i,a),t.el=f.el,u===null&&Zi(e,f.el),r&&ga(r,i),(d=t.props&&t.props.onVnodeUpdated)&&ga(()=>Ya(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Lr(t);if(ba(e,!1),l&&te(l),!m&&(o=c&&c.onVnodeBeforeMount)&&Ya(o,d,t),ba(e,!0),s&&ve){let t=()=>{e.subTree=Wi(e),ve(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=Wi(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&ga(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;ga(()=>Ya(o,d,e),i)}(t.shapeFlag&256||d&&Lr(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&ga(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new ke(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>jn(u),ba(e,!0),l()},ie=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,na(e,t.props,r,n),ha(e,t.children,n),We(),Pn(e),Ge()},ae=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){ce(l,d,n,r,i,a,o,s,c);return}if(f&256){se(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&pe(l,i,a),d!==l&&p(n,d)):u&16?m&16?ce(l,d,n,r,i,a,o,s,c):pe(l,i,a,!0):(u&8&&p(n,``),m&16&&D(d,n,r,i,a,o,s,c))},se=(e,t,n,i,a,o,s,c,l)=>{e||=r,t||=r;let u=e.length,d=t.length,f=Math.min(u,d),p=0;for(;p<f;p++){let r=t[p]=l?Ka(t[p]):Ga(t[p]);v(e[p],r,n,null,a,o,s,c,l)}u>d?pe(e,a,o,!0,!1,f):D(t,n,i,a,o,s,c,l,f)},ce=(e,t,n,i,a,o,s,c,l)=>{let u=0,d=t.length,f=e.length-1,p=d-1;for(;u<=f&&u<=p;){let r=e[u],i=t[u]=l?Ka(t[u]):Ga(t[u]);if(za(r,i))v(r,i,n,null,a,o,s,c,l);else break;u++}for(;u<=f&&u<=p;){let r=e[f],i=t[p]=l?Ka(t[p]):Ga(t[p]);if(za(r,i))v(r,i,n,null,a,o,s,c,l);else break;f--,p--}if(u>f){if(u<=p){let e=p+1,r=e<d?t[e].el:i;for(;u<=p;)v(null,t[u]=l?Ka(t[u]):Ga(t[u]),n,r,a,o,s,c,l),u++}}else if(u>p)for(;u<=f;)ue(e[u],a,o,!0),u++;else{let m=u,h=u,g=new Map;for(u=h;u<=p;u++){let e=t[u]=l?Ka(t[u]):Ga(t[u]);e.key!=null&&g.set(e.key,u)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(u=0;u<b;u++)C[u]=0;for(u=m;u<=f;u++){let r=e[u];if(y>=b){ue(r,a,o,!0);continue}let i;if(r.key!=null)i=g.get(r.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&za(r,t[_])){i=_;break}i===void 0?ue(r,a,o,!0):(C[i-h]=u+1,i>=S?S=i:x=!0,v(r,t[i],n,null,a,o,s,c,l),y++)}let w=x?Ca(C):r;for(_=w.length-1,u=b-1;u>=0;u--){let e=h+u,r=t[e],f=t[e+1],p=e+1<d?f.el||Ea(f):i;C[u]===0?v(null,r,n,p,a,o,s,c,l):x&&(_<0||u!==w[_]?le(r,n,p,2):_--)}}},le=(e,t,n,r,i=null)=>{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6)le(e.component.subTree,t,n,r);else if(d&128)e.suspense.move(t,n,r);else if(d&64)c.move(e,t,n,ge);else if(c===z){o(a,t,n);for(let e=0;e<u.length;e++)le(u[e],t,n,r);o(e.anchor,t,n)}else if(c===ja)S(e,t,n);else if(r!==2&&d&1&&l){if(r===0)l.persisted&&!a[hr]?o(a,t,n):(l.beforeEnter(a),o(a,t,n),ga(()=>l.enter(a),i));else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{let e=a._isLeaving||!!a[hr];a._isLeaving&&a[hr](!0),l.persisted&&!e?u():r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}}else o(a,t,n)},ue=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if((d===-2||l&&l.hasOnce)&&(i=!1),s!=null&&(We(),Fr(s,null,n,e,!0),Ge()),p==null||e.ctx&&e.ctx!==t||(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Lr(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&Ya(_,t,e),u&6)fe(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Wn(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,ge,r):l&&!l.hasOnce&&(a!==z||d>0&&d&64)?pe(l,t,n,!1,!0):(a===z&&d&384||!i&&u&16)&&pe(c,t,n),r&&de(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&ga(()=>{_&&Ya(_,t,e),h&&Wn(e,null,t,`unmounted`),v&&(e.el=null)},n)},de=e=>{let{type:t,el:n,anchor:r,transition:i}=e,a=t===z;if(a&&!i){P(n,r);return}if(t===ja){C(e),i&&!i.persisted&&i.afterLeave&&i.afterLeave();return}let o=a?kr(e):e,c=()=>{a?m(n)&&P(n,r):s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(o&&o.shapeFlag&1&&i&&!i.persisted){let{leave:e,delayLeave:t}=i,n=o.el,r=()=>e(n,c);t?t(n,c,r):r()}else c()},P=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},fe=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;Ta(c),Ta(l),r&&te(r),i.stop(),a?(a.flags|=8,ue(o,e,t,n)):e.vnode.el&&o&&(o.transition=e.vnode.transition,ue(o,e,t,n)),s&&ga(s,t),ga(()=>{e.isUnmounted=!0},t)},pe=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o<e.length;o++)ue(e[o],t,n,r,i)},me=e=>{if(e.shapeFlag&6)return me(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[nr];return n?h(n):t},he=(e,t,n)=>{Ln(()=>{e==null?t._vnode&&ue(t._vnode,null,null,!0):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e},e&&t._vnode?void 0:e&&e.component?e.component.uid:Qa())},ge={p:v,um:ue,m:le,r:de,mt:N,mc:D,pc:ae,pbc:k,n:me,o:e},_e,ve;return t&&([_e,ve]=t(ge)),{render:he,hydrate:_e,createApp:Ii(he,_e)}}function ya({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function ba({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function xa(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Sa(e,t,n=!1){let r=e.children,i=t.children;if(f(r)&&f(i))for(let e=0;e<r.length;e++){let t=r[e],a=i[e];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[e]=Ka(i[e]),a.el=t.el),!n&&a.patchFlag!==-2&&Sa(t,a)),a.type===ka&&(a.patchFlag===-1&&(a=i[e]=Ka(a)),a.el=t.el),a.type===Aa&&!a.el&&(a.el=t.el)}}function Ca(e){let t=e.slice(),n=[0],r,i,a,o,s,c=e.length;for(r=0;r<c;r++){let c=e[r];if(c!==0){if(i=n[n.length-1],e[i]<c){t[r]=i,n.push(r);continue}for(a=0,o=n.length-1;a<o;)s=a+o>>1,e[n[s]]<c?a=s+1:o=s;c<e[n[a]]&&(a>0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-->0;)n[a]=o,o=t[o];return n}function wa(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:wa(t)}function Ta(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Ea(e){if(e.placeholder)return e.placeholder;let t=e.component;return t?Ea(t.subTree):null}var Da=e=>e.__isSuspense;function Oa(e,t){t&&t.pendingBranch?f(e)?t.effects.push(...e):t.effects.push(e):Nn(e)}var z=Symbol.for(`v-fgt`),ka=Symbol.for(`v-txt`),Aa=Symbol.for(`v-cmt`),ja=Symbol.for(`v-stc`),Ma=[],Na=null;function B(e=!1){Ma.push(Na=e?null:[])}function Pa(){Ma.pop(),Na=Ma[Ma.length-1]||null}var Fa=1;function Ia(e,t=!1){Fa+=e,e<0&&Na&&t&&(Na.hasOnce=!0)}function La(e){return e.dynamicChildren=Fa>0?Na||r:null,Pa(),Fa>0&&Na&&Na.push(e),e}function V(e,t,n,r,i,a){return La(U(e,t,n,r,i,a,!0))}function H(e,t,n,r,i){return La(W(e,t,n,r,i,!0))}function Ra(e){return e?e.__v_isVNode===!0:!1}function za(e,t){return e.type===t.type&&e.key===t.key}var Ba=({key:e})=>e??null,Va=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:_(e)||Xt(e)||g(e)?{i:Bn,r:e,k:t,f:!!n}:e);function U(e,t=null,n=null,r=0,i=null,a=e===z?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ba(t),ref:t&&Va(t),scopeId:Vn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Bn};return s?(qa(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=_(n)?8:16),Fa>0&&!o&&Na&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&Na.push(c),c}var W=Ha;function Ha(e,t=null,n=null,r=0,i=null,a=!1){if(e&&e!==ni||(e=Aa),Ra(e)){let r=Wa(e,t,!0);return n&&qa(r,n),Fa>0&&!a&&Na&&(r.shapeFlag&6?Na[Na.indexOf(e)]=r:Na.push(r)),r.patchFlag=-2,r}if(yo(e)&&(e=e.__vccOpts),t){t=Ua(t);let{class:e,style:n}=t;e&&!_(e)&&(t.class=P(e)),y(n)&&(Gt(n)&&!f(n)&&(n=c({},n)),t.style=se(n))}let o=_(e)?1:Da(e)?128:rr(e)?64:y(e)?4:g(e)?2:0;return U(e,t,n,r,i,o,a,!0)}function Ua(e){return e?Gt(e)||ea(e)?c({},e):e:null}function Wa(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?Ja(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Ba(l),ref:t&&t.ref?n&&a?f(a)?a.concat(Va(t)):[a,Va(t)]:Va(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==z?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Wa(e.ssContent),ssFallback:e.ssFallback&&Wa(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return c&&r&&Dr(u,c.clone(u)),u}function G(e=` `,t=0){return W(ka,null,e,t)}function K(e=``,t=!1){return t?(B(),H(Aa,null,e)):W(Aa,null,e)}function Ga(e){return e==null||typeof e==`boolean`?W(Aa):f(e)?W(z,null,e.slice()):Ra(e)?Ka(e):W(ka,null,String(e))}function Ka(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Wa(e)}function qa(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(f(t))n=16;else if(typeof t==`object`){if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),qa(e,n()),n._c&&(n._d=!0));return}{n=32;let r=t._;!r&&!ea(t)?t._ctx=Bn:r===3&&Bn&&(Bn.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}}else if(g(t)){if(r&65){qa(e,{default:t});return}t={default:t,_ctx:Bn},n=32}else t=String(t),r&64?(n=16,t=[G(t)]):n=8;e.children=t,e.shapeFlag|=n}function Ja(...e){let t={};for(let n=0;n<e.length;n++){let r=e[n];for(let e in r)if(e===`class`)t.class!==r.class&&(t.class=P([t.class,r.class]));else if(e===`style`)t.style=se([t.style,r.style]);else if(o(e)){let n=t[e],i=r[e];i&&n!==i&&!(f(n)&&n.includes(i))?t[e]=n?[].concat(n,i):i:i==null&&n==null&&!s(e)&&(t[e]=i)}else e!==``&&(t[e]=r[e])}return t}function Ya(e,t,n,r=null){yn(e,t,7,[n,r])}var Xa=Pi(),Za=0;function Qa(){return Za}function $a(e,t,r){let i=e.type,a=(t?t.appContext:e.appContext)||Xa,o={uid:Za++,vnode:e,type:i,parent:t,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Te(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(a.provides),ids:t?t.ids:[``,0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:oa(i,a),emitsOptions:Hi(i,a),emit:null,emitted:null,propsDefaults:n,inheritAttrs:i.inheritAttrs,ctx:n,data:n,props:n,attrs:n,slots:n,refs:n,setupState:n,setupContext:null,suspense:r,suspenseId:r?r.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=Bi.bind(null,o),e.ce&&e.ce(o),o}var eo=null,to=()=>eo||Bn,no,ro;{let e=oe(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};no=t(`__VUE_INSTANCE_SETTERS__`,e=>eo=e),ro=t(`__VUE_SSR_SETTERS__`,e=>so=e)}var io=e=>{let t=eo;return no(e),e.scope.on(),()=>{e.scope.off(),no(t)}},ao=()=>{eo&&eo.scope.off(),no(null)};function oo(e){return e.vnode.shapeFlag&4}var so=!1;function co(e,t=!1,n=!1){t&&ro(t);let{props:r,children:i}=e.vnode,a=oo(e);ta(e,r,a,t),ma(e,i,n||t);let o=a?lo(e,t):void 0;return t&&ro(!1),o}function lo(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,pi);let{setup:r}=n;if(r){We();let n=e.setupContext=r.length>1?go(e):null,i=io(e),a=vn(r,e,0,[e.props,n]),o=b(a);if(Ge(),i(),(o||e.sp)&&!Lr(e)&&Mr(e),o){if(a.then(ao,ao),t)return a.then(n=>{ro(!0);try{uo(e,n,t)}finally{ro(!1)}}).catch(t=>{bn(t,e,0)});e.asyncDep=a}else uo(e,a,t)}else mo(e,t)}function uo(e,t,n){g(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:y(t)&&(e.setupState=nn(t)),mo(e,n)}var fo,po;function mo(e,t,n){let r=e.type;if(!e.render){if(!t&&fo&&!r.render){let t=r.template||wi(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:o}=r;r.render=fo(t,c(c({isCustomElement:n,delimiters:a},i),o))}}e.render=r.render||i,po&&po(e)}{let t=io(e);We();try{bi(e)}finally{Ge(),t()}}}var ho={get(e,t){return tt(e,`get`,``),e[t]}};function go(e){return{attrs:new Proxy(e.attrs,ho),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function _o(e){return e.exposed?e.exposeProxy||=new Proxy(nn(qt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in di)return di[n](e)},has(e,t){return t in e||t in di}}):e.proxy}function vo(e,t=!0){return g(e)?e.displayName||e.name:e.name||t&&e.__name}function yo(e){return g(e)&&`__vccOpts`in e}var q=(e,t)=>dn(e,t,so);function bo(e,t,n){try{Ia(-1);let r=arguments.length;return r===2?y(t)&&!f(t)?Ra(t)?W(e,null,[t]):W(e,t):W(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Ra(n)&&(n=[n]),W(e,t,n))}finally{Ia(1)}}var xo=`3.5.44`,So=void 0,Co=typeof window<`u`&&window.trustedTypes;if(Co)try{So=Co.createPolicy(`vue`,{createHTML:e=>e})}catch{}var wo=So?e=>So.createHTML(e):e=>e,To=`http://www.w3.org/2000/svg`,Eo=`http://www.w3.org/1998/Math/MathML`,Do=typeof document<`u`?document:null,Oo=Do&&Do.createElement(`template`),ko={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?Do.createElementNS(To,e):t===`mathml`?Do.createElementNS(Eo,e):n?Do.createElement(e,{is:n}):Do.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>Do.createTextNode(e),createComment:e=>Do.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Do.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),i!==a&&(i=i.nextSibling););else{Oo.innerHTML=wo(r===`svg`?`<svg>${e}</svg>`:r===`mathml`?`<math>${e}</math>`:e);let i=Oo.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ao=`transition`,jo=`animation`,Mo=Symbol(`_vtc`),No={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Po=c({},yr,No),Fo=(e=>(e.displayName=`Transition`,e.props=Po,e))((e,{slots:t})=>bo(Sr,Ro(e),t)),Io=(e,t=[])=>{f(e)?e.forEach(e=>e(...t)):e&&e(...t)},Lo=e=>e?f(e)?e.some(e=>e.length>1):e.length>1:!1;function Ro(e){let t={};for(let n in e)n in No||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:l=a,appearActiveClass:u=o,appearToClass:d=s,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,h=zo(i),g=h&&h[0],_=h&&h[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:b,onLeave:x,onLeaveCancelled:S,onBeforeAppear:C=v,onAppear:w=y,onAppearCancelled:T=b}=t,ee=(e,t,n,r)=>{e._enterCancelled=r,Ho(e,t?d:s),Ho(e,t?u:o),n&&n()},E=(e,t)=>{e._isLeaving=!1,Ho(e,f),Ho(e,m),Ho(e,p),t&&t()},D=e=>(t,n)=>{let i=e?w:y,o=()=>ee(t,e,n);Io(i,[t,o]),Uo(()=>{Ho(t,e?l:a),Vo(t,e?d:s),Lo(i)||Go(t,r,g,o)})};return c(t,{onBeforeEnter(e){Io(v,[e]),Vo(e,a),Vo(e,o)},onBeforeAppear(e){Io(C,[e]),Vo(e,l),Vo(e,u)},onEnter:D(!1),onAppear:D(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>E(e,t);Vo(e,f),e._enterCancelled?(Vo(e,p),Yo(e)):(Yo(e),Vo(e,p)),Uo(()=>{e._isLeaving&&(Ho(e,f),Vo(e,m),Lo(x)||Go(e,r,_,n))}),Io(x,[e,n])},onEnterCancelled(e){ee(e,!1,void 0,!0),Io(b,[e])},onAppearCancelled(e){ee(e,!0,void 0,!0),Io(T,[e])},onLeaveCancelled(e){E(e),Io(S,[e])}})}function zo(e){if(e==null)return null;if(y(e))return[Bo(e.enter),Bo(e.leave)];{let t=Bo(e);return[t,t]}}function Bo(e){return ie(e)}function Vo(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[Mo]||(e[Mo]=new Set)).add(t)}function Ho(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[Mo];n&&(n.delete(t),n.size||(e[Mo]=void 0))}function Uo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var Wo=0;function Go(e,t,n,r){let i=e._endId=++Wo,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=Ko(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u<c&&d()},s+1),e.addEventListener(l,f)}function Ko(e,t){let n=window.getComputedStyle(e),r=e=>(n[e]||``).split(`, `),i=r(`${Ao}Delay`),a=r(`${Ao}Duration`),o=qo(i,a),s=r(`${jo}Delay`),c=r(`${jo}Duration`),l=qo(s,c),u=null,d=0,f=0;t===Ao?o>0&&(u=Ao,d=o,f=a.length):t===jo?l>0&&(u=jo,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?Ao:jo:null,f=u?u===Ao?a.length:c.length:0);let p=u===Ao&&/\b(?:transform|all)(?:,|$)/.test(r(`${Ao}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function qo(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((t,n)=>Jo(t)+Jo(e[n])))}function Jo(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function Yo(e){return(e?e.ownerDocument:document).body.offsetHeight}function Xo(e,t,n){let r=e[Mo];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Zo=Symbol(`_vod`),Qo=Symbol(`_vsh`),$o=Symbol(``),es=/(?:^|;)\s*display\s*:/;function ts(e,t,n){let r=e.style,i=_(n),a=!1;if(n&&!i){if(t){if(_(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??rs(r,t,``)}else for(let e in t)n[e]??rs(r,e,``)}for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?rs(r,i,``):ss(e,i,!_(t)&&t?t[i]:void 0,o)||rs(r,i,o)}}else if(i){if(t!==n){let e=r[$o];e&&(n+=`;`+e),r.cssText=n,a=es.test(n)}}else t&&e.removeAttribute(`style`);Zo in e&&(i&&t===n||(e[Zo]=a?r.display:``),e[Qo]&&(r.display=`none`))}var ns=/\s*!important$/;function rs(e,t,n){if(f(n))n.forEach(n=>rs(e,t,n));else if(n??=``,t.startsWith(`--`))ns.test(n)?e.setProperty(t,n.replace(ns,``),`important`):e.setProperty(t,n);else{let r=os(e,t);ns.test(n)?e.setProperty(A(r),n.replace(ns,``),`important`):e[r]=n}}var is=[`Webkit`,`Moz`,`ms`],as={};function os(e,t){let n=as[t];if(n)return n;let r=O(t);if(r!==`filter`&&r in e)return as[t]=r;r=j(r);for(let n=0;n<is.length;n++){let i=is[n]+r;if(i in e)return as[t]=i}return t}function ss(e,t,n,r){return e.tagName===`TEXTAREA`&&(t===`width`||t===`height`)&&_(r)&&n===r}var cs=`http://www.w3.org/1999/xlink`;function ls(e,t,n,r,i,a=pe(t)){r&&t.startsWith(`xlink:`)?n==null?e.removeAttributeNS(cs,t.slice(6,t.length)):e.setAttributeNS(cs,t,n):n==null||a&&!me(n)?e.removeAttribute(t):e.setAttribute(t,a?``:v(n)?String(n):n)}function us(e,t,n,r,i){if(t===`innerHTML`||t===`textContent`){n!=null&&(e[t]=t===`innerHTML`?wo(n):n);return}let a=e.tagName;if(t===`value`&&a!==`PROGRESS`&&!a.includes(`-`)){let r=a===`OPTION`?e.getAttribute(`value`)||``:e.value,i=n==null?e.type===`checkbox`?`on`:``:String(n);r===i&&`_value`in e||(e.value=i),n??e.removeAttribute(t),e._value=n;return}let o=!1;if(n===``||n==null){let r=typeof e[t];r===`boolean`?n=me(n):n==null&&r===`string`?(n=``,o=!0):r===`number`&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(i||t)}function ds(e,t,n,r){e.addEventListener(t,n,r)}function fs(e,t,n,r){e.removeEventListener(t,n,r)}var ps=Symbol(`_vei`);function ms(e,t,n,r,i=null){let a=e[ps]||(e[ps]={}),o=a[t];if(r&&o)o.value=r;else{let[n,s]=_s(t);r?ds(e,n,a[t]=xs(r,i),s):o&&(fs(e,n,o,s),a[t]=void 0)}}var hs=/(Once|Passive|Capture)$/,gs=/^on:?(?:Once|Passive|Capture)$/;function _s(e){let t,n;for(;(n=e.match(hs))&&!gs.test(e);)t||={},e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===`:`?e.slice(3):A(e.slice(2)),t]}var vs=0,ys=Promise.resolve(),bs=()=>vs||=(ys.then(()=>vs=0),Date.now());function xs(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(f(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;n<i.length&&!e._stopped;n++){let e=i[n];e&&yn(e,t,5,a)}}else yn(r,t,5,[e])};return n.value=e,n.attached=bs(),n}var Ss=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Cs=(e,t,n,r,i,a)=>{let c=i===`svg`;t===`class`?Xo(e,r,c):t===`style`?ts(e,n,r):o(t)?s(t)||ms(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),1):t[0]===`^`?(t=t.slice(1),0):ws(e,t,r,c))?(us(e,t,r),e.tagName.includes(`-`)||t!==`value`&&t!==`checked`&&t!==`selected`||ls(e,t,r,c,a,t!==`value`)):e._isVueCE&&(Ts(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!_(r)))?us(e,O(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),ls(e,t,r,c))};function ws(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&Ss(t)&&g(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return Ss(t)&&_(n)?!1:t in e}function Ts(e,t){let n=e._def.props;if(!n)return!1;let r=O(t);return Array.isArray(n)?n.some(e=>O(e)===r):Object.keys(n).some(e=>O(e)===r)}var Es=new WeakMap,Ds=new WeakMap,Os=Symbol(`_moveCb`),ks=Symbol(`_enterCb`),As=new WeakMap,js=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:c({},Po,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=to(),r=_r(),i,a,o,s,c=()=>(s===void 0&&(s=i.length>0&&Bs(i[0].el,n.vnode.el,Ns(e))),s);return Jr(()=>{if(As.delete(n),!c()){i=[],o=void 0;return}let t=Ns(e);i.forEach(Ms);let r=o&&zs(o,n.vnode.el);o=void 0,i.forEach(e=>Ps(e,r));let a=i.filter(Fs);Yo(n.vnode.el),a.forEach(e=>{let n=e.el,r=n.style;Vo(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[Os]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[Os]=null,Ho(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let l=Kt(e),u=Ro(l),d=l.tag||z;if(i=[],s=void 0,a)for(let e=0;e<a.length;e++){let t=a[e];t.el&&t.el instanceof Element&&!t.el[Qo]&&(i.push(t),Dr(t,wr(t,u,r,n)),Es.set(t,Is(t.el)))}a=t.default?Or(t.default()):[];for(let e=0;e<a.length;e++){let t=a[e];t.key!=null&&Dr(t,wr(t,u,r,n))}return i.length&&(o=Ls(n),As.set(n,c)),W(d,null,a)}}});function Ms(e){let t=e.el;t[Os]&&t[Os](),t[ks]&&t[ks]()}function Ns(e){return e.moveClass||`${e.name||`v`}-move`}function Ps(e,t){Ds.set(e,Is(e.el,t))}function Fs(e){let t=Es.get(e),n=Ds.get(e),r=t.left-n.left,i=t.top-n.top;if(r||i){let t=e.el,n=t.style,a=t.getBoundingClientRect(),o=1,s=1;return t.offsetWidth&&(o=a.width/t.offsetWidth),t.offsetHeight&&(s=a.height/t.offsetHeight),Number.isFinite(o)&&o!==0||(o=1),Number.isFinite(s)&&s!==0||(s=1),Math.abs(o-1)<.01&&(o=1),Math.abs(s-1)<.01&&(s=1),n.transform=n.webkitTransform=`translate(${r/o}px,${i/s}px)`,n.transitionDuration=`0s`,e}}function Is(e,t){let n=e.getBoundingClientRect();return{left:n.left-(t?t.left:0),top:n.top-(t?t.top:0)}}function Ls(e){let t;for(let n=e.parent;n;n=n.parent){let r=As.get(n);if(r){let i=Rs(n.vnode.el,e.vnode.el);i&&(t||=[]).push(c(Is(i),{item:i,willMove:r}))}}return t}function Rs(e,t){let n=e.nodeType===1?e:e.parentNode;for(;t&&t.parentNode!==n;)t=t.parentNode;if(t&&t.nodeType===1)return t}function zs(e,t){let n=e.find(e=>e.willMove()&&e.item.contains(t));return n&&Is(n.item,n)}function Bs(e,t,n){let r=e.cloneNode(),i=e[Mo];i&&i.forEach(e=>{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=Ko(r);return a.removeChild(r),o}var Vs=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return f(t)?e=>te(t,e):t};function Hs(e){e.target.composing=!0}function Us(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var Ws=Symbol(`_assign`),Gs=Symbol(`_initialValue`);function Ks(e,t,n){return t&&(e=e.trim()),n&&(e=re(e)),e}var qs={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e.parentNode&&(e.type===`text`?e[Gs]=e.defaultValue.replace(/[\r\n]/g,``):e.type===`textarea`&&(e[Gs]=e.defaultValue.replace(/\r\n?/g,`
|
|
3
|
-
`))),e[Ws]=Vs(i);let a=r||i.props&&i.props.type===`number`;ds(e,t?`change`:`input`,t=>{t.target.composing||e[Ws](Ks(e.value,n,a))}),(n||a)&&ds(e,`change`,()=>{e.value=Ks(e.value,n,a)}),t||(ds(e,`compositionstart`,Hs),ds(e,`compositionend`,Us),ds(e,`change`,Us))},mounted(e,{value:t,modifiers:{trim:n,number:r}}){let i=t??``,a=e[Gs];delete e[Gs],a!==void 0&&(e.type===`text`||e.type===`textarea`)&&e.value!==a?e[Ws](Ks(e.value,n,r)):e.value=i},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[Ws]=Vs(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?re(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},Js={deep:!0,created(e,t,n){e[Ws]=Vs(n),ds(e,`change`,()=>{let t=e._modelValue,n=ec(e),r=e.checked,i=e[Ws];if(f(t)){let e=be(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(m(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(tc(e,r))})},mounted:Ys,beforeUpdate(e,t,n){e[Ws]=Vs(n),Ys(e,t,n)}};function Ys(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(f(t))i=be(t,r.props.value)>-1;else if(m(t))i=t.has(r.props.value);else{if(t===n)return;i=ye(t,tc(e,!0))}e.checked!==i&&(e.checked=i)}var Xs={created(e,{value:t},n){e.checked=ye(t,n.props.value),e[Ws]=Vs(n),ds(e,`change`,()=>{e[Ws](ec(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[Ws]=Vs(r),t!==n&&(e.checked=ye(t,r.props.value))}},Zs={deep:!0,created(e,{value:t,modifiers:{number:n}},r){e._modelValue=t,ds(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?re(ec(e)):ec(e)),r=e.multiple,i=r?m(e._modelValue)?new Set(t):t:t[0],a=e._pendingValue=[r,r?f(i)?t.slice():t:i];try{e[Ws](i)}finally{kn(()=>{e._pendingValue===a&&(e._pendingValue=void 0)})}}),e[Ws]=Vs(r)},mounted(e,{value:t}){$s(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[Ws]=Vs(n)},updated(e,{value:t}){let n=e._pendingValue;e._pendingValue=void 0,n&&n[0]===e.multiple&&Qs(t,n[1],n[0])||$s(e,t)}};function Qs(e,t,n){if(!n||f(e))return ye(e,t);if(m(e)){if(e.size!==t.length)return!1;for(let n of t)if(!e.has(n))return!1;return!0}return!1}function $s(e,t){let n=e.multiple,r=f(t);if(!n||r||m(t)){for(let i=0,a=e.options.length;i<a;i++){let a=e.options[i],o=ec(a);if(n){if(r){let e=typeof o;a.selected=e===`string`||e===`number`?t.some(e=>String(e)===String(o)):be(t,o)>-1}else a.selected=t.has(o)}else if(ye(ec(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ec(e){return`_value`in e?e._value:e.value}function tc(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var nc={created(e,t,n){ic(e,t,n,null,`created`)},mounted(e,t,n){ic(e,t,n,null,`mounted`)},beforeUpdate(e,t,n,r){ic(e,t,n,r,`beforeUpdate`)},updated(e,t,n,r){ic(e,t,n,r,`updated`)}};function rc(e,t){switch(e){case`SELECT`:return Zs;case`TEXTAREA`:return qs;default:switch(t){case`checkbox`:return Js;case`radio`:return Xs;default:return qs}}}function ic(e,t,n,r,i){let a=rc(e.tagName,n.props&&n.props.type)[i];a&&a(e,t,n,r)}var ac=[`ctrl`,`shift`,`alt`,`meta`],oc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>ac.some(n=>e[`${n}Key`]&&!t.includes(n))},sc=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e<t.length;e++){let r=oc[t[e]];if(r&&r(n,t))return}return e(n,...r)}))},cc={esc:`escape`,space:` `,up:`arrow-up`,left:`arrow-left`,right:`arrow-right`,down:`arrow-down`,delete:`backspace`},lc=(e,t)=>{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=A(n.key);if(t.some(e=>e===r||cc[e]===r))return e(n)}))},uc=c({patchProp:Cs},ko),dc;function fc(){return dc||=_a(uc)}var pc=((...e)=>{fc().render(...e)}),mc=((...e)=>{let t=fc().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=gc(e);if(!r)return;let i=t._component;g(i)||i.render||i.template||(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,hc(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function hc(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function gc(e){return _(e)?document.querySelector(e):e}var _c=Ar({__name:`UidIcon`,props:{icon:{},size:{default:20},strokeWidth:{default:2},label:{}},setup(e){return(t,n)=>(B(),H(ri(e.icon),{class:`uid-icon`,width:e.size,height:e.size,"stroke-width":e.strokeWidth,"aria-label":e.label,"aria-hidden":e.label?void 0:`true`,role:`img`},null,8,[`width`,`height`,`stroke-width`,`aria-label`,`aria-hidden`]))}}),vc=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),yc={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},bc=({size:e,strokeWidth:t=2,absoluteStrokeWidth:n,color:r,iconNode:i,name:a,class:o,...s},{slots:c})=>bo(`svg`,{...yc,width:e||yc.width,height:e||yc.height,stroke:r||yc.stroke,"stroke-width":n?Number(t)*24/Number(e):t,class:[`lucide`,`lucide-${vc(a??`icon`)}`],...s},[...i.map(e=>bo(...e)),...c.default?[c.default()]:[]]),J=(e,t)=>(n,{slots:r})=>bo(bc,{...n,iconNode:t,name:e},r),xc=J(`ActivityIcon`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),Sc=J(`AlignCenterHorizontalIcon`,[[`path`,{d:`M2 12h20`,key:`9i4pu4`}],[`path`,{d:`M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4`,key:`11f1s0`}],[`path`,{d:`M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4`,key:`t14dx9`}],[`path`,{d:`M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1`,key:`1w07xs`}],[`path`,{d:`M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1`,key:`1apec2`}]]),Cc=J(`AlignCenterVerticalIcon`,[[`path`,{d:`M12 2v20`,key:`t6zp3m`}],[`path`,{d:`M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4`,key:`14d6g8`}],[`path`,{d:`M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4`,key:`1e2lrw`}],[`path`,{d:`M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1`,key:`1fkdwx`}],[`path`,{d:`M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1`,key:`1euafb`}]]),wc=J(`AlignEndHorizontalIcon`,[[`rect`,{width:`6`,height:`16`,x:`4`,y:`2`,rx:`2`,key:`z5wdxg`}],[`rect`,{width:`6`,height:`9`,x:`14`,y:`9`,rx:`2`,key:`um7a8w`}],[`path`,{d:`M22 22H2`,key:`19qnx5`}]]),Tc=J(`AlignEndVerticalIcon`,[[`rect`,{width:`16`,height:`6`,x:`2`,y:`4`,rx:`2`,key:`10wcwx`}],[`rect`,{width:`9`,height:`6`,x:`9`,y:`14`,rx:`2`,key:`4p5bwg`}],[`path`,{d:`M22 22V2`,key:`12ipfv`}]]),Ec=J(`AlignHorizontalSpaceAroundIcon`,[[`rect`,{width:`6`,height:`10`,x:`9`,y:`7`,rx:`2`,key:`yn7j0q`}],[`path`,{d:`M4 22V2`,key:`tsjzd3`}],[`path`,{d:`M20 22V2`,key:`1bnhr8`}]]),Dc=J(`AlignStartHorizontalIcon`,[[`rect`,{width:`6`,height:`16`,x:`4`,y:`6`,rx:`2`,key:`1n4dg1`}],[`rect`,{width:`6`,height:`9`,x:`14`,y:`6`,rx:`2`,key:`17khns`}],[`path`,{d:`M22 2H2`,key:`fhrpnj`}]]),Oc=J(`AlignStartVerticalIcon`,[[`rect`,{width:`9`,height:`6`,x:`6`,y:`14`,rx:`2`,key:`lpm2y7`}],[`rect`,{width:`16`,height:`6`,x:`6`,y:`4`,rx:`2`,key:`rdj6ps`}],[`path`,{d:`M2 2v20`,key:`1ivd8o`}]]),kc=J(`AlignVerticalSpaceAroundIcon`,[[`rect`,{width:`10`,height:`6`,x:`7`,y:`9`,rx:`2`,key:`b1zbii`}],[`path`,{d:`M22 20H2`,key:`1p1f7z`}],[`path`,{d:`M22 4H2`,key:`1b7qnq`}]]),Ac=J(`ArrowRightIcon`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),jc=J(`CheckIcon`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),Mc=J(`ChevronDownIcon`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Nc=J(`ChevronLeftIcon`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),Pc=J(`ChevronRightIcon`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),Fc=J(`CircleAlertIcon`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),Ic=J(`CircleCheckIcon`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Lc=J(`ClipboardPasteIcon`,[[`path`,{d:`M15 2H9a1 1 0 0 0-1 1v2c0 .6.4 1 1 1h6c.6 0 1-.4 1-1V3c0-.6-.4-1-1-1Z`,key:`1pp7kr`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2M16 4h2a2 2 0 0 1 2 2v2M11 14h10`,key:`2ik1ml`}],[`path`,{d:`m17 10 4 4-4 4`,key:`vp2hj1`}]]),Rc=J(`ClockIcon`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`polyline`,{points:`12 6 12 12 16 14`,key:`68esgv`}]]),zc=J(`CogIcon`,[[`path`,{d:`M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z`,key:`sobvz5`}],[`path`,{d:`M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z`,key:`11i496`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 22v-2`,key:`1osdcq`}],[`path`,{d:`m17 20.66-1-1.73`,key:`eq3orb`}],[`path`,{d:`M11 10.27 7 3.34`,key:`16pf9h`}],[`path`,{d:`m20.66 17-1.73-1`,key:`sg0v6f`}],[`path`,{d:`m3.34 7 1.73 1`,key:`1ulond`}],[`path`,{d:`M14 12h8`,key:`4f43i9`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`m20.66 7-1.73 1`,key:`1ow05n`}],[`path`,{d:`m3.34 17 1.73-1`,key:`nuk764`}],[`path`,{d:`m17 3.34-1 1.73`,key:`2wel8s`}],[`path`,{d:`m11 13.73-4 6.93`,key:`794ttg`}]]),Bc=J(`CopyPlusIcon`,[[`line`,{x1:`15`,x2:`15`,y1:`12`,y2:`18`,key:`1p7wdc`}],[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`,key:`1nscbv`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),Vc=J(`CopyIcon`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),Hc=J(`DiamondIcon`,[[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z`,key:`1f1r0c`}]]),Uc=J(`DownloadIcon`,[[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`polyline`,{points:`7 10 12 15 17 10`,key:`2ggqvy`}],[`line`,{x1:`12`,x2:`12`,y1:`15`,y2:`3`,key:`1vk2je`}]]),Wc=J(`EllipsisIcon`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),Gc=J(`FileCodeIcon`,[[`path`,{d:`M10 12.5 8 15l2 2.5`,key:`1tg20x`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`,key:`yinavb`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z`,key:`1mlx9k`}]]),Kc=J(`InfoIcon`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),qc=J(`LayersIcon`,[[`path`,{d:`m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z`,key:`8b97xw`}],[`path`,{d:`m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65`,key:`dd6zsq`}],[`path`,{d:`m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65`,key:`ep9fru`}]]),Jc=J(`LayoutGridIcon`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),Yc=J(`MagnetIcon`,[[`path`,{d:`m6 15-4-4 6.75-6.77a7.79 7.79 0 0 1 11 11L13 22l-4-4 6.39-6.36a2.14 2.14 0 0 0-3-3L6 15`,key:`1i3lhw`}],[`path`,{d:`m5 8 4 4`,key:`j6kj7e`}],[`path`,{d:`m12 15 4 4`,key:`lnac28`}]]),Xc=J(`MapIcon`,[[`path`,{d:`M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z`,key:`169xi5`}],[`path`,{d:`M15 5.764v15`,key:`1pn4in`}],[`path`,{d:`M9 3.236v15`,key:`1uimfh`}]]),Zc=J(`MaximizeIcon`,[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3`,key:`1dcmit`}],[`path`,{d:`M21 8V5a2 2 0 0 0-2-2h-3`,key:`1e4gt3`}],[`path`,{d:`M3 16v3a2 2 0 0 0 2 2h3`,key:`wsl5sc`}],[`path`,{d:`M16 21h3a2 2 0 0 0 2-2v-3`,key:`18trek`}]]),Qc=J(`MessageSquareIcon`,[[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}]]),$c=J(`MinusIcon`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),el=J(`PanelRightIcon`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),tl=J(`PlayIcon`,[[`polygon`,{points:`6 3 20 12 6 21 6 3`,key:`1oa8hb`}]]),nl=J(`PlusIcon`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),rl=J(`PowerIcon`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),il=J(`Redo2Icon`,[[`path`,{d:`m15 14 5-5-5-5`,key:`12vg1m`}],[`path`,{d:`M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13`,key:`6uklza`}]]),al=J(`RefreshCwIcon`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),ol=J(`ScissorsIcon`,[[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M8.12 8.12 12 12`,key:`1alkpv`}],[`path`,{d:`M20 4 8.12 15.88`,key:`xgtan2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M14.8 14.8 20 20`,key:`ptml3r`}]]),sl=J(`ShapesIcon`,[[`path`,{d:`M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z`,key:`1bo67w`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`3.5`,key:`w3z12y`}]]),cl=J(`SkipForwardIcon`,[[`polygon`,{points:`5 4 15 12 5 20 5 4`,key:`16p6eg`}],[`line`,{x1:`19`,x2:`19`,y1:`5`,y2:`19`,key:`futhcm`}]]),ll=J(`SquareArrowOutUpRightIcon`,[[`path`,{d:`M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6`,key:`y09zxi`}],[`path`,{d:`m21 3-9 9`,key:`mpx6sq`}],[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}]]),ul=J(`SquareIcon`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),dl=J(`StickyNoteIcon`,[[`path`,{d:`M16 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8Z`,key:`qazsjp`}],[`path`,{d:`M15 3v4a2 2 0 0 0 2 2h4`,key:`40519r`}]]),fl=J(`Trash2Icon`,[[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6`,key:`4alrt4`}],[`path`,{d:`M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2`,key:`v07s0e`}],[`line`,{x1:`10`,x2:`10`,y1:`11`,y2:`17`,key:`1uufr5`}],[`line`,{x1:`14`,x2:`14`,y1:`11`,y2:`17`,key:`xtxkd`}]]),pl=J(`TriangleAlertIcon`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),ml=J(`Undo2Icon`,[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]),hl=J(`UploadIcon`,[[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`polyline`,{points:`17 8 12 3 7 8`,key:`t8dd8p`}],[`line`,{x1:`12`,x2:`12`,y1:`3`,y2:`15`,key:`widbto`}]]),gl=J(`WorkflowIcon`,[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`,key:`by2w9f`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`,key:`xkn7yn`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`,key:`1cgmvn`}]]),_l=J(`XIcon`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),vl=[`type`,`disabled`,`aria-disabled`,`data-loading`],yl={key:0,class:`uid-button__prepend`},bl={key:3,class:`uid-button__append`},xl=Ar({__name:`UidButton`,props:{variant:{default:`primary`},size:{default:`md`},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},type:{default:`button`},icon:{default:void 0},iconPosition:{default:`start`}},emits:[`click`],setup(e,{emit:t}){let n=e,r=t,i=mi();hi();let a=q(()=>n.size===`sm`?16:20),o=q(()=>!!n.icon&&!i.default);Yn(()=>{});function s(e){!n.disabled&&!n.loading&&r(`click`,e)}return(t,n)=>(B(),V(`button`,{class:P([`uid-button`,[`uid-button--${e.variant}`,`uid-button--${e.size}`,{"uid-button--icon-only":o.value}]]),type:e.type,disabled:e.disabled||e.loading,"aria-disabled":e.disabled||e.loading?`true`:void 0,"data-loading":e.loading?`true`:void 0,onClick:s},[t.$slots.prepend?(B(),V(`span`,yl,[ci(t.$slots,`prepend`)])):K(``,!0),e.icon&&e.iconPosition===`start`?(B(),H(_c,{key:1,class:`uid-button__icon`,icon:e.icon,size:a.value},null,8,[`icon`,`size`])):K(``,!0),ci(t.$slots,`default`),e.icon&&e.iconPosition===`end`?(B(),H(_c,{key:2,class:`uid-button__icon`,icon:e.icon,size:a.value},null,8,[`icon`,`size`])):K(``,!0),t.$slots.append?(B(),V(`span`,bl,[ci(t.$slots,`append`)])):K(``,!0)],10,vl))}}),Sl={code:`ru-RU`,common:{clear:`Очистить`,close:`Закрыть`,search:`Поиск...`,confirm:`Подтвердить`,cancel:`Отмена`,loading:`Загрузка...`,noResults:`Ничего не найдено`},copy:{copy:`Копировать`,copied:`Скопировано`},select:{placeholder:`Выберите...`,noResults:`Ничего не найдено`},combobox:{placeholder:`Начните вводить...`,noResults:`Ничего не найдено`,create:e=>`+ Создать «${e}»`},datePicker:{placeholder:`Выберите дату`,months:[`Январь`,`Февраль`,`Март`,`Апрель`,`Май`,`Июнь`,`Июль`,`Август`,`Сентябрь`,`Октябрь`,`Ноябрь`,`Декабрь`],weekdaysShort:[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Вс`],prevMonth:`Предыдущий месяц`,nextMonth:`Следующий месяц`,dialog:`Выбор даты`},dateRangePicker:{placeholder:`Выберите диапазон`,presetLast:e=>`${e} дней`,startTime:`Время начала`,endTime:`Время окончания`,dialog:`Выбор диапазона дат`},timePicker:{placeholder:`Выберите время`,now:`Сейчас`,confirm:`Выбрать`,dialog:`Выбор времени`,hours:`Часы`,minutes:`Минуты`,seconds:`Секунды`},colorPicker:{placeholder:`Выберите цвет`,dialog:`Выбор цвета`,saturation:`Насыщенность и яркость`,hue:`Оттенок`,alpha:`Прозрачность`,input:`HEX, rgb() или hsl()`},numberInput:{increment:e=>`Увеличить на ${e}`,decrement:e=>`Уменьшить на ${e}`},tagsInput:{remove:e=>`Удалить ${e}`},treeView:{expand:`Развернуть`,collapse:`Свернуть`},treeSelect:{placeholder:`Выберите...`,removeTag:e=>`Удалить ${e}`},fileUpload:{primaryText:`Перетащите файлы или нажмите для выбора`,secondaryText:`Поддерживаются изображения, документы`,remove:e=>`Удалить ${e}`},backTop:{label:`Наверх`},tour:{next:`Далее`,prev:`Назад`,finish:`Готово`,skip:`Пропустить`},rating:{label:(e,t)=>`Оценка ${e} из ${t}`,star:e=>`${e} ${e%10==1&&e%100!=11?`звезда`:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?`звезды`:`звёзд`}`},mention:{noResults:`Никого не найдено`},modal:{close:`Закрыть`},drawer:{close:`Закрыть`},toast:{close:`Закрыть`},image:{preview:`Открыть просмотр`,error:`Не удалось загрузить изображение`},breadcrumb:{showHidden:`Показать скрытые разделы`,label:`Навигация`},pagination:{first:`Первая страница`,prev:`Предыдущая страница`,next:`Следующая страница`,last:`Последняя страница`,page:e=>`Страница ${e}`,pageSize:e=>`${e} на странице`,label:`Пагинация`,cursorNav:`Навигация по страницам`,back:`Назад`,forward:`Вперёд`,loadMore:`Показать ещё`,rowsPerPage:`Строк на странице:`},sidebar:{label:`Боковая навигация`,nav:`Навигация`},header:{nav:`Основная навигация`},pageHeader:{back:`Назад`},emptyState:{title:`Ничего не найдено`},errorState:{title:`Что-то пошло не так`,notFoundTitle:`Страница не найдена`,notFoundDescription:`Запрашиваемая страница не существует или была перемещена.`,serverTitle:`Ошибка сервера`,serverDescription:`На сервере произошла ошибка. Мы уже работаем над исправлением.`,offlineTitle:`Нет соединения`,offlineDescription:`Проверьте подключение к интернету и попробуйте снова.`},wizard:{step:e=>`Шаг ${e}`},calendar:{today:`Сегодня`},carousel:{prev:`Предыдущий`,next:`Следующий`,position:(e,t)=>`${e} из ${t}`,slide:e=>`Слайд ${e}`},stepper:{label:(e,t)=>`Шаги (текущий: ${e} из ${t})`},transfer:{available:`Доступно`,selected:`Выбрано`,moveRight:`Перенести вправо`,moveLeft:`Перенести влево`},sparkline:{summary:(e,t,n)=>`Тренд: с ${e} до ${t}, ${n} точек`},table:{empty:`Нет данных`,selectAll:`Выделить всё`,row:e=>`Строка ${e}`},avatarGroup:{more:e=>`Ещё ${e}`},command:{placeholder:`Поиск команд...`,empty:`Ничего не найдено`,label:`Палитра команд`},anchor:{label:`Содержание`},markdown:{toc:`На этой странице`,note:`Примечание`,tip:`Совет`,important:`Важно`,warning:`Внимание`,caution:`Осторожно`,blockPending:`Отрисовка…`,blockError:`Не удалось отрисовать блок`},heatmap:{summary:e=>`Тепловая карта активности: ${e} событий`,less:`Меньше`,more:`Больше`,matrixSummary:(e,t)=>`Тепловая карта: ${e} строк × ${t} столбцов`,noData:`Нет данных`},validation:{value:`значение`,required:e=>`Поле «${e}» обязательно`,email:`Введите корректный email`,url:`Введите корректный URL`,numeric:`Введите число`,integer:`Введите целое число`,min:e=>`Минимум ${e} символов`,max:e=>`Максимум ${e} символов`,minValue:e=>`Значение не менее ${e}`,maxValue:e=>`Значение не более ${e}`,regex:`Неверный формат`,in:`Выберите допустимое значение`,sameAs:`Значения не совпадают`,unknown:e=>`Ошибка валидации: ${e}`}};function Cl(e){let t=t=>e.required(t??e.value);return{required:({label:e})=>t(e),email:()=>e.email,url:()=>e.url,numeric:()=>e.numeric,integer:()=>e.integer,min:({params:t})=>e.min(String(t?.[0])),max:({params:t})=>e.max(String(t?.[0])),min_value:({params:t})=>e.minValue(String(t?.[0])),max_value:({params:t})=>e.maxValue(String(t?.[0])),regex:()=>e.regex,in:()=>e.in,same_as:()=>e.sameAs,required_if:({label:e})=>t(e),required_unless:({label:e})=>t(e)}}var wl=Sl.validation,Tl=Cl(wl);function El(e){e.validation!==wl&&(wl=e.validation,Tl=Cl(wl))}var Dl={};function Ol(e,t){let n=Dl[e];return n?typeof n==`function`?n(t):n:Tl[e]?.(t)??wl.unknown(e)}var kl=`__uid_nullable__`;function Al(e){return e==null||String(e).trim()===``}function jl(e,t){return t?{...e,params:t}:e}var Ml=e=>(t,n)=>!Al(t)||(e??Ol(`required`,n)),Nl=()=>e=>!Al(e)||kl,Pl=e=>(t,n)=>Al(t)||/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(String(t))||(e??Ol(`email`,n)),Fl=e=>(t,n)=>{if(Al(t))return!0;try{return new URL(String(t)),!0}catch{return e??Ol(`url`,n)}},Il=e=>(t,n)=>Al(t)||!isNaN(Number(t))||(e??Ol(`numeric`,n)),Ll=e=>(t,n)=>Al(t)||Number.isInteger(Number(t))||(e??Ol(`integer`,n)),Rl=(e,t)=>(n,r)=>Al(n)||String(n).length>=e||(t??Ol(`min`,jl(r,[String(e)]))),zl=(e,t)=>(n,r)=>Al(n)||String(n).length<=e||(t??Ol(`max`,jl(r,[String(e)]))),Bl=(e,t)=>(n,r)=>Al(n)||Number(n)>=e||(t??Ol(`min_value`,jl(r,[String(e)]))),Vl=(e,t)=>(n,r)=>Al(n)||Number(n)<=e||(t??Ol(`max_value`,jl(r,[String(e)]))),Hl=(e,t)=>(n,r)=>Al(n)?!0:(typeof e==`string`?new RegExp(e):e).test(String(n))||(t??Ol(`regex`,r)),Ul=(e,t)=>(n,r)=>Al(n)||e.includes(String(n))||(t??Ol(`in`,r)),Wl=(e,t)=>(n,r)=>!r.form||n===r.form[e]||(t??Ol(`same_as`,r)),Gl={required:()=>Ml(),nullable:()=>Nl(),email:()=>Pl(),url:()=>Fl(),numeric:()=>Il(),integer:()=>Ll(),min:([e])=>Rl(Number(e)),max:([e])=>zl(Number(e)),min_value:([e])=>Bl(Number(e)),max_value:([e])=>Vl(Number(e)),regex:([e])=>Hl(e),in:e=>Ul(e),same_as:([e])=>Wl(e)};function Kl(e){return e?(Array.isArray(e)?e:[e]).flatMap(e=>typeof e==`function`?[e]:e.split(`|`).map(e=>{let t=e.indexOf(`:`),n=t===-1?e.trim():e.slice(0,t).trim(),r=t===-1?``:e.slice(t+1),i=r?r.split(`,`):[],a=Gl[n];if(!a)throw Error(`Unknown validation rule: "${n}"`);return a(i)})):[]}function ql(e,t,n){for(let r of t){let t=r(e,n);if(t===`__uid_nullable__`)return``;if(t!==!0)return t}return``}function Jl(e,t,n){let r=I(``),i=I(!1);function a(){let i=Kl(t&&`value`in t?t.value:t),a={field:n?.name??``,label:n?.label,form:n?.form?.value};return r.value=ql(e.value,i,a),!r.value}function o(){i.value=!0,a()}function s(){r.value=``,i.value=!1}return Zn(e,()=>{i.value&&a()}),{error:r,touched:i,validate:a,onBlur:o,reset:s}}function Yl(){let e=hi();return{rootAttrs:()=>({class:e.class,style:e.style}),controlAttrs:()=>{let t={};for(let n of Object.keys(e))n!==`class`&&n!==`style`&&(t[n]=e[n]);return t}}}var Xl=[`for`],Zl={key:0,class:`uid-input-field__required`,"aria-hidden":`true`},Ql={class:`uid-input-field__control`},$l={key:0,class:`uid-input-field__prepend`},eu=[`id`,`type`,`name`,`placeholder`,`disabled`,`readonly`,`required`,`autocomplete`,`aria-invalid`,`aria-describedby`],tu={key:1,class:`uid-input-field__append`},nu=[`id`],ru=Ar({inheritAttrs:!1,__name:`UidInput`,props:vi({type:{default:`text`},placeholder:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{default:`md`},label:{},hint:{},error:{},required:{type:Boolean,default:!1},name:{},rules:{},id:{},autocomplete:{}},{modelValue:{default:``},modelModifiers:{}}),emits:vi([`blur`,`focus`],[`update:modelValue`]),setup(e,{expose:t,emit:n}){let{rootAttrs:r,controlAttrs:i}=Yl(),a=e,o=n,s=Ri(e,`modelValue`),c=a.id??jr(),{error:l,validate:u,onBlur:d}=Jl(s,q(()=>a.rules),{name:a.name,label:a.label}),f=q(()=>a.error||l.value),p=q(()=>!!f.value),m=q(()=>f.value||a.hint);function h(e){d(),o(`blur`,e)}return t({validate:u}),(t,n)=>(B(),V(`div`,Ja(L(r)(),{class:[`uid-input-field`,[`uid-input-field--${e.size}`,p.value&&`uid-input-field--error`,e.disabled&&`uid-input-field--disabled`,e.readonly&&`uid-input-field--readonly`]]}),[e.label?(B(),V(`label`,{key:0,for:L(c),class:`uid-input-field__label`},[G(F(e.label)+` `,1),e.required?(B(),V(`span`,Zl,`*`)):K(``,!0)],8,Xl)):K(``,!0),U(`div`,Ql,[t.$slots.prepend?(B(),V(`span`,$l,[ci(t.$slots,`prepend`)])):K(``,!0),Un(U(`input`,Ja(L(i)(),{id:L(c),"onUpdate:modelValue":n[0]||=e=>s.value=e,class:`uid-input-field__input`,type:e.type,name:e.name,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly,required:e.required,autocomplete:e.autocomplete,"aria-invalid":p.value?`true`:void 0,"aria-describedby":m.value?`${L(c)}-hint`:void 0,onBlur:h,onFocus:n[1]||=e=>o(`focus`,e)}),null,16,eu),[[nc,s.value]]),t.$slots.append?(B(),V(`span`,tu,[ci(t.$slots,`append`)])):K(``,!0)]),m.value?(B(),V(`p`,{key:1,id:`${L(c)}-hint`,class:P([`uid-input-field__hint`,p.value&&`uid-input-field__hint--error`])},F(m.value),11,nu)):K(``,!0)],16))}}),iu=[`for`],au={key:0,class:`uid-textarea-field__required`,"aria-hidden":`true`},ou=[`id`,`name`,`placeholder`,`disabled`,`readonly`,`required`,`rows`,`aria-invalid`,`aria-describedby`],su=[`id`],cu=Ar({inheritAttrs:!1,__name:`UidTextarea`,props:vi({placeholder:{default:void 0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{default:`md`},label:{default:void 0},hint:{default:void 0},error:{default:void 0},required:{type:Boolean,default:!1},name:{default:void 0},rules:{type:[String,Function,Array],default:void 0},id:{default:void 0},rows:{default:3},autoGrow:{type:Boolean,default:!1},maxRows:{default:void 0},resize:{default:`vertical`}},{modelValue:{default:``},modelModifiers:{}}),emits:vi([`blur`,`focus`],[`update:modelValue`]),setup(e,{expose:t,emit:n}){let{rootAttrs:r,controlAttrs:i}=Yl(),a=e,o=n,s=Ri(e,`modelValue`),c=I(null),l=jr(),u=a.id??l,{error:d,validate:f,onBlur:p}=Jl(s,q(()=>a.rules),{name:a.name,label:a.label}),m=q(()=>a.error||d.value),h=q(()=>!!m.value),g=q(()=>m.value||a.hint);function _(){let e=c.value;if(!e)return;let t=getComputedStyle(e);e.style.height=`auto`;let n=e.scrollHeight;if(a.maxRows){let e=parseFloat(t.lineHeight)||parseFloat(t.fontSize)*1.5,r=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom);n=Math.min(n,e*a.maxRows+r)}e.style.height=`${n}px`}Kr(()=>{a.autoGrow&&_()}),Zn(s,async()=>{a.autoGrow&&(await kn(),_())});function v(e){p(),o(`blur`,e)}return t({validate:f}),(t,n)=>(B(),V(`div`,Ja(L(r)(),{class:[`uid-textarea-field`,[`uid-textarea-field--${e.size}`,h.value&&`uid-textarea-field--error`,e.disabled&&`uid-textarea-field--disabled`,e.readonly&&`uid-textarea-field--readonly`]]}),[e.label?(B(),V(`label`,{key:0,for:L(u),class:`uid-textarea-field__label`},[G(F(e.label)+` `,1),e.required?(B(),V(`span`,au,`*`)):K(``,!0)],8,iu)):K(``,!0),Un(U(`textarea`,Ja(L(i)(),{id:L(u),ref_key:`textareaRef`,ref:c,"onUpdate:modelValue":n[0]||=e=>s.value=e,class:`uid-textarea-field__textarea`,name:e.name,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly,required:e.required,rows:e.rows,"aria-invalid":h.value?`true`:void 0,"aria-describedby":g.value?`${L(u)}-hint`:void 0,style:e.autoGrow?{resize:`none`,overflow:`hidden`}:{resize:e.resize},onBlur:v,onFocus:n[1]||=e=>o(`focus`,e)}),null,16,ou),[[qs,s.value]]),g.value?(B(),V(`p`,{key:1,id:`${L(u)}-hint`,class:P([`uid-textarea-field__hint`,h.value&&`uid-textarea-field__hint--error`])},F(g.value),11,su)):K(``,!0)],16))}}),lu={class:`uid-switch__label`},uu=[`id`,`name`,`checked`,`disabled`,`required`,`aria-describedby`,`aria-invalid`],du={key:0,class:`uid-switch__text`},fu={key:0,class:`uid-switch__required`,"aria-hidden":`true`},pu=Ar({inheritAttrs:!1,__name:`UidSwitch`,props:vi({label:{default:void 0},hint:{default:void 0},error:{default:void 0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},name:{default:void 0},id:{default:void 0},size:{default:`md`}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:vi([`change`],[`update:modelValue`]),setup(e,{emit:t}){let{rootAttrs:n,controlAttrs:r}=Yl(),i=e,a=t,o=Ri(e,`modelValue`),s=jr(),c=i.id??s,l=`${c}-hint`,u=q(()=>!!i.error),d=q(()=>i.error||i.hint);function f(e){let t=e.target.checked;o.value=t,a(`change`,t)}return(t,i)=>(B(),V(`div`,Ja(L(n)(),{class:[`uid-switch`,[`uid-switch--${e.size}`,u.value&&`uid-switch--error`,e.disabled&&`uid-switch--disabled`]]}),[U(`label`,lu,[U(`input`,Ja(L(r)(),{id:L(c),type:`checkbox`,role:`switch`,class:`uid-switch__input`,name:e.name,checked:o.value,disabled:e.disabled,required:e.required,"aria-describedby":d.value?l:void 0,"aria-invalid":u.value?`true`:void 0,onChange:f}),null,16,uu),i[0]||=U(`span`,{class:`uid-switch__track`,"aria-hidden":`true`},[U(`span`,{class:`uid-switch__thumb`})],-1),e.label?(B(),V(`span`,du,[G(F(e.label)+` `,1),e.required?(B(),V(`span`,fu,`*`)):K(``,!0)])):K(``,!0)]),d.value?(B(),V(`p`,{key:0,id:l,class:P([`uid-switch__hint`,u.value&&`uid-switch__hint--error`])},F(d.value),3)):K(``,!0)],16))}}),mu=[`for`],hu={key:0,class:`uid-form-field__required`,"aria-hidden":`true`},gu={class:`uid-form-field__content`},_u=[`id`],vu=Ar({__name:`UidFormField`,props:{label:{default:void 0},labelFor:{default:void 0},hint:{default:void 0},error:{default:void 0},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){let t=e,n=jr(),r=q(()=>!!(t.error||t.hint)),i=q(()=>t.error||t.hint),a=q(()=>!!t.error);return(t,o)=>(B(),V(`div`,{class:P([`uid-form-field`,[a.value&&`uid-form-field--error`,e.disabled&&`uid-form-field--disabled`]])},[e.label||t.$slots.label?(B(),V(`label`,{key:0,class:`uid-form-field__label`,for:e.labelFor},[ci(t.$slots,`label`,{},()=>[G(F(e.label),1)]),e.required?(B(),V(`span`,hu,`*`)):K(``,!0)],8,mu)):K(``,!0),U(`div`,gu,[ci(t.$slots,`default`)]),r.value?(B(),V(`p`,{key:1,id:L(n),class:P([`uid-form-field__hint`,a.value&&`uid-form-field__hint--error`])},F(i.value),11,_u)):K(``,!0)],2))}}),yu=Symbol(`UidLocale`);function bu(e,t){if(typeof t!=`object`||!t)return e;let n={...e};for(let r of Object.keys(t)){let i=t[r],a=e[r];i&&typeof i==`object`&&!Array.isArray(i)&&typeof a==`object`&&a&&!Array.isArray(a)?n[r]=bu(a,i):i!==void 0&&(n[r]=i)}return n}function xu(e){let t=q(()=>{let t=e.value;return t?bu(Sl,t):Sl});Gn(yu,t),Yn(()=>El(t.value))}function Su(){return Kn(yu,null)||q(()=>Sl)}var Cu=[`aria-label`],wu=Ar({__name:`UidSpinner`,props:{size:{default:`md`},label:{default:void 0}},setup(e){let t=Su();return(n,r)=>(B(),V(`span`,{class:P([`uid-spinner`,`uid-spinner--${e.size}`]),role:`status`,"aria-label":e.label??L(t).common.loading},null,10,Cu))}}),Tu=Ar({__name:`UidBadge`,props:{variant:{default:`default`},size:{default:`md`},dot:{type:Boolean,default:!1}},setup(e){return(t,n)=>(B(),V(`span`,{class:P([`uid-badge`,[`uid-badge--${e.variant}`,`uid-badge--${e.size}`,e.dot&&`uid-badge--dot`]])},[e.dot?K(``,!0):ci(t.$slots,`default`,{key:0})],2))}}),Eu={class:`uid-alert__icon`},Du={class:`uid-alert__content`},Ou={key:0,class:`uid-alert__title`},ku={class:`uid-alert__body`},Au=[`aria-label`],ju=Ar({__name:`UidAlert`,props:{variant:{default:`info`},title:{default:void 0},dismissible:{type:Boolean,default:!1},icon:{default:void 0}},emits:[`dismiss`],setup(e,{emit:t}){let n=Su(),r=e,i=t,a={info:Kc,success:Ic,warning:pl,danger:Fc},o=q(()=>a[r.variant??`info`]);return(t,r)=>(B(),V(`div`,{class:P([`uid-alert`,`uid-alert--${e.variant}`]),role:`alert`},[U(`span`,Eu,[ci(t.$slots,`icon`,{},()=>[W(_c,{icon:e.icon??o.value,size:18},null,8,[`icon`])])]),U(`div`,Du,[e.title?(B(),V(`p`,Ou,F(e.title),1)):K(``,!0),U(`div`,ku,[ci(t.$slots,`default`)])]),e.dismissible?(B(),V(`button`,{key:0,type:`button`,class:`uid-alert__close`,"aria-label":L(n).common.close,onClick:r[0]||=e=>i(`dismiss`)},[W(_c,{icon:L(_l),size:16},null,8,[`icon`])],8,Au)):K(``,!0)],2))}}),Mu={class:`uid-toast__icon`},Nu={class:`uid-toast__content`},Pu={key:0,class:`uid-toast__title`},Fu={class:`uid-toast__message`},Iu=[`aria-label`],Lu=Ar({__name:`UidToast`,props:{id:{},message:{},variant:{default:`info`},title:{default:void 0}},emits:[`dismiss`],setup(e,{emit:t}){let n=Su(),r=e,i=t,a={info:Kc,success:Ic,warning:pl,danger:Fc},o=q(()=>a[r.variant??`info`]);return(t,r)=>(B(),V(`div`,{class:P([`uid-toast`,`uid-toast--${e.variant}`]),role:`alert`,"aria-live":`polite`,"aria-atomic":`true`},[U(`span`,Mu,[W(_c,{icon:o.value,size:18},null,8,[`icon`])]),U(`div`,Nu,[e.title?(B(),V(`p`,Pu,F(e.title),1)):K(``,!0),U(`p`,Fu,F(e.message),1)]),U(`button`,{type:`button`,class:`uid-toast__close`,"aria-label":L(n).toast.close,onClick:r[0]||=t=>i(`dismiss`,e.id)},[W(_c,{icon:L(_l),size:14},null,8,[`icon`])],8,Iu)],2))}}),Ru=I([]),zu=0;function Bu(){function e(e){let n=typeof e==`string`?{message:e}:e,r={id:++zu,variant:`info`,duration:4e3,...n};return Ru.value.push(r),r.duration>0&&setTimeout(()=>t(r.id),r.duration),r.id}function t(e){let t=Ru.value.findIndex(t=>t.id===e);t!==-1&&Ru.value.splice(t,1)}function n(){Ru.value=[]}function r(t){return e(typeof t==`string`?{message:t,variant:`success`}:{...t,variant:`success`})}function i(t){return e(typeof t==`string`?{message:t,variant:`danger`}:{...t,variant:`danger`})}function a(t){return e(typeof t==`string`?{message:t,variant:`warning`}:{...t,variant:`warning`})}function o(t){return e(typeof t==`string`?{message:t,variant:`info`}:{...t,variant:`info`})}return{toasts:Bt(Ru),add:e,dismiss:t,clear:n,success:r,error:i,warning:a,info:o}}var Vu=Ar({__name:`UidToastProvider`,setup(e){let{toasts:t,dismiss:n}=Bu();return(e,r)=>(B(),H(fr,{to:`body`},[W(js,{tag:`div`,name:`uid-toast`,class:`uid-toast-list`},{default:R(()=>[(B(!0),V(z,null,oi(L(t),e=>(B(),H(Lu,Ja({key:e.id},{ref_for:!0},e,{onDismiss:L(n)}),null,16,[`onDismiss`]))),128))]),_:1})]))}}),Hu=`a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`;function Uu(e){let t=I(null);function n(){return e.value?Array.from(e.value.querySelectorAll(Hu)).filter(e=>!e.closest(`[aria-hidden="true"]`)):[]}function r(e){if(e.key!==`Tab`)return;let t=n();if(!t.length){e.preventDefault();return}let r=t[0],i=t[t.length-1];e.shiftKey?document.activeElement===r&&(e.preventDefault(),i.focus()):document.activeElement===i&&(e.preventDefault(),r.focus())}function i(i){t.value=document.activeElement,document.addEventListener(`keydown`,r),(i?.value??e.value?.querySelector(`[autofocus]`)??n()[0]??e.value)?.focus()}function a(){document.removeEventListener(`keydown`,r),t.value?.focus(),t.value=null}return{activate:i,deactivate:a}}var Wu=0;function Gu(){let e=!1;function t(){if(!e&&(e=!0,Wu++,Wu===1)){let e=window.innerWidth-document.documentElement.clientWidth;document.body.style.overflow=`hidden`,e>0&&(document.body.style.paddingRight=`${e}px`)}}function n(){e&&(e=!1,Wu--,Wu===0&&(document.body.style.overflow=``,document.body.style.paddingRight=``))}return{lock:t,unlock:n}}var Ku=[];function qu(){let e=Symbol(`uid-overlay`);function t(){Ku.includes(e)||Ku.push(e)}function n(){let t=Ku.indexOf(e);t>=0&&Ku.splice(t,1)}function r(){return Ku[Ku.length-1]===e}return{push:t,pop:n,isTop:r}}var Ju=[`aria-labelledby`],Yu={class:`uid-modal__header`},Xu=[`id`],Zu=[`aria-label`],Qu={class:`uid-modal__body`},$u={key:0,class:`uid-modal__footer`},ed=Ar({__name:`UidModal`,props:vi({title:{default:void 0},size:{default:`md`},closeOnOverlay:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},hideClose:{type:Boolean,default:!1}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:vi([`close`],[`update:modelValue`]),setup(e,{emit:t}){let n=Su(),r=Ri(e,`modelValue`),i=e,a=t,o=jr(),s=I(null),{activate:c,deactivate:l}=Uu(s),u=qu(),{lock:d,unlock:f}=Gu();function p(){r.value=!1,a(`close`)}function m(){i.closeOnOverlay&&p()}Zn(r,async e=>{e?(u.push(),d(),await kn(),c(),document.addEventListener(`keydown`,h)):(u.pop(),f(),l(),document.removeEventListener(`keydown`,h))}),Yr(()=>{r.value&&(u.pop(),f(),l(),document.removeEventListener(`keydown`,h))});function h(e){e.key!==`Escape`||e.defaultPrevented||!u.isTop()||i.closeOnEsc&&(e.preventDefault(),p())}return(t,i)=>(B(),H(fr,{to:`body`},[W(Fo,{name:`uid-modal`},{default:R(()=>[r.value?(B(),V(`div`,{key:0,class:`uid-modal-overlay`,onClick:sc(m,[`self`])},[U(`div`,{ref_key:`dialogRef`,ref:s,class:P([`uid-modal`,`uid-modal--${e.size}`]),role:`dialog`,"aria-modal":`true`,"aria-labelledby":e.title?L(o):void 0,tabindex:`-1`},[U(`div`,Yu,[ci(t.$slots,`header`,{},()=>[e.title?(B(),V(`p`,{key:0,id:L(o),class:`uid-modal__title`},F(e.title),9,Xu)):K(``,!0)]),e.hideClose?K(``,!0):(B(),V(`button`,{key:0,type:`button`,class:`uid-modal__close`,"aria-label":L(n).modal.close,onClick:p},[W(_c,{icon:L(_l),size:18},null,8,[`icon`])],8,Zu))]),U(`div`,Qu,[ci(t.$slots,`default`)]),t.$slots.footer?(B(),V(`div`,$u,[ci(t.$slots,`footer`)])):K(``,!0)],10,Ju)])):K(``,!0)]),_:3})]))}}),td=[`aria-labelledby`],nd={class:`uid-drawer__header`},rd=[`id`],id=[`aria-label`],ad={class:`uid-drawer__body`},od={key:0,class:`uid-drawer__footer`},sd=Ar({__name:`UidDrawer`,props:vi({title:{default:void 0},side:{default:`right`},closeOnOverlay:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},hideClose:{type:Boolean,default:!1},width:{default:void 0},height:{default:void 0}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:vi([`close`],[`update:modelValue`]),setup(e,{emit:t}){let n=Su(),r=Ri(e,`modelValue`),i=e,a=t,o=jr(),s=I(null),{activate:c,deactivate:l}=Uu(s),u=qu(),{lock:d,unlock:f}=Gu();function p(){r.value=!1,a(`close`)}function m(){i.closeOnOverlay&&p()}function h(e){e.key!==`Escape`||e.defaultPrevented||!u.isTop()||i.closeOnEsc&&(e.preventDefault(),p())}return Zn(r,async e=>{e?(u.push(),d(),await kn(),c(),document.addEventListener(`keydown`,h)):(u.pop(),f(),l(),document.removeEventListener(`keydown`,h))}),Yr(()=>{r.value&&(u.pop(),f(),l(),document.removeEventListener(`keydown`,h))}),(t,i)=>(B(),H(fr,{to:`body`},[W(Fo,{name:`uid-drawer-${e.side}`},{default:R(()=>[r.value?(B(),V(`div`,{key:0,class:`uid-drawer-overlay`,onClick:sc(m,[`self`])},[U(`div`,{ref_key:`panelRef`,ref:s,class:P([`uid-drawer`,`uid-drawer--${e.side}`]),style:se({width:e.side===`left`||e.side===`right`?e.width:void 0,height:e.side===`top`||e.side===`bottom`?e.height:void 0}),role:`dialog`,"aria-modal":`true`,"aria-labelledby":e.title?L(o):void 0,tabindex:`-1`},[U(`div`,nd,[ci(t.$slots,`header`,{},()=>[e.title?(B(),V(`p`,{key:0,id:L(o),class:`uid-drawer__title`},F(e.title),9,rd)):K(``,!0)]),e.hideClose?K(``,!0):(B(),V(`button`,{key:0,type:`button`,class:`uid-drawer__close`,"aria-label":L(n).drawer.close,onClick:p},[W(_c,{icon:L(_l),size:18},null,8,[`icon`])],8,id))]),U(`div`,ad,[ci(t.$slots,`default`)]),t.$slots.footer?(B(),V(`div`,od,[ci(t.$slots,`footer`)])):K(``,!0)],14,td)])):K(``,!0)]),_:3},8,[`name`])]))}}),cd=8,ld=8;function ud(e,t,n={}){let r=I(0),i=I(0),a=I(en(n.placement)??`bottom`),o=q(()=>({position:`fixed`,left:`${r.value}px`,top:`${i.value}px`}));function s(){let o=e.value,s=t.value;if(!o||!s)return;let c=o.getBoundingClientRect(),l=s.getBoundingClientRect(),u=n.offset??cd,d=window.innerWidth,f=window.innerHeight,p=en(n.placement)??`bottom`;if(p.startsWith(`bottom`)){let e=f-c.bottom,t=c.top;e<l.height+u&&t>e&&(p=p.replace(`bottom`,`top`))}else if(p.startsWith(`top`)){let e=c.top,t=f-c.bottom;e<l.height+u&&t>e&&(p=p.replace(`top`,`bottom`))}a.value=p;let m=0,h=0;p.startsWith(`bottom`)?(h=c.bottom+u,m=p===`bottom`?c.left+c.width/2-l.width/2:p===`bottom-start`?c.left:c.right-l.width):p.startsWith(`top`)?(h=c.top-l.height-u,m=p===`top`?c.left+c.width/2-l.width/2:p===`top-start`?c.left:c.right-l.width):p===`left`?(m=c.left-l.width-u,h=c.top+c.height/2-l.height/2):(m=c.right+u,h=c.top+c.height/2-l.height/2),r.value=Math.max(ld,Math.min(m,d-l.width-ld)),i.value=Math.max(ld,Math.min(h,f-l.height-ld))}return{x:r,y:i,actualPlacement:a,floatingStyle:o,update:s}}var dd=[`aria-describedby`],fd=[`id`],pd=Ar({__name:`UidTooltip`,props:{content:{},placement:{default:`top`},disabled:{type:Boolean,default:!1}},setup(e){let t=e,n=jr(),r=I(null),i=I(null),a=I(!1),{floatingStyle:o,update:s}=ud(r,i,{placement:q(()=>t.placement)});async function c(){t.disabled||(a.value=!0,await kn(),s())}function l(){a.value=!1}return(t,s)=>(B(),V(z,null,[U(`div`,{ref_key:`referenceRef`,ref:r,class:`uid-tooltip-anchor`,"aria-describedby":a.value?L(n):void 0,onMouseenter:c,onMouseleave:l,onFocusin:c,onFocusout:l},[ci(t.$slots,`default`)],40,dd),(B(),H(fr,{to:`body`},[W(Fo,{name:`uid-tooltip`},{default:R(()=>[a.value?(B(),V(`div`,{key:0,id:L(n),ref_key:`floatingRef`,ref:i,class:`uid-tooltip`,role:`tooltip`,style:se(L(o))},F(e.content),13,fd)):K(``,!0)]),_:1})]))],64))}}),md=Symbol(`uid-menu-close`),hd=Symbol(`uid-menu-level`),gd=`[role="menuitem"]:not([disabled]):not([aria-disabled="true"])`;function _d(e){return e?Array.from(e.querySelectorAll(gd)).filter(t=>t.parentElement?.closest(`[role="menu"]`)===e):[]}function vd(e,t){let n=_d(e);if(!n.length)return!1;let r=n.indexOf(document.activeElement),i;if(t===`ArrowDown`)i=n[(r+1)%n.length];else if(t===`ArrowUp`)i=n[(r-1+n.length)%n.length];else if(t===`Home`)i=n[0];else if(t===`End`)i=n[n.length-1];else return!1;return i?.focus(),!0}var yd=[`role`,`tabindex`,`aria-haspopup`,`aria-expanded`,`aria-controls`],bd=[`id`],xd=`button, a[href], input, select, textarea, [role="button"], [tabindex]`,Sd=Ar({__name:`UidMenu`,setup(e){let t=I(null),n=I(null),r=I(!1),i=jr(),{floatingStyle:a,update:o}=ud(q(()=>t.value?.firstElementChild??t.value),n,{placement:`bottom-start`}),s=I(!1);function c(){let e=t.value?.firstElementChild;s.value=e!==null&&e.matches(xd),s.value&&(e.setAttribute(`aria-haspopup`,`menu`),e.setAttribute(`aria-expanded`,String(r.value)),e.setAttribute(`aria-controls`,i))}Kr(c),Zn(r,c);function l(){return _d(n.value)}function u(){r.value=!1,t.value?.querySelector(`button, [tabindex]`)?.focus()}Gn(md,u);let d=I(null);Gn(hd,{activeSubmenu:d}),Zn(r,e=>{e||(d.value=null)});async function f(){r.value=!r.value,r.value&&(await kn(),o(),requestAnimationFrame(()=>{o(),l()[0]?.focus()}))}function p(e){e.key!==`ArrowDown`&&e.key!==`Enter`&&e.key!==` `||r.value||(e.preventDefault(),f())}function m(e){vd(n.value,e.key)?e.preventDefault():e.key===`Escape`?(e.preventDefault(),e.stopPropagation(),u()):e.key===`Tab`&&u()}function h(e){let i=e.target;t.value?.contains(i)||n.value?.contains(i)||(r.value=!1)}return Zn(r,e=>{e?document.addEventListener(`mousedown`,h):document.removeEventListener(`mousedown`,h)}),Xr(()=>{document.removeEventListener(`mousedown`,h)}),(e,o)=>(B(),V(z,null,[U(`div`,{ref_key:`triggerRef`,ref:t,class:`uid-menu-trigger`,role:s.value?void 0:`button`,tabindex:s.value?void 0:0,"aria-haspopup":s.value?void 0:`menu`,"aria-expanded":s.value?void 0:r.value,"aria-controls":s.value?void 0:L(i),onClick:f,onKeydown:p},[ci(e.$slots,`trigger`)],40,yd),(B(),H(fr,{to:`body`},[W(Fo,{name:`uid-menu`},{default:R(()=>[r.value?(B(),V(`div`,{key:0,id:L(i),ref_key:`menuRef`,ref:n,class:`uid-menu`,role:`menu`,style:se(L(a)),onKeydown:m},[ci(e.$slots,`default`)],44,bd)):K(``,!0)]),_:3})]))],64))}}),Cd=[`disabled`],wd=Ar({__name:`UidMenuItem`,props:{icon:{default:void 0},disabled:{type:Boolean,default:!1},variant:{default:`default`}},emits:[`click`],setup(e,{emit:t}){let n=e,r=t,i=Kn(md,()=>{});function a(e){n.disabled||(r(`click`,e),i())}return(t,n)=>(B(),V(`button`,{type:`button`,class:P([`uid-menu-item`,[`uid-menu-item--${e.variant}`,{"uid-menu-item--disabled":e.disabled}]]),role:`menuitem`,disabled:e.disabled,onClick:a},[e.icon?(B(),H(_c,{key:0,class:`uid-menu-item__icon`,icon:e.icon,size:16},null,8,[`icon`])):K(``,!0),ci(t.$slots,`default`)],10,Cd))}}),Td=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},Ed={},Dd={class:`uid-menu-separator`,role:`separator`,"aria-hidden":`true`};function Od(e,t){return B(),V(`div`,Dd)}var kd=Td(Ed,[[`render`,Od]]),Ad=[`aria-expanded`,`aria-controls`,`disabled`],jd={class:`uid-submenu__label`},Md=[`aria-label`,`data-side`],Nd=100,Pd=200,Fd=8,Id=2,Ld=Ar({__name:`UidSubMenu`,props:{label:{default:``},icon:{default:void 0},disabled:{type:Boolean,default:!1}},emits:[`open`,`close`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=jr(),o=`${a}-menu`,s=I(null),c=I(null),l=I(!1),u=I(`right`),d=I({position:`fixed`,left:`0px`,top:`0px`,visibility:`hidden`}),f=Kn(hd,null),p=I(null);Gn(hd,{activeSubmenu:p});let m,h,g=``;function _(){clearTimeout(m),clearTimeout(h)}function v(){let e=s.value,t=c.value;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=window.innerWidth,a=window.innerHeight,o=n.right+Id;if(u.value=`right`,o+r.width>i-Fd){let e=n.left-Id-r.width;e>=Fd?(o=e,u.value=`left`):o=Math.max(Fd,i-Fd-r.width)}let l=parseFloat(getComputedStyle(t).paddingTop)||0,f=n.top-l;f+r.height>a-Fd&&(f=a-Fd-r.height),f=Math.max(Fd,f),d.value={position:`fixed`,left:`${o}px`,top:`${f}px`}}async function y(e=!1){r.disabled||(_(),f&&(f.activeSubmenu.value=a),l.value||(l.value=!0,i(`open`)),await kn(),v(),e&&(await kn(),_d(c.value)[0]?.focus()))}function b(e=!1){_(),l.value&&(l.value=!1,p.value=null,i(`close`)),f&&f.activeSubmenu.value===a&&(f.activeSubmenu.value=null),e&&s.value?.focus()}f&&Zn(f.activeSubmenu,e=>{e!==a&&l.value&&b()});function x(e){g=e.pointerType}function S(e){g=e.pointerType,!(e.pointerType!==`mouse`||r.disabled)&&(clearTimeout(h),!l.value&&(m=setTimeout(()=>{y()},Nd)))}function C(){clearTimeout(h)}function w(){clearTimeout(m),g===`mouse`&&l.value&&(h=setTimeout(()=>b(),Pd))}function T(){r.disabled||(l.value&&g!==`mouse`?b():y())}function ee(e){(e.key===`ArrowRight`||e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),y(!0))}function E(e){vd(c.value,e.key)?(e.preventDefault(),e.stopPropagation()):(e.key===`ArrowLeft`||e.key===`Escape`)&&(e.preventDefault(),e.stopPropagation(),b(!0))}return Xr(()=>{_(),f&&f.activeSubmenu.value===a&&(f.activeSubmenu.value=null)}),t({open:y,close:b}),(t,n)=>(B(),V(`div`,{class:`uid-submenu`,role:`none`,onMouseenter:C,onMouseleave:w},[U(`button`,{ref_key:`triggerRef`,ref:s,type:`button`,class:P([`uid-menu-item uid-submenu__trigger`,{"uid-menu-item--disabled":e.disabled,"uid-submenu__trigger--open":l.value}]),role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":l.value?`true`:`false`,"aria-controls":l.value?o:void 0,disabled:e.disabled,onPointerdown:x,onPointerenter:S,onClick:T,onKeydown:ee},[e.icon?(B(),H(_c,{key:0,class:`uid-menu-item__icon`,icon:e.icon,size:16},null,8,[`icon`])):K(``,!0),U(`span`,jd,[ci(t.$slots,`label`,{},()=>[G(F(e.label),1)])]),W(_c,{icon:L(Pc),size:16,class:`uid-submenu__chevron`},null,8,[`icon`])],42,Ad),W(Fo,{name:`uid-submenu`},{default:R(()=>[l.value?(B(),V(`div`,{key:0,id:o,ref_key:`panelRef`,ref:c,class:`uid-menu uid-submenu__panel`,role:`menu`,"aria-label":e.label||void 0,"data-side":u.value,style:se(d.value),onKeydown:E},[ci(t.$slots,`default`)],44,Md)):K(``,!0)]),_:3})],32))}}),Rd=Symbol(`uid-tabs`),zd=[`aria-orientation`],Bd={class:`uid-tabs__panels`},Vd=Ar({__name:`UidTabs`,props:vi({orientation:{default:`horizontal`}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=Ri(e,`modelValue`);return Gn(Rd,{activeTab:t,setTab:e=>{t.value=e},idPrefix:jr()}),(t,n)=>(B(),V(`div`,{class:P([`uid-tabs`,`uid-tabs--${e.orientation}`])},[U(`div`,{class:`uid-tabs__list`,role:`tablist`,"aria-orientation":e.orientation},[ci(t.$slots,`list`)],8,zd),U(`div`,Bd,[ci(t.$slots,`default`)])],2))}}),Hd=[`id`,`aria-selected`,`aria-controls`,`disabled`,`tabindex`],Ud=Ar({__name:`UidTab`,props:{value:{},disabled:{type:Boolean,default:!1}},setup(e){let t=e,n=Kn(Rd),r=q(()=>n.activeTab.value===t.value),i=q(()=>`${n.idPrefix}-tab-${t.value}`),a=q(()=>`${n.idPrefix}-panel-${t.value}`);function o(){t.disabled||n.setTab(t.value)}function s(e){let t=e.currentTarget,n=t.closest(`[role="tablist"]`);if(!n)return;let r=Array.from(n.querySelectorAll(`[role="tab"]:not([disabled])`)),i=r.indexOf(t),a=n.getAttribute(`aria-orientation`)===`vertical`,o=a?`ArrowUp`:`ArrowLeft`,s=a?`ArrowDown`:`ArrowRight`;if(e.key===s){e.preventDefault();let t=r[(i+1)%r.length];t?.focus(),t?.click()}else if(e.key===o){e.preventDefault();let t=r[(i-1+r.length)%r.length];t?.focus(),t?.click()}else e.key===`Home`?(e.preventDefault(),r[0]?.focus(),r[0]?.click()):e.key===`End`&&(e.preventDefault(),r[r.length-1]?.focus(),r[r.length-1]?.click())}return(t,n)=>(B(),V(`button`,{id:i.value,type:`button`,class:P([`uid-tab`,{"uid-tab--active":r.value}]),role:`tab`,"aria-selected":r.value,"aria-controls":a.value,disabled:e.disabled||void 0,tabindex:r.value?0:-1,onClick:o,onKeydown:s},[ci(t.$slots,`default`)],42,Hd))}}),Wd=[`id`,`aria-labelledby`],Gd=Ar({__name:`UidTabPanel`,props:{value:{}},setup(e){let t=e,n=Kn(Rd),r=q(()=>n.activeTab.value===t.value),i=q(()=>`${n.idPrefix}-panel-${t.value}`),a=q(()=>`${n.idPrefix}-tab-${t.value}`);return(e,t)=>r.value?(B(),V(`div`,{key:0,id:i.value,class:`uid-tab-panel`,role:`tabpanel`,"aria-labelledby":a.value,tabindex:`0`},[ci(e.$slots,`default`)],8,Wd)):K(``,!0)}}),Kd=Symbol(`UidBreadcrumb`),qd=[`aria-label`],Jd=[`id`,`aria-label`],Yd=[`aria-disabled`,`onClick`],Xd=Ar({__name:`UidBreadcrumb`,props:{label:{default:void 0},separator:{default:`/`},nowrap:{type:Boolean,default:!1},collapse:{type:Boolean,default:!1},collapseMenu:{type:Boolean,default:!0},collapseFirst:{type:Boolean,default:!1},container:{default:null}},setup(e,{expose:t}){let n=e,r=Su(),i=I(0);Jr(()=>{i.value++});let a=I(null),o=I(null),s=I(null),c=Zt([]),l=I(!1),u=q(()=>n.nowrap||n.collapse);function d(){let e=o.value;return e?Array.from(e.children).filter(e=>e instanceof HTMLElement&&e.classList.contains(`uid-breadcrumb__item`)):[]}let f=0;async function p(){let e=++f;if(!n.collapse){c.value=[];return}if(l.value=!0,c.value.length>0&&(c.value=[]),await kn(),e!==f)return;let t=o.value,r=d(),i=t?.clientWidth??0,a=r.map(e=>e.getBoundingClientRect().width),u=a.reduce((e,t)=>e+t,0),p=r.slice(1,-1);n.collapseFirst&&r.length>1&&p.push(r[0]);let m=0;if(i>0&&u>i&&r.length>1){let e=s.value?.getBoundingClientRect().width??0;for(;m<p.length;){let t=p[m++];if(u-=a[r.indexOf(t)],u+e<=i)break}}let h=e=>r.filter(t=>p.slice(0,e).includes(t));for(c.value=h(m);t&&m>0&&m<p.length;){if(await kn(),e!==f)return;if(t.scrollWidth<=t.clientWidth+.5)break;c.value=h(++m)}l.value=!1}function m(){p()}let h=null,g=null,_=new WeakMap;function v(){let e=n.container;return e?typeof e==`string`?a.value?.closest(e)??null:e:null}function y(e){let t=!1;for(let n of e){let e=n.contentRect.width;_.get(n.target)!==e&&(_.set(n.target,e),t=!0)}t&&m()}function b(){if(x(),!n.collapse)return;let e=a.value;if(typeof ResizeObserver<`u`&&e){h=new ResizeObserver(y);let t=new Set([e]);e.parentElement&&t.add(e.parentElement);let n=v();n&&t.add(n);for(let e of t)h.observe(e)}typeof MutationObserver<`u`&&o.value&&(g=new MutationObserver(m),g.observe(o.value,{childList:!0}))}function x(){h?.disconnect(),g?.disconnect(),h=null,g=null}Kr(()=>{b(),m()}),Zn(()=>n.collapse,()=>{b(),m(),n.collapse||M()}),Zn(()=>n.container,()=>{b(),m()}),Zn(()=>n.collapseFirst,m),Yr(()=>{x(),j()});let S=I(!1),C=I(null),w=I(null),T=jr(),{floatingStyle:ee,update:E}=ud(C,w,{placement:`bottom-start`,offset:4});function D(e){return e.querySelector(`:scope > :not(.uid-breadcrumb__separator):not(.uid-breadcrumb__ellipsis)`)}let O=q(()=>c.value.map(e=>{let t=D(e),n=t&&t.matches(`a, button`)?t:null;return{el:e,label:t?.textContent?.trim()??``,target:n}}));function k(){return Array.from(w.value?.querySelectorAll(`[role="menuitem"]`)??[])}async function A(e){C.value=e,S.value=!0,await kn(),E(),k()[0]?.focus(),document.addEventListener(`pointerdown`,te),window.addEventListener(`resize`,E),window.addEventListener(`scroll`,E,!0)}function j(){document.removeEventListener(`pointerdown`,te),window.removeEventListener(`resize`,E),window.removeEventListener(`scroll`,E,!0)}function M(e=!1){S.value&&(S.value=!1,j(),e&&C.value?.focus())}function N(e){S.value?M():A(e)}function te(e){let t=e.target;w.value?.contains(t)||C.value?.contains(t)||M()}function ne(e){e.target&&(M(),e.target.click())}function re(e){let t=k(),n=t.indexOf(document.activeElement);e.key===`ArrowDown`?(e.preventDefault(),t[(n+1)%t.length]?.focus()):e.key===`ArrowUp`?(e.preventDefault(),t[(n-1+t.length)%t.length]?.focus()):e.key===`Home`?(e.preventDefault(),t[0]?.focus()):e.key===`End`?(e.preventDefault(),t[t.length-1]?.focus()):e.key===`Escape`?(e.preventDefault(),e.stopPropagation(),M(!0)):e.key===`Tab`&&M()}return Zn(c,e=>{e.length===0&&M()}),Gn(Kd,{tick:i,hidden:c,menu:cn(n,`collapseMenu`),menuId:T,menuOpen:S,toggleMenu:N}),t({recompute:p}),(t,n)=>(B(),V(`nav`,{ref_key:`navRef`,ref:a,class:P([`uid-breadcrumb`,{"uid-breadcrumb--nowrap":u.value,"uid-breadcrumb--collapse":e.collapse,"uid-breadcrumb--measuring":l.value}]),"aria-label":e.label??L(r).breadcrumb?.label},[U(`ol`,{ref_key:`listRef`,ref:o,class:`uid-breadcrumb__list`,style:se({"--uid-breadcrumb-sep":`'${e.separator}'`})},[ci(t.$slots,`default`)],4),e.collapse?(B(),V(`span`,{key:0,ref_key:`probeRef`,ref:s,class:`uid-breadcrumb__item uid-breadcrumb__probe`,style:se({"--uid-breadcrumb-sep":`'${e.separator}'`}),"aria-hidden":`true`},[n[0]||=U(`span`,{class:`uid-breadcrumb__separator`},null,-1),U(`span`,{class:P([`uid-breadcrumb__ellipsis`,{"uid-breadcrumb__ellipsis--button":e.collapseMenu}])},`…`,2)],4)):K(``,!0),e.collapse&&e.collapseMenu?(B(),H(fr,{key:1,to:`body`},[S.value?(B(),V(`div`,{key:0,id:L(T),ref_key:`menuRef`,ref:w,class:`uid-breadcrumb__menu`,role:`menu`,"aria-label":L(r).breadcrumb?.showHidden,style:se(L(ee)),onKeydown:re},[(B(!0),V(z,null,oi(O.value,(e,t)=>(B(),V(`button`,{key:t,type:`button`,role:`menuitem`,class:`uid-breadcrumb__menu-item`,tabindex:`-1`,"aria-disabled":e.target?void 0:`true`,onClick:t=>ne(e)},F(e.label),9,Yd))),128))],44,Jd)):K(``,!0)])):K(``,!0)],10,qd))}});function Zd(e){let t=to();return{routerLink:q(()=>e.to===void 0?null:t?.appContext.components.RouterLink??null),fallbackHref:q(()=>e.href??(typeof e.to==`string`?e.to:void 0))}}var Qd=[`aria-label`,`aria-expanded`,`aria-controls`],$d={key:1,class:`uid-breadcrumb__ellipsis`,"aria-hidden":`true`},ef={key:1,class:`uid-breadcrumb__current`,"aria-current":`page`},tf=[`href`],nf={key:5,class:`uid-breadcrumb__text`},rf=Ar({__name:`UidBreadcrumbItem`,props:{href:{default:void 0},to:{default:void 0},current:{type:Boolean,default:void 0}},emits:[`click`],setup(e,{emit:t}){let n=e,r=t,i=to(),a=Kn(Kd,null),o=I(null),s=I(!1);function c(){let e=o.value;s.value=!!e&&e.nextElementSibling===null}Kr(c),Jr(c),a&&Zn(a.tick,c,{flush:`post`});let l=q(()=>n.current??s.value),u=Su(),d=q(()=>!!a&&!!o.value&&a.hidden.value.includes(o.value)),f=q(()=>d.value&&a.hidden.value[0]===o.value);function p(e){a?.toggleMenu(e.currentTarget)}let{routerLink:m,fallbackHref:h}=Zd(n);function g(){return!!i?.vnode.props?.onClick}function _(e){r(`click`,e)}return(t,n)=>(B(),V(`li`,{ref_key:`itemRef`,ref:o,class:P([`uid-breadcrumb__item`,{"uid-breadcrumb__item--collapsed":d.value&&!f.value,"uid-breadcrumb__item--ellipsis":f.value}])},[n[0]||=U(`span`,{class:`uid-breadcrumb__separator`,"aria-hidden":`true`},null,-1),f.value?(B(),V(z,{key:0},[L(a)?.menu.value?(B(),V(`button`,{key:0,type:`button`,class:`uid-breadcrumb__ellipsis uid-breadcrumb__ellipsis--button`,"aria-label":L(u).breadcrumb?.showHidden,"aria-haspopup":`menu`,"aria-expanded":L(a).menuOpen.value,"aria-controls":L(a).menuOpen.value?L(a).menuId:void 0,onClick:p},` … `,8,Qd)):(B(),V(`span`,$d,`…`))],64)):K(``,!0),l.value?(B(),V(`span`,ef,[ci(t.$slots,`default`)])):L(m)?(B(),H(ri(L(m)),{key:2,class:`uid-breadcrumb__link`,to:e.to,onClick:_},{default:R(()=>[ci(t.$slots,`default`)]),_:3},8,[`to`])):L(h)?(B(),V(`a`,{key:3,class:`uid-breadcrumb__link`,href:L(h),onClick:_},[ci(t.$slots,`default`)],8,tf)):g()?(B(),V(`button`,{key:4,type:`button`,class:`uid-breadcrumb__link uid-breadcrumb__link--button`,onClick:_},[ci(t.$slots,`default`)])):(B(),V(`span`,nf,[ci(t.$slots,`default`)]))],2))}}),af=[`aria-label`],of=Ar({__name:`UidTag`,props:{variant:{default:`default`},size:{default:`md`},dismissible:{type:Boolean,default:!1}},emits:[`dismiss`],setup(e,{emit:t}){let n=Su(),r=t;return(t,i)=>(B(),V(`span`,{class:P([`uid-tag`,[`uid-tag--${e.variant}`,`uid-tag--${e.size}`]])},[ci(t.$slots,`default`),e.dismissible?(B(),V(`button`,{key:0,type:`button`,class:`uid-tag__dismiss`,"aria-label":L(n).common.clear,onClick:i[0]||=sc(e=>r(`dismiss`),[`stop`])},[W(_c,{icon:L(_l),size:10},null,8,[`icon`])],8,af)):K(``,!0)],2))}}),sf=[`aria-expanded`,`aria-controls`,`aria-disabled`],cf={key:0,class:`uid-select__tags`},lf={class:`uid-select__tag-label`},uf=[`aria-label`,`onClick`],df={key:0,class:`uid-select__tag uid-select__tag--more`},ff={class:`uid-select__suffix`},pf=[`aria-label`],mf={key:0,class:`uid-select__search`},hf=[`placeholder`],gf=[`id`,`aria-multiselectable`],_f={key:0,class:`uid-select__group-label`},vf=[`data-active`,`aria-selected`,`aria-disabled`,`onClick`,`onMouseenter`],yf={key:1,class:`uid-select__empty`},bf=Ar({__name:`UidSelect`,props:{modelValue:{default:void 0},options:{},placeholder:{},disabled:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},size:{default:`md`},multiple:{type:Boolean,default:void 0},maxTagCount:{default:void 0}},emits:[`update:modelValue`,`change`],setup(e,{emit:t}){let n=e,r=Su(),i=q(()=>n.placeholder??r.value.select.placeholder),a=t,o=I(null),s=q(()=>n.modelValue===void 0?o.value:n.modelValue);function c(e){o.value=e,a(`update:modelValue`,e),a(`change`,e)}let l=I(!1),u=I(``),d=I(0),f=I(null),p=I(null),m=I(null),h=I(null),g=I(null),_=jr(),{floatingStyle:v,update:y}=ud(p,m,{placement:`bottom-start`,offset:4}),b=I(0);function x(){b.value=p.value?.getBoundingClientRect().width??0}let S=q(()=>({...v.value,minWidth:b.value>0?`${b.value}px`:`auto`})),C=q(()=>n.multiple?null:n.options.find(e=>e.value===s.value)??null),w=q(()=>{let e=s.value;return Array.isArray(e)?e:e===null?[]:[e]}),T=q(()=>w.value.map(e=>n.options.find(t=>t.value===e)).filter(e=>!!e)),ee=q(()=>n.maxTagCount!==void 0&&n.maxTagCount>=0?T.value.slice(0,n.maxTagCount):T.value),E=q(()=>T.value.length-ee.value.length),D=q(()=>n.multiple?w.value.length>0:s.value!==null);function O(e){return n.multiple?w.value.includes(e.value):e.value===s.value}let k=q(()=>{if(!n.searchable||!u.value.trim())return n.options;let e=u.value.toLowerCase();return n.options.filter(t=>t.label.toLowerCase().includes(e))}),A=q(()=>{let e=new Map;for(let t of k.value){let n=t.group??``;e.has(n)||e.set(n,[]),e.get(n).push(t)}return e});Zn(l,async e=>{if(e){u.value=``;let e=k.value.findIndex(e=>O(e));d.value=e>=0?e:0,x(),await kn(),y(),requestAnimationFrame(()=>y()),n.searchable&&g.value?.focus(),fe(),document.addEventListener(`pointerdown`,ae),window.addEventListener(`resize`,y),window.addEventListener(`scroll`,y,!0)}else document.removeEventListener(`pointerdown`,ae),window.removeEventListener(`resize`,y),window.removeEventListener(`scroll`,y,!0)}),Zn(u,()=>{d.value=0});function j(){n.disabled||(l.value=!0)}function M(){l.value=!1}function N(){l.value?M():j()}function te(e){c(e)}function ne(e){if(!e.disabled){if(n.multiple){let t=w.value;te(t.includes(e.value)?t.filter(t=>t!==e.value):[...t,e.value]),kn(()=>y());return}c(e.value),M(),p.value?.focus()}}function re(e,t){t?.stopPropagation(),!n.disabled&&(te(w.value.filter(t=>t!==e)),kn(()=>y()))}function ie(e){e.stopPropagation(),n.multiple?te([]):c(null)}function ae(e){let t=e.target;f.value?.contains(t)||m.value?.contains(t)||M()}function oe(e){e.key===`ArrowDown`?(e.preventDefault(),l.value?le():j()):e.key===`ArrowUp`?(e.preventDefault(),l.value&&ue()):e.key===`Enter`||e.key===` `?(e.preventDefault(),l.value?de():j()):e.key===`Escape`?(l.value&&(e.preventDefault(),e.stopPropagation()),M()):e.key===`Backspace`&&n.multiple&&w.value.length>0&&(e.preventDefault(),re(w.value[w.value.length-1]))}function ce(e){e.key===`ArrowDown`?(e.preventDefault(),le()):e.key===`ArrowUp`?(e.preventDefault(),ue()):e.key===`Enter`?(e.preventDefault(),de()):e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),M(),p.value?.focus())}function le(){d.value=Math.min(d.value+1,k.value.length-1),fe()}function ue(){d.value=Math.max(d.value-1,0),fe()}function de(){let e=k.value[d.value];e&&ne(e)}function fe(){kn(()=>{(h.value?.querySelector(`[data-active="true"]`))?.scrollIntoView?.({block:`nearest`})})}return Xr(()=>{document.removeEventListener(`pointerdown`,ae),window.removeEventListener(`resize`,y),window.removeEventListener(`scroll`,y,!0)}),(t,n)=>(B(),V(`div`,{ref_key:`containerRef`,ref:f,class:P([`uid-select`,[`uid-select--${e.size}`,{"uid-select--open":l.value,"uid-select--disabled":e.disabled,"uid-select--multiple":e.multiple}]])},[U(`div`,{ref_key:`triggerRef`,ref:p,class:`uid-select__trigger`,role:`combobox`,tabindex:`0`,"aria-expanded":l.value,"aria-haspopup":`listbox`,"aria-controls":L(_),"aria-disabled":e.disabled,onClick:N,onKeydown:oe},[e.multiple&&T.value.length>0?(B(),V(`span`,cf,[(B(!0),V(z,null,oi(ee.value,t=>(B(),V(`span`,{key:t.value,class:`uid-select__tag`},[U(`span`,lf,F(t.label),1),e.disabled?K(``,!0):(B(),V(`button`,{key:0,type:`button`,class:`uid-select__tag-remove`,tabindex:`-1`,"aria-label":L(r).tagsInput.remove(t.label),onClick:e=>re(t.value,e)},[W(_c,{icon:L(_l),size:12},null,8,[`icon`])],8,uf))]))),128)),E.value>0?(B(),V(`span`,df,`+`+F(E.value),1)):K(``,!0)])):(B(),V(`span`,{key:1,class:P([`uid-select__value`,{"uid-select__value--placeholder":!C.value}])},F(C.value?.label??i.value),3)),U(`div`,ff,[e.clearable&&D.value?(B(),V(`button`,{key:0,type:`button`,class:`uid-select__clear`,"aria-label":L(r).common.clear,onClick:ie},[W(_c,{icon:L(_l),size:12},null,8,[`icon`])],8,pf)):K(``,!0),W(_c,{icon:L(Mc),size:16,class:P([`uid-select__chevron`,{"uid-select__chevron--open":l.value}]),"aria-hidden":`true`},null,8,[`icon`,`class`])])],40,sf),(B(),H(fr,{to:`body`},[W(Fo,{name:`uid-select-dropdown`},{default:R(()=>[l.value?(B(),V(`div`,{key:0,ref_key:`dropdownRef`,ref:m,class:`uid-select__dropdown`,style:se(S.value)},[e.searchable?(B(),V(`div`,mf,[Un(U(`input`,{ref_key:`searchRef`,ref:g,"onUpdate:modelValue":n[0]||=e=>u.value=e,class:`uid-select__search-input`,type:`text`,placeholder:L(r).common.search,autocomplete:`off`,onKeydown:ce},null,40,hf),[[qs,u.value]])])):K(``,!0),U(`div`,{id:L(_),ref_key:`listRef`,ref:h,class:`uid-select__list`,role:`listbox`,"aria-multiselectable":e.multiple?`true`:void 0,onKeydown:ce},[k.value.length>0?(B(!0),V(z,{key:0},oi(A.value,([e,t])=>(B(),V(z,{key:e},[e?(B(),V(`div`,_f,F(e),1)):K(``,!0),(B(!0),V(z,null,oi(t,e=>(B(),V(`button`,{key:e.value,type:`button`,class:P([`uid-select__option`,{"uid-select__option--selected":O(e),"uid-select__option--active":k.value.indexOf(e)===d.value,"uid-select__option--disabled":e.disabled}]),"data-active":k.value.indexOf(e)===d.value?`true`:void 0,role:`option`,"aria-selected":O(e),"aria-disabled":e.disabled,onClick:t=>ne(e),onMouseenter:t=>!e.disabled&&(d.value=k.value.indexOf(e))},[U(`span`,null,F(e.label),1),O(e)?(B(),H(_c,{key:0,icon:L(jc),size:14,"aria-hidden":`true`,class:`uid-select__check`},null,8,[`icon`])):K(``,!0)],42,vf))),128))],64))),128)):(B(),V(`div`,yf,F(L(r).select.noResults),1))],40,gf)],4)):K(``,!0)]),_:1})]))],2))}}),xf=(e,t=``)=>RegExp(`\\b(?:${e.replace(/ /g,`|`)})\\b`,t),Sf=/\/\*[\s\S]*?(?:\*\/|$)/,Cf=/"(?:\\[\s\S]|[^"\\\n])*"?/,wf=/'(?:\\[\s\S]|[^'\\\n])*'?/,Tf=/\b(?:0[xob][\da-f_]+|\d[\d_]*(?:\.\d+)?(?:e[+-]?\d+)?n?)\b/i,Ef=/[A-Za-z_$][\w$]*(?=\s*\()/,Df=/[A-Za-z_$][\w$]*/,Of=/[{}()[\];,.<>=+\-*/%!&|^~?:@\\]+/;xf(`abstract as async await break case catch class const continue debugger declare default delete do else enum export extends finally for from function get if implements import in instanceof interface keyof let namespace new of private protected public readonly return set static super switch this throw try type typeof var void while with yield`),xf(`true false null undefined NaN Infinity`),xf(`abstract and array as break callable case catch class clone const continue declare default do echo else elseif empty enum extends final finally fn for foreach function global goto if implements include include_once instanceof insteadof interface isset list match namespace new or parent print private protected public readonly require require_once return self static switch throw trait try unset use var while xor yield`,`i`),xf(`true false null`,`i`),xf(`true false null`),xf(`add all alter and as asc begin between by case cast check commit constraint create cross database default delete desc distinct drop else end exists foreign from full grant group having if in index inner insert into is join key left like limit not offset on or order outer over partition primary references replace returning revoke right rollback select set table then transaction truncate union unique update using values view when where with`,`i`),xf(`true false null`,`i`),xf(`alias break case cd continue declare do done echo elif else esac eval exec exit export fi for function if in local read readonly return select set shift source then trap unset until while`),xf(`and as assert async await break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while with yield match case`),xf(`True False None`),xf(`break case chan const continue default defer else fallthrough for func go goto if import interface map package range return select struct switch type var`),xf(`true false nil iota`);var kf=(e,t,n=[])=>({main:[[`comment`,/\/\/.*/],[`comment`,Sf],...n,[`string`,/"""[\s\S]*?(?:"""|$)/],[`string`,Cf],[`string`,wf],[`attr`,/@\w+/],[`number`,Tf],[`keyword`,xf(e)],[`literal`,xf(t)],[`function`,Ef],[`plain`,Df],[`punctuation`,Of]]});kf(`abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public record return static strictfp super switch synchronized this throw throws transient try var void volatile while yield`,`true false null`),kf(`abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly record ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using var virtual void volatile while`,`true false null`,[[`string`,/[$@]+"(?:""|\\[\s\S]|[^"\\])*"?/]]),kf(`as break by catch class companion constructor continue data do else enum finally for fun get if import in init interface internal is lateinit object open override package private protected public return sealed set super suspend this throw try typealias typeof val var when while`,`true false null`),kf(`as associatedtype async await break case catch class continue default defer deinit do else enum extension fallthrough fileprivate for func guard if import in init inout internal is let open operator private protocol public repeat rethrows return self Self static struct subscript super switch throw throws try typealias var where while`,`true false nil`),xf(`begin break catch class continue data do dynamicparam else elseif end exit filter finally for foreach from function if in param process return switch throw trap try until using while`,`i`);var Af=Symbol(`UidDescriptionList`),jf={key:0,class:`uid-description-list__title`},Mf=Ar({__name:`UidDescriptionList`,props:{title:{},direction:{default:`horizontal`},columns:{default:1},bordered:{type:Boolean,default:!1},size:{default:`md`},labelWidth:{default:void 0}},setup(e){let t=e;Gn(Af,{direction:q(()=>t.direction),bordered:q(()=>t.bordered)});let n=q(()=>({"--uid-desc-cols":t.columns,...t.labelWidth?{"--uid-desc-label-width":t.labelWidth}:{}}));return(t,r)=>(B(),V(`div`,{class:P([`uid-description-list`,[`uid-description-list--${e.direction}`,`uid-description-list--${e.size}`,e.bordered&&`uid-description-list--bordered`]])},[e.title||t.$slots.title?(B(),V(`h3`,jf,[ci(t.$slots,`title`,{},()=>[G(F(e.title),1)])])):K(``,!0),U(`dl`,{class:`uid-description-list__grid`,style:se(n.value)},[ci(t.$slots,`default`)],4)],2))}}),Nf={class:`uid-description-item__label`},Pf={class:`uid-description-item__value`},Ff=[`aria-label`],If=Ar({__name:`UidDescriptionItem`,props:{label:{},span:{default:1},copyable:{type:Boolean,default:!1},copyValue:{}},setup(e){let t=Su(),n=e;Kn(Af,null);let r=I(null),i=I(!1),a=q(()=>({"--uid-desc-span":n.span}));async function o(){let e=n.copyValue??r.value?.querySelector(`.uid-description-item__value`)?.textContent?.trim()??``;if(e&&navigator?.clipboard)try{await navigator.clipboard.writeText(e),i.value=!0,setTimeout(()=>{i.value=!1},1500)}catch{}}return(n,s)=>(B(),V(`div`,{ref_key:`itemRef`,ref:r,class:`uid-description-item`,style:se(a.value)},[U(`dt`,Nf,[ci(n.$slots,`label`,{},()=>[G(F(e.label),1)])]),U(`dd`,Pf,[ci(n.$slots,`default`),e.copyable?(B(),V(`button`,{key:0,type:`button`,class:P([`uid-description-item__copy`,{"uid-description-item__copy--copied":i.value}]),"aria-label":i.value?L(t).copy.copied:L(t).copy.copy,onClick:o},[W(_c,{icon:i.value?L(jc):L(Vc),size:12},null,8,[`icon`])],10,Ff)):K(``,!0)])],4))}}),Lf=Ar({__name:`UidLocaleProvider`,props:{locale:{}},setup(e){let t=e;return xu(q(()=>t.locale)),(e,t)=>ci(e.$slots,`default`)}}),Rf={code:`en-US`,common:{clear:`Clear`,close:`Close`,search:`Search...`,confirm:`Confirm`,cancel:`Cancel`,loading:`Loading...`,noResults:`No results`},copy:{copy:`Copy`,copied:`Copied`},select:{placeholder:`Select...`,noResults:`No results`},combobox:{placeholder:`Start typing...`,noResults:`No results`,create:e=>`+ Create "${e}"`},datePicker:{placeholder:`Select date`,months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],weekdaysShort:[`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`,`Su`],prevMonth:`Previous month`,nextMonth:`Next month`,dialog:`Choose a date`},dateRangePicker:{placeholder:`Select range`,presetLast:e=>`${e} days`,startTime:`Start time`,endTime:`End time`,dialog:`Choose a date range`},timePicker:{placeholder:`Select time`,now:`Now`,confirm:`OK`,dialog:`Choose a time`,hours:`Hours`,minutes:`Minutes`,seconds:`Seconds`},colorPicker:{placeholder:`Pick a color`,dialog:`Choose a colour`,saturation:`Saturation and brightness`,hue:`Hue`,alpha:`Opacity`,input:`HEX, rgb() or hsl()`},numberInput:{increment:e=>`Increase by ${e}`,decrement:e=>`Decrease by ${e}`},tagsInput:{remove:e=>`Remove ${e}`},treeView:{expand:`Expand`,collapse:`Collapse`},treeSelect:{placeholder:`Select...`,removeTag:e=>`Remove ${e}`},fileUpload:{primaryText:`Drop files or click to upload`,secondaryText:`Images and documents are supported`,remove:e=>`Remove ${e}`},backTop:{label:`Back to top`},tour:{next:`Next`,prev:`Previous`,finish:`Done`,skip:`Skip`},rating:{label:(e,t)=>`Rating ${e} of ${t}`,star:e=>e===1?`1 star`:`${e} stars`},mention:{noResults:`No matches`},modal:{close:`Close`},drawer:{close:`Close`},toast:{close:`Close`},image:{preview:`Open preview`,error:`Image failed to load`},breadcrumb:{showHidden:`Show hidden breadcrumbs`,label:`Breadcrumb`},pagination:{first:`First page`,prev:`Previous page`,next:`Next page`,last:`Last page`,page:e=>`Page ${e}`,pageSize:e=>`${e} per page`,label:`Pagination`,cursorNav:`Page navigation`,back:`Back`,forward:`Forward`,loadMore:`Show more`,rowsPerPage:`Rows per page:`},sidebar:{label:`Sidebar`,nav:`Navigation`},header:{nav:`Main navigation`},pageHeader:{back:`Back`},emptyState:{title:`Nothing found`},errorState:{title:`Something went wrong`,notFoundTitle:`Page not found`,notFoundDescription:`The page you are looking for does not exist or has been moved.`,serverTitle:`Server error`,serverDescription:`Something went wrong on the server. We are already working on it.`,offlineTitle:`No connection`,offlineDescription:`Check your internet connection and try again.`},wizard:{step:e=>`Step ${e}`},calendar:{today:`Today`},carousel:{prev:`Previous`,next:`Next`,position:(e,t)=>`${e} of ${t}`,slide:e=>`Slide ${e}`},stepper:{label:(e,t)=>`Steps (current: ${e} of ${t})`},transfer:{available:`Available`,selected:`Selected`,moveRight:`Move right`,moveLeft:`Move left`},sparkline:{summary:(e,t,n)=>`Trend: from ${e} to ${t}, ${n} points`},table:{empty:`No data`,selectAll:`Select all`,row:e=>`Row ${e}`},avatarGroup:{more:e=>`${e} more`},command:{placeholder:`Search commands...`,empty:`Nothing found`,label:`Command palette`},anchor:{label:`Contents`},markdown:{toc:`On this page`,note:`Note`,tip:`Tip`,important:`Important`,warning:`Warning`,caution:`Caution`,blockPending:`Rendering…`,blockError:`Could not render this block`},heatmap:{summary:e=>`Activity heatmap: ${e} events`,less:`Less`,more:`More`,matrixSummary:(e,t)=>`Heatmap: ${e} rows × ${t} columns`,noData:`No data`},validation:{value:`value`,required:e=>`The ${e} field is required`,email:`Enter a valid email`,url:`Enter a valid URL`,numeric:`Enter a number`,integer:`Enter a whole number`,min:e=>`At least ${e} characters`,max:e=>`At most ${e} characters`,minValue:e=>`The value must be at least ${e}`,maxValue:e=>`The value must be at most ${e}`,regex:`Invalid format`,in:`Choose an allowed value`,sameAs:`The values do not match`,unknown:e=>`Validation failed: ${e}`}},zf=1;function Bf(e){return e.enabled!==!1}var Vf=class extends Error{pointer;name=`GraphError`;constructor(e,t=``){super(t?`${e} (at ${t})`:e),this.pointer=t}},Hf=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function Uf(e,t,n,r=!1){let i=e[t];if(i==null){if(r)throw new Vf(`"${t}" is required`,`${n}/${t}`)}else{if(typeof i==`number`)return String(i);if(typeof i!=`string`)throw new Vf(`"${t}" must be a string`,`${n}/${t}`);return i}}function Wf(e,t,n){let r=e[t];if(r!=null){if(typeof r!=`boolean`)throw new Vf(`"${t}" must be true or false`,`${n}/${t}`);return r}}function Gf(e,t){if(e!=null){if(!Hf(e)||typeof e.x!=`number`||typeof e.y!=`number`||!Number.isFinite(e.x)||!Number.isFinite(e.y))throw new Vf(`"position" must be { x: number, y: number }`,t);return{x:e.x,y:e.y}}}var Kf=new Set([`top`,`right`,`bottom`,`left`]);function qf(e,t){if(e!=null){if(!Array.isArray(e))throw new Vf(`"ports" must be an array`,t);return e.map((e,n)=>{let r=`${t}/${n}`;if(!Hf(e))throw new Vf(`A port must be an object`,r);let i=Uf(e,`side`,r,!0);if(!Kf.has(i))throw new Vf(`"side" must be one of top, right, bottom, left`,`${r}/side`);let a={id:Uf(e,`id`,r,!0),side:i};typeof e.offset==`number`&&(a.offset=Math.min(1,Math.max(0,e.offset))),(e.kind===`in`||e.kind===`out`||e.kind===`both`)&&(a.kind=e.kind);let o=Uf(e,`label`,r);return o!==void 0&&(a.label=o),a})}}function Jf(e,t){if(e!=null){if(!Hf(e))throw new Vf(`"data" must be an object`,t);return e}}function Yf(e,t){if(!Hf(e))throw new Vf(`A node must be an object`,t);let n={id:Uf(e,`id`,t,!0),type:Uf(e,`type`,t)??`state`},r=Uf(e,`label`,t);r!==void 0&&(n.label=r);let i=Uf(e,`description`,t);i!==void 0&&(n.description=i);let a=Gf(e.position,`${t}/position`);a&&(n.position=a);let o=Uf(e,`group`,t);o!==void 0&&(n.group=o);let s=Jf(e.data,`${t}/data`);s&&(n.data=s);let c=Wf(e,`enabled`,t);c!==void 0&&(n.enabled=c),e.subgraph!==void 0&&e.subgraph!==null&&(n.subgraph=typeof e.subgraph==`string`?e.subgraph:Qf(e.subgraph,`${t}/subgraph`));let l=qf(e.ports,`${t}/ports`);return l&&(n.ports=l),n}function Xf(e,t){if(!Hf(e))throw new Vf(`An edge must be an object`,t);let n={id:Uf(e,`id`,t,!0),from:Uf(e,`from`,t,!0),to:Uf(e,`to`,t,!0)};for(let r of[`fromPort`,`toPort`,`label`,`condition`]){let i=Uf(e,r,t);i!==void 0&&(n[r]=i)}let r=Wf(e,`enabled`,t);r!==void 0&&(n.enabled=r),(e.kind===`association`||e.kind===`transition`)&&(n.kind=e.kind);let i=Jf(e.data,`${t}/data`);return i&&(n.data=i),n}function Zf(e,t){if(!Hf(e))throw new Vf(`A group must be an object`,t);let n={id:Uf(e,`id`,t,!0)},r=Uf(e,`label`,t);r!==void 0&&(n.label=r);let i=Uf(e,`parent`,t);return i!==void 0&&(n.parent=i),n}function Qf(e,t=``){let n=e;if(typeof n==`string`)try{n=JSON.parse(n)}catch(e){throw new Vf(`Not valid JSON: ${e.message}`,t)}if(!Hf(n))throw new Vf(`A graph must be an object`,t);let r=n.version??1;if(r!==1)throw new Vf(`Unsupported model version ${String(r)}; this package reads version 1`,`${t}/version`);if(!Array.isArray(n.nodes))throw new Vf(`"nodes" must be an array`,`${t}/nodes`);let i=n.edges??[];if(!Array.isArray(i))throw new Vf(`"edges" must be an array`,`${t}/edges`);let a={version:1,nodes:n.nodes.map((e,n)=>Yf(e,`${t}/nodes/${n}`)),edges:i.map((e,n)=>Xf(e,`${t}/edges/${n}`))};if(n.groups!==void 0&&n.groups!==null){if(!Array.isArray(n.groups))throw new Vf(`"groups" must be an array`,`${t}/groups`);a.groups=n.groups.map((e,n)=>Zf(e,`${t}/groups/${n}`))}if(Hf(n.meta)){let e={...n.meta};e.direction!==void 0&&e.direction!==`TB`&&e.direction!==`LR`&&delete e.direction,a.meta=e}return a}function $f(e){return JSON.stringify(e,null,2)}function ep(e){return e?{version:1,nodes:[],edges:[],meta:e}:{version:1,nodes:[],edges:[]}}var tp=Object.freeze({start:{title:`Start`,shape:`circle`,size:{width:40,height:40},icon:`play`,labelOutside:!0,noIncoming:!0},end:{title:`End`,shape:`ring`,size:{width:40,height:40},icon:`stop`,labelOutside:!0,noOutgoing:!0},state:{title:`State`,shape:`rounded`,minWidth:160,maxWidth:240,height:44},task:{title:`Task`,shape:`rect`,minWidth:176,maxWidth:260,height:60,icon:`task`},decision:{title:`Decision`,shape:`diamond`,minWidth:124,maxWidth:200,height:80,icon:`decision`},subprocess:{title:`Sub-process`,shape:`rect`,minWidth:192,maxWidth:260,height:64,icon:`subprocess`,drillable:!0},note:{title:`Note`,shape:`note`,minWidth:140,maxWidth:240,height:48,annotation:!0}});function np(e={}){return new Map(Object.entries({...tp,...e}))}var rp=np();function ip(e,t){return e.get(t)??e.get(`state`)??tp.state}function ap(e,t){return t.ports??ip(e,t.type).ports??[]}function op(e,t){return ip(e,t.type).locked===!0}function sp(e,t={}){let n=t.registry??rp,r=[],i=(e,t,n,i,a)=>r.push(i&&a!==void 0?{severity:e,code:t,message:n,target:{kind:i,id:a}}:{severity:e,code:t,message:n}),a=new Map,o=(e,t)=>{a.has(t)?i(`error`,`duplicate-id`,`The id "${t}" is used more than once`,e,t):a.set(t,e)},s=new Map(e.nodes.map(e=>[e.id,e])),c=new Map((e.groups??[]).map(e=>[e.id,e]));for(let t of e.nodes)o(`node`,t.id);for(let t of e.edges)o(`edge`,t.id);for(let t of e.groups??[])o(`group`,t.id);for(let t of e.groups??[]){t.parent!==void 0&&!c.has(t.parent)&&i(`error`,`unknown-group`,`Group "${t.id}" is inside an unknown group "${t.parent}"`,`group`,t.id);let e=t.parent,n=0;for(;e!==void 0&&c.has(e);){if(e===t.id||++n>c.size){i(`error`,`group-cycle`,`Group "${t.id}" contains itself`,`group`,t.id);break}e=c.get(e).parent}}for(let t of e.nodes){n.has(t.type)||i(`warning`,`unknown-type`,`Node "${t.id}" has an unknown type "${t.type}"; it is drawn as a state`,`node`,t.id),t.group!==void 0&&!c.has(t.group)&&i(`error`,`unknown-group`,`Node "${t.id}" is in an unknown group "${t.group}"`,`node`,t.id);let e=ip(n,t.type);e.labelOutside||e.annotation||(t.label??``).trim()||t.type===`decision`||i(`warning`,`empty-label`,`Node "${t.id}" has no label`,`node`,t.id)}let l=e.edges.filter(e=>e.kind!==`association`);for(let t of e.edges)for(let e of[`from`,`to`]){let r=t[e],a=s.get(r);if(!a){i(`error`,`unknown-node`,`Edge "${t.id}" ${e===`from`?`starts at`:`ends at`} an unknown node "${r}"`,`edge`,t.id);continue}let o=e===`from`?t.fromPort:t.toPort;if(o!==void 0){let s=ap(n,a).find(e=>e.id===o);s?(e===`from`&&s.kind===`in`||e===`to`&&s.kind===`out`)&&i(`error`,`unknown-port`,`Port "${o}" of "${r}" does not take ${e===`from`?`outgoing`:`incoming`} edges`,`edge`,t.id):i(`error`,`unknown-port`,`Edge "${t.id}" uses an unknown port "${o}" of "${r}"`,`edge`,t.id)}}let u=e.nodes.filter(e=>!ip(n,e.type).annotation),d=u.filter(e=>ip(n,e.type).noIncoming),f=u.filter(e=>ip(n,e.type).noOutgoing);(t.requireStartEnd??!0)&&u.length>0&&(d.length===0&&i(`warning`,`missing-start`,`The process has no start node`),f.length===0&&i(`warning`,`missing-end`,`The process has no end node`));for(let e of l){let t=s.get(e.to),r=s.get(e.from);t&&ip(n,t.type).noIncoming&&i(`warning`,`start-incoming`,`Edge "${e.id}" leads into the start node "${t.id}"`,`edge`,e.id),r&&ip(n,r.type).noOutgoing&&i(`warning`,`end-outgoing`,`Edge "${e.id}" leaves the end node "${r.id}"`,`edge`,e.id)}if(d.length>0){let e=new Map;for(let t of l){if(!s.has(t.from)||!s.has(t.to))continue;let n=e.get(t.from)??[];n.push(t.to),e.set(t.from,n)}let t=new Set,n=d.map(e=>e.id);for(let e of n)t.add(e);for(;n.length;){let r=n.shift();for(let i of e.get(r)??[])t.has(i)||(t.add(i),n.push(i))}for(let e of u)t.has(e.id)||i(`warning`,`unreachable`,`Node "${e.id}" cannot be reached from the start`,`node`,e.id)}let p=new Set(l.filter(e=>s.has(e.to)).map(e=>e.from));for(let e of u)ip(n,e.type).noOutgoing||p.has(e.id)||i(`warning`,`dead-end`,`Node "${e.id}" has no outgoing transition`,`node`,e.id);return r.sort((e,t)=>e.severity===t.severity?0:e.severity===`error`?-1:1)}function cp(e){let t=new Map;for(let n of e){if(!n.target)continue;let e=t.get(n.target.id)??[];e.push(n),t.set(n.target.id,e)}return t}var lp=class extends Error{line;column;hint;name=`DiagramError`;constructor(e,t=0,n=0,r){super(t>0?`${e} (line ${t}${n>0?`, column ${n}`:``})`:e),this.line=t,this.column=n,this.hint=r}};function up(e,t,n){return new lp(`The graph has ${t} ${e}; the limit is ${n}.`,0,0,`Split it into sub-processes.`)}var dp=class{nodes=new Map;edges=[];outMap=new Map;inMap=new Map;addNode(e){let t={...e,rank:0,order:0,x:0,y:0};return this.nodes.set(t.id,t),this.outMap.set(t.id,[]),this.inMap.set(t.id,[]),t}node(e){let t=this.nodes.get(e);if(!t)throw Error(`Unknown node ${e}`);return t}addEdge(e){return this.edges.push(e),this.outMap.get(e.v).push(e),this.inMap.get(e.w).push(e),e}removeEdge(e){let t=t=>{let n=t.indexOf(e);n>=0&&t.splice(n,1)};t(this.edges),t(this.outMap.get(e.v)),t(this.inMap.get(e.w))}out(e){return this.outMap.get(e)??[]}in(e){return this.inMap.get(e)??[]}reindex(){for(let e of this.nodes.keys())this.outMap.set(e,[]),this.inMap.set(e,[]);for(let e of this.edges)this.outMap.get(e.v).push(e),this.inMap.get(e.w).push(e)}};function fp(e,t){let n=[],r=e;for(;r;)n.unshift(r),r=t.get(r)??null;return n}function pp(e){let t=[];for(let n of e.nodes.values())(t[n.rank]??=[]).push(n);for(let e=0;e<t.length;e++)t[e]??=[];return t}function mp(e,t){let n=new Set,r=t.map(()=>0),i=[...e.nodes.values()].sort((e,t)=>e.rank-t.rank);for(let t of i){if(n.has(t.id))continue;let i=[t];for(;i.length>0;){let t=i.pop();if(n.has(t.id))continue;n.add(t.id),t.order=r[t.rank]++;let a=e.out(t.id).map(t=>e.node(t.w));for(let e=a.length-1;e>=0;e--)n.has(a[e].id)||i.push(a[e])}}for(let e of t)e.sort((e,t)=>e.order-t.order)}function hp(e,t,n,r,i=!1){let a={cluster:null,nodes:[],children:new Map,items:[]};for(let t of e){let e=a;for(let r of fp(t.cluster,n)){let t=e.children.get(r);t||(t={cluster:r,nodes:[],children:new Map,items:[]},e.children.set(r,t),e.items.push(r)),e=t}e.nodes.push(t),e.items.push(t)}let o=new Map,s=e=>{let n=o.get(e);if(n!==void 0)return n;let r=0,i=0,a=e=>{for(let n of e.nodes)r+=t.get(n.id),i++;for(let t of e.children.values())a(t)};a(e);let s=i>0?r/i:0;return o.set(e,s),s},c=e=>{let n=e.items.map((n,r)=>({item:n,index:r,k:typeof n==`string`?s(e.children.get(n)):t.get(n.id)}));n.sort((e,t)=>e.k-t.k||(i?t.index-e.index:e.index-t.index));let a=n.flatMap((e,t)=>typeof e.item==`string`?[t]:[]),o=a.map(e=>n[e].item).sort((e,t)=>(r.get(e)??0)-(r.get(t)??0));a.forEach((e,t)=>{n[e].item=o[t]});let l=[];for(let t of n)typeof t.item==`string`?l.push(...c(e.children.get(t.item))):l.push(t.item);return l};return c(a)}function gp(e,t,n){let r=new Map(n.map((e,t)=>[e.id,t])),i=[];t.forEach((t,n)=>{for(let a of e.out(t.id)){let e=r.get(a.w);e!==void 0&&i.push({u:n,l:e,w:a.weight||1})}}),i.sort((e,t)=>e.u-t.u||e.l-t.l);let a=1;for(;a<n.length;)a<<=1;let o=Array(2*a-1).fill(0);--a;let s=0;for(let e of i){let t=e.l+a;o[t]+=e.w;let n=0;for(;t>0;)t%2&&(n+=o[t+1]),t=t-1>>1,o[t]+=e.w;s+=e.w*n}return s}function _p(e,t,n,r){let i=e=>{let t=new Map;return e.forEach((e,n)=>{for(let i of fp(e.cluster,r)){let e=t.get(i);e?e.to=n:t.set(i,{from:n,to:n})}}),t},a=i(t),o=i(n);if(a.size===0||o.size===0)return 0;let s=new Map(n.map((e,t)=>[e.id,t])),c=0;return t.forEach((t,n)=>{for(let r of e.out(t.id)){let e=s.get(r.w);if(e!==void 0)for(let[t,r]of a){let i=o.get(t);i&&(n<r.from&&e>i.to||n>r.to&&e<i.from)&&(c+=2)}}}),c}function vp(e,t,n=new Map){let r=0;for(let i=0;i+1<t.length;i++)r+=gp(e,t[i],t[i+1]),n.size>0&&(r+=_p(e,t[i],t[i+1],n));return r}function yp(e,t){let n=new Map,r=new Map;for(let i of e)i.forEach((e,a)=>{let o=i.length>1?a/(i.length-1):.5;for(let i of fp(e.cluster,t))n.set(i,(n.get(i)??0)+o),r.set(i,(r.get(i)??0)+1)});let i=new Map;for(let[e,t]of n)i.set(e,t/r.get(e));return i}function bp(e,t){let n=(e,t)=>{let n=0;for(let r of e)for(let e of t)r.order>e.order&&(n+=r.w*e.w);return n},r=t=>({up:e.in(t.id).map(t=>({order:e.node(t.v).order,w:t.weight||1})),down:e.out(t.id).map(t=>({order:e.node(t.w).order,w:t.weight||1}))}),i=(e,t)=>n(e.up,t.up)+n(e.down,t.down);for(let e=0;e<8;e++){let e=!1;for(let n of t)if(!(n.length<2)){for(let t=0;t+1<n.length;t++){let a=n[t],o=n[t+1];if(a.cluster!==o.cluster)continue;let s=r(a),c=r(o);i(c,s)<i(s,c)&&(n[t]=o,n[t+1]=a,e=!0)}n.forEach((e,t)=>e.order=t)}if(!e)break}}function xp(e,t,n=24,r=!1){let i=pp(e);mp(e,i);let a=yp(i,t);for(let e=0;e<i.length;e++){let n=new Map(i[e].map((e,t)=>[e.id,t]));i[e]=hp(i[e],n,t,a)}let o=e=>e.forEach(e=>e.forEach((e,t)=>e.order=t));o(i),r&&bp(e,i);let s=i.map(e=>e.slice()),c=vp(e,i,t),l=0;for(let o=0;o<n&&c>0&&l<4;o++){let n=o%2==0,u=r&&o%4>=2,d=n?Array.from({length:i.length-1},(e,t)=>t+1):Array.from({length:i.length-1},(e,t)=>i.length-2-t),f=n?0:i.length-1,p=new Map(i[f].map((e,t)=>[e.id,t]));i[f]=hp(i[f],p,t,a),i[f].forEach((e,t)=>e.order=t);for(let r of d){let o=i[r],s=new Map;for(let t of o){let r=n?e.in(t.id).map(t=>({order:e.node(t.v).order,w:t.weight||1})):e.out(t.id).map(t=>({order:e.node(t.w).order,w:t.weight||1}));if(r.length===0)s.set(t.id,t.order);else{let e=0,n=0;for(let t of r)e+=t.order*t.w,n+=t.w;s.set(t.id,e/n)}}i[r]=hp(o,s,t,a,u),i[r].forEach((e,t)=>e.order=t)}r&&bp(e,i),a=yp(i,t);let m=vp(e,i,t);m<c?(c=m,s=i.map(e=>e.slice()),l=0):l++}return o(s),s}function Sp(e){return e.dummy===`edge`||e.dummy===`label`||e.dummy===`spine`}function Cp(e,t,n){let r=Sp(e)&&Sp(t)?n.edgeSep:Sp(e)||Sp(t)?(n.nodeSep+n.edgeSep)/2:n.nodeSep;return e.width/2+r+t.width/2}function wp(e,t){let n=0;e.forEach((r,i)=>{n=i===0?r.width/2:n+Cp(e[i-1],r,t),r.x=n})}function Tp(e){let t=e.slice().sort((e,t)=>e-t),n=t.length>>1;return t.length%2?t[n]:(t[n-1]+t[n])/2}function Ep(e,t,n,r){let i=Array(e.length).fill(!1),a=e.map((e,t)=>t).sort((t,r)=>n.get(e[r].id)-n.get(e[t].id)||t-r);for(let n of a){let a=e[n],o=t.get(a.id);if(o===void 0)i[n]=!0;else{if(o>a.x){let t=1/0,s=0;for(let a=n+1;a<e.length;a++)if(s+=Cp(e[a-1],e[a],r),i[a]){t=e[a].x-s;break}let c=Math.min(o,t);if(c>a.x){a.x=c;for(let t=n+1;t<e.length;t++){let n=e[t-1].x+Cp(e[t-1],e[t],r);if(e[t].x>=n)break;e[t].x=n}}}else if(o<a.x){let t=-1/0,s=0;for(let a=n-1;a>=0;a--)if(s+=Cp(e[a],e[a+1],r),i[a]){t=e[a].x+s;break}let c=Math.max(o,t);if(c<a.x){a.x=c;for(let t=n-1;t>=0;t--){let n=e[t+1].x-Cp(e[t],e[t+1],r);if(e[t].x<=n)break;e[t].x=n}}}i[n]=!0}}}function Dp(e,t,n,r=4){for(let e of t)wp(e,n);let i=r=>{let i=r?Array.from({length:t.length-1},(e,t)=>t+1):Array.from({length:t.length-1},(e,n)=>t.length-2-n);for(let a of i){let i=t[a],o=new Map,s=new Map;for(let t of i){let n=r?e.in(t.id).map(t=>e.node(t.v)):e.out(t.id).map(t=>e.node(t.w));n.length>0&&o.set(t.id,Tp(n.map(e=>e.x)));let i=Sp(t)&&n.some(Sp)?1e6:n.length;s.set(t.id,i)}Ep(i,o,s,n)}};for(let e=0;e<r;e++)i(!0),i(!1);for(let r=0;r<t.length;r++){let i=t[r],a=new Map,o=new Map;for(let t of i){let n=[...e.in(t.id).map(t=>e.node(t.v)),...e.out(t.id).map(t=>e.node(t.w))];n.length>0&&a.set(t.id,Tp(n.map(e=>e.x))),o.set(t.id,Sp(t)?1e6:n.length)}Ep(i,a,o,n)}}function Op(e,t,n,r){Dp(e,t,r),Mp(e,t,n,r);let i=1/0;for(let t of e.nodes.values())i=Math.min(i,t.x-t.width/2);if(Number.isFinite(i))for(let t of e.nodes.values())t.x-=i;let a=0;t.forEach((e,t)=>{let n=0;for(let t of e)n=Math.max(n,t.height);t>0&&(a+=r.rankSep/2);for(let t of e)t.y=a+n/2;a+=n})}function kp(e,t){let n=new Map;for(let r of e.nodes.values()){let e=r.cluster;for(;;){let i=n.get(e)??[];if(i.push(r),n.set(e,i),e===null)break;e=t.get(e)??null}}return n}function Ap(e){let t=new Map;for(let[n,r]of e){let e=t.get(r)??[];e.push(n),t.set(r,e)}return t}function jp(e,t,n,r){let i=Ap(t),a=new Map;for(let t of e.nodes.values()){if(t.cluster===null)continue;let e=a.get(t.cluster)??[];e.push(t),a.set(t.cluster,e)}let o=new Map,s=e=>{let t=o.get(e);if(t)return t;let c=1/0,l=-1/0;for(let t of a.get(e)??[])c=Math.min(c,t.x-t.width/2),l=Math.max(l,t.x+t.width/2);for(let t of i.get(e)??[]){let e=s(t);c=Math.min(c,e.left),l=Math.max(l,e.right)}Number.isFinite(c)||(c=0,l=0);let u={left:c-n-(r?.get(e)??0),right:l+n};return o.set(e,u),u};for(let e of t.keys())s(e);return o}function Mp(e,t,n,r){if(n.size===0)return;let i=Ap(n),a=kp(e,n),o=(e,t)=>{let r=e.cluster,i=null;for(;r!==t;){if(r===null)return null;i=r,r=n.get(r)??null}return i??e.id},s=c=>{for(let e of i.get(c)??[])s(e);let l=jp(e,n,r.clusterPadding,r.frameLeft),u=new Map;for(let e of a.get(c)??[]){let t=o(e,c);if(!(t===null||u.has(t))){if(t===e.id)u.set(t,{cluster:!1,left:e.x-e.width/2,right:e.x+e.width/2,dummy:Sp(e)});else{let e=l.get(t);u.set(t,{cluster:!0,left:e.left,right:e.right,dummy:!1})}}}let d=new Map,f=new Map([...u.keys()].map(e=>[e,0]));for(let e of t){let t=null;for(let n of e){let e=o(n,c);if(e!==null&&e!==t){if(t!==null){let n=u.get(t),i=u.get(e),a=n.dummy&&i.dummy?r.edgeSep:n.dummy||i.dummy?(r.nodeSep+r.edgeSep)/2:r.nodeSep,o=d.get(t)??new Map;o.has(e)||f.set(e,f.get(e)+1),o.set(e,Math.max(o.get(e)??-1/0,n.right-n.left+a)),d.set(t,o)}t=e}}}let p=new Map([...u].map(([e,t])=>[e,t.left])),m=[...u.keys()].filter(e=>f.get(e)===0);for(;m.length>0;){let e=m.shift();for(let[t,n]of d.get(e)??[])p.set(t,Math.max(p.get(t),p.get(e)+n)),f.set(t,f.get(t)-1),f.get(t)===0&&m.push(t)}for(let[t,n]of u){let r=p.get(t)-n.left;if(r!==0){if(n.cluster)for(let e of a.get(t)??[])e.x+=r;else e.node(t).x+=r}}};s(null)}function Np(e){let t=new Map,n=[];for(let r of e.nodes.keys()){if(t.get(r))continue;let i=[{id:r,i:0}];for(t.set(r,1);i.length>0;){let r=i[i.length-1],a=e.out(r.id);if(r.i<a.length){let e=a[r.i++],o=t.get(e.w)??0;o===1?n.push(e):o===0&&(t.set(e.w,1),i.push({id:e.w,i:0}))}else t.set(r.id,2),i.pop()}}for(let e of n){let t=e.v;e.v=e.w,e.w=t,e.reversed=!e.reversed}n.length>0&&e.reindex()}function Pp(e,t){let n=new Set(t),r=new Map;for(let t of e.edges){if(!n.has(t.v)||t.v===t.w)continue;let e=`${t.v}\u0000${t.w}`,i=r.get(e);i?(i.weight+=t.weight,i.minlen=Math.max(i.minlen,t.minlen)):r.set(e,{v:t.v,w:t.w,minlen:t.minlen,weight:t.weight})}return{nodes:[...t],edges:[...r.values()]}}function Fp(e){let t=new Set,n=[];for(let r of e.nodes.keys()){if(t.has(r))continue;let i=[],a=[r];for(t.add(r);a.length>0;){let n=a.shift();i.push(n);for(let r of[...e.out(n),...e.in(n)]){let e=r.v===n?r.w:r.v;t.has(e)||(t.add(e),a.push(e))}}n.push(i)}return n}function Ip(e,t){let n=new Map(t.map(t=>[t,e.in(t).length])),r=t.filter(e=>n.get(e)===0);for(;r.length>0;){let t=r.shift(),i=e.in(t),a=e.out(t);if(i.length>0&&i.reduce((e,t)=>e+t.weight,0)>=a.reduce((e,t)=>e+t.weight,0)){let n=-1/0;for(let t of i)n=Math.max(n,e.node(t.v).rank+t.minlen);let r=e.node(t);n<r.rank&&(r.rank=n)}for(let e of a)n.set(e.w,n.get(e.w)-1),n.get(e.w)===0&&r.push(e.w)}}function Lp(e,t=2e3){for(let n of Fp(e)){let{nodes:r,edges:i}=Pp(e,n),a=Rp(r,i,t),o=1/0;for(let e of a.values())o=Math.min(o,e);for(let[t,n]of a)e.node(t).rank=n-o;Ip(e,n);let s=1/0;for(let t of n)s=Math.min(s,e.node(t).rank);for(let t of n)e.node(t).rank-=s}}function Rp(e,t,n){let r=new Map,i=new Map;for(let t of e)r.set(t,[]),i.set(t,[]);for(let e of t)r.get(e.v).push(e),i.get(e.w).push(e);let a=(e,t)=>`${e}\u0000${t}`,o=new Map(t.map(e=>[a(e.v,e.w),e])),s=(e,t)=>o.get(a(e,t)),c=new Map,l=e=>{let t=[{id:e,i:0}],n=new Set([e]);for(;t.length>0;){let e=t[t.length-1],i=r.get(e.id);if(e.i<i.length){let r=i[e.i++];!c.has(r.w)&&!n.has(r.w)&&(n.add(r.w),t.push({id:r.w,i:0}))}else{let n=1/0;for(let e of i)n=Math.min(n,c.get(e.w)-e.minlen);c.set(e.id,n===1/0?0:n),t.pop()}}};for(let t of e)c.has(t)||l(t);if(e.length<=1||t.length===0)return c;let u=e=>c.get(e.w)-c.get(e.v)-e.minlen,d=new Map,f=(e,t)=>{d.get(e).add(t),d.get(t).add(e)},p=()=>{let e=[...d.keys()];for(;e.length>0;){let t=e.pop();for(let n of[...r.get(t),...i.get(t)]){let r=n.v===t?n.w:n.v;!d.has(r)&&u(n)===0&&(d.set(r,new Set),f(t,r),e.push(r))}}return d.size};for(d.set(e[0],new Set);p()<e.length;){let e=null,n=1/0;for(let r of t)if(d.has(r.v)!==d.has(r.w)){let t=u(r);t<n&&(n=t,e=r)}if(!e)break;let r=d.has(e.v)?n:-n;for(let e of d.keys())c.set(e,c.get(e)+r)}let m=e[0],h=new Map,g=new Map,_=new Map,v=new Map,y=(e,t)=>e<t?a(e,t):a(t,e),b=()=>{h.clear(),g.clear(),_.clear();let e=1,t=[];_.set(m,void 0),t.push({id:m,it:d.get(m).values(),low:e});let n=new Set([m]);for(;t.length>0;){let r=t[t.length-1],i=r.it.next();if(i.done)h.set(r.id,r.low),g.set(r.id,e++),t.pop();else{let a=i.value;n.has(a)||(n.add(a),_.set(a,r.id),t.push({id:a,it:d.get(a).values(),low:e}))}}},x=()=>[...g.entries()].sort((e,t)=>e[1]-t[1]).map(([e])=>e),S=e=>{let t=_.get(e),n=!0,a=s(e,t);a||=(n=!1,s(t,e));let o=a.weight;for(let a of[...r.get(e),...i.get(e)]){let r=a.v===e,i=r?a.w:a.v;if(i===t)continue;let s=r===n;if(o+=s?a.weight:-a.weight,d.get(e).has(i)){let t=v.get(y(e,i))??0;o+=s?-t:t}}return o},C=()=>{v.clear();for(let e of x()){let t=_.get(e);t!==void 0&&v.set(y(e,t),S(e))}},w=()=>{let e=[...g.entries()].sort((e,t)=>t[1]-e[1]).map(([e])=>e);for(let t of e){let e=_.get(t);if(e===void 0)continue;let n=s(t,e);n?c.set(t,c.get(e)-n.minlen):c.set(t,c.get(e)+s(e,t).minlen)}},T=(e,t)=>h.get(t)<=g.get(e)&&g.get(e)<=g.get(t);b(),C();for(let e=0;e<n;e++){let e=null;for(let[t,n]of _)if(n!==void 0&&(v.get(y(t,n))??0)<0){e=s(t,n)?{v:t,w:n}:{v:n,w:t};break}if(!e)break;let n=e.v,r=!1;g.get(e.v)>g.get(e.w)&&(n=e.w,r=!0);let i=null,a=1/0;for(let e of t)if(r===T(e.v,n)&&r!==T(e.w,n)){let t=u(e);t<a&&(a=t,i=e)}if(!i)break;d.get(e.v).delete(e.w),d.get(e.w).delete(e.v),f(i.v,i.w),b(),C(),w()}return c}var zp=500,Bp=2e3,Vp=22;function Hp(e){let t=e.direction??`TB`,n=t===`LR`||t===`RL`,r={nodeSep:e.nodeSep??50,rankSep:e.rankSep??50,edgeSep:e.edgeSep??20,clusterPadding:e.clusterPadding??12};if(e.nodes.length>500)throw up(`nodes`,e.nodes.length,500);if(e.edges.length>2e3)throw up(`edges`,e.edges.length,Bp);let i=(e,t)=>n?{width:t,height:e}:{width:e,height:t},a=new dp,o=new Map((e.clusters??[]).map(e=>[e.id,e])),s=new Map;for(let e of o.values()){if(e.parent!==void 0&&!o.has(e.parent))throw new lp(`Cluster "${e.id}" is inside an unknown cluster "${e.parent}"`);s.set(e.id,e.parent??null)}for(let e of o.keys()){let t=s.get(e)??null,n=0;for(;t!==null;){if(t===e||++n>o.size)throw new lp(`Cluster "${e}" contains itself`);t=s.get(t)??null}}let c=e.edges.filter(e=>e.from===e.to&&!o.has(e.from)),l=new Map;for(let e of c){let t=e.label?(n?e.label.height:e.label.width)+6:0;l.set(e.from,Math.max(l.get(e.from)??0,Vp+t))}for(let t of e.nodes){if(a.nodes.has(t.id))continue;let e=i(t.width,t.height),n=l.get(t.id)??0;if(t.cluster!==void 0&&!o.has(t.cluster))throw new lp(`Node "${t.id}" is inside an unknown cluster "${t.cluster}"`);a.addNode({id:t.id,width:e.width+n*2,height:e.height,cluster:t.cluster??null})}let u=e=>`\u0000top:${e}`,d=e=>`\u0000bottom:${e}`,f=new Map,p=new Map;r.frameLeft=p;for(let e of o.values()){let i=e.label??{width:0,height:0},o=i.height>0?i.height+6:0;f.set(e.id,o),n&&p.set(e.id,o);let s=t===`TB`?`top`:t===`BT`?`bottom`:null;a.addNode({id:u(e.id),width:s===`top`?i.width+2*r.clusterPadding:0,height:s===`top`?o:0,cluster:e.id,dummy:`border-top`}),a.addNode({id:d(e.id),width:s===`bottom`?i.width+2*r.clusterPadding:0,height:s===`bottom`?o:0,cluster:e.id,dummy:`border-bottom`})}let m=0,h=(e,t)=>a.addEdge({id:`\u0000s${m++}`,v:e,w:t,minlen:1,weight:1,original:``,reversed:!1,structural:!0});for(let e of o.keys()){let t=[...a.nodes.values()].filter(t=>t.cluster===e&&!t.dummy),n=[...o.values()].filter(t=>(t.parent??null)===e);for(let n of t)h(u(e),n.id),h(n.id,d(e));for(let t of n)h(u(e),u(t.id)),h(d(t.id),d(e));t.length===0&&n.length===0&&h(u(e),d(e))}let g=t=>{let n=[];for(let r of e.nodes)r.cluster===t&&n.push(r.id);for(let e of o.values())(e.parent??null)===t&&n.push(...g(e.id));return n},_=(e,t)=>{if(o.has(e)){let n=g(e);return n.length===0?t?d(e):u(e):t?n[n.length-1]:n[0]}if(!a.nodes.has(e))throw new lp(`Edge refers to an unknown node "${e}"`);return e},v=new Map;for(let t of e.edges){if(t.from===t.to&&!o.has(t.from))continue;let e=_(t.from,!0),n=_(t.to,!1);e!==n&&(t.label&&v.set(t.id,i(t.label.width,t.label.height)),a.addEdge({id:t.id,v:e,w:n,minlen:Math.max(1,t.minlen??1)*2,weight:t.weight??1,original:t.id,reversed:!1}))}Np(a),Lp(a),Jp(a,o.keys(),u,d);for(let e of a.edges.slice())e.structural&&a.node(e.w).rank-a.node(e.v).rank!==1&&a.removeEdge(e);let y=new Map,b=0,x=e=>{let t=a.node(e);return t.dummy===`border-top`||t.dummy===`border-bottom`?s.get(t.cluster)??null:t.cluster};for(let e of a.edges.slice()){if(e.structural)continue;let t=a.node(e.v),n=a.node(e.w),r=qp(x(t.id),x(n.id),s),i=[t.id],o=n.rank-t.rank,c=v.get(e.original),l=t.rank+Math.floor(o/2);a.removeEdge(e);let u=t.id;for(let o=t.rank+1;o<n.rank;o++){let t=!!c&&o===l,n=a.addNode({id:`\u0000d${b++}`,width:t?c.width:0,height:t?c.height:0,cluster:r,dummy:t?`label`:`edge`,edge:e.original});n.rank=o,a.addEdge({id:`${e.id}#${o}`,v:u,w:n.id,minlen:1,weight:e.weight,original:e.original,reversed:e.reversed}),i.push(n.id),u=n.id}a.addEdge({id:`${e.id}#end`,v:u,w:n.id,minlen:1,weight:e.weight,original:e.original,reversed:e.reversed}),i.push(n.id),y.set(e.original,e.reversed?i.reverse():i)}Yp(a,o.keys(),s,u,d),Op(a,xp(a,s,24,e.transpose??!1),s,r);let S=jp(a,s,r.clusterPadding,r.frameLeft),C=new Map,w=new Map;for(let e of a.nodes.values()){let t=e.cluster;for(;t!==null;){let n=w.get(t)??[];n.push(e),w.set(t,n),t=s.get(t)??null}}let T=e=>{let t=0,n=s.get(e)??null;for(;n!==null;)t++,n=s.get(n)??null;return t},ee=[...o.keys()].sort((e,t)=>T(t)-T(e)),E=new Map;for(let e of ee){let n=1/0,i=-1/0;for(let t of w.get(e)??[])n=Math.min(n,t.y-t.height/2),i=Math.max(i,t.y+t.height/2);for(let t of o.values()){if((t.parent??null)!==e)continue;let r=E.get(t.id);r&&(n=Math.min(n,r.top),i=Math.max(i,r.bottom))}let a=r.clusterPadding;E.set(e,{top:n-(t===`TB`?0:a),bottom:i+(t===`BT`?0:a)})}for(let e of o.keys()){let t=S.get(e),n=E.get(e),r=t.left;C.set(e,{x:(r+t.right)/2,y:(n.top+n.bottom)/2,width:t.right-r,height:n.bottom-n.top})}let D=0,O=0,k=0,A=0;for(let e of a.nodes.values())D=Math.max(D,e.x+e.width/2),O=Math.max(O,e.y+e.height/2);for(let e of C.values())k=Math.min(k,e.x-e.width/2),A=Math.min(A,e.y-e.height/2),D=Math.max(D,e.x+e.width/2),O=Math.max(O,e.y+e.height/2);let j=D-k,M=O-A,N=e=>{let n=e.x-k,r=e.y-A;switch(t){case`BT`:return{x:n,y:M-r};case`LR`:return{x:r,y:n};case`RL`:return{x:M-r,y:n};default:return{x:n,y:r}}},te=e=>{let t=N(e);return n?{x:t.x,y:t.y,width:e.height,height:e.width}:{...t,width:e.width,height:e.height}},ne=new Map;for(let t of e.nodes){let e=N(a.node(t.id));ne.set(t.id,{x:e.x,y:e.y,width:t.width,height:t.height})}let re=new Map;for(let[e,t]of C)re.set(e,te(t));let ie=new Map;for(let n of e.edges){if(n.from===n.to&&!o.has(n.from)){ie.set(n.id,Xp(ne.get(n.from),t,n.label));continue}let e=y.get(n.id);if(!e){ie.set(n.id,{points:[]});continue}let r=e.slice(1,-1).map(e=>a.node(e)),i={points:r.map(e=>N(e))},s=r.find(e=>e.dummy===`label`);s&&(i.label=N(s)),(o.has(n.from)||o.has(n.to))&&Gp(i,N(a.node(e[0])),N(a.node(e[e.length-1])),{from:o.has(n.from)?re.get(n.from):void 0,to:o.has(n.to)?re.get(n.to):void 0}),ie.set(n.id,i)}return{width:n?M:j,height:n?j:M,nodes:ne,clusters:re,edges:ie}}function Up(e,t){return Math.abs(t.x-e.x)<=e.width/2&&Math.abs(t.y-e.y)<=e.height/2}function Wp(e,t,n){let r=0,i=1;for(let a=0;a<30;a++){let a=(r+i)/2;Up(e,{x:t.x+(n.x-t.x)*a,y:t.y+(n.y-t.y)*a})?i=a:r=a}return{x:t.x+(n.x-t.x)*i,y:t.y+(n.y-t.y)*i}}function Gp(e,t,n,r){let i=[t,...e.points,n];if(r.to&&!Up(r.to,t)){for(let e=1;e<i.length;e++)if(Up(r.to,i[e])){let t=Wp(r.to,i[e-1],i[e]);i=[...i.slice(0,e),t];break}e.end=i[i.length-1]}if(r.from&&!Up(r.from,i[i.length-1])){for(let e=i.length-2;e>=0;e--)if(Up(r.from,i[e])){i=[Wp(r.from,i[e+1],i[e]),...i.slice(e+1)];break}e.start=i[0]}e.points=i.slice(1,-1)}function Kp(e){let t=e.clusters??[];if(t.length===0)return Hp(e);let n=new Map(t.map(e=>[e.id,e.parent??null])),r=(e,r)=>{let i=e??null,a=0;for(;i!==null&&a++<=t.length;){if(i===r)return!0;i=n.get(i)??null}return!1},i=new Map(e.nodes.map(e=>[e.id,e.cluster??null])),a=e=>n.has(e)?{cluster:e,isCluster:!0}:{cluster:i.get(e)??null,isCluster:!1},o=t=>{for(let n of e.edges){let e=a(n.from),i=a(n.to),o=e.isCluster?r(e.cluster,t)&&e.cluster!==t:r(e.cluster,t);if(o!==(i.isCluster?r(i.cluster,t)&&i.cluster!==t:r(i.cluster,t))){let n=o?i:e;if(!(n.isCluster&&n.cluster===t))return!1}}return!0},s=t.filter(e=>o(e.id)&&!t.some(t=>t.id!==e.id&&r(e.id,t.id)&&o(t.id)));if(s.length===0)return Hp(e);let c=e.clusterPadding??12,l=e.direction??`TB`,u=new Map,d=new Set,f=new Set,p=new Set;for(let n of s){let i={...e,direction:n.direction??l,nodes:e.nodes.filter(e=>r(e.cluster,n.id)).map(e=>({...e,cluster:e.cluster===n.id?void 0:e.cluster})),clusters:t.filter(e=>e.id!==n.id&&r(e.id,n.id)).map(e=>({...e,parent:e.parent===n.id?void 0:e.parent})),edges:e.edges.filter(e=>{let t=a(e.from),i=a(e.to),o=r(t.cluster,n.id)&&!(t.isCluster&&t.cluster===n.id),s=r(i.cluster,n.id)&&!(i.isCluster&&i.cluster===n.id);return o&&s})};for(let e of i.nodes)d.add(e.id);for(let e of i.clusters??[])f.add(e.id);f.add(n.id);for(let e of i.edges)p.add(e.id);let o=Kp(i),s=n.label&&n.label.height>0?n.label.height+6:0,m=Math.max(o.width,n.label?.width??0)+c*2,h=o.height+c*2+s;u.set(n.id,{result:o,title:s,width:m,height:h})}let m=Kp({...e,nodes:[...e.nodes.filter(e=>!d.has(e.id)),...s.map(e=>({id:e.id,width:u.get(e.id).width,height:u.get(e.id).height,cluster:e.parent}))],clusters:t.filter(e=>!f.has(e.id)),edges:e.edges.filter(e=>!p.has(e.id))});for(let e of s){let t=m.nodes.get(e.id);m.nodes.delete(e.id),m.clusters.set(e.id,t);let{result:n,title:r}=u.get(e.id),i=t.x-t.width/2+(t.width-n.width)/2,a=t.y-t.height/2+c+r,o=e=>({x:e.x+i,y:e.y+a});for(let[e,t]of n.nodes)m.nodes.set(e,{...t,...o(t)});for(let[e,t]of n.clusters)m.clusters.set(e,{...t,...o(t)});for(let[e,t]of n.edges)m.edges.set(e,{...t,points:t.points.map(o),label:t.label&&o(t.label),start:t.start&&o(t.start),end:t.end&&o(t.end)})}return m}function qp(e,t,n){let r=e=>{let t=[];for(;e!==null;)t.push(e),e=n.get(e)??null;return t},i=new Set(r(e));for(let e of r(t))if(i.has(e))return e;return null}function Jp(e,t,n,r){let i=[...t];for(let t=0;t<i.length+1;t++){let t=!1;for(let a of i){let i=e.node(n(a)),o=e.node(r(a)),s=e.out(i.id).map(t=>e.node(t.w).rank),c=e.in(o.id).map(t=>e.node(t.v).rank),l=e.in(i.id).map(t=>e.node(t.v).rank+t.minlen),u=e.out(o.id).map(t=>e.node(t.w).rank-t.minlen);if(s.length>0){let e=Math.min(...s)-1,n=l.length>0?Math.max(...l):-1/0,r=Math.max(e,n);r!==i.rank&&r<=Math.min(...s)-1&&(i.rank=r,t=!0)}if(c.length>0){let e=Math.max(...c)+1,n=u.length>0?Math.min(...u):1/0,r=Math.min(e,n);r!==o.rank&&r>=Math.max(...c)+1&&(o.rank=r,t=!0)}}if(!t)break}}function Yp(e,t,n,r,i){let a=new Map;for(let t of e.nodes.values()){let e=t.cluster;for(;e!==null;){let r=a.get(e);r||a.set(e,r=new Set),r.add(t.rank),e=n.get(e)??null}}let o=0;for(let s of t){let t=e.node(r(s)).rank,c=e.node(i(s)).rank,l=a.get(s)??new Set;for(let r=t+1;r<c;r++){if(l.has(r))continue;let t=e.addNode({id:`\u0000spine${o++}`,width:0,height:0,cluster:s,dummy:`spine`});t.rank=r;let i=s;for(;i!==null;){let e=a.get(i);e||a.set(i,e=new Set),e.add(r),i=n.get(i)??null}}}}function Xp(e,t,n){let r=t===`LR`||t===`RL`,i=Vp;if(!r){let t=e.x+e.width/2,r=e.y-e.height/4,a=e.y+e.height/4;return{selfLoop:!0,points:[{x:t,y:r},{x:t+i,y:r-4},{x:t+i,y:a+4},{x:t,y:a}],label:n?{x:t+i+4+n.width/2,y:e.y}:void 0}}let a=e.y+e.height/2,o=e.x-e.width/4,s=e.x+e.width/4;return{selfLoop:!0,points:[{x:o,y:a},{x:o-4,y:a+i},{x:s+4,y:a+i},{x:s,y:a}],label:n?{x:e.x,y:a+i+4+n.height/2}:void 0}}var Zp=new Set([...`il.,:;'|!()[]{}ftjrI1 `]),Qp=new Set([...`mwMW@%ЖШЩЮжшщю—`]);function $p(e){if(Zp.has(e))return e===` `?.28:.3;if(Qp.has(e))return .88;let t=e.codePointAt(0);return t>=11904?1:e>=`0`&&e<=`9`?.57:e===e.toLowerCase()?t>=1024&&t<=1279?.58:.54:.68}var em=(e,t)=>{let n=0;for(let t of e)n+=$p(t);return n*t.size*((t.weight??400)>=600?1.06:1)};function tm(e,t,n,r,i=2){let a=e.trim().split(/\s+/).filter(Boolean);if(a.length===0)return[];let o=[],s=``,c=0;for(;c<a.length;c++){let e=a[c],l=s?`${s} ${e}`:e;if(r(l,n)<=t)s=l;else{if(s&&(o.push(s),o.length===i))break;s=r(e,n)<=t?e:nm(e,t,n,r)}}if(o.length<i&&s&&(o.push(s),c=a.length),c<a.length){let e=o[o.length-1];o[o.length-1]=nm(`${e}…`,t,n,r,!0)}return o}function nm(e,t,n,r,i=!1){let a=i?e.slice(0,-1):e;for(;a.length>1&&r(`${a}…`,n)>t;)a=a.slice(0,-1);return r(e,n)<=t&&!i?e:`${a.trimEnd()}…`}var rm={top:{x:0,y:-1},right:{x:1,y:0},bottom:{x:0,y:1},left:{x:-1,y:0}};function im(e){return rm[e]}function am(e,t,n=.5){let r=e.x-e.width/2,i=e.y-e.height/2;switch(t){case`top`:return{x:r+e.width*n,y:i};case`bottom`:return{x:r+e.width*n,y:i+e.height};case`left`:return{x:r,y:i+e.height*n};default:return{x:r+e.width,y:i+e.height*n}}}function om(e,t,n){let r=t.x-e.x,i=t.y-e.y,a=Math.abs(r)/Math.max(1,e.width/2),o=Math.abs(i)/Math.max(1,e.height/2),s=.6;return(n===`vertical`?o>=a*s:o>a/s)?i<0?`top`:`bottom`:r<0?`left`:`right`}function sm(e){return e===`rect`||e===`rounded`||e===`note`||e===`pill`}var cm=18,lm=e=>(Math.round(e*10)/10).toString(),um=e=>`${lm(e.x)} ${lm(e.y)}`,dm=(e,t,n=1)=>({x:e.x+t.x*n,y:e.y+t.y*n}),fm=(e,t)=>Math.hypot(t.x-e.x,t.y-e.y);function pm(e){return e.routing===`orthogonal`?gm(e):mm(e)}function mm({from:e,to:t,waypoints:n=[]}){let r=rm[e.side],i=rm[t.side],a=e.point,o=t.point;if(n.length===0){let e=Math.max(28,Math.min(120,fm(a,o)*.45)),t=dm(a,r,e),n=dm(o,i,e);return{d:`M ${um(a)} C ${um(t)} ${um(n)} ${um(o)}`,points:[a,t,n,o]}}let s=[a,...n,o];return{d:hm(s),points:s}}function hm(e){let t=[];for(let n of e){let e=t[t.length-1];(!e||fm(e,n)>.5)&&t.push(n)}if(t.length===0)return``;if(t.length===2)return`M ${um(t[0])} L ${um(t[1])}`;let n=``,r=0,i=0,a=0,o=0,s=(e,t)=>{n+=` C ${lm((2*r+a)/3)} ${lm((2*i+o)/3)} ${lm((r+2*a)/3)} ${lm((i+2*o)/3)} ${lm((r+4*a+e)/6)} ${lm((i+4*o+t)/6)}`},c=0;for(let e of t)c===0?(c=1,n=`M ${um(e)}`):c===1?c=2:(c===2&&(c=3,n+=` L ${lm((5*r+a)/6)} ${lm((5*i+o)/6)}`),s(e.x,e.y)),r=a,a=e.x,i=o,o=e.y;return c===3&&s(a,o),n+=` L ${um({x:a,y:o})}`,n}function gm({from:e,to:t,waypoints:n=[],radius:r=8}){let i=e.point,a=t.point,o=dm(i,rm[e.side],cm),s=dm(a,rm[t.side],cm),c=e.side===`top`||e.side===`bottom`,l=[o,...n,s],u=[i,o],d=c;for(let e=1;e<l.length;e++){let n=u[u.length-1],r=l[e],i=e===l.length-1;if(i||(Math.abs(n.y-r.y)<3?r={x:r.x,y:n.y}:Math.abs(n.x-r.x)<3&&(r={x:n.x,y:r.y})),Math.abs(n.x-r.x)<.5||Math.abs(n.y-r.y)<.5){u.push(r),d=Math.abs(n.x-r.x)<.5;continue}let a=t.side===`top`||t.side===`bottom`;if(i&&d!==a)u.push(d?{x:n.x,y:r.y}:{x:r.x,y:n.y});else if(d){let e=(n.y+r.y)/2;u.push({x:n.x,y:e},{x:r.x,y:e})}else{let e=(n.x+r.x)/2;u.push({x:e,y:n.y},{x:e,y:r.y})}u.push(r)}u.push(a);let f=_m(u);return{d:vm(f,r),points:f}}function _m(e){let t=[];for(let n of e){let e=t[t.length-1];if(e&&Math.abs(e.x-n.x)<.5&&Math.abs(e.y-n.y)<.5)continue;let r=t[t.length-2];r&&e&&(Math.abs(r.x-e.x)<.5&&Math.abs(e.x-n.x)<.5||Math.abs(r.y-e.y)<.5&&Math.abs(e.y-n.y)<.5)&&t.pop(),t.push(n)}return t}function vm(e,t){let n=`M ${um(e[0])}`;for(let r=1;r<e.length-1;r++){let i=e[r-1],a=e[r],o=e[r+1],s=Math.min(t,fm(i,a)/2,fm(a,o)/2),c=dm(a,{x:Math.sign(i.x-a.x),y:Math.sign(i.y-a.y)},s),l=dm(a,{x:Math.sign(o.x-a.x),y:Math.sign(o.y-a.y)},s);n+=` L ${um(c)} Q ${um(a)} ${um(l)}`}return n+=` L ${um(e[e.length-1])}`,n}function ym(e){if(e.length===0)return{x:0,y:0};let t=0;for(let n=1;n<e.length;n++)t+=fm(e[n-1],e[n]);let n=t/2;for(let t=1;t<e.length;t++){let r=fm(e[t-1],e[t]);if(n<=r&&r>0){let i=n/r;return{x:e[t-1].x+(e[t].x-e[t-1].x)*i,y:e[t-1].y+(e[t].y-e[t-1].y)*i}}n-=r}return e[e.length-1]}function bm(e,t,n,r,i){let a=1-i;return{x:a*a*a*e.x+3*a*a*i*t.x+3*a*i*i*n.x+i*i*i*r.x,y:a*a*a*e.y+3*a*a*i*t.y+3*a*i*i*n.y+i*i*i*r.y}}function xm(e,t){let n=1/0;for(let r=1;r<t.length;r++){let i=t[r-1],a=t[r],o=(a.x-i.x)**2+(a.y-i.y)**2,s=o===0?0:Math.max(0,Math.min(1,((e.x-i.x)*(a.x-i.x)+(e.y-i.y)*(a.y-i.y))/o));n=Math.min(n,fm(e,{x:i.x+s*(a.x-i.x),y:i.y+s*(a.y-i.y)}))}return n}function Sm(e,t,n,r,i,a=10,o){let s=e=>r?e.x:e.y,c=e=>r?e.y:e.x,l=(e,t)=>r?{x:e,y:t}:{x:t,y:e},u=dm(e.point,rm[e.side],cm),d=dm(t.point,rm[t.side],cm),f=[e.point,u],p=u,m=s(e.point)+Math.sign(s(u)-s(e.point)||1)*6,h=(e,t)=>{let n=(m+t)/2;for(let r of[.5,.3,.7,.15,.85,.05,.95]){let a=m+(t-m)*r;if(i(l(a,c(p)),l(a,e))&&i(l(s(p),c(p)),l(a,c(p)))){n=a;break}}f.push(l(n,c(p)),l(n,e)),p=l(n,e)};for(let e of n){let t=!!o&&Math.abs(e.x-o.x)<.5&&Math.abs(e.y-o.y)<.5;Math.abs(c(e)-c(p))<1||!t&&i(p,l(s(e),c(p)))||h(c(e),s(e)),m=s(e)}Math.abs(c(p)-c(d))>=1&&h(c(d),s(d)),f.push(d,t.point);let g=_m(f);return{d:vm(g,a),points:g}}function Cm(e,t,n,r=0){let i=Math.min(e.x,t.x),a=Math.max(e.x,t.x),o=Math.min(e.y,t.y),s=Math.max(e.y,t.y),c=n.x-n.width/2-r,l=n.x+n.width/2+r,u=n.y-n.height/2-r,d=n.y+n.height/2+r;return a>c&&i<l&&s>u&&o<d}function wm(e,t,n){for(let r=1;r<e.length;r++){let i=e[r-1],a=e[r];if(!(n?Math.abs(i.y-a.y)<.5:Math.abs(i.x-a.x)<.5))continue;let o=Math.min(n?i.x:i.y,n?a.x:a.y),s=Math.max(n?i.x:i.y,n?a.x:a.y);if(t>=o&&t<=s)return n?{x:t,y:i.y}:{x:i.x,y:t}}}var Tm=30,Em=16,Dm=30;function Om(e,t,n){return n===`LR`?t.x+t.width/2<=e.x-e.width/2:t.y+t.height/2<=e.y-e.height/2}function km(e,t){let n=new Map;if(e.length===0)return n;let r=t.direction===`LR`,i=e=>r?e.x:e.y,a=e=>r?e.y:e.x,o=e=>(r?e.width:e.height)/2,s=e=>(r?e.height:e.width)/2,c=(e,t)=>r?{x:e,y:t}:{x:t,y:e},l=1/0,u=-1/0;for(let[e,n]of t.nodes)l=Math.min(l,a(n)-s(n)),u=Math.max(u,a(n)+s(n)+(t.extraBelow?.(e)??0));for(let e of t.groups.values())l=Math.min(l,a(e)-s(e)),u=Math.max(u,a(e)+s(e));let d=(e,n,r,c,l)=>{let u=0,d=e=>Math.abs(i(e)-n)<o(e)+6&&(c>0?a(e)+s(e)>r+1:a(e)-s(e)<r-1);for(let[n,r]of t.nodes)n!==e&&d(r)&&u++;for(let[e,n]of t.groups)!l.has(e)&&d(n)&&(u+=2);return u},f=new Map,p=(e,t,n,o,l,u,p)=>{let m=r?o>0?`bottom`:`top`:o>0?`right`:`left`,h=`${e}\u0000${m}`,g=f.get(h)??[],_=u?[.5,.3,.7,.15,.85]:[.5],v=a(t)+o*s(t);for(let r of _){if(g.some(e=>Math.abs(e-r)<.1))continue;let a=am(t,m,r);if(d(e,i(a),v,o,n)===0)return p&&f.set(h,[...g,r]),{point:a,side:m,dropM:i(a),cost:0}}let y=r?l?[`left`,`right`]:[`right`,`left`]:l?[`top`,`bottom`]:[`bottom`,`top`],b;for(let r of y){let s=am(t,r,.5),l=r===`left`||r===`top`?-1:1,u=i(s)+l*18,f=d(e,u,a(t),o,n),p={point:s,side:r,dropM:u,stub:c(u,a(s)),cost:f};if(f===0)return p;(!b||f<b.cost)&&(b=p)}let x=am(t,m,.5),S={point:x,side:m,dropM:i(x),cost:d(e,i(x),v,o,n)};return b&&b.cost<S.cost?b:S},m=e.map(e=>{let t=t=>p(e.from,e.source,e.sourceGroups,t,!0,e.spreadSource,!1).cost+p(e.to,e.target,e.targetGroups,t,!1,e.spreadTarget,!1).cost,n=t(-1)<t(1)?-1:1,r=p(e.from,e.source,e.sourceGroups,n,!0,e.spreadSource,!0),i=p(e.to,e.target,e.targetGroups,n,!1,e.spreadTarget,!0);return{e,side:n,lane:0,lo:Math.min(r.dropM,i.dropM),hi:Math.max(r.dropM,i.dropM),src:r,dst:i}});for(let e of[1,-1]){let t=m.filter(t=>t.side===e).sort((e,t)=>e.hi-e.lo-(t.hi-t.lo)||e.lo-t.lo),n=[];for(let e of t){let t=n.findIndex(t=>t.every(t=>e.hi+12<t.lo||e.lo-12>t.hi));t<0&&(n.push([]),t=n.length-1),n[t].push({lo:e.lo,hi:e.hi}),e.lane=t}}let h=e=>m.some(t=>t.side===e&&t.e.label),g=e=>r&&h(e)?Dm:Em,_=e=>e>0?u+Tm:l-Tm;for(let e of m){let t=e.side,r=_(t)+t*e.lane*g(t),i=[e.src.point];e.src.stub&&i.push(e.src.stub),i.push(c(e.src.dropM,r),c(e.dst.dropM,r)),e.dst.stub&&i.push(e.dst.stub),i.push(e.dst.point);let a={d:vm(i,10),points:i,from:{point:e.src.point,side:e.src.side},to:{point:e.dst.point,side:e.dst.side}};e.e.label&&(a.label=c((e.src.dropM+e.dst.dropM)/2,r)),n.set(e.e.id,a)}return n}var Am=(e,t,n)=>Math.abs(e.x-t.x)<(e.width+t.width)/2+n&&Math.abs(e.y-t.y)<(e.height+t.height)/2+n;function jm(e,t){let n=[];for(let t=1;t<e.length;t++){let r=e[t-1],i=e[t];n.push({a:r,b:i,len:Math.hypot(i.x-r.x,i.y-r.y)})}n.sort((e,t)=>t.len-e.len);let r=[];for(let e of n)for(let t of[.5,.35,.65,.2,.8,.1,.9])r.push({x:e.a.x+(e.b.x-e.a.x)*t,y:e.a.y+(e.b.y-e.a.y)*t});let i=[];for(let e of n){let n=Math.abs(e.a.y-e.b.y)<.5,r=n?0:t.width/2+3,a=n?t.height/2+3:0;for(let t of[.5,.3,.7]){let n={x:e.a.x+(e.b.x-e.a.x)*t,y:e.a.y+(e.b.y-e.a.y)*t};i.push({x:n.x-r,y:n.y-a},{x:n.x+r,y:n.y+a})}}return[...r,...i]}function Mm(e,t){let n=[...t],r=[],i=e=>!n.some(t=>Am(e,t,4))&&!r.some(t=>Am(e,t,3));for(let{label:t,points:n}of e){if(!i(t)){for(let e of jm(n,t))if(i({...t,x:e.x,y:e.y})){t.x=e.x,t.y=e.y;break}}r.push(t)}}var Nm={size:14,weight:500},Pm={size:12},Fm={size:12,weight:500},Im={size:13},Lm=30;function Rm(e,t,n){let r=ip(t,e.type),i=e.label??``;if(r.size)return{id:e.id,width:r.size.width,height:r.size.height,lines:i?tm(i,160,Im,n,2):[],descriptionLines:[]};let a=r.minWidth??120,o=r.maxWidth??220,s=r.icon&&r.shape!==`diamond`?Lm:0,c=r.shape===`diamond`,l=c?o*.62:o-32-s-10,u=tm(i,l,Nm,n,c?2:3),d=e.description&&!c?tm(e.description,l,Pm,n,2):[],f=Math.max(0,...u.map(e=>n(e,Nm)),...d.map(e=>n(e,Pm))),p=c?Math.min(o,Math.max(a,f/.62+8)):Math.min(o,Math.max(a,Math.ceil(f+32+s+10))),m=u.length*18+d.length*15,h=Math.max(r.height??44,c?m*2+20:m+24);return{id:e.id,width:Math.round(p),height:Math.round(h),lines:u,descriptionLines:d}}function zm(e){return e.label??e.condition??``}function Bm(e,t,n=0){let r=zm(e);if(!r)return;let i=tm(r,160,Fm,t,2),a=Math.max(...i.map(e=>t(e,Fm)))+16+n;return{width:Math.ceil(a),height:i.length*15+8,lines:i}}function Vm(e,t={}){let n=t.registry??rp,r=t.measure??em,i=t.direction??e.meta?.direction??`LR`,a=t.routing??`orthogonal`,o=new Set(e.nodes.map(e=>e.id)),s=new Set((e.groups??[]).map(e=>e.id)),c=new Map(e.nodes.map(e=>[e.id,Rm(e,n,r)])),l=e.edges.filter(e=>o.has(e.from)&&o.has(e.to)),u=new Map(l.map(e=>[e.id,Bm(e,r,t.edgeLabelExtra??0)])),d=t.ignorePositions?[]:e.nodes.filter(e=>e.position),f=new Map,p=new Map,m=new Map,h=new Map;if(d.length<e.nodes.length){let n=Hm(e,c,l,u,i,s,t),r=new Set(l.filter(t=>Wm(t,e)&&n.nodes.has(t.from)&&n.nodes.has(t.to)).filter(e=>Om(n.nodes.get(e.from),n.nodes.get(e.to),i)).map(e=>e.id));r.size>0&&(n=Hm(e,c,l.filter(e=>!r.has(e.id)),u,i,s,t));for(let[e,t]of n.nodes)f.set(e,{x:t.x,y:t.y});for(let[e,t]of n.edges)p.set(e,t.points),t.label&&m.set(e,t.label);if(h=new Map([...n.clusters].map(([e,t])=>[e,t])),d.length>0){let t=0,n=0;for(let e of d){let r=f.get(e.id);t+=e.position.x-r.x,n+=e.position.y-r.y}t/=d.length,n/=d.length;let r=[];for(let e of d)f.set(e.id,{...e.position}),r.push({...e.position,width:c.get(e.id).width,height:c.get(e.id).height});for(let a of e.nodes){if(a.position)continue;let e=f.get(a.id),o={x:e.x+t,y:e.y+n,width:c.get(a.id).width,height:c.get(a.id).height},s=0;for(;r.some(e=>qm(e,o,16))&&s++<400;)i===`LR`?o.y+=12:o.x+=12;f.set(a.id,{x:o.x,y:o.y}),r.push(o)}p=new Map,m=new Map,h=new Map}}else for(let t of e.nodes)f.set(t.id,{...t.position});let g=new Map;for(let t of e.nodes){let e=c.get(t.id),n=f.get(t.id);g.set(t.id,{...e,x:n.x,y:n.y})}let _=new Map;for(let t of e.groups??[]){let n=h.get(t.id)??Jm(t.id,e,g);n&&_.set(t.id,{id:t.id,label:t.label,...n})}let v=Um(e,g,{direction:i,routing:a,registry:n,waypoints:p,labelAt:m,labels:u,groups:_});return{direction:i,routing:a,nodes:g,edges:v,groups:_,waypoints:p,bounds:Ym(g,v,_)}}function Hm(e,t,n,r,i,a,o){let s=o.registry??rp,c=e.nodes.map(e=>{let n=t.get(e.id),r=ip(s,e.type),c=n.width,l=n.height;r.labelOutside&&n.lines.length&&(i===`LR`?l+=(n.lines.length*18+4)*2:c+=(Math.max(...n.lines.map(e=>(o.measure??em)(e,Im)))+10)*2);let u={id:e.id,width:c,height:l};return e.group&&a.has(e.group)&&(u.cluster=e.group),u}),l=n.map(e=>{let t=r.get(e.id),n={id:e.id,from:e.from,to:e.to};return t&&(n.label={width:t.width,height:t.height}),e.kind===`association`&&(n.weight=.2),n}),u=(e.groups??[]).map(e=>{let t={id:e.id};return e.parent&&a.has(e.parent)&&(t.parent=e.parent),e.label&&(t.label={width:em(e.label,{size:12,weight:600})+8,height:18}),t});try{return Kp({direction:i,nodes:c,edges:l,clusters:u,nodeSep:o.nodeSep??36,rankSep:o.rankSep??(i===`LR`?26:22),edgeSep:16,clusterPadding:18,transpose:!0})}catch{return Kp({direction:i,nodes:c.map(e=>({id:e.id,width:e.width,height:e.height})),edges:l,nodeSep:36,rankSep:24,transpose:!0})}}function Um(e,t,n,r){let i=new Map(e.nodes.map(e=>[e.id,e])),a=n.direction===`TB`?`vertical`:`horizontal`,o=new Map((e.groups??[]).map(e=>[e.id,e.parent])),s=e=>{let t=new Set,n=i.get(e)?.group;for(;n!==void 0&&!t.has(n);)t.add(n),n=o.get(n);return t},c=e=>{let r=new Set([...s(e.from),...s(e.to)]),i=[];for(let[n,r]of t)n!==e.from&&n!==e.to&&i.push(r);for(let[e,t]of n.groups??[])r.has(e)||i.push(t);return(e,t)=>!i.some(n=>Cm(e,t,n,6))},l=[],u=[],d=new Map;for(let o of e.edges){let c=i.get(o.from),f=i.get(o.to),p=t.get(o.from),m=t.get(o.to);if(!c||!f||!p||!m)continue;if(o.from===o.to){if(r&&!r.has(o.id))continue;d.set(o.id,Km(o,p,n));continue}if(Wm(o,e)&&Om(p,m,n.direction)){u.push({id:o.id,from:o.from,to:o.to,source:p,target:m,sourceGroups:s(o.from),targetGroups:s(o.to),label:n.labels.get(o.id),spreadSource:sm(ip(n.registry,c.type).shape),spreadTarget:sm(ip(n.registry,f.type).shape)});continue}let h=n.waypoints.get(o.id)??[],g=(e,t,r,i)=>{let o=r?ap(n.registry,e).find(e=>e.id===r):void 0;return o?{node:e,box:t,side:o.side,offset:o.offset??.5,fixed:!0,toward:i}:{node:e,box:t,side:om(t,i,a),fixed:!1,toward:i}};l.push({edge:o,ends:[g(c,p,o.fromPort,h[0]??m),g(f,m,o.toPort,h[h.length-1]??p)],wps:h})}let f=new Map;for(let e of l)for(let t of[0,1]){let n=e.ends[t];if(n.fixed)continue;let r=`${n.node.id}\u0000${n.side}`,i=f.get(r)??[];i.push({p:e,i:t}),f.set(r,i)}for(let e of f.values()){let t=e[0].p.ends[e[0].i],r=ip(n.registry,t.node.type).shape;if(e.length===1||!sm(r)){for(let{p:t,i:n}of e)t.ends[n].offset=.5;continue}let i=t.side===`top`||t.side===`bottom`;e.sort((e,t)=>{let n=e.p.ends[e.i].toward,r=t.p.ends[t.i].toward;return i?n.x-r.x||n.y-r.y:n.y-r.y||n.x-r.x});let a=Math.min(.7,.18*(e.length-1));e.forEach(({p:t,i:n},r)=>t.ends[n].offset=.5-a/2+a*r/(e.length-1))}for(let e of l){if(r&&!r.has(e.edge.id))continue;let[t,i]=e.ends,a={point:Gm(t.box,t.side,t.offset??.5,n,t.node),side:t.side},o={point:Gm(i.box,i.side,i.offset??.5,n,i.node),side:i.side},s=e.wps.length>0?Sm(a,o,e.wps,n.direction===`LR`,c(e.edge),n.routing===`spline`?28:10,n.labelAt.get(e.edge.id)):pm({from:a,to:o,waypoints:e.wps,routing:n.routing}),l={id:e.edge.id,d:s.d,points:s.points,from:a,to:o},u=n.labels.get(e.edge.id);if(u){let t=n.labelAt.get(e.edge.id);t&&=wm(s.points,n.direction===`LR`?t.x:t.y,n.direction===`LR`)??ym(s.points),t||=n.routing===`spline`&&e.wps.length===0&&s.points.length===4?bm(s.points[0],s.points[1],s.points[2],s.points[3],.5):ym(s.points),l.label={x:t.x,y:t.y,width:u.width,height:u.height,lines:u.lines}}d.set(e.edge.id,l)}let p=km(u,{direction:n.direction,nodes:t,groups:n.groups??new Map,extraBelow:e=>{let t=i.get(e),r=t&&ip(n.registry,t.type);return n.direction===`LR`&&r?.labelOutside&&t?.label?42:0}});for(let e of u){if(r&&!r.has(e.id))continue;let t=p.get(e.id),i={id:e.id,d:t.d,points:t.points,from:t.from,to:t.to},a=n.labels.get(e.id);a&&t.label&&(i.label={x:t.label.x,y:t.label.y,width:a.width,height:a.height,lines:a.lines}),d.set(e.id,i)}return r||Mm([...d.values()].filter(e=>e.label).sort((e,t)=>Number(u.some(t=>t.id===e.id))-Number(u.some(e=>e.id===t.id))).map(e=>({label:e.label,points:e.points})),t.values()),d}function Wm(e,t){return e.from!==e.to&&e.kind!==`association`&&!e.fromPort&&!e.toPort}function Gm(e,t,n,r,i){let a=ip(r.registry,i.type).shape;return sm(a)?am(e,t,n):am(e,t,.5)}function Km(e,t,n){let r=n.direction===`LR`,i=r?`top`:`right`,a=r?`top`:`right`,o=am(t,i,.7),s=am(t,a,.3),c=r?`M ${o.x} ${o.y} C ${o.x} ${o.y-34} ${s.x} ${s.y-34} ${s.x} ${s.y}`:`M ${o.x} ${o.y} C ${o.x+34} ${o.y} ${s.x+34} ${s.y} ${s.x} ${s.y}`,l=r?{x:(o.x+s.x)/2,y:o.y-25.5}:{x:o.x+25.5,y:(o.y+s.y)/2},u={id:e.id,d:c,points:[o,l,s],from:{point:o,side:i},to:{point:s,side:a},selfLoop:!0},d=n.labels.get(e.id);return d&&(u.label={x:r?l.x:l.x+d.width/2+4,y:r?l.y-d.height/2-4:l.y,width:d.width,height:d.height,lines:d.lines}),u}function qm(e,t,n=0){return Math.abs(e.x-t.x)<(e.width+t.width)/2+n&&Math.abs(e.y-t.y)<(e.height+t.height)/2+n}function Jm(e,t,n,r=18,i=24){let a=new Set([e]),o=!0;for(;o;){o=!1;for(let e of t.groups??[])e.parent&&a.has(e.parent)&&!a.has(e.id)&&(a.add(e.id),o=!0)}let s=1/0,c=1/0,l=-1/0,u=-1/0;for(let e of t.nodes){if(!e.group||!a.has(e.group))continue;let t=n.get(e.id);t&&(s=Math.min(s,t.x-t.width/2),c=Math.min(c,t.y-t.height/2),l=Math.max(l,t.x+t.width/2),u=Math.max(u,t.y+t.height/2))}if(!Number.isFinite(s))return;let d=[...a].filter(t=>t!==e).length>0?10:0;return s-=r+d,l+=r+d,c-=r+i+d,u+=r+d,{x:(s+l)/2,y:(c+u)/2,width:l-s,height:u-c}}function Ym(e,t,n,r=40){let i=1/0,a=1/0,o=-1/0,s=-1/0,c=(e,t=0)=>{i=Math.min(i,e.x-e.width/2),a=Math.min(a,e.y-e.height/2),o=Math.max(o,e.x+e.width/2),s=Math.max(s,e.y+e.height/2+t)};for(let t of e.values())c(t,t.width<=40?r:0),t.width<=40&&`lines`in t&&t.lines.length&&(c({...t,width:110}),c({...t,x:t.x+60,width:t.width+120}));for(let e of n.values())c(e);for(let e of t.values()){for(let t of e.points)c({x:t.x,y:t.y,width:0,height:0});e.label&&c(e.label)}return Number.isFinite(i)?{x:i,y:a,width:o-i,height:s-a}:{x:0,y:0,width:0,height:0}}function Xm(){return{nodes:{},edges:{},failures:0}}function Zm(e){if(e===void 0)return;if(typeof e==`number`)return Number.isFinite(e)?e:void 0;let t=Date.parse(e);return Number.isNaN(t)?void 0:t}function Qm(e,t){if(!t)return e;let n={...e};for(let[r,i]of Object.entries(t))n[r]={...e[r]??{},...i};return n}function $m(e,t){switch(t.type){case`reset`:return Xm();case`error`:return{...e,error:t.error,failures:e.failures+1};case`snapshot`:{let n=t.snapshot,r={...t.merge?{...e,nodes:Qm(e.nodes,n.nodes),edges:Qm(e.edges,n.edges)}:{nodes:{...n.nodes??{}},edges:{...n.edges??{}},failures:0},failures:0,receivedAt:t.at};delete r.error;let i=Zm(n.updatedAt);return i===void 0?delete r.updatedAt:r.updatedAt=i,n.path===void 0&&t.merge||(n.path?r.path=[...n.path]:delete r.path),n.current===void 0&&t.merge||(n.current?r.current=[...n.current]:delete r.current),r}}}function eh(e,t,n=Date.now(),r=!1){return $m(e??Xm(),{type:`snapshot`,snapshot:t,at:n,merge:r})}function th(e,t,n){return e?.receivedAt?t-e.receivedAt>n:!1}function nh(e,t){if(!t||t.length<2)return[];let n=[];for(let r=1;r<t.length;r++){let i=t[r-1],a=t[r],o=e.edges.filter(e=>e.from===i&&e.to===a),s=o.find(e=>e.enabled!==!1)??o[0];s&&n.push(s.id)}return n}var rh=Object.freeze({active:`accent`,done:`success`,error:`danger`,waiting:`warning`,skipped:`neutral`});function ih(e){let t={};for(let n of Object.values(e?.nodes??{}))n.status&&(t[n.status]=(t[n.status]??0)+1);return t}function ah(){let e=globalThis.document;if(e&&typeof e.addEventListener==`function`)return{hidden:()=>e.visibilityState===`hidden`,subscribe(t){return e.addEventListener(`visibilitychange`,t),()=>e.removeEventListener(`visibilitychange`,t)}}}function oh(e,t,n={}){if(n===!1||t===0)return e;let r=n.factor??2,i=n.maxMs??6e4;return Math.min(i,e*r**t)}function sh(e){let t=e.visibilityPause===!1?void 0:e.visibilityPause===!0||e.visibilityPause===void 0?ah():e.visibilityPause,n=`idle`,r=()=>n,i,a,o=0,s,c=e.intervalMs,l=0,u=()=>{i!==void 0&&clearTimeout(i),i=void 0},d=()=>{a?.abort(),a=void 0},f=e=>{u(),c=e,n===`running`&&(i=setTimeout(p,e))},p=async()=>{if(i=void 0,n!==`running`)return;let t=++l;d();let s=new AbortController;a=s;try{let n=await e.fetch(s.signal);if(t!==l||r()===`idle`)return;o=0,e.onData?.(n)}catch(n){if(t!==l||r()===`idle`||s.signal.aborted)return;o++,e.onError?.(n,o)}finally{a===s&&(a=void 0)}t===l&&n===`running`&&f(oh(e.intervalMs,o,e.backoff))},m=()=>{t&&n!==`idle`&&(t.hidden()?n===`running`&&(n=`paused`,l++,u(),d()):n===`paused`&&(n=`running`,p()))};return{start(){n===`idle`&&(s=t?.subscribe(m),t?.hidden()?n=`paused`:(n=`running`,e.immediate??!0?p():f(e.intervalMs)))},stop(){n=`idle`,l++,u(),d(),s?.(),s=void 0},refresh(){n===`running`&&(u(),p())},get status(){return n},get failures(){return o},get nextDelay(){return c}}}var ch=class extends Error{name=`CommandError`};function lh(e,t){let n={...e};for(let[e,r]of Object.entries(t))e!==`id`&&(r==null?delete n[e]:n[e]=r);return n}function uh(e){return new Set([...e.nodes.map(e=>e.id),...e.edges.map(e=>e.id),...(e.groups??[]).map(e=>e.id)])}function dh(e,t){switch(t.type){case`addNodes`:{let n=uh(e);for(let e of[...t.nodes,...t.edges??[]]){if(n.has(e.id))throw new ch(`The id "${e.id}" is already used`);n.add(e.id)}return{...e,nodes:[...e.nodes,...t.nodes],edges:t.edges?.length?[...e.edges,...t.edges]:e.edges}}case`removeElements`:{let n=new Set(t.ids),r=e.nodes.filter(e=>!n.has(e.id)),i=e.edges.filter(e=>!n.has(e.id)&&!n.has(e.from)&&!n.has(e.to)),a={...e,nodes:r,edges:i};if(e.groups){let t=new Map(e.groups.map(e=>[e.id,e.parent])),i=e=>{let r=e,i=0;for(;r!==void 0&&n.has(r)&&i++<100;)r=t.get(r);return r};a.groups=e.groups.filter(e=>!n.has(e.id)).map(e=>e.parent&&n.has(e.parent)?lh(e,{parent:i(e.parent)??null}):e),a.nodes=r.map(e=>e.group&&n.has(e.group)?lh(e,{group:i(e.group)??null}):e)}return a}case`updateNode`:{let n=e.nodes.findIndex(e=>e.id===t.id);if(n<0)throw new ch(`No node "${t.id}"`);let r=e.nodes.slice();return r[n]=lh(r[n],t.patch),{...e,nodes:r}}case`moveNodes`:{let n=new Map(t.moves.map(e=>[e.id,e.position]));return{...e,nodes:e.nodes.map(e=>n.has(e.id)?{...e,position:{...n.get(e.id)}}:e)}}case`addEdge`:if(uh(e).has(t.edge.id))throw new ch(`The id "${t.edge.id}" is already used`);return{...e,edges:[...e.edges,t.edge]};case`updateEdge`:{let n=e.edges.findIndex(e=>e.id===t.id);if(n<0)throw new ch(`No edge "${t.id}"`);let r=e.edges.slice();return r[n]=lh(r[n],t.patch),{...e,edges:r}}case`setEnabled`:{let n={enabled:t.enabled?null:!1};return t.kind===`node`?dh(e,{type:`updateNode`,id:t.id,patch:n}):dh(e,{type:`updateEdge`,id:t.id,patch:n})}case`addGroup`:if(uh(e).has(t.group.id))throw new ch(`The id "${t.group.id}" is already used`);return{...e,groups:[...e.groups??[],t.group]};case`updateGroup`:{let n=e.groups??[],r=n.findIndex(e=>e.id===t.id);if(r<0)throw new ch(`No group "${t.id}"`);let i=n.slice();return i[r]=lh(i[r],t.patch),{...e,groups:i}}case`updateMeta`:return{...e,meta:lh(e.meta??{},t.patch)};case`replace`:return t.graph;case`batch`:return t.commands.reduce(dh,e)}}function fh(e,t,n=uh(e)){let r=t.replace(/[^\p{L}\p{N}_-]+/gu,`-`).replace(/^-+|-+$/g,``)||`n`;for(let e=1;;e++){let t=`${r}-${e}`;if(!n.has(t))return t}}function ph(e,t){return t<=0?e:{x:Math.round(e.x/t)*t,y:Math.round(e.y/t)*t}}function mh(e){switch(e.type){case`addNodes`:return e.nodes.length===1?`add ${e.nodes[0].id}`:`add ${e.nodes.length} nodes`;case`removeElements`:return e.ids.length===1?`delete ${e.ids[0]}`:`delete ${e.ids.length} elements`;case`updateNode`:case`updateEdge`:case`updateGroup`:return`edit ${e.id}`;case`moveNodes`:return e.moves.length===1?`move ${e.moves[0].id}`:`move ${e.moves.length} nodes`;case`addEdge`:return`connect ${e.edge.from} → ${e.edge.to}`;case`setEnabled`:return`${e.enabled?`enable`:`disable`} ${e.id}`;case`addGroup`:return`add group ${e.group.id}`;case`updateMeta`:return`edit settings`;case`replace`:return`replace graph`;case`batch`:return e.commands.length===1?mh(e.commands[0]):`${e.commands.length} changes`}}var hh=class{current;past=[];future=[];limit;mergeWindow;now;constructor(e,t={}){this.current=e,this.limit=t.limit??200,this.mergeWindow=t.mergeWindowMs??800,this.now=t.now??Date.now}get graph(){return this.current}get canUndo(){return this.past.length>0}get canRedo(){return this.future.length>0}get last(){return this.past[this.past.length-1]}get next(){return this.future[this.future.length-1]}execute(e,t){let n=this.current,r=dh(n,e),i=this.now(),a=this.last;return t&&a&&a.mergeKey===t&&i-a.at<=this.mergeWindow&&this.future.length===0?(a.after=r,a.command=a.command.type===`batch`?{type:`batch`,commands:[...a.command.commands,e]}:{type:`batch`,commands:[a.command,e]},a.at=i):(this.past.push({command:e,before:n,after:r,mergeKey:t,at:i}),this.past.length>this.limit&&this.past.shift()),this.future=[],this.current=r,r}undo(){let e=this.past.pop();if(e)return this.future.push(e),this.current=e.before,e}redo(){let e=this.future.pop();if(e)return this.past.push(e),this.current=e.after,e}reset(e){e!==this.current&&(this.current=e,this.past=[],this.future=[])}seal(){let e=this.last;e&&(e.mergeKey=void 0)}};function gh(e){return typeof e==`object`&&!!e&&e.kind===`dskripchenko-flow/fragment`&&Array.isArray(e.nodes)}function _h(e,t,n){let r=new Set(t),i=e.nodes.filter(e=>r.has(e.id)).map(e=>{let t=n?.nodes.get(e.id),r=structuredClone(e);return t&&(r.position={x:t.x,y:t.y}),r}),a=new Set(i.map(e=>e.id));return{kind:`dskripchenko-flow/fragment`,version:1,nodes:i,edges:e.edges.filter(e=>a.has(e.from)&&a.has(e.to)).map(e=>structuredClone(e))}}function vh(e,t,n={}){let r=new Set([...e.nodes.map(e=>e.id),...e.edges.map(e=>e.id),...(e.groups??[]).map(e=>e.id)]),i=new Set((e.groups??[]).map(e=>e.id)),a=new Map,o=n.offset??{x:32,y:32};if(n.at){let e=t.nodes.map(e=>e.position).filter(e=>!!e);if(e.length){let t=(Math.min(...e.map(e=>e.x))+Math.max(...e.map(e=>e.x)))/2,r=(Math.min(...e.map(e=>e.y))+Math.max(...e.map(e=>e.y)))/2;o={x:n.at.x-t,y:n.at.y-r}}}let s=t.nodes.map(t=>{let n=fh(e,t.type===`state`?`state`:t.type,r);r.add(n),a.set(t.id,n);let s={...structuredClone(t),id:n};return t.position&&(s.position={x:t.position.x+o.x,y:t.position.y+o.y}),s.group&&!i.has(s.group)&&delete s.group,s});return{command:{type:`addNodes`,nodes:s,edges:t.edges.filter(e=>a.has(e.from)&&a.has(e.to)).map(t=>{let n=fh(e,`e`,r);return r.add(n),{...structuredClone(t),id:n,from:a.get(t.from),to:a.get(t.to)}})},ids:s.map(e=>e.id)}}function yh(e,t,n){let r=t.map(t=>[t,e.get(t)]).filter(e=>!!e[1]);if(r.length<2)return null;let i=r.map(([,e])=>e.x-e.width/2),a=r.map(([,e])=>e.x+e.width/2),o=r.map(([,e])=>e.y-e.height/2),s=r.map(([,e])=>e.y+e.height/2);return{type:`moveNodes`,moves:r.map(([e,t])=>{let{x:r,y:c}=t;switch(n){case`left`:r=Math.min(...i)+t.width/2;break;case`right`:r=Math.max(...a)-t.width/2;break;case`center`:r=(Math.min(...i)+Math.max(...a))/2;break;case`top`:c=Math.min(...o)+t.height/2;break;case`bottom`:c=Math.max(...s)-t.height/2;break;case`middle`:c=(Math.min(...o)+Math.max(...s))/2}return{id:e,position:{x:r,y:c}}})}}function bh(e,t,n){let r=t.map(t=>[t,e.get(t)]).filter(e=>!!e[1]);if(r.length<3)return null;let i=n===`horizontal`,a=e=>i?e.width:e.height,o=e=>i?e.x:e.y;r.sort((e,t)=>o(e[1])-o(t[1]));let s=r[0][1],c=r[r.length-1][1],l=o(s)-a(s)/2,u=o(c)+a(c)/2,d=r.reduce((e,[,t])=>e+a(t),0),f=(u-l-d)/(r.length-1),p=l;return{type:`moveNodes`,moves:r.map(([e,t])=>{let n=p+a(t)/2;return p+=a(t)+f,{id:e,position:i?{x:n,y:t.y}:{x:t.x,y:n}}})}}function xh(e){return{type:`moveNodes`,moves:[...e.nodes.values()].map(e=>({id:e.id,position:{x:Math.round(e.x),y:Math.round(e.y)}}))}}function Sh(e,t,n,r={}){let i=r.grid??0,a=r.padding??24,o=[...e],s=e=>(i>0?Math.round(e/i)*i:Math.round(e))+0,c=e=>o.every(n=>Math.abs(n.x-e.x)>=(n.width+t.width)/2+a||Math.abs(n.y-e.y)>=(n.height+t.height)/2+a),l={x:s(n.x),y:s(n.y)};if(c(l))return l;let u=Math.max(i,20),d=r.maxRings??60;for(let e=1;e<=d;e++){let t=[];for(let n=-e;n<=e;n++)t.push({x:l.x+n*u,y:l.y-e*u},{x:l.x+n*u,y:l.y+e*u}),n>-e&&n<e&&t.push({x:l.x-e*u,y:l.y+n*u},{x:l.x+e*u,y:l.y+n*u});t.sort((e,t)=>Math.hypot(e.x-n.x,e.y-n.y)-Math.hypot(t.x-n.x,t.y-n.y));let r=t.find(c);if(r)return{x:s(r.x),y:s(r.y)}}return l}var Ch={min:.2,max:2.5};function wh(e,t=Ch){return Math.min(t.max,Math.max(t.min,e))}function Th(e,t){return{x:t.x*e.k+e.x,y:t.y*e.k+e.y}}function Eh(e,t){return{x:(t.x-e.x)/e.k,y:(t.y-e.y)/e.k}}function Dh(e,t,n,r=Ch){let i=wh(e.k*t,r),a=Eh(e,n);return{k:i,x:n.x-a.x*i,y:n.y-a.y*i}}function Oh(e,t,n,r=32,i=Ch,a=1){if(e.width<=0||e.height<=0||t<=0||n<=0)return{x:t/2-e.x,y:n/2-e.y,k:1};let o=wh(Math.min((t-r*2)/e.width,(n-r*2)/e.height,a),i);return{k:o,x:t/2-(e.x+e.width/2)*o,y:n/2-(e.y+e.height/2)*o}}function kh(e,t,n,r){return{k:e.k,x:n/2-t.x*e.k,y:r/2-t.y*e.k}}function Ah(e,t,n,r,i=24){let a=Th(e,{x:t.x-t.width/2,y:t.y-t.height/2}),o=Th(e,{x:t.x+t.width/2,y:t.y+t.height/2});return a.x>=i&&a.y>=i&&o.x<=n-i&&o.y<=r-i}function jh(e,t,n){let r,i=1/0;for(let a of t){let t=a.x-e.x,o=a.y-e.y,s=n===`right`?t:n===`left`?-t:n===`down`?o:-o,c=Math.abs(n===`left`||n===`right`?o:t);if(s<=1)continue;let l=s+c*2;l<i&&(i=l,r=a.id)}return r}var Mh={play:tl,stop:ul,task:zc,decision:Hc,subprocess:qc,note:dl,state:xc,workflow:gl,message:Qc,clock:Rc},Nh={done:jc,error:Fc,waiting:Rc,skipped:cl},Ph=[`cx`,`cy`,`r`],Fh=[`width`,`height`,`rx`],Ih=[`cx`,`cy`,`r`],Lh=[`d`,`transform`],Rh=[`width`,`height`,`rx`],zh=[`cx`,`cy`,`r`],Bh=[`cx`,`cy`,`r`],Vh=[`cx`,`cy`,`r`],Hh=[`d`],Uh=[`d`],Wh=[`width`,`height`,`rx`],Gh=[`width`,`height`,`rx`],Kh={key:7,class:`fl-node__tile`},qh=[`y`],Jh=[`x`,`y`,`text-anchor`],Yh=[`x`,`dy`],Xh=[`x`,`dy`],Zh=[`aria-label`],Qh=[`x`,`y`],$h=[`transform`],eg=[`x`,`width`],tg={x:`0`,y:`4`,"text-anchor":`middle`},ng=[`transform`],rg=[`x`,`width`],ig={x:`0`,y:`4`,"text-anchor":`middle`},ag=[`transform`],og=18,sg=15,cg=Ar({__name:`FlowNodeShape`,props:{node:{},geometry:{},def:{},run:{},tone:{},disabled:{type:Boolean},selected:{type:Boolean},focused:{type:Boolean},current:{type:Boolean},onPath:{type:Boolean},issue:{},drillable:{type:Boolean},icon:{},labels:{},labelSide:{}},emits:[`enter`],setup(e,{emit:t}){let n=e,r=t,i=q(()=>n.geometry.width),a=q(()=>n.geometry.height),o=q(()=>n.def.shape),s=q(()=>o.value===`circle`||o.value===`ring`),c=q(()=>n.icon??(n.def.icon?Mh[n.def.icon]:void 0)),l=q(()=>!!c.value&&(o.value===`rect`||o.value===`rounded`||o.value===`pill`)),u=q(()=>n.run?.status),d=q(()=>u.value?Nh[u.value]:void 0),f=q(()=>{let e=i.value,t=a.value;switch(o.value){case`diamond`:return`M ${e/2} 0 L ${e} ${t/2} L ${e/2} ${t} L 0 ${t/2} Z`;case`note`:return`M 0 0 H ${e-12} L ${e} 12 V ${t} H 0 Z`;default:return``}}),p=q(()=>o.value===`pill`?a.value/2:o.value===`rounded`?12:o.value===`note`?0:8),m=q(()=>{let e=n.geometry.lines,t=n.geometry.descriptionLines,r=e.length*og+t.length*sg;if(s.value)return n.labelSide===`right`?{x:i.value+10,y:a.value/2+4.5-(e.length-1)*og/2,anchor:`start`}:{x:i.value/2,y:a.value+18,anchor:`middle`};let c=l.value?52:16,u=o.value===`diamond`||!l.value&&o.value!==`note`;return{x:u?i.value/2:c,y:(a.value-r)/2+14,anchor:u?`middle`:`start`}}),h=q(()=>{let e=n.run;return e?e.badge!==void 0&&e.badge!==``?{kind:`badge`,text:String(e.badge)}:u.value===`active`?{kind:`pulse`,text:``}:d.value?{kind:`icon`,text:``}:null:null}),g=q(()=>s.value?{x:i.value*.85,y:a.value*.15}:o.value===`diamond`?{x:i.value*.75,y:a.value*.25}:{x:i.value-2,y:2}),_=q(()=>h.value?.kind===`badge`?Math.max(20,h.value.text.length*7+10):20),v=q(()=>n.run?.count!==void 0&&n.run.count!==null?String(n.run.count):``),y=q(()=>Math.max(24,v.value.length*7+14)),b=q(()=>u.value===`active`||n.current?`accent`:u.value===`error`?`danger`:`neutral`),x=q(()=>s.value?{x:i.value*.1,y:a.value*.1}:o.value===`diamond`?{x:i.value/2,y:a.value}:{x:i.value-y.value/2-(h.value?S.value:10),y:0}),S=q(()=>h.value?.kind===`badge`?_.value/2+8:18),C=q(()=>u.value?n.labels.statuses[u.value]??u.value:``);return(t,n)=>(B(),V(`g`,{class:P([`fl-node`,[`fl-node--${o.value}`,e.tone?`fl-tone--${e.tone}`:``,{"is-disabled":e.disabled,"is-selected":e.selected,"is-focused":e.focused,"is-current":e.current,"is-on-path":e.onPath,"has-error":e.issue===`error`,"has-warning":e.issue===`warning`,"has-status":!!u.value}]])},[e.current||u.value===`active`?(B(),V(z,{key:0},[s.value?(B(),V(`circle`,{key:0,class:`fl-node__halo`,cx:i.value/2,cy:a.value/2,r:i.value/2+6},null,8,Ph)):(B(),V(`rect`,{key:1,class:`fl-node__halo`,x:-6,y:-6,width:i.value+12,height:a.value+12,rx:p.value+6},null,8,Fh))],64)):K(``,!0),e.selected||e.focused?(B(),V(z,{key:1},[s.value?(B(),V(`circle`,{key:0,class:`fl-node__ring`,cx:i.value/2,cy:a.value/2,r:i.value/2+4},null,8,Ih)):f.value?(B(),V(`path`,{key:1,class:`fl-node__ring`,d:f.value,transform:`translate(${i.value/2} ${a.value/2}) scale(${(i.value+12)/i.value} ${(a.value+12)/a.value}) translate(${-i.value/2} ${-a.value/2})`},null,8,Lh)):(B(),V(`rect`,{key:2,class:`fl-node__ring`,x:-4,y:-4,width:i.value+8,height:a.value+8,rx:p.value+4},null,8,Rh))],64)):K(``,!0),o.value===`circle`?(B(),V(`circle`,{key:2,class:`fl-node__body fl-node__body--start`,cx:i.value/2,cy:a.value/2,r:i.value/2},null,8,zh)):o.value===`ring`?(B(),V(z,{key:3},[U(`circle`,{class:`fl-node__body fl-node__body--end`,cx:i.value/2,cy:a.value/2,r:i.value/2-1.5},null,8,Bh),U(`circle`,{class:`fl-node__end-core`,cx:i.value/2,cy:a.value/2,r:i.value/2-8},null,8,Vh)],64)):f.value?(B(),V(z,{key:4},[U(`path`,{class:`fl-node__shadow`,d:f.value,transform:`translate(0 2)`},null,8,Hh),U(`path`,{class:`fl-node__body`,d:f.value},null,8,Uh)],64)):(B(),V(z,{key:5},[U(`rect`,{class:`fl-node__shadow`,y:2,width:i.value,height:a.value,rx:p.value},null,8,Wh),U(`rect`,{class:`fl-node__body`,width:i.value,height:a.value,rx:p.value},null,8,Gh)],64)),s.value&&c.value?(B(),H(ri(c.value),{key:6,class:`fl-node__glyph`,x:i.value/2-7,y:a.value/2-7,width:14,height:14,"stroke-width":2.4,"aria-hidden":`true`},null,8,[`x`,`y`])):K(``,!0),l.value?(B(),V(`g`,Kh,[U(`rect`,{x:12,y:a.value/2-15,width:`30`,height:`30`,rx:`8`},null,8,qh),(B(),H(ri(c.value),{x:19,y:a.value/2-8,width:16,height:16,"stroke-width":2,"aria-hidden":`true`},null,8,[`y`]))])):K(``,!0),U(`text`,{class:P([`fl-node__label`,{"fl-node__label--outside":s.value}]),x:m.value.x,y:m.value.y,"text-anchor":m.value.anchor},[(B(!0),V(z,null,oi(e.geometry.lines,(e,t)=>(B(),V(`tspan`,{key:t,x:m.value.x,dy:t===0?0:og},F(e),9,Yh))),128)),(B(!0),V(z,null,oi(e.geometry.descriptionLines,(e,t)=>(B(),V(`tspan`,{key:`d${t}`,class:`fl-node__desc`,x:m.value.x,dy:t===0?17:sg},F(e),9,Xh))),128))],10,Jh),e.drillable?(B(),V(`g`,{key:8,class:`fl-node__enter`,role:`button`,tabindex:`-1`,"aria-label":e.labels.enter,onClick:n[0]||=sc(e=>r(`enter`),[`stop`]),onPointerdown:n[1]||=sc(()=>{},[`stop`])},[U(`title`,null,F(e.labels.enter),1),U(`rect`,{x:i.value/2-11,y:a.value-9,width:`22`,height:`18`,rx:`5`},null,8,Qh),(B(),H(ri(L(qc)),{x:i.value/2-6,y:a.value-6,width:12,height:12,"stroke-width":2.2,"aria-hidden":`true`},null,8,[`x`,`y`]))],40,Zh)):K(``,!0),h.value?(B(),V(`g`,{key:9,class:P([`fl-node__chip`,`fl-node__chip--${h.value.kind}`]),transform:`translate(${g.value.x} ${g.value.y})`},[U(`title`,null,F(C.value),1),h.value.kind===`badge`?(B(),V(z,{key:0},[U(`rect`,{x:-_.value/2,y:`-10`,width:_.value,height:`20`,rx:`10`},null,8,eg),U(`text`,tg,F(h.value.text),1)],64)):h.value.kind===`pulse`?(B(),V(z,{key:1},[n[2]||=U(`circle`,{class:`fl-node__pulse`,r:`9`},null,-1),n[3]||=U(`circle`,{r:`5`},null,-1)],64)):(B(),V(z,{key:2},[n[4]||=U(`circle`,{r:`10`},null,-1),(B(),H(ri(d.value),{x:`-6`,y:`-6`,width:`12`,height:`12`,"stroke-width":2.6,"aria-hidden":`true`}))],64))],10,$h)):K(``,!0),v.value?(B(),V(`g`,{key:10,class:P([`fl-node__count`,`fl-node__count--${b.value}`]),transform:`translate(${x.value.x} ${x.value.y})`},[U(`title`,null,F(e.labels.instances)+`: `+F(v.value),1),U(`rect`,{x:-y.value/2,y:`-9`,width:y.value,height:`18`,rx:`9`},null,8,rg),U(`text`,ig,F(v.value),1)],10,ng)):K(``,!0),e.issue?(B(),V(`g`,{key:11,class:`fl-node__issue`,transform:`translate(${s.value||o.value===`diamond`?i.value*.2:2} ${s.value||o.value===`diamond`?a.value*.2:2})`},[...n[5]||=[U(`circle`,{r:`8`},null,-1),U(`text`,{x:`0`,y:`4`,"text-anchor":`middle`},`!`,-1)]],8,ag)):K(``,!0)],2))}}),lg={class:`fl-minimap`,"data-fl-ui":``},ug=[`aria-label`],dg=[`transform`],fg=[`x`,`y`,`width`,`height`],pg=[`x`,`y`,`width`,`height`],mg=[`x`,`y`,`width`,`height`,`stroke-width`,`rx`],hg=168,gg=112,_g=8,vg=Ar({__name:`FlowMinimap`,props:{nodes:{},groups:{},bounds:{},view:{},size:{},selection:{},current:{},label:{}},emits:[`centre`],setup(e,{emit:t}){let n=e,r=t,i=q(()=>{let e=n.view,t={x:-e.x/e.k,y:-e.y/e.k,width:n.size.width/e.k,height:n.size.height/e.k},r=n.bounds,i=Math.min(r.x,t.x),a=Math.min(r.y,t.y),o=Math.max(r.x+r.width,t.x+t.width),s=Math.max(r.y+r.height,t.y+t.height),c=Math.min(152/Math.max(1,o-i),96/Math.max(1,s-a));return{s:c,ox:_g+(152-(o-i)*c)/2-i*c,oy:_g+(96-(s-a)*c)/2-a*c,vis:t}}),a=I(null),o=!1;function s(e){let t=a.value.getBoundingClientRect(),n=i.value;return{x:(e.clientX-t.left-n.ox)/n.s,y:(e.clientY-t.top-n.oy)/n.s}}function c(e){o=!0;try{a.value?.setPointerCapture(e.pointerId)}catch{}r(`centre`,s(e))}function l(e){o&&r(`centre`,s(e))}function u(){o=!1}return(t,n)=>(B(),V(`div`,lg,[(B(),V(`svg`,{ref_key:`el`,ref:a,width:hg,height:gg,role:`img`,"aria-label":e.label,onPointerdown:sc(c,[`stop`]),onPointermove:l,onPointerup:u,onPointercancel:u},[U(`g`,{transform:`translate(${i.value.ox} ${i.value.oy}) scale(${i.value.s})`},[(B(!0),V(z,null,oi(e.groups,([e,t])=>(B(),V(`rect`,{key:e,class:`fl-minimap__group`,x:t.x-t.width/2,y:t.y-t.height/2,width:t.width,height:t.height,rx:10},null,8,fg))),128)),(B(!0),V(z,null,oi(e.nodes.values(),t=>(B(),V(`rect`,{key:t.id,class:P([`fl-minimap__node`,{"is-selected":e.selection.has(t.id),"is-current":e.current.has(t.id)}]),x:t.x-t.width/2,y:t.y-t.height/2,width:t.width,height:t.height,rx:6},null,10,pg))),128)),U(`rect`,{class:`fl-minimap__view`,x:i.value.vis.x,y:i.value.vis.y,width:i.value.vis.width,height:i.value.vis.height,"stroke-width":1.5/i.value.s,rx:4/i.value.s},null,8,mg)],8,dg)],40,ug))]))}}),yg=[`aria-label`],bg=Ar({__name:`FlowControls`,props:{labels:{},zoom:{},minimap:{type:Boolean}},emits:[`zoom-in`,`zoom-out`,`zoom-reset`,`fit`,`update:minimap`],setup(e,{emit:t}){let n=t;return(t,r)=>(B(),V(`div`,{class:`fl-controls`,role:`toolbar`,"aria-label":e.labels.graph,"data-fl-ui":``},[W(L(pd),{content:e.labels.zoomOut,placement:`top`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L($c),"aria-label":e.labels.zoomOut,class:`fl-controls__zoom-out`,onClick:r[0]||=e=>n(`zoom-out`)},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`]),W(L(xl),{size:`sm`,variant:`ghost`,class:`fl-controls__zoom`,"aria-label":`${e.zoom}%`,onClick:r[1]||=e=>n(`zoom-reset`)},{default:R(()=>[G(F(e.zoom)+`% `,1)]),_:1},8,[`aria-label`]),W(L(pd),{content:e.labels.zoomIn,placement:`top`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(nl),"aria-label":e.labels.zoomIn,class:`fl-controls__zoom-in`,onClick:r[2]||=e=>n(`zoom-in`)},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`]),r[5]||=U(`span`,{class:`fl-controls__sep`,"aria-hidden":`true`},null,-1),W(L(pd),{content:e.labels.fit,placement:`top`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(Zc),"aria-label":e.labels.fit,class:`fl-controls__fit`,onClick:r[3]||=e=>n(`fit`)},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`]),W(L(pd),{content:e.labels.minimap,placement:`top`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(Xc),"aria-label":e.labels.minimap,"aria-pressed":e.minimap,class:P([`fl-controls__minimap fl-toggle`,{"is-active":e.minimap}]),onClick:r[4]||=t=>n(`update:minimap`,!e.minimap)},null,8,[`icon`,`aria-label`,`aria-pressed`,`class`])]),_:1},8,[`content`]),ci(t.$slots,`default`)],8,yg))}}),xg;function Sg(){if(xg!==void 0)return xg;xg=null;try{if(typeof document>`u`||navigator.userAgent.includes(`jsdom`))return xg;xg=document.createElement(`canvas`).getContext(`2d`)}catch{xg=null}return xg}var Cg=new Map;function wg(e){let t=Sg();if(!t||!e)return em;let n=Cg.get(e);if(n)return n;let r=new Map;return n=(n,i)=>{let a=`${i.size}|${i.weight??400}|${n}`,o=r.get(a);return o===void 0&&(t.font=`${i.weight??400} ${i.size}px ${e}`,o=t.measureText(n).width+1,r.size>5e3&&r.clear(),r.set(a,o)),o},Cg.set(e,n),n}function Tg(e,t){let n=Zt({x:0,y:0,k:1}),r=I({width:0,height:0}),i=null,a=0,o=I(!1),s,c=typeof requestAnimationFrame==`function`?requestAnimationFrame:e=>setTimeout(()=>e(0),16),l=typeof cancelAnimationFrame==`function`?cancelAnimationFrame:e=>clearTimeout(e);function u(e,t=!1){t?(o.value=!0,clearTimeout(s),s=setTimeout(()=>o.value=!1,260),l(a),a=0,i=null,n.value=e):(i=e,!a&&(a=c(()=>{a=0,i&&(n.value=i),i=null})))}let d=()=>i??n.value;function f(e,n=!1,i=48){let{width:a,height:o}=r.value;a&&o&&u(Oh(e,a,o,Math.min(i,a/8),t()),n)}function p(e,n,i=!1){let a=n??{x:r.value.width/2,y:r.value.height/2};u(Dh(d(),e,a,t()),i)}function m(e,n=!0){let r=d();p(wh(e,t())/r.k,void 0,n)}function h(e,t){let n=d();u({...n,x:n.x+e,y:n.y+t})}function g(e,t=!0){u(kh(d(),e,r.value.width,r.value.height),t)}function _(t,n){let r=e.value?.getBoundingClientRect();return Eh(d(),{x:t-(r?.left??0),y:n-(r?.top??0)})}function v(t,n){let r=e.value?.getBoundingClientRect();return{x:t-(r?.left??0),y:n-(r?.top??0)}}function y(){l(a),clearTimeout(s)}return{view:n,size:r,animate:o,set:u,current:d,fit:f,zoomBy:p,zoomTo:m,panBy:h,centre:g,clientToGraph:_,clientToLocal:v,dispose:y}}var Eg=[`aria-label`,`aria-roledescription`],Dg=[`id`,`width`,`height`,`x`,`y`],Og=[`id`],kg=[`fill`],Ag=[`transform`],jg={class:`fl-groups`},Mg=[`data-group-id`],Ng=[`x`,`y`,`width`,`height`],Pg=[`x`,`y`],Fg={class:`fl-edges`},Ig=[`data-edge-id`,`data-from`,`data-to`,`onPointerenter`],Lg=[`d`],Rg=[`d`,`marker-end`],zg=[`d`],Bg={class:`fl-nodes`},Vg=[`data-node-id`,`data-focus-id`,`data-groups`,`transform`,`aria-label`,`aria-pressed`,`aria-disabled`,`onFocus`,`onBlur`,`onPointerenter`],Hg={class:`fl-edge-labels`},Ug=[`data-edge-id`,`data-focus-id`,`tabindex`,`aria-label`,`aria-pressed`,`onFocus`,`onBlur`,`onPointerenter`],Wg=[`x`,`y`,`width`,`height`],Gg=[`x`,`y`],Kg=[`x`,`dy`],qg=[`transform`],Jg={x:`0`,y:`3.5`,"text-anchor":`middle`},Yg=[`transform`],Xg={x:`0`,y:`4`,"text-anchor":`middle`},Zg={key:0,class:`fl-edit-layer`},Qg=[`data-port-node`,`data-port-side`,`data-port-id`],$g=[`cx`,`cy`],e_=[`cx`,`cy`],t_={key:0,class:`fl-edge-ends`},n_=[`data-edge-end`,`data-end`,`cx`,`cy`],r_=[`d`,`marker-end`],i_=[`x`,`y`,`width`,`height`],a_={key:0,class:`fl-empty`,"data-fl-ui":``},o_={class:`fl-empty__title`},s_={class:`fl-empty__hint`},c_={key:1,class:`fl-layout-error`,"data-fl-ui":``,role:`alert`},l_=.85,u_=Ar({__name:`FlowCanvas`,props:{graph:{},labels:{},registry:{default:()=>rp},direction:{default:void 0},edgeStyle:{default:`orthogonal`},monitor:{default:void 0},reserveCounters:{type:Boolean},selection:{default:()=>[]},issues:{default:void 0},editable:{type:Boolean},toggleable:{type:Boolean},enabledOverrides:{default:void 0},snapGrid:{default:0},minimap:{type:Boolean,default:!0},controls:{type:Boolean,default:!0},minZoom:{default:.15},maxZoom:{default:2.5},wheel:{default:`zoom`},nodeRenderers:{default:()=>({})},nodeIcons:{default:()=>({})},statusTones:{default:()=>({})},fitKey:{default:void 0},drillable:{type:Function,default:void 0},isLocked:{type:Function,default:void 0},ariaLabel:{default:void 0}},emits:[`select`,`activate`,`enter`,`toggle`,`move`,`connect`,`reconnect`,`detach`,`contextmenu`,`background-dblclick`,`escape`,`update:minimap`,`focus-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=jr().replace(/[^a-zA-Z0-9_-]/g,``),o=I(null),s=Tg(o,()=>({min:r.minZoom,max:r.maxZoom})),c=Zt(em),l=I(`LR`),u=q(()=>r.direction&&r.direction!==`auto`?r.direction:r.graph.meta?.direction??l.value),d=I(null),f=q(()=>{try{return d.value=null,Vm(r.graph,{registry:r.registry,direction:u.value,routing:r.edgeStyle===`smooth`?`spline`:`orthogonal`,measure:c.value,edgeLabelExtra:r.reserveCounters?30:0})}catch(e){return d.value=e.message,Vm({version:1,nodes:[],edges:[]})}}),p=q(()=>new Map(r.graph.nodes.map(e=>[e.id,e]))),m=q(()=>new Map(r.graph.edges.map(e=>[e.id,e]))),h=Zt(null),g=q(()=>{let e=f.value.nodes,t=h.value;if(!t||t.dx===0&&t.dy===0)return e;let n=new Map(e);for(let r of t.ids){let i=e.get(r);i&&n.set(r,{...i,x:i.x+t.dx,y:i.y+t.dy})}return n}),_=q(()=>{let e=f.value.edges,t=h.value;if(!t||t.dx===0&&t.dy===0)return e;let n=new Set;for(let e of r.graph.edges)(t.ids.has(e.from)||t.ids.has(e.to))&&n.add(e.id);if(n.size===0)return e;let i=new Map;for(let[t,n]of e)i.set(t,n.label?{width:n.label.width,height:n.label.height,lines:n.label.lines}:void 0);let a=new Map([...f.value.waypoints].filter(([e])=>!n.has(e))),o=Um(r.graph,g.value,{direction:f.value.direction,routing:f.value.routing,registry:r.registry,waypoints:a,labelAt:new Map,labels:i,groups:f.value.groups},n),s=new Map(e);for(let[e,t]of o)s.set(e,t);return s}),v=q(()=>f.value.groups),y=q(()=>h.value?Ym(g.value,_.value,v.value):f.value.bounds),b=q(()=>new Set(r.selection)),x=q(()=>new Set(nh(r.graph,r.monitor?.path))),S=q(()=>new Set(r.monitor?.path??[])),C=q(()=>new Set(r.monitor?.current??[]));function w(e,t){return r.enabledOverrides?.get(t.id)??Bf(t)}function T(e){if(e)return r.statusTones[e]??rh[e]??`neutral`}function ee(e){return!w(`node`,e)}function E(e){if(!w(`edge`,e))return!0;let t=p.value.get(e.from),n=p.value.get(e.to);return!!t&&ee(t)||!!n&&ee(n)}function D(e){let t=r.monitor?.edges[e.id];return{"is-disabled":E(e),"is-selected":b.value.has(e.id),"is-focused":N.value===e.id,"is-hovered":te.value===e.id,"is-path":x.value.has(e.id),"is-traversed":!!t?.traversed&&!x.value.has(e.id),"is-association":e.kind===`association`,"has-error":r.issues?.get(e.id)===`error`,"has-warning":r.issues?.get(e.id)===`warning`}}function O(e){if(e.kind===`association`)return;let t=D(e),n=t[`is-selected`]||t[`is-path`]?`accent`:t[`is-traversed`]?`success`:t[`is-disabled`]?`muted`:`default`;return`url(#${a}-arrow-${n})`}function k(e){let t=r.monitor?.edges[e.id]?.count;return t==null?``:String(t)}function A(e){return r.drillable?r.drillable(e):e.subgraph!==void 0}function j(e){let t=[e.label||r.labels.types[e.type]||e.type,r.labels.types[e.type]??e.type],n=r.monitor?.nodes[e.id]?.status;n&&t.push(r.labels.statuses[n]??n);let i=r.monitor?.nodes[e.id]?.count;return i!==void 0&&t.push(`${r.labels.instances}: ${i}`),ee(e)&&t.push(r.labels.disabledTag),C.value.has(e.id)&&t.push(r.labels.currentPath),t.join(`, `)}function M(e){let t=p.value.get(e.from),n=p.value.get(e.to),i=[`${t?.label??e.from} → ${n?.label??e.to}`];return e.label&&i.unshift(e.label),E(e)&&i.push(r.labels.disabledTag),i.join(`, `)}let N=I(null),te=I(null),ne;function re(e){clearTimeout(ne),e?te.value=e:ne=setTimeout(()=>te.value=null,160)}function ie(e){return p.value.has(e)?{kind:`node`,id:e}:m.value.has(e)?{kind:`edge`,id:e}:null}function ae(e,t=!1){if(!e){r.selection.length&&i(`select`,[],null);return}let n=ie(e);if(t){let t=new Set(r.selection);t.has(e)?t.delete(e):t.add(e),i(`select`,[...t],t.has(e)?n:null)}else i(`select`,[e],n)}function oe(e){let t=typeof CSS<`u`&&CSS.escape?CSS.escape(e):e.replace(/["\\]/g,`\\$&`);(o.value?.querySelector(`[data-focus-id="${t}"]`))?.focus({preventScroll:!0})}function ce(e){N.value=e,i(`focus-change`,e);let t=g.value.get(e)??_.value.get(e)?.label;t&&!Ah(s.current(),t,s.size.value.width,s.size.value.height)&&s.centre({x:t.x,y:t.y})}function le(e){N.value===e&&(N.value=null,i(`focus-change`,null))}let ue=Zt(null),de=new Map,fe=null,pe=!1,me,he=0,ge=null,_e,ve=null,ye=q(()=>{let e=ue.value;return!e||e.kind!==`band`?null:{x:Math.min(e.start.x,e.end.x),y:Math.min(e.start.y,e.end.y),width:Math.abs(e.end.x-e.start.x),height:Math.abs(e.end.y-e.start.y)}}),be=q(()=>{let e=ue.value;if(!e||e.kind!==`connect`)return null;let t=e.target?.point??e.pointer,n=t.x-e.start.x,r=t.y-e.start.y,i=Math.max(30,Math.hypot(n,r)*.4),a={top:[0,-1],right:[1,0],bottom:[0,1],left:[-1,0]}[e.side];return{d:`M ${e.start.x} ${e.start.y} C ${e.start.x+a[0]*i} ${e.start.y+a[1]*i} ${t.x-n*.2} ${t.y-r*.2} ${t.x} ${t.y}`,target:e.target?.node??null,end:t}});function xe(e){let t=e;for(;t&&t!==o.value;){let e=t.dataset??{};if(e.flUi!==void 0)return{kind:`ui`,id:``};if(e.portNode)return{kind:`port`,id:e.portNode,side:e.portSide,port:e.portId||void 0};if(e.edgeEnd)return{kind:`end`,id:e.edgeEnd,end:e.end};if(e.nodeId)return{kind:`node`,id:e.nodeId};if(e.edgeId)return{kind:`edge`,id:e.edgeId};t=t.parentElement}return null}function Se(e){let t=xe(e.target);if(t?.kind===`ui`)return;if(de.set(e.pointerId,{x:e.clientX,y:e.clientY}),de.size===2){ke();let[e,t]=[...de.values()];fe={dist:Math.hypot(e.x-t.x,e.y-t.y),mid:{x:(e.x+t.x)/2,y:(e.y+t.y)/2}};return}if(e.button===2)return;let n=s.clientToGraph(e.clientX,e.clientY);e.pointerType===`touch`&&(clearTimeout(me),me=setTimeout(()=>{let r=ue.value;r&&(r.kind===`pan`&&r.moved||r.kind===`drag`&&r.moved)||(ke(),i(`contextmenu`,{target:t&&(t.kind===`node`||t.kind===`edge`)?{kind:t.kind,id:t.id}:null,point:n,client:{x:e.clientX,y:e.clientY}}))},550));let a=e.button===1||pe;if(!a&&r.editable&&t?.kind===`port`){let r=Ie(p.value.get(t.id),g.value.get(t.id),t.side,t.port);ue.value={kind:`connect`,from:t.id,fromPort:t.port,side:t.side,start:r,pointer:n,target:null},Ce(e),e.preventDefault();return}if(!a&&r.editable&&t?.kind===`end`){let r=m.value.get(t.id),i=_.value.get(t.id),a=t.end===`from`?i.to:i.from;ue.value={kind:`connect`,from:t.end===`from`?r.to:r.from,fromPort:t.end===`from`?r.toPort:r.fromPort,side:a.side,start:a.point,pointer:n,target:null,reconnect:{id:r.id,end:t.end,fixed:t.end===`from`?r.to:r.from,fixedPort:t.end===`from`?r.toPort:r.fromPort}},Ce(e),e.preventDefault();return}if(!a&&!r.editable&&(t?.kind===`node`||t?.kind===`edge`)){let n=s.current();ue.value={kind:`pan`,startX:e.clientX,startY:e.clientY,vx:n.x,vy:n.y,moved:!1,tap:{id:t.id,additive:e.shiftKey||e.metaKey||e.ctrlKey}},ve=e.pointerId;return}if(!a&&t?.kind===`node`){let i=e.shiftKey||e.metaKey||e.ctrlKey,a=b.value.has(t.id);if((!a||i)&&ae(t.id,i),r.editable&&!(i&&a)){let o=new Set(a&&!i?r.selection.filter(e=>p.value.has(e)):i?[...r.selection.filter(e=>p.value.has(e)),t.id]:[t.id]);for(let e of o){let t=p.value.get(e);t&&r.isLocked?.(t)&&o.delete(e)}ue.value={kind:`drag`,id:t.id,ids:o,start:n,moved:!1,additive:i},ve=e.pointerId}return}if(!a&&t?.kind===`edge`){ae(t.id,e.shiftKey||e.metaKey||e.ctrlKey);return}if(!a&&r.editable&&e.shiftKey){ue.value={kind:`band`,start:n,end:n,additive:!0,base:[...r.selection]},Ce(e);return}let o=s.current();ue.value={kind:`pan`,startX:e.clientX,startY:e.clientY,vx:o.x,vy:o.y,moved:!1},Ce(e)}function Ce(e){try{e.currentTarget.setPointerCapture?.(e.pointerId)}catch{}}function we(e){if(de.has(e.pointerId)&&de.set(e.pointerId,{x:e.clientX,y:e.clientY}),fe&&de.size>=2){let[e,t]=[...de.values()],n=Math.hypot(e.x-t.x,e.y-t.y),r={x:(e.x+t.x)/2,y:(e.y+t.y)/2},i=s.clientToLocal(r.x,r.y);s.panBy(r.x-fe.mid.x,r.y-fe.mid.y),fe.dist>0&&s.zoomBy(n/fe.dist,i),fe={dist:n,mid:r},Ke=!0}else if(ue.value){if(ve===e.pointerId){let t=ue.value,n=t.kind===`pan`?{x:t.startX,y:t.startY}:null;if(!n||Math.hypot(e.clientX-n.x,e.clientY-n.y)>3){ve=null;try{o.value?.setPointerCapture(e.pointerId)}catch{}}}ge=e,!he&&(he=(typeof requestAnimationFrame==`function`?requestAnimationFrame:e=>setTimeout(()=>e(0),0))(()=>{he=0,ge&&Te(ge)}))}}function Te(e){let t=ue.value;if(!t)return;let n=s.clientToGraph(e.clientX,e.clientY);if(t.kind===`pan`){let n=e.clientX-t.startX,r=e.clientY-t.startY;Math.hypot(n,r)>3&&(t.moved=!0,Ke=!0,clearTimeout(me)),s.set({...s.current(),x:t.vx+n,y:t.vy+r})}else if(t.kind===`band`)ue.value={...t,end:n};else if(t.kind===`drag`){let e=n.x-t.start.x,i=n.y-t.start.y;if(!t.moved&&Math.hypot(e,i)*s.current().k<4)return;if(t.moved=!0,clearTimeout(me),r.snapGrid>0){let n=f.value.nodes.get(t.id);if(n){let t=ph({x:n.x+e,y:n.y+i},r.snapGrid);e=t.x-n.x,i=t.y-n.y}}h.value={ids:t.ids,dx:e,dy:i}}else t.kind===`connect`&&(ue.value={...t,pointer:n,target:Ee(n,t)})}function Ee(e,t){let n=28/s.current().k,i=null;for(let a of r.graph.nodes){let o=g.value.get(a.id);if(!o||!(Math.abs(e.x-o.x)<=o.width/2+n&&Math.abs(e.y-o.y)<=o.height/2+n))continue;let s=ip(r.registry,a.type),c=!t.reconnect||t.reconnect.end===`to`;if(!(c&&s.noIncoming)&&(c||!s.noOutgoing)&&(a.id!==t.from||t.reconnect))for(let t of Le(a,o)){if(t.port&&De(a,t.port,c))continue;let n=Math.hypot(t.point.x-e.x,t.point.y-e.y);(!i||n<i.d)&&(i={node:a.id,port:t.port,point:t.point,d:n})}}return i?{node:i.node,port:i.port,point:i.point}:null}function De(e,t,n){let i=ap(r.registry,e).find(e=>e.id===t);return!!i&&(n&&i.kind===`out`||!n&&i.kind===`in`)}function Oe(e){if(de.delete(e.pointerId),ve=null,clearTimeout(me),fe){de.size<2&&(fe=null);return}ge&&ue.value&&Te(e),ge=null;let t=ue.value;if(ue.value=null,t){if(t.kind===`pan`){if(!t.moved){let e=t.tap,n=e?p.value.get(e.id):void 0;clearTimeout(_e),n&&A(n)?_e=setTimeout(()=>ae(e.id,e.additive),230):ae(e?.id??null,e?.additive)}}else if(t.kind===`band`){let e=ye.value??{x:t.start.x,y:t.start.y,width:Math.abs(t.end.x-t.start.x),height:Math.abs(t.end.y-t.start.y)},n=Math.min(t.start.x,t.end.x),a=Math.min(t.start.y,t.end.y),o=n+e.width,s=a+e.height,c=r.graph.nodes.filter(e=>{let t=g.value.get(e.id);return t&&t.x+t.width/2>=n&&t.x-t.width/2<=o&&t.y+t.height/2>=a&&t.y-t.height/2<=s}).map(e=>e.id),l=[...new Set([...t.base,...c])];i(`select`,l,l.length?ie(l[l.length-1]):null)}else if(t.kind===`drag`){let e=h.value;if(h.value=null,t.moved&&e&&(e.dx!==0||e.dy!==0)){let t=[...e.ids].map(t=>{let n=f.value.nodes.get(t);return{id:t,position:{x:Math.round(n.x+e.dx),y:Math.round(n.y+e.dy)}}});i(`move`,t)}else!t.moved&&!t.additive&&r.selection.length>1&&ae(t.id)}else if(t.kind===`connect`){let e=t.target;if(t.reconnect)e?i(`reconnect`,{id:t.reconnect.id,end:t.reconnect.end,node:e.node,port:e.port}):i(`detach`,t.reconnect.id);else if(e){let n={from:t.from,to:e.node};t.fromPort&&(n.fromPort=t.fromPort),e.port&&(n.toPort=e.port),i(`connect`,n)}}}}function ke(){ue.value?.kind===`drag`&&(h.value=null),ue.value=null,clearTimeout(me)}function Ae(e){if(r.graph.nodes.length===0)return;e.preventDefault(),Ke=!0;let t=s.clientToLocal(e.clientX,e.clientY);if(e.ctrlKey||e.metaKey||r.wheel===`zoom`){let n=e.ctrlKey?.01:.0015,r=e.deltaMode===1?e.deltaY*16:e.deltaY;s.zoomBy(Math.exp(-r*n),t)}else s.panBy(-e.deltaX,-e.deltaY)}function je(e){let t=xe(e.target);if(t?.kind===`ui`)return;e.preventDefault();let n=t&&(t.kind===`node`||t.kind===`edge`)?{kind:t.kind,id:t.id}:null;n&&!b.value.has(n.id)&&ae(n.id),i(`contextmenu`,{target:n,point:s.clientToGraph(e.clientX,e.clientY),client:{x:e.clientX,y:e.clientY}})}function Me(e){let t=xe(e.target);if(t?.kind===`node`){let e=p.value.get(t.id);clearTimeout(_e),e&&!r.editable&&A(e)?i(`enter`,e.id):i(`activate`,{kind:`node`,id:t.id})}else t?.kind===`edge`?i(`activate`,{kind:`edge`,id:t.id}):t||i(`background-dblclick`,s.clientToGraph(e.clientX,e.clientY))}function Ne(e){if(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement)return;if(e.key===` `&&!e.target?.closest?.(`[data-focus-id]`)){pe=!0,o.value?.classList.add(`is-space`),e.preventDefault();return}let t=N.value;if(e.key===`Escape`){if(ue.value){ke(),e.preventDefault();return}i(`escape`)}else if((e.key===`Enter`||e.key===` `)&&t){e.preventDefault();let n=ie(t);if(!n)return;ae(t,e.shiftKey),e.shiftKey||i(`activate`,n)}else if(e.key.startsWith(`Arrow`)){let n=e.key.slice(5).toLowerCase();if(r.editable&&r.selection.some(e=>p.value.has(e))&&!e.altKey)return;let i=t?g.value.get(t)??_.value.get(t)?.label:void 0,a=i??{x:y.value.x,y:y.value.y+y.value.height/2},o=i?jh(a,[...g.value.values()].filter(e=>e.id!==t),n):r.graph.nodes[0]?.id;o&&(e.preventDefault(),oe(o))}else e.ctrlKey||e.metaKey||e.altKey||(e.key===`+`||e.key===`=`?(s.zoomBy(1.2,void 0,!0),e.preventDefault()):e.key===`-`||e.key===`_`?(s.zoomBy(1/1.2,void 0,!0),e.preventDefault()):e.key===`0`&&(Ge(!0),e.preventDefault()))}function Pe(e){e.key===` `&&(pe=!1,o.value?.classList.remove(`is-space`))}let Fe=[`top`,`right`,`bottom`,`left`];function Ie(e,t,n,i){let a=i?ap(r.registry,e).find(e=>e.id===i):void 0,o=ip(r.registry,e.type),s=o.shape===`rect`||o.shape===`rounded`||o.shape===`note`||o.shape===`pill`;return am(t,a?.side??n,s?a?.offset??.5:.5)}function Le(e,t){let n=ap(r.registry,e);return n.length?n.map(n=>({side:n.side,port:n.id,point:Ie(e,t,n.side,n.id),kind:n.kind??`both`})):Fe.map(e=>({side:e,point:am(t,e,.5),kind:`both`}))}let Re=q(()=>{if(!r.editable)return[];let e=new Set;te.value&&p.value.has(te.value)&&e.add(te.value);let t=ue.value;return t?.kind===`connect`&&(e.add(t.from),t.target&&e.add(t.target.node)),r.selection.length===1&&p.value.has(r.selection[0])&&e.add(r.selection[0]),t?.kind===`drag`&&t.moved?[]:[...e].map(e=>p.value.get(e)).map(e=>({node:e,handles:Le(e,g.value.get(e.id)),def:ip(r.registry,e.type)}))}),ze=q(()=>{if(!r.editable||r.selection.length!==1)return null;let e=r.selection[0],t=_.value.get(e);return!t||ue.value?.kind===`connect`?null:{id:e,from:t.from.point,to:t.to.point}}),Be=q(()=>{if(r.editable||ue.value)return null;let e=te.value;if(!e)return null;let t=s.view.value,n=p.value.get(e);if(n){let i=A(n);if(!r.toggleable&&!i)return null;let a=g.value.get(e);return a?{kind:`node`,id:e,x:a.x*t.k+t.x,y:(a.y-a.height/2)*t.k+t.y,enabled:!ee(n),drill:i,label:n.label??n.id}:null}let i=m.value.get(e);if(i&&r.toggleable){let n=_.value.get(e);if(!n)return null;let r=n.label??n.points[Math.floor(n.points.length/2)];return{kind:`edge`,id:e,x:r.x*t.k+t.x,y:(r.y-(n.label?n.label.height/2:0))*t.k+t.y,enabled:w(`edge`,i),drill:!1,label:i.label??`${i.from} → ${i.to}`}}return null});function Ve(){let e=o.value,t={top:16,right:16,bottom:16,left:16};if(!e)return t;let n=e.getBoundingClientRect();for(let r of e.querySelectorAll(`.fl-status, .fl-nav`)){let e=r.getBoundingClientRect();e.height>0&&e.top-n.top<n.height/3&&(t.top=Math.max(t.top,e.bottom-n.top+12))}for(let r of e.querySelectorAll(`.fl-controls, .fl-minimap, .fl-hint`)){let e=r.getBoundingClientRect();e.height>0&&n.bottom-e.bottom<n.height/3&&(t.bottom=Math.max(t.bottom,n.bottom-e.top+12))}return t}function He(e,t,n,r,i,a){if((r-n)*e<=a)return i+a/2-(n+r)/2*e;let o=i+a/2-t*e;return Math.min(i-n*e,Math.max(i+a-r*e,o))}function Ue(e,t){let{width:n,height:r}=s.size.value,i=f.value.bounds,a=Ve();return{k:e,x:He(e,t.x,i.x,i.x+i.width,a.left,n-a.left-a.right),y:He(e,t.y,i.y,i.y+i.height,a.top,r-a.top-a.bottom)}}function We(){let{width:e,height:t}=s.size.value,n=f.value.bounds,i=Ve(),a=Math.min((e-i.left-i.right)/Math.max(1,n.width),(t-i.top-i.bottom)/Math.max(1,n.height),1);return Math.min(r.maxZoom,Math.max(r.minZoom,a))}function Ge(e=!1){let t=f.value.bounds;t.width===0&&t.height===0||!s.size.value.width||s.set(Ue(We(),{x:t.x+t.width/2,y:t.y+t.height/2}),e)}let Ke=!1;function qe(){let e=g.value;for(let t of r.monitor?.current??[])if(e.has(t))return e.get(t);for(let[t,n]of Object.entries(r.monitor?.nodes??{}))if(n.status===`active`&&e.has(t))return e.get(t);let t=r.graph.nodes.find(t=>ip(r.registry,t.type).noIncoming&&e.has(t.id));if(t)return e.get(t.id);let n=f.value.direction===`LR`,i;for(let t of e.values())(!i||(n?t.x<i.x:t.y<i.y))&&(i=t);return i}function Je(){let e=f.value.bounds;if(e.width===0&&e.height===0||!s.size.value.width)return;if(We()>=l_){Ge();return}let t=qe()??{x:e.x+e.width/2,y:e.y+e.height/2};s.set(Ue(Math.min(1,r.maxZoom),t))}let Ye,Xe=!1;Kr(()=>{let e=o.value,t=typeof getComputedStyle==`function`?getComputedStyle(e).fontFamily:``;c.value=wg(t);let n=()=>{let t=e.getBoundingClientRect(),n=s.size.value.width===0;s.size.value={width:t.width,height:t.height},n&&t.width>0&&(l.value=t.height>t.width*1.1?`TB`:`LR`),(n||!Xe)&&kn(()=>{Je(),Xe=s.size.value.width>0&&r.graph.nodes.length>0})};n(),typeof ResizeObserver==`function`&&(Ye=new ResizeObserver(n),Ye.observe(e)),window.addEventListener(`keyup`,Pe),window.addEventListener(`blur`,Ze)});function Ze(){pe=!1,o.value?.classList.remove(`is-space`)}Yr(()=>{Ye?.disconnect(),s.dispose(),clearTimeout(ne),clearTimeout(me),clearTimeout(_e),window.removeEventListener(`keyup`,Pe),window.removeEventListener(`blur`,Ze)}),Zn(()=>r.fitKey,async()=>{Ke=!1,await kn(),Je(),Xe=r.graph.nodes.length>0}),Zn(()=>r.graph.nodes.length>0,async e=>{e&&!Xe&&(await kn(),Je(),Xe=s.size.value.width>0)}),Zn(()=>r.monitor?.current?.[0],(e,t)=>{if(!e||Ke||!Xe)return;let n=g.value.get(e);!n||t&&Ah(s.current(),n,s.size.value.width,s.size.value.height,32)||s.set(Ue(s.current().k,n),!0)});let Qe=q(()=>{let e=s.view.value;return`translate(${e.x} ${e.y}) scale(${e.k})`}),$e=q(()=>{let e=(r.snapGrid>0?r.snapGrid:20)*s.view.value.k;for(;e<10;)e*=2;return e});function et(){Ke=!0,s.zoomTo(1)}function tt(e){Ke=!0,s.zoomBy(e,void 0,!0)}let nt=q(()=>Math.round(s.view.value.k*100));t({fit:Ge,zoomIn:()=>s.zoomBy(1.2,void 0,!0),zoomOut:()=>s.zoomBy(1/1.2,void 0,!0),zoomTo:e=>s.zoomTo(e),centreOn:e=>{let t=g.value.get(e)??_.value.get(e)?.label;t&&s.centre({x:t.x,y:t.y})},focusElement:oe,clientToGraph:s.clientToGraph,viewCentre:()=>{let{width:e,height:t}=s.size.value,n=s.current();return{x:(e/2-n.x)/n.k,y:(t/2-n.y)/n.k}},layout:f,nodeBoxes:g,root:o});function rt(e){let t=new Map((r.graph.groups??[]).map(e=>[e.id,e.parent])),n=[],i=e;for(;i!==void 0&&!n.includes(i)&&n.length<50;)n.push(i),i=t.get(i);return n.length?n.join(` `):void 0}function it(e){let t=ip(r.registry,e.type);return r.nodeIcons[e.type]??(t.icon?r.nodeIcons[t.icon]??Mh[t.icon]:void 0)}return(t,n)=>(B(),V(`div`,{ref_key:`root`,ref:o,class:P([`fl-canvas`,{"is-editable":e.editable,"is-panning":ue.value?.kind===`pan`&&ue.value.moved,"is-dragging":ue.value?.kind===`drag`&&ue.value.moved,"is-connecting":ue.value?.kind===`connect`,"is-animating":L(s).animate.value}]),onPointerdown:Se,onPointermove:we,onPointerup:Oe,onPointercancel:Oe,onWheel:Ae,onContextmenu:je,onDblclick:Me,onKeydown:Ne},[(B(),V(`svg`,{class:`fl-svg`,role:`group`,"aria-label":e.ariaLabel??e.graph.meta?.title??e.labels.graph,"aria-roledescription":e.labels.graph},[U(`defs`,null,[U(`pattern`,{id:`${L(a)}-grid`,width:$e.value,height:$e.value,patternUnits:`userSpaceOnUse`,x:L(s).view.value.x%$e.value,y:L(s).view.value.y%$e.value},[...n[12]||=[U(`circle`,{class:`fl-grid-dot`,cx:1,cy:1,r:`1`},null,-1)]],8,Dg),(B(),V(z,null,oi([`default`,`accent`,`success`,`muted`,`danger`],e=>U(`marker`,{id:`${L(a)}-arrow-${e}`,key:e,class:P(`fl-arrow fl-arrow--${e}`),viewBox:`0 0 10 10`,refX:`9`,refY:`5`,markerWidth:`7`,markerHeight:`7`,markerUnits:`userSpaceOnUse`,orient:`auto-start-reverse`},[...n[13]||=[U(`path`,{d:`M 1 1.5 L 9 5 L 1 8.5 Q 2.5 5 1 1.5 Z`},null,-1)]],10,Og)),64))]),U(`rect`,{class:`fl-bg`,width:`100%`,height:`100%`,fill:`url(#${L(a)}-grid)`},null,8,kg),U(`g`,{class:`fl-viewport`,transform:Qe.value},[U(`g`,jg,[(B(!0),V(z,null,oi(v.value.values(),e=>(B(),V(`g`,{key:e.id,class:`fl-group`,"data-group-id":e.id},[U(`rect`,{x:e.x-e.width/2,y:e.y-e.height/2,width:e.width,height:e.height,rx:`14`},null,8,Ng),e.label?(B(),V(`text`,{key:0,class:`fl-group__label`,x:e.x-e.width/2+14,y:e.y-e.height/2+20},F(e.label),9,Pg)):K(``,!0)],8,Mg))),128))]),U(`g`,Fg,[(B(!0),V(z,null,oi(e.graph.edges,e=>(B(),V(z,{key:e.id},[_.value.get(e.id)?(B(),V(`g`,{key:0,class:P([`fl-edge`,D(e)]),"data-edge-id":e.id,"data-from":e.from,"data-to":e.to,onPointerenter:t=>re(e.id),onPointerleave:n[0]||=e=>re(null)},[U(`path`,{class:`fl-edge__hit`,d:_.value.get(e.id).d},null,8,Lg),U(`path`,{class:`fl-edge__line`,d:_.value.get(e.id).d,"marker-end":O(e)},null,8,Rg),x.value.has(e.id)?(B(),V(`path`,{key:0,class:`fl-edge__flow`,d:_.value.get(e.id).d},null,8,zg)):K(``,!0)],42,Ig)):K(``,!0)],64))),128))]),U(`g`,Bg,[(B(!0),V(z,null,oi(e.graph.nodes,t=>(B(),V(`g`,{key:t.id,class:P([`fl-node-wrap`,{"is-hovered":te.value===t.id,"is-drop-target":be.value?.target===t.id}]),"data-node-id":t.id,"data-focus-id":t.id,"data-groups":rt(t.group),transform:`translate(${g.value.get(t.id).x-g.value.get(t.id).width/2} ${g.value.get(t.id).y-g.value.get(t.id).height/2})`,tabindex:`0`,role:`button`,"aria-label":j(t),"aria-pressed":b.value.has(t.id),"aria-disabled":ee(t)||void 0,onFocus:e=>ce(t.id),onBlur:e=>le(t.id),onPointerenter:e=>re(t.id),onPointerleave:n[1]||=e=>re(null)},[e.nodeRenderers[t.type]?(B(),H(ri(e.nodeRenderers[t.type]),{key:0,node:t,geometry:g.value.get(t.id),state:e.monitor?.nodes[t.id],selected:b.value.has(t.id),disabled:ee(t),current:C.value.has(t.id),labels:e.labels},null,8,[`node`,`geometry`,`state`,`selected`,`disabled`,`current`,`labels`])):(B(),H(cg,{key:1,node:t,geometry:g.value.get(t.id),def:L(ip)(e.registry,t.type),run:e.monitor?.nodes[t.id],tone:T(e.monitor?.nodes[t.id]?.status),disabled:ee(t),selected:b.value.has(t.id),focused:N.value===t.id,current:C.value.has(t.id),"on-path":S.value.has(t.id),issue:e.issues?.get(t.id),drillable:A(t),icon:it(t),labels:e.labels,"label-side":f.value.direction===`TB`?`right`:`below`,onEnter:e=>i(`enter`,t.id)},null,8,[`node`,`geometry`,`def`,`run`,`tone`,`disabled`,`selected`,`focused`,`current`,`on-path`,`issue`,`drillable`,`icon`,`labels`,`label-side`,`onEnter`]))],42,Vg))),128))]),U(`g`,Hg,[(B(!0),V(z,null,oi(e.graph.edges,t=>(B(),V(z,{key:t.id},[_.value.get(t.id)?(B(),V(`g`,{key:0,class:P([`fl-edge-label`,D(t)]),"data-edge-id":t.id,"data-focus-id":t.id,tabindex:e.editable||e.toggleable?0:-1,role:`button`,"aria-label":M(t),"aria-pressed":b.value.has(t.id),onFocus:e=>ce(t.id),onBlur:e=>le(t.id),onPointerenter:e=>re(t.id),onPointerleave:n[2]||=e=>re(null)},[_.value.get(t.id).label?(B(),V(z,{key:0},[U(`rect`,{class:`fl-edge-label__bg`,x:_.value.get(t.id).label.x-_.value.get(t.id).label.width/2,y:_.value.get(t.id).label.y-_.value.get(t.id).label.height/2,width:_.value.get(t.id).label.width,height:_.value.get(t.id).label.height,rx:`6`},null,8,Wg),U(`text`,{class:`fl-edge-label__text`,x:_.value.get(t.id).label.x-(k(t)||e.reserveCounters?15:0),y:_.value.get(t.id).label.y-(_.value.get(t.id).label.lines.length-1)*7.5+4.5,"text-anchor":`middle`},[(B(!0),V(z,null,oi(_.value.get(t.id).label.lines,(n,r)=>(B(),V(`tspan`,{key:r,x:_.value.get(t.id).label.x-(k(t)||e.reserveCounters?15:0),dy:r===0?0:15},F(n),9,Kg))),128))],8,Gg),k(t)?(B(),V(`g`,{key:0,class:`fl-edge-count`,transform:`translate(${_.value.get(t.id).label.x+_.value.get(t.id).label.width/2-16} ${_.value.get(t.id).label.y})`},[n[14]||=U(`rect`,{x:`-12`,y:`-8`,width:`24`,height:`16`,rx:`8`},null,-1),U(`text`,Jg,F(k(t)),1)],8,qg)):K(``,!0)],64)):k(t)?(B(),V(`g`,{key:1,class:`fl-edge-count fl-edge-count--alone`,transform:`translate(${_.value.get(t.id).points[Math.floor(_.value.get(t.id).points.length/2)].x} ${_.value.get(t.id).points[Math.floor(_.value.get(t.id).points.length/2)].y})`},[n[15]||=U(`rect`,{x:`-13`,y:`-9`,width:`26`,height:`18`,rx:`9`},null,-1),U(`text`,Xg,F(k(t)),1)],8,Yg)):K(``,!0)],42,Ug)):K(``,!0)],64))),128))]),e.editable?(B(),V(`g`,Zg,[(B(!0),V(z,null,oi(Re.value,e=>(B(),V(`g`,{key:e.node.id,class:`fl-handles`},[(B(!0),V(z,null,oi(e.handles,t=>(B(),V(z,{key:t.side+(t.port??``)},[!(e.def.noOutgoing&&t.kind!==`in`&&ue.value?.kind!==`connect`)||be.value?.target===e.node.id?(B(),V(`g`,{key:0,class:P([`fl-handle`,{"is-snapped":be.value?.target===e.node.id&&be.value.end.x===t.point.x&&be.value.end.y===t.point.y}]),"data-port-node":e.node.id,"data-port-side":t.side,"data-port-id":t.port??``},[U(`circle`,{class:`fl-handle__hit`,cx:t.point.x,cy:t.point.y,r:`11`},null,8,$g),U(`circle`,{class:`fl-handle__dot`,cx:t.point.x,cy:t.point.y,r:`5`},null,8,e_)],10,Qg)):K(``,!0)],64))),128))]))),128)),ze.value?(B(),V(`g`,t_,[(B(),V(z,null,oi([`from`,`to`],e=>U(`circle`,{key:e,class:`fl-edge-end`,"data-edge-end":ze.value.id,"data-end":e,cx:ze.value[e].x,cy:ze.value[e].y,r:`6`},null,8,n_)),64))])):K(``,!0),be.value?(B(),V(`path`,{key:1,class:P([`fl-connect-preview`,{"is-snapped":!!be.value.target}]),d:be.value.d,"marker-end":`url(#${L(a)}-arrow-accent)`},null,10,r_)):K(``,!0),ye.value?(B(),V(`rect`,{key:2,class:`fl-band`,x:ye.value.x,y:ye.value.y,width:ye.value.width,height:ye.value.height},null,8,i_)):K(``,!0)])):K(``,!0)],8,Ag)],8,Eg)),e.graph.nodes.length===0?(B(),V(`div`,a_,[ci(t.$slots,`empty`,{},()=>[U(`p`,o_,F(e.labels.empty),1),U(`p`,s_,F(e.labels.emptyHint),1)])])):K(``,!0),d.value?(B(),V(`div`,c_,F(d.value),1)):K(``,!0),Be.value?(B(),V(`div`,{key:2,class:P([`fl-hovebar`,`fl-hovebar--${Be.value.kind}`]),"data-fl-ui":``,style:se({left:`${Be.value.x}px`,top:`${Be.value.y}px`}),onPointerenter:n[5]||=e=>re(Be.value.id),onPointerleave:n[6]||=e=>re(null)},[e.toggleable?(B(),H(L(pu),{key:0,size:`sm`,"model-value":Be.value.enabled,label:e.labels.enabled,"aria-label":`${e.labels.enabled}: ${Be.value.label}`,"onUpdate:modelValue":n[3]||=e=>i(`toggle`,{kind:Be.value.kind,id:Be.value.id,enabled:e})},null,8,[`model-value`,`label`,`aria-label`])):K(``,!0),Be.value.drill?(B(),H(L(pd),{key:1,content:e.labels.enter},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(ll),"aria-label":`${e.labels.enter}: ${Be.value.label}`,onClick:n[4]||=e=>i(`enter`,Be.value.id)},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`])):K(``,!0)],38)):K(``,!0),ci(t.$slots,`overlay`),e.controls&&e.graph.nodes.length>0?(B(),H(bg,{key:3,labels:e.labels,zoom:nt.value,minimap:e.minimap,onZoomIn:n[7]||=e=>tt(1.2),onZoomOut:n[8]||=e=>tt(1/1.2),onZoomReset:et,onFit:n[9]||=e=>Ge(!0),"onUpdate:minimap":n[10]||=e=>i(`update:minimap`,e)},{default:R(()=>[ci(t.$slots,`controls`)]),_:3},8,[`labels`,`zoom`,`minimap`])):K(``,!0),e.minimap&&e.graph.nodes.length>0?(B(),H(vg,{key:4,nodes:g.value,groups:v.value,bounds:y.value,view:L(s).view.value,size:L(s).size.value,selection:b.value,current:C.value,label:e.labels.minimap,onCentre:n[11]||=e=>L(s).centre(e,!1)},null,8,[`nodes`,`groups`,`bounds`,`view`,`size`,`selection`,`current`,`label`])):K(``,!0)],34))}}),d_={class:`fl-menu-label`},f_={key:0,class:`fl-menu-shortcut`},p_=Ar({__name:`FlowContextMenu`,setup(e,{expose:t}){let n=I([]),r=I({x:0,y:0}),i=I(!1),a=I(null);async function o(e,t){n.value=t,r.value=e,i.value=!0,await kn(),setTimeout(()=>a.value?.querySelector(`.uid-menu-trigger`)?.click(),0)}return t({open:o}),(e,t)=>i.value?(B(),V(`div`,{key:0,ref_key:`anchor`,ref:a,class:`fl-context-anchor`,"data-fl-ui":``,style:se({left:`${r.value.x}px`,top:`${r.value.y}px`})},[W(L(Sd),null,{trigger:R(()=>[...t[0]||=[U(`span`,{class:`fl-context-anchor__trigger`,"aria-hidden":`true`},null,-1)]]),default:R(()=>[(B(!0),V(z,null,oi(n.value,(e,t)=>(B(),V(z,{key:t},[e.separator?(B(),H(L(kd),{key:0})):e.children?(B(),H(L(Ld),{key:1,label:e.label??``,icon:e.icon},{default:R(()=>[(B(!0),V(z,null,oi(e.children,(e,t)=>(B(),H(L(wd),{key:t,icon:e.icon,disabled:e.disabled,onClick:t=>e.action?.()},{default:R(()=>[G(F(e.label),1)]),_:2},1032,[`icon`,`disabled`,`onClick`]))),128))]),_:2},1032,[`label`,`icon`])):(B(),H(L(wd),{key:2,icon:e.icon,disabled:e.disabled,variant:e.danger?`danger`:`default`,onClick:t=>e.action?.()},{default:R(()=>[U(`span`,d_,F(e.label),1),e.shortcut?(B(),V(`kbd`,f_,F(e.shortcut),1)):K(``,!0)]),_:2},1032,[`icon`,`disabled`,`variant`,`onClick`]))],64))),128))]),_:1})],4)):K(``,!0)}}),m_={class:`fl-import`},h_=Ar({__name:`FlowImportDialog`,props:{open:{type:Boolean},mode:{},labels:{},mermaid:{type:Function}},emits:[`update:open`,`import`],setup(e,{emit:t}){let n=e,r=t,i=I(``),a=I(``);Zn(()=>n.open,e=>{e&&(i.value=``,a.value=``)});let o=q(()=>n.mode===`json`?n.labels.importJson:n.labels.importMermaid);function s(){try{let e=n.mode===`json`?Qf(i.value):n.mermaid(i.value);r(`import`,e),r(`update:open`,!1)}catch(e){a.value=e instanceof Error?e.message:String(e)}}return(t,n)=>(B(),H(L(ed),{"model-value":e.open,title:o.value,size:`lg`,"onUpdate:modelValue":n[2]||=e=>r(`update:open`,e)},{footer:R(()=>[W(L(xl),{variant:`ghost`,onClick:n[1]||=e=>r(`update:open`,!1)},{default:R(()=>[G(F(e.labels.cancel),1)]),_:1}),W(L(xl),{variant:`primary`,class:`fl-import__apply`,disabled:!i.value.trim(),onClick:s},{default:R(()=>[G(F(e.labels.importApply),1)]),_:1},8,[`disabled`])]),default:R(()=>[U(`div`,m_,[W(L(cu),{modelValue:i.value,"onUpdate:modelValue":n[0]||=e=>i.value=e,class:`fl-import__source`,rows:12,placeholder:e.mode===`json`?e.labels.importPlaceholderJson:e.labels.importPlaceholderMermaid,"aria-label":o.value},null,8,[`modelValue`,`placeholder`,`aria-label`]),a.value?(B(),H(L(ju),{key:0,variant:`danger`,title:e.labels.importError},{default:R(()=>[G(F(a.value),1)]),_:1},8,[`title`])):K(``,!0)])]),_:1},8,[`model-value`,`title`]))}}),g_={class:`fl-issues`},__={key:0,class:`fl-issues__none`},v_={key:1,class:`fl-issues__list`},y_={class:`fl-issue__text`},b_=Ar({__name:`FlowIssues`,props:{issues:{},labels:{}},emits:[`focus`],setup(e,{emit:t}){let n=t;return(t,r)=>(B(),V(`div`,g_,[e.issues.length===0?(B(),V(`p`,__,[W(L(Ic),{size:16,"aria-hidden":`true`}),G(` `+F(e.labels.noIssues),1)])):(B(),V(`ul`,v_,[(B(!0),V(z,null,oi(e.issues,(e,t)=>(B(),V(`li`,{key:t},[W(L(xl),{variant:`ghost`,size:`sm`,class:P([`fl-issue`,`fl-issue--${e.severity}`]),icon:e.severity===`error`?L(Fc):L(pl),disabled:!e.target,"data-code":e.code,onClick:t=>n(`focus`,e)},{default:R(()=>[U(`span`,y_,F(e.message),1)]),_:2},1032,[`class`,`icon`,`disabled`,`data-code`,`onClick`])]))),128))]))]))}}),x_=[`aria-label`],S_={class:`fl-palette__hint`},C_=Ar({__name:`FlowPalette`,props:{registry:{},types:{},labels:{},nodeIcons:{},disabled:{type:Boolean}},emits:[`add`,`drop`],setup(e,{emit:t}){let n=e,r=t,i=q(()=>n.types.filter(e=>n.registry.has(e)).map(e=>{let t=n.registry.get(e);return{type:e,title:n.labels.types[e]??t.title,icon:n.nodeIcons?.[e]??(t.icon?Mh[t.icon]:void 0)??Mh[e]??Mh.state,shape:t.shape}})),a=I(null),o={x:0,y:0},s=!1;function c(e,t,r){n.disabled||e.button!==0||(o={x:e.clientX,y:e.clientY},s=!1,a.value={type:t,title:r,x:e.clientX,y:e.clientY,moved:!1},window.addEventListener(`pointermove`,l),window.addEventListener(`pointerup`,u,{once:!0}),window.addEventListener(`pointercancel`,f,{once:!0}))}function l(e){let t=a.value;if(!t)return;let n=t.moved||Math.hypot(e.clientX-o.x,e.clientY-o.y)>5;a.value={...t,x:e.clientX,y:e.clientY,moved:n}}function u(e){let t=a.value;p(),t&&t.moved&&(s=!0,setTimeout(()=>s=!1,0),r(`drop`,t.type,{x:e.clientX,y:e.clientY}))}function d(e){s||r(`add`,e)}function f(){p()}function p(){a.value=null,window.removeEventListener(`pointermove`,l),window.removeEventListener(`pointerup`,u),window.removeEventListener(`pointercancel`,f)}return Yr(p),(t,n)=>(B(),V(`div`,{class:`fl-palette`,role:`list`,"aria-label":e.labels.palette},[(B(!0),V(z,null,oi(i.value,t=>(B(),V(`div`,{key:t.type,role:`listitem`,class:`fl-palette__item-wrap`},[W(L(xl),{variant:`secondary`,size:`sm`,class:P([`fl-palette__item`,`fl-palette__item--${t.shape}`]),icon:t.icon,disabled:e.disabled,"data-type":t.type,"aria-label":`${t.title}: ${e.labels.paletteHint}`,onPointerdown:e=>c(e,t.type,t.title),onClick:e=>d(t.type)},{default:R(()=>[G(F(t.title),1)]),_:2},1032,[`class`,`icon`,`disabled`,`data-type`,`aria-label`,`onPointerdown`,`onClick`])]))),128)),U(`p`,S_,F(e.labels.paletteHint),1),(B(),H(fr,{to:`body`},[a.value?.moved?(B(),V(`div`,{key:0,class:`fl-palette-ghost`,style:se({left:`${a.value.x}px`,top:`${a.value.y}px`})},F(a.value.title),5)):K(``,!0)]))],8,x_))}}),w_={class:`fl-props`},T_={class:`fl-props__count`},E_=[`aria-label`],D_={class:`fl-props__head`},O_={class:`fl-props__kind`},k_=[`title`],A_={key:2,class:`fl-props__section fl-props__transitions`},j_={key:0,class:`fl-props__muted`},M_={key:3,class:`fl-props__section`},N_={class:`fl-props__muted`},P_={class:`fl-props__row`},F_={class:`fl-props__head`},I_={class:`fl-props__kind`},L_=[`title`],R_={class:`fl-props__muted fl-props__route`},z_={class:`fl-props__muted`},B_={key:4,class:`fl-props__section`},V_=Ar({__name:`FlowProperties`,props:{graph:{},selection:{},registry:{},labels:{},readonly:{type:Boolean},locked:{type:Function}},emits:[`command`,`align`,`distribute`,`delete`,`open-subgraph`,`connect`,`select`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=q(()=>r.selection.length===1?r.graph.nodes.find(e=>e.id===r.selection[0]):void 0),o=q(()=>r.selection.length===1?r.graph.edges.find(e=>e.id===r.selection[0]):void 0),s=q(()=>r.selection.length>1),c=q(()=>{let e=a.value?r.registry.get(a.value.type):void 0;return e?.icon&&Mh[e.icon]||a.value&&Mh[a.value.type]||Mh.state}),l=q(()=>r.readonly||!!a.value&&r.locked(a.value)),u=q(()=>[...r.registry.entries()].map(([e,t])=>({value:e,label:r.labels.types[e]??t.title}))),d=q(()=>[{value:`transition`,label:r.labels.transition},{value:`association`,label:r.labels.association}]),f=q(()=>[{value:``,label:`—`},...(r.graph.groups??[]).map(e=>({value:e.id,label:e.label??e.id}))]),p=q(()=>[{value:`auto`,label:r.labels.directionAuto},{value:`LR`,label:r.labels.directionLR},{value:`TB`,label:r.labels.directionTB}]),m=q(()=>a.value?r.graph.edges.filter(e=>e.from===a.value.id):[]),h=q(()=>r.graph.nodes.filter(e=>!r.registry.get(e.type)?.noIncoming&&!r.registry.get(e.type)?.annotation).map(e=>({value:e.id,label:e.label||r.labels.types[e.type]||e.id}))),g=e=>r.graph.nodes.find(t=>t.id===e)?.label??e;function _(e,t){a.value&&!l.value&&i(`command`,{type:`updateNode`,id:a.value.id,patch:e},t?`${t}:${a.value.id}`:void 0)}function v(e,t){o.value&&!r.readonly&&i(`command`,{type:`updateEdge`,id:o.value.id,patch:e},t?`${t}:${o.value.id}`:void 0)}let y=e=>e===``?null:e;function b(e){return Object.entries(e?.data??{}).map(([e,t])=>({key:e,value:typeof t==`string`?t:JSON.stringify(t)}))}function x(e){let t=e.trim();if(/^(true|false|null|-?\d+(\.\d+)?|[[{].*[\]}])$/s.test(t))try{return JSON.parse(t)}catch{return e}return e}function S(e,t){let n={};for(let t of e)t.key.trim()&&(n[t.key.trim()]=x(t.value));let r={data:Object.keys(n).length?n:null};a.value?_(r,t):v(r,t)}let C=q(()=>b(a.value??o.value)),w=I(null);function T(e,t,n){let r=C.value.map(e=>({...e}));r[e][t]=n,S(r,`data-${e}-${t}`)}function ee(e){S(C.value.filter((t,n)=>n!==e),`data-remove`)}async function E(){w.value={key:``,value:``},await kn(),document.querySelector(`.fl-props__draft input`)?.focus()}function D(e){e.currentTarget.contains(e.relatedTarget)||O()}function O(){let e=w.value;e&&e.key.trim()&&(w.value=null,S([...C.value,e],`data-add`))}let k=q(()=>a.value?.subgraph===void 0?`none`:typeof a.value.subgraph==`string`?`ref`:`inline`),A=q(()=>!!a.value&&(r.registry.get(a.value.type)?.drillable??!1));function j(){_({subgraph:{version:1,nodes:[{id:`start`,type:`start`},{id:`end`,type:`end`}],edges:[]}})}return t({focusLabel:()=>document.querySelector(`.fl-props__label input`)?.focus()}),(t,n)=>(B(),V(`div`,w_,[s.value?(B(),V(z,{key:0},[U(`p`,T_,F(e.labels.selectedCount(e.selection.length)),1),U(`div`,{class:`fl-props__tools`,role:`group`,"aria-label":e.labels.align},[(B(!0),V(z,null,oi([[`left`,L(Oc),e.labels.alignLeft],[`center`,L(Cc),e.labels.alignCenter],[`right`,L(Tc),e.labels.alignRight],[`top`,L(Dc),e.labels.alignTop],[`middle`,L(Sc),e.labels.alignMiddle],[`bottom`,L(wc),e.labels.alignBottom]],t=>(B(),H(L(xl),{key:t[0],size:`sm`,variant:`secondary`,icon:t[1],"aria-label":t[2],title:t[2],disabled:e.readonly,"data-align":t[0],onClick:e=>i(`align`,t[0])},null,8,[`icon`,`aria-label`,`title`,`disabled`,`data-align`,`onClick`]))),128)),W(L(xl),{size:`sm`,variant:`secondary`,icon:L(Ec),"aria-label":e.labels.distributeH,title:e.labels.distributeH,disabled:e.readonly||e.selection.length<3,onClick:n[0]||=e=>i(`distribute`,`horizontal`)},null,8,[`icon`,`aria-label`,`title`,`disabled`]),W(L(xl),{size:`sm`,variant:`secondary`,icon:L(kc),"aria-label":e.labels.distributeV,title:e.labels.distributeV,disabled:e.readonly||e.selection.length<3,onClick:n[1]||=e=>i(`distribute`,`vertical`)},null,8,[`icon`,`aria-label`,`title`,`disabled`])],8,E_),W(L(xl),{variant:`danger`,size:`sm`,icon:L(fl),disabled:e.readonly,class:`fl-props__delete`,onClick:n[2]||=e=>i(`delete`)},{default:R(()=>[G(F(e.labels.delete),1)]),_:1},8,[`icon`,`disabled`])],64)):a.value?(B(),V(z,{key:1},[U(`div`,D_,[(B(),H(ri(c.value),{size:16,"aria-hidden":`true`})),U(`span`,O_,F(e.labels.types[a.value.type]??e.registry.get(a.value.type)?.title??a.value.type),1),U(`code`,{class:`fl-props__id`,title:a.value.id},F(a.value.id),9,k_)]),l.value&&!e.readonly?(B(),H(L(ju),{key:0,variant:`info`},{default:R(()=>[G(F(e.labels.locked),1)]),_:1})):K(``,!0),W(L(ru),{class:`fl-props__label`,label:e.labels.label,"model-value":a.value.label??``,disabled:l.value,"onUpdate:modelValue":n[3]||=e=>_({label:y(e)},`label`)},null,8,[`label`,`model-value`,`disabled`]),W(L(cu),{label:e.labels.description,rows:2,"auto-grow":``,"max-rows":5,"model-value":a.value.description??``,disabled:l.value,"onUpdate:modelValue":n[4]||=e=>_({description:y(e)},`description`)},null,8,[`label`,`model-value`,`disabled`]),W(L(vu),{label:e.labels.nodeType},{default:R(()=>[W(L(bf),{options:u.value,"model-value":a.value.type,disabled:l.value,"onUpdate:modelValue":n[5]||=e=>_({type:String(e)})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`]),e.graph.groups?.length?(B(),H(L(vu),{key:1,label:e.labels.group},{default:R(()=>[W(L(bf),{options:f.value,"model-value":a.value.group??``,disabled:l.value,"onUpdate:modelValue":n[6]||=e=>_({group:e?String(e):null})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`])):K(``,!0),W(L(pu),{label:e.labels.enabled,"model-value":L(Bf)(a.value),disabled:l.value,"onUpdate:modelValue":n[7]||=e=>i(`command`,{type:`setEnabled`,kind:`node`,id:a.value.id,enabled:e})},null,8,[`label`,`model-value`,`disabled`]),e.registry.get(a.value.type)?.annotation?K(``,!0):(B(),V(`section`,A_,[U(`h4`,null,F(e.labels.transitions),1),(B(!0),V(z,null,oi(m.value,e=>(B(),H(L(xl),{key:e.id,size:`sm`,variant:`ghost`,icon:L(Ac),class:`fl-props__transition`,onClick:t=>i(`select`,e.id)},{default:R(()=>[G(F(g(e.to)),1),e.label?(B(),V(`span`,j_,` · `+F(e.label),1)):K(``,!0)]),_:2},1032,[`icon`,`onClick`]))),128)),!l.value&&!e.registry.get(a.value.type)?.noOutgoing?(B(),H(L(bf),{key:0,class:`fl-props__connect`,options:h.value,"model-value":``,placeholder:e.labels.addTransition,searchable:``,size:`sm`,"onUpdate:modelValue":n[8]||=e=>e&&i(`connect`,a.value.id,String(e))},null,8,[`options`,`placeholder`])):K(``,!0)])),A.value||k.value!==`none`?(B(),V(`section`,M_,[U(`h4`,null,F(e.labels.subprocess),1),k.value===`inline`?(B(),V(z,{key:0},[U(`p`,N_,F(e.labels.subgraphInline(a.value.subgraph.nodes.length)),1),U(`div`,P_,[W(L(xl),{size:`sm`,variant:`secondary`,icon:L(ll),onClick:n[9]||=e=>i(`open-subgraph`,a.value.id)},{default:R(()=>[G(F(e.labels.subgraphOpen),1)]),_:1},8,[`icon`]),W(L(xl),{size:`sm`,variant:`ghost`,disabled:l.value,onClick:n[10]||=e=>_({subgraph:null})},{default:R(()=>[G(F(e.labels.subgraphRemove),1)]),_:1},8,[`disabled`])])],64)):(B(),V(z,{key:1},[W(L(ru),{label:e.labels.subgraphRef,"model-value":a.value.subgraph??``,disabled:l.value,placeholder:`payment-v2`,"onUpdate:modelValue":n[11]||=e=>_({subgraph:y(e)},`subgraph`)},null,8,[`label`,`model-value`,`disabled`]),k.value===`none`?(B(),H(L(xl),{key:0,size:`sm`,variant:`secondary`,icon:L(nl),disabled:l.value,onClick:j},{default:R(()=>[G(F(e.labels.subgraphCreate),1)]),_:1},8,[`icon`,`disabled`])):K(``,!0)],64))])):K(``,!0)],64)):o.value?(B(),V(z,{key:2},[U(`div`,F_,[(B(),H(ri(L(Ac)),{size:16,"aria-hidden":`true`})),U(`span`,I_,F(e.labels.edge),1),U(`code`,{class:`fl-props__id`,title:o.value.id},F(o.value.id),9,L_)]),U(`p`,R_,F(g(o.value.from))+` → `+F(g(o.value.to)),1),W(L(ru),{class:`fl-props__label`,label:e.labels.label,"model-value":o.value.label??``,disabled:e.readonly,"onUpdate:modelValue":n[12]||=e=>v({label:y(e)},`label`)},null,8,[`label`,`model-value`,`disabled`]),W(L(ru),{class:`fl-props__condition`,label:e.labels.condition,"model-value":o.value.condition??``,disabled:e.readonly,placeholder:`attempts < 3`,"onUpdate:modelValue":n[13]||=e=>v({condition:y(e)},`condition`)},null,8,[`label`,`model-value`,`disabled`]),W(L(vu),{label:e.labels.edgeKind},{default:R(()=>[W(L(bf),{options:d.value,"model-value":o.value.kind??`transition`,disabled:e.readonly,"onUpdate:modelValue":n[14]||=e=>v({kind:e===`association`?`association`:null})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`]),W(L(pu),{label:e.labels.enabled,"model-value":L(Bf)(o.value),disabled:e.readonly,"onUpdate:modelValue":n[15]||=e=>i(`command`,{type:`setEnabled`,kind:`edge`,id:o.value.id,enabled:e})},null,8,[`label`,`model-value`,`disabled`])],64)):(B(),V(z,{key:3},[U(`p`,z_,F(e.labels.nothingSelected),1),W(L(ru),{label:e.labels.graphTitle,"model-value":e.graph.meta?.title??``,disabled:e.readonly,"onUpdate:modelValue":n[16]||=e=>i(`command`,{type:`updateMeta`,patch:{title:y(e)}},`meta-title`)},null,8,[`label`,`model-value`,`disabled`]),W(L(vu),{label:e.labels.direction},{default:R(()=>[W(L(bf),{options:p.value,"model-value":e.graph.meta?.direction??`auto`,disabled:e.readonly,"onUpdate:modelValue":n[17]||=e=>i(`command`,{type:`updateMeta`,patch:{direction:e===`auto`?null:e}})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`])],64)),(a.value||o.value)&&!s.value?(B(),V(`section`,B_,[U(`h4`,null,F(e.labels.data),1),(B(!0),V(z,null,oi(C.value,(t,n)=>(B(),V(`div`,{key:n,class:`fl-props__kv`},[W(L(ru),{size:`sm`,"model-value":t.key,"aria-label":e.labels.key,placeholder:e.labels.key,disabled:l.value,"onUpdate:modelValue":e=>T(n,`key`,e)},null,8,[`model-value`,`aria-label`,`placeholder`,`disabled`,`onUpdate:modelValue`]),W(L(ru),{size:`sm`,"model-value":t.value,"aria-label":e.labels.value,placeholder:e.labels.value,disabled:l.value,"onUpdate:modelValue":e=>T(n,`value`,e)},null,8,[`model-value`,`aria-label`,`placeholder`,`disabled`,`onUpdate:modelValue`]),W(L(xl),{size:`sm`,variant:`ghost`,icon:L(_l),"aria-label":e.labels.removeField,disabled:l.value,onClick:e=>ee(n)},null,8,[`icon`,`aria-label`,`disabled`,`onClick`])]))),128)),w.value?(B(),V(`div`,{key:0,class:`fl-props__kv fl-props__draft`,onFocusout:D},[W(L(ru),{modelValue:w.value.key,"onUpdate:modelValue":n[18]||=e=>w.value.key=e,size:`sm`,"aria-label":e.labels.key,placeholder:e.labels.key,onKeydown:lc(O,[`enter`])},null,8,[`modelValue`,`aria-label`,`placeholder`]),W(L(ru),{modelValue:w.value.value,"onUpdate:modelValue":n[19]||=e=>w.value.value=e,size:`sm`,"aria-label":e.labels.value,placeholder:e.labels.value,onKeydown:lc(O,[`enter`])},null,8,[`modelValue`,`aria-label`,`placeholder`]),W(L(xl),{size:`sm`,variant:`ghost`,icon:L(_l),"aria-label":e.labels.cancel,onClick:n[20]||=e=>w.value=null},null,8,[`icon`,`aria-label`])],32)):K(``,!0),W(L(xl),{size:`sm`,variant:`ghost`,icon:L(nl),disabled:l.value,class:`fl-props__add`,onClick:E},{default:R(()=>[G(F(e.labels.addField),1)]),_:1},8,[`icon`,`disabled`])])):K(``,!0),(a.value||o.value)&&!s.value?(B(),H(L(xl),{key:5,variant:`ghost`,size:`sm`,icon:L(fl),disabled:l.value,class:`fl-props__delete`,onClick:n[21]||=e=>i(`delete`)},{default:R(()=>[G(F(e.labels.delete),1)]),_:1},8,[`icon`,`disabled`])):K(``,!0)]))}}),H_={graph:`Process graph`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,fit:`Fit to view`,minimap:`Minimap`,root:`Process`,back:`Back`,enter:`Open sub-process`,details:`Details`,enabled:`Enabled`,disabledTag:`Disabled`,id:`ID`,type:`Type`,status:`Status`,count:`Count`,instances:`Instances`,traversed:`Traversed`,data:`Data`,condition:`Condition`,from:`From`,to:`To`,message:`Message`,subprocess:`Sub-process`,updated:`Updated`,updatedJustNow:`Updated just now`,updatedAgo:e=>e<60?`Updated ${e} s ago`:`Updated ${Math.floor(e/60)} min ago`,stale:`Data is out of date`,paused:`Paused`,live:`Live`,loading:`Loading…`,loadError:`Could not load the state`,retry:`Retry`,refresh:`Refresh now`,toggleFailed:`Could not change the element; the change was undone`,subgraphFailed:`Could not open the sub-process`,currentPath:`Current path`,empty:`Nothing to show`,emptyHint:`The process has no steps yet.`,statuses:{active:`Active`,done:`Done`,error:`Error`,waiting:`Waiting`,skipped:`Skipped`},types:{start:`Start`,end:`End`,state:`State`,task:`Task`,decision:`Decision`,subprocess:`Sub-process`,note:`Note`},editor:`Process editor`,palette:`Elements`,paletteHint:`Drag onto the canvas or press to add`,properties:`Properties`,issues:`Issues`,noIssues:`No issues found`,issueCount:(e,t)=>[e?`${e} error${e===1?``:`s`}`:``,t?`${t} warning${t===1?``:`s`}`:``].filter(Boolean).join(`, `)||`No issues`,undo:`Undo`,redo:`Redo`,delete:`Delete`,duplicate:`Duplicate`,copy:`Copy`,paste:`Paste`,cut:`Cut`,selectAll:`Select all`,autoLayout:`Auto layout`,align:`Align`,alignLeft:`Align left`,alignCenter:`Align centres`,alignRight:`Align right`,alignTop:`Align top`,alignMiddle:`Align middles`,alignBottom:`Align bottom`,distributeH:`Distribute horizontally`,distributeV:`Distribute vertically`,snapToGrid:`Snap to grid`,more:`More`,exportJson:`Export JSON`,importJson:`Import JSON`,importMermaid:`Import Mermaid`,importApply:`Import`,importPlaceholderJson:`Paste the model JSON: { "version": 1, "nodes": [...], "edges": [...] }`,importPlaceholderMermaid:`stateDiagram-v2
|
|
1
|
+
!function(){if(typeof document>"u"||document.querySelector("style[data-dsk-flow]"))return;var s=document.createElement("style");s.setAttribute("data-dsk-flow","");s.textContent=":root{--uid-color-zinc-50:#fafafa;--uid-color-zinc-100:#f4f4f5;--uid-color-zinc-200:#e4e4e7;--uid-color-zinc-300:#d4d4d8;--uid-color-zinc-400:#a1a1aa;--uid-color-zinc-500:#71717a;--uid-color-zinc-600:#52525b;--uid-color-zinc-700:#3f3f46;--uid-color-zinc-800:#27272a;--uid-color-zinc-900:#18181b;--uid-color-zinc-950:#09090b;--uid-color-teal-50:#f0fdfa;--uid-color-teal-100:#ccfbf1;--uid-color-teal-300:#5eead4;--uid-color-teal-400:#2dd4bf;--uid-color-teal-500:#14b8a6;--uid-color-teal-600:#0d9488;--uid-color-teal-700:#0f766e;--uid-color-teal-900:#134e4a;--uid-color-rose-50:#fff1f2;--uid-color-rose-400:#fb7185;--uid-color-rose-500:#f43f5e;--uid-color-rose-600:#e11d48;--uid-color-rose-700:#be123c;--uid-color-rose-950:#4c0519;--uid-color-emerald-50:#ecfdf5;--uid-color-emerald-400:#34d399;--uid-color-emerald-600:#059669;--uid-color-emerald-950:#022c22;--uid-color-amber-50:#fffbeb;--uid-color-amber-400:#fbbf24;--uid-color-amber-600:#d97706;--uid-color-amber-950:#451a03;--uid-color-blue-50:#eff6ff;--uid-color-blue-400:#60a5fa;--uid-color-blue-600:#2563eb;--uid-color-blue-950:#172554;--uid-color-white:#fff;--uid-font-family-sans:\"Inter\", system-ui, -apple-system, sans-serif;--uid-font-family-mono:\"IBM Plex Mono\", \"Fira Code\", \"Cascadia Mono\", \"Roboto Mono\", ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"DejaVu Sans Mono\", \"Courier New\", monospace;--uid-font-size-xs:12px;--uid-font-size-sm:14px;--uid-font-size-md:16px;--uid-font-size-base:var(--uid-font-size-md);--uid-font-size-lg:18px;--uid-font-size-xl:20px;--uid-font-size-2xl:24px;--uid-font-size-3xl:30px;--uid-font-size-4xl:36px;--uid-font-weight-regular:400;--uid-font-weight-medium:500;--uid-font-weight-semibold:600;--uid-font-weight-bold:700;--uid-line-height-tight:1.25;--uid-line-height-snug:1.375;--uid-line-height-normal:1.5;--uid-line-height-relaxed:1.625;--uid-space-0:0;--uid-space-2xs:2px;--uid-space-xs:4px;--uid-space-sm:8px;--uid-space-md:16px;--uid-space-lg:24px;--uid-space-xl:32px;--uid-space-2xl:48px;--uid-space-3xl:64px;--uid-size-sm:32px;--uid-size-md:40px;--uid-size-lg:48px;--uid-radius-none:0;--uid-radius-sm:3px;--uid-radius-md:6px;--uid-radius-lg:10px;--uid-radius-full:9999px;--uid-duration-fast:.1s;--uid-duration-base:.2s;--uid-duration-slow:.35s;--uid-ease-out:cubic-bezier(0, 0, .2, 1);--uid-ease-in:cubic-bezier(.4, 0, 1, 1);--uid-ease-in-out:cubic-bezier(.4, 0, .2, 1);--uid-z-base:0;--uid-z-raised:1;--uid-z-sticky:100;--uid-z-affix:100;--uid-z-fixed:150;--uid-z-dropdown:200;--uid-z-overlay:300;--uid-z-drawer:400;--uid-z-modal:400;--uid-z-popover:450;--uid-z-toast:500;--uid-z-tooltip:600;--uid-bp-sm:480px;--uid-bp-md:768px;--uid-bp-lg:1024px;--uid-bp-xl:1280px;--uid-bp-2xl:1536px}:root[data-theme=light]{--uid-surface-base:var(--uid-color-zinc-50);--uid-surface-raised:var(--uid-color-white);--uid-surface-overlay:var(--uid-color-white);--uid-text-primary:var(--uid-color-zinc-900);--uid-text-secondary:var(--uid-color-zinc-500);--uid-text-tertiary:var(--uid-color-zinc-400);--uid-text-on-accent:var(--uid-color-white);--uid-border-subtle:var(--uid-color-zinc-200);--uid-border-default:var(--uid-color-zinc-300);--uid-border-hover:var(--uid-color-zinc-400);--uid-accent:var(--uid-color-teal-500);--uid-accent-hover:var(--uid-color-teal-600);--uid-accent-subtle:var(--uid-color-teal-50);--uid-accent-text:var(--uid-color-teal-700);--uid-danger:var(--uid-color-rose-600);--uid-danger-hover:var(--uid-color-rose-700);--uid-danger-subtle:var(--uid-color-rose-50);--uid-success:var(--uid-color-emerald-600);--uid-success-subtle:var(--uid-color-emerald-50);--uid-warning:var(--uid-color-amber-600);--uid-warning-subtle:var(--uid-color-amber-50);--uid-info:var(--uid-color-blue-600);--uid-info-subtle:var(--uid-color-blue-50);--uid-shadow-sm:0 1px 2px #0000000d;--uid-shadow-md:0 4px 12px #00000014;--uid-shadow-lg:0 8px 24px #0000001f;--uid-shadow-xl:0 20px 60px #0000004d}:root[data-theme=dark]{--uid-surface-base:#1c1c1e;--uid-surface-raised:#2c2c2e;--uid-surface-overlay:#3a3a3c;--uid-text-primary:var(--uid-color-zinc-100);--uid-text-secondary:var(--uid-color-zinc-400);--uid-text-tertiary:var(--uid-color-zinc-600);--uid-text-on-accent:var(--uid-color-white);--uid-border-subtle:var(--uid-color-zinc-700);--uid-border-default:var(--uid-color-zinc-600);--uid-border-hover:var(--uid-color-zinc-400);--uid-accent:var(--uid-color-teal-400);--uid-accent-hover:var(--uid-color-teal-300);--uid-accent-subtle:var(--uid-color-teal-900);--uid-accent-text:var(--uid-color-teal-300);--uid-danger:var(--uid-color-rose-400);--uid-danger-hover:var(--uid-color-rose-500);--uid-danger-subtle:var(--uid-color-rose-950);--uid-success:var(--uid-color-emerald-400);--uid-success-subtle:var(--uid-color-emerald-950);--uid-warning:var(--uid-color-amber-400);--uid-warning-subtle:var(--uid-color-amber-950);--uid-info:var(--uid-color-blue-400);--uid-info-subtle:var(--uid-color-blue-950);--uid-shadow-sm:0 1px 2px #0003;--uid-shadow-md:0 4px 12px #0006;--uid-shadow-lg:0 8px 24px #0009;--uid-shadow-xl:0 20px 60px #0009}:root{--uid-color-bg:var(--uid-surface-raised);--uid-color-bg-subtle:var(--uid-surface-base);--uid-color-overlay:var(--uid-surface-overlay);--uid-color-surface:var(--uid-surface-raised);--uid-color-surface-raised:var(--uid-surface-raised);--uid-color-surface-hover:var(--uid-surface-base);--uid-color-text:var(--uid-text-primary);--uid-color-text-primary:var(--uid-text-primary);--uid-color-text-secondary:var(--uid-text-secondary);--uid-color-text-tertiary:var(--uid-text-tertiary);--uid-color-text-disabled:var(--uid-text-tertiary);--uid-color-text-on-primary:var(--uid-text-on-accent);--uid-color-border:var(--uid-border-default);--uid-color-border-hover:var(--uid-border-hover);--uid-color-primary:var(--uid-accent);--uid-color-primary-hover:var(--uid-accent-hover);--uid-color-primary-subtle:var(--uid-accent-subtle);--uid-focus-ring:0 0 0 3px var(--uid-color-primary-subtle);--uid-color-focus-ring:var(--uid-accent);--uid-color-danger:var(--uid-danger);--uid-color-danger-subtle:var(--uid-danger-subtle);--uid-color-success:var(--uid-success);--uid-color-success-subtle:var(--uid-success-subtle);--uid-color-warning:var(--uid-warning);--uid-color-warning-subtle:var(--uid-warning-subtle);--uid-color-warning-dark:var(--uid-warning);--uid-color-info:var(--uid-info);--uid-color-info-subtle:var(--uid-info-subtle)}.uid-button{--uid-button-bg:var(--uid-accent);--uid-button-bg-hover:var(--uid-accent-hover);--uid-button-color:var(--uid-text-on-accent);--uid-button-border:transparent;--uid-button-radius:var(--uid-radius-md);--uid-button-height:var(--uid-size-md);--uid-button-padding-x:var(--uid-space-md);--uid-button-padding-y:var(--uid-space-xs);justify-content:center;align-items:center;gap:var(--uid-space-xs);min-height:var(--uid-button-height);padding:var(--uid-button-padding-y) var(--uid-button-padding-x);border:1px solid var(--uid-button-border);border-radius:var(--uid-button-radius);background:var(--uid-button-bg);color:var(--uid-button-color);font:inherit;font-size:var(--uid-font-size-md);font-weight:var(--uid-font-weight-medium);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;transition:background var(--uid-duration-fast) var(--uid-ease-out), border-color var(--uid-duration-fast) var(--uid-ease-out), color var(--uid-duration-fast) var(--uid-ease-out), opacity var(--uid-duration-fast) var(--uid-ease-out);line-height:1;text-decoration:none;display:inline-flex}.uid-button:hover:not([disabled]):not([data-loading=true]){background:var(--uid-button-bg-hover)}.uid-button:active:not([disabled]):not([data-loading=true]){transform:scale(.98)}.uid-button:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px;border-radius:inherit}.uid-button[disabled],.uid-button[aria-disabled=true]{opacity:.5;cursor:not-allowed}.uid-button[data-loading=true]{opacity:.7;cursor:wait;pointer-events:none}.uid-button--secondary{--uid-button-bg:var(--uid-surface-raised);--uid-button-bg-hover:var(--uid-border-subtle);--uid-button-color:var(--uid-text-primary);--uid-button-border:var(--uid-border-default)}.uid-button--ghost{--uid-button-bg:transparent;--uid-button-bg-hover:var(--uid-border-subtle);--uid-button-color:var(--uid-text-primary);--uid-button-border:transparent}.uid-button--danger{--uid-button-bg:var(--uid-danger);--uid-button-bg-hover:var(--uid-danger-hover);--uid-button-color:var(--uid-text-on-accent)}.uid-button--danger:focus-visible{outline-color:var(--uid-danger)}.uid-button--sm{--uid-button-height:var(--uid-size-sm);--uid-button-padding-x:var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-button--lg{--uid-button-height:var(--uid-size-lg);--uid-button-padding-x:var(--uid-space-lg);font-size:var(--uid-font-size-lg)}.uid-button__prepend,.uid-button__append{flex-shrink:0;align-items:center;display:inline-flex}.uid-button__icon{flex-shrink:0}.uid-button--icon-only{width:var(--uid-button-height);min-width:var(--uid-button-height);padding:0}.uid-input-field{--uid-input-height:var(--uid-size-md);--uid-input-padding-x:var(--uid-space-sm);--uid-input-font-size:var(--uid-font-size-md);--uid-input-bg:var(--uid-surface-raised);--uid-input-border:var(--uid-border-default);--uid-input-border-focus:var(--uid-accent);--uid-input-color:var(--uid-text-primary);--uid-input-placeholder:var(--uid-text-tertiary);--uid-input-radius:var(--uid-radius-md);--uid-input-gap:var(--uid-space-xs);gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-input-field__label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);line-height:1.4;display:flex}.uid-input-field__required{color:var(--uid-danger)}.uid-input-field__control{min-height:var(--uid-input-height);padding:var(--uid-space-xs) var(--uid-input-padding-x);align-items:center;gap:var(--uid-input-gap);background:var(--uid-input-bg);border:1px solid var(--uid-input-border);border-radius:var(--uid-input-radius);transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);display:flex}.uid-input-field__control:focus-within{border-color:var(--uid-input-border-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-accent) 15%, transparent);outline:none}.uid-input-field__input{min-width:0;color:var(--uid-input-color);font:inherit;font-size:var(--uid-input-font-size);background:0 0;border:none;outline:none;flex:1;padding:0;line-height:1.5}.uid-input-field__input::placeholder{color:var(--uid-input-placeholder)}.uid-input-field__prepend,.uid-input-field__append{color:var(--uid-text-secondary);flex-shrink:0;align-items:center;display:inline-flex}.uid-input-field__hint{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-input-field__hint--error{color:var(--uid-danger)}.uid-input-field--error .uid-input-field__control{border-color:var(--uid-danger)}.uid-input-field--error .uid-input-field__control:focus-within{border-color:var(--uid-danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-danger) 15%, transparent)}.uid-input-field--disabled .uid-input-field__control{opacity:.5;cursor:not-allowed;background:var(--uid-surface-base)}.uid-input-field--disabled .uid-input-field__input{cursor:not-allowed;pointer-events:none}.uid-input-field--readonly .uid-input-field__control{background:var(--uid-surface-base);border-style:dashed}.uid-input-field--sm{--uid-input-height:var(--uid-size-sm);--uid-input-font-size:var(--uid-font-size-sm);--uid-input-padding-x:var(--uid-space-xs)}.uid-input-field--lg{--uid-input-height:var(--uid-size-lg);--uid-input-font-size:var(--uid-font-size-lg);--uid-input-padding-x:var(--uid-space-md)}.uid-textarea-field{--uid-textarea-padding-x:var(--uid-space-sm);--uid-textarea-padding-y:var(--uid-space-xs);--uid-textarea-font-size:var(--uid-font-size-md);--uid-textarea-bg:var(--uid-surface-raised);--uid-textarea-border:var(--uid-border-default);--uid-textarea-border-focus:var(--uid-accent);--uid-textarea-color:var(--uid-text-primary);--uid-textarea-placeholder:var(--uid-text-tertiary);--uid-textarea-radius:var(--uid-radius-md);gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-textarea-field__label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);line-height:1.4;display:flex}.uid-textarea-field__required{color:var(--uid-danger)}.uid-textarea-field__textarea{box-sizing:border-box;width:100%;padding:var(--uid-textarea-padding-y) var(--uid-textarea-padding-x);background:var(--uid-textarea-bg);border:1px solid var(--uid-textarea-border);border-radius:var(--uid-textarea-radius);color:var(--uid-textarea-color);font:inherit;font-size:var(--uid-textarea-font-size);transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);outline:none;line-height:1.5}.uid-textarea-field__textarea::placeholder{color:var(--uid-textarea-placeholder)}.uid-textarea-field__textarea:focus-visible{border-color:var(--uid-textarea-border-focus);box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-accent) 15%, transparent)}.uid-textarea-field__hint{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-textarea-field__hint--error{color:var(--uid-danger)}.uid-textarea-field--error .uid-textarea-field__textarea{border-color:var(--uid-danger)}.uid-textarea-field--error .uid-textarea-field__textarea:focus-visible{border-color:var(--uid-danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-danger) 15%, transparent)}.uid-textarea-field--disabled .uid-textarea-field__textarea{opacity:.5;cursor:not-allowed;background:var(--uid-surface-base)}.uid-textarea-field--readonly .uid-textarea-field__textarea{background:var(--uid-surface-base);cursor:default;border-style:dashed}.uid-textarea-field--sm{--uid-textarea-font-size:var(--uid-font-size-sm);--uid-textarea-padding-x:var(--uid-space-xs)}.uid-textarea-field--lg{--uid-textarea-font-size:var(--uid-font-size-lg);--uid-textarea-padding-x:var(--uid-space-md)}.uid-checkbox{--uid-checkbox-size:16px;--uid-checkbox-radius:var(--uid-radius-sm);--uid-checkbox-border:var(--uid-border-default);--uid-checkbox-bg:var(--uid-surface-raised);--uid-checkbox-checked-bg:var(--uid-accent);--uid-checkbox-checked-border:var(--uid-accent);--uid-checkbox-mark:var(--uid-text-on-accent);--uid-checkbox-gap:var(--uid-space-sm);gap:var(--uid-space-xs);flex-direction:column;display:inline-flex}.uid-checkbox__label{align-items:center;gap:var(--uid-checkbox-gap);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.uid-checkbox__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.uid-checkbox__box{width:var(--uid-checkbox-size);height:var(--uid-checkbox-size);border:1.5px solid var(--uid-checkbox-border);border-radius:var(--uid-checkbox-radius);background:var(--uid-checkbox-bg);transition:background var(--uid-duration-fast) var(--uid-ease-out), border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);flex-shrink:0;position:relative}.uid-checkbox__box:after{content:\"\";border:1.5px solid var(--uid-checkbox-mark);opacity:0;width:4px;height:8px;transition:opacity var(--uid-duration-fast) var(--uid-ease-out), transform var(--uid-duration-fast) var(--uid-ease-out);border-top:none;border-left:none;margin:auto;position:absolute;inset:0;transform:rotate(45deg)translateY(-1px)scale(0)}.uid-checkbox__box:before{content:\"\";background:var(--uid-checkbox-mark);opacity:0;width:8px;height:1.5px;transition:opacity var(--uid-duration-fast) var(--uid-ease-out), transform var(--uid-duration-fast) var(--uid-ease-out);border-radius:1px;margin:auto;position:absolute;inset:0;transform:scale(0)}.uid-checkbox__input:checked+.uid-checkbox__box{background:var(--uid-checkbox-checked-bg);border-color:var(--uid-checkbox-checked-border)}.uid-checkbox__input:checked+.uid-checkbox__box:after{opacity:1;transform:rotate(45deg)translateY(-1px)scale(1)}.uid-checkbox__input:indeterminate+.uid-checkbox__box{background:var(--uid-checkbox-checked-bg);border-color:var(--uid-checkbox-checked-border)}.uid-checkbox__input:indeterminate+.uid-checkbox__box:before{opacity:1;transform:scale(1)}.uid-checkbox__input:focus-visible+.uid-checkbox__box{box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-accent) 15%, transparent);border-color:var(--uid-accent);outline:none}.uid-checkbox__text{font-size:var(--uid-font-size-md);color:var(--uid-text-primary);line-height:1.4}.uid-checkbox__required{color:var(--uid-danger);margin-left:2px}.uid-checkbox__hint{padding-left:calc(var(--uid-checkbox-size) + var(--uid-checkbox-gap));font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-checkbox__hint--error{color:var(--uid-danger)}.uid-checkbox--error .uid-checkbox__box{border-color:var(--uid-danger)}.uid-checkbox--error .uid-checkbox__input:focus-visible+.uid-checkbox__box{box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-danger) 15%, transparent);border-color:var(--uid-danger)}.uid-checkbox--disabled .uid-checkbox__label{cursor:not-allowed;opacity:.5}.uid-checkbox-group{gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-checkbox-group__legend{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);align-items:center;gap:var(--uid-space-2xs);margin:0;line-height:1.4;display:flex}.uid-checkbox-group__required{color:var(--uid-danger)}.uid-checkbox-group__options{gap:var(--uid-space-sm);display:flex}.uid-checkbox-group--vertical .uid-checkbox-group__options{flex-direction:column}.uid-checkbox-group--horizontal .uid-checkbox-group__options{flex-flow:wrap}.uid-checkbox-group__hint{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-checkbox-group__hint--error{color:var(--uid-danger)}.uid-checkbox-group--disabled{cursor:not-allowed;opacity:.5}.uid-radio{--uid-radio-size:16px;--uid-radio-border:var(--uid-border-default);--uid-radio-bg:var(--uid-surface-raised);--uid-radio-checked-border:var(--uid-accent);--uid-radio-dot:var(--uid-accent);--uid-radio-gap:var(--uid-space-sm);align-items:center;gap:var(--uid-radio-gap);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.uid-radio__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.uid-radio__circle{width:var(--uid-radio-size);height:var(--uid-radio-size);border:1.5px solid var(--uid-radio-border);background:var(--uid-radio-bg);transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.uid-radio__circle:after{content:\"\";background:var(--uid-radio-dot);opacity:0;width:6px;height:6px;transition:opacity var(--uid-duration-fast) var(--uid-ease-out), transform var(--uid-duration-fast) var(--uid-ease-out);border-radius:50%;transform:scale(.5)}.uid-radio__input:checked+.uid-radio__circle{border-color:var(--uid-radio-checked-border)}.uid-radio__input:checked+.uid-radio__circle:after{opacity:1;transform:scale(1)}.uid-radio__input:focus-visible+.uid-radio__circle{box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-accent) 15%, transparent);border-color:var(--uid-accent);outline:none}.uid-radio__text{font-size:var(--uid-font-size-md);color:var(--uid-text-primary);line-height:1.4}.uid-radio--disabled{cursor:not-allowed;opacity:.5}.uid-radio-group{gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-radio-group__legend{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);align-items:center;gap:var(--uid-space-2xs);margin:0;line-height:1.4;display:flex}.uid-radio-group__required{color:var(--uid-danger)}.uid-radio-group__options{gap:var(--uid-space-sm);display:flex}.uid-radio-group--vertical .uid-radio-group__options{flex-direction:column}.uid-radio-group--horizontal .uid-radio-group__options{flex-flow:wrap}.uid-radio-group__hint{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-radio-group__hint--error{color:var(--uid-danger)}.uid-radio-group--disabled{cursor:not-allowed;opacity:.5}.uid-switch{--uid-switch-track-width:36px;--uid-switch-track-height:20px;--uid-switch-thumb-size:14px;--uid-switch-thumb-offset:3px;--uid-switch-track-bg:var(--uid-border-default);--uid-switch-track-on-bg:var(--uid-accent);--uid-switch-thumb-bg:var(--uid-color-white);--uid-switch-gap:var(--uid-space-sm);gap:var(--uid-space-xs);flex-direction:column;display:inline-flex}.uid-switch__label{align-items:center;gap:var(--uid-switch-gap);cursor:pointer;-webkit-user-select:none;user-select:none;display:inline-flex}.uid-switch__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.uid-switch__track{width:var(--uid-switch-track-width);height:var(--uid-switch-track-height);background:var(--uid-switch-track-bg);border-radius:var(--uid-radius-full);transition:background var(--uid-duration-base) var(--uid-ease-in-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);flex-shrink:0;position:relative}.uid-switch__thumb{top:var(--uid-switch-thumb-offset);left:var(--uid-switch-thumb-offset);width:var(--uid-switch-thumb-size);height:var(--uid-switch-thumb-size);background:var(--uid-switch-thumb-bg);box-shadow:var(--uid-shadow-sm);transition:transform var(--uid-duration-base) var(--uid-ease-in-out);border-radius:50%;position:absolute;transform:translate(0)}.uid-switch__input:checked+.uid-switch__track{background:var(--uid-switch-track-on-bg)}.uid-switch__input:checked+.uid-switch__track .uid-switch__thumb{transform:translateX(calc(var(--uid-switch-track-width) - var(--uid-switch-thumb-size) - var(--uid-switch-thumb-offset) * 2))}.uid-switch__input:focus-visible+.uid-switch__track{box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-accent) 15%, transparent);outline:none}.uid-switch__text{font-size:var(--uid-font-size-md);color:var(--uid-text-primary);line-height:1.4}.uid-switch__required{color:var(--uid-danger);margin-left:2px}.uid-switch__hint{padding-left:calc(var(--uid-switch-track-width) + var(--uid-switch-gap));font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-switch__hint--error{color:var(--uid-danger)}.uid-switch--error .uid-switch__track{outline:1.5px solid var(--uid-danger);outline-offset:1px}.uid-switch--disabled .uid-switch__label{cursor:not-allowed;opacity:.5}.uid-switch--sm{--uid-switch-track-width:28px;--uid-switch-track-height:16px;--uid-switch-thumb-size:10px;--uid-switch-thumb-offset:3px}.uid-switch--lg{--uid-switch-track-width:44px;--uid-switch-track-height:24px;--uid-switch-thumb-size:18px;--uid-switch-thumb-offset:3px}.uid-label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);line-height:var(--uid-line-height-tight);cursor:default;display:inline-flex}.uid-label--disabled{opacity:.5;cursor:not-allowed}.uid-label__required{color:var(--uid-danger)}.uid-form-field{gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-form-field__label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);line-height:1.4;display:flex}.uid-form-field--disabled .uid-form-field__label{opacity:.5}.uid-form-field__required{color:var(--uid-danger)}.uid-form-field__content{flex-direction:column;display:flex}.uid-form-field__hint{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-form-field__hint--error{color:var(--uid-danger)}.uid-spinner{--uid-spinner-size:20px;--uid-spinner-color:currentColor;--uid-spinner-width:2px;width:var(--uid-spinner-size);height:var(--uid-spinner-size);border:var(--uid-spinner-width) solid color-mix(in srgb, var(--uid-spinner-color) 20%, transparent);border-top-color:var(--uid-spinner-color);animation:uid-spin var(--uid-duration-slow) linear infinite;border-radius:50%;flex-shrink:0;display:inline-block}@keyframes uid-spin{to{transform:rotate(360deg)}}.uid-spinner--sm{--uid-spinner-size:16px}.uid-spinner--lg{--uid-spinner-size:28px;--uid-spinner-width:2.5px}.uid-skeleton{background:linear-gradient(90deg, var(--uid-surface-raised) 25%, color-mix(in srgb, var(--uid-text-tertiary) 18%, var(--uid-surface-raised)) 50%, var(--uid-surface-raised) 75%);border-radius:var(--uid-radius-sm);vertical-align:middle;background-size:200% 100%;animation:1.6s ease-in-out infinite uid-skeleton-shimmer;display:inline-block}.uid-skeleton--rounded{border-radius:var(--uid-radius-md)}.uid-skeleton--full{border-radius:var(--uid-radius-full)}.uid-skeleton-lines{gap:var(--uid-space-sm);flex-direction:column;width:100%;display:flex}.uid-skeleton-lines .uid-skeleton{display:block}@keyframes uid-skeleton-shimmer{0%{background-position:200%}to{background-position:-200%}}.uid-badge{--uid-badge-bg:color-mix(in srgb, var(--uid-text-primary) 10%, transparent);--uid-badge-color:var(--uid-text-primary);--uid-badge-radius:var(--uid-radius-full);padding:2px var(--uid-space-xs);background:var(--uid-badge-bg);color:var(--uid-badge-color);border-radius:var(--uid-badge-radius);font-size:var(--uid-font-size-xs);font-weight:var(--uid-font-weight-medium);white-space:nowrap;vertical-align:middle;justify-content:center;align-items:center;line-height:1.4;display:inline-flex}.uid-badge--dot{border-radius:50%;width:8px;height:8px;padding:0}.uid-badge--sm{padding:1px 5px;font-size:10px}.uid-badge--info{--uid-badge-bg:color-mix(in srgb, var(--uid-accent) 15%, transparent);--uid-badge-color:var(--uid-accent-text)}.uid-badge--success{--uid-badge-bg:var(--uid-success-subtle);--uid-badge-color:var(--uid-success)}.uid-badge--warning{--uid-badge-bg:var(--uid-warning-subtle);--uid-badge-color:var(--uid-warning)}.uid-badge--danger{--uid-badge-bg:var(--uid-danger-subtle);--uid-badge-color:var(--uid-danger)}.uid-badge--dot.uid-badge--default{background:var(--uid-text-tertiary)}.uid-badge--dot.uid-badge--info{background:var(--uid-accent)}.uid-badge--dot.uid-badge--success{background:var(--uid-success)}.uid-badge--dot.uid-badge--warning{background:var(--uid-warning)}.uid-badge--dot.uid-badge--danger{background:var(--uid-danger)}.uid-alert{--uid-alert-bg:var(--uid-accent-subtle);--uid-alert-color:var(--uid-accent-text);--uid-alert-border:var(--uid-accent);align-items:flex-start;gap:var(--uid-space-sm);padding:var(--uid-space-sm) var(--uid-space-md);background:var(--uid-alert-bg);border:1px solid color-mix(in srgb, var(--uid-alert-border) 30%, transparent);border-left:3px solid var(--uid-alert-border);border-radius:var(--uid-radius-md);color:var(--uid-alert-color);display:flex}.uid-alert__icon{flex-shrink:0;margin-top:1px;display:flex}.uid-alert__content{flex:1;min-width:0}.uid-alert__title{margin:0 0 var(--uid-space-xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-semibold);color:var(--uid-alert-color);line-height:1.4}.uid-alert__body{font-size:var(--uid-font-size-sm);color:var(--uid-text-primary);line-height:1.5}.uid-alert__close{padding:var(--uid-space-xs);margin:calc(-1 * var(--uid-space-xs)) calc(-1 * var(--uid-space-xs)) 0 0;color:var(--uid-alert-color);cursor:pointer;border-radius:var(--uid-radius-sm);opacity:.7;transition:opacity var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.uid-alert__close:hover{opacity:1}.uid-alert__close:focus-visible{outline:2px solid var(--uid-alert-border);outline-offset:1px;opacity:1}.uid-alert--info{--uid-alert-bg:var(--uid-accent-subtle);--uid-alert-color:var(--uid-accent-text);--uid-alert-border:var(--uid-accent)}.uid-alert--success{--uid-alert-bg:var(--uid-success-subtle);--uid-alert-color:var(--uid-success);--uid-alert-border:var(--uid-success)}.uid-alert--warning{--uid-alert-bg:var(--uid-warning-subtle);--uid-alert-color:var(--uid-warning);--uid-alert-border:var(--uid-warning)}.uid-alert--danger{--uid-alert-bg:var(--uid-danger-subtle);--uid-alert-color:var(--uid-danger);--uid-alert-border:var(--uid-danger)}.uid-toast-list{bottom:var(--uid-space-lg);right:var(--uid-space-lg);z-index:var(--uid-z-toast);gap:var(--uid-space-sm);pointer-events:none;max-width:400px;width:calc(100vw - var(--uid-space-lg) * 2);flex-direction:column;align-items:flex-end;display:flex;position:fixed}.uid-toast{--uid-toast-bg:var(--uid-surface-overlay);--uid-toast-color:var(--uid-text-primary);--uid-toast-border:var(--uid-border-default);--uid-toast-accent:var(--uid-accent);align-items:flex-start;gap:var(--uid-space-sm);padding:var(--uid-space-sm) var(--uid-space-md);background:var(--uid-toast-bg);border:1px solid var(--uid-toast-border);border-left:3px solid var(--uid-toast-accent);border-radius:var(--uid-radius-md);box-shadow:var(--uid-shadow-lg);pointer-events:all;box-sizing:border-box;width:100%;display:flex}.uid-toast__icon{color:var(--uid-toast-accent);flex-shrink:0;margin-top:1px;display:flex}.uid-toast__content{flex:1;min-width:0}.uid-toast__title{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-semibold);color:var(--uid-toast-color);margin:0 0 2px;line-height:1.4}.uid-toast__message{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-toast__close{padding:var(--uid-space-xs);margin:calc(-1 * var(--uid-space-xs)) calc(-1 * var(--uid-space-xs)) 0 0;color:var(--uid-text-tertiary);cursor:pointer;border-radius:var(--uid-radius-sm);transition:color var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.uid-toast__close:hover{color:var(--uid-text-primary)}.uid-toast__close:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:1px}.uid-toast--info{--uid-toast-accent:var(--uid-accent)}.uid-toast--success{--uid-toast-accent:var(--uid-success)}.uid-toast--warning{--uid-toast-accent:var(--uid-warning)}.uid-toast--danger{--uid-toast-accent:var(--uid-danger)}.uid-toast-enter-active,.uid-toast-leave-active{transition:opacity var(--uid-duration-base) var(--uid-ease-out), transform var(--uid-duration-base) var(--uid-ease-out)}.uid-toast-move{transition:transform var(--uid-duration-base) var(--uid-ease-out)}.uid-toast-enter-from,.uid-toast-leave-to{opacity:0;transform:translate(100%)}.uid-toast-leave-active{position:absolute}.uid-progress-wrapper{gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-progress-header{justify-content:space-between;align-items:center;gap:var(--uid-space-sm);display:flex}.uid-progress-label,.uid-progress-value{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);line-height:1.4}.uid-progress{--uid-progress-height:8px;--uid-progress-bg:var(--uid-border-subtle);--uid-progress-fill:var(--uid-accent);--uid-progress-radius:var(--uid-radius-full);width:100%;height:var(--uid-progress-height);background:var(--uid-progress-bg);border-radius:var(--uid-progress-radius);position:relative;overflow:hidden}.uid-progress__bar{background:var(--uid-progress-fill);border-radius:var(--uid-progress-radius);height:100%;transition:width var(--uid-duration-base) var(--uid-ease-out)}.uid-progress--indeterminate:after{content:\"\";background:linear-gradient(90deg, transparent 0%, var(--uid-progress-fill) 40%, var(--uid-progress-fill) 60%, transparent 100%) no-repeat center / 50% 100%;animation:1.5s linear infinite uid-progress-indeterminate;position:absolute;inset:0}@keyframes uid-progress-indeterminate{0%{background-position:-50%}to{background-position:150%}}.uid-progress--sm{--uid-progress-height:4px}.uid-progress--lg{--uid-progress-height:12px}.uid-progress--default,.uid-progress--info{--uid-progress-fill:var(--uid-accent)}.uid-progress--success{--uid-progress-fill:var(--uid-success)}.uid-progress--warning{--uid-progress-fill:var(--uid-warning)}.uid-progress--danger{--uid-progress-fill:var(--uid-danger)}.uid-modal-overlay{z-index:var(--uid-z-modal);padding:var(--uid-space-md);background:var(--uid-modal-overlay,#00000080);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.uid-modal{width:100%;max-height:calc(100vh - var(--uid-space-xl));background:var(--uid-modal-bg,var(--uid-color-surface));border:1px solid var(--uid-modal-border,var(--uid-color-border));border-radius:var(--uid-modal-radius,var(--uid-radius-lg));box-shadow:var(--uid-modal-shadow,var(--uid-shadow-xl,0 20px 60px #0000004d));outline:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.uid-modal--sm{max-width:400px}.uid-modal--md{max-width:560px}.uid-modal--lg{max-width:768px}.uid-modal--xl{max-width:1024px}.uid-modal--full{max-width:none;height:calc(100vh - var(--uid-space-xl))}.uid-modal--full .uid-modal__body{flex:1;overflow:auto}.uid-modal__header{padding:var(--uid-space-md) 20px;border-bottom:1px solid var(--uid-color-border);flex-shrink:0;align-items:flex-start;gap:12px;display:flex}.uid-modal__title{font-size:var(--uid-font-size-lg);color:var(--uid-color-text-primary);flex:1;margin:0;font-weight:600;line-height:1.3}.uid-modal__close{border-radius:var(--uid-radius-sm);width:28px;height:28px;color:var(--uid-color-text-secondary);cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out), color var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.uid-modal__close:hover{background:var(--uid-color-surface-hover);color:var(--uid-color-text-primary)}.uid-modal__close:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-modal__body{flex:1;padding:20px;overflow-y:auto}.uid-modal__footer{justify-content:flex-end;align-items:center;gap:var(--uid-space-sm);border-top:1px solid var(--uid-color-border);flex-shrink:0;padding:12px 20px;display:flex}.uid-modal-enter-active,.uid-modal-leave-active{transition:opacity var(--uid-duration-base) var(--uid-ease-out)}.uid-modal-enter-active .uid-modal,.uid-modal-leave-active .uid-modal{transition:opacity var(--uid-duration-base) var(--uid-ease-out), transform var(--uid-duration-base) var(--uid-ease-out)}.uid-modal-enter-from,.uid-modal-leave-to{opacity:0}.uid-modal-enter-from .uid-modal,.uid-modal-leave-to .uid-modal{opacity:0;transform:scale(.95)translateY(-8px)}.uid-drawer-overlay{z-index:var(--uid-z-modal);background:var(--uid-drawer-overlay,#00000080);position:fixed;inset:0}.uid-drawer{background:var(--uid-drawer-bg,var(--uid-color-surface));border-color:var(--uid-drawer-border,var(--uid-color-border));box-shadow:var(--uid-drawer-shadow,var(--uid-shadow-xl,0 20px 60px #0000004d));border-style:solid;border-width:0;outline:none;flex-direction:column;display:flex;position:fixed;overflow:hidden}.uid-drawer--right{width:var(--uid-drawer-width,400px);border-width:0 0 0 1px;top:0;bottom:0;right:0}.uid-drawer--left{width:var(--uid-drawer-width,400px);border-width:0 1px 0 0;top:0;bottom:0;left:0}.uid-drawer--top{height:var(--uid-drawer-height,50vh);border-radius:0 0 var(--uid-radius-lg) var(--uid-radius-lg);border-width:0 0 1px;top:0;left:0;right:0}.uid-drawer--bottom{height:var(--uid-drawer-height,50vh);border-radius:var(--uid-radius-lg) var(--uid-radius-lg) 0 0;border-width:1px 0 0;bottom:0;left:0;right:0}.uid-drawer__header{padding:var(--uid-space-md) 20px;border-bottom:1px solid var(--uid-color-border);flex-shrink:0;align-items:flex-start;gap:12px;display:flex}.uid-drawer__title{font-size:var(--uid-font-size-lg);color:var(--uid-color-text-primary);flex:1;margin:0;font-weight:600;line-height:1.3}.uid-drawer__close{border-radius:var(--uid-radius-sm);width:28px;height:28px;color:var(--uid-color-text-secondary);cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out), color var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.uid-drawer__close:hover{background:var(--uid-color-surface-hover);color:var(--uid-color-text-primary)}.uid-drawer__close:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-drawer__body{flex:1;padding:20px;overflow-y:auto}.uid-drawer__footer{justify-content:flex-end;align-items:center;gap:var(--uid-space-sm);border-top:1px solid var(--uid-color-border);flex-shrink:0;padding:12px 20px;display:flex}.uid-drawer-right-enter-active,.uid-drawer-right-leave-active,.uid-drawer-left-enter-active,.uid-drawer-left-leave-active,.uid-drawer-top-enter-active,.uid-drawer-top-leave-active,.uid-drawer-bottom-enter-active,.uid-drawer-bottom-leave-active{transition:opacity var(--uid-duration-base) var(--uid-ease-out)}.uid-drawer-right-enter-active .uid-drawer,.uid-drawer-right-leave-active .uid-drawer,.uid-drawer-left-enter-active .uid-drawer,.uid-drawer-left-leave-active .uid-drawer,.uid-drawer-bottom-enter-active .uid-drawer,.uid-drawer-bottom-leave-active .uid-drawer{transition:transform var(--uid-duration-base) var(--uid-ease-out)}.uid-drawer-right-enter-from,.uid-drawer-right-leave-to{opacity:0}.uid-drawer-right-enter-from .uid-drawer,.uid-drawer-right-leave-to .uid-drawer{transform:translate(100%)}.uid-drawer-left-enter-from,.uid-drawer-left-leave-to{opacity:0}.uid-drawer-left-enter-from .uid-drawer,.uid-drawer-left-leave-to .uid-drawer{transform:translate(-100%)}.uid-drawer-bottom-enter-from,.uid-drawer-bottom-leave-to{opacity:0}.uid-drawer-bottom-enter-from .uid-drawer,.uid-drawer-bottom-leave-to .uid-drawer{transform:translateY(100%)}.uid-drawer-top-enter-active .uid-drawer,.uid-drawer-top-leave-active .uid-drawer{transition:transform var(--uid-duration-base) var(--uid-ease-out)}.uid-drawer-top-enter-from,.uid-drawer-top-leave-to{opacity:0}.uid-drawer-top-enter-from .uid-drawer,.uid-drawer-top-leave-to .uid-drawer{transform:translateY(-100%)}.uid-tooltip-anchor{display:contents}.uid-tooltip{z-index:var(--uid-z-tooltip);max-width:var(--uid-tooltip-max-width,240px);padding:var(--uid-tooltip-padding-y,var(--uid-space-xs)) var(--uid-tooltip-padding-x,var(--uid-space-sm));background:var(--uid-tooltip-bg,var(--uid-color-zinc-900));color:var(--uid-tooltip-color,var(--uid-color-zinc-50));font-size:var(--uid-tooltip-font-size,var(--uid-font-size-sm));border-radius:var(--uid-tooltip-radius,var(--uid-radius-sm));pointer-events:none;white-space:normal;word-break:break-word;line-height:1.4}.uid-tooltip-enter-active,.uid-tooltip-leave-active{transition:opacity var(--uid-duration-fast) var(--uid-ease-out), transform var(--uid-duration-fast) var(--uid-ease-out)}.uid-tooltip-enter-from,.uid-tooltip-leave-to{opacity:0;transform:scale(.95)}.uid-popover-trigger{display:contents}.uid-popover{z-index:var(--uid-z-popover,450);min-width:var(--uid-popover-min-width,200px);padding:var(--uid-popover-padding,12px);background:var(--uid-popover-bg,var(--uid-color-surface));border:1px solid var(--uid-popover-border,var(--uid-color-border));border-radius:var(--uid-popover-radius,var(--uid-radius-md));box-shadow:var(--uid-popover-shadow,var(--uid-shadow-lg,0 8px 24px #00000026))}.uid-popover-enter-active,.uid-popover-leave-active{transition:opacity var(--uid-duration-fast) var(--uid-ease-out), transform var(--uid-duration-fast) var(--uid-ease-out)}.uid-popover-enter-from,.uid-popover-leave-to{opacity:0;transform:scale(.96)translateY(-4px)}.uid-menu-trigger{display:contents}.uid-menu{z-index:var(--uid-z-popover,450);min-width:var(--uid-menu-min-width,180px);padding:var(--uid-menu-padding-y,var(--uid-space-xs)) 0;background:var(--uid-menu-bg,var(--uid-color-surface));border:1px solid var(--uid-menu-border,var(--uid-color-border));border-radius:var(--uid-menu-radius,var(--uid-radius-md));box-shadow:var(--uid-menu-shadow,var(--uid-shadow-lg,0 8px 24px #00000026));outline:none}.uid-menu-item{align-items:center;gap:var(--uid-space-sm);width:100%;padding:var(--uid-space-sm) 12px;font-size:var(--uid-font-size-sm);color:var(--uid-menu-item-color,var(--uid-color-text-primary));text-align:left;cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;border-radius:0;display:flex}.uid-menu-item:hover:not([disabled]),.uid-menu-item:focus-visible:not([disabled]),.uid-menu-item:focus-visible{background:var(--uid-menu-item-bg-hover,var(--uid-color-surface-hover));outline:none}.uid-menu-item__icon{color:var(--uid-menu-item-icon-color,currentColor);flex-shrink:0}.uid-menu-item--danger{color:var(--uid-menu-item-color-danger,var(--uid-color-danger))}.uid-menu-item--disabled,.uid-menu-item[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.uid-menu-separator{height:1px;margin:var(--uid-space-xs) 0;background:var(--uid-color-border)}.uid-submenu{display:block}.uid-submenu__label{flex:auto;min-width:0}.uid-submenu__chevron{color:var(--uid-menu-submenu-chevron-color,var(--uid-color-text-secondary,currentColor));flex-shrink:0;margin-left:auto}.uid-submenu__trigger--open:not([disabled]){background:var(--uid-menu-item-bg-hover,var(--uid-color-surface-hover))}.uid-submenu__panel{max-height:calc(100vh - 16px);overflow-y:auto}.uid-submenu-enter-active,.uid-submenu-leave-active{transition:opacity var(--uid-duration-fast) var(--uid-ease-out)}.uid-submenu-enter-from,.uid-submenu-leave-to{opacity:0}.uid-menu-enter-active,.uid-menu-leave-active{transition:opacity var(--uid-duration-fast) var(--uid-ease-out), transform var(--uid-duration-fast) var(--uid-ease-out)}.uid-menu-enter-from,.uid-menu-leave-to{opacity:0;transform:scale(.96)translateY(-4px)}.uid-tabs{flex-direction:column;display:flex}.uid-tabs--vertical{gap:var(--uid-space-md);flex-direction:row}.uid-tabs__list{gap:var(--uid-space-xs);border-bottom:1px solid var(--uid-color-border);scrollbar-width:thin;scroll-snap-type:x proximity;flex-shrink:0;display:flex;overflow:auto hidden}.uid-tabs__list>.uid-tab{scroll-snap-align:start;flex:none}.uid-tabs--vertical .uid-tabs__list{border-bottom:none;border-right:1px solid var(--uid-color-border);gap:var(--uid-space-2xs);scroll-snap-type:none;flex-direction:column;padding-right:0;overflow-x:visible}.uid-tabs__panels{flex:1}.uid-tab{align-items:center;gap:var(--uid-space-sm);padding:var(--uid-space-sm) 12px;border-radius:var(--uid-radius-sm) var(--uid-radius-sm) 0 0;font-size:var(--uid-font-size-sm);color:var(--uid-tab-color,var(--uid-color-text-secondary));cursor:pointer;white-space:nowrap;transition:color var(--uid-duration-fast) var(--uid-ease-out), background var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;font-weight:500;display:inline-flex;position:relative}.uid-tab:after{content:\"\";height:2px;transition:background var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border-radius:1px;position:absolute;bottom:-1px;left:0;right:0}.uid-tab:hover:not([disabled]){color:var(--uid-tab-color-hover,var(--uid-color-text-primary));background:var(--uid-color-surface-hover)}.uid-tab--active{color:var(--uid-tab-color-active,var(--uid-color-primary))}.uid-tab--active:after{background:var(--uid-color-primary)}.uid-tab[disabled]{opacity:.4;cursor:not-allowed;pointer-events:none}.uid-tab:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px;border-radius:var(--uid-radius-sm)}.uid-tabs--vertical .uid-tab{border-radius:var(--uid-radius-sm) 0 0 var(--uid-radius-sm);padding:var(--uid-space-sm) 12px;justify-content:flex-start}.uid-tabs--vertical .uid-tab:after{width:2px;height:auto;inset:0 -1px 0 auto}.uid-tab-panel{padding:var(--uid-space-md) 0;outline:none}.uid-tab-panel:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px;border-radius:var(--uid-radius-sm)}.uid-breadcrumb__list{font-size:var(--uid-breadcrumb-font-size,var(--uid-font-size-sm));flex-wrap:wrap;align-items:center;gap:0;margin:0;padding:0;list-style:none;display:flex}.uid-breadcrumb__item{align-items:center;display:flex}.uid-breadcrumb__separator:before{content:var(--uid-breadcrumb-sep,\"/\");padding:0 var(--uid-space-sm);color:var(--uid-breadcrumb-sep-color,var(--uid-color-text-disabled));-webkit-user-select:none;user-select:none}.uid-breadcrumb__item:first-child>.uid-breadcrumb__separator{display:none}.uid-breadcrumb__link{color:var(--uid-breadcrumb-link-color,var(--uid-color-text-secondary));transition:color var(--uid-duration-fast) var(--uid-ease-out);text-decoration:none}.uid-breadcrumb__link:hover{color:var(--uid-breadcrumb-link-color-hover,var(--uid-color-text-primary));text-decoration:underline}.uid-breadcrumb__link:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px;border-radius:var(--uid-radius-sm)}.uid-breadcrumb__link--button{font:inherit;cursor:pointer;background:0 0;border:none;padding:0}.uid-breadcrumb__text{color:var(--uid-breadcrumb-text-color,var(--uid-color-text-secondary))}.uid-breadcrumb__current{color:var(--uid-breadcrumb-current-color,var(--uid-color-text-primary));font-weight:500}.uid-breadcrumb--nowrap{min-width:0}.uid-breadcrumb--nowrap .uid-breadcrumb__list{white-space:nowrap;flex-wrap:nowrap;overflow:hidden}.uid-breadcrumb--nowrap .uid-breadcrumb__item{min-width:var(--uid-breadcrumb-item-min-width,3em);max-width:var(--uid-breadcrumb-item-max-width,none);flex:0 8 auto}.uid-breadcrumb--nowrap .uid-breadcrumb__item:last-child{flex-shrink:1}.uid-breadcrumb--nowrap .uid-breadcrumb__separator{flex-shrink:0}.uid-breadcrumb--nowrap .uid-breadcrumb__item>:not(.uid-breadcrumb__separator){text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.uid-breadcrumb--measuring .uid-breadcrumb__list>.uid-breadcrumb__item{flex-shrink:0}.uid-breadcrumb__item--collapsed{display:none}.uid-breadcrumb--collapse .uid-breadcrumb__item--ellipsis{flex-shrink:0}.uid-breadcrumb__item--ellipsis>:not(.uid-breadcrumb__separator):not(.uid-breadcrumb__ellipsis){display:none}.uid-breadcrumb__ellipsis{color:var(--uid-breadcrumb-link-color,var(--uid-color-text-secondary))}.uid-breadcrumb__ellipsis--button{padding:0 var(--uid-space-xs,4px);border-radius:var(--uid-radius-sm);font:inherit;line-height:inherit;cursor:pointer;background:0 0;border:none}.uid-breadcrumb__ellipsis--button:hover,.uid-breadcrumb__ellipsis--button[aria-expanded=true]{color:var(--uid-breadcrumb-link-color-hover,var(--uid-color-text-primary));background:var(--uid-color-bg-subtle)}.uid-breadcrumb__ellipsis--button:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-breadcrumb__probe{visibility:hidden;pointer-events:none;white-space:nowrap;font-size:var(--uid-breadcrumb-font-size,var(--uid-font-size-sm));position:absolute}.uid-breadcrumb__menu{z-index:var(--uid-z-popover,450);min-width:160px;max-width:min(320px,100vw - 16px);max-height:280px;padding:var(--uid-space-xs,4px);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md,8px);box-shadow:var(--uid-shadow-md);flex-direction:column;display:flex;overflow-y:auto}.uid-breadcrumb__menu-item{width:100%;padding:var(--uid-space-sm) 12px;border-radius:var(--uid-radius-sm,4px);color:var(--uid-color-text);font:inherit;font-size:var(--uid-breadcrumb-font-size,var(--uid-font-size-sm));text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:none;display:block;overflow:hidden}.uid-breadcrumb__menu-item:hover,.uid-breadcrumb__menu-item:focus-visible{background:var(--uid-color-bg-subtle);outline:none}.uid-breadcrumb__menu-item[aria-disabled=true]{color:var(--uid-color-text-secondary);cursor:default}.uid-link{color:var(--uid-link-color,var(--uid-color-primary));-webkit-text-decoration:var(--uid-link-decoration,underline);-webkit-text-decoration:var(--uid-link-decoration,underline);text-decoration:var(--uid-link-decoration,underline);text-underline-offset:2px;cursor:pointer;transition:color var(--uid-duration-fast) var(--uid-ease-out), opacity var(--uid-duration-fast) var(--uid-ease-out)}.uid-link:hover:not(.uid-link--disabled){color:var(--uid-link-color-hover,var(--uid-color-primary-hover))}.uid-link:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px;border-radius:var(--uid-radius-sm)}.uid-link--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.uid-pagination{align-items:center;gap:var(--uid-space-xs);display:inline-flex}.uid-pagination__btn{min-width:32px;height:32px;padding:0 var(--uid-space-xs);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-pagination-btn-bg,var(--uid-color-surface));font-size:var(--uid-font-size-sm);color:var(--uid-pagination-btn-color,var(--uid-color-text-primary));cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out), border-color var(--uid-duration-fast) var(--uid-ease-out), color var(--uid-duration-fast) var(--uid-ease-out);justify-content:center;align-items:center;font-weight:500;display:inline-flex}.uid-pagination__btn--labeled{gap:var(--uid-space-xs);padding:0 12px}.uid-pagination__btn:hover:not([disabled]):not(.uid-pagination__btn--active){background:var(--uid-pagination-btn-bg-hover,var(--uid-color-surface-hover));border-color:var(--uid-color-border-hover)}.uid-pagination__btn--active{background:var(--uid-pagination-btn-bg-active,var(--uid-color-primary));border-color:var(--uid-color-primary);color:var(--uid-pagination-btn-color-active,var(--uid-color-text-on-primary));cursor:default}.uid-pagination__btn[disabled]{opacity:.4;cursor:not-allowed}.uid-pagination__btn:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-pagination__ellipsis{min-width:32px;height:32px;font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex}.uid-load-more{padding:var(--uid-space-md) 0;justify-content:center;display:flex}.uid-load-more__btn{align-items:center;gap:var(--uid-space-sm);padding:var(--uid-space-sm) 20px;border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-color-surface);font-size:var(--uid-font-size-sm);color:var(--uid-color-text-primary);cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out), border-color var(--uid-duration-fast) var(--uid-ease-out);font-weight:500;display:inline-flex}.uid-load-more__btn:hover:not([disabled]){background:var(--uid-color-surface-hover);border-color:var(--uid-color-border-hover)}.uid-load-more__btn[disabled]{opacity:.4;cursor:not-allowed}.uid-load-more__btn:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-infinite-scroll__loader{padding:var(--uid-space-md) 0;justify-content:center;display:flex}.uid-infinite-scroll__sentinel{height:1px}.uid-page-size{align-items:center;gap:var(--uid-space-sm);font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);display:inline-flex}.uid-page-size__select{padding:var(--uid-space-xs) var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-color-surface);font-size:var(--uid-font-size-sm);color:var(--uid-color-text-primary);cursor:pointer}.uid-page-size__select:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-card{background:var(--uid-card-bg,var(--uid-color-surface));border:1px solid var(--uid-card-border,var(--uid-color-border));border-radius:var(--uid-card-radius,var(--uid-radius-lg));flex-direction:column;display:flex;overflow:hidden}.uid-card--clickable{cursor:pointer;transition:box-shadow var(--uid-duration-fast) var(--uid-ease-out), border-color var(--uid-duration-fast) var(--uid-ease-out)}.uid-card--clickable:hover{border-color:var(--uid-color-border-hover);box-shadow:var(--uid-shadow-md,0 4px 12px #0000001a)}.uid-card--clickable:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-card__media{flex-shrink:0}.uid-card__media img{width:100%;display:block}.uid-card__header{padding:var(--uid-space-md) var(--uid-space-md) 0;font-size:var(--uid-font-size-lg);color:var(--uid-color-text-primary);font-weight:600}.uid-card__body{flex:1}.uid-card__footer{align-items:center;gap:var(--uid-space-sm);padding:12px var(--uid-space-md);border-top:1px solid var(--uid-color-border);display:flex}.uid-card--pad-none .uid-card__body{padding:0}.uid-card--pad-sm .uid-card__body{padding:12px}.uid-card--pad-md .uid-card__body{padding:var(--uid-space-md)}.uid-card--pad-lg .uid-card__body{padding:var(--uid-space-lg)}.uid-card--pad-sm .uid-card__header{padding:12px 12px 0}.uid-card--pad-lg .uid-card__header{padding:var(--uid-space-lg) var(--uid-space-lg) 0}.uid-card--pad-sm .uid-card__footer{padding:var(--uid-space-sm) 12px}.uid-card--pad-lg .uid-card__footer{padding:var(--uid-space-md) var(--uid-space-lg)}.uid-avatar{color:#fff;background:var(--uid-avatar-bg,var(--uid-color-primary));-webkit-user-select:none;user-select:none;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.uid-avatar--xs{width:24px;height:24px;font-size:10px}.uid-avatar--sm{width:32px;height:32px;font-size:12px}.uid-avatar--md{width:40px;height:40px;font-size:14px}.uid-avatar--lg{width:56px;height:56px;font-size:18px}.uid-avatar--xl{width:72px;height:72px;font-size:22px}.uid-avatar--circle{border-radius:50%}.uid-avatar--square{border-radius:var(--uid-radius-md)}.uid-avatar__img{object-fit:cover;width:100%;height:100%;display:block}.uid-avatar__initials{color:#fff;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.uid-avatar-group{align-items:center;display:inline-flex}.uid-avatar-group>*{margin-left:var(--uid-avatar-group-overlap,-8px);box-shadow:0 0 0 2px var(--uid-color-surface)}.uid-avatar-group>:first-child{margin-left:0}.uid-avatar-group__overflow{background:var(--uid-color-surface-raised);color:var(--uid-color-text-secondary);border:2px solid var(--uid-color-border);font-size:12px}.uid-tag{align-items:center;gap:var(--uid-space-xs);border-radius:var(--uid-tag-radius,var(--uid-radius-full,9999px));white-space:nowrap;font-weight:500;display:inline-flex}.uid-tag--sm{padding:1px var(--uid-space-sm);font-size:var(--uid-font-size-xs,11px)}.uid-tag--md{padding:2px var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-tag--default{background:var(--uid-tag-bg-default,var(--uid-color-surface-raised));color:var(--uid-tag-color-default,var(--uid-color-text-secondary));border:1px solid var(--uid-color-border)}.uid-tag--info{background:var(--uid-tag-bg-info,var(--uid-color-info-subtle));color:var(--uid-tag-color-info,var(--uid-color-info))}.uid-tag--success{background:var(--uid-tag-bg-success,var(--uid-color-success-subtle));color:var(--uid-tag-color-success,var(--uid-color-success))}.uid-tag--warning{background:var(--uid-tag-bg-warning,var(--uid-color-warning-subtle));color:var(--uid-tag-color-warning,var(--uid-color-warning-dark,var(--uid-color-warning)))}.uid-tag--danger{background:var(--uid-tag-bg-danger,var(--uid-color-danger-subtle));color:var(--uid-tag-color-danger,var(--uid-color-danger))}.uid-tag__dismiss{width:14px;height:14px;color:inherit;opacity:.6;cursor:pointer;transition:opacity var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.uid-tag__dismiss:hover{opacity:1}.uid-tag__dismiss:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:1px}.uid-divider{color:var(--uid-divider-color,var(--uid-color-text-disabled));font-size:var(--uid-font-size-sm);align-items:center;display:flex}.uid-divider--horizontal{flex-direction:row;width:100%}.uid-divider--horizontal:before,.uid-divider--horizontal:after{content:\"\";background:var(--uid-divider-line,var(--uid-color-border));flex:1;height:1px}.uid-divider--horizontal .uid-divider__label{white-space:nowrap;-webkit-user-select:none;user-select:none;padding:0 12px}.uid-divider--horizontal:not(:has(.uid-divider__label)):after{display:none}.uid-divider--vertical{background:var(--uid-divider-line,var(--uid-color-border));flex-direction:column;align-self:stretch;width:1px;height:auto}.uid-accordion{border:1px solid var(--uid-accordion-border,var(--uid-color-border));border-radius:var(--uid-accordion-radius,var(--uid-radius-md));flex-direction:column;display:flex;overflow:hidden}.uid-accordion-item+.uid-accordion-item{border-top:1px solid var(--uid-color-border)}.uid-accordion-item__trigger{width:100%;padding:var(--uid-space-md);background:var(--uid-accordion-trigger-bg,transparent);font-size:var(--uid-font-size-base);color:var(--uid-color-text-primary);text-align:left;cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out);border:none;align-items:center;gap:12px;font-weight:500;display:flex}.uid-accordion-item__trigger:hover:not([disabled]){background:var(--uid-color-surface-hover)}.uid-accordion-item__trigger:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px}.uid-accordion-item__trigger[disabled]{opacity:.4;cursor:not-allowed}.uid-accordion-item__title{flex:1}.uid-accordion-item__chevron{color:var(--uid-color-text-secondary);transition:transform var(--uid-duration-base) var(--uid-ease-in-out);flex-shrink:0}.uid-accordion-item--open .uid-accordion-item__chevron{transform:rotate(180deg)}.uid-accordion-item__body{transition:grid-template-rows var(--uid-duration-base) var(--uid-ease-in-out);grid-template-rows:0fr;display:grid}.uid-accordion-item__body:not([hidden]){grid-template-rows:1fr}.uid-accordion-item__body[hidden]{visibility:hidden;display:grid}.uid-accordion-item__body-inner{padding:0 var(--uid-space-md) var(--uid-space-md);color:var(--uid-color-text-secondary);overflow:hidden}.uid-table-wrap{background:var(--uid-table-bg,var(--uid-color-surface));border-radius:var(--uid-table-radius,var(--uid-radius-md))}.uid-table-wrap--bordered{border:1px solid var(--uid-color-border);overflow:hidden}.uid-table-scroll{-webkit-overflow-scrolling:touch;overflow-x:auto}.uid-table{border-collapse:collapse;width:100%;font-size:var(--uid-font-size-sm)}.uid-table__head{background:var(--uid-table-head-bg,var(--uid-color-surface-raised))}.uid-table__th{padding:12px var(--uid-space-md);font-size:var(--uid-font-size-xs,11px);text-transform:uppercase;letter-spacing:.04em;color:var(--uid-table-th-color,var(--uid-color-text-secondary));border-bottom:1px solid var(--uid-color-border);white-space:nowrap;font-weight:600}.uid-table__th--left{text-align:left}.uid-table__th--center{text-align:center}.uid-table__th--right{text-align:right}.uid-table__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.uid-table__th--sortable:hover{background:var(--uid-color-surface-hover);color:var(--uid-color-text-primary)}.uid-table__th--active{color:var(--uid-color-primary)}.uid-table__th-content{align-items:center;gap:var(--uid-space-xs);display:inline-flex}.uid-table__sort-icon{opacity:.5;flex-shrink:0}.uid-table__th--active .uid-table__sort-icon{opacity:1}.uid-table__row{--_uid-table-row-bg:transparent;background:var(--_uid-table-row-bg);transition:background var(--uid-duration-fast) var(--uid-ease-out)}.uid-table__row:hover{--_uid-table-row-bg:var(--uid-table-row-bg-hover,var(--uid-color-surface-hover))}.uid-table__row+.uid-table__row{border-top:1px solid var(--uid-color-border)}.uid-table--striped .uid-table__row:nth-child(2n){--_uid-table-row-bg:var(--uid-table-row-bg-stripe,var(--uid-color-surface-raised))}.uid-table--striped .uid-table__row:nth-child(2n):hover{--_uid-table-row-bg:var(--uid-table-row-bg-hover,var(--uid-color-surface-hover))}.uid-table__td{padding:12px var(--uid-space-md);color:var(--uid-color-text-primary);vertical-align:middle}.uid-table__td--left{text-align:left}.uid-table__td--center{text-align:center}.uid-table__td--right{text-align:right}.uid-table__td--center,.uid-table__td--empty{text-align:center;padding:var(--uid-space-xl) var(--uid-space-md);color:var(--uid-color-text-secondary)}.uid-table__th--select,.uid-table__td--select{width:40px;padding-left:var(--uid-space-md);text-align:left;padding-right:0}.uid-table__row.uid-table__row--selected,.uid-table--striped .uid-table__row.uid-table__row--selected{--_uid-table-row-bg:var(--uid-table-row-bg-selected,var(--uid-color-surface-hover))}.uid-table__row.uid-table__row--selected:hover,.uid-table--striped .uid-table__row.uid-table__row--selected:hover{--_uid-table-row-bg:var(--uid-table-row-bg-selected-hover,var(--uid-table-row-bg-selected,var(--uid-color-surface-hover)))}.uid-table--has-fixed{width:max-content;min-width:100%}.uid-table__cell--fixed{z-index:1;position:sticky}.uid-table__td.uid-table__cell--fixed{background-color:var(--uid-table-fixed-bg,var(--uid-table-bg,var(--uid-color-surface)));background-image:linear-gradient(var(--_uid-table-row-bg), var(--_uid-table-row-bg))}.uid-table__th.uid-table__cell--fixed{z-index:2;background-color:var(--uid-table-head-bg,var(--uid-color-surface-raised))}.uid-table__th--sortable.uid-table__cell--fixed:hover{background-color:var(--uid-color-surface-hover)}.uid-table__cell--fixed-left-last:after,.uid-table__cell--fixed-right-first:after{content:\"\";pointer-events:none;width:12px;transition:box-shadow var(--uid-duration-fast) var(--uid-ease-out);position:absolute;top:0;bottom:-1px}.uid-table__cell--fixed-left-last:after{right:-12px}.uid-table__cell--fixed-right-first:after{left:-12px}.uid-table-scroll--ping-left .uid-table__cell--fixed-left-last:after{box-shadow:inset 10px 0 8px -8px var(--uid-table-fixed-shadow,var(--_uid-table-fixed-shadow))}.uid-table-scroll--ping-right .uid-table__cell--fixed-right-first:after{box-shadow:inset -10px 0 8px -8px var(--uid-table-fixed-shadow,var(--_uid-table-fixed-shadow))}.uid-table{--_uid-table-fixed-shadow:#00000026}:root[data-theme=dark] .uid-table{--_uid-table-fixed-shadow:#00000080}.uid-select{width:100%;position:relative}.uid-select__trigger{align-items:center;gap:var(--uid-space-sm);width:100%;padding:var(--uid-space-2xs) 12px;border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md,8px);background:var(--uid-color-bg);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--uid-duration-fast), box-shadow var(--uid-duration-fast);min-height:var(--uid-size-md);outline:none;display:flex}.uid-select__trigger:hover{border-color:var(--uid-color-border-hover,var(--uid-color-text-secondary))}.uid-select--open .uid-select__trigger,.uid-select__trigger:focus-visible{border-color:var(--uid-color-primary);box-shadow:var(--uid-focus-ring,0 0 0 3px var(--uid-color-primary-subtle))}.uid-select--disabled .uid-select__trigger{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-select__value{font-size:var(--uid-font-size-base,16px);color:var(--uid-color-text);text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.uid-select__tags{gap:var(--uid-space-xs);flex-wrap:wrap;flex:1;min-width:0;display:flex}.uid-select--multiple .uid-select__trigger{padding-top:var(--uid-space-xs);padding-bottom:var(--uid-space-xs)}.uid-select__tag{align-items:center;gap:var(--uid-space-2xs);max-width:100%;padding:2px var(--uid-space-xs);background:var(--uid-select-tag-bg,var(--uid-color-primary-subtle));color:var(--uid-select-tag-color,var(--uid-color-primary));border-radius:var(--uid-radius-sm,4px);font-size:var(--uid-font-size-sm,14px);line-height:1.4;display:inline-flex}.uid-select__tag-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uid-select__tag--more{background:var(--uid-color-bg-subtle);color:var(--uid-color-text-secondary)}.uid-select__tag-remove{width:14px;height:14px;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.uid-select__tag-remove:hover{opacity:1}.uid-select__value--placeholder{color:var(--uid-color-text-tertiary)}.uid-select__suffix{align-items:center;gap:var(--uid-space-xs);flex-shrink:0;display:flex}.uid-select__clear{border-radius:var(--uid-radius-sm,4px);cursor:pointer;width:18px;height:18px;color:var(--uid-color-text-secondary);transition:color var(--uid-duration-fast), background var(--uid-duration-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.uid-select__clear:hover{color:var(--uid-color-text);background:var(--uid-color-bg-subtle)}.uid-select__chevron{color:var(--uid-color-text-secondary);transition:transform var(--uid-duration-base);flex-shrink:0}.uid-select__chevron--open{transform:rotate(180deg)}.uid-select__dropdown{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md,8px);box-shadow:var(--uid-shadow-md);flex-direction:column;max-height:280px;display:flex;overflow:hidden}.uid-select__search{padding:var(--uid-space-sm);border-bottom:1px solid var(--uid-color-border);flex-shrink:0}.uid-select__search-input{width:100%;font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text);background:0 0;border:none;outline:none;padding:2px 0}.uid-select__search-input::placeholder{color:var(--uid-color-text-tertiary)}.uid-select__list{padding:var(--uid-space-xs);flex:1;overflow-y:auto}.uid-select__group-label{padding:var(--uid-space-sm) 12px var(--uid-space-xs);font-size:var(--uid-font-size-xs,12px);text-transform:uppercase;letter-spacing:.05em;color:var(--uid-color-text-tertiary);font-weight:600}.uid-select__option{width:100%;padding:var(--uid-space-sm) 12px;border-radius:var(--uid-radius-sm,4px);cursor:pointer;text-align:left;font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text);transition:background var(--uid-duration-fast);background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.uid-select__option--active{background:var(--uid-color-bg-subtle)}.uid-select__option--selected{color:var(--uid-color-primary);font-weight:500}.uid-select__option--disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-select__check{color:var(--uid-color-primary);flex-shrink:0}.uid-select__empty{padding:var(--uid-space-md) 12px;text-align:center;font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text-secondary)}.uid-select--sm .uid-select__trigger{padding:0 var(--uid-space-sm);min-height:var(--uid-size-sm)}.uid-select--lg .uid-select__trigger{padding:var(--uid-space-2xs) var(--uid-space-md);min-height:var(--uid-size-lg)}.uid-select-dropdown-enter-active,.uid-select-dropdown-leave-active{transition:opacity var(--uid-duration-fast), transform var(--uid-duration-fast)}.uid-select-dropdown-enter-from,.uid-select-dropdown-leave-to{opacity:0;transform:translateY(-4px)}.uid-select--sm .uid-select__value{font-size:var(--uid-font-size-sm)}.uid-select--md .uid-select__value{font-size:var(--uid-font-size-md)}.uid-select--lg .uid-select__value{font-size:var(--uid-font-size-lg)}.uid-datepicker{width:100%;position:relative}.uid-datepicker__trigger{align-items:center;gap:var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md,8px);background:var(--uid-color-bg);cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;transition:border-color var(--uid-duration-fast), box-shadow var(--uid-duration-fast);min-height:var(--uid-size-md);outline:none;padding:0 12px;display:flex}.uid-datepicker__trigger:hover{border-color:var(--uid-color-border-hover,var(--uid-color-text-secondary))}.uid-datepicker--open .uid-datepicker__trigger,.uid-datepicker__trigger:focus-visible{border-color:var(--uid-color-primary);box-shadow:var(--uid-focus-ring,0 0 0 3px var(--uid-color-primary-subtle))}.uid-datepicker--disabled .uid-datepicker__trigger{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-datepicker__value{font-size:var(--uid-font-size-base,16px);color:var(--uid-color-text);flex:1}.uid-datepicker__value--placeholder{color:var(--uid-color-text-tertiary)}.uid-datepicker__suffix{align-items:center;gap:var(--uid-space-xs);flex-shrink:0;display:flex}.uid-datepicker__clear{border-radius:var(--uid-radius-sm,4px);cursor:pointer;width:18px;height:18px;color:var(--uid-color-text-secondary);transition:color var(--uid-duration-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.uid-datepicker__clear:hover{color:var(--uid-color-text)}.uid-datepicker__chevron{color:var(--uid-color-text-secondary);transition:transform var(--uid-duration-base)}.uid-datepicker__chevron--open{transform:rotate(180deg)}.uid-datepicker__panel{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md,8px);box-shadow:var(--uid-shadow-md);width:var(--uid-datepicker-width,280px);-webkit-user-select:none;user-select:none;padding:12px}.uid-datepicker__nav{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.uid-datepicker__nav-btn{border-radius:var(--uid-radius-sm,4px);cursor:pointer;width:28px;height:28px;color:var(--uid-color-text-secondary);transition:background var(--uid-duration-fast), color var(--uid-duration-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.uid-datepicker__nav-btn:hover{background:var(--uid-color-bg-subtle);color:var(--uid-color-text)}.uid-datepicker__month-label{font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text);font-weight:600}.uid-datepicker__grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.uid-datepicker__weekday{height:32px;font-size:var(--uid-font-size-xs,12px);color:var(--uid-color-text-tertiary);justify-content:center;align-items:center;font-weight:600;display:flex}.uid-datepicker__day{border-radius:var(--uid-radius-sm,4px);cursor:pointer;height:32px;font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text);transition:background var(--uid-duration-fast), color var(--uid-duration-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.uid-datepicker__day:hover:not(:disabled){background:var(--uid-color-bg-subtle)}.uid-datepicker__day--other{color:var(--uid-color-text-tertiary)}.uid-datepicker__day--today{color:var(--uid-color-primary);font-weight:700}.uid-datepicker__day--selected{font-weight:600;background:var(--uid-color-primary)!important;color:var(--uid-color-text-on-primary)!important}.uid-datepicker__day--disabled{opacity:.35;cursor:not-allowed}.uid-datepicker-panel-enter-active,.uid-datepicker-panel-leave-active{transition:opacity var(--uid-duration-fast), transform var(--uid-duration-fast)}.uid-datepicker-panel-enter-from,.uid-datepicker-panel-leave-to{opacity:0;transform:translateY(-4px)}.uid-datepicker--sm .uid-datepicker__trigger{min-height:var(--uid-size-sm);padding-inline:var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-datepicker--lg .uid-datepicker__trigger{min-height:var(--uid-size-lg);padding-inline:var(--uid-space-md)}.uid-datepicker--sm .uid-datepicker__value{font-size:var(--uid-font-size-sm)}.uid-datepicker--md .uid-datepicker__value{font-size:var(--uid-font-size-md)}.uid-datepicker--lg .uid-datepicker__value{font-size:var(--uid-font-size-lg)}.uid-virtual-list{will-change:scroll-position;position:relative;overflow-y:auto}.uid-virtual-list__spacer{position:relative}.uid-virtual-list__content{will-change:transform;position:absolute;top:0;left:0;right:0}.uid-virtual-list__item{box-sizing:border-box;overflow:hidden}.uid-slider{gap:var(--uid-space-sm);flex-direction:column;width:100%;display:flex}.uid-slider__header{justify-content:space-between;align-items:center;display:flex}.uid-slider__label{font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text);font-weight:500}.uid-slider__value{font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-primary);text-align:right;min-width:2ch;font-weight:600}.uid-slider__input{appearance:none;width:100%;height:var(--uid-slider-track-height,4px);border-radius:var(--uid-radius-full,9999px);cursor:pointer;background:linear-gradient(to right, var(--uid-slider-fill-color,var(--uid-color-primary)) 0%, var(--uid-slider-fill-color,var(--uid-color-primary)) var(--_fill,0%), var(--uid-slider-track-bg,var(--uid-color-border)) var(--_fill,0%), var(--uid-slider-track-bg,var(--uid-color-border)) 100%);transition:opacity var(--uid-duration-fast);outline:none}.uid-slider__input::-webkit-slider-thumb{-webkit-appearance:none;width:var(--uid-slider-thumb-size,18px);height:var(--uid-slider-thumb-size,18px);background:var(--uid-slider-thumb-bg,var(--uid-color-primary));border:2px solid var(--uid-color-bg);box-shadow:var(--uid-shadow-sm);cursor:pointer;transition:transform var(--uid-duration-fast);border-radius:50%}.uid-slider__input::-moz-range-thumb{width:var(--uid-slider-thumb-size,18px);height:var(--uid-slider-thumb-size,18px);background:var(--uid-slider-thumb-bg,var(--uid-color-primary));border:2px solid var(--uid-color-bg);box-shadow:var(--uid-shadow-sm);cursor:pointer;transition:transform var(--uid-duration-fast);border-radius:50%}.uid-slider__input:hover::-webkit-slider-thumb{transform:scale(1.2)}.uid-slider__input:hover::-moz-range-thumb{transform:scale(1.2)}.uid-slider__input:focus-visible::-webkit-slider-thumb{box-shadow:var(--uid-focus-ring,0 0 0 3px var(--uid-color-primary-subtle))}.uid-slider__input:focus-visible::-moz-range-thumb{box-shadow:var(--uid-focus-ring,0 0 0 3px var(--uid-color-primary-subtle))}.uid-slider--disabled .uid-slider__input{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-slider__marks{--_thumb:var(--uid-slider-thumb-size,18px);height:calc(var(--uid-font-size-xs,12px) * 1.5 + 8px);margin-top:calc(var(--uid-space-sm) * -1 + 2px);position:relative}.uid-slider__mark{top:0;left:calc(var(--_thumb) / 2 + (100% - var(--_thumb)) * var(--_pos,0));font:inherit;font-size:var(--uid-font-size-xs,12px);color:var(--uid-slider-mark-color,var(--uid-text-secondary,var(--uid-color-text)));white-space:nowrap;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:2px;padding:0 2px;line-height:1.5;display:flex;position:absolute;transform:translate(-50%)}.uid-slider__mark-tick{background:var(--uid-slider-track-bg,var(--uid-color-border));border-radius:1px;width:2px;height:6px}.uid-slider__mark--active .uid-slider__mark-tick{background:var(--uid-slider-fill-color,var(--uid-color-primary))}.uid-slider__mark--active{color:var(--uid-slider-mark-active-color,var(--uid-text-primary,var(--uid-color-text)))}.uid-slider__mark:hover:not([disabled]){color:var(--uid-slider-fill-color,var(--uid-color-primary))}.uid-slider__mark[disabled]{cursor:not-allowed}.uid-colorpicker{display:inline-flex;position:relative}.uid-colorpicker__trigger{align-items:center;gap:var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md,8px);background:var(--uid-color-bg);cursor:pointer;font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text);transition:border-color var(--uid-duration-fast), box-shadow var(--uid-duration-fast);min-width:140px;min-height:var(--uid-size-md);outline:none;padding:0 12px;font-family:inherit;display:flex}.uid-colorpicker__trigger:hover{border-color:var(--uid-color-border-hover,var(--uid-color-text-secondary))}.uid-colorpicker--open .uid-colorpicker__trigger,.uid-colorpicker__trigger:focus-visible{border-color:var(--uid-color-primary);box-shadow:var(--uid-focus-ring,0 0 0 3px var(--uid-color-primary-subtle))}.uid-colorpicker--disabled .uid-colorpicker__trigger{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-colorpicker__swatch{border-radius:var(--uid-radius-sm,4px);border:1px solid var(--uid-color-border);background-image:linear-gradient(45deg, var(--uid-color-border) 25%, transparent 25%), linear-gradient(-45deg, var(--uid-color-border) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--uid-color-border) 75%), linear-gradient(-45deg, transparent 75%, var(--uid-color-border) 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-size:8px 8px;flex-shrink:0;width:20px;height:20px}.uid-colorpicker__trigger-label{font-family:var(--uid-font-family-mono,monospace);font-size:var(--uid-font-size-sm,14px)}.uid-colorpicker__trigger-label--empty{color:var(--uid-color-text-tertiary);font-family:inherit}.uid-colorpicker__panel{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md,8px);box-shadow:var(--uid-shadow-md);flex-direction:column;gap:12px;width:240px;padding:12px;display:flex}.uid-colorpicker__gradient{border-radius:var(--uid-radius-sm,4px);cursor:crosshair;touch-action:none;background:linear-gradient(to bottom, transparent 0%, #000 100%), linear-gradient(to right, #fff 0%, var(--_hue,red) 100%);flex-shrink:0;width:100%;height:160px;position:relative}.uid-colorpicker__gradient-thumb{pointer-events:none;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000004d,0 1px 3px #0000004d}.uid-colorpicker__controls{align-items:center;gap:var(--uid-space-sm);display:flex}.uid-colorpicker__sliders{gap:var(--uid-space-sm);flex-direction:column;flex:1;display:flex}.uid-colorpicker__preview{border-radius:var(--uid-radius-sm,4px);border:1px solid var(--uid-color-border);flex-shrink:0;width:32px;height:32px}.uid-colorpicker__hue-track{border-radius:var(--uid-radius-full,9999px);cursor:pointer;touch-action:none;background:linear-gradient(90deg,red,#ff8000,#ff0,#80ff00,#0f0,#00ff80,#0ff,#0080ff,#00f,#8000ff,#f0f,#ff0080,red);height:12px;position:relative}.uid-colorpicker__alpha-track{border-radius:var(--uid-radius-full,9999px);cursor:pointer;touch-action:none;background-image:linear-gradient(to right, transparent, var(--_color,red)), linear-gradient(45deg, #ccc 25%, transparent 25%), linear-gradient(-45deg, #ccc 25%, transparent 25%), linear-gradient(45deg, transparent 75%, #ccc 75%), linear-gradient(-45deg, transparent 75%, #ccc 75%);background-position:0 0,0 0,0 4px,4px -4px,-4px 0;background-size:100% 100%,8px 8px,8px 8px,8px 8px,8px 8px;height:12px;position:relative}.uid-colorpicker__track-thumb{pointer-events:none;background:#fff;border:2px solid #fff;border-radius:50%;width:14px;height:14px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000004d,0 1px 3px #0000004d}.uid-colorpicker__inputs{align-items:center;gap:var(--uid-space-sm);display:flex}.uid-colorpicker__input-label{font-size:var(--uid-font-size-xs,12px);color:var(--uid-color-text-secondary);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;font-weight:600}.uid-colorpicker__hex-input{padding:var(--uid-space-xs) var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm,4px);background:var(--uid-color-bg-subtle);font-family:var(--uid-font-family-mono,monospace);font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text);width:0;transition:border-color var(--uid-duration-fast);outline:none;flex:1}.uid-colorpicker__hex-input:focus{border-color:var(--uid-color-primary)}.uid-colorpicker__presets{gap:var(--uid-space-xs);flex-wrap:wrap;display:flex}.uid-colorpicker__preset{border-radius:var(--uid-radius-sm,4px);border:1px solid var(--uid-color-border);cursor:pointer;width:20px;height:20px;transition:transform var(--uid-duration-fast), box-shadow var(--uid-duration-fast);padding:0}.uid-colorpicker__preset:hover{transform:scale(1.15)}.uid-colorpicker__preset--active{box-shadow:0 0 0 2px var(--uid-color-bg), 0 0 0 4px var(--uid-color-primary)}.uid-colorpicker-panel-enter-active,.uid-colorpicker-panel-leave-active{transition:opacity var(--uid-duration-fast), transform var(--uid-duration-fast)}.uid-colorpicker-panel-enter-from,.uid-colorpicker-panel-leave-to{opacity:0;transform:translateY(-4px)}.uid-colorpicker--sm .uid-colorpicker__trigger{min-height:var(--uid-size-sm);padding-inline:var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-colorpicker--lg .uid-colorpicker__trigger{min-height:var(--uid-size-lg);padding-inline:var(--uid-space-md)}.uid-colorpicker--sm .uid-colorpicker__trigger-label{font-size:var(--uid-font-size-sm)}.uid-colorpicker--md .uid-colorpicker__trigger-label{font-size:var(--uid-font-size-md)}.uid-colorpicker--lg .uid-colorpicker__trigger-label{font-size:var(--uid-font-size-lg)}.uid-command-overlay{background:var(--uid-color-overlay,#00000080);z-index:var(--uid-z-modal,500);justify-content:center;align-items:flex-start;padding-top:min(15vh,120px);display:flex;position:fixed;inset:0}.uid-command{width:100%;max-width:var(--uid-command-width,560px);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-lg,12px);box-shadow:var(--uid-shadow-xl);flex-direction:column;max-height:480px;display:flex;overflow:hidden}.uid-command__search{padding:12px var(--uid-space-md);border-bottom:1px solid var(--uid-color-border);flex-shrink:0;align-items:center;gap:12px;display:flex}.uid-command__search-icon{color:var(--uid-color-text-secondary);flex-shrink:0}.uid-command__input{font-size:var(--uid-font-size-base,16px);color:var(--uid-color-text);background:0 0;border:none;outline:none;flex:1;line-height:1.5}.uid-command__input::placeholder{color:var(--uid-color-text-tertiary)}.uid-command__list{padding:var(--uid-space-xs);flex:1;overflow-y:auto}.uid-command__group-label{padding:var(--uid-space-sm) 12px var(--uid-space-xs);font-size:var(--uid-font-size-xs,12px);text-transform:uppercase;letter-spacing:.05em;color:var(--uid-color-text-tertiary);font-weight:600}.uid-command__item{width:100%;padding:var(--uid-space-sm) 12px;border-radius:var(--uid-radius-md,8px);cursor:pointer;text-align:left;color:var(--uid-color-text);transition:background var(--uid-duration-fast);background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;display:flex}.uid-command__item--active{background:var(--uid-color-bg-subtle)}.uid-command__item-text{flex-direction:column;gap:1px;min-width:0;display:flex}.uid-command__item-label{font-size:var(--uid-font-size-sm,14px);white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.uid-command__item-desc{font-size:var(--uid-font-size-xs,12px);color:var(--uid-color-text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.uid-command__item-shortcut{gap:var(--uid-space-xs);flex-shrink:0;display:flex}.uid-command__kbd{min-width:20px;font-size:var(--uid-font-size-xs,12px);font-family:var(--uid-font-family-mono,monospace);background:var(--uid-color-bg-subtle);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm,4px);color:var(--uid-color-text-secondary);justify-content:center;align-items:center;padding:2px 5px;display:inline-flex}.uid-command__empty{padding:var(--uid-space-xl) var(--uid-space-md);text-align:center;font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text-secondary)}.uid-command-enter-active,.uid-command-leave-active{transition:opacity var(--uid-duration-base)}.uid-command-enter-active .uid-command,.uid-command-leave-active .uid-command{transition:transform var(--uid-duration-base), opacity var(--uid-duration-base)}.uid-command-enter-from,.uid-command-leave-to{opacity:0}.uid-command-enter-from .uid-command,.uid-command-leave-to .uid-command{opacity:0;transform:scale(.96)translateY(-8px)}.uid-number-input{--uid-number-input-height:var(--uid-size-md);--uid-number-input-padding-x:var(--uid-space-sm);--uid-number-input-font-size:var(--uid-font-size-md);--uid-number-input-bg:var(--uid-surface-raised);--uid-number-input-border:var(--uid-border-default);--uid-number-input-color:var(--uid-text-primary);--uid-number-input-radius:var(--uid-radius-md);gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-number-input__label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);line-height:1.4;display:flex}.uid-number-input__required{color:var(--uid-danger)}.uid-number-input__control{min-height:var(--uid-number-input-height);background:var(--uid-number-input-bg);border:1px solid var(--uid-number-input-border);border-radius:var(--uid-number-input-radius);transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);align-items:stretch;display:flex;overflow:hidden;container:uid-number-input/inline-size}.uid-number-input__control:focus-within{border-color:var(--uid-accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-accent) 15%, transparent)}.uid-number-input__input{min-width:0;padding:0 var(--uid-number-input-padding-x);color:var(--uid-number-input-color);font:inherit;font-size:var(--uid-number-input-font-size);text-align:var(--uid-number-input-text-align,left);-moz-appearance:textfield;background:0 0;border:none;outline:none;flex:1}.uid-number-input__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.uid-number-input__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.uid-number-input__btn{background:var(--uid-surface-base);border:none;border-left:1px solid var(--uid-number-input-border);width:28px;color:var(--uid-text-secondary);cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out), color var(--uid-duration-fast) var(--uid-ease-out);flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.uid-number-input__btn--prefix{border-left:none;border-right:1px solid var(--uid-number-input-border)}.uid-number-input__btn:hover:not(:disabled){background:var(--uid-surface-overlay);color:var(--uid-text-primary)}.uid-number-input__btn:disabled{opacity:.4;cursor:not-allowed}.uid-number-input__btn:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px}.uid-number-input__hint{font-size:var(--uid-font-size-sm);color:var(--uid-text-secondary);margin:0;line-height:1.4}.uid-number-input__hint--error{color:var(--uid-danger)}.uid-number-input--error .uid-number-input__control{border-color:var(--uid-danger)}.uid-number-input--error .uid-number-input__control:focus-within{box-shadow:0 0 0 3px color-mix(in srgb, var(--uid-danger) 15%, transparent)}.uid-number-input--disabled .uid-number-input__control{opacity:.5;cursor:not-allowed;background:var(--uid-surface-base)}.uid-number-input--disabled .uid-number-input__input,.uid-number-input--disabled .uid-number-input__btn{pointer-events:none}.uid-number-input--readonly .uid-number-input__control{background:var(--uid-surface-base);border-style:dashed}.uid-number-input--sm{--uid-number-input-height:var(--uid-size-sm);--uid-number-input-font-size:var(--uid-font-size-sm);--uid-number-input-padding-x:var(--uid-space-xs)}.uid-number-input--sm .uid-number-input__btn{width:24px}.uid-number-input--lg{--uid-number-input-height:var(--uid-size-lg);--uid-number-input-font-size:var(--uid-font-size-lg);--uid-number-input-padding-x:var(--uid-space-md)}.uid-number-input--lg .uid-number-input__btn{width:36px}.uid-number-input--centered{--uid-number-input-text-align:center}@container uid-number-input (width<=8.5rem){.uid-number-input__btn{display:none}}.uid-timepicker{width:100%;position:relative}.uid-timepicker__trigger{align-items:center;gap:var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-color-bg);cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;transition:border-color var(--uid-duration-fast), box-shadow var(--uid-duration-fast);min-height:var(--uid-size-md);outline:none;padding:0 12px;display:flex}.uid-timepicker__trigger:hover{border-color:var(--uid-color-border-hover,var(--uid-color-text-secondary))}.uid-timepicker--open .uid-timepicker__trigger,.uid-timepicker__trigger:focus-visible{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle)}.uid-timepicker--disabled .uid-timepicker__trigger{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-timepicker__icon{color:var(--uid-color-text-secondary);flex-shrink:0}.uid-timepicker__value{font-size:var(--uid-font-size-md);color:var(--uid-color-text);font-variant-numeric:tabular-nums;flex:1}.uid-timepicker__value--placeholder{color:var(--uid-color-text-tertiary)}.uid-timepicker__clear{border-radius:var(--uid-radius-sm);cursor:pointer;width:18px;height:18px;color:var(--uid-color-text-secondary);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.uid-timepicker__clear:hover{color:var(--uid-color-text)}.uid-timepicker__panel{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);box-shadow:var(--uid-shadow-md);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.uid-timepicker__columns{padding:var(--uid-space-xs);align-items:stretch;display:flex}.uid-timepicker__column{scroll-snap-type:y mandatory;scrollbar-width:thin;flex-direction:column;width:56px;height:192px;display:flex;overflow-y:auto}.uid-timepicker__column+.uid-timepicker__column{border-left:1px solid var(--uid-color-border)}.uid-timepicker__cell{cursor:pointer;height:32px;font-size:var(--uid-font-size-sm);font-variant-numeric:tabular-nums;color:var(--uid-color-text);border-radius:var(--uid-radius-sm);scroll-snap-align:center;transition:background var(--uid-duration-fast), color var(--uid-duration-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:1px 4px;display:flex}.uid-timepicker__cell:hover:not(:disabled){background:var(--uid-color-bg-subtle)}.uid-timepicker__cell--selected{background:var(--uid-color-primary);color:var(--uid-color-text-on-primary);font-weight:600}.uid-timepicker__cell:disabled{opacity:.4;cursor:not-allowed}.uid-timepicker__footer{justify-content:space-between;gap:var(--uid-space-sm);padding:var(--uid-space-sm);border-top:1px solid var(--uid-color-border);display:flex}.uid-timepicker__btn{border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-color-bg);color:var(--uid-color-text);font-size:var(--uid-font-size-sm);cursor:pointer;transition:background var(--uid-duration-fast);flex:1;padding:6px 12px}.uid-timepicker__btn:hover{background:var(--uid-color-bg-subtle)}.uid-timepicker__btn--primary{background:var(--uid-color-primary);color:var(--uid-color-text-on-primary);border-color:var(--uid-color-primary)}.uid-timepicker__btn--primary:hover{background:var(--uid-color-primary-hover);border-color:var(--uid-color-primary-hover)}.uid-timepicker-panel-enter-active,.uid-timepicker-panel-leave-active{transition:opacity var(--uid-duration-fast), transform var(--uid-duration-fast)}.uid-timepicker-panel-enter-from,.uid-timepicker-panel-leave-to{opacity:0;transform:translateY(-4px)}.uid-timepicker--sm .uid-timepicker__trigger{min-height:var(--uid-size-sm);padding-inline:var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-timepicker--lg .uid-timepicker__trigger{min-height:var(--uid-size-lg);padding-inline:var(--uid-space-md)}.uid-timepicker--sm .uid-timepicker__value{font-size:var(--uid-font-size-sm)}.uid-timepicker--md .uid-timepicker__value{font-size:var(--uid-font-size-md)}.uid-timepicker--lg .uid-timepicker__value{font-size:var(--uid-font-size-lg)}.uid-daterange{width:100%;position:relative}.uid-daterange__trigger{align-items:center;gap:var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-color-bg);cursor:pointer;-webkit-user-select:none;user-select:none;width:100%;transition:border-color var(--uid-duration-fast), box-shadow var(--uid-duration-fast);min-height:var(--uid-size-md);outline:none;padding:0 12px;display:flex}.uid-daterange__trigger:hover{border-color:var(--uid-color-border-hover,var(--uid-color-text-secondary))}.uid-daterange--open .uid-daterange__trigger,.uid-daterange__trigger:focus-visible{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle)}.uid-daterange--disabled .uid-daterange__trigger{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-daterange__icon{color:var(--uid-color-text-secondary);flex-shrink:0}.uid-daterange__value{font-size:var(--uid-font-size-md);color:var(--uid-color-text);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.uid-daterange__value--placeholder{color:var(--uid-color-text-tertiary)}.uid-daterange__separator{color:var(--uid-color-text-tertiary);margin:0 var(--uid-space-xs)}.uid-daterange__clear{border-radius:var(--uid-radius-sm);cursor:pointer;width:18px;height:18px;color:var(--uid-color-text-secondary);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:16px;line-height:1;display:flex}.uid-daterange__clear:hover{color:var(--uid-color-text)}.uid-daterange__panel{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);box-shadow:var(--uid-shadow-md);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.uid-daterange__months{gap:var(--uid-space-md);padding:12px;display:flex}.uid-daterange__month{width:248px}.uid-daterange__nav{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.uid-daterange__month+.uid-daterange__month .uid-daterange__nav-btn--prev,.uid-daterange__month:not(:last-child) .uid-daterange__nav-btn--next{visibility:hidden}.uid-daterange__nav-btn{border-radius:var(--uid-radius-sm);cursor:pointer;width:28px;height:28px;color:var(--uid-color-text-secondary);transition:background var(--uid-duration-fast), color var(--uid-duration-fast);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.uid-daterange__nav-btn:hover{background:var(--uid-color-bg-subtle);color:var(--uid-color-text)}.uid-daterange__month-label{font-size:var(--uid-font-size-sm);color:var(--uid-color-text);font-weight:600}.uid-daterange__grid{grid-template-columns:repeat(7,1fr);display:grid}.uid-daterange__weekday{height:32px;font-size:var(--uid-font-size-xs);color:var(--uid-color-text-tertiary);justify-content:center;align-items:center;font-weight:600;display:flex}.uid-daterange__day{cursor:pointer;height:32px;font-size:var(--uid-font-size-sm);color:var(--uid-color-text);z-index:1;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.uid-daterange__day:hover:not(:disabled){background:var(--uid-color-bg-subtle);border-radius:var(--uid-radius-sm)}.uid-daterange__day--other{color:var(--uid-color-text-tertiary);pointer-events:none}.uid-daterange__day--today{color:var(--uid-color-primary);font-weight:700}.uid-daterange__day--start,.uid-daterange__day--end{border-radius:var(--uid-radius-sm);font-weight:600;background:var(--uid-color-primary)!important;color:var(--uid-color-text-on-primary)!important}.uid-daterange__day--in-range{background:var(--uid-color-primary-subtle);color:var(--uid-color-text);border-radius:0}.uid-daterange__day--disabled{opacity:.35;cursor:not-allowed;pointer-events:none}.uid-daterange__footer{justify-content:space-between;gap:var(--uid-space-sm);padding:var(--uid-space-sm) 12px;border-top:1px solid var(--uid-color-border);flex-wrap:wrap;display:flex}.uid-daterange__btn{border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-color-bg);color:var(--uid-color-text);font-size:var(--uid-font-size-sm);cursor:pointer;transition:background var(--uid-duration-fast);padding:6px 12px}.uid-daterange__btn:hover{background:var(--uid-color-bg-subtle)}.uid-daterange__btn:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-daterange__times{gap:var(--uid-space-md);padding:var(--uid-space-sm) 12px;border-top:1px solid var(--uid-color-border);flex-wrap:wrap;display:flex}.uid-daterange__time-field{gap:var(--uid-space-xs);flex-direction:column;flex:1;min-width:120px;display:flex}.uid-daterange__time-label{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary)}.uid-daterange__time{border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-color-bg);color:var(--uid-color-text);font:inherit;font-size:var(--uid-font-size-sm);padding:6px 8px}.uid-daterange__time:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-daterange__time:disabled{opacity:.5;cursor:not-allowed}@media (width<=600px){.uid-daterange__months{flex-direction:column}.uid-daterange__month+.uid-daterange__month .uid-daterange__nav-btn--prev,.uid-daterange__month:not(:last-child) .uid-daterange__nav-btn--next{visibility:visible}}.uid-daterange-panel-enter-active,.uid-daterange-panel-leave-active{transition:opacity var(--uid-duration-fast), transform var(--uid-duration-fast)}.uid-daterange-panel-enter-from,.uid-daterange-panel-leave-to{opacity:0;transform:translateY(-4px)}.uid-daterange--sm .uid-daterange__trigger{min-height:var(--uid-size-sm);padding-inline:var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-daterange--lg .uid-daterange__trigger{min-height:var(--uid-size-lg);padding-inline:var(--uid-space-md)}.uid-daterange--sm .uid-daterange__value{font-size:var(--uid-font-size-sm)}.uid-daterange--md .uid-daterange__value{font-size:var(--uid-font-size-md)}.uid-daterange--lg .uid-daterange__value{font-size:var(--uid-font-size-lg)}.uid-tags-input{gap:var(--uid-space-xs);flex-direction:column;display:flex}.uid-tags-input__label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);line-height:1.4;display:flex}.uid-tags-input__required{color:var(--uid-danger)}.uid-tags-input__control{align-items:center;gap:var(--uid-space-xs);min-height:var(--uid-size-md);padding:var(--uid-space-2xs) var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-surface-raised);cursor:text;transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);flex-wrap:wrap;display:flex}.uid-tags-input__control:focus-within{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle);outline:none}.uid-tags-input__chip{align-items:center;gap:var(--uid-space-2xs);padding:2px var(--uid-space-xs);background:var(--uid-color-primary-subtle);color:var(--uid-color-primary);border-radius:var(--uid-radius-sm);font-size:var(--uid-font-size-sm);line-height:1.4;display:inline-flex}.uid-tags-input__chip--invalid{background:color-mix(in srgb, var(--uid-color-danger) 12%, transparent);color:var(--uid-color-danger)}.uid-tags-input__chip-remove{width:14px;height:14px;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.uid-tags-input__chip-remove:hover{opacity:1}.uid-tags-input__field{min-width:80px;color:var(--uid-color-text);font:inherit;font-size:var(--uid-font-size-md);background:0 0;border:none;outline:none;flex:1;padding:4px 0}.uid-tags-input__field::placeholder{color:var(--uid-color-text-tertiary)}.uid-tags-input__hint{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);margin:0;line-height:1.4}.uid-tags-input__hint--error{color:var(--uid-danger)}.uid-tags-input--error .uid-tags-input__control{border-color:var(--uid-danger)}.uid-tags-input--disabled .uid-tags-input__control{opacity:.5;cursor:not-allowed;background:var(--uid-surface-base);pointer-events:none}.uid-tags-input--sm .uid-tags-input__control{min-height:var(--uid-size-sm);font-size:var(--uid-font-size-sm);padding-block:0}.uid-tags-input--sm .uid-tags-input__field{font-size:var(--uid-font-size-sm);padding-block:0}.uid-tags-input--lg .uid-tags-input__control{min-height:var(--uid-size-lg);font-size:var(--uid-font-size-lg)}.uid-tags-input--sm .uid-tags-input__field{font-size:var(--uid-font-size-sm)}.uid-tags-input--md .uid-tags-input__field{font-size:var(--uid-font-size-md)}.uid-tags-input--lg .uid-tags-input__field{font-size:var(--uid-font-size-lg)}.uid-combobox{gap:var(--uid-space-xs);flex-direction:column;display:flex;position:relative}.uid-combobox__label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);line-height:1.4;display:flex}.uid-combobox__required{color:var(--uid-danger)}.uid-combobox__control{min-height:var(--uid-size-md);padding:0 var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-surface-raised);cursor:text;transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);align-items:center;display:flex}.uid-combobox--open .uid-combobox__control,.uid-combobox__control:focus-within{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle)}.uid-combobox__field{min-width:0;padding:var(--uid-space-xs) 0;color:var(--uid-color-text);font:inherit;font-size:var(--uid-font-size-md);background:0 0;border:none;outline:none;flex:1}.uid-combobox__field::placeholder{color:var(--uid-color-text-tertiary)}.uid-combobox__suffix{align-items:center;gap:var(--uid-space-xs);color:var(--uid-color-text-secondary);flex-shrink:0;display:flex}.uid-combobox__clear{border-radius:var(--uid-radius-sm);cursor:pointer;width:18px;height:18px;color:var(--uid-color-text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.uid-combobox__clear:hover{color:var(--uid-color-text)}.uid-combobox__chevron{transition:transform var(--uid-duration-base);cursor:pointer}.uid-combobox__chevron--open{transform:rotate(180deg)}.uid-combobox__hint{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);margin:0;line-height:1.4}.uid-combobox__hint--error{color:var(--uid-danger)}.uid-combobox__dropdown{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);box-shadow:var(--uid-shadow-md);max-height:280px;padding:var(--uid-space-2xs);overflow-y:auto}.uid-combobox__dropdown[data-position=trigger]{margin-top:0;top:auto}.uid-combobox__option{align-items:center;gap:var(--uid-space-sm);width:100%;padding:var(--uid-space-sm) var(--uid-space-sm);border-radius:var(--uid-radius-sm);text-align:left;cursor:pointer;font-size:var(--uid-font-size-md);color:var(--uid-color-text);background:0 0;border:none;display:flex}.uid-combobox__option--active{background:var(--uid-color-bg-subtle)}.uid-combobox__option--selected{color:var(--uid-color-primary);font-weight:600}.uid-combobox__option--disabled{opacity:.4;cursor:not-allowed}.uid-combobox__option-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.uid-combobox__option-hint{color:var(--uid-color-text-tertiary);font-size:var(--uid-font-size-sm);flex-shrink:0}.uid-combobox__check{color:var(--uid-color-primary);flex-shrink:0}.uid-combobox__create{color:var(--uid-color-primary)}.uid-combobox__empty{padding:var(--uid-space-md);text-align:center;color:var(--uid-color-text-tertiary);font-size:var(--uid-font-size-sm)}.uid-combobox--error .uid-combobox__control{border-color:var(--uid-danger)}.uid-combobox--disabled .uid-combobox__control{opacity:.5;pointer-events:none;background:var(--uid-surface-base)}.uid-combobox--sm .uid-combobox__control{min-height:var(--uid-size-sm)}.uid-combobox--sm .uid-combobox__field{font-size:var(--uid-font-size-sm);padding-block:0}.uid-combobox--lg .uid-combobox__control{min-height:var(--uid-size-lg)}.uid-combobox--sm .uid-combobox__field{font-size:var(--uid-font-size-sm)}.uid-combobox--md .uid-combobox__field{font-size:var(--uid-font-size-md)}.uid-combobox--lg .uid-combobox__field{font-size:var(--uid-font-size-lg)}.uid-tree{font-size:var(--uid-font-size-md);color:var(--uid-color-text);-webkit-user-select:none;user-select:none;margin:0;padding:0;list-style:none}.uid-tree-item{list-style:none}.uid-tree__list{margin:0;padding:0;list-style:none}.uid-tree-item__row{align-items:center;gap:var(--uid-space-xs);padding:6px var(--uid-space-sm);padding-left:calc(var(--uid-space-sm) + var(--uid-tree-level,0) * 16px);border-radius:var(--uid-radius-sm);cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out);outline:none;min-height:32px;display:flex}.uid-tree-item__row:hover{background:var(--uid-color-bg-subtle)}.uid-tree-item__row:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px}.uid-tree-item--selected>.uid-tree-item__row{background:var(--uid-color-primary-subtle);color:var(--uid-color-primary);font-weight:500}.uid-tree-item--disabled>.uid-tree-item__row{opacity:.5;cursor:not-allowed}.uid-tree-item__chevron{width:16px;height:16px;color:var(--uid-color-text-secondary);border-radius:var(--uid-radius-sm);cursor:pointer;transition:transform var(--uid-duration-base);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.uid-tree-item__chevron--open{transform:rotate(90deg)}.uid-tree-item__chevron--placeholder{visibility:hidden;cursor:default}.uid-tree-item__check{border:1px solid var(--uid-color-border);background:var(--uid-color-bg);cursor:pointer;width:16px;height:16px;transition:background var(--uid-duration-fast), border-color var(--uid-duration-fast);color:var(--uid-color-text-on-primary);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.uid-tree-item__check--checked,.uid-tree-item__check--indeterminate{background:var(--uid-color-primary);border-color:var(--uid-color-primary)}.uid-tree-item__check--indeterminate:after{content:\"\";background:var(--uid-color-text-on-primary);border-radius:1px;width:8px;height:2px}.uid-tree-item__icon{color:var(--uid-color-text-secondary);flex-shrink:0;align-items:center;display:inline-flex}.uid-tree-item__icon--branch{color:var(--uid-color-primary)}.uid-tree-item__icon--leaf{color:var(--uid-color-text-tertiary,var(--uid-color-text-secondary))}.uid-tree-item__label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.uid-tree-item__children{margin:0;padding:0;list-style:none}.uid-tree--guides .uid-tree-item__children{position:relative}.uid-tree--guides .uid-tree-item__children:before{content:\"\";top:0;bottom:0;left:calc(var(--uid-space-sm) + var(--uid-tree-level,0) * 16px + 8px);background:var(--uid-color-border);width:1px;position:absolute}.uid-timeline{margin:0;padding:0;list-style:none;position:relative}.uid-timeline-item{gap:var(--uid-space-md);padding-bottom:var(--uid-space-lg);display:flex;position:relative}.uid-timeline-item:last-child{padding-bottom:0}.uid-timeline-item__rail{flex-direction:column;flex-shrink:0;align-items:center;width:24px;display:flex;position:relative}.uid-timeline-item__marker{background:var(--uid-color-bg);border:2px solid var(--uid-color-border);width:12px;height:12px;color:var(--uid-color-text-secondary);z-index:1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:4px;display:flex}.uid-timeline-item--with-icon .uid-timeline-item__marker{width:28px;height:28px;margin-top:0}.uid-timeline-item__line{background:var(--uid-color-border);width:2px;margin-top:var(--uid-space-2xs);flex:1}.uid-timeline-item:last-child .uid-timeline-item__line{display:none}.uid-timeline-item__content{min-width:0;padding-bottom:var(--uid-space-sm);flex:1}.uid-timeline-item__time{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary);margin:0 0 var(--uid-space-2xs) 0}.uid-timeline-item__title{margin:0 0 var(--uid-space-2xs) 0;font-size:var(--uid-font-size-md);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text);line-height:1.4}.uid-timeline-item__description{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);margin:0;line-height:1.5}.uid-timeline-item--success .uid-timeline-item__marker{background:var(--uid-color-success);border-color:var(--uid-color-success);color:var(--uid-color-text-on-primary)}.uid-timeline-item--warning .uid-timeline-item__marker{background:var(--uid-color-warning);border-color:var(--uid-color-warning);color:var(--uid-color-text-on-primary)}.uid-timeline-item--danger .uid-timeline-item__marker{background:var(--uid-color-danger);border-color:var(--uid-color-danger);color:var(--uid-color-text-on-primary)}.uid-timeline-item--primary .uid-timeline-item__marker{background:var(--uid-color-primary);border-color:var(--uid-color-primary);color:var(--uid-color-text-on-primary)}.uid-timeline-item--info .uid-timeline-item__marker{background:var(--uid-color-info);border-color:var(--uid-color-info);color:var(--uid-color-text-on-primary)}.uid-timeline--alternate .uid-timeline-item{width:50%}.uid-timeline--alternate .uid-timeline-item:nth-child(2n){flex-direction:row;margin-left:auto}.uid-timeline--alternate .uid-timeline-item:nth-child(odd){text-align:right;flex-direction:row-reverse}.uid-file-upload{gap:var(--uid-space-sm);flex-direction:column;display:flex}.uid-file-upload__label{align-items:center;gap:var(--uid-space-2xs);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary);display:flex}.uid-file-upload__required{color:var(--uid-danger)}.uid-file-upload__dropzone{justify-content:center;align-items:center;gap:var(--uid-space-sm);padding:var(--uid-space-xl);border:2px dashed var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-color-bg-subtle);text-align:center;cursor:pointer;transition:border-color var(--uid-duration-fast) var(--uid-ease-out), background var(--uid-duration-fast) var(--uid-ease-out);outline:none;flex-direction:column;display:flex}.uid-file-upload__dropzone:hover,.uid-file-upload__dropzone:focus-visible,.uid-file-upload__dropzone--active{border-color:var(--uid-color-primary);background:var(--uid-color-primary-subtle)}.uid-file-upload__icon{color:var(--uid-color-text-secondary)}.uid-file-upload__primary-text{font-size:var(--uid-font-size-md);color:var(--uid-color-text);font-weight:var(--uid-font-weight-medium)}.uid-file-upload__primary-text strong{color:var(--uid-color-primary)}.uid-file-upload__secondary-text{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary)}.uid-file-upload__input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.uid-file-upload__list{gap:var(--uid-space-sm);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.uid-file-upload__item{align-items:center;gap:var(--uid-space-sm);padding:var(--uid-space-sm) 12px;border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-color-bg);display:flex}.uid-file-upload__item--error{border-color:var(--uid-color-danger);background:color-mix(in srgb, var(--uid-color-danger) 5%, var(--uid-color-bg))}.uid-file-upload__file-icon{color:var(--uid-color-text-secondary);flex-shrink:0}.uid-file-upload__file-info{flex:1;min-width:0}.uid-file-upload__file-name{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-color-text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.uid-file-upload__file-meta{font-size:var(--uid-font-size-xs);color:var(--uid-color-text-tertiary);gap:var(--uid-space-sm);display:flex}.uid-file-upload__progress{background:var(--uid-color-bg-subtle);border-radius:2px;height:4px;margin-top:4px;overflow:hidden}.uid-file-upload__progress-bar{background:var(--uid-color-primary);height:100%;transition:width var(--uid-duration-base) var(--uid-ease-out)}.uid-file-upload__remove{border-radius:var(--uid-radius-sm);width:24px;height:24px;color:var(--uid-color-text-secondary);cursor:pointer;transition:background var(--uid-duration-fast), color var(--uid-duration-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.uid-file-upload__remove:hover{background:var(--uid-color-bg-subtle);color:var(--uid-color-danger)}.uid-file-upload--disabled .uid-file-upload__dropzone{opacity:.5;cursor:not-allowed;pointer-events:none}.uid-file-upload__hint{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);margin:0;line-height:1.4}.uid-file-upload__hint--error{color:var(--uid-danger)}.uid-code{--uid-code-bg:var(--uid-color-bg-subtle);--uid-code-color:var(--uid-color-text);--uid-code-border:var(--uid-color-border);--uid-code-radius:var(--uid-radius-md);--uid-code-padding-y:var(--uid-space-md);--uid-code-padding-x:var(--uid-space-md);--uid-code-font:var(--uid-font-family-mono,ui-monospace, SFMono-Regular, Menlo, Consolas, \"Liberation Mono\", \"DejaVu Sans Mono\", monospace);--uid-code-font-size:var(--uid-font-size-sm);background:var(--uid-code-bg);color:var(--uid-code-color);border:1px solid var(--uid-code-border);border-radius:var(--uid-code-radius);font-family:var(--uid-code-font);font-size:var(--uid-code-font-size);line-height:1.6;position:relative;overflow:hidden}.uid-code__header{padding:var(--uid-space-xs) var(--uid-space-sm);border-bottom:1px solid var(--uid-code-border);background:var(--uid-color-bg);justify-content:space-between;align-items:center;display:flex}.uid-code__lang{font-size:var(--uid-font-size-xs);font-weight:var(--uid-font-weight-medium);color:var(--uid-color-text-tertiary);text-transform:lowercase;letter-spacing:.05em}.uid-code__copy{align-items:center;gap:var(--uid-space-2xs);color:var(--uid-color-text-secondary);font-size:var(--uid-font-size-xs);border-radius:var(--uid-radius-sm);cursor:pointer;transition:background var(--uid-duration-fast), color var(--uid-duration-fast);background:0 0;border:none;padding:4px 8px;font-family:inherit;display:flex}.uid-code__copy:hover{background:var(--uid-color-bg-subtle);color:var(--uid-color-text)}.uid-code__copy--copied{color:var(--uid-color-success)}.uid-code__body{max-height:var(--uid-code-max-height,none);display:flex;overflow:auto}.uid-code__line-numbers{padding:var(--uid-code-padding-y) var(--uid-space-sm);text-align:right;-webkit-user-select:none;user-select:none;color:var(--uid-color-text-tertiary);background:var(--uid-color-bg);border-right:1px solid var(--uid-code-border);flex-direction:column;flex-shrink:0;display:flex}.uid-code__line-number{font-variant-numeric:tabular-nums;font-size:var(--uid-font-size-xs);line-height:calc(var(--uid-code-font-size) * 1.6)}.uid-code__pre{padding:var(--uid-code-padding-y) var(--uid-code-padding-x);font-family:inherit;font-size:inherit;line-height:inherit;white-space:pre;flex:1;min-width:0;margin:0;overflow:auto}.uid-code__pre code{font-family:inherit;font-size:inherit;background:0 0;border-radius:0;padding:0}.uid-code--inline{padding:2px var(--uid-space-xs);border-radius:var(--uid-radius-sm);background:var(--uid-color-bg-subtle);color:var(--uid-color-text);white-space:nowrap;border:none;font-size:.92em;display:inline}.uid-code--inline.uid-code--inline-strong{font-weight:var(--uid-font-weight-medium);color:var(--uid-color-primary)}.uid-code--minimal .uid-code__body{padding:0}.uid-code--wrap .uid-code__pre{white-space:pre-wrap;word-break:break-word}.uid-code{--uid-code-tok-comment:var(--uid-text-secondary);--uid-code-tok-string:var(--uid-success);--uid-code-tok-number:var(--uid-warning);--uid-code-tok-literal:var(--uid-warning);--uid-code-tok-keyword:var(--uid-accent-text);--uid-code-tok-function:var(--uid-info);--uid-code-tok-variable:var(--uid-danger);--uid-code-tok-tag:var(--uid-danger);--uid-code-tok-attr:var(--uid-warning);--uid-code-tok-property:var(--uid-info);--uid-code-tok-punctuation:var(--uid-text-secondary)}.uid-code__tok--comment{color:var(--uid-code-tok-comment);font-style:italic}.uid-code__tok--string{color:var(--uid-code-tok-string)}.uid-code__tok--number{color:var(--uid-code-tok-number)}.uid-code__tok--literal{color:var(--uid-code-tok-literal)}.uid-code__tok--keyword{color:var(--uid-code-tok-keyword);font-weight:var(--uid-font-weight-medium)}.uid-code__tok--function{color:var(--uid-code-tok-function)}.uid-code__tok--variable{color:var(--uid-code-tok-variable)}.uid-code__tok--tag{color:var(--uid-code-tok-tag)}.uid-code__tok--attr{color:var(--uid-code-tok-attr)}.uid-code__tok--property{color:var(--uid-code-tok-property)}.uid-code__tok--punctuation{color:var(--uid-code-tok-punctuation)}.uid-markdown{--uid-markdown-color:var(--uid-text-primary);--uid-markdown-muted:var(--uid-text-secondary);--uid-markdown-link:var(--uid-accent);--uid-markdown-border:var(--uid-border-subtle);--uid-markdown-sunken:color-mix(in srgb, var(--uid-text-primary) 6%, transparent);--uid-markdown-font-size:var(--uid-font-size-md);--uid-markdown-line-height:var(--uid-line-height-relaxed);--uid-markdown-toc-width:220px;gap:var(--uid-space-xl);min-width:0;color:var(--uid-markdown-color);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}.uid-markdown--toc{grid-template-columns:minmax(0, 1fr) var(--uid-markdown-toc-width)}.uid-markdown__body{min-width:0;font-size:var(--uid-markdown-font-size);line-height:var(--uid-markdown-line-height);word-break:break-word}.uid-markdown__body>*+*{margin-top:var(--uid-space-md)}.uid-markdown__html>:first-child{margin-top:0}.uid-markdown__html>:last-child{margin-bottom:0}.uid-markdown__html p,.uid-markdown__html ul,.uid-markdown__html ol,.uid-markdown__html blockquote,.uid-markdown__html pre{margin:0 0 var(--uid-space-sm)}.uid-markdown__html h1,.uid-markdown__html h2,.uid-markdown__html h3,.uid-markdown__html h4,.uid-markdown__html h5,.uid-markdown__html h6{margin:var(--uid-space-lg) 0 var(--uid-space-xs);font-weight:var(--uid-font-weight-semibold);line-height:var(--uid-line-height-tight);scroll-margin-top:72px}.uid-markdown__html h1{font-size:var(--uid-font-size-2xl)}.uid-markdown__html h2{font-size:var(--uid-font-size-xl);padding-bottom:var(--uid-space-xs);border-bottom:1px solid var(--uid-markdown-border)}.uid-markdown__html h3{font-size:var(--uid-font-size-lg)}.uid-markdown__html h4{font-size:var(--uid-font-size-md)}.uid-markdown__html ul,.uid-markdown__html ol{padding-left:1.5em}.uid-markdown__html li+li{margin-top:var(--uid-space-2xs)}.uid-markdown__html a{color:var(--uid-markdown-link)}.uid-markdown__html blockquote{padding-left:var(--uid-space-md);border-left:3px solid var(--uid-markdown-border);color:var(--uid-markdown-muted)}.uid-markdown__html code{font-family:var(--uid-font-family-mono);border-radius:var(--uid-radius-sm);background:var(--uid-markdown-sunken);padding:0 .25em;font-size:.9em}.uid-markdown__html pre{padding:var(--uid-space-sm);border-radius:var(--uid-radius-md);background:var(--uid-markdown-sunken);overflow:auto}.uid-markdown__html pre code{background:0 0;padding:0}.uid-markdown__html img{max-width:100%}.uid-markdown__html hr{border:0;border-top:1px solid var(--uid-markdown-border);margin:var(--uid-space-lg) 0}.uid-markdown__table{margin:0 0 var(--uid-space-sm);overflow-x:auto}.uid-markdown__html table{border-collapse:collapse;width:100%;font-size:.95em}.uid-markdown__html th,.uid-markdown__html td{padding:var(--uid-space-xs) var(--uid-space-sm);border:1px solid var(--uid-markdown-border);text-align:left;vertical-align:top}.uid-markdown__html th{font-weight:var(--uid-font-weight-semibold);background:var(--uid-markdown-sunken)}.uid-markdown__html blockquote.uid-markdown__callout{padding:var(--uid-space-sm) var(--uid-space-md);border-radius:var(--uid-radius-sm);color:var(--uid-markdown-color);background:var(--uid-markdown-sunken);border-left-width:4px}.uid-markdown__html blockquote.uid-markdown__callout>:last-child{margin-bottom:0}.uid-markdown__html blockquote.uid-markdown__callout--note{border-left-color:var(--uid-info);background:var(--uid-info-subtle)}.uid-markdown__html blockquote.uid-markdown__callout--tip{border-left-color:var(--uid-success);background:var(--uid-success-subtle)}.uid-markdown__html blockquote.uid-markdown__callout--important{border-left-color:var(--uid-accent);background:var(--uid-accent-subtle)}.uid-markdown__html blockquote.uid-markdown__callout--warning{border-left-color:var(--uid-warning);background:var(--uid-warning-subtle)}.uid-markdown__html blockquote.uid-markdown__callout--caution{border-left-color:var(--uid-danger);background:var(--uid-danger-subtle)}.uid-markdown__html .uid-markdown__callout-title{font-weight:var(--uid-font-weight-semibold);margin-bottom:var(--uid-space-2xs)}.uid-markdown__code{width:100%}.uid-markdown__block{text-align:center;overflow-x:auto}.uid-markdown__block>svg{max-width:100%;height:auto}.uid-markdown__block--live{text-align:start;overflow:visible}.uid-markdown__block--pending{padding:var(--uid-space-lg);border:1px dashed var(--uid-markdown-border);border-radius:var(--uid-radius-md);color:var(--uid-markdown-muted);font-size:var(--uid-font-size-sm)}.uid-markdown__block-error-message{margin:0 0 var(--uid-space-xs);padding:var(--uid-space-xs) var(--uid-space-sm);border-left:3px solid var(--uid-danger);border-radius:var(--uid-radius-sm);background:var(--uid-danger-subtle);color:var(--uid-markdown-color);font-size:var(--uid-font-size-sm)}.uid-markdown__toc{top:var(--uid-space-lg);max-height:calc(100vh - 96px);font-size:var(--uid-font-size-sm);border-left:1px solid var(--uid-markdown-border);padding-left:var(--uid-space-md);position:sticky;overflow:auto}.uid-markdown__toc-title{font-weight:var(--uid-font-weight-semibold);margin-bottom:var(--uid-space-xs)}.uid-markdown__toc ul{margin:0;padding:0;list-style:none}.uid-markdown__toc-item{margin:2px 0}.uid-markdown__toc-item--l3{padding-left:var(--uid-space-md)}.uid-markdown__toc-item--l4,.uid-markdown__toc-item--l5,.uid-markdown__toc-item--l6{padding-left:var(--uid-space-xl)}.uid-markdown__toc a{color:var(--uid-markdown-muted);text-decoration:none}.uid-markdown__toc a:hover{color:var(--uid-markdown-link)}.uid-markdown__toc a:focus-visible{outline:2px solid var(--uid-focus-ring);outline-offset:2px;border-radius:var(--uid-radius-sm)}@media (width<=1100px){.uid-markdown--toc{grid-template-columns:minmax(0,1fr)}.uid-markdown__toc{max-height:none;padding:var(--uid-space-sm) var(--uid-space-md);border-radius:var(--uid-radius-md);background:var(--uid-markdown-sunken);border-left:0;order:-1;position:static}}.uid-image{--uid-image-radius:var(--uid-radius-md);--uid-image-fit:cover;--uid-image-placeholder:var(--uid-surface-raised);--uid-image-fallback-fg:var(--uid-text-tertiary);border-radius:var(--uid-image-radius);background:var(--uid-image-placeholder);vertical-align:middle;max-width:100%;display:inline-block;position:relative;overflow:hidden}.uid-image[data-status=loaded]{background:0 0}.uid-image__img{object-fit:var(--uid-image-fit);width:100%;height:100%;transition:opacity var(--uid-duration-fast) var(--uid-ease-out);display:block}.uid-image[data-status=loading] .uid-image__img{opacity:0}.uid-image__placeholder{background:linear-gradient(90deg, var(--uid-surface-raised) 25%, color-mix(in srgb, var(--uid-text-tertiary) 18%, var(--uid-surface-raised)) 50%, var(--uid-surface-raised) 75%);background-size:200% 100%;justify-content:center;align-items:center;animation:1.6s ease-in-out infinite uid-image-shimmer;display:flex;position:absolute;inset:0}@keyframes uid-image-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.uid-image__placeholder{animation:none}}.uid-image__fallback{width:100%;min-width:48px;height:100%;min-height:48px;color:var(--uid-image-fallback-fg);background:var(--uid-image-placeholder);justify-content:center;align-items:center;display:flex}.uid-image__trigger{cursor:zoom-in;border-radius:inherit;background:0 0;border:0;width:100%;height:100%;padding:0;display:block}.uid-image__trigger:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px}.uid-image__preview{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.uid-image__preview-img{object-fit:contain;max-width:100%;max-height:80vh}.uid-media__button{width:var(--uid-media-button-size,40px);height:var(--uid-media-button-size,40px);border-radius:var(--uid-radius-md,8px);color:inherit;font:inherit;cursor:pointer;transition:background-color var(--uid-duration-fast,.12s), color var(--uid-duration-fast,.12s);background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.uid-media__button:hover{background:var(--uid-media-hover-bg,#ffffff29)}.uid-media__button:focus-visible,.uid-media-menu__item:focus-visible{outline:2px solid var(--uid-media-focus,var(--uid-color-focus-ring,currentColor));outline-offset:-2px}.uid-media__button--active{background:var(--uid-media-hover-bg,#ffffff29)}.uid-media__button--on:after{content:\"\";background:var(--uid-media-accent,var(--uid-accent));border-radius:1px;height:2px;position:absolute;bottom:6px;left:30%;right:30%}.uid-media__button:disabled{opacity:.4;cursor:default}.uid-media__badge{background:var(--uid-media-accent,var(--uid-accent));color:var(--uid-media-accent-contrast,#fff);pointer-events:none;border-radius:4px;padding:0 3px;font-size:9px;font-weight:700;line-height:13px;position:absolute;top:3px;right:0}.uid-media__fill{fill:currentColor}.uid-media__time{font-size:var(--uid-font-size-sm,14px);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none}.uid-media__spin{animation:.9s linear infinite uid-media-spin}@keyframes uid-media-spin{to{transform:rotate(360deg)}}.uid-media__volume{flex:none;align-items:center;display:flex}.uid-media__volume-range{appearance:none;opacity:0;background:linear-gradient(to right, var(--uid-media-played,var(--uid-accent)) 0 var(--_fill,0%), var(--uid-media-rail,#ffffff4d) var(--_fill,0%) 100%);cursor:pointer;width:0;height:4px;transition:width var(--uid-duration-base,.2s) var(--uid-ease-out,ease-out), opacity var(--uid-duration-base,.2s), margin var(--uid-duration-base,.2s);border-radius:2px;margin:0}.uid-media__volume:hover .uid-media__volume-range,.uid-media__volume:focus-within .uid-media__volume-range,.uid-media__volume--open .uid-media__volume-range{width:var(--uid-media-volume-width,72px);opacity:1;margin:0 10px 0 4px}.uid-media__volume-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--uid-media-thumb,var(--uid-media-played,var(--uid-accent)));border:0;border-radius:50%;width:12px;height:12px}.uid-media__volume-range::-moz-range-thumb{background:var(--uid-media-thumb,var(--uid-media-played,var(--uid-accent)));border:0;border-radius:50%;width:12px;height:12px}.uid-media__volume-range:focus-visible{outline:2px solid var(--uid-media-focus,var(--uid-color-focus-ring,currentColor));outline-offset:4px}@media (hover:none) and (pointer:coarse){.uid-media__volume-range{display:none}.uid-media__button{width:var(--uid-media-button-size-touch,44px);height:var(--uid-media-button-size-touch,44px)}}.uid-media-scrubber{--_rail-h:var(--uid-media-rail-height,4px);height:var(--uid-media-scrubber-height,18px);cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;outline:none;align-items:center;display:flex;position:relative}.uid-media-scrubber--disabled{cursor:default}.uid-media-scrubber__rail{width:100%;height:var(--_rail-h);border-radius:var(--_rail-h);background:var(--uid-media-rail,#ffffff4d);transition:height var(--uid-duration-fast,.12s);position:relative;overflow:hidden}.uid-media-scrubber:hover .uid-media-scrubber__rail,.uid-media-scrubber:focus-visible .uid-media-scrubber__rail,.uid-media-scrubber--dragging .uid-media-scrubber__rail{height:calc(var(--_rail-h) + 2px)}.uid-media-scrubber__buffered{background:var(--uid-media-buffered,#ffffff73);position:absolute;top:0;bottom:0}.uid-media-scrubber__played{width:var(--_played,0%);background:var(--uid-media-played,var(--uid-accent));position:absolute;top:0;bottom:0;left:0}.uid-media-scrubber__handle{top:50%;left:var(--_played,0%);background:var(--uid-media-thumb,var(--uid-media-played,var(--uid-accent)));width:14px;height:14px;transition:transform var(--uid-duration-fast,.12s);pointer-events:none;border-radius:50%;margin:-7px 0 0 -7px;position:absolute;transform:scale(0);box-shadow:0 0 0 1px #00000026}.uid-media-scrubber:hover .uid-media-scrubber__handle,.uid-media-scrubber--dragging .uid-media-scrubber__handle,.uid-media-scrubber:focus-visible .uid-media-scrubber__handle{transform:scale(1)}.uid-media-scrubber:focus-visible .uid-media-scrubber__handle{box-shadow:0 0 0 3px var(--uid-media-focus,var(--uid-color-focus-ring,currentColor))}.uid-media-scrubber--disabled .uid-media-scrubber__handle{display:none}.uid-media-scrubber--wave{height:var(--uid-media-wave-height,40px)}.uid-media-scrubber__wave{width:100%;height:100%;position:relative}.uid-media-scrubber__wave svg{width:100%;height:100%;position:absolute;inset:0}.uid-media-scrubber__wave-base{fill:var(--uid-media-wave,var(--uid-border-default,#c4c4c8))}.uid-media-scrubber__wave-played{fill:var(--uid-media-played,var(--uid-accent));clip-path:inset(0 calc(100% - var(--_played,0%)) 0 0)}.uid-media-scrubber--wave:focus-visible{outline:2px solid var(--uid-media-focus,var(--uid-color-focus-ring,currentColor));outline-offset:2px}.uid-media-scrubber__placeholder{background:linear-gradient(90deg, transparent 0, #ffffff8c 50%, transparent 100%) no-repeat, repeating-linear-gradient(90deg, var(--uid-media-wave,#c4c4c8) 0 2px, transparent 2px 3px);opacity:.6;background-position:-40% 0,0 0;background-size:40% 100%,auto;border-radius:2px;width:100%;height:40%;animation:1.4s ease-in-out infinite uid-media-shimmer;position:relative}:root[data-theme=dark] .uid-media-scrubber__placeholder{background:linear-gradient(90deg, transparent 0, #ffffff2e 50%, transparent 100%) no-repeat, repeating-linear-gradient(90deg, var(--uid-media-wave,#52525b) 0 2px, transparent 2px 3px);background-position:-40% 0,0 0;background-size:40% 100%,auto}@keyframes uid-media-shimmer{to{background-position:140% 0,0 0}}.uid-media-scrubber__hover-line{background:var(--uid-media-hover-line,var(--uid-text-secondary,#888));pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.uid-media-scrubber__preview{pointer-events:none;z-index:2;flex-direction:column;align-items:center;gap:4px;display:flex;position:absolute;bottom:calc(100% + 6px);transform:translate(-50%)}.uid-media-scrubber__thumb{border-radius:var(--uid-radius-sm,4px);background-color:#000;background-repeat:no-repeat;border:2px solid #ffffffe6;box-shadow:0 4px 12px #0006}.uid-media-scrubber__chapter{text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:var(--uid-font-size-xs,12px);color:var(--uid-media-tooltip-color,#fff);text-shadow:0 1px 2px #0009;font-weight:600;overflow:hidden}.uid-media-scrubber__time{border-radius:var(--uid-radius-sm,4px);background:var(--uid-media-tooltip-bg,#000000bf);color:var(--uid-media-tooltip-color,#fff);font-size:var(--uid-font-size-xs,12px);font-variant-numeric:tabular-nums;white-space:nowrap;padding:2px 6px}.uid-media-menu{flex:none;display:inline-flex;position:relative}.uid-media-menu__panel{z-index:5;min-width:168px;max-height:var(--uid-media-menu-max-height,280px);border-radius:var(--uid-radius-lg,12px);background:var(--uid-media-menu-bg,#1c1c1ef0);color:var(--uid-media-menu-color,#fff);box-shadow:var(--uid-shadow-lg,0 8px 24px #0000004d);border:1px solid var(--uid-media-menu-border,transparent);font-size:var(--uid-font-size-sm,14px);animation:uid-media-menu-in var(--uid-duration-fast,.12s) var(--uid-ease-out,ease-out);padding:6px;position:absolute;bottom:calc(100% + 8px);overflow-y:auto}.uid-media-menu__panel--sheet{z-index:var(--uid-z-popover,1000);-webkit-backdrop-filter:blur(8px);flex-direction:column;gap:2px;padding:0 10px 8px;display:flex;position:fixed;bottom:auto;right:auto;overflow-y:auto}.uid-media-menu__panel--sheet .uid-media-menu__group{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:3px 4px;display:grid}.uid-media-menu__panel--sheet .uid-media-menu__group--compact{grid-template-columns:repeat(auto-fill,minmax(42px,1fr))}.uid-media-menu__panel--sheet .uid-media-menu__group--compact .uid-media-menu__item{font-size:var(--uid-font-size-xs,12px);padding:2px}.uid-media-menu__panel--sheet .uid-media-menu__group+.uid-media-menu__group{border-top:0;margin-top:0;padding-top:2px}.uid-media-menu__panel--sheet .uid-media-menu__heading{grid-column:1/-1;padding:0 2px;font-size:11px;line-height:16px}.uid-media-menu__panel--sheet .uid-media-menu__item{border:1px solid var(--uid-media-menu-divider,#ffffff24);text-align:center;justify-content:center;min-height:30px;padding:2px 6px}.uid-media-menu__panel--sheet .uid-media-menu__check,.uid-media-menu__panel--sheet .uid-media-menu__hint{display:none}.uid-media-menu__panel--sheet .uid-media-menu__label{flex:none}.uid-media-menu__panel--sheet .uid-media-menu__item[aria-checked=true]{border-color:var(--uid-media-accent,var(--uid-accent));background:color-mix(in srgb, var(--uid-media-accent,var(--uid-accent)) 22%, transparent)}.uid-media-menu__sheet-head{justify-content:space-between;align-items:center;min-height:30px;font-weight:600;display:flex}.uid-media-menu__close{--uid-media-button-size:32px;--uid-media-button-size-touch:36px;margin-right:-6px}.uid-media-menu__panel--end{right:0}.uid-media-menu__panel--start{left:0}@keyframes uid-media-menu-in{0%{opacity:0;transform:translateY(4px)}}.uid-media-menu__group+.uid-media-menu__group{border-top:1px solid var(--uid-media-menu-divider,#ffffff24);margin-top:4px;padding-top:4px}.uid-media-menu__panel:not(.uid-media-menu__panel--sheet):has(.uid-media-menu__group+.uid-media-menu__group){grid-auto-columns:minmax(136px,auto);grid-auto-flow:column;display:grid}.uid-media-menu__panel:not(.uid-media-menu__panel--sheet) .uid-media-menu__group+.uid-media-menu__group{border-top:0;border-left:1px solid var(--uid-media-menu-divider,#ffffff24);margin:0 0 0 6px;padding:0 0 0 6px}.uid-media-menu__heading{font-size:var(--uid-font-size-xs,12px);text-transform:uppercase;letter-spacing:.04em;opacity:.65;padding:4px 10px 2px;font-weight:600}.uid-media-menu__item{border-radius:var(--uid-radius-md,8px);width:100%;min-height:34px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:4px 10px 4px 8px;display:flex}.uid-media-menu__item:hover,.uid-media-menu__item:focus-visible{background:var(--uid-media-hover-bg,#ffffff1f)}.uid-media-menu__check{opacity:.45;border:2px solid;border-radius:50%;flex:none;width:16px;height:16px}.uid-media-menu__item[aria-checked=true] .uid-media-menu__check{border-color:var(--uid-media-accent,var(--uid-accent));background:radial-gradient(circle, var(--uid-media-accent,var(--uid-accent)) 0 3.5px, transparent 4px);opacity:1}.uid-media-menu__item[aria-checked=true]{font-weight:600}.uid-media-menu__label{white-space:nowrap;flex:1}.uid-media-menu__hint{opacity:.6;font-size:var(--uid-font-size-xs,12px)}@media (hover:none) and (pointer:coarse){.uid-media-menu__item{min-height:44px}}@media (prefers-reduced-motion:reduce){.uid-media__spin{animation-duration:2.4s}.uid-media-scrubber__placeholder{animation:none}.uid-media__volume-range,.uid-media-scrubber__rail,.uid-media-scrubber__handle,.uid-media-menu__panel{transition:none;animation:none}}.uid-video{--uid-media-accent:var(--uid-video-accent,var(--uid-accent));--uid-media-played:var(--uid-video-accent,var(--uid-accent));--uid-media-thumb:var(--uid-video-accent,var(--uid-accent));--uid-media-rail:#ffffff47;--uid-media-buffered:#ffffff80;--uid-media-focus:#fff;border-radius:var(--uid-video-radius,var(--uid-radius-lg,12px));background:var(--uid-video-bg,#000);color:#fff;width:100%;font-family:var(--uid-font-family-sans,system-ui, sans-serif);isolation:isolate;-webkit-user-select:none;user-select:none;outline:none;line-height:1.2;display:block;position:relative;overflow:hidden}.uid-video:focus-visible{box-shadow:0 0 0 3px var(--uid-color-focus-ring,var(--uid-accent))}.uid-video--fullscreen{border-radius:0}.uid-video__media{object-fit:contain;background:0 0;width:100%;height:100%;display:block}.uid-video__media::cue{opacity:0}.uid-video--bare .uid-video__media::cue{opacity:1}.uid-video__surface{z-index:1;cursor:pointer;-webkit-tap-highlight-color:transparent;position:absolute;inset:0}.uid-video--playing.uid-video--controls-hidden,.uid-video--playing.uid-video--controls-hidden .uid-video__surface{cursor:none}.uid-video__controls{z-index:3;transition:opacity var(--uid-duration-base,.2s), transform var(--uid-duration-base,.2s);background:linear-gradient(#0000,#00000061 45%,#000000b8);padding:32px 12px 6px;position:absolute;bottom:0;left:0;right:0}.uid-video--controls-hidden .uid-video__controls{opacity:0;pointer-events:none;transform:translateY(8px)}.uid-video__scrubber{margin:0 4px}.uid-video__bar{align-items:center;gap:2px;min-width:0;min-height:44px;display:flex}.uid-video__bar .uid-media__time{text-shadow:0 1px 2px #00000080;margin-left:6px}.uid-video__chapter{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--uid-font-size-sm,14px);opacity:.85;margin-left:6px;overflow:hidden}.uid-video__chapter:before{content:\"·\";margin-right:6px}.uid-video__spacer{flex:1}.uid-video__live{height:28px;color:inherit;font:inherit;font-size:var(--uid-font-size-xs,12px);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;background:#ffffff24;border:0;border-radius:999px;align-items:center;gap:6px;margin-left:6px;padding:0 10px;font-weight:700;display:inline-flex}.uid-video__live-dot{background:#fff9;border-radius:50%;width:8px;height:8px}.uid-video__live--edge .uid-video__live-dot{background:var(--uid-color-rose-500,#f43f5e)}.uid-video__live:focus-visible{outline-offset:2px;outline:2px solid #fff}.uid-video__big-play{z-index:2;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);width:68px;height:68px;transition:background-color var(--uid-duration-fast,.12s), transform var(--uid-duration-fast,.12s);background:#0000008c;border:0;border-radius:50%;justify-content:center;align-items:center;margin:-34px 0 0 -34px;padding:0 0 0 4px;display:flex;position:absolute;top:50%;left:50%}.uid-video__big-play:has(.uid-video__big-icon--pause){padding:0}.uid-video--controls-hidden .uid-video__big-play{opacity:0;pointer-events:none}.uid-video--paused .uid-video__big-play{opacity:1;pointer-events:auto}.uid-video__big-play:hover{background:#000000b8;transform:scale(1.06)}.uid-video__big-play:focus-visible{outline-offset:3px;outline:3px solid #fff}.uid-video--started .uid-video__big-play{width:60px;height:60px;margin:-30px 0 0 -30px}.uid-video__loading{z-index:2;color:#fff;filter:drop-shadow(0 1px 3px #00000080);pointer-events:none;margin:-22px 0 0 -22px;animation:.2s .35s both uid-video-fade-in;position:absolute;top:50%;left:50%}@keyframes uid-video-fade-in{0%{opacity:0}}.uid-video__flash{z-index:2;font-size:var(--uid-font-size-sm,14px);pointer-events:none;background:#0000008c;border-radius:999px;padding:8px 14px;font-weight:600;animation:.12s both uid-video-fade-in;position:absolute;top:50%;transform:translateY(-50%)}.uid-video__flash--left{left:12%}.uid-video__flash--right{right:12%}.uid-video__captions{z-index:2;text-align:center;pointer-events:none;transition:bottom var(--uid-duration-base,.2s);flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;bottom:18px;left:5%;right:5%}.uid-video:not(.uid-video--controls-hidden) .uid-video__captions{bottom:96px}.uid-video__caption-line{color:#fff;font-size:var(--uid-video-caption-size,clamp(14px, 2.6cqw, 28px));white-space:pre-wrap;background:#000000bf;border-radius:4px;padding:2px 8px;line-height:1.35}.uid-video{container-type:inline-size}.uid-video__error{z-index:4;text-align:center;background:#000000c7;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;inset:0}.uid-video__error-text{max-width:420px;font-size:var(--uid-font-size-sm,14px);margin:0;line-height:1.45}.uid-video__retry{border-radius:var(--uid-radius-md,8px);height:34px;color:inherit;font:inherit;font-size:var(--uid-font-size-sm,14px);cursor:pointer;background:0 0;border:1px solid #fff6;padding:0 16px}.uid-video__retry:hover{background:#ffffff1f}.uid-video__retry:focus-visible{outline-offset:2px;outline:2px solid #fff}@container (width<=480px){.uid-video__chapter{display:none}.uid-video__controls{padding:24px 6px 2px}.uid-video:not(.uid-video--controls-hidden) .uid-video__captions{bottom:84px}}@container (width<=360px){.uid-video__pip{display:none}}@media (prefers-reduced-motion:reduce){.uid-video__controls,.uid-video__captions,.uid-video__big-play{transition:none}.uid-video--controls-hidden .uid-video__controls{transform:none}}.uid-video:has(.uid-media-scrubber__preview) .uid-video__captions{opacity:0}.uid-audio{--uid-media-accent:var(--uid-audio-accent,var(--uid-accent));--uid-media-played:var(--uid-audio-accent,var(--uid-accent));--uid-media-thumb:var(--uid-audio-accent,var(--uid-accent));--uid-media-rail:var(--uid-border-subtle,#e4e4e7);--uid-media-buffered:var(--uid-border-default,#d4d4d8);--uid-media-wave:var(--uid-audio-wave,var(--uid-border-hover,#a1a1aa));--uid-media-hover-bg:var(--uid-surface-base,#f4f4f5);--uid-media-focus:var(--uid-color-focus-ring,var(--uid-accent));--uid-media-menu-bg:var(--uid-surface-overlay,#fff);--uid-media-menu-color:var(--uid-text-primary,#18181b);--uid-media-menu-border:var(--uid-border-subtle,#e4e4e7);--uid-media-menu-divider:var(--uid-border-subtle,#e4e4e7);--uid-media-tooltip-bg:var(--uid-text-primary,#18181b);--uid-media-tooltip-color:var(--uid-surface-raised,#fff);--uid-media-button-size:36px;width:100%;padding:var(--uid-audio-padding,12px 14px);border:1px solid var(--uid-audio-border,var(--uid-border-subtle,#e4e4e7));border-radius:var(--uid-audio-radius,var(--uid-radius-lg,12px));background:var(--uid-audio-bg,var(--uid-surface-raised,#fff));color:var(--uid-text-primary,#18181b);font-family:var(--uid-font-family-sans,system-ui, sans-serif);box-sizing:border-box;line-height:1.3;display:block;container-type:inline-size}:root[data-theme=dark] .uid-audio{--uid-media-wave:var(--uid-audio-wave,var(--uid-border-default,#52525b))}:root[data-theme=dark] .uid-audio__play{color:var(--uid-audio-play-color,var(--uid-color-zinc-950,#09090b))}.uid-audio__media{display:none}.uid-audio__row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:\"lead track side\";align-items:center;gap:0 12px;min-width:0;display:grid}.uid-audio__row--meta{grid-template-areas:\"lead meta side\"\"lead track side\"}.uid-audio__lead{grid-area:lead}.uid-audio__meta{grid-area:meta}.uid-audio__track{grid-area:track;min-width:0}.uid-audio__side{grid-area:side}.uid-audio__lead{flex:none;align-items:center;gap:2px;display:flex}.uid-audio__play{width:var(--uid-audio-play-size,44px);height:var(--uid-audio-play-size,44px);background:var(--uid-media-accent);color:var(--uid-audio-play-color,var(--uid-text-on-accent,#fff));cursor:pointer;transition:background-color var(--uid-duration-fast,.12s), transform var(--uid-duration-fast,.12s);border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.uid-audio__play:hover:not(:disabled){background:var(--uid-audio-accent-hover,var(--uid-accent-hover,var(--uid-media-accent)))}.uid-audio__play:active:not(:disabled){transform:scale(.95)}.uid-audio__play:focus-visible{outline:2px solid var(--uid-media-focus);outline-offset:2px}.uid-audio__play:disabled{opacity:.5;cursor:default}.uid-audio__play-icon{margin-left:2px}.uid-audio__play .uid-audio__play-icon{fill:currentColor}.uid-audio__skip{color:var(--uid-text-secondary,#71717a)}.uid-audio__skip:hover:not(:disabled){color:var(--uid-text-primary,#18181b)}.uid-audio__meta{min-width:0;font-size:var(--uid-font-size-sm,14px);align-items:baseline;gap:8px;display:flex}.uid-audio__title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.uid-audio__artist{text-overflow:ellipsis;white-space:nowrap;max-width:40%;color:var(--uid-text-secondary,#71717a);flex:none;overflow:hidden}.uid-audio__artist:before{content:\"—\";margin-right:8px}.uid-audio--wave .uid-audio__scrubber{--uid-media-scrubber-height:var(--uid-audio-wave-height,40px)}.uid-audio__error{min-height:18px;color:var(--uid-danger,#e11d48);font-size:var(--uid-font-size-sm,14px);align-items:center;gap:6px;margin:0;display:flex}.uid-audio__side{color:var(--uid-text-secondary,#71717a);flex:none;align-items:center;gap:2px;display:flex}.uid-audio__time{min-width:4.5em;font-size:var(--uid-font-size-xs,12px);text-align:right;margin-right:4px}.uid-audio__rate{width:auto;min-width:40px;padding:0 6px}.uid-audio__rate-text{font-size:var(--uid-font-size-xs,12px);font-variant-numeric:tabular-nums;font-weight:600}.uid-audio .uid-media-menu__panel{min-width:140px;top:calc(100% + 6px);bottom:auto}@container (width>=560px){.uid-audio__volume .uid-media__volume-range{width:var(--uid-media-volume-width,72px);opacity:1;margin:0 8px 0 2px}}@container (width<=480px){.uid-audio:not(.uid-audio--mini) .uid-audio__volume{display:none}.uid-audio:not(.uid-audio--mini) .uid-audio__side{display:contents}.uid-audio:not(.uid-audio--mini) .uid-audio__side .uid-media-menu{grid-area:rate}.uid-audio:not(.uid-audio--mini) .uid-audio__time{text-align:left;grid-area:time;min-width:0;margin:2px 0 0}.uid-audio:not(.uid-audio--mini) .uid-audio__row{grid-template-areas:\"lead track rate\"\"lead time time\";gap:0 8px}.uid-audio:not(.uid-audio--mini) .uid-audio__row--meta{grid-template-areas:\"lead meta rate\"\"track track track\"\"time time time\"}.uid-audio__row--meta .uid-audio__track{margin-top:6px}.uid-audio__meta{flex-direction:column;align-items:stretch;gap:0}.uid-audio__title,.uid-audio__artist{max-width:100%}.uid-audio__artist{font-size:var(--uid-font-size-xs,12px)}.uid-audio__artist:before{display:none}}.uid-audio__list{max-height:var(--uid-audio-list-max-height,280px);border-top:1px solid var(--uid-border-subtle,#e4e4e7);flex-direction:column;gap:2px;margin:12px -6px -4px;padding:8px 0 0;list-style:none;display:flex;overflow-y:auto}.uid-audio__item{border-radius:var(--uid-radius-md,8px);width:100%;min-height:44px;color:inherit;font:inherit;font-size:var(--uid-font-size-sm,14px);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:6px 10px;display:flex}.uid-audio__item:hover{background:var(--uid-surface-base,#f4f4f5)}.uid-audio__item:focus-visible{outline:2px solid var(--uid-media-focus);outline-offset:-2px}.uid-audio__item--active{background:var(--uid-accent-subtle,#f0fdfa);color:var(--uid-accent-text,var(--uid-media-accent))}.uid-audio__item--active:hover{background:var(--uid-accent-subtle,#f0fdfa)}.uid-audio__item-index{width:20px;color:var(--uid-text-secondary,#71717a);font-size:var(--uid-font-size-xs,12px);font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;display:inline-flex}.uid-audio__item--active .uid-audio__item-index{color:inherit}.uid-audio__item-text{flex-direction:column;flex:1;min-width:0;display:flex}.uid-audio__item-title,.uid-audio__item-artist{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uid-audio__item--active .uid-audio__item-title{font-weight:600}.uid-audio__item-artist{color:var(--uid-text-secondary,#71717a);font-size:var(--uid-font-size-xs,12px)}.uid-audio__item-time{color:var(--uid-text-secondary,#71717a);font-size:var(--uid-font-size-xs,12px);font-variant-numeric:tabular-nums;flex:none}.uid-audio__eq{align-items:flex-end;gap:2px;height:12px;display:inline-flex}.uid-audio__eq i{transform-origin:bottom;background:currentColor;border-radius:1px;width:3px;height:100%;animation:.9s ease-in-out infinite uid-audio-eq}.uid-audio__eq i:nth-child(2){animation-delay:-.3s}.uid-audio__eq i:nth-child(3){animation-delay:-.6s}@keyframes uid-audio-eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.uid-audio--mini{--uid-media-scrubber-height:24px;--uid-audio-play-size:28px;--uid-audio-wave-height:24px;width:var(--uid-audio-mini-width,240px);vertical-align:middle;background:0 0;border:0;max-width:100%;padding:0;display:inline-block}.uid-audio--mini .uid-audio__row{gap:8px}.uid-audio--mini .uid-audio__time{min-width:2.8em;margin:0}.uid-audio--mini .uid-audio__error{font-size:var(--uid-font-size-xs,12px)}.uid-audio--mini .uid-audio__error span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (hover:none) and (pointer:coarse){.uid-audio--mini{--uid-audio-play-size:36px}}@media (prefers-reduced-motion:reduce){.uid-audio__eq i{animation:none;transform:scaleY(.7)}.uid-audio__play{transition:none}}.uid-rating{--uid-rating-color:var(--uid-color-warning,#f59e0b);--uid-rating-color-empty:var(--uid-color-border);--uid-rating-size:24px;--uid-rating-gap:var(--uid-space-2xs);align-items:center;gap:var(--uid-rating-gap);font-size:var(--uid-rating-size);-webkit-user-select:none;user-select:none;line-height:1;display:inline-flex}.uid-rating--readonly{cursor:default}.uid-rating--disabled{opacity:.5;pointer-events:none}.uid-rating__star{cursor:pointer;width:1em;height:1em;color:var(--uid-rating-color-empty);transition:transform var(--uid-duration-fast) var(--uid-ease-out);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.uid-rating__star:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px;border-radius:4px}.uid-rating__star:hover{transform:scale(1.15)}.uid-rating--readonly .uid-rating__star,.uid-rating--readonly .uid-rating__star:hover{cursor:default;transform:none}.uid-rating__icon{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.uid-rating__icon--filled{color:var(--uid-rating-color);clip-path:inset(0)}.uid-rating__icon--filled[data-half=true]{clip-path:inset(0 50% 0 0)}.uid-rating__label{margin-left:var(--uid-space-xs);font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);font-variant-numeric:tabular-nums}.uid-rating--sm{--uid-rating-size:16px}.uid-rating--lg{--uid-rating-size:32px}.uid-rating--primary{--uid-rating-color:var(--uid-color-primary)}.uid-rating--success{--uid-rating-color:var(--uid-color-success)}.uid-rating--danger{--uid-rating-color:var(--uid-color-danger)}.uid-splitter{width:100%;height:100%;display:flex;position:relative;overflow:hidden}.uid-splitter--horizontal{flex-direction:row}.uid-splitter--vertical{flex-direction:column}.uid-splitter__pane{flex-grow:0;flex-shrink:0;min-width:0;min-height:0;position:relative;overflow:auto}.uid-splitter__pane--end{flex:1}.uid-splitter__handle{background:var(--uid-color-border);-webkit-user-select:none;user-select:none;transition:background var(--uid-duration-fast) var(--uid-ease-out);outline:none;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.uid-splitter__handle:hover,.uid-splitter__handle:focus-visible,.uid-splitter--dragging .uid-splitter__handle{background:var(--uid-color-primary)}.uid-splitter--horizontal .uid-splitter__handle{cursor:col-resize;width:4px;margin:0}.uid-splitter--vertical .uid-splitter__handle{cursor:row-resize;height:4px}.uid-splitter__handle:before{content:\"\";position:absolute;inset:-4px}.uid-splitter__grip{pointer-events:none;color:var(--uid-color-text-tertiary);gap:2px;display:flex}.uid-splitter__grip-dot{background:currentColor;border-radius:50%;width:2px;height:2px}.uid-splitter--horizontal .uid-splitter__grip{flex-direction:column}.uid-splitter--dragging{cursor:col-resize}.uid-splitter--dragging.uid-splitter--vertical{cursor:row-resize}.uid-splitter--disabled .uid-splitter__handle{cursor:not-allowed;opacity:.4;pointer-events:none}.uid-stat{--uid-stat-padding:var(--uid-space-md);--uid-stat-radius:var(--uid-radius-md);--uid-stat-bg:var(--uid-color-bg);--uid-stat-border:var(--uid-color-border);gap:var(--uid-space-md);padding:var(--uid-stat-padding);background:var(--uid-stat-bg);border:1px solid var(--uid-stat-border);border-radius:var(--uid-stat-radius);align-items:flex-start;min-width:0;display:flex}.uid-stat--bordered-none{border:none}.uid-stat--ghost{background:0 0;border:none;padding:0}.uid-stat__icon{border-radius:var(--uid-radius-md);background:var(--uid-color-primary-subtle);width:40px;height:40px;color:var(--uid-color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.uid-stat--success .uid-stat__icon{background:var(--uid-color-success-subtle);color:var(--uid-color-success)}.uid-stat--warning .uid-stat__icon{background:var(--uid-color-warning-subtle);color:var(--uid-color-warning)}.uid-stat--danger .uid-stat__icon{background:var(--uid-color-danger-subtle);color:var(--uid-color-danger)}.uid-stat--info .uid-stat__icon{background:var(--uid-color-info-subtle);color:var(--uid-color-info)}.uid-stat__body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.uid-stat__title{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-color-text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;line-height:1.4;overflow:hidden}.uid-stat__value-row{align-items:baseline;gap:var(--uid-space-sm);flex-wrap:wrap;display:flex}.uid-stat__value{font-size:var(--uid-font-size-2xl,28px);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text);font-variant-numeric:tabular-nums;align-items:baseline;gap:2px;line-height:1.2;display:inline-flex}.uid-stat__prefix,.uid-stat__suffix{font-size:.65em;font-weight:var(--uid-font-weight-medium);color:var(--uid-color-text-tertiary)}.uid-stat__trend{border-radius:var(--uid-radius-sm);font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);background:var(--uid-color-bg-subtle);color:var(--uid-color-text-secondary);align-items:center;gap:2px;padding:2px 6px;display:inline-flex}.uid-stat__trend--up{background:var(--uid-color-success-subtle);color:var(--uid-color-success)}.uid-stat__trend--down{background:var(--uid-color-danger-subtle);color:var(--uid-color-danger)}.uid-stat__footer{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary);margin:0;line-height:1.4}.uid-stat--loading .uid-stat__title,.uid-stat--loading .uid-stat__value,.uid-stat--loading .uid-stat__footer{background:var(--uid-color-bg-subtle);color:#0000;border-radius:var(--uid-radius-sm);background-image:linear-gradient(90deg, transparent 0%, var(--uid-color-border) 50%, transparent 100%);background-size:200% 100%;animation:1.4s linear infinite uid-stat-shimmer}@keyframes uid-stat-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.uid-stat--trend-below .uid-stat__value-row{flex-direction:column;align-items:flex-start;gap:4px}.uid-description-list{--uid-desc-cols:1;--uid-desc-label-color:var(--uid-color-text-secondary);--uid-desc-value-color:var(--uid-color-text);font-size:var(--uid-font-size-md)}.uid-description-list__title{margin:0 0 var(--uid-space-md) 0;font-size:var(--uid-font-size-lg,18px);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text)}.uid-description-list__grid{grid-template-columns:repeat(var(--uid-desc-cols), 1fr);gap:0;display:grid}.uid-description-item{grid-column:span var(--uid-desc-span,1);min-width:0;display:flex}.uid-description-item__label{color:var(--uid-desc-label-color);font-weight:var(--uid-font-weight-medium);flex-shrink:0}.uid-description-item__value{color:var(--uid-desc-value-color);align-items:center;gap:var(--uid-space-xs);word-break:break-word;min-width:0;display:flex}.uid-description-item__copy{width:18px;height:18px;color:var(--uid-color-text-tertiary);cursor:pointer;border-radius:var(--uid-radius-sm);transition:color var(--uid-duration-fast), background var(--uid-duration-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.uid-description-item__copy:hover{background:var(--uid-color-bg-subtle);color:var(--uid-color-text)}.uid-description-item__copy--copied{color:var(--uid-color-success)}.uid-description-list--horizontal .uid-description-item{padding:var(--uid-space-sm) 0;align-items:baseline;gap:var(--uid-space-md)}.uid-description-list--horizontal .uid-description-item__label{width:var(--uid-desc-label-width,33%);min-width:120px}.uid-description-list--horizontal .uid-description-item__value{flex:1}.uid-description-list--vertical .uid-description-item{gap:var(--uid-space-2xs);padding:var(--uid-space-sm) 0;flex-direction:column}.uid-description-list--vertical .uid-description-item__label{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary)}.uid-description-list--bordered .uid-description-list__grid{border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);overflow:hidden}.uid-description-list--bordered .uid-description-item{padding:var(--uid-space-sm) var(--uid-space-md);border-right:1px solid var(--uid-color-border);border-bottom:1px solid var(--uid-color-border)}.uid-description-list--bordered.uid-description-list--horizontal .uid-description-item__label{background:var(--uid-color-bg-subtle);margin:calc(-1 * var(--uid-space-sm)) 0 calc(-1 * var(--uid-space-sm)) calc(-1 * var(--uid-space-md));padding:var(--uid-space-sm) var(--uid-space-md);align-self:stretch;align-items:center;display:flex}.uid-description-list--sm{font-size:var(--uid-font-size-sm)}.uid-description-list--lg{font-size:var(--uid-font-size-lg,16px)}.uid-pattern-result{text-align:center;padding:var(--uid-space-2xl) var(--uid-space-md);align-items:center;gap:var(--uid-space-md);flex-direction:column;max-width:560px;margin:0 auto;display:flex}.uid-pattern-result__icon{background:var(--uid-color-bg-subtle);width:72px;height:72px;color:var(--uid-color-text-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex}.uid-pattern-result--success .uid-pattern-result__icon{background:var(--uid-color-success-subtle);color:var(--uid-color-success)}.uid-pattern-result--info .uid-pattern-result__icon{background:var(--uid-color-info-subtle);color:var(--uid-color-info)}.uid-pattern-result--warning .uid-pattern-result__icon{background:var(--uid-color-warning-subtle);color:var(--uid-color-warning)}.uid-pattern-result--error .uid-pattern-result__icon{background:var(--uid-color-danger-subtle);color:var(--uid-color-danger)}.uid-pattern-result__title{font-size:var(--uid-font-size-xl,22px);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text);margin:0;line-height:1.3}.uid-pattern-result__description{font-size:var(--uid-font-size-md);color:var(--uid-color-text-secondary);max-width:480px;margin:0;line-height:1.5}.uid-pattern-result__content{width:100%;margin-top:var(--uid-space-md);padding:var(--uid-space-md);background:var(--uid-color-bg-subtle);border-radius:var(--uid-radius-md);font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);text-align:left}.uid-pattern-result__actions{gap:var(--uid-space-sm);margin-top:var(--uid-space-sm);flex-wrap:wrap;justify-content:center;display:flex}.uid-pattern-result--compact{padding:var(--uid-space-md);gap:var(--uid-space-sm)}.uid-pattern-result--compact .uid-pattern-result__icon{width:48px;height:48px}.uid-pattern-result--compact .uid-pattern-result__title{font-size:var(--uid-font-size-lg,18px)}.uid-back-top{right:var(--uid-back-top-right,32px);bottom:var(--uid-back-top-bottom,32px);z-index:var(--uid-z-fixed,1000);border:1px solid var(--uid-color-border);background:var(--uid-color-bg);width:44px;height:44px;color:var(--uid-color-text-secondary);cursor:pointer;box-shadow:var(--uid-shadow-md);transition:color var(--uid-duration-fast) var(--uid-ease-out), background var(--uid-duration-fast) var(--uid-ease-out), transform var(--uid-duration-fast) var(--uid-ease-out);border-radius:50%;outline:none;justify-content:center;align-items:center;padding:0;display:flex;position:fixed}.uid-back-top:hover{background:var(--uid-color-primary);color:var(--uid-color-text-on-primary);border-color:var(--uid-color-primary)}.uid-back-top:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-back-top:active{transform:translateY(1px)}.uid-back-top-enter-active,.uid-back-top-leave-active{transition:opacity var(--uid-duration-base) var(--uid-ease-out), transform var(--uid-duration-base) var(--uid-ease-out)}.uid-back-top-enter-from,.uid-back-top-leave-to{opacity:0;transform:translateY(8px)}.uid-affix{position:relative}.uid-affix__sentinel{visibility:hidden;pointer-events:none;width:100%;height:1px}.uid-affix__content{z-index:var(--uid-z-affix,90);transition:box-shadow var(--uid-duration-base) var(--uid-ease-out);position:sticky}.uid-affix--top .uid-affix__content{top:var(--uid-affix-offset,0px)}.uid-affix--bottom .uid-affix__content{bottom:var(--uid-affix-offset,0px)}.uid-affix--affixed .uid-affix__content{box-shadow:var(--uid-shadow-sm)}.uid-watermark{isolation:isolate;position:relative}.uid-watermark__overlay{pointer-events:none;z-index:var(--uid-watermark-z,9);background-position:0 0;background-repeat:repeat;background-size:var(--uid-watermark-size,auto);background-image:var(--uid-watermark-image,none);position:absolute;inset:0}.uid-watermark__content{z-index:1;position:relative}.uid-anchor{border-left:2px solid var(--uid-color-border);font-size:var(--uid-font-size-sm);flex-direction:column;padding-left:0;display:flex}.uid-anchor__list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.uid-anchor__item{flex-direction:column;display:flex;position:relative}.uid-anchor__link{padding:var(--uid-space-xs) var(--uid-space-md);color:var(--uid-color-text-secondary);transition:color var(--uid-duration-fast) var(--uid-ease-out);border-left:2px solid #0000;border-radius:0;margin-left:-2px;text-decoration:none;display:block}.uid-anchor__link:hover{color:var(--uid-color-text)}.uid-anchor__link--active{color:var(--uid-color-primary);border-left-color:var(--uid-color-primary);font-weight:var(--uid-font-weight-medium)}.uid-anchor__sublist{padding:0 0 0 var(--uid-space-md);margin:0;list-style:none}.uid-anchor__sublist .uid-anchor__link{font-size:.92em}.uid-tour{z-index:var(--uid-z-modal,1500);pointer-events:none;position:fixed;inset:0}.uid-tour__mask{pointer-events:auto;background:#00000073;position:fixed;inset:0}.uid-tour__spotlight{border-radius:var(--uid-radius-md);pointer-events:none;outline:2px solid var(--uid-color-primary);outline-offset:2px;transition:top var(--uid-duration-base) var(--uid-ease-out), left var(--uid-duration-base) var(--uid-ease-out), width var(--uid-duration-base) var(--uid-ease-out), height var(--uid-duration-base) var(--uid-ease-out);position:absolute;box-shadow:0 0 0 9999px #00000073}.uid-tour__popover{background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);width:320px;box-shadow:var(--uid-shadow-lg);padding:var(--uid-space-md);pointer-events:auto;z-index:1;transition:top var(--uid-duration-base) var(--uid-ease-out), left var(--uid-duration-base) var(--uid-ease-out);position:absolute}.uid-tour__popover--center{transition:none;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.uid-tour__title{margin:0 0 var(--uid-space-xs) 0;font-size:var(--uid-font-size-lg,18px);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text)}.uid-tour__description{margin:0 0 var(--uid-space-md) 0;font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);line-height:1.5}.uid-tour__footer{justify-content:space-between;align-items:center;gap:var(--uid-space-sm);display:flex}.uid-tour__progress{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary);font-variant-numeric:tabular-nums}.uid-tour__actions{gap:var(--uid-space-xs);display:flex}.uid-tour__btn{border:1px solid var(--uid-color-border);background:var(--uid-color-bg);color:var(--uid-color-text);font-size:var(--uid-font-size-sm);border-radius:var(--uid-radius-sm);cursor:pointer;transition:background var(--uid-duration-fast);padding:6px 12px}.uid-tour__btn:hover{background:var(--uid-color-bg-subtle)}.uid-tour__btn--primary{background:var(--uid-color-primary);color:var(--uid-color-text-on-primary);border-color:var(--uid-color-primary)}.uid-tour__btn--primary:hover{background:var(--uid-color-primary-hover);border-color:var(--uid-color-primary-hover)}.uid-tour__btn--ghost{color:var(--uid-color-text-secondary);border-color:#0000}.uid-tour__btn--ghost:hover{background:var(--uid-color-bg-subtle)}.uid-mention{gap:var(--uid-space-xs);flex-direction:column;display:flex;position:relative}.uid-mention__label{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary)}.uid-mention__field{width:100%;padding:var(--uid-space-sm) 12px;border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-surface-raised);color:var(--uid-color-text);font:inherit;font-size:var(--uid-font-size-md);resize:vertical;transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);line-height:1.5;display:block}.uid-mention__field:focus{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle);outline:none}.uid-mention__field::placeholder{color:var(--uid-color-text-tertiary)}.uid-mention--disabled .uid-mention__field{opacity:.5;cursor:not-allowed;background:var(--uid-surface-base)}.uid-mention__dropdown{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);box-shadow:var(--uid-shadow-md);width:240px;max-height:240px;padding:var(--uid-space-2xs);overflow-y:auto}.uid-mention__option{align-items:center;gap:var(--uid-space-sm);width:100%;padding:var(--uid-space-sm);border-radius:var(--uid-radius-sm);text-align:left;cursor:pointer;font-size:var(--uid-font-size-md);color:var(--uid-color-text);background:0 0;border:none;display:flex}.uid-mention__option:hover,.uid-mention__option--active{background:var(--uid-color-bg-subtle)}.uid-mention__option-label{font-weight:var(--uid-font-weight-medium)}.uid-mention__option-hint{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary);margin-left:auto}.uid-mention__empty{padding:var(--uid-space-md);text-align:center;color:var(--uid-color-text-tertiary);font-size:var(--uid-font-size-sm)}.uid-tree-select{gap:var(--uid-space-xs);flex-direction:column;display:flex;position:relative}.uid-tree-select__label{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary)}.uid-tree-select__required{color:var(--uid-danger)}.uid-tree-select__trigger{align-items:center;gap:var(--uid-space-sm);min-height:var(--uid-size-md);padding:0 var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-surface-raised);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);outline:none;display:flex}.uid-tree-select--open .uid-tree-select__trigger,.uid-tree-select__trigger:focus-visible{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle)}.uid-tree-select--disabled .uid-tree-select__trigger{opacity:.5;cursor:not-allowed;pointer-events:none;background:var(--uid-surface-base)}.uid-tree-select__value{align-items:center;gap:var(--uid-space-xs);padding:var(--uid-space-2xs) 0;font-size:var(--uid-font-size-md);color:var(--uid-color-text);flex-wrap:wrap;flex:1;min-width:0;display:flex}.uid-tree-select__placeholder{color:var(--uid-color-text-tertiary)}.uid-tree-select__chip{align-items:center;gap:var(--uid-space-2xs);padding:2px var(--uid-space-xs);background:var(--uid-color-primary-subtle);color:var(--uid-color-primary);border-radius:var(--uid-radius-sm);font-size:var(--uid-font-size-sm);display:inline-flex}.uid-tree-select__chip-remove{width:14px;height:14px;color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.uid-tree-select__chip-remove:hover{opacity:1}.uid-tree-select__suffix{align-items:center;gap:var(--uid-space-xs);color:var(--uid-color-text-secondary);flex-shrink:0;display:flex}.uid-tree-select__clear{border-radius:var(--uid-radius-sm);cursor:pointer;width:18px;height:18px;color:var(--uid-color-text-secondary);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.uid-tree-select__clear:hover{color:var(--uid-color-text)}.uid-tree-select__chevron{transition:transform var(--uid-duration-base)}.uid-tree-select__chevron--open{transform:rotate(180deg)}.uid-tree-select__hint{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);margin:0}.uid-tree-select__hint--error{color:var(--uid-danger)}.uid-tree-select--error .uid-tree-select__trigger{border-color:var(--uid-danger)}.uid-tree-select__dropdown{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);box-shadow:var(--uid-shadow-md);max-height:320px;padding:var(--uid-space-xs) 0;left:0;overflow-y:auto}.uid-tree-select--sm .uid-tree-select__trigger{min-height:var(--uid-size-sm);padding-inline:var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-tree-select--lg .uid-tree-select__trigger{min-height:var(--uid-size-lg);padding-inline:var(--uid-space-md)}.uid-tree-select--sm .uid-tree-select__value{font-size:var(--uid-font-size-sm)}.uid-tree-select--md .uid-tree-select__value{font-size:var(--uid-font-size-md)}.uid-tree-select--lg .uid-tree-select__value{font-size:var(--uid-font-size-lg)}.uid-notification-badge{--uid-notif-badge-size:18px;--uid-notif-badge-color:var(--uid-color-text-on-primary);--uid-notif-badge-bg:var(--uid-color-danger);--uid-notif-badge-offset-x:0px;--uid-notif-badge-offset-y:0px;display:inline-flex;position:relative}.uid-notification-badge__dot,.uid-notification-badge__count{background:var(--uid-notif-badge-bg);color:var(--uid-notif-badge-color);box-shadow:0 0 0 2px var(--uid-color-bg);pointer-events:none;font-variant-numeric:tabular-nums;border-radius:999px;justify-content:center;align-items:center;display:inline-flex;position:absolute}.uid-notification-badge__dot{width:8px;height:8px}.uid-notification-badge__count{min-width:var(--uid-notif-badge-size);height:var(--uid-notif-badge-size);font-size:11px;font-weight:var(--uid-font-weight-semibold);padding:0 6px;line-height:1}.uid-notification-badge--top-right .uid-notification-badge__dot,.uid-notification-badge--top-right .uid-notification-badge__count{top:var(--uid-notif-badge-offset-y);right:var(--uid-notif-badge-offset-x);transform:translate(50%,-50%)}.uid-notification-badge--top-left .uid-notification-badge__dot,.uid-notification-badge--top-left .uid-notification-badge__count{top:var(--uid-notif-badge-offset-y);left:var(--uid-notif-badge-offset-x);transform:translate(-50%,-50%)}.uid-notification-badge--bottom-right .uid-notification-badge__dot,.uid-notification-badge--bottom-right .uid-notification-badge__count{bottom:var(--uid-notif-badge-offset-y);right:var(--uid-notif-badge-offset-x);transform:translate(50%,50%)}.uid-notification-badge--bottom-left .uid-notification-badge__dot,.uid-notification-badge--bottom-left .uid-notification-badge__count{bottom:var(--uid-notif-badge-offset-y);left:var(--uid-notif-badge-offset-x);transform:translate(-50%,50%)}.uid-notification-badge--primary .uid-notification-badge__dot,.uid-notification-badge--primary .uid-notification-badge__count{background:var(--uid-color-primary)}.uid-notification-badge--success .uid-notification-badge__dot,.uid-notification-badge--success .uid-notification-badge__count{background:var(--uid-color-success)}.uid-notification-badge--warning .uid-notification-badge__dot,.uid-notification-badge--warning .uid-notification-badge__count{background:var(--uid-color-warning)}.uid-notification-badge--info .uid-notification-badge__dot,.uid-notification-badge--info .uid-notification-badge__count{background:var(--uid-color-info)}.uid-carousel{border-radius:var(--uid-radius-md);position:relative;overflow:hidden}.uid-carousel__track{transition:transform var(--uid-duration-slow,.4s) var(--uid-ease-in-out);will-change:transform;display:flex}.uid-carousel--no-transition .uid-carousel__track{transition:none}.uid-carousel__slide{flex:0 0 100%;min-width:0}.uid-carousel__arrow{color:#fff;cursor:pointer;z-index:2;width:36px;height:36px;transition:background var(--uid-duration-fast) var(--uid-ease-out);background:#0006;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.uid-carousel__arrow:hover{background:#0009}.uid-carousel__arrow:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-carousel__arrow:disabled{opacity:.4;cursor:not-allowed}.uid-carousel__arrow--prev{left:var(--uid-space-sm)}.uid-carousel__arrow--next{right:var(--uid-space-sm)}.uid-carousel__indicators{bottom:var(--uid-space-sm);justify-content:center;gap:var(--uid-space-xs);z-index:2;display:flex;position:absolute;left:0;right:0}.uid-carousel__indicator{cursor:pointer;width:8px;height:8px;transition:background var(--uid-duration-fast) var(--uid-ease-out), width var(--uid-duration-fast) var(--uid-ease-out);background:#ffffff80;border:none;border-radius:50%;padding:0}.uid-carousel__indicator--active{background:#fff;border-radius:4px;width:24px}.uid-carousel__indicator:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-carousel--vertical .uid-carousel__track{flex-direction:column}.uid-carousel--vertical .uid-carousel__slide{flex:0 0 100%;height:100%}.uid-carousel--vertical .uid-carousel__arrow--prev{top:var(--uid-space-sm);left:50%;transform:translate(-50%)}.uid-carousel--vertical .uid-carousel__arrow--next{top:auto;bottom:var(--uid-space-sm);left:50%;right:auto;transform:translate(-50%)}.uid-carousel--vertical .uid-carousel__indicators{top:50%;bottom:auto;right:var(--uid-space-sm);flex-direction:column;left:auto;transform:translateY(-50%)}.uid-transfer{gap:var(--uid-space-md);grid-template-columns:1fr auto 1fr;align-items:stretch;display:grid}.uid-transfer__panel{border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-color-bg);flex-direction:column;min-height:280px;display:flex;overflow:hidden}.uid-transfer__header{padding:var(--uid-space-sm) 12px;border-bottom:1px solid var(--uid-color-border);background:var(--uid-color-bg-subtle);font-size:var(--uid-font-size-sm);justify-content:space-between;align-items:center;gap:var(--uid-space-sm);min-height:40px;display:flex}.uid-transfer__title{font-weight:var(--uid-font-weight-medium);color:var(--uid-color-text);gap:var(--uid-space-xs);align-items:center;display:flex}.uid-transfer__count{color:var(--uid-color-text-tertiary);font-variant-numeric:tabular-nums}.uid-transfer__select-all{cursor:pointer;align-items:center;gap:4px;font-size:12px;display:inline-flex}.uid-transfer__search{padding:var(--uid-space-xs) 12px;border-bottom:1px solid var(--uid-color-border)}.uid-transfer__search-input{width:100%;color:var(--uid-color-text);font:inherit;font-size:var(--uid-font-size-sm);background:0 0;border:none;outline:none}.uid-transfer__search-input::placeholder{color:var(--uid-color-text-tertiary)}.uid-transfer__list{flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.uid-transfer__item{align-items:center;gap:var(--uid-space-sm);cursor:pointer;font-size:var(--uid-font-size-sm);color:var(--uid-color-text);transition:background var(--uid-duration-fast) var(--uid-ease-out);padding:8px 12px;display:flex}.uid-transfer__item:hover:not(.uid-transfer__item--disabled){background:var(--uid-color-bg-subtle)}.uid-transfer__item--disabled{opacity:.5;cursor:not-allowed}.uid-transfer__check{border:1px solid var(--uid-color-border);background:var(--uid-color-bg);width:14px;height:14px;color:var(--uid-color-text-on-primary);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.uid-transfer__check--checked{background:var(--uid-color-primary);border-color:var(--uid-color-primary)}.uid-transfer__label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.uid-transfer__empty{padding:var(--uid-space-md);text-align:center;color:var(--uid-color-text-tertiary);font-size:var(--uid-font-size-sm)}.uid-transfer__ops{justify-content:center;gap:var(--uid-space-sm);flex-direction:column;display:flex}.uid-transfer__op{border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-color-bg);width:32px;height:32px;color:var(--uid-color-text-secondary);cursor:pointer;transition:background var(--uid-duration-fast), color var(--uid-duration-fast);justify-content:center;align-items:center;display:flex}.uid-transfer__op:hover:not(:disabled){background:var(--uid-color-primary);color:var(--uid-color-text-on-primary);border-color:var(--uid-color-primary)}.uid-transfer__op:disabled{opacity:.4;cursor:not-allowed}.uid-transfer--disabled .uid-transfer__panel,.uid-transfer--disabled .uid-transfer__op{opacity:.6;pointer-events:none}.uid-cascader{gap:var(--uid-space-xs);flex-direction:column;display:flex;position:relative}.uid-cascader__label{font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);color:var(--uid-text-primary)}.uid-cascader__trigger{align-items:center;gap:var(--uid-space-sm);min-height:var(--uid-size-md);padding:var(--uid-space-xs) 12px;border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);background:var(--uid-surface-raised);cursor:pointer;-webkit-user-select:none;user-select:none;transition:border-color var(--uid-duration-fast) var(--uid-ease-out), box-shadow var(--uid-duration-fast) var(--uid-ease-out);outline:none;display:flex}.uid-cascader--open .uid-cascader__trigger,.uid-cascader__trigger:focus-visible{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle)}.uid-cascader--disabled .uid-cascader__trigger{opacity:.5;pointer-events:none;background:var(--uid-surface-base)}.uid-cascader__value{min-width:0;font-size:var(--uid-font-size-md);flex-wrap:wrap;flex:1;align-items:center;gap:4px;display:flex}.uid-cascader__placeholder{color:var(--uid-color-text-tertiary)}.uid-cascader__separator{color:var(--uid-color-text-tertiary);margin:0 2px}.uid-cascader__suffix{align-items:center;gap:var(--uid-space-xs);color:var(--uid-color-text-secondary);flex-shrink:0;display:flex}.uid-cascader__clear{cursor:pointer;width:18px;height:18px;color:var(--uid-color-text-secondary);border-radius:var(--uid-radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.uid-cascader__clear:hover{color:var(--uid-color-text)}.uid-cascader__chevron{transition:transform var(--uid-duration-base)}.uid-cascader__chevron--open{transform:rotate(180deg)}.uid-cascader__dropdown{z-index:var(--uid-z-popover,450);background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);box-shadow:var(--uid-shadow-md);flex-direction:column;max-height:360px;display:flex;overflow:hidden}.uid-cascader__columns{min-height:0;display:flex}.uid-cascader__search{padding:var(--uid-space-2xs);border-bottom:1px solid var(--uid-color-border)}.uid-cascader__search-input{width:100%;min-height:var(--uid-size-sm);padding:0 var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-surface-raised);color:var(--uid-color-text);font:inherit;font-size:var(--uid-font-size-sm);outline:none}.uid-cascader__search-input:focus-visible{border-color:var(--uid-color-primary);box-shadow:0 0 0 3px var(--uid-color-primary-subtle)}.uid-cascader__results{padding:var(--uid-space-2xs);min-width:240px;max-height:300px;margin:0;list-style:none;overflow-y:auto}.uid-cascader__result{padding:var(--uid-space-sm) 12px;border-radius:var(--uid-radius-sm);cursor:pointer;font-size:var(--uid-font-size-md);color:var(--uid-color-text);flex-wrap:wrap;align-items:center;gap:2px;display:flex}.uid-cascader__result--active{background:var(--uid-color-bg-subtle)}.uid-cascader__highlight{color:var(--uid-color-primary);font-weight:var(--uid-font-weight-medium);background:0 0}.uid-cascader__empty{padding:var(--uid-space-sm) 12px;font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary)}.uid-cascader__column{min-width:160px;max-height:320px;padding:var(--uid-space-2xs);flex-direction:column;display:flex;overflow-y:auto}.uid-cascader__column+.uid-cascader__column{border-left:1px solid var(--uid-color-border)}.uid-cascader__option{align-items:center;gap:var(--uid-space-sm);padding:var(--uid-space-sm) 12px;border-radius:var(--uid-radius-sm);text-align:left;cursor:pointer;font-size:var(--uid-font-size-md);color:var(--uid-color-text);white-space:nowrap;background:0 0;border:none;width:100%;display:flex}.uid-cascader__option:hover{background:var(--uid-color-bg-subtle)}.uid-cascader__option--active{background:var(--uid-color-primary-subtle);color:var(--uid-color-primary)}.uid-cascader__option--selected{font-weight:var(--uid-font-weight-medium)}.uid-cascader__option:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px}.uid-cascader__option--disabled{opacity:.4;cursor:not-allowed}.uid-cascader__option-label{text-overflow:ellipsis;flex:1;overflow:hidden}.uid-cascader__option-arrow{color:var(--uid-color-text-tertiary)}.uid-cascader__hint{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-secondary);margin:0}.uid-cascader--sm .uid-cascader__trigger{min-height:var(--uid-size-sm);padding-block:0;padding-inline:var(--uid-space-sm);font-size:var(--uid-font-size-sm)}.uid-cascader--lg .uid-cascader__trigger{min-height:var(--uid-size-lg);padding-inline:var(--uid-space-md)}.uid-cascader--sm .uid-cascader__value{font-size:var(--uid-font-size-sm)}.uid-cascader--md .uid-cascader__value{font-size:var(--uid-font-size-md)}.uid-cascader--lg .uid-cascader__value{font-size:var(--uid-font-size-lg)}.uid-calendar{--uid-cal-cell-min-h:88px;background:var(--uid-color-bg);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-md);flex-direction:column;width:100%;display:flex;overflow:hidden}.uid-calendar__header{padding:var(--uid-space-sm) var(--uid-space-md);border-bottom:1px solid var(--uid-color-border);background:var(--uid-color-bg-subtle);justify-content:space-between;align-items:center;display:flex}.uid-calendar__title{font-size:var(--uid-font-size-lg,16px);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text)}.uid-calendar__nav{gap:var(--uid-space-xs);display:flex}.uid-calendar__btn{height:28px;padding:0 var(--uid-space-sm);border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);background:var(--uid-color-bg);color:var(--uid-color-text);font-size:var(--uid-font-size-sm);cursor:pointer;transition:background var(--uid-duration-fast);justify-content:center;align-items:center;display:flex}.uid-calendar__btn:hover{background:var(--uid-color-bg-subtle)}.uid-calendar__btn--icon{width:28px;padding:0}.uid-calendar__weekdays{background:var(--uid-color-bg-subtle);border-bottom:1px solid var(--uid-color-border);grid-template-columns:repeat(7,1fr);display:grid}.uid-calendar__weekday{padding:var(--uid-space-sm);font-size:var(--uid-font-size-xs);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text-tertiary);text-align:center;text-transform:uppercase;letter-spacing:.06em}.uid-calendar__grid{grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(var(--uid-cal-cell-min-h), 1fr);display:grid}.uid-calendar__day{border-right:1px solid var(--uid-color-border);border-bottom:1px solid var(--uid-color-border);cursor:pointer;background:var(--uid-color-bg);transition:background var(--uid-duration-fast) var(--uid-ease-out);flex-direction:column;gap:4px;padding:4px 6px;display:flex;position:relative;overflow:hidden}.uid-calendar__day:hover{background:var(--uid-color-bg-subtle)}.uid-calendar__day:nth-child(7n){border-right:none}.uid-calendar__grid>.uid-calendar__day:nth-last-child(-n+7){border-bottom:none}.uid-calendar__day--other{background:var(--uid-color-bg-subtle)}.uid-calendar__day--other .uid-calendar__date{color:var(--uid-color-text-tertiary)}.uid-calendar__day--today .uid-calendar__date{background:var(--uid-color-primary);color:var(--uid-color-text-on-primary)}.uid-calendar__day--selected{background:var(--uid-color-primary-subtle)}.uid-calendar__day--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.uid-calendar__day:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px}.uid-calendar__date{min-width:22px;height:22px;font-size:var(--uid-font-size-sm);font-weight:var(--uid-font-weight-medium);font-variant-numeric:tabular-nums;color:var(--uid-color-text);border-radius:11px;justify-content:center;align-self:flex-end;align-items:center;padding:0 4px;display:inline-flex}.uid-calendar__events{flex-direction:column;gap:2px;display:flex;overflow:hidden}.uid-calendar__event{background:var(--uid-event-color,var(--uid-color-primary));color:var(--uid-color-text-on-primary);border-radius:var(--uid-radius-sm);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;text-align:left;border:none;align-items:center;gap:4px;width:100%;padding:2px 6px;font-size:11px;display:flex;overflow:hidden}.uid-calendar__event:hover{filter:brightness(.9)}.uid-calendar__more{color:var(--uid-color-text-secondary);padding:0 6px;font-size:11px}.uid-calendar--compact{--uid-cal-cell-min-h:40px}.uid-calendar--compact .uid-calendar__day{padding:4px}.uid-calendar--compact .uid-calendar__events{flex-flow:wrap;gap:2px;display:flex}.uid-calendar--compact .uid-calendar__event{border-radius:50%;width:6px;height:6px;padding:0;overflow:visible}.uid-calendar--compact .uid-calendar__event-label,.uid-calendar--compact .uid-calendar__more{display:none}.uid-sparkline{--uid-sparkline-color:var(--uid-color-primary);--uid-sparkline-area-opacity:.15;vertical-align:middle;line-height:0;display:inline-block}.uid-sparkline__svg{display:block;overflow:visible}.uid-sparkline__line{fill:none;stroke:var(--uid-sparkline-color);stroke-width:var(--uid-sparkline-stroke,1.5);stroke-linejoin:round;stroke-linecap:round}.uid-sparkline__area{fill:var(--uid-sparkline-color);fill-opacity:var(--uid-sparkline-area-opacity);stroke:none}.uid-sparkline__bar{fill:var(--uid-sparkline-color);rx:1}.uid-sparkline__bar--negative{fill:var(--uid-color-danger)}.uid-sparkline__dot{fill:var(--uid-color-bg);stroke:var(--uid-sparkline-color);stroke-width:2px}.uid-sparkline__dot--last{fill:var(--uid-sparkline-color)}.uid-sparkline__zero{stroke:var(--uid-color-border);stroke-width:1px;stroke-dasharray:2 2}.uid-progress-ring{--uid-ring-color:var(--uid-color-primary);--uid-ring-track:var(--uid-color-bg-subtle);justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.uid-progress-ring__svg{display:block;transform:rotate(-90deg)}.uid-progress-ring__track{fill:none;stroke:var(--uid-ring-track)}.uid-progress-ring__progress{fill:none;stroke:var(--uid-ring-color);stroke-linecap:round;transition:stroke-dashoffset var(--uid-duration-base) var(--uid-ease-in-out)}.uid-progress-ring__indeterminate .uid-progress-ring__progress{animation:1s linear infinite uid-ring-spin}@keyframes uid-ring-spin{to{stroke-dashoffset:-1000px}}.uid-progress-ring__label{font-size:var(--uid-ring-label-size,14px);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text);font-variant-numeric:tabular-nums;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.uid-progress-ring--success{--uid-ring-color:var(--uid-color-success)}.uid-progress-ring--warning{--uid-ring-color:var(--uid-color-warning)}.uid-progress-ring--danger{--uid-ring-color:var(--uid-color-danger)}.uid-progress-ring--info{--uid-ring-color:var(--uid-color-info)}.uid-gauge{--uid-gauge-color:var(--uid-color-primary);--uid-gauge-track:var(--uid-color-bg-subtle);flex-direction:column;align-items:center;line-height:1;display:inline-flex;position:relative}.uid-gauge__svg{display:block;overflow:visible}.uid-gauge__track{fill:none;stroke:var(--uid-gauge-track);stroke-linecap:round}.uid-gauge__progress{fill:none;stroke:var(--uid-gauge-color);stroke-linecap:round;transition:stroke-dashoffset var(--uid-duration-base) var(--uid-ease-in-out)}.uid-gauge__range{fill:none;stroke-linecap:butt}.uid-gauge--ranged .uid-gauge__track{stroke-linecap:butt}.uid-gauge__needle{stroke:var(--uid-color-text);stroke-width:2px;stroke-linecap:round;transition:transform var(--uid-duration-base) var(--uid-ease-in-out)}.uid-gauge__needle-pivot{fill:var(--uid-color-text)}.uid-gauge__content{text-align:center;pointer-events:none;position:absolute;bottom:8%;left:0;right:0}.uid-gauge__value{font-size:var(--uid-gauge-value-size,22px);font-weight:var(--uid-font-weight-semibold);color:var(--uid-color-text);font-variant-numeric:tabular-nums;align-items:baseline;gap:2px;display:inline-flex}.uid-gauge__suffix{font-size:.6em;font-weight:var(--uid-font-weight-medium);color:var(--uid-color-text-tertiary)}.uid-gauge__label{font-size:var(--uid-font-size-sm);color:var(--uid-color-text-tertiary);margin-top:2px}.uid-gauge__limits{width:100%;font-size:var(--uid-font-size-xs);color:var(--uid-color-text-tertiary);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:2px;display:flex}.uid-gauge--success{--uid-gauge-color:var(--uid-color-success)}.uid-gauge--warning{--uid-gauge-color:var(--uid-color-warning)}.uid-gauge--danger{--uid-gauge-color:var(--uid-color-danger)}.uid-gauge--info{--uid-gauge-color:var(--uid-color-info)}.uid-heatmap{--uid-heatmap-color:var(--uid-color-primary);--uid-heatmap-empty:var(--uid-color-bg-subtle);--uid-heatmap-cell:12px;--uid-heatmap-gap:3px;gap:var(--uid-space-xs);font-size:var(--uid-font-size-xs);color:var(--uid-color-text-tertiary);flex-direction:column;display:flex}.uid-heatmap__chart{gap:var(--uid-space-xs);align-items:flex-start;display:flex}.uid-heatmap__weekdays{grid-template-rows:repeat(7, var(--uid-heatmap-cell));gap:var(--uid-heatmap-gap);flex-shrink:0;margin-top:16px;font-size:10px;display:grid}.uid-heatmap__weekday{height:var(--uid-heatmap-cell);visibility:hidden;align-items:center;display:flex}.uid-heatmap__weekday--visible{visibility:visible}.uid-heatmap__grid-wrapper{flex-direction:column;gap:2px;display:flex}.uid-heatmap__months{height:14px;font-size:10px;display:flex;position:relative}.uid-heatmap__month{white-space:nowrap;position:absolute}.uid-heatmap__svg{display:block}.uid-heatmap__cell{fill:var(--uid-heatmap-empty);rx:2;ry:2;cursor:default;transition:fill var(--uid-duration-fast) var(--uid-ease-out)}.uid-heatmap__cell:hover{stroke:var(--uid-color-text);stroke-width:1px}.uid-heatmap__legend{align-items:center;gap:4px;margin-left:auto;font-size:10px;display:flex}.uid-heatmap__legend-cell{width:var(--uid-heatmap-cell);height:var(--uid-heatmap-cell);background:var(--uid-heatmap-empty);border-radius:2px}.uid-heatmap-matrix{--uid-heatmap-matrix-color:var(--uid-color-primary);--uid-heatmap-matrix-empty-border:var(--uid-color-border);--uid-heatmap-matrix-cols:1;--uid-heatmap-matrix-cell-height:20px;--uid-heatmap-matrix-min-cell:10px;--uid-heatmap-matrix-gap:2px;--uid-heatmap-matrix-header-height:19px;--uid-heatmap-matrix-radius:2px;gap:var(--uid-space-sm);min-width:0;color:var(--uid-color-text-secondary);flex-direction:column;font-size:11px;display:flex;position:relative}.uid-heatmap-matrix__scroll{min-width:0;padding:2px;overflow-x:auto}.uid-heatmap-matrix__grid{grid-template-columns:max-content repeat(var(--uid-heatmap-matrix-cols), minmax(var(--uid-heatmap-matrix-min-cell), 1fr));gap:var(--uid-heatmap-matrix-gap);align-items:center;display:grid}.uid-heatmap-matrix__row{display:contents}.uid-heatmap-matrix__corner,.uid-heatmap-matrix__col-header{height:var(--uid-heatmap-matrix-header-height);position:relative}.uid-heatmap-matrix__col-label{white-space:nowrap;text-overflow:ellipsis;max-width:96px;color:var(--uid-color-text-secondary);line-height:14px;position:absolute;bottom:2px;left:50%;overflow:hidden;transform:translate(-50%)}.uid-heatmap-matrix--labels-rotated .uid-heatmap-matrix__col-label{transform-origin:0 100%;bottom:2px;transform:rotate(-45deg)}.uid-heatmap-matrix__col-label--hidden{visibility:hidden}.uid-heatmap-matrix__row-header{white-space:nowrap;text-align:end;text-overflow:ellipsis;max-width:12em;padding-inline-end:var(--uid-space-xs);line-height:14px;overflow:hidden}.uid-heatmap-matrix__cell{height:var(--uid-heatmap-matrix-cell-height);border-radius:var(--uid-heatmap-matrix-radius);cursor:default;transition:box-shadow var(--uid-duration-fast) var(--uid-ease-out);outline:none}.uid-heatmap-matrix__cell--empty{box-shadow:inset 0 0 0 1px var(--uid-heatmap-matrix-empty-border);background:0 0}.uid-heatmap-matrix__cell--active{box-shadow:0 0 0 1.5px var(--uid-color-text)}.uid-heatmap-matrix__cell:focus-visible{box-shadow:0 0 0 2px var(--uid-color-focus-ring)}.uid-heatmap-matrix__tooltip{z-index:var(--uid-z-tooltip);max-width:var(--uid-tooltip-max-width,240px);padding:var(--uid-space-xs) var(--uid-space-sm);background:var(--uid-tooltip-bg,var(--uid-color-zinc-900));color:var(--uid-tooltip-color,var(--uid-color-zinc-50));font-size:var(--uid-font-size-xs);white-space:nowrap;border-radius:var(--uid-tooltip-radius,var(--uid-radius-sm));box-shadow:var(--uid-shadow-md);pointer-events:none;flex-direction:column;gap:2px;line-height:1.35;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 6px))}.uid-heatmap-matrix__tooltip-label{opacity:.8}.uid-heatmap-matrix__tooltip-value{font-weight:var(--uid-font-weight-semibold,600);font-variant-numeric:tabular-nums}.uid-heatmap-matrix__legend{justify-content:flex-end;align-items:center;gap:var(--uid-space-xs) var(--uid-space-sm);color:var(--uid-color-text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;display:flex}.uid-heatmap-matrix__legend-bar{border-radius:4px;width:120px;max-width:40%;height:8px}.uid-heatmap-matrix__legend-empty{align-items:center;gap:var(--uid-space-xs);margin-inline-start:var(--uid-space-xs);display:inline-flex}.uid-heatmap-matrix__legend-swatch{border-radius:var(--uid-heatmap-matrix-radius);width:10px;height:10px;box-shadow:inset 0 0 0 1px var(--uid-heatmap-matrix-empty-border)}.uid-stepper{align-items:flex-start;margin:0;padding:0;list-style:none;display:flex}.uid-stepper__step{flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.uid-stepper:not(.uid-stepper--vertical) .uid-stepper__step:not(:last-child):after{content:\"\";top:calc(var(--uid-stepper-indicator-size,32px) / 2);left:calc(50% + var(--uid-stepper-indicator-size,32px) / 2);width:calc(100% - var(--uid-stepper-indicator-size,32px));background:var(--uid-stepper-connector,var(--uid-color-border));height:2px;transition:background var(--uid-duration-base);position:absolute}.uid-stepper:not(.uid-stepper--vertical) .uid-stepper__step--completed:not(:last-child):after{background:var(--uid-stepper-connector-completed,var(--uid-color-primary))}.uid-stepper__indicator{width:var(--uid-stepper-indicator-size,32px);height:var(--uid-stepper-indicator-size,32px);z-index:1;background:var(--uid-stepper-indicator-bg,var(--uid-color-bg-subtle));border:2px solid var(--uid-stepper-indicator-border,var(--uid-color-border));color:var(--uid-stepper-indicator-color,var(--uid-color-text-secondary));transition:background var(--uid-duration-base), border-color var(--uid-duration-base), color var(--uid-duration-base);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:flex}.uid-stepper__step--current .uid-stepper__indicator{background:var(--uid-stepper-indicator-bg-current,var(--uid-color-primary));border-color:var(--uid-stepper-indicator-border-current,var(--uid-color-primary));color:var(--uid-stepper-indicator-color-current,var(--uid-color-text-on-primary))}.uid-stepper__step--completed .uid-stepper__indicator{background:var(--uid-stepper-indicator-bg-completed,var(--uid-color-primary));border-color:var(--uid-stepper-indicator-border-completed,var(--uid-color-primary));color:var(--uid-stepper-indicator-color-completed,var(--uid-color-text-on-primary))}.uid-stepper__content{margin-top:var(--uid-space-sm);text-align:center;flex-direction:column;gap:2px;display:flex}.uid-stepper__label{font-size:var(--uid-font-size-sm,14px);color:var(--uid-stepper-label-color,var(--uid-color-text));transition:color var(--uid-duration-base);font-weight:500}.uid-stepper__step--pending .uid-stepper__label{color:var(--uid-stepper-label-color-pending,var(--uid-color-text-secondary))}.uid-stepper__description{font-size:var(--uid-font-size-xs,12px);color:var(--uid-stepper-desc-color,var(--uid-color-text-tertiary))}.uid-stepper--vertical{flex-direction:column}.uid-stepper--vertical .uid-stepper__step{padding-bottom:var(--uid-space-lg);flex-direction:row;flex:none;align-items:flex-start;gap:12px}.uid-stepper--vertical .uid-stepper__step:last-child{padding-bottom:0}.uid-stepper--vertical .uid-stepper__step:not(:last-child):after{content:\"\";top:var(--uid-stepper-indicator-size,32px);left:calc(var(--uid-stepper-indicator-size,32px) / 2 - 1px);width:2px;height:calc(100% - var(--uid-stepper-indicator-size,32px));background:var(--uid-stepper-connector,var(--uid-color-border));transition:background var(--uid-duration-base);position:absolute}.uid-stepper--vertical .uid-stepper__step--completed:not(:last-child):after{background:var(--uid-stepper-connector-completed,var(--uid-color-primary))}.uid-stepper--vertical .uid-stepper__content{text-align:left;margin-top:4px}.uid-stepper__target{display:contents}.uid-stepper__target--selectable{flex-direction:inherit;align-items:inherit;gap:inherit;font:inherit;color:inherit;text-align:inherit;cursor:pointer;border-radius:var(--uid-radius-md);background:0 0;border:0;padding:0;display:flex}.uid-stepper__target--selectable:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-stack{display:flex}.uid-stack--inline{display:inline-flex}.uid-grid{display:grid}.uid-container{width:100%;margin-inline:auto}.uid-container--sm{max-width:var(--uid-container-sm,640px)}.uid-container--md{max-width:var(--uid-container-md,768px)}.uid-container--lg{max-width:var(--uid-container-lg,1024px)}.uid-container--xl{max-width:var(--uid-container-xl,1280px)}.uid-container--2xl{max-width:var(--uid-container-2xl,1536px)}.uid-container--full{max-width:100%}.uid-container--padded{padding-inline:var(--uid-container-padding-x,var(--uid-space-md))}.uid-wizard{gap:var(--uid-wizard-gap,var(--uid-space-lg));flex-direction:column;display:flex}.uid-wizard-step{flex:1}.uid-pattern-header{--uid-header-height:64px;--uid-header-bg:var(--uid-color-surface);--uid-header-border:var(--uid-color-border);--uid-header-z:var(--uid-z-sticky);background:var(--uid-header-bg);height:var(--uid-header-height);z-index:var(--uid-header-z)}.uid-pattern-header--sticky{position:sticky;top:0}.uid-pattern-header--bordered{border-bottom:1px solid var(--uid-header-border)}.uid-pattern-header--transparent{background:0 0}.uid-pattern-header__inner{height:100%;padding:0 var(--uid-space-lg);align-items:center;gap:var(--uid-space-lg);max-width:var(--uid-container-xl,1280px);margin-inline:auto;display:flex}.uid-pattern-header__logo{flex-shrink:0;align-items:center;display:flex}.uid-pattern-header__nav{align-items:center;gap:var(--uid-space-xs);flex:1;display:flex}.uid-pattern-header__actions{align-items:center;gap:var(--uid-space-sm);flex-shrink:0;display:flex}.uid-pattern-header__mobile{display:none}@media (width<=768px){.uid-pattern-header__nav{display:none}.uid-pattern-header__mobile{align-items:center;margin-left:auto;display:flex}}.uid-pattern-footer{background:var(--uid-footer-bg,var(--uid-color-surface));border-top:1px solid var(--uid-color-border);color:var(--uid-color-text-secondary);font-size:var(--uid-font-size-sm)}.uid-pattern-footer__inner{max-width:var(--uid-container-xl,1280px);padding:var(--uid-space-lg);margin-inline:auto}.uid-pattern-footer--minimal .uid-pattern-footer__content{justify-content:center;align-items:center;gap:var(--uid-space-md);flex-wrap:wrap;display:flex}.uid-pattern-footer--columns .uid-pattern-footer__columns{gap:var(--uid-space-xl);padding-bottom:var(--uid-space-lg);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));display:grid}.uid-pattern-footer__bottom{padding-top:var(--uid-space-md);border-top:1px solid var(--uid-color-border);color:var(--uid-color-text-disabled);font-size:var(--uid-font-size-xs,12px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.uid-pattern-sidebar{--uid-sidebar-width:240px;--uid-sidebar-collapsed-width:56px;width:var(--uid-sidebar-width);background:var(--uid-sidebar-bg,var(--uid-color-bg-subtle));border-color:var(--uid-color-border);transition:width var(--uid-duration-base) var(--uid-ease-in-out);border-style:solid;border-width:0;flex-direction:column;display:flex;overflow:hidden}.uid-pattern-sidebar--left{border-right-width:1px}.uid-pattern-sidebar--right{border-left-width:1px}.uid-pattern-sidebar--collapsed{width:var(--uid-sidebar-collapsed-width)}.uid-pattern-sidebar--collapsed .uid-sidebar-item__label,.uid-pattern-sidebar--collapsed .uid-sidebar-item__badge,.uid-pattern-sidebar--collapsed .uid-sidebar-group__title{display:none}.uid-pattern-sidebar__header{padding:var(--uid-space-md);border-bottom:1px solid var(--uid-color-border);flex-shrink:0}.uid-pattern-sidebar__nav{padding:var(--uid-space-sm) 0;flex:1;overflow-y:auto}.uid-pattern-sidebar__footer{padding:12px var(--uid-space-sm);border-top:1px solid var(--uid-color-border);flex-shrink:0}.uid-sidebar-item{padding:var(--uid-space-sm) 12px;margin:1px var(--uid-space-sm);border-radius:var(--uid-radius-sm);color:var(--uid-sidebar-item-color,var(--uid-color-text-secondary));font-size:var(--uid-font-size-sm);cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out), color var(--uid-duration-fast) var(--uid-ease-out);align-items:center;gap:12px;font-weight:500;text-decoration:none;display:flex}.uid-sidebar-item:hover:not(.uid-sidebar-item--disabled){background:var(--uid-color-surface-hover);color:var(--uid-color-text-primary)}.uid-sidebar-item--active{background:var(--uid-sidebar-item-bg-active,var(--uid-color-primary-subtle,color-mix(in srgb, var(--uid-color-primary) 10%, transparent)));color:var(--uid-sidebar-item-color-active,var(--uid-color-primary))}.uid-sidebar-item--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.uid-sidebar-item:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:-2px}.uid-sidebar-item__icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.uid-sidebar-item__label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.uid-sidebar-item__badge{min-width:18px;height:18px;padding:0 var(--uid-space-xs);background:var(--uid-color-primary);color:var(--uid-color-text-on-primary);border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.uid-sidebar-group{padding:var(--uid-space-xs) 0}.uid-sidebar-group__title{padding:var(--uid-space-sm) 20px;text-transform:uppercase;letter-spacing:.06em;color:var(--uid-color-text-disabled);margin:0;font-size:11px;font-weight:600}.uid-sidebar-divider{height:1px;margin:var(--uid-space-sm) 12px;background:var(--uid-color-border)}.uid-pattern-page-header{padding:var(--uid-space-lg) 0 0}.uid-pattern-page-header__breadcrumb{margin-bottom:12px}.uid-pattern-page-header__row{justify-content:space-between;align-items:flex-start;gap:var(--uid-space-md);flex-wrap:wrap;display:flex}.uid-pattern-page-header__heading{align-items:flex-start;gap:12px;display:flex}.uid-pattern-page-header__back{border:1px solid var(--uid-color-border);border-radius:var(--uid-radius-sm);width:36px;height:36px;color:var(--uid-color-text-secondary);cursor:pointer;transition:background var(--uid-duration-fast) var(--uid-ease-out), color var(--uid-duration-fast) var(--uid-ease-out);background:0 0;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:flex}.uid-pattern-page-header__back:hover{background:var(--uid-color-surface-hover);color:var(--uid-color-text-primary)}.uid-pattern-page-header__back:focus-visible{outline:2px solid var(--uid-color-focus-ring);outline-offset:2px}.uid-pattern-page-header__title{font-size:var(--uid-font-size-2xl,24px);color:var(--uid-color-text-primary);margin:0;font-weight:700;line-height:1.2}.uid-pattern-page-header__description{margin:var(--uid-space-xs) 0 0;font-size:var(--uid-font-size-base);color:var(--uid-color-text-secondary);line-height:1.5}.uid-pattern-page-header__actions{align-items:center;gap:var(--uid-space-sm);flex-shrink:0;display:flex}.uid-pattern-page-header__tabs{margin-top:var(--uid-space-md)}.uid-pattern-empty-state{justify-content:center;align-items:center;gap:var(--uid-space-md);padding:var(--uid-space-2xl) var(--uid-space-lg);text-align:center;flex-direction:column;display:flex}.uid-pattern-empty-state__illustration{color:var(--uid-color-text-disabled);justify-content:center;align-items:center;display:flex}.uid-pattern-empty-state__content{gap:var(--uid-space-sm);flex-direction:column;max-width:360px;display:flex}.uid-pattern-empty-state__title{font-size:var(--uid-font-size-lg);color:var(--uid-color-text-primary);margin:0;font-weight:600}.uid-pattern-empty-state__description{font-size:var(--uid-font-size-base);color:var(--uid-color-text-secondary);margin:0;line-height:1.5}.uid-pattern-empty-state__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.uid-pattern-error-state{justify-content:center;align-items:center;gap:var(--uid-space-md);padding:var(--uid-space-2xl) var(--uid-space-lg);text-align:center;flex-direction:column;display:flex}.uid-pattern-error-state__illustration{color:var(--uid-color-danger);opacity:.8;justify-content:center;align-items:center;display:flex}.uid-pattern-error-state__code{color:var(--uid-color-text-disabled);letter-spacing:-2px;font-variant-numeric:tabular-nums;font-size:64px;font-weight:800;line-height:1}.uid-pattern-error-state__content{gap:var(--uid-space-sm);flex-direction:column;max-width:400px;display:flex}.uid-pattern-error-state__title{font-size:var(--uid-font-size-xl,20px);color:var(--uid-color-text-primary);margin:0;font-weight:700}.uid-pattern-error-state__description{font-size:var(--uid-font-size-base);color:var(--uid-color-text-secondary);margin:0;line-height:1.5}.uid-pattern-error-state__actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.uid-layout-simple{min-height:var(--uid-layout-simple-min-height,100vh);flex-direction:column;display:flex}.uid-layout-simple--full{height:100vh;overflow:hidden}.uid-layout-simple__header{flex-shrink:0}.uid-layout-simple__content{flex:1;width:100%}.uid-layout-simple--full .uid-layout-simple__content{overflow-y:auto}.uid-layout-simple__footer{flex-shrink:0}.uid-layout-sidebar{min-height:var(--uid-layout-sidebar-min-height,100vh);display:flex;position:relative}.uid-layout-sidebar__sidebar{width:var(--uid-layout-sidebar-width,240px);transition:width var(--uid-duration-base) var(--uid-ease-in-out);flex-shrink:0;overflow:hidden}.uid-layout-sidebar--collapsed .uid-layout-sidebar__sidebar{width:var(--uid-layout-sidebar-collapsed-width,56px)}.uid-layout-sidebar__main{flex-direction:column;flex:1;min-width:0;display:flex}.uid-layout-sidebar__main-header{flex-shrink:0}.uid-layout-sidebar__main-content{flex:1;min-width:0}.uid-layout-sidebar__main-footer{flex-shrink:0}.uid-layout-sidebar__backdrop{display:none}@media (width<=768px){.uid-layout-sidebar__sidebar{z-index:var(--uid-z-drawer,400);transition:transform var(--uid-duration-base) var(--uid-ease-in-out);background:var(--uid-color-bg);position:fixed;inset:0 auto 0 0;transform:translate(-100%);width:var(--uid-layout-sidebar-width,240px)!important}.uid-layout-sidebar:not(.uid-layout-sidebar--collapsed) .uid-layout-sidebar__sidebar{box-shadow:var(--uid-shadow-lg);transform:translate(0)}.uid-layout-sidebar__backdrop{background:var(--uid-color-overlay,#00000080);z-index:calc(var(--uid-z-drawer,400) - 1);cursor:pointer;display:none;position:fixed;inset:0}.uid-layout-sidebar:not(.uid-layout-sidebar--collapsed) .uid-layout-sidebar__backdrop{display:block}}.uid-layout-auth{min-height:var(--uid-layout-auth-min-height,100vh);display:flex}.uid-layout-auth--centered{padding:var(--uid-space-lg);background:var(--uid-layout-auth-bg,var(--uid-color-bg-subtle));justify-content:center;align-items:center}.uid-layout-auth--centered .uid-layout-auth__main{align-items:center;gap:var(--uid-space-md);flex-direction:column;width:100%;display:flex}.uid-layout-auth__card{width:100%;max-width:var(--uid-layout-auth-card-width,400px)}.uid-layout-auth__footer{font-size:var(--uid-font-size-sm,14px);color:var(--uid-color-text-secondary);text-align:center}.uid-layout-auth--split{align-items:stretch}.uid-layout-auth__brand{padding:var(--uid-space-2xl);background:var(--uid-layout-auth-brand-bg,var(--uid-color-primary));color:var(--uid-layout-auth-brand-color,var(--uid-color-text-on-primary));flex:1;justify-content:center;align-items:center;display:flex}.uid-layout-auth--split .uid-layout-auth__main{padding:var(--uid-space-2xl);justify-content:center;align-items:center;gap:var(--uid-space-md);background:var(--uid-color-bg);flex-direction:column;flex:1;display:flex}@media (width<=768px){.uid-layout-auth--split{flex-direction:column}.uid-layout-auth__brand{padding:var(--uid-space-xl) var(--uid-space-lg);flex:none}.uid-layout-auth--split .uid-layout-auth__main{padding:var(--uid-space-xl) var(--uid-space-lg);flex:1}}.uid-layout-wizard{min-height:var(--uid-layout-wizard-min-height,0);background:var(--uid-color-bg);flex-direction:column;width:100%;display:flex}.uid-layout-wizard__header{padding:var(--uid-space-lg) var(--uid-space-xl) var(--uid-space-md);border-bottom:1px solid var(--uid-color-border);flex-shrink:0}.uid-layout-wizard__stepper{padding:var(--uid-space-lg) var(--uid-space-xl);border-bottom:1px solid var(--uid-color-border);flex-shrink:0}.uid-layout-wizard__content{padding:var(--uid-layout-wizard-content-padding,var(--uid-space-xl));flex:1;min-width:0}.uid-layout-wizard__nav{padding:var(--uid-space-md) var(--uid-space-xl);border-top:1px solid var(--uid-color-border);background:var(--uid-color-bg);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}@media (width<=640px){.uid-layout-wizard__header,.uid-layout-wizard__stepper,.uid-layout-wizard__content,.uid-layout-wizard__nav{padding-left:var(--uid-space-md);padding-right:var(--uid-space-md)}}.fl-view,.fl-editor{--fl-bg:var(--uid-surface-base,#fafafa);--fl-grid:color-mix(in srgb, var(--uid-text-tertiary,#a1a1aa) 45%, transparent);--fl-node-bg:var(--uid-surface-raised,#fff);--fl-node-border:var(--uid-border-default,#d4d4d8);--fl-node-text:var(--uid-text-primary,#18181b);--fl-node-muted:var(--uid-text-secondary,#71717a);--fl-edge:color-mix(in srgb, var(--uid-text-tertiary,#a1a1aa) 85%, var(--uid-text-secondary,#71717a));--fl-accent:var(--uid-accent,#14b8a6);--fl-accent-subtle:var(--uid-accent-subtle,#f0fdfa);--fl-success:var(--uid-success,#059669);--fl-success-subtle:var(--uid-success-subtle,#ecfdf5);--fl-danger:var(--uid-danger,#e11d48);--fl-danger-subtle:var(--uid-danger-subtle,#fff1f2);--fl-warning:var(--uid-warning,#d97706);--fl-warning-subtle:var(--uid-warning-subtle,#fffbeb);--fl-info:var(--uid-info,#2563eb);--fl-info-subtle:var(--uid-info-subtle,#eff6ff);--fl-shadow:color-mix(in srgb, var(--uid-text-primary,#18181b) 9%, transparent);--fl-font:var(--uid-font-family-sans,system-ui, sans-serif);--fl-radius:var(--uid-radius-lg,12px);height:100%;min-height:360px;font-family:var(--fl-font);color:var(--fl-node-text);display:flex;position:relative}.fl-canvas{min-width:0;min-height:inherit;background:var(--fl-bg);border-radius:inherit;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;outline:none;flex:auto;position:relative;overflow:hidden}.fl-canvas.is-panning,.fl-canvas.is-space,.fl-canvas.is-space *{cursor:grabbing}.fl-canvas.is-editable{cursor:default}.fl-canvas.is-connecting,.fl-canvas.is-connecting *{cursor:crosshair}.fl-svg{width:100%;height:100%;font-family:var(--fl-font);display:block;position:absolute;inset:0}.fl-canvas.is-animating .fl-viewport{transition:transform .24s var(--uid-ease-out,ease-out)}.fl-grid-dot{fill:var(--fl-grid)}.fl-group rect{fill:color-mix(in srgb, var(--fl-node-muted) 6%, transparent);stroke:color-mix(in srgb, var(--fl-node-muted) 35%, transparent);stroke-dasharray:5 4;stroke-width:1px}.fl-group__label{letter-spacing:.04em;text-transform:uppercase;fill:var(--fl-node-muted);font-size:11px;font-weight:600}.fl-edge__hit{fill:none;stroke:#0000;stroke-width:16px;pointer-events:stroke;cursor:pointer}.fl-edge__line{fill:none;stroke:var(--fl-edge);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transition:stroke .12s}.fl-edge.is-hovered .fl-edge__line{stroke:var(--fl-node-muted);stroke-width:2px}.fl-edge.is-association .fl-edge__line{stroke-dasharray:3 4;stroke-width:1.2px}.fl-edge.is-traversed .fl-edge__line{stroke:color-mix(in srgb, var(--fl-success) 75%, var(--fl-edge));stroke-width:2px}.fl-edge.is-path .fl-edge__line{stroke:var(--fl-accent);stroke-width:2.6px}.fl-edge__flow{fill:none;stroke:color-mix(in srgb, var(--fl-node-bg) 80%, transparent);stroke-width:1.4px;stroke-dasharray:2 12;stroke-linecap:round;pointer-events:none;animation:1.1s linear infinite fl-flow}.fl-edge.is-disabled .fl-edge__line{stroke-dasharray:5 5;opacity:.45}.fl-edge.is-selected .fl-edge__line,.fl-edge.is-focused .fl-edge__line{stroke:var(--fl-accent);stroke-width:2.6px}.fl-edge.has-error .fl-edge__line{stroke:var(--fl-danger)}.fl-edge.has-warning .fl-edge__line{stroke:var(--fl-warning)}.fl-arrow path{fill:var(--fl-edge)}.fl-arrow--accent path{fill:var(--fl-accent)}.fl-arrow--success path{fill:color-mix(in srgb, var(--fl-success) 75%, var(--fl-edge))}.fl-arrow--muted path{fill:var(--fl-edge);opacity:.45}.fl-arrow--danger path{fill:var(--fl-danger)}.fl-edge-label{cursor:pointer;outline:none}.fl-edge-label__bg{fill:var(--fl-bg);stroke:var(--uid-border-subtle,#e4e4e7);stroke-width:1px}.fl-edge-label__text{fill:var(--fl-node-muted);font-size:12px;font-weight:500}.fl-edge-label.is-path .fl-edge-label__bg{stroke:color-mix(in srgb, var(--fl-accent) 55%, transparent);fill:var(--fl-accent-subtle)}.fl-edge-label.is-path .fl-edge-label__text{fill:var(--uid-accent-text,var(--fl-accent))}.fl-edge-label.is-selected .fl-edge-label__bg,.fl-edge-label.is-focused .fl-edge-label__bg{stroke:var(--fl-accent);stroke-width:1.5px}.fl-edge-label.is-disabled{opacity:.5}.fl-edge-label.is-disabled .fl-edge-label__text{text-decoration:line-through}.fl-edge-label:not(:has(rect)){pointer-events:none}.fl-node-wrap{cursor:pointer;outline:none}.fl-canvas.is-editable .fl-node-wrap{cursor:grab}.fl-canvas.is-dragging .fl-node-wrap{cursor:grabbing}.fl-node__body{fill:var(--fl-node-bg);stroke:var(--fl-node-border);stroke-width:1px;transition:stroke .12s,fill .12s}.fl-node__shadow{fill:var(--fl-shadow)}.fl-node-wrap.is-hovered .fl-node__body{stroke:var(--uid-border-hover,#a1a1aa)}.fl-node__label{fill:var(--fl-node-text);pointer-events:none;font-size:14px;font-weight:500}.fl-node__label--outside{fill:var(--fl-node-muted);font-size:13px}.fl-node__desc{fill:var(--fl-node-muted);font-size:12px;font-weight:400}.fl-node__tile rect{fill:var(--fl-accent-subtle)}.fl-node__tile svg{color:var(--uid-accent-text,var(--fl-accent))}.fl-node--rect.fl-node .fl-node__tile rect{fill:var(--fl-info-subtle)}.fl-node--rect.fl-node .fl-node__tile svg{color:var(--fl-info)}.fl-node__body--start{fill:var(--fl-success-subtle);stroke:var(--fl-success);stroke-width:1.5px}.fl-node--circle .fl-node__glyph{color:var(--fl-success);fill:var(--fl-success)}.fl-node__body--end{fill:var(--fl-node-bg);stroke:var(--fl-node-text);stroke-width:3px}.fl-node__end-core{fill:var(--fl-node-text)}.fl-node--note .fl-node__body{fill:var(--fl-warning-subtle);stroke:color-mix(in srgb, var(--fl-warning) 45%, transparent)}.fl-node--note .fl-node__shadow{display:none}.fl-node--note .fl-node__label{fill:var(--fl-node-muted);font-size:13px;font-weight:400}.fl-node--diamond .fl-node__body{fill:var(--fl-node-bg)}.fl-node.fl-tone--accent .fl-node__body{stroke:var(--fl-accent);stroke-width:2px}.fl-node.fl-tone--success .fl-node__body{stroke:color-mix(in srgb, var(--fl-success) 70%, var(--fl-node-border));stroke-width:1.5px}.fl-node.fl-tone--danger .fl-node__body{stroke:var(--fl-danger);stroke-width:2px;fill:color-mix(in srgb, var(--fl-danger-subtle) 60%, var(--fl-node-bg))}.fl-node.fl-tone--warning .fl-node__body{stroke:var(--fl-warning);stroke-width:1.5px;stroke-dasharray:6 3}.fl-node.fl-tone--neutral .fl-node__body{stroke-dasharray:3 3}.fl-node.fl-tone--neutral .fl-node__label{fill:var(--fl-node-muted)}.fl-node.is-on-path:not(.has-status) .fl-node__body{stroke:color-mix(in srgb, var(--fl-accent) 60%, var(--fl-node-border))}.fl-node__halo{fill:none;stroke:var(--fl-accent);stroke-width:6px;opacity:.22;transform-box:fill-box;transform-origin:50%;pointer-events:none;animation:1.8s ease-in-out infinite fl-pulse}.fl-node.is-current .fl-node__halo{opacity:.32}.fl-node__ring{fill:none;stroke:var(--fl-accent);stroke-width:2px;pointer-events:none}.fl-node.is-focused:not(.is-selected) .fl-node__ring{stroke-dasharray:4 3}.fl-node__chip circle,.fl-node__chip rect{fill:var(--fl-node-muted);stroke:var(--fl-bg);stroke-width:2px}.fl-node__chip svg{color:#fff}.fl-node__chip text{fill:#fff;font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.fl-tone--success .fl-node__chip circle,.fl-tone--success .fl-node__chip rect{fill:var(--fl-success)}.fl-tone--danger .fl-node__chip circle,.fl-tone--danger .fl-node__chip rect{fill:var(--fl-danger)}.fl-tone--warning .fl-node__chip circle,.fl-tone--warning .fl-node__chip rect{fill:var(--fl-warning)}.fl-tone--accent .fl-node__chip circle,.fl-tone--accent .fl-node__chip rect{fill:var(--fl-accent)}.fl-tone--info .fl-node__chip circle,.fl-tone--info .fl-node__chip rect{fill:var(--fl-info)}.fl-node__chip--pulse .fl-node__pulse{opacity:.35;stroke:none;transform-box:fill-box;transform-origin:50%;animation:1.6s ease-out infinite fl-ping}.fl-node__count rect,.fl-edge-count rect{fill:var(--uid-surface-raised,#fff);stroke:var(--uid-border-default,#d4d4d8);stroke-width:1px}.fl-node__count text,.fl-edge-count text{fill:var(--uid-text-secondary,#71717a);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.fl-node__count--accent rect,.fl-edge-label.is-path .fl-edge-count rect{fill:var(--fl-accent-subtle);stroke:color-mix(in srgb, var(--fl-accent) 70%, transparent)}.fl-node__count--accent text,.fl-edge-label.is-path .fl-edge-count text{fill:var(--uid-accent-text,var(--fl-accent))}.fl-node__count--danger rect{fill:var(--fl-danger-subtle);stroke:color-mix(in srgb, var(--fl-danger) 70%, transparent)}.fl-node__count--danger text{fill:var(--fl-danger)}.fl-node__enter{cursor:pointer}.fl-node__enter rect{fill:var(--fl-node-bg);stroke:var(--fl-node-border)}.fl-node__enter svg{color:var(--fl-node-muted)}.fl-node__enter:hover rect{stroke:var(--fl-accent);fill:var(--fl-accent-subtle)}.fl-node__enter:hover svg{color:var(--uid-accent-text,var(--fl-accent))}.fl-node__issue circle{stroke:var(--fl-bg);stroke-width:2px}.fl-node.has-error .fl-node__issue circle{fill:var(--fl-danger)}.fl-node.has-warning .fl-node__issue circle{fill:var(--fl-warning)}.fl-node__issue text{fill:#fff;font-size:11px;font-weight:800}.fl-node.has-error .fl-node__body{stroke:var(--fl-danger)}.fl-node.is-disabled{opacity:.5}.fl-node.is-disabled .fl-node__body{stroke-dasharray:4 3}.fl-node.is-disabled .fl-node__label tspan:not(.fl-node__desc){text-decoration:line-through}.fl-node-wrap.is-drop-target .fl-node__body{stroke:var(--fl-accent);stroke-width:2px}.fl-handle{cursor:crosshair}.fl-handle__hit{fill:#0000}.fl-handle__dot{fill:var(--fl-node-bg);stroke:var(--fl-accent);stroke-width:1.6px;transition:r .1s}.fl-handle:hover .fl-handle__dot,.fl-handle.is-snapped .fl-handle__dot{fill:var(--fl-accent);r:6.5}.fl-edge-end{fill:var(--fl-node-bg);stroke:var(--fl-accent);stroke-width:2px;cursor:move}.fl-edge-end:hover{fill:var(--fl-accent)}.fl-connect-preview{fill:none;stroke:var(--fl-accent);stroke-width:2px;stroke-dasharray:6 4;pointer-events:none}.fl-connect-preview.is-snapped{stroke-dasharray:none}.fl-band{fill:color-mix(in srgb, var(--fl-accent) 10%, transparent);stroke:var(--fl-accent);stroke-width:1px;stroke-dasharray:4 3;vector-effect:non-scaling-stroke;pointer-events:none}.fl-controls{background:var(--fl-node-bg);border:1px solid var(--uid-border-subtle,#e4e4e7);border-radius:var(--uid-radius-md,8px);box-shadow:var(--uid-shadow-md);cursor:default;z-index:2;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;bottom:12px;left:12px}.fl-controls__zoom{font-variant-numeric:tabular-nums;min-width:52px}.fl-controls__sep{background:var(--uid-border-subtle,#e4e4e7);align-self:stretch;width:1px;margin:4px 2px}.fl-minimap{background:color-mix(in srgb, var(--fl-node-bg) 92%, transparent);border:1px solid var(--uid-border-subtle,#e4e4e7);border-radius:var(--uid-radius-md,8px);box-shadow:var(--uid-shadow-md);cursor:pointer;z-index:2;position:absolute;bottom:12px;right:12px;overflow:hidden}.fl-minimap svg{touch-action:none;display:block}.fl-minimap__node{fill:color-mix(in srgb, var(--fl-node-muted) 45%, transparent)}.fl-minimap__node.is-current{fill:var(--fl-accent)}.fl-minimap__node.is-selected{fill:var(--uid-accent-text,var(--fl-accent))}.fl-minimap__group{fill:color-mix(in srgb, var(--fl-node-muted) 10%, transparent)}.fl-minimap__view{fill:color-mix(in srgb, var(--fl-accent) 8%, transparent);stroke:var(--fl-accent)}.fl-hovebar{background:var(--fl-node-bg);border:1px solid var(--uid-border-subtle,#e4e4e7);border-radius:var(--uid-radius-md,8px);box-shadow:var(--uid-shadow-md);cursor:default;z-index:3;white-space:nowrap;align-items:center;gap:6px;padding:4px 6px 4px 10px;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 8px))}.fl-hovebar:after{content:\"\";height:10px;position:absolute;bottom:-10px;left:0;right:0}.fl-hovebar--edge{transform:translate(-50%,calc(-100% - 6px))}.fl-nav{background:var(--fl-node-bg);border:1px solid var(--uid-border-subtle,#e4e4e7);border-radius:var(--uid-radius-md,8px);max-width:min(640px,100% - 24px);box-shadow:var(--uid-shadow-sm);cursor:default;z-index:2;align-items:center;gap:4px;width:max-content;padding:3px 12px 3px 3px;display:flex;position:absolute;top:12px;left:12px;right:12px}.fl-nav__crumbs{flex:auto;min-width:0}.fl-status{background:color-mix(in srgb, var(--fl-node-bg) 94%, transparent);border:1px solid var(--uid-border-subtle,#e4e4e7);border-radius:var(--uid-radius-md,8px);max-width:calc(100% - 24px);box-shadow:var(--uid-shadow-sm);font-size:var(--uid-font-size-sm,13px);color:var(--fl-node-muted);cursor:default;z-index:2;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:4px 6px 4px 12px;display:flex;position:absolute;top:12px;right:12px}.fl-view:has(.fl-nav) .fl-status{top:60px}.fl-status__text{font-variant-numeric:tabular-nums;white-space:nowrap}.fl-status__summary{flex-wrap:wrap;gap:4px;display:inline-flex}.fl-status__dot{background:var(--fl-node-muted);border-radius:50%;flex:none;width:8px;height:8px}.fl-status__dot.is-live{background:var(--fl-success);box-shadow:0 0 0 0 color-mix(in srgb, var(--fl-success) 60%, transparent);animation:2s ease-out infinite fl-live}.fl-status__dot.is-stale{background:var(--fl-warning)}.fl-status__dot.is-error{background:var(--fl-danger)}.fl-busy{background:color-mix(in srgb, var(--fl-bg) 60%, transparent);z-index:4;place-items:center;display:grid;position:absolute;inset:0}.fl-empty{text-align:center;cursor:default;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:24px;display:flex;position:absolute;inset:0}.fl-empty>*{pointer-events:auto}.fl-empty__title{font-size:var(--uid-font-size-lg,16px);color:var(--fl-node-text);margin:0;font-weight:600}.fl-empty__hint{max-width:360px;color:var(--fl-node-muted);font-size:var(--uid-font-size-sm,13px);margin:0;line-height:1.5}.fl-layout-error{color:var(--fl-danger);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fl-details{flex-direction:column;gap:14px;display:flex}.fl-details__head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fl-details__desc{color:var(--uid-text-secondary);margin:0;line-height:1.5}.fl-details__enter{align-self:flex-start}.fl-details__section{font-size:var(--uid-font-size-xs,12px);letter-spacing:.04em;text-transform:uppercase;color:var(--uid-text-secondary);margin:4px 0 0;font-weight:600}.fl-details code{font-family:var(--uid-font-family-mono,monospace);font-size:.92em}@keyframes fl-pulse{0%,to{opacity:.12;stroke-width:4px}50%{opacity:.34;stroke-width:9px}}@keyframes fl-ping{0%{opacity:.5;transform:scale(.8)}to{opacity:0;transform:scale(1.9)}}@keyframes fl-flow{to{stroke-dashoffset:-14px}}@keyframes fl-live{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--fl-success) 55%, transparent)}70%,to{box-shadow:0 0 0 6px #0000}}@media (prefers-reduced-motion:reduce){.fl-node__halo,.fl-node__chip--pulse .fl-node__pulse,.fl-edge__flow,.fl-status__dot.is-live{animation:none}.fl-canvas.is-animating .fl-viewport{transition:none}}@media (width<=640px){.fl-minimap,.fl-status__summary,.fl-controls__zoom{display:none}}.fl-editor{background:var(--fl-node-bg);border:1px solid var(--uid-border-subtle,#e4e4e7);border-radius:var(--fl-radius);flex-direction:column;overflow:hidden}.fl-toolbar{border-bottom:1px solid var(--uid-border-subtle,#e4e4e7);background:var(--fl-node-bg);box-sizing:border-box;flex:none;align-items:center;gap:2px;min-height:44px;padding:6px 8px;display:flex}.fl-toolbar__sep{background:var(--uid-border-subtle,#e4e4e7);width:1px;height:20px;margin:0 6px}.fl-toolbar__spacer{flex:auto}.fl-toolbar__text{white-space:nowrap}.fl-editor__body{flex:auto;min-height:0;display:flex}.fl-editor__palette{border-right:1px solid var(--uid-border-subtle,#e4e4e7);box-sizing:border-box;flex:none;width:196px;padding:12px;overflow-y:auto}.fl-editor__canvas{flex:auto;min-width:0;display:flex;position:relative}.fl-editor__canvas .fl-canvas{border-radius:0}.fl-editor__side{border-left:1px solid var(--uid-border-subtle,#e4e4e7);box-sizing:border-box;flex:none;width:312px;padding:4px 14px 16px;overflow-y:auto}.fl-panel-title{font-size:var(--uid-font-size-xs,12px);letter-spacing:.04em;text-transform:uppercase;color:var(--fl-node-muted);margin:2px 2px 10px;font-weight:600}.fl-palette{flex-direction:column;gap:6px;display:flex}.fl-palette__item-wrap{display:flex}.fl-palette__item.uid-button{cursor:grab;touch-action:none;flex:auto;justify-content:flex-start}.fl-palette__hint{font-size:var(--uid-font-size-xs,12px);color:var(--fl-node-muted);margin:8px 2px 0;line-height:1.45}.fl-palette-ghost{z-index:1000;background:var(--uid-surface-raised,#fff);border:1.5px solid var(--uid-accent,#14b8a6);box-shadow:var(--uid-shadow-lg);color:var(--uid-text-primary);font:500 13px var(--uid-font-family-sans,system-ui, sans-serif);pointer-events:none;opacity:.92;border-radius:10px;padding:8px 14px;position:fixed;transform:translate(-50%,-50%)}.fl-props{flex-direction:column;gap:14px;padding-top:14px;display:flex}.fl-props__muted{color:var(--fl-node-muted);font-size:var(--uid-font-size-sm,13px);margin:0;line-height:1.5}.fl-props__route{color:var(--fl-node-text);font-weight:500}.fl-props__count{margin:0;font-weight:600}.fl-props__tools{flex-wrap:wrap;gap:4px;display:flex}.fl-props__section{border-top:1px solid var(--uid-border-subtle,#e4e4e7);flex-direction:column;gap:8px;padding-top:12px;display:flex}.fl-props__section h4{font-size:var(--uid-font-size-xs,12px);letter-spacing:.04em;text-transform:uppercase;color:var(--fl-node-muted);margin:0;font-weight:600}.fl-props__row{gap:6px;display:flex}.fl-props__kv{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr) auto;align-items:center;gap:4px;display:grid}.fl-props__add,.fl-props__delete{align-self:flex-start}.fl-props__condition input{font-family:var(--uid-font-family-mono,monospace)}.fl-issues__summary{font-size:var(--uid-font-size-sm,13px);color:var(--fl-node-muted);margin:14px 0 8px}.fl-issues__none{color:var(--fl-success);font-size:var(--uid-font-size-sm,13px);align-items:center;gap:8px;margin:8px 0;display:flex}.fl-issues__list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.fl-issue.uid-button{text-align:left;white-space:normal;justify-content:flex-start;align-items:flex-start;width:100%;height:auto;min-height:32px;padding-top:6px;padding-bottom:6px}.fl-issue__text{font-weight:400;line-height:1.4}.fl-issue--error .uid-icon{color:var(--fl-danger)}.fl-issue--warning .uid-icon{color:var(--fl-warning)}.fl-tab-issues__count{margin-left:6px}.fl-hint{background:color-mix(in srgb, var(--fl-node-bg) 85%, transparent);color:var(--fl-node-muted);font-size:var(--uid-font-size-xs,12px);pointer-events:none;white-space:nowrap;border-radius:999px;margin:0;padding:4px 10px;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.fl-editor-empty{flex-direction:column;align-items:center;gap:8px;max-width:400px;display:flex}.fl-editor-empty__actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:8px;display:flex}.fl-menu-label{flex:auto}.fl-menu-shortcut{font:inherit;font-size:var(--uid-font-size-xs,12px);color:var(--uid-text-tertiary,#a1a1aa);margin-left:16px}.fl-import{flex-direction:column;gap:12px;display:flex}.fl-import__source textarea{font-family:var(--uid-font-family-mono,monospace);font-size:13px}.fl-editor.is-narrow .fl-hint{display:none}.fl-toggle.uid-button.is-active{background:var(--fl-accent-subtle);color:var(--uid-accent-text,var(--fl-accent))}.fl-props__head{align-items:center;gap:8px;min-width:0;display:flex}.fl-props__head .uid-icon,.fl-props__head svg{color:var(--fl-node-muted);flex:none}.fl-props__kind{font-weight:600;font-size:var(--uid-font-size-sm,13px)}.fl-props__id{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--uid-font-family-mono,monospace);font-size:var(--uid-font-size-xs,12px);color:var(--fl-node-muted);margin-left:auto;overflow:hidden}.fl-props__transition.uid-button{justify-content:flex-start;width:100%}.fl-view,.fl-editor{font-family:var(--uid-font-family-sans,system-ui, sans-serif);font-size:var(--uid-font-size-md,14px);color:var(--uid-text-primary);-webkit-font-smoothing:antialiased}\n/*$vite$:1*/";document.head.appendChild(s)}();
|
|
2
|
+
var DskFlow=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});function t(e){let t=Object.create(null);for(let n of e.split(`,`))t[n]=1;return e=>e in t}var n={},r=[],i=()=>{},a=()=>!1,o=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),s=e=>e.startsWith(`onUpdate:`),c=Object.assign,l=(e,t)=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)},u=Object.prototype.hasOwnProperty,d=(e,t)=>u.call(e,t),f=Array.isArray,p=e=>S(e)===`[object Map]`,m=e=>S(e)===`[object Set]`,h=e=>S(e)===`[object Date]`,g=e=>typeof e==`function`,_=e=>typeof e==`string`,v=e=>typeof e==`symbol`,y=e=>typeof e==`object`&&!!e,b=e=>(y(e)||g(e))&&g(e.then)&&g(e.catch),x=Object.prototype.toString,S=e=>x.call(e),C=e=>S(e).slice(8,-1),w=e=>S(e)===`[object Object]`,T=e=>_(e)&&e!==`NaN`&&e[0]!==`-`&&``+parseInt(e,10)===e,ee=t(`,key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted`),E=e=>{let t=Object.create(null);return(n=>t[n]||(t[n]=e(n)))},te=/-\w/g,D=E(e=>e.replace(te,e=>e.slice(1).toUpperCase())),O=/\B([A-Z])/g,k=E(e=>e.replace(O,`-$1`).toLowerCase()),A=E(e=>e.charAt(0).toUpperCase()+e.slice(1)),j=E(e=>e?`on${A(e)}`:``),M=(e,t)=>!Object.is(e,t),N=(e,...t)=>{for(let n=0;n<e.length;n++)e[n](...t)},ne=(e,t,n,r=!1)=>{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:r,value:n})},re=e=>{let t=parseFloat(e);return isNaN(t)?e:t},ie=e=>{let t=_(e)?Number(e):NaN;return isNaN(t)?e:t},ae,oe=()=>ae||=typeof globalThis<`u`?globalThis:typeof self<`u`?self:typeof window<`u`?window:typeof global<`u`?global:{};function se(e){if(f(e)){let t={};for(let n=0;n<e.length;n++){let r=e[n],i=_(r)?de(r):se(r);if(i)for(let e in i)t[e]=i[e]}return t}if(_(e)||y(e))return e}var ce=/;(?![^(]*\))/g,le=/:([^]+)/,ue=/"(?:[^"\\]|\\[^])*"|'(?:[^'\\]|\\[^])*'|\\[^]|\/\*[^]*?\*\//g;function de(e){let t={};return e.replace(ue,e=>e.startsWith(`/*`)?``:e).split(ce).forEach(e=>{if(e){let n=e.split(le);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function P(e){let t=``;if(_(e))t=e;else if(f(e))for(let n=0;n<e.length;n++){let r=P(e[n]);r&&(t+=r+` `)}else if(y(e))for(let n in e)e[n]&&(t+=n+` `);return t.trim()}function fe(e){if(!e)return null;let{class:t,style:n}=e;return t&&!_(t)&&(e.class=P(t)),n&&(e.style=se(n)),e}var pe=t(`itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,playsinline,readonly`);function me(e){return!!e||e===``}function he(e,t,n){if(e.length!==t.length)return!1;let r=!0;for(let i=0;r&&i<e.length;i++)r=ye(e[i],t[i],n);return r}function ge(e,t,n){if(e.size!==t.size)return!1;let r=Array.from(t),i=new Uint8Array(r.length);for(let t of e){let e=-1;for(let a=0;a<r.length;a++)if(!i[a]&&ye(t,r[a],n)){e=a;break}if(e<0)return!1;i[e]=1}return!0}function _e(e,t,n){let r=p(e),i=p(t);if(r||i||(r=m(e),i=m(t),r||i))return r&&i?ge(e,t,n):!1;if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let r in e){let i=e.hasOwnProperty(r),a=t.hasOwnProperty(r);if(i&&!a||!i&&a||!ye(e[r],t[r],n))return!1}return String(e)===String(t)}function ve(e,t,n,r){n||=[new Map,new Map];let[i,a]=n;if(i.has(e)||a.has(t))return i.get(e)===t&&a.get(t)===e;i.set(e,t),a.set(t,e);let o=r(e,t,n);return i.delete(e),a.delete(t),o}function ye(e,t,n){if(e===t)return!0;let r=h(e),i=h(t);return r||i?r&&i?e.getTime()===t.getTime():!1:(r=v(e),i=v(t),r||i?e===t:(r=f(e),i=f(t),r||i?r&&i?ve(e,t,n,he):!1:(r=y(e),i=y(t),r||i?!r||!i?!1:ve(e,t,n,_e):String(e)===String(t))))}function be(e,t){return e.findIndex(e=>ye(e,t))}var xe=e=>!!(e&&e.__v_isRef===!0),F=e=>_(e)?e:e==null?``:f(e)||y(e)&&(e.toString===x||!g(e.toString))?xe(e)?F(e.value):JSON.stringify(e,Se,2):String(e),Se=(e,t)=>xe(t)?Se(e,t.value):p(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,n],r)=>(e[Ce(t,r)+` =>`]=n,e),{})}:m(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>Ce(e))}:v(t)?Ce(t):y(t)&&!f(t)&&!w(t)?String(t):t,Ce=(e,t=``)=>v(e)?`Symbol(${e.description??t})`:e,we,Te=class{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this._warnOnRun=!0,this.__v_skip=!0,!e&&we&&(we.active?(this.parent=we,this.index=(we.scopes||(we.scopes=[])).push(this)-1):(this._active=!1,this._warnOnRun=!1))}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let e,t;if(this.scopes){let n=this.scopes.slice();for(e=0,t=n.length;e<t;e++)n[e].pause()}for(e=0,t=this.effects.length;e<t;e++)this.effects[e].pause()}}resume(){if(this._active&&this._isPaused){this._isPaused=!1;let e,t;if(this.scopes){let n=this.scopes.slice();for(e=0,t=n.length;e<t;e++)n[e].resume()}let n=this.effects.slice();for(e=0,t=n.length;e<t;e++)n[e].resume()}}run(e){if(this._active){let t=we;try{return we=this,e()}finally{we=t}}}on(){++this._on===1&&(this.prevScope=we,we=this)}off(){if(this._on>0&&--this._on===0){if(we===this)we=this.prevScope;else{let e=we;for(;e;){if(e.prevScope===this){e.prevScope=this.prevScope;break}e=e.prevScope}}this.prevScope=void 0}}stop(e){if(this._active){this._active=!1;let t,n;for(t=0,n=this.effects.length;t<n;t++)this.effects[t].stop();for(this.effects.length=0,t=0,n=this.cleanups.length;t<n;t++)this.cleanups[t]();if(this.cleanups.length=0,this.scopes){let e=this.scopes.slice();for(t=0,n=e.length;t<n;t++)e[t].stop(!0);this.scopes.length=0}if(!this.detached&&this.parent&&!e){let e=this.parent.scopes.pop();e&&e!==this&&(this.parent.scopes[this.index]=e,e.index=this.index)}this.parent=void 0}}};function Ee(){return we}var De,Oe=new WeakSet,ke=class{constructor(e){this.fn=e,this.deps=void 0,this.depsTail=void 0,this.flags=5,this.next=void 0,this.cleanup=void 0,this.scheduler=void 0,we&&(we.active?we.effects.push(this):this.flags&=-2)}pause(){this.flags|=64}resume(){this.flags&64&&(this.flags&=-65,Oe.has(this)&&(Oe.delete(this),this.trigger()))}notify(){this.flags&2&&!(this.flags&32)||this.flags&8||Ne(this)}run(){if(!(this.flags&1))return this.fn();this.flags|=2,Ke(this),Ie(this);let e=De,t=He;De=this,He=!0;try{return this.fn()}finally{Le(this),De=e,He=t,this.flags&=-3}}stop(){if(this.flags&1){for(let e=this.deps;e;e=e.nextDep)Be(e);this.deps=this.depsTail=void 0,Ke(this),this.onStop&&this.onStop(),this.flags&=-2}}trigger(){this.flags&64?Oe.add(this):this.scheduler?this.scheduler():this.runIfDirty()}runIfDirty(){Re(this)&&this.run()}get dirty(){return Re(this)}},Ae=0,je,Me;function Ne(e,t=!1){e.flags|=8,t?(e.next=Me,Me=e):(e.next=je,je=e)}function Pe(){Ae++}function Fe(){if(--Ae>0)return;if(Me){let e=Me;for(Me=void 0;e;){let t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;je;){let t=je;for(je=void 0;t;){let n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(t){e||=t}t=n}}if(e)throw e}function Ie(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function Le(e){let t,n=e.depsTail,r=n;for(;r;){let e=r.prevDep;r.version===-1?(r===n&&(n=e),Be(r),Ve(r)):t=r,r.dep.activeLink=r.prevActiveLink,r.prevActiveLink=void 0,r=e}e.deps=t,e.depsTail=n}function Re(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(ze(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function ze(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===qe)||(e.globalVersion=qe,!e.isSSR&&e.flags&128&&(!e.deps&&!e._dirty||!Re(e))))return;e.flags|=2;let t=e.dep,n=De,r=He;De=e,He=!0;try{Ie(e);let n=e.fn(e._value);(t.version===0||M(n,e._value))&&(e.flags|=128,e._value=n,t.version++)}catch(e){throw t.version++,e}finally{De=n,He=r,Le(e),e.flags&=-3}}function Be(e,t=!1){let{dep:n,prevSub:r,nextSub:i}=e;if(r&&(r.nextSub=i,e.prevSub=void 0),i&&(i.prevSub=r,e.nextSub=void 0),n.subs===e&&(n.subs=r,!r&&n.computed)){n.computed.flags&=-5;for(let e=n.computed.deps;e;e=e.nextDep)Be(e,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function Ve(e){let{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}var He=!0,Ue=[];function We(){Ue.push(He),He=!1}function Ge(){let e=Ue.pop();He=e===void 0||e}function Ke(e){let{cleanup:t}=e;if(e.cleanup=void 0,t){let e=De;De=void 0;try{t()}finally{De=e}}}var qe=0,Je=class{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}},Ye=class{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!De||!He||De===this.computed)return;let t=this.activeLink;if(t===void 0||t.sub!==De)t=this.activeLink=new Je(De,this),De.deps?(t.prevDep=De.depsTail,De.depsTail.nextDep=t,De.depsTail=t):De.deps=De.depsTail=t,Xe(t);else if(t.version===-1&&(t.version=this.version,t.nextDep)){let e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=De.depsTail,t.nextDep=void 0,De.depsTail.nextDep=t,De.depsTail=t,De.deps===t&&(De.deps=e)}return t}trigger(e){this.version++,qe++,this.notify(e)}notify(e){Pe();try{for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{Fe()}}};function Xe(e){if(e.dep.sc++,e.sub.flags&4){let t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Xe(e)}let n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subs=e}}var Ze=new WeakMap,Qe=Symbol(``),$e=Symbol(``),et=Symbol(``);function tt(e,t,n){if(He&&De){let t=Ze.get(e);t||Ze.set(e,t=new Map);let r=t.get(n);r||(t.set(n,r=new Ye),r.map=t,r.key=n),r.track()}}function nt(e,t,n,r,i,a){let o=Ze.get(e);if(!o){qe++;return}let s=e=>{e&&e.trigger()};if(Pe(),t===`clear`)o.forEach(s);else{let i=f(e),a=i&&T(n);if(i&&n===`length`){let e=Number(r);o.forEach((t,n)=>{(n===`length`||n===et||!v(n)&&n>=e)&&s(t)})}else switch((n!==void 0||o.has(void 0))&&s(o.get(n)),a&&s(o.get(et)),t){case`add`:i?a&&s(o.get(`length`)):(s(o.get(Qe)),p(e)&&s(o.get($e)));break;case`delete`:i||(s(o.get(Qe)),p(e)&&s(o.get($e)));break;case`set`:p(e)&&s(o.get(Qe))}}Fe()}function rt(e,t){let n=Ze.get(e);return n&&n.get(t)}function it(e){let t=Kt(e);return t===e||(tt(t,`iterate`,et),Wt(e))?t:Ut(e)?Ht(e)?t.map(e=>Yt(Jt(e))):t.map(Yt):t.map(Jt)}function at(e){return tt(e=Kt(e),`iterate`,et),e}function ot(e,t){return Ut(e)?Yt(Ht(e)?Jt(t):t):Jt(t)}var st={__proto__:null,[Symbol.iterator](){return ct(this,Symbol.iterator,e=>ot(this,e))},concat(...e){return it(this).concat(...e.map(e=>f(e)?it(e):e))},entries(){return ct(this,`entries`,e=>(e[1]=ot(this,e[1]),e))},every(e,t){return dt(this,`every`,e,t,void 0,arguments)},filter(e,t){return dt(this,`filter`,e,t,e=>e.map(e=>ot(this,e)),arguments)},find(e,t){return dt(this,`find`,e,t,e=>ot(this,e),arguments)},findIndex(e,t){return dt(this,`findIndex`,e,t,void 0,arguments)},findLast(e,t){return dt(this,`findLast`,e,t,e=>ot(this,e),arguments)},findLastIndex(e,t){return dt(this,`findLastIndex`,e,t,void 0,arguments)},forEach(e,t){return dt(this,`forEach`,e,t,void 0,arguments)},includes(...e){return pt(this,`includes`,e)},indexOf(...e){return pt(this,`indexOf`,e)},join(e){return it(this).join(e)},lastIndexOf(...e){return pt(this,`lastIndexOf`,e)},map(e,t){return dt(this,`map`,e,t,void 0,arguments)},pop(){return mt(this,`pop`)},push(...e){return mt(this,`push`,e)},reduce(e,...t){return ft(this,`reduce`,e,t)},reduceRight(e,...t){return ft(this,`reduceRight`,e,t)},shift(){return mt(this,`shift`)},some(e,t){return dt(this,`some`,e,t,void 0,arguments)},splice(...e){return mt(this,`splice`,e)},toReversed(){return it(this).toReversed()},toSorted(e){return it(this).toSorted(e)},toSpliced(...e){return it(this).toSpliced(...e)},unshift(...e){return mt(this,`unshift`,e)},values(){return ct(this,`values`,e=>ot(this,e))}};function ct(e,t,n){let r=at(e),i=r[t],a=i.call(r);if(r!==e&&!Wt(e)){if(a[Symbol.toStringTag]===`Array Iterator`){let e=Object.create(Object.getPrototypeOf(a));return e.next=()=>lt(a.next(),n),i!==ut[t]&&Object.defineProperties(e,{return:{get(){let e=a.return;return typeof e==`function`?e.bind(a):e}},throw:{get(){let e=a.throw;return typeof e==`function`?e.bind(a):e}}}),e}a._next=a.next,a.next=()=>lt(a._next(),n)}return a}function lt(e,t){return e.done||(e.value=t(e.value)),e}var ut=Array.prototype;function dt(e,t,n,r,i,a){let o=at(e),s=o!==e&&!Wt(e),c=o[t];if(c!==ut[t]){let t=c.apply(e,a);return s?Jt(t):t}let l=n;o!==e&&(s?l=function(t,r){return n.call(this,ot(e,t),r,e)}:n.length>2&&(l=function(t,r){return n.call(this,t,r,e)}));let u=c.call(o,l,r);return s&&i?i(u):u}function ft(e,t,n,r){let i=at(e),a=i!==e&&!Wt(e),o=n,s=!1;i!==e&&(a?(s=r.length===0,o=function(t,r,i){return s&&(s=!1,t=ot(e,t)),n.call(this,t,ot(e,r),i,e)}):n.length>3&&(o=function(t,r,i){return n.call(this,t,r,i,e)}));let c=i[t](o,...r);return s?ot(e,c):c}function pt(e,t,n){let r=Kt(e);tt(r,`iterate`,et);let i=r[t](...n);return(i===-1||i===!1)&&Gt(n[0])?(n[0]=Kt(n[0]),r[t](...n)):i}function mt(e,t,n=[]){We(),Pe();let r=Kt(e)[t].apply(e,n);return Fe(),Ge(),r}var ht=t(`__proto__,__v_isRef,__isVue`),gt=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!==`arguments`&&e!==`caller`).map(e=>Symbol[e]).filter(v));function _t(e){v(e)||(e=String(e));let t=Kt(this);return tt(t,`has`,e),t.hasOwnProperty(e)}var vt=class{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,n){if(t===`__v_skip`)return e.__v_skip;let r=this._isReadonly,i=this._isShallow;if(t===`__v_isReactive`)return!r;if(t===`__v_isReadonly`)return r;if(t===`__v_isShallow`)return i;if(t===`__v_raw`)return n===(r?i?It:Ft:i?Pt:Nt).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;let a=f(e);if(!r){let e;if(a&&(e=st[t]))return e;if(t===`hasOwnProperty`)return _t}let o=Reflect.get(e,t,Xt(e)?e:n);if((v(t)?gt.has(t):ht(t))||(r||tt(e,`get`,t),i))return o;if(Xt(o)){let e=a&&T(t)?o:o.value;return r&&y(e)?Bt(e):e}return y(o)?r?Bt(o):Rt(o):o}},yt=class extends vt{constructor(e=!1){super(!1,e)}set(e,t,n,r){let i=e[t],a=f(e)&&T(t);if(!this._isShallow){let e=Ut(i);if(!Wt(n)&&!Ut(n)&&(i=Kt(i),n=Kt(n)),!a&&Xt(i)&&!Xt(n))return e||(i.value=n),!0}let o=a?Number(t)<e.length:d(e,t),s=Reflect.set(e,t,n,Xt(e)?e:r);return e===Kt(r)&&s&&(o?M(n,i)&&nt(e,`set`,t,n,i):nt(e,`add`,t,n)),s}deleteProperty(e,t){let n=d(e,t),r=e[t],i=Reflect.deleteProperty(e,t);return i&&n&&nt(e,`delete`,t,void 0,r),i}has(e,t){let n=Reflect.has(e,t);return v(t)&>.has(t)||tt(e,`has`,t),n}ownKeys(e){return tt(e,`iterate`,f(e)?`length`:Qe),Reflect.ownKeys(e)}},bt=class extends vt{constructor(e=!1){super(!0,e)}set(e,t){return!0}deleteProperty(e,t){return!0}},xt=new yt,St=new bt,Ct=new yt(!0),wt=e=>e,Tt=e=>Reflect.getPrototypeOf(e);function Et(e,t,n){return function(...r){let i=this.__v_raw,a=Kt(i),o=p(a),s=e===`entries`||e===Symbol.iterator&&o,l=e===`keys`&&o,u=i[e](...r),d=n?wt:t?Yt:Jt;return!t&&tt(a,`iterate`,l?$e:Qe),c(Object.create(u),{next(){let{value:e,done:t}=u.next();return t?{value:e,done:t}:{value:s?[d(e[0]),d(e[1])]:d(e),done:t}}})}}function Dt(e){return function(...t){return e===`delete`?!1:e===`clear`?void 0:this}}function Ot(e,t){let n={get(n){let r=this.__v_raw,i=Kt(r),a=Kt(n);e||(M(n,a)&&tt(i,`get`,n),tt(i,`get`,a));let{has:o}=Tt(i),s=t?wt:e?Yt:Jt;if(o.call(i,n))return s(r.get(n));if(o.call(i,a))return s(r.get(a));r!==i&&r.get(n)},get size(){let t=this.__v_raw;return!e&&tt(Kt(t),`iterate`,Qe),t.size},has(t){let n=this.__v_raw,r=Kt(n),i=Kt(t);return e||(M(t,i)&&tt(r,`has`,t),tt(r,`has`,i)),t===i?n.has(t):n.has(t)||n.has(i)},forEach(n,r){let i=this,a=i.__v_raw,o=Kt(a),s=t?wt:e?Yt:Jt;return!e&&tt(o,`iterate`,Qe),a.forEach((e,t)=>n.call(r,s(e),s(t),i))}};return c(n,e?{add:Dt(`add`),set:Dt(`set`),delete:Dt(`delete`),clear:Dt(`clear`)}:{add(e){let n=Kt(this),r=Tt(n),i=Kt(e),a=!t&&!Wt(e)&&!Ut(e)?i:e;return r.has.call(n,a)||M(e,a)&&r.has.call(n,e)||M(i,a)&&r.has.call(n,i)||(n.add(a),nt(n,`add`,a,a)),this},set(e,n){t||Wt(n)||Ut(n)||(n=Kt(n));let r=Kt(this),{has:i,get:a}=Tt(r),o=i.call(r,e);o||=(e=Kt(e),i.call(r,e));let s=a.call(r,e);return r.set(e,n),o?M(n,s)&&nt(r,`set`,e,n,s):nt(r,`add`,e,n),this},delete(e){let t=Kt(this),{has:n,get:r}=Tt(t),i=n.call(t,e);i||=(e=Kt(e),n.call(t,e));let a=r?r.call(t,e):void 0,o=t.delete(e);return i&&nt(t,`delete`,e,void 0,a),o},clear(){let e=Kt(this),t=e.size!==0,n=e.clear();return t&&nt(e,`clear`,void 0,void 0,void 0),n}}),[`keys`,`values`,`entries`,Symbol.iterator].forEach(r=>{n[r]=Et(r,e,t)}),n}function kt(e,t){let n=Ot(e,t);return(r,i,a)=>i===`__v_isReactive`?!e:i===`__v_isReadonly`?e:i===`__v_isShallow`?t:i===`__v_raw`?r:Reflect.get(d(n,i)&&i in r?n:r,i,a)}var At={get:kt(!1,!1)},jt={get:kt(!1,!0)},Mt={get:kt(!0,!1)},Nt=new WeakMap,Pt=new WeakMap,Ft=new WeakMap,It=new WeakMap;function Lt(e){switch(e){case`Object`:case`Array`:return 1;case`Map`:case`Set`:case`WeakMap`:case`WeakSet`:return 2;default:return 0}}function Rt(e){return Ut(e)?e:Vt(e,!1,xt,At,Nt)}function zt(e){return Vt(e,!1,Ct,jt,Pt)}function Bt(e){return Vt(e,!0,St,Mt,Ft)}function Vt(e,t,n,r,i){if(!y(e)||e.__v_raw&&!(t&&e.__v_isReactive)||e.__v_skip||!Object.isExtensible(e))return e;let a=i.get(e);if(a)return a;let o=Lt(C(e));if(o===0)return e;let s=new Proxy(e,o===2?r:n);return i.set(e,s),s}function Ht(e){return Ut(e)?Ht(e.__v_raw):!!(e&&e.__v_isReactive)}function Ut(e){return!!(e&&e.__v_isReadonly)}function Wt(e){return!!(e&&e.__v_isShallow)}function Gt(e){return e?!!e.__v_raw:!1}function Kt(e){let t=e&&e.__v_raw;return t?Kt(t):e}function qt(e){return!d(e,`__v_skip`)&&Object.isExtensible(e)&&ne(e,`__v_skip`,!0),e}var Jt=e=>y(e)?Rt(e):e,Yt=e=>y(e)?Bt(e):e;function Xt(e){return e?e.__v_isRef===!0:!1}function I(e){return Qt(e,!1)}function Zt(e){return Qt(e,!0)}function Qt(e,t){return Xt(e)?e:new $t(e,t)}var $t=class{constructor(e,t){this.dep=new Ye,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:Kt(e),this._value=t?e:Jt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){let t=this._rawValue,n=this.__v_isShallow||Wt(e)||Ut(e);e=n?e:Kt(e),M(e,t)&&(this._rawValue=e,this._value=n?e:Jt(e),this.dep.trigger())}};function L(e){return Xt(e)?e.value:e}function en(e){return g(e)?e():L(e)}var tn={get:(e,t,n)=>t===`__v_raw`?e:L(Reflect.get(e,t,n)),set:(e,t,n,r)=>{let i=e[t];return Xt(i)&&!Xt(n)?(i.value=n,!0):Reflect.set(e,t,n,r)}};function nn(e){return Ht(e)?e:new Proxy(e,tn)}var rn=class{constructor(e){this.__v_isRef=!0,this._value=void 0;let t=this.dep=new Ye,{get:n,set:r}=e(t.track.bind(t),t.trigger.bind(t));this._get=n,this._set=r}get value(){return this._value=this._get()}set value(e){this._set(e)}};function an(e){return new rn(e)}var on=class{constructor(e,t,n){this._object=e,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0,this._key=v(t)?t:String(t),this._raw=Kt(e);let r=!0,i=e;if(!f(e)||v(this._key)||!T(this._key))do r=!Gt(i)||Wt(i);while(r&&(i=i.__v_raw));this._shallow=r}get value(){let e=this._object[this._key];return this._shallow&&(e=L(e)),this._value=e===void 0?this._defaultValue:e}set value(e){if(this._shallow&&Xt(this._raw[this._key])){let t=this._object[this._key];if(Xt(t)){t.value=e;return}}this._object[this._key]=e}get dep(){return rt(this._raw,this._key)}},sn=class{constructor(e){this._getter=e,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}};function cn(e,t,n){return Xt(e)?e:g(e)?new sn(e):y(e)&&arguments.length>1?ln(e,t,n):I(e)}function ln(e,t,n){return new on(e,t,n)}var un=class{constructor(e,t,n){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Ye(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=qe-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=n}notify(){if(this.flags|=16,!(this.flags&8)&&De!==this)return Ne(this,!0),!0}get value(){let e=this.dep.track();return ze(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}};function dn(e,t,n=!1){let r,i;return g(e)?r=e:(r=e.get,i=e.set),new un(r,i,n)}var fn={},pn=new WeakMap,mn=void 0;function hn(e,t=!1,n=mn){if(n){let t=pn.get(n);t||pn.set(n,t=[]),t.push(e)}}function gn(e,t,r=n){let{immediate:a,deep:o,once:s,scheduler:c,augmentJob:u,call:d}=r,p=e=>o?e:Wt(e)||o===!1||o===0?_n(e,1):_n(e),m,h,_,v,y=!1,b=!1;if(Xt(e)?(h=()=>e.value,y=Wt(e)):Ht(e)?(h=()=>p(e),y=!0):f(e)?(b=!0,y=e.some(e=>Ht(e)||Wt(e)),h=()=>e.map(e=>{if(Xt(e))return e.value;if(Ht(e))return p(e);if(g(e))return d?d(e,2):e()})):h=g(e)?t?d?()=>d(e,2):e:()=>{if(_){We();try{_()}finally{Ge()}}let t=mn;mn=m;try{return d?d(e,3,[v]):e(v)}finally{mn=t}}:i,t&&o){let e=h,t=o===!0?1/0:o;h=()=>_n(e(),t)}let x=Ee(),S=()=>{m.stop(),x&&x.active&&l(x.effects,m)};if(s&&t){let e=t;t=(...t)=>{try{return e(...t)}finally{S()}}}let C=b?Array(e.length).fill(fn):fn,w=e=>{if(m.flags&1&&(m.dirty||e)){if(t){let n=m.run();if(e||o||y||(b?n.some((e,t)=>M(e,C[t])):M(n,C))){let e=mn;We();try{_&&_(),mn=m;let e=[n,C===fn?void 0:b&&C[0]===fn?[]:C,v];C=n,d?d(t,3,e):t(...e)}finally{mn=e,Ge()}}}else m.run()}};return u&&u(w),m=new ke(h),m.scheduler=c?()=>c(w,!1):w,v=e=>hn(e,!1,m),_=m.onStop=()=>{let e=pn.get(m);if(e){if(d)d(e,4);else for(let t of e)t();pn.delete(m)}},t?a?w(!0):C=m.run():c?c(w.bind(null,!0),!0):m.run(),S.pause=m.pause.bind(m),S.resume=m.resume.bind(m),S.stop=S,S}function _n(e,t=1/0,n){if(t<=0||!y(e)||e.__v_skip||(n||=new Map,(n.get(e)||0)>=t))return e;if(n.set(e,t),t--,Xt(e))_n(e.value,t,n);else if(f(e))for(let r=0;r<e.length;r++)_n(e[r],t,n);else if(m(e)||p(e))e.forEach(e=>{_n(e,t,n)});else if(w(e)){for(let r in e)_n(e[r],t,n);for(let r of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,r)&&_n(e[r],t,n)}return e}function vn(e,t,n,r){try{return r?e(...r):e()}catch(e){bn(e,t,n)}}function yn(e,t,n,r){if(g(e)){let i=vn(e,t,n,r);return i&&b(i)&&i.catch(e=>{bn(e,t,n)}),i}if(f(e)){let i=[];for(let a=0;a<e.length;a++)i.push(yn(e[a],t,n,r));return i}}function bn(e,t,r,i=!0){let a=t?t.vnode:null,{errorHandler:o,throwUnhandledErrorInProduction:s}=t&&t.appContext.config||n;if(t){let n=t.parent,i=t.proxy,a=`https://vuejs.org/error-reference/#runtime-${r}`;for(;n;){let t=n.ec;if(t){for(let n=0;n<t.length;n++)if(t[n](e,i,a)===!1)return}n=n.parent}if(o){We(),vn(o,null,10,[e,i,a]),Ge();return}}xn(e,r,a,i,s)}function xn(e,t,n,r=!0,i=!1){if(i)throw e;console.error(e)}var Sn=[],Cn=-1,wn=[],Tn=null,En=0,Dn=Promise.resolve(),On=null;function kn(e){let t=On||Dn;return e?t.then(this?e.bind(this):e):t}function An(e){let t=Cn+1,n=Sn.length;for(;t<n;){let r=t+n>>>1,i=Sn[r],a=Rn(i);a<e||a===e&&i.flags&2?t=r+1:n=r}return t}function jn(e){if(!(e.flags&1)){let t=Rn(e),n=Sn[Sn.length-1];!n||!(e.flags&2)&&t>=Rn(n)?Sn.push(e):Sn.splice(An(t),0,e),e.flags|=1,Mn()}}function Mn(){On||=Dn.then(zn)}function Nn(e){if(!f(e))Tn&&e.id===-1?Tn.splice(En+1,0,e):e.flags&1||(wn.push(e),e.flags|=1);else for(let t=0;t<e.length;t++)wn.push(e[t]);Mn()}function Pn(e,t,n,r=Cn+1){for(;r<Sn.length;r++){let n=Sn[r];if(n&&n.flags&2){if(e&&n.id!==e.uid||t!==void 0&&!(n.id>=t))continue;Sn.splice(r,1),r=e?r-1:Cn,n.flags&4&&(n.flags&=-2),n(),n.flags&4||(n.flags&=-2)}}}function Fn(e,t,n=0){if(wn.length){let e=wn,r=0;if(t){e=[];for(let i=0;i<wn.length;i++){let a=wn[i];(a.i===void 0?t.has(a):!a.i||a.i.uid<n)?wn[r++]=a:e.push(a)}}let i=[...new Set(e)].sort((e,t)=>Rn(e)-Rn(t));if(wn.length=r,Tn){for(let e=0;e<i.length;e++)Tn.push(i[e]);return}for(Tn=i,En=0;En<Tn.length;En++){let e=Tn[En];e.flags&4&&(e.flags&=-2),e.flags&8||e(),e.flags&=-2}Tn=null,En=0}}var In=!1;function Ln(e,t){if(In){e();return}let n=t===void 0?void 0:new Set(wn);e(),In=!0;try{Pn(void 0,t),Fn(void 0,n,t)}finally{In=!1}}var Rn=e=>e.id==null?e.flags&2?-1:1/0:e.id;function zn(e){try{for(Cn=0;Cn<Sn.length;Cn++){let e=Sn[Cn];e&&!(e.flags&8)&&(e.flags&4&&(e.flags&=-2),vn(e,e.i,e.i?15:14),e.flags&4||(e.flags&=-2))}}finally{for(;Cn<Sn.length;Cn++){let e=Sn[Cn];e&&(e.flags&=-2)}Cn=-1,Sn.length=0,Fn(e),On=null,(Sn.length||wn.length)&&zn(e)}}var Bn=null,Vn=null;function Hn(e){let t=Bn;return Bn=e,Vn=e&&e.type.__scopeId||null,t}function R(e,t=Bn,n){if(!t||e._n)return e;let r=(...n)=>{r._d&&Ia(-1);let i=Hn(t),a=Ma.length,o;try{o=e(...n)}finally{for(let e=Ma.length;e>a;e--)Pa();Hn(i),r._d&&Ia(1)}return o};return r._n=!0,r._c=!0,r._d=!0,r}function Un(e,t){if(Bn===null)return e;let r=_o(Bn),i=e.dirs||=[];for(let e=0;e<t.length;e++){let[a,o,s,c=n]=t[e];a&&(g(a)&&(a={mounted:a,updated:a}),a.deep&&_n(o),i.push({dir:a,instance:r,value:o,oldValue:void 0,arg:s,modifiers:c}))}return e}function Wn(e,t,n,r){let i=e.dirs,a=t&&t.dirs;for(let o=0;o<i.length;o++){let s=i[o];a&&(s.oldValue=a[o].value);let c=s.dir[r];c&&(We(),yn(c,n,8,[e.el,s,e,t]),Ge())}}function Gn(e,t){if(eo){let n=eo.provides,r=eo.parent&&eo.parent.provides;r===n&&(n=eo.provides=Object.create(r)),n[e]=t}}function Kn(e,t,n=!1){let r=to();if(r||Li){let i=Li?Li._context.provides:r?r.parent==null||r.ce?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides:void 0;if(i&&e in i)return i[e];if(arguments.length>1)return n&&g(t)?t.call(r&&r.proxy):t}}var qn=Symbol.for(`v-scx`),Jn=()=>Kn(qn);function Yn(e,t){return Qn(e,null,t)}function Xn(e,t){return Qn(e,null,{flush:`sync`})}function Zn(e,t,n){return Qn(e,t,n)}function Qn(e,t,r=n){let{immediate:a,deep:o,flush:s,once:l}=r,u=c({},r),d=t&&a||!t&&s!==`post`,f;if(so){if(s===`sync`){let e=Jn();f=e.__watcherHandles||=[]}else if(!d){let e=()=>{};return e.stop=i,e.resume=i,e.pause=i,e}}let p=eo;u.call=(e,t,n)=>yn(e,p,t,n);let m=!1;s===`post`?u.scheduler=e=>{e.i=p,ga(e,p&&p.suspense)}:s!==`sync`&&(m=!0,u.scheduler=(e,t)=>{t?e():jn(e)}),u.augmentJob=e=>{t&&(e.flags|=4),m&&(e.flags|=2,p&&(e.id=p.uid,e.i=p))};let h=gn(e,t,u);return so&&(f?f.push(h):d&&h()),h}function $n(e,t,n){let r=this.proxy,i=_(e)?e.includes(`.`)?er(r,e):()=>r[e]:e.bind(r,r),a;g(t)?a=t:(a=t.handler,n=t);let o=io(this),s=Qn(i,a.bind(r),n);return o(),s}function er(e,t){let n=t.split(`.`);return()=>{let t=e;for(let e=0;e<n.length&&t;e++)t=t[n[e]];return t}}var tr=new WeakMap,nr=Symbol(`_vte`),rr=e=>e.__isTeleport,ir=e=>e&&(e.disabled||e.disabled===``),ar=e=>e&&(e.defer||e.defer===``),or=e=>typeof SVGElement<`u`&&e instanceof SVGElement,sr=e=>typeof MathMLElement==`function`&&e instanceof MathMLElement,cr=(e,t)=>{let n=e&&e.to;return _(n)?t?t(n):null:n},lr={name:`Teleport`,__isTeleport:!0,process(e,t,n,r,i,a,o,s,c,l){let{mc:u,pc:d,pbc:f,o:{insert:p,querySelector:m,createText:h,createComment:g,parentNode:_}}=l,v=ir(t.props),{dynamicChildren:y}=t,b=(e,t,n)=>{e.shapeFlag&16&&u(e.children,t,n,i,a,o,s,c)},x=(e=t)=>{let n=ir(e.props),r=e.target=cr(e.props,m),a=mr(r,e,h,p);r&&(o!==`svg`&&or(r)?o=`svg`:o!==`mathml`&&sr(r)&&(o=`mathml`),i&&i.isCE&&(i.ce._teleportTargets||(i.ce._teleportTargets=new Set)).add(r),n||(b(e,r,a),pr(e,!1)))},S=e=>{let t=()=>{if(tr.get(e)===t){if(tr.delete(e),ir(e.props)){let t=_(e.el)||n;b(e,t,e.anchor),pr(e,!0)}x(e)}};tr.set(e,t),ga(t,a)};if(e==null){let e=t.el=h(``),i=t.anchor=h(``);if(p(e,n,r),p(i,n,r),ar(t.props)||a&&a.pendingBranch){S(t);return}v&&(b(t,n,i),pr(t,!0)),x()}else{t.el=e.el;let r=t.anchor=e.anchor,u=tr.get(e);if(u){u.flags|=8,tr.delete(e),S(t);return}t.targetStart=e.targetStart;let p=t.target=e.target,h=t.targetAnchor=e.targetAnchor,g=ir(e.props),_=g?n:p,b=g?r:h;if(o===`svg`||or(p)?o=`svg`:(o===`mathml`||sr(p))&&(o=`mathml`),y?(f(e.dynamicChildren,y,_,i,a,o,s),Sa(e,t,!0)):c||d(e,t,_,b,i,a,o,s,!1),v)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):ur(t,n,r,l,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){let e=cr(t.props,m);e&&(t.target=e,ur(t,e,null,l,0))}else g&&ur(t,p,h,l,1);pr(t,v)}},remove(e,t,n,{um:r,o:{remove:i}},a){let{shapeFlag:o,children:s,anchor:c,targetStart:l,targetAnchor:u,target:d,props:f}=e,p=ir(f),m=a||!p,h=tr.get(e);if(h&&(h.flags|=8,tr.delete(e)),d&&(i(l),i(u)),a&&i(c),!h&&(p||d)&&o&16)for(let e=0;e<s.length;e++){let i=s[e];r(i,t,n,m,!!i.dynamicChildren)}},move:ur,hydrate:dr};function ur(e,t,n,{o:{insert:r},m:i},a=2){a===0&&(e.targetStart&&r(e.targetStart,t,n),r(e.targetAnchor,t,n),n=e.targetAnchor);let{el:o,anchor:s,shapeFlag:c,children:l,props:u}=e,d=a===2;if(d&&r(o,t,n),!tr.has(e)&&(!d||ir(u))&&c&16)for(let e=0;e<l.length;e++)i(l[e],t,n,2);d&&r(s,t,n)}function dr(e,t,n,r,i,a,{o:{nextSibling:o,parentNode:s,querySelector:c,insert:l,createText:u}},d){function f(e,n){let r=n;for(;r;){if(r&&r.nodeType===8){if(r.data===`teleport start anchor`)t.targetStart=r;else if(r.data===`teleport anchor`){t.targetAnchor=r,e._lpa=t.targetAnchor&&o(t.targetAnchor);break}}r=o(r)}}function p(e,t){t.anchor=d(o(e),t,s(e),n,r,i,a)}let m=t.target=cr(t.props,c),h=ir(t.props);if(m){let c=m._lpa||m.firstChild;t.shapeFlag&16&&(h?(p(e,t),f(m,c),t.targetAnchor||mr(m,t,u,l,s(e)===m?e:null)):(t.anchor=o(e),f(m,c),t.targetAnchor||mr(m,t,u,l),d(c&&o(c),t,m,n,r,i,a))),pr(t,h)}else h&&t.shapeFlag&16&&(p(e,t),t.targetStart=e,t.targetAnchor=o(e));return t.anchor&&o(t.anchor)}var fr=lr;function pr(e,t){let n=e.ctx;if(n&&n.ut){let r,i;for(t?(r=e.el,i=e.anchor):(r=e.targetStart,i=e.targetAnchor);r&&r!==i;)r.nodeType===1&&r.setAttribute(`data-v-owner`,n.uid),r=r.nextSibling;n.ut()}}function mr(e,t,n,r,i=null){let a=t.targetStart=n(``),o=t.targetAnchor=n(``);return a[nr]=o,e&&(r(a,e,i),r(o,e,i)),o}var hr=Symbol(`_leaveCb`),gr=Symbol(`_enterCb`);function _r(){let e={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return Kr(()=>{e.isMounted=!0}),Yr(()=>{e.isUnmounting=!0}),e}var vr=[Function,Array],yr={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:vr,onEnter:vr,onAfterEnter:vr,onEnterCancelled:vr,onBeforeLeave:vr,onLeave:vr,onAfterLeave:vr,onLeaveCancelled:vr,onBeforeAppear:vr,onAppear:vr,onAfterAppear:vr,onAppearCancelled:vr},br={name:`BaseTransition`,props:yr,setup(e,{slots:t}){let n=to(),r=_r();return()=>{let i=t.default&&Or(t.default(),!0),a=i&&i.length?xr(i):n.subTree?K():void 0;if(!a)return;let o=Kt(e),{mode:s}=o;if(r.isLeaving)return Tr(a);let c=Er(a);if(!c)return Tr(a);let l=wr(c,o,r,n,e=>l=e);c.type!==Aa&&Dr(c,l);let u=n.subTree&&Er(n.subTree);if(u&&u.type!==Aa&&!za(u,c)&&kr(n.subTree)){let e=wr(u,o,r,n);if(Dr(u,e),s===`out-in`&&c.type!==Aa)return r.isLeaving=!0,e.afterLeave=()=>{r.isLeaving=!1,n.job.flags&8||n.update(),delete e.afterLeave,u=void 0},Tr(a);s===`in-out`&&c.type!==Aa?e.delayLeave=(e,t,n)=>{let i=Cr(r,u);i[String(u.key)]=u,e[hr]=()=>{t(),e[hr]=void 0,delete l.delayedLeave,u=void 0},l.delayedLeave=()=>{n(),delete l.delayedLeave,u=void 0}}:u=void 0}else u&&=void 0;return a}}};function xr(e){let t=e[0];if(e.length>1){for(let n of e)if(n.type!==Aa){t=n;break}}return t}var Sr=br;function Cr(e,t){let{leavingVNodes:n}=e,r=n.get(t.type);return r||(r=Object.create(null),n.set(t.type,r)),r}function wr(e,t,n,r,i){let{appear:a,mode:o,persisted:s=!1,onBeforeEnter:c,onEnter:l,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:p,onLeave:m,onAfterLeave:h,onLeaveCancelled:g,onBeforeAppear:_,onAppear:v,onAfterAppear:y,onAppearCancelled:b}=t,x=String(e.key),S=Cr(n,e),C=(e,t)=>{e&&yn(e,r,9,t)},w=(e,t)=>{let n=t[1];C(e,t),f(e)?e.every(e=>e.length<=1)&&n():e.length<=1&&n()},T={mode:o,persisted:s,beforeEnter(t){let r=c;if(!n.isMounted){if(a)r=_||c;else return}t[hr]&&t[hr](!0);let i=S[x];if(i&&za(e,i)){let e=i.el[hr];if(!e){let t=kr(i);e=t&&t.el[hr]}e&&e()}C(r,[t])},enter(t){if(S[x]===e)return;let r=l,i=u,o=d;if(!n.isMounted){if(a)r=v||l,i=y||u,o=b||d;else return}let s=!1;t[gr]=e=>{s||(s=!0,C(e?o:i,[t]),T.delayedLeave&&T.delayedLeave(),t[gr]=void 0)};let c=t[gr].bind(null,!1);r?w(r,[t,c]):c()},leave(t,r){let i=String(e.key);if(t[gr]&&t[gr](!0),n.isUnmounting)return r();C(p,[t]);let a=!1;t[hr]=n=>{a||(a=!0,r(),C(n?g:h,[t]),t[hr]=void 0,S[i]===e&&delete S[i])};let o=t[hr].bind(null,!1);S[i]=e,m?w(m,[t,o]):o()},clone(e){let a=wr(e,t,n,r,i);return i&&i(a),a}};return T}function Tr(e){if(Rr(e))return e=Wa(e),e.children=null,e}function Er(e){if(!Rr(e))return rr(e.type)&&e.children?xr(e.children):e;if(e.component)return e.component.subTree;let{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&g(n.default))return n.default()}}function Dr(e,t){if(e.shapeFlag&6&&e.component){e.transition=t;let n=e.component.subTree;Dr(rr(n.type)&&Er(n)||n,t)}else if(e.shapeFlag&128)e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback);else if(e.transition=t,e.type===z&&f(e.children)){let n=Gi(e.children,!1);n&&Dr(n,t)}}function Or(e,t=!1,n){let r=[],i=0;for(let a=0;a<e.length;a++){let o=e[a],s=n==null?o.key:String(n)+String(o.key==null?a:o.key);o.type===z?(o.patchFlag&128&&i++,r=r.concat(Or(o.children,t,s))):(t||o.type!==Aa)&&r.push(s==null?o:Wa(o,{key:s}))}if(i>1)for(let e=0;e<r.length;e++)r[e].patchFlag=-2;return r}function kr(e){if(e.component)return kr(e.component.subTree);if(e.type===z){let t=f(e.children)&&Gi(e.children,!1);return t?kr(t):void 0}if(e.type!==Aa)return e}function Ar(e,t){return g(e)?c({name:e.name},t,{setup:e}):e}function jr(){let e=to();return e?(e.appContext.config.idPrefix||`v`)+`-`+e.ids[0]+e.ids[1]++:``}function Mr(e){e.ids=[e.ids[0]+e.ids[2]+++`-`,0,0]}function Nr(e,t){let n;return!!((n=Object.getOwnPropertyDescriptor(e,t))&&!n.configurable)}var Pr=new WeakMap;function Fr(e,t,r,i,o=!1){if(f(e)){e.forEach((e,n)=>Fr(e,t&&(f(t)?t[n]:t),r,i,o));return}if(Lr(i)&&!o){i.shapeFlag&512&&i.type.__asyncResolved&&i.component.subTree.component&&Fr(e,t,r,i.component.subTree);return}let s=i.shapeFlag&4?_o(i.component):i.el,c=o?null:s,{i:u,r:p}=e,m=t&&t.r,h=u.refs===n?u.refs={}:u.refs,v=u.setupState,y=Kt(v),b=v===n?a:e=>!Nr(h,e)&&d(y,e),x=(e,t)=>!(t&&Nr(h,t));if(m!=null&&m!==p){if(Ir(t),_(m))h[m]=null,b(m)&&(v[m]=null);else if(Xt(m)){let e=t;x(m,e.k)&&(m.value=null),e.k&&(h[e.k]=null)}}if(g(p))vn(p,u,12,[c,h]);else{let t=_(p),n=Xt(p);if(t||n){let i=()=>{if(e.f){let n=t?b(p)?v[p]:h[p]:x(p)||!e.k?p.value:h[e.k];if(o)f(n)&&l(n,s);else if(f(n))n.includes(s)||n.push(s);else if(t)h[p]=[s],b(p)&&(v[p]=h[p]);else{let t=[s];x(p,e.k)&&(p.value=t),e.k&&(h[e.k]=t)}}else t?(h[p]=c,b(p)&&(v[p]=c)):n&&(x(p,e.k)&&(p.value=c),e.k&&(h[e.k]=c))};if(c){let t=()=>{i(),Pr.delete(e)};t.id=-1,Pr.set(e,t),ga(t,r)}else Ir(e),i()}}}function Ir(e){let t=Pr.get(e);t&&(t.flags|=8,Pr.delete(e))}oe().requestIdleCallback,oe().cancelIdleCallback;var Lr=e=>!!e.type.__asyncLoader,Rr=e=>e.type.__isKeepAlive;function zr(e,t){Vr(e,`a`,t)}function Br(e,t){Vr(e,`da`,t)}function Vr(e,t,n=eo){let r=e.__wdc||=()=>{let t=n;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()};if(Ur(t,r,n),n){let e=n.parent;for(;e&&e.parent;)Rr(e.parent.vnode)&&Hr(r,t,n,e),e=e.parent}}function Hr(e,t,n,r){let i=Ur(t,e,r,!0);Xr(()=>{l(r[t],i)},n)}function Ur(e,t,n=eo,r=!1){if(n){let i=n[e]||(n[e]=[]),a=t.__weh||=(...r)=>{We();let i=io(n),a=yn(t,n,e,r);return i(),Ge(),a};return r?i.unshift(a):i.push(a),a}}var Wr=e=>(t,n=eo)=>{so&&e!==`sp`||Ur(e,(...e)=>t(...e),n)},Gr=Wr(`bm`),Kr=Wr(`m`),qr=Wr(`bu`),Jr=Wr(`u`),Yr=Wr(`bum`),Xr=Wr(`um`),Zr=Wr(`sp`),Qr=Wr(`rtg`),$r=Wr(`rtc`);function ei(e,t=eo){Ur(`ec`,e,t)}var ti=`components`,ni=Symbol.for(`v-ndc`);function ri(e){return _(e)?ii(ti,e,!1)||e:e||ni}function ii(e,t,n=!0,r=!1){let i=Bn||eo;if(i){let n=i.type;if(e===ti){let e=vo(n,!1);if(e&&(e===t||e===D(t)||e===A(D(t))))return n}let a=ai(i[e]||n[e],t)||ai(i.appContext[e],t);return!a&&r?n:a}}function ai(e,t){return e&&(e[t]||e[D(t)]||e[A(D(t))])}function oi(e,t,n,r){let i,a=n&&n[r],o=f(e);if(o||_(e)){let n=o&&Ht(e),r=!1,s=!1;n&&(r=!Wt(e),s=Ut(e),e=at(e)),i=Array(e.length);for(let n=0,o=e.length;n<o;n++)i[n]=t(r?s?Yt(Jt(e[n])):Jt(e[n]):e[n],n,void 0,a&&a[n])}else if(typeof e==`number`){if(!Number.isInteger(e)||e<0)i=[];else{i=Array(e);for(let n=0;n<e;n++)i[n]=t(n+1,n,void 0,a&&a[n])}}else if(y(e)){if(e[Symbol.iterator])i=Array.from(e,(e,n)=>t(e,n,void 0,a&&a[n]));else{let n=Object.keys(e);i=Array(n.length);for(let r=0,o=n.length;r<o;r++){let o=n[r];i[r]=t(e[o],o,r,a&&a[r])}}}else i=[];return n&&(n[r]=i),i}function si(e,t){for(let n=0;n<t.length;n++){let r=t[n];if(f(r))for(let t=0;t<r.length;t++)e[r[t].name]=r[t].fn;else r&&(e[r.name]=r.key?(...e)=>{let t=r.fn(...e);return t&&(t.key=r.key),t}:r.fn)}return e}function ci(e,t,n,r,i,a){if(n??={},Bn.ce||Bn.parent&&Lr(Bn.parent)&&Bn.parent.ce){let e=a!=null&&n.key==null?c({},n,{key:a}):n,i=Object.keys(e).length>0;return t!=="default"&&(e.name=t),B(),H(z,null,[W(`slot`,e,r&&r())],i?-2:64)}let o=e[t];o&&o._c&&(o._d=!1);let s=Ma.length;B();let l;try{let i=o&&li(o(n)),s=n.key||a||i&&i.key;l=H(z,{key:(s&&!v(s)?s:`_${t}`)+(!i&&r?`_fb`:``)},i||(r?r():[]),i&&e._===1?64:-2)}catch(e){for(let e=Ma.length;e>s;e--)Pa();throw e}finally{o&&o._c&&(o._d=!0)}return!i&&l.scopeId&&(l.slotScopeIds=[l.scopeId+`-s`]),l}function li(e){return e.some(e=>!Ra(e)||!(e.type===Aa||e.type===z&&!li(e.children)))?e:null}var ui=e=>e?oo(e)?_o(e):ui(e.parent):null,di=c(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ui(e.parent),$root:e=>ui(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>wi(e),$forceUpdate:e=>e.f||=()=>{jn(e.update)},$nextTick:e=>e.n||=kn.bind(e.proxy),$watch:e=>$n.bind(e)}),fi=(e,t)=>e!==n&&!e.__isScriptSetup&&d(e,t),pi={get({_:e},t){if(t===`__v_skip`)return!0;let{ctx:r,setupState:i,data:a,props:o,accessCache:s,type:c,appContext:l}=e;if(t[0]!==`$`){let e=s[t];if(e!==void 0)switch(e){case 1:return i[t];case 2:return a[t];case 4:return r[t];case 3:return o[t]}else if(fi(i,t))return s[t]=1,i[t];else if(a!==n&&d(a,t))return s[t]=2,a[t];else if(d(o,t))return s[t]=3,o[t];else if(r!==n&&d(r,t))return s[t]=4,r[t];else yi&&(s[t]=0)}let u=di[t],f,p;if(u)return t===`$attrs`&&tt(e.attrs,`get`,``),u(e);if((f=c.__cssModules)&&(f=f[t]))return f;if(r!==n&&d(r,t))return s[t]=4,r[t];if(p=l.config.globalProperties,d(p,t))return p[t]},set({_:e},t,r){let{data:i,setupState:a,ctx:o}=e;return fi(a,t)?(a[t]=r,!0):i!==n&&d(i,t)?(i[t]=r,!0):d(e.props,t)||t[0]===`$`&&t.slice(1)in e?!1:(o[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:i,appContext:a,props:o,type:s}},c){let l;return!!(r[c]||e!==n&&c[0]!==`$`&&d(e,c)||fi(t,c)||d(o,c)||d(i,c)||d(di,c)||d(a.config.globalProperties,c)||(l=s.__cssModules)&&l[c])},defineProperty(e,t,n){return n.get==null?d(n,`value`)&&this.set(e,t,n.value,null):e._.accessCache[t]=0,Reflect.defineProperty(e,t,n)}};function mi(){return gi(`useSlots`).slots}function hi(){return gi(`useAttrs`).attrs}function gi(e){let t=to();return t.setupContext||=go(t)}function _i(e){return f(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}function vi(e,t){return!e||!t?e||t:f(e)&&f(t)?e.concat(t):c({},_i(e),_i(t))}var yi=!0;function bi(e){let t=wi(e),n=e.proxy,r=e.ctx;yi=!1,t.beforeCreate&&Si(t.beforeCreate,e,`bc`);let{data:a,computed:o,methods:s,watch:c,provide:l,inject:u,created:d,beforeMount:p,mounted:m,beforeUpdate:h,updated:_,activated:v,deactivated:b,beforeDestroy:x,beforeUnmount:S,destroyed:C,unmounted:w,render:T,renderTracked:ee,renderTriggered:E,errorCaptured:te,serverPrefetch:D,expose:O,inheritAttrs:k,components:A,directives:j,filters:M}=t;if(u&&xi(u,r,null),s)for(let e in s){let t=s[e];g(t)&&(r[e]=t.bind(n))}if(a){let t=a.call(n,n);y(t)&&(e.data=Rt(t))}if(yi=!0,o)for(let e in o){let t=o[e],a=q({get:g(t)?t.bind(n,n):g(t.get)?t.get.bind(n,n):i,set:!g(t)&&g(t.set)?t.set.bind(n):i});Object.defineProperty(r,e,{enumerable:!0,configurable:!0,get:()=>a.value,set:e=>a.value=e})}if(c)for(let e in c)Ci(c[e],r,n,e);if(l){let e=g(l)?l.call(n):l;Reflect.ownKeys(e).forEach(t=>{Gn(t,e[t])})}d&&Si(d,e,`c`);function N(e,t){f(t)?t.forEach(t=>e(t.bind(n))):t&&e(t.bind(n))}if(N(Gr,p),N(Kr,m),N(qr,h),N(Jr,_),N(zr,v),N(Br,b),N(ei,te),N($r,ee),N(Qr,E),N(Yr,S),N(Xr,w),N(Zr,D),f(O)){if(O.length){let t=e.exposed||={};O.forEach(e=>{Object.defineProperty(t,e,{get:()=>n[e],set:t=>n[e]=t,enumerable:!0})})}else e.exposed||={}}T&&e.render===i&&(e.render=T),k!=null&&(e.inheritAttrs=k),A&&(e.components=A),j&&(e.directives=j),D&&Mr(e)}function xi(e,t,n=i){f(e)&&(e=ki(e));for(let n in e){let r=e[n],i;i=y(r)?`default`in r?Kn(r.from||n,r.default,!0):Kn(r.from||n):Kn(r),Xt(i)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e}):t[n]=i}}function Si(e,t,n){yn(f(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,n)}function Ci(e,t,n,r){let i=r.includes(`.`)?er(n,r):()=>n[r];if(_(e)){let n=t[e];g(n)&&Zn(i,n)}else if(g(e))Zn(i,e.bind(n));else if(y(e)){if(f(e))e.forEach(e=>Ci(e,t,n,r));else{let r=g(e.handler)?e.handler.bind(n):t[e.handler];g(r)&&Zn(i,r,e)}}}function wi(e){let t=e.type,{mixins:n,extends:r}=t,{mixins:i,optionsCache:a,config:{optionMergeStrategies:o}}=e.appContext,s=a.get(t),c;return s?c=s:!i.length&&!n&&!r?c=t:(c={},i.length&&i.forEach(e=>Ti(c,e,o,!0)),Ti(c,t,o)),y(t)&&a.set(t,c),c}function Ti(e,t,n,r=!1){let{mixins:i,extends:a}=t;a&&Ti(e,a,n,!0),i&&i.forEach(t=>Ti(e,t,n,!0));for(let i in t)if(!(r&&i===`expose`)){let r=Ei[i]||n&&n[i];e[i]=r?r(e[i],t[i]):t[i]}return e}var Ei={data:Di,props:Mi,emits:Mi,methods:ji,computed:ji,beforeCreate:Ai,created:Ai,beforeMount:Ai,mounted:Ai,beforeUpdate:Ai,updated:Ai,beforeDestroy:Ai,beforeUnmount:Ai,destroyed:Ai,unmounted:Ai,activated:Ai,deactivated:Ai,errorCaptured:Ai,serverPrefetch:Ai,components:ji,directives:ji,watch:Ni,provide:Di,inject:Oi};function Di(e,t){return t?e?function(){return c(g(e)?e.call(this,this):e,g(t)?t.call(this,this):t)}:t:e}function Oi(e,t){return ji(ki(e),ki(t))}function ki(e){if(f(e)){let t={};for(let n=0;n<e.length;n++)t[e[n]]=e[n];return t}return e}function Ai(e,t){return e?[...new Set([].concat(e,t))]:t}function ji(e,t){return e?c(Object.create(null),e,t):t}function Mi(e,t){return e?f(e)&&f(t)?[...new Set([...e,...t])]:c(Object.create(null),_i(e),_i(t??{})):t}function Ni(e,t){if(!e)return t;if(!t)return e;let n=c(Object.create(null),e);for(let r in t)n[r]=Ai(e[r],t[r]);return n}function Pi(){return{app:null,config:{isNativeTag:a,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}var Fi=0;function Ii(e,t){return function(n,r=null){g(n)||(n=c({},n)),r!=null&&!y(r)&&(r=null);let i=Pi(),a=new WeakSet,o=[],s=!1,l=i.app={_uid:Fi++,_component:n,_props:r,_container:null,_context:i,_instance:null,version:xo,get config(){return i.config},set config(e){},use(e,...t){return a.has(e)||(e&&g(e.install)?(a.add(e),e.install(l,...t)):g(e)&&(a.add(e),e(l,...t))),l},mixin(e){return i.mixins.includes(e)||i.mixins.push(e),l},component(e,t){return t?(i.components[e]=t,l):i.components[e]},directive(e,t){return t?(i.directives[e]=t,l):i.directives[e]},mount(a,o,c){if(!s){let u=l._ceVNode||W(n,r);return u.appContext=i,c===!0?c=`svg`:c===!1&&(c=void 0),o&&t?t(u,a):e(u,a,c),s=!0,l._container=a,a.__vue_app__=l,_o(u.component)}},onUnmount(e){o.push(e)},unmount(){s&&(yn(o,l._instance,16),e(null,l._container),delete l._container.__vue_app__)},provide(e,t){return i.provides[e]=t,l},runWithContext(e){let t=Li;Li=l;try{return e()}finally{Li=t}}};return l}}var Li=null;function Ri(e,t,r=n){let i=to(),a=D(t),o=k(t),s=zi(e,a),c=an((s,c)=>{let l,u=n,d;return Xn(()=>{let t=e[a];M(l,t)&&(l=t,c())}),{get(){return s(),r.get?r.get(l):l},set(e){let s=r.set?r.set(e):e;if(!M(s,l)&&!(u!==n&&M(e,u)))return;let f=i.vnode.props,p=!!(f&&(t in f||a in f||o in f)&&(`onUpdate:${t}`in f||`onUpdate:${a}`in f||`onUpdate:${o}`in f));p||(l=e,c()),i.emit(`update:${t}`,s),M(e,u)&&(M(e,s)&&!M(s,d)||p&&u!==n&&!M(s,l))&&c(),u=e,d=s}}});return c[Symbol.iterator]=()=>{let e=0;return{next(){return e<2?{value:e++?s||n:c,done:!1}:{done:!0}}}},c}var zi=(e,t)=>t===`modelValue`||t===`model-value`?e.modelModifiers:e[`${t}Modifiers`]||e[`${D(t)}Modifiers`]||e[`${k(t)}Modifiers`];function Bi(e,t,...r){if(e.isUnmounted)return;let i=e.vnode.props||n,a=r,o=t.startsWith(`update:`),s=o&&zi(i,t.slice(7));s&&(s.trim&&(a=r.map(e=>_(e)?e.trim():e)),s.number&&(a=a.map(re)));let c,l=i[c=j(t)]||i[c=j(D(t))];!l&&o&&(l=i[c=j(k(t))]),l&&yn(l,e,6,a);let u=i[c+`Once`];if(u){if(!e.emitted)e.emitted={};else if(e.emitted[c])return;e.emitted[c]=!0,yn(u,e,6,a)}}var Vi=new WeakMap;function Hi(e,t,n=!1){let r=n?Vi:t.emitsCache,i=r.get(e);if(i!==void 0)return i;let a=e.emits,o={},s=!1;if(!g(e)){let r=e=>{let n=Hi(e,t,!0);n&&(s=!0,c(o,n))};!n&&t.mixins.length&&t.mixins.forEach(r),e.extends&&r(e.extends),e.mixins&&e.mixins.forEach(r)}return!a&&!s?(y(e)&&r.set(e,null),null):(f(a)?a.forEach(e=>o[e]=null):c(o,a),y(e)&&r.set(e,o),o)}function Ui(e,t){return!e||!o(t)?!1:(t=t.slice(2),t=t===`Once`?t:t.replace(/Once$/,``),d(e,t[0].toLowerCase()+t.slice(1))||d(e,k(t))||d(e,t))}function Wi(e){let{type:t,vnode:n,proxy:r,withProxy:i,propsOptions:[a],slots:o,attrs:c,emit:l,render:u,renderCache:d,props:f,data:p,setupState:m,ctx:h,inheritAttrs:g}=e,_=Hn(e),v,y;try{if(n.shapeFlag&4){let e=i||r,t=e;v=Ga(u.call(t,e,d,f,m,p,h)),y=c}else{let e=t;v=Ga(e.length>1?e(f,{attrs:c,slots:o,emit:l}):e(f,null)),y=t.props?c:Ki(c)}}catch(t){Ma.length=0,bn(t,e,1),v=W(Aa)}let b=v;if(y&&g!==!1){let e=Object.keys(y),{shapeFlag:t}=b;e.length&&t&7&&(a&&e.some(s)&&(y=qi(y,a)),b=Wa(b,y,!1,!0))}return n.dirs&&(b=Wa(b,null,!1,!0),b.dirs=b.dirs?b.dirs.concat(n.dirs):n.dirs),n.transition&&Dr(rr(b.type)&&Er(b)||b,n.transition),v=b,Hn(_),v}function Gi(e,t=!0){let n;for(let t=0;t<e.length;t++){let r=e[t];if(Ra(r)){if(r.type!==Aa||r.children===`v-if`){if(n)return;n=r}}else return}return n}var Ki=e=>{let t;for(let n in e)(n===`class`||n===`style`||o(n))&&((t||={})[n]=e[n]);return t},qi=(e,t)=>{let n={};for(let r in e)s(r)&&r.slice(9)in t||(n[r]=e[r]);return n};function Ji(e,t,n){let{props:r,children:i,component:a}=e,{props:o,children:s,patchFlag:c}=t,l=a.emitsOptions;if(t.dirs||t.transition)return!0;if(n&&c>=0){if(c&1024)return!0;if(c&16)return r?Yi(r,o,l):!!o;if(c&8){let e=t.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t];if(Xi(o,r,n)&&!Ui(l,n))return!0}}}else return(i||s)&&(!s||!s.$stable)?!0:r===o?!1:r?!o||Yi(r,o,l):!!o;return!1}function Yi(e,t,n){let r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let i=0;i<r.length;i++){let a=r[i];if(!d(e,a)||Xi(t,e,a)&&!Ui(n,a))return!0}return!1}function Xi(e,t,n){let r=e[n],i=t[n];return n===`style`&&y(r)&&y(i)?!ye(r,i):r!==i}function Zi({vnode:e,parent:t,suspense:n},r){for(;t;){let n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.suspense.vnode.el=n.el=r,e=n),n===e)(e=t.vnode).el=r,t=t.parent;else break}n&&n.activeBranch===e&&(n.vnode.el=r)}var Qi={},$i=()=>Object.create(Qi),ea=e=>Object.getPrototypeOf(e)===Qi;function ta(e,t,n,r=!1){let i={},a=$i();e.propsDefaults=Object.create(null),ra(e,t,i,a);for(let t in e.propsOptions[0])t in i||(i[t]=void 0);e.props=n?r?i:zt(i):e.type.props?i:a,e.attrs=a}function na(e,t,n,r){let{props:i,attrs:a,vnode:{patchFlag:o}}=e,s=Kt(i),[c]=e.propsOptions,l=!1;if((r||o>0)&&!(o&16)){if(o&8){let n=e.vnode.dynamicProps;for(let r=0;r<n.length;r++){let o=n[r];if(Ui(e.emitsOptions,o))continue;let u=t[o];if(c){if(d(a,o))u!==a[o]&&(a[o]=u,l=!0);else{let t=D(o);i[t]=ia(c,s,t,u,e,!1)}}else u!==a[o]&&(a[o]=u,l=!0)}}}else{ra(e,t,i,a)&&(l=!0);let r;for(let a in s)t&&(d(t,a)||(r=k(a))!==a&&d(t,r))||(c?n&&(n[a]!==void 0||n[r]!==void 0)&&(i[a]=ia(c,s,a,void 0,e,!0)):delete i[a]);if(a!==s)for(let e in a)t&&d(t,e)||(delete a[e],l=!0)}l&&nt(e.attrs,`set`,``)}function ra(e,t,r,i){let[a,o]=e.propsOptions,s=!1,c;if(t)for(let n in t){if(ee(n))continue;let l=t[n],u;a&&d(a,u=D(n))?!o||!o.includes(u)?r[u]=l:(c||={})[u]=l:Ui(e.emitsOptions,n)||n in i&&l===i[n]||(i[n]=l,s=!0)}if(o){let t=Kt(r),i=c||n;for(let n=0;n<o.length;n++){let s=o[n];r[s]=ia(a,t,s,i[s],e,!d(i,s))}}return s}function ia(e,t,n,r,i,a){let o=e[n];if(o!=null){let e=d(o,`default`);if(e&&r===void 0){let e=o.default;if(o.type!==Function&&!o.skipFactory&&g(e)){let{propsDefaults:a}=i;if(n in a)r=a[n];else{let o=io(i);r=a[n]=e.call(null,t),o()}}else r=e;i.ce&&i.ce._setProp(n,r)}o[0]&&(a&&!e?r=!1:o[1]&&(r===``||r===k(n))&&(r=!0))}return r}var aa=new WeakMap;function oa(e,t,i=!1){let a=i?aa:t.propsCache,o=a.get(e);if(o)return o;let s=e.props,l={},u=[],p=!1;if(!g(e)){let n=e=>{p=!0;let[n,r]=oa(e,t,!0);c(l,n),r&&u.push(...r)};!i&&t.mixins.length&&t.mixins.forEach(n),e.extends&&n(e.extends),e.mixins&&e.mixins.forEach(n)}if(!s&&!p)return y(e)&&a.set(e,r),r;if(f(s))for(let e=0;e<s.length;e++){let t=D(s[e]);sa(t)&&(l[t]=n)}else if(s)for(let e in s){let t=D(e);if(sa(t)){let n=s[e],r=l[t]=f(n)||g(n)?{type:n}:c({},n),i=r.type,a=!1,o=!0;if(f(i))for(let e=0;e<i.length;++e){let t=i[e],n=g(t)&&t.name;if(n===`Boolean`){a=!0;break}n===`String`&&(o=!1)}else a=g(i)&&i.name===`Boolean`;r[0]=a,r[1]=o,(a||d(r,`default`))&&u.push(t)}}let m=[l,u];return y(e)&&a.set(e,m),m}function sa(e){return e[0]!==`$`&&!ee(e)}var ca=e=>e===`_`||e===`_ctx`||e===`$stable`,la=e=>f(e)?e.map(Ga):[Ga(e)],ua=(e,t,n)=>{if(t._n)return t;let r=R((...e)=>la(t(...e)),n);return r._c=!1,r},da=(e,t,n)=>{let r=e._ctx;for(let n in e){if(ca(n))continue;let i=e[n];if(g(i))t[n]=ua(n,i,r);else if(i!=null){let e=la(i);t[n]=()=>e}}},fa=(e,t)=>{let n=la(t);e.slots.default=()=>n},pa=(e,t,n)=>{for(let r in t)(n||!ca(r))&&(e[r]=t[r])},ma=(e,t,n)=>{let r=e.slots=$i();if(e.vnode.shapeFlag&32){let e=t._;e?(pa(r,t,n),n&&ne(r,`_`,e,!0)):da(t,r)}else t&&fa(e,t)},ha=(e,t,r)=>{let{vnode:i,slots:a}=e,o=!0,s=n;if(i.shapeFlag&32){let e=t._;e?r&&e===1?o=!1:pa(a,t,r):(o=!t.$stable,da(t,a)),s=t}else t&&(fa(e,t),s={default:1});if(o)for(let e in a)!ca(e)&&s[e]==null&&delete a[e]},ga=Oa;function _a(e){return va(e)}function va(e,t){let a=oe();a.__VUE__=!0;let{insert:o,remove:s,patchProp:c,createElement:l,createText:u,createComment:d,setText:f,setElementText:p,parentNode:m,nextSibling:h,setScopeId:g=i,insertStaticContent:_}=e,v=(e,t,n,i=null,a=null,o=null,s=void 0,c=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!za(e,t)&&(i=me(e),ue(e,a,o,!0),e=null),t.patchFlag===-2&&(l=!1,t.dynamicChildren=null),t.dynamicChildren&&e&&e.dynamicChildren&&e.dynamicChildren.hasOnce&&(t.dynamicChildren===r&&(t.dynamicChildren=[]),t.dynamicChildren.hasOnce=!0);let{type:u,ref:d,shapeFlag:f}=t;switch(u){case ka:y(e,t,n,i);break;case Aa:b(e,t,n,i);break;case ja:e??x(t,n,i,s);break;case z:A(e,t,n,i,a,o,s,c,l);break;default:f&1?w(e,t,n,i,a,o,s,c,l):f&6?j(e,t,n,i,a,o,s,c,l):(f&64||f&128)&&u.process(e,t,n,i,a,o,s,c,l,ge)}d!=null&&a?Fr(d,e&&e.ref,o,t||e,!t):d==null&&e&&e.ref!=null&&Fr(e.ref,null,o,e,!0)},y=(e,t,n,r)=>{if(e==null)o(t.el=u(t.children),n,r);else{let n=t.el=e.el;t.children!==e.children&&f(n,t.children)}},b=(e,t,n,r)=>{e==null?o(t.el=d(t.children||``),n,r):t.el=e.el},x=(e,t,n,r)=>{[e.el,e.anchor]=_(e.children,t,n,r,e.el,e.anchor)},S=({el:e,anchor:t},n,r)=>{let i;for(;e&&e!==t;)i=h(e),o(e,n,r),e=i;o(t,n,r)},C=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=h(e),s(e),e=n;s(t)},w=(e,t,n,r,i,a,o,s,c)=>{if(t.type===`svg`?o=`svg`:t.type===`math`&&(o=`mathml`),e==null)T(t,n,r,i,a,o,s,c);else{let n=e.el&&e.el._isVueCE?e.el:null;try{n&&n._beginPatch(),D(e,t,i,a,o,s,c)}finally{n&&n._endPatch()}}},T=(e,t,n,r,i,a,s,u)=>{let d,f,{props:m,shapeFlag:h,transition:g,dirs:_}=e;if(d=e.el=l(e.type,a,m&&m.is,m),h&8?p(d,e.children):h&16&&te(e.children,d,null,r,i,ya(e,a),s,u),_&&Wn(e,null,r,`created`),E(d,e,e.scopeId,s,r),m){for(let e in m)e!==`value`&&!ee(e)&&c(d,e,null,m[e],a,r);`value`in m&&c(d,`value`,null,m.value,a),(f=m.onVnodeBeforeMount)&&Ya(f,r,e)}_&&Wn(e,null,r,`beforeMount`);let v=xa(i,g);v&&g.beforeEnter(d),o(d,t,n),((f=m&&m.onVnodeMounted)||v||_)&&ga(()=>{try{f&&Ya(f,r,e),v&&g.enter(d),_&&Wn(e,null,r,`mounted`)}finally{}},i)},E=(e,t,n,r,i)=>{if(n&&g(e,n),r)for(let t=0;t<r.length;t++)g(e,r[t]);if(i){let n=i.subTree;if(t===n||Da(n.type)&&(n.ssContent===t||n.ssFallback===t)){let t=i.vnode;E(e,t,t.scopeId,t.slotScopeIds,i.parent)}}},te=(e,t,n,r,i,a,o,s,c=0)=>{for(let l=c;l<e.length;l++){let c=e[l]=s?Ka(e[l]):Ga(e[l]);v(null,c,t,n,r,i,a,o,s)}},D=(e,t,r,i,a,o,s)=>{let l=t.el=e.el,{patchFlag:u,dynamicChildren:d,dirs:f}=t;u|=e.patchFlag&16;let m=e.props||n,h=t.props||n,g;if(r&&ba(r,!1),(g=h.onVnodeBeforeUpdate)&&Ya(g,r,t,e),f&&Wn(t,e,r,`beforeUpdate`),r&&ba(r,!0),d&&(!e.dynamicChildren||e.dynamicChildren.length!==d.length)&&(u=0,s=!1,d=null),(m.innerHTML&&h.innerHTML==null||m.textContent&&h.textContent==null)&&p(l,``),d?O(e.dynamicChildren,d,l,r,i,ya(t,a),o):s||ae(e,t,l,null,r,i,ya(t,a),o,!1),u>0){if(u&16)k(l,m,h,r,a);else if(u&2&&m.class!==h.class&&c(l,`class`,null,h.class,a),u&4&&c(l,`style`,m.style,h.style,a),u&8){let e=t.dynamicProps;for(let t=0;t<e.length;t++){let n=e[t],i=m[n],o=h[n];(o!==i||n===`value`)&&c(l,n,i,o,a,r)}}u&1&&e.children!==t.children&&p(l,t.children)}else!s&&d==null&&k(l,m,h,r,a);((g=h.onVnodeUpdated)||f)&&ga(()=>{g&&Ya(g,r,t,e),f&&Wn(t,e,r,`updated`)},i)},O=(e,t,n,r,i,a,o)=>{for(let s=0;s<t.length;s++){let c=e[s],l=t[s],u=c.el||Ea(c),d=u&&(c.type===z||!za(c,l)||c.shapeFlag&198)?m(u):n;v(c,l,d,null,r,i,a,o,!0)}},k=(e,t,r,i,a)=>{if(t!==r){if(t!==n)for(let n in t)!ee(n)&&!(n in r)&&c(e,n,t[n],null,a,i);for(let n in r){if(ee(n))continue;let o=r[n],s=t[n];o!==s&&n!==`value`&&c(e,n,s,o,a,i)}`value`in r&&c(e,`value`,t.value,r.value,a)}},A=(e,t,n,r,i,a,s,c,l)=>{let d=t.el=e?e.el:u(``),f=t.anchor=e?e.anchor:u(``),{patchFlag:p,dynamicChildren:m,slotScopeIds:h}=t;h&&(c=c?c.concat(h):h),e==null?(o(d,n,r),o(f,n,r),te(t.children||[],n,f,i,a,s,c,l)):p>0&&p&64&&m&&e.dynamicChildren&&e.dynamicChildren.length===m.length?(O(e.dynamicChildren,m,n,i,a,s,c),(t.key!=null||i&&t===i.subTree)&&Sa(e,t,!0)):ae(e,t,n,f,i,a,s,c,l)},j=(e,t,n,r,i,a,o,s,c)=>{t.slotScopeIds=s,e==null?t.shapeFlag&512?i.ctx.activate(t,n,r,o,c):M(t,n,r,i,a,o,c):ne(e,t,c)},M=(e,t,n,r,i,a,o)=>{let s=e.component=$a(e,r,i);if(Rr(e)&&(s.ctx.renderer=ge),co(s,!1,o),s.asyncDep){if(i&&i.registerDep(s,re,o,a),!e.el){let r=s.subTree=W(Aa);b(null,r,t,n),e.placeholder=r.el}}else re(s,e,t,n,i,a,o)},ne=(e,t,n)=>{let r=t.component=e.component;if(Ji(e,t,n)){if(r.asyncDep&&!r.asyncResolved){t.el=e.el,t.placeholder=e.placeholder,ie(r,t,n);return}r.next=t,r.update()}else t.el=e.el,t.placeholder=e.placeholder,r.vnode=t},re=(e,t,n,r,i,a,o)=>{let s=()=>{if(e.isMounted){let{next:t,bu:n,u:r,parent:s,vnode:c}=e;{let n=wa(e);if(n){t&&(t.el=c.el,ie(e,t,o)),n.asyncDep.then(()=>{ga(()=>{e.isUnmounted||l()},i)});return}}let u=t,d;ba(e,!1),t?(t.el=c.el,ie(e,t,o)):t=c,n&&N(n),(d=t.props&&t.props.onVnodeBeforeUpdate)&&Ya(d,s,t,c),ba(e,!0);let f=Wi(e),p=e.subTree;e.subTree=f,v(p,f,m(p.el),me(p),e,i,a),t.el=f.el,u===null&&Zi(e,f.el),r&&ga(r,i),(d=t.props&&t.props.onVnodeUpdated)&&ga(()=>Ya(d,s,t,c),i)}else{let o,{el:s,props:c}=t,{bm:l,m:u,parent:d,root:f,type:p}=e,m=Lr(t);if(ba(e,!1),l&&N(l),!m&&(o=c&&c.onVnodeBeforeMount)&&Ya(o,d,t),ba(e,!0),s&&ve){let t=()=>{e.subTree=Wi(e),ve(s,e.subTree,e,i,null)};m&&p.__asyncHydrate?p.__asyncHydrate(s,e,t):t()}else{f.ce&&f.ce._hasShadowRoot()&&f.ce._injectChildStyle(p,e.parent?e.parent.type:void 0);let o=e.subTree=Wi(e);v(null,o,n,r,e,i,a),t.el=o.el}if(u&&ga(u,i),!m&&(o=c&&c.onVnodeMounted)){let e=t;ga(()=>Ya(o,d,e),i)}(t.shapeFlag&256||d&&Lr(d.vnode)&&d.vnode.shapeFlag&256)&&e.a&&ga(e.a,i),e.isMounted=!0,t=n=r=null}};e.scope.on();let c=e.effect=new ke(s);e.scope.off();let l=e.update=c.run.bind(c),u=e.job=c.runIfDirty.bind(c);u.i=e,u.id=e.uid,c.scheduler=()=>jn(u),ba(e,!0),l()},ie=(e,t,n)=>{t.component=e;let r=e.vnode.props;e.vnode=t,e.next=null,na(e,t.props,r,n),ha(e,t.children,n),We(),Pn(e),Ge()},ae=(e,t,n,r,i,a,o,s,c=!1)=>{let l=e&&e.children,u=e?e.shapeFlag:0,d=t.children,{patchFlag:f,shapeFlag:m}=t;if(f>0){if(f&128){ce(l,d,n,r,i,a,o,s,c);return}if(f&256){se(l,d,n,r,i,a,o,s,c);return}}m&8?(u&16&&pe(l,i,a),d!==l&&p(n,d)):u&16?m&16?ce(l,d,n,r,i,a,o,s,c):pe(l,i,a,!0):(u&8&&p(n,``),m&16&&te(d,n,r,i,a,o,s,c))},se=(e,t,n,i,a,o,s,c,l)=>{e||=r,t||=r;let u=e.length,d=t.length,f=Math.min(u,d),p=0;for(;p<f;p++){let r=t[p]=l?Ka(t[p]):Ga(t[p]);v(e[p],r,n,null,a,o,s,c,l)}u>d?pe(e,a,o,!0,!1,f):te(t,n,i,a,o,s,c,l,f)},ce=(e,t,n,i,a,o,s,c,l)=>{let u=0,d=t.length,f=e.length-1,p=d-1;for(;u<=f&&u<=p;){let r=e[u],i=t[u]=l?Ka(t[u]):Ga(t[u]);if(za(r,i))v(r,i,n,null,a,o,s,c,l);else break;u++}for(;u<=f&&u<=p;){let r=e[f],i=t[p]=l?Ka(t[p]):Ga(t[p]);if(za(r,i))v(r,i,n,null,a,o,s,c,l);else break;f--,p--}if(u>f){if(u<=p){let e=p+1,r=e<d?t[e].el:i;for(;u<=p;)v(null,t[u]=l?Ka(t[u]):Ga(t[u]),n,r,a,o,s,c,l),u++}}else if(u>p)for(;u<=f;)ue(e[u],a,o,!0),u++;else{let m=u,h=u,g=new Map;for(u=h;u<=p;u++){let e=t[u]=l?Ka(t[u]):Ga(t[u]);e.key!=null&&g.set(e.key,u)}let _,y=0,b=p-h+1,x=!1,S=0,C=Array(b);for(u=0;u<b;u++)C[u]=0;for(u=m;u<=f;u++){let r=e[u];if(y>=b){ue(r,a,o,!0);continue}let i;if(r.key!=null)i=g.get(r.key);else for(_=h;_<=p;_++)if(C[_-h]===0&&za(r,t[_])){i=_;break}i===void 0?ue(r,a,o,!0):(C[i-h]=u+1,i>=S?S=i:x=!0,v(r,t[i],n,null,a,o,s,c,l),y++)}let w=x?Ca(C):r;for(_=w.length-1,u=b-1;u>=0;u--){let e=h+u,r=t[e],f=t[e+1],p=e+1<d?f.el||Ea(f):i;C[u]===0?v(null,r,n,p,a,o,s,c,l):x&&(_<0||u!==w[_]?le(r,n,p,2):_--)}}},le=(e,t,n,r,i=null)=>{let{el:a,type:c,transition:l,children:u,shapeFlag:d}=e;if(d&6)le(e.component.subTree,t,n,r);else if(d&128)e.suspense.move(t,n,r);else if(d&64)c.move(e,t,n,ge);else if(c===z){o(a,t,n);for(let e=0;e<u.length;e++)le(u[e],t,n,r);o(e.anchor,t,n)}else if(c===ja)S(e,t,n);else if(r!==2&&d&1&&l){if(r===0)l.persisted&&!a[hr]?o(a,t,n):(l.beforeEnter(a),o(a,t,n),ga(()=>l.enter(a),i));else{let{leave:r,delayLeave:i,afterLeave:c}=l,u=()=>{e.ctx.isUnmounted?s(a):o(a,t,n)},d=()=>{let e=a._isLeaving||!!a[hr];a._isLeaving&&a[hr](!0),l.persisted&&!e?u():r(a,()=>{u(),c&&c()})};i?i(a,u,d):d()}}else o(a,t,n)},ue=(e,t,n,r=!1,i=!1)=>{let{type:a,props:o,ref:s,children:c,dynamicChildren:l,shapeFlag:u,patchFlag:d,dirs:f,cacheIndex:p,memo:m}=e;if((d===-2||l&&l.hasOnce)&&(i=!1),s!=null&&(We(),Fr(s,null,n,e,!0),Ge()),p==null||e.ctx&&e.ctx!==t||(t.renderCache[p]=void 0),u&256){t.ctx.deactivate(e);return}let h=u&1&&f,g=!Lr(e),_;if(g&&(_=o&&o.onVnodeBeforeUnmount)&&Ya(_,t,e),u&6)fe(e.component,n,r);else{if(u&128){e.suspense.unmount(n,r);return}h&&Wn(e,null,t,`beforeUnmount`),u&64?e.type.remove(e,t,n,ge,r):l&&!l.hasOnce&&(a!==z||d>0&&d&64)?pe(l,t,n,!1,!0):(a===z&&d&384||!i&&u&16)&&pe(c,t,n),r&&de(e)}let v=m!=null&&p==null;(g&&(_=o&&o.onVnodeUnmounted)||h||v)&&ga(()=>{_&&Ya(_,t,e),h&&Wn(e,null,t,`unmounted`),v&&(e.el=null)},n)},de=e=>{let{type:t,el:n,anchor:r,transition:i}=e,a=t===z;if(a&&!i){P(n,r);return}if(t===ja){C(e),i&&!i.persisted&&i.afterLeave&&i.afterLeave();return}let o=a?kr(e):e,c=()=>{a?m(n)&&P(n,r):s(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(o&&o.shapeFlag&1&&i&&!i.persisted){let{leave:e,delayLeave:t}=i,n=o.el,r=()=>e(n,c);t?t(n,c,r):r()}else c()},P=(e,t)=>{let n;for(;e!==t;)n=h(e),s(e),e=n;s(t)},fe=(e,t,n)=>{let{bum:r,scope:i,job:a,subTree:o,um:s,m:c,a:l}=e;Ta(c),Ta(l),r&&N(r),i.stop(),a?(a.flags|=8,ue(o,e,t,n)):e.vnode.el&&o&&(o.transition=e.vnode.transition,ue(o,e,t,n)),s&&ga(s,t),ga(()=>{e.isUnmounted=!0},t)},pe=(e,t,n,r=!1,i=!1,a=0)=>{for(let o=a;o<e.length;o++)ue(e[o],t,n,r,i)},me=e=>{if(e.shapeFlag&6)return me(e.component.subTree);if(e.shapeFlag&128)return e.suspense.next();let t=h(e.anchor||e.el),n=t&&t[nr];return n?h(n):t},he=(e,t,n)=>{Ln(()=>{e==null?t._vnode&&ue(t._vnode,null,null,!0):v(t._vnode||null,e,t,null,null,null,n),t._vnode=e},e&&t._vnode?void 0:e&&e.component?e.component.uid:Qa())},ge={p:v,um:ue,m:le,r:de,mt:M,mc:te,pc:ae,pbc:O,n:me,o:e},_e,ve;return t&&([_e,ve]=t(ge)),{render:he,hydrate:_e,createApp:Ii(he,_e)}}function ya({type:e,props:t},n){return n===`svg`&&e===`foreignObject`||n===`mathml`&&e===`annotation-xml`&&t&&t.encoding&&t.encoding.includes(`html`)?void 0:n}function ba({effect:e,job:t},n){n?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function xa(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function Sa(e,t,n=!1){let r=e.children,i=t.children;if(f(r)&&f(i))for(let e=0;e<r.length;e++){let t=r[e],a=i[e];a.shapeFlag&1&&!a.dynamicChildren&&((a.patchFlag<=0||a.patchFlag===32)&&(a=i[e]=Ka(i[e]),a.el=t.el),!n&&a.patchFlag!==-2&&Sa(t,a)),a.type===ka&&(a.patchFlag===-1&&(a=i[e]=Ka(a)),a.el=t.el),a.type===Aa&&!a.el&&(a.el=t.el)}}function Ca(e){let t=e.slice(),n=[0],r,i,a,o,s,c=e.length;for(r=0;r<c;r++){let c=e[r];if(c!==0){if(i=n[n.length-1],e[i]<c){t[r]=i,n.push(r);continue}for(a=0,o=n.length-1;a<o;)s=a+o>>1,e[n[s]]<c?a=s+1:o=s;c<e[n[a]]&&(a>0&&(t[r]=n[a-1]),n[a]=r)}}for(a=n.length,o=n[a-1];a-->0;)n[a]=o,o=t[o];return n}function wa(e){let t=e.subTree.component;if(t)return t.asyncDep&&!t.asyncResolved?t:wa(t)}function Ta(e){if(e)for(let t=0;t<e.length;t++)e[t].flags|=8}function Ea(e){if(e.placeholder)return e.placeholder;let t=e.component;return t?Ea(t.subTree):null}var Da=e=>e.__isSuspense;function Oa(e,t){t&&t.pendingBranch?f(e)?t.effects.push(...e):t.effects.push(e):Nn(e)}var z=Symbol.for(`v-fgt`),ka=Symbol.for(`v-txt`),Aa=Symbol.for(`v-cmt`),ja=Symbol.for(`v-stc`),Ma=[],Na=null;function B(e=!1){Ma.push(Na=e?null:[])}function Pa(){Ma.pop(),Na=Ma[Ma.length-1]||null}var Fa=1;function Ia(e,t=!1){Fa+=e,e<0&&Na&&t&&(Na.hasOnce=!0)}function La(e){return e.dynamicChildren=Fa>0?Na||r:null,Pa(),Fa>0&&Na&&Na.push(e),e}function V(e,t,n,r,i,a){return La(U(e,t,n,r,i,a,!0))}function H(e,t,n,r,i){return La(W(e,t,n,r,i,!0))}function Ra(e){return e?e.__v_isVNode===!0:!1}function za(e,t){return e.type===t.type&&e.key===t.key}var Ba=({key:e})=>e??null,Va=({ref:e,ref_key:t,ref_for:n})=>(typeof e==`number`&&(e=``+e),e==null?null:_(e)||Xt(e)||g(e)?{i:Bn,r:e,k:t,f:!!n}:e);function U(e,t=null,n=null,r=0,i=null,a=e===z?0:1,o=!1,s=!1){let c={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Ba(t),ref:t&&Va(t),scopeId:Vn,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:a,patchFlag:r,dynamicProps:i,dynamicChildren:null,appContext:null,ctx:Bn};return s?(qa(c,n),a&128&&e.normalize(c)):n&&(c.shapeFlag|=_(n)?8:16),Fa>0&&!o&&Na&&(c.patchFlag>0||a&6)&&c.patchFlag!==32&&Na.push(c),c}var W=Ha;function Ha(e,t=null,n=null,r=0,i=null,a=!1){if(e&&e!==ni||(e=Aa),Ra(e)){let r=Wa(e,t,!0);return n&&qa(r,n),Fa>0&&!a&&Na&&(r.shapeFlag&6?Na[Na.indexOf(e)]=r:Na.push(r)),r.patchFlag=-2,r}if(yo(e)&&(e=e.__vccOpts),t){t=Ua(t);let{class:e,style:n}=t;e&&!_(e)&&(t.class=P(e)),y(n)&&(Gt(n)&&!f(n)&&(n=c({},n)),t.style=se(n))}let o=_(e)?1:Da(e)?128:rr(e)?64:y(e)?4:g(e)?2:0;return U(e,t,n,r,i,o,a,!0)}function Ua(e){return e?Gt(e)||ea(e)?c({},e):e:null}function Wa(e,t,n=!1,r=!1){let{props:i,ref:a,patchFlag:o,children:s,transition:c}=e,l=t?Ja(i||{},t):i,u={__v_isVNode:!0,__v_skip:!0,type:e.type,props:l,key:l&&Ba(l),ref:t&&t.ref?n&&a?f(a)?a.concat(Va(t)):[a,Va(t)]:Va(t):a,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:s,target:e.target,targetStart:e.targetStart,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==z?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:c,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&Wa(e.ssContent),ssFallback:e.ssFallback&&Wa(e.ssFallback),placeholder:e.placeholder,el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce,cacheIndex:e.cacheIndex};return c&&r&&Dr(u,c.clone(u)),u}function G(e=` `,t=0){return W(ka,null,e,t)}function K(e=``,t=!1){return t?(B(),H(Aa,null,e)):W(Aa,null,e)}function Ga(e){return e==null||typeof e==`boolean`?W(Aa):f(e)?W(z,null,e.slice()):Ra(e)?Ka(e):W(ka,null,String(e))}function Ka(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:Wa(e)}function qa(e,t){let n=0,{shapeFlag:r}=e;if(t==null)t=null;else if(f(t))n=16;else if(typeof t==`object`){if(r&65){let n=t.default;n&&(n._c&&(n._d=!1),qa(e,n()),n._c&&(n._d=!0));return}{n=32;let r=t._;!r&&!ea(t)?t._ctx=Bn:r===3&&Bn&&(Bn.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}}else if(g(t)){if(r&65){qa(e,{default:t});return}t={default:t,_ctx:Bn},n=32}else t=String(t),r&64?(n=16,t=[G(t)]):n=8;e.children=t,e.shapeFlag|=n}function Ja(...e){let t={};for(let n=0;n<e.length;n++){let r=e[n];for(let e in r)if(e===`class`)t.class!==r.class&&(t.class=P([t.class,r.class]));else if(e===`style`)t.style=se([t.style,r.style]);else if(o(e)){let n=t[e],i=r[e];i&&n!==i&&!(f(n)&&n.includes(i))?t[e]=n?[].concat(n,i):i:i==null&&n==null&&!s(e)&&(t[e]=i)}else e!==``&&(t[e]=r[e])}return t}function Ya(e,t,n,r=null){yn(e,t,7,[n,r])}var Xa=Pi(),Za=0;function Qa(){return Za}function $a(e,t,r){let i=e.type,a=(t?t.appContext:e.appContext)||Xa,o={uid:Za++,vnode:e,type:i,parent:t,appContext:a,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new Te(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(a.provides),ids:t?t.ids:[``,0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:oa(i,a),emitsOptions:Hi(i,a),emit:null,emitted:null,propsDefaults:n,inheritAttrs:i.inheritAttrs,ctx:n,data:n,props:n,attrs:n,slots:n,refs:n,setupState:n,setupContext:null,suspense:r,suspenseId:r?r.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=Bi.bind(null,o),e.ce&&e.ce(o),o}var eo=null,to=()=>eo||Bn,no,ro;{let e=oe(),t=(t,n)=>{let r;return(r=e[t])||(r=e[t]=[]),r.push(n),e=>{r.length>1?r.forEach(t=>t(e)):r[0](e)}};no=t(`__VUE_INSTANCE_SETTERS__`,e=>eo=e),ro=t(`__VUE_SSR_SETTERS__`,e=>so=e)}var io=e=>{let t=eo;return no(e),e.scope.on(),()=>{e.scope.off(),no(t)}},ao=()=>{eo&&eo.scope.off(),no(null)};function oo(e){return e.vnode.shapeFlag&4}var so=!1;function co(e,t=!1,n=!1){t&&ro(t);let{props:r,children:i}=e.vnode,a=oo(e);ta(e,r,a,t),ma(e,i,n||t);let o=a?lo(e,t):void 0;return t&&ro(!1),o}function lo(e,t){let n=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,pi);let{setup:r}=n;if(r){We();let n=e.setupContext=r.length>1?go(e):null,i=io(e),a=vn(r,e,0,[e.props,n]),o=b(a);if(Ge(),i(),(o||e.sp)&&!Lr(e)&&Mr(e),o){if(a.then(ao,ao),t)return a.then(n=>{ro(!0);try{uo(e,n,t)}finally{ro(!1)}}).catch(t=>{bn(t,e,0)});e.asyncDep=a}else uo(e,a,t)}else mo(e,t)}function uo(e,t,n){g(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:y(t)&&(e.setupState=nn(t)),mo(e,n)}var fo,po;function mo(e,t,n){let r=e.type;if(!e.render){if(!t&&fo&&!r.render){let t=r.template||wi(e).template;if(t){let{isCustomElement:n,compilerOptions:i}=e.appContext.config,{delimiters:a,compilerOptions:o}=r;r.render=fo(t,c(c({isCustomElement:n,delimiters:a},i),o))}}e.render=r.render||i,po&&po(e)}{let t=io(e);We();try{bi(e)}finally{Ge(),t()}}}var ho={get(e,t){return tt(e,`get`,``),e[t]}};function go(e){return{attrs:new Proxy(e.attrs,ho),slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}function _o(e){return e.exposed?e.exposeProxy||=new Proxy(nn(qt(e.exposed)),{get(t,n){if(n in t)return t[n];if(n in di)return di[n](e)},has(e,t){return t in e||t in di}}):e.proxy}function vo(e,t=!0){return g(e)?e.displayName||e.name:e.name||t&&e.__name}function yo(e){return g(e)&&`__vccOpts`in e}var q=(e,t)=>dn(e,t,so);function bo(e,t,n){try{Ia(-1);let r=arguments.length;return r===2?y(t)&&!f(t)?Ra(t)?W(e,null,[t]):W(e,t):W(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):r===3&&Ra(n)&&(n=[n]),W(e,t,n))}finally{Ia(1)}}var xo=`3.5.44`,So=void 0,Co=typeof window<`u`&&window.trustedTypes;if(Co)try{So=Co.createPolicy(`vue`,{createHTML:e=>e})}catch{}var wo=So?e=>So.createHTML(e):e=>e,To=`http://www.w3.org/2000/svg`,Eo=`http://www.w3.org/1998/Math/MathML`,Do=typeof document<`u`?document:null,Oo=Do&&Do.createElement(`template`),ko={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{let t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{let i=t===`svg`?Do.createElementNS(To,e):t===`mathml`?Do.createElementNS(Eo,e):n?Do.createElement(e,{is:n}):Do.createElement(e);return e===`select`&&r&&r.multiple!=null&&i.setAttribute(`multiple`,r.multiple),i},createText:e=>Do.createTextNode(e),createComment:e=>Do.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Do.querySelector(e),setScopeId(e,t){e.setAttribute(t,``)},insertStaticContent(e,t,n,r,i,a){let o=n?n.previousSibling:t.lastChild;if(i&&(i===a||i.nextSibling))for(;t.insertBefore(i.cloneNode(!0),n),i!==a&&(i=i.nextSibling););else{Oo.innerHTML=wo(r===`svg`?`<svg>${e}</svg>`:r===`mathml`?`<math>${e}</math>`:e);let i=Oo.content;if(r===`svg`||r===`mathml`){let e=i.firstChild;for(;e.firstChild;)i.appendChild(e.firstChild);i.removeChild(e)}t.insertBefore(i,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Ao=`transition`,jo=`animation`,Mo=Symbol(`_vtc`),No={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Po=c({},yr,No),Fo=(e=>(e.displayName=`Transition`,e.props=Po,e))((e,{slots:t})=>bo(Sr,Ro(e),t)),Io=(e,t=[])=>{f(e)?e.forEach(e=>e(...t)):e&&e(...t)},Lo=e=>e?f(e)?e.some(e=>e.length>1):e.length>1:!1;function Ro(e){let t={};for(let n in e)n in No||(t[n]=e[n]);if(e.css===!1)return t;let{name:n=`v`,type:r,duration:i,enterFromClass:a=`${n}-enter-from`,enterActiveClass:o=`${n}-enter-active`,enterToClass:s=`${n}-enter-to`,appearFromClass:l=a,appearActiveClass:u=o,appearToClass:d=s,leaveFromClass:f=`${n}-leave-from`,leaveActiveClass:p=`${n}-leave-active`,leaveToClass:m=`${n}-leave-to`}=e,h=zo(i),g=h&&h[0],_=h&&h[1],{onBeforeEnter:v,onEnter:y,onEnterCancelled:b,onLeave:x,onLeaveCancelled:S,onBeforeAppear:C=v,onAppear:w=y,onAppearCancelled:T=b}=t,ee=(e,t,n,r)=>{e._enterCancelled=r,Ho(e,t?d:s),Ho(e,t?u:o),n&&n()},E=(e,t)=>{e._isLeaving=!1,Ho(e,f),Ho(e,m),Ho(e,p),t&&t()},te=e=>(t,n)=>{let i=e?w:y,o=()=>ee(t,e,n);Io(i,[t,o]),Uo(()=>{Ho(t,e?l:a),Vo(t,e?d:s),Lo(i)||Go(t,r,g,o)})};return c(t,{onBeforeEnter(e){Io(v,[e]),Vo(e,a),Vo(e,o)},onBeforeAppear(e){Io(C,[e]),Vo(e,l),Vo(e,u)},onEnter:te(!1),onAppear:te(!0),onLeave(e,t){e._isLeaving=!0;let n=()=>E(e,t);Vo(e,f),e._enterCancelled?(Vo(e,p),Yo(e)):(Yo(e),Vo(e,p)),Uo(()=>{e._isLeaving&&(Ho(e,f),Vo(e,m),Lo(x)||Go(e,r,_,n))}),Io(x,[e,n])},onEnterCancelled(e){ee(e,!1,void 0,!0),Io(b,[e])},onAppearCancelled(e){ee(e,!0,void 0,!0),Io(T,[e])},onLeaveCancelled(e){E(e),Io(S,[e])}})}function zo(e){if(e==null)return null;if(y(e))return[Bo(e.enter),Bo(e.leave)];{let t=Bo(e);return[t,t]}}function Bo(e){return ie(e)}function Vo(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[Mo]||(e[Mo]=new Set)).add(t)}function Ho(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));let n=e[Mo];n&&(n.delete(t),n.size||(e[Mo]=void 0))}function Uo(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}var Wo=0;function Go(e,t,n,r){let i=e._endId=++Wo,a=()=>{i===e._endId&&r()};if(n!=null)return setTimeout(a,n);let{type:o,timeout:s,propCount:c}=Ko(e,t);if(!o)return r();let l=o+`end`,u=0,d=()=>{e.removeEventListener(l,f),a()},f=t=>{t.target===e&&++u>=c&&d()};setTimeout(()=>{u<c&&d()},s+1),e.addEventListener(l,f)}function Ko(e,t){let n=window.getComputedStyle(e),r=e=>(n[e]||``).split(`, `),i=r(`${Ao}Delay`),a=r(`${Ao}Duration`),o=qo(i,a),s=r(`${jo}Delay`),c=r(`${jo}Duration`),l=qo(s,c),u=null,d=0,f=0;t===Ao?o>0&&(u=Ao,d=o,f=a.length):t===jo?l>0&&(u=jo,d=l,f=c.length):(d=Math.max(o,l),u=d>0?o>l?Ao:jo:null,f=u?u===Ao?a.length:c.length:0);let p=u===Ao&&/\b(?:transform|all)(?:,|$)/.test(r(`${Ao}Property`).toString());return{type:u,timeout:d,propCount:f,hasTransform:p}}function qo(e,t){for(;e.length<t.length;)e=e.concat(e);return Math.max(...t.map((t,n)=>Jo(t)+Jo(e[n])))}function Jo(e){return e===`auto`?0:Number(e.slice(0,-1).replace(`,`,`.`))*1e3}function Yo(e){return(e?e.ownerDocument:document).body.offsetHeight}function Xo(e,t,n){let r=e[Mo];r&&(t=(t?[t,...r]:[...r]).join(` `)),t==null?e.removeAttribute(`class`):n?e.setAttribute(`class`,t):e.className=t}var Zo=Symbol(`_vod`),Qo=Symbol(`_vsh`),$o=Symbol(``),es=/(?:^|;)\s*display\s*:/;function ts(e,t,n){let r=e.style,i=_(n),a=!1;if(n&&!i){if(t){if(_(t))for(let e of t.split(`;`)){let t=e.slice(0,e.indexOf(`:`)).trim();n[t]??rs(r,t,``)}else for(let e in t)n[e]??rs(r,e,``)}for(let i in n){i===`display`&&(a=!0);let o=n[i];o==null?rs(r,i,``):ss(e,i,!_(t)&&t?t[i]:void 0,o)||rs(r,i,o)}}else if(i){if(t!==n){let e=r[$o];e&&(n+=`;`+e),r.cssText=n,a=es.test(n)}}else t&&e.removeAttribute(`style`);Zo in e&&(i&&t===n||(e[Zo]=a?r.display:``),e[Qo]&&(r.display=`none`))}var ns=/\s*!important$/;function rs(e,t,n){if(f(n))n.forEach(n=>rs(e,t,n));else if(n??=``,t.startsWith(`--`))ns.test(n)?e.setProperty(t,n.replace(ns,``),`important`):e.setProperty(t,n);else{let r=os(e,t);ns.test(n)?e.setProperty(k(r),n.replace(ns,``),`important`):e[r]=n}}var is=[`Webkit`,`Moz`,`ms`],as={};function os(e,t){let n=as[t];if(n)return n;let r=D(t);if(r!==`filter`&&r in e)return as[t]=r;r=A(r);for(let n=0;n<is.length;n++){let i=is[n]+r;if(i in e)return as[t]=i}return t}function ss(e,t,n,r){return e.tagName===`TEXTAREA`&&(t===`width`||t===`height`)&&_(r)&&n===r}var cs=`http://www.w3.org/1999/xlink`;function ls(e,t,n,r,i,a=pe(t)){r&&t.startsWith(`xlink:`)?n==null?e.removeAttributeNS(cs,t.slice(6,t.length)):e.setAttributeNS(cs,t,n):n==null||a&&!me(n)?e.removeAttribute(t):e.setAttribute(t,a?``:v(n)?String(n):n)}function us(e,t,n,r,i){if(t===`innerHTML`||t===`textContent`){n!=null&&(e[t]=t===`innerHTML`?wo(n):n);return}let a=e.tagName;if(t===`value`&&a!==`PROGRESS`&&!a.includes(`-`)){let r=a===`OPTION`?e.getAttribute(`value`)||``:e.value,i=n==null?e.type===`checkbox`?`on`:``:String(n);r===i&&`_value`in e||(e.value=i),n??e.removeAttribute(t),e._value=n;return}let o=!1;if(n===``||n==null){let r=typeof e[t];r===`boolean`?n=me(n):n==null&&r===`string`?(n=``,o=!0):r===`number`&&(n=0,o=!0)}try{e[t]=n}catch{}o&&e.removeAttribute(i||t)}function ds(e,t,n,r){e.addEventListener(t,n,r)}function fs(e,t,n,r){e.removeEventListener(t,n,r)}var ps=Symbol(`_vei`);function ms(e,t,n,r,i=null){let a=e[ps]||(e[ps]={}),o=a[t];if(r&&o)o.value=r;else{let[n,s]=_s(t);r?ds(e,n,a[t]=xs(r,i),s):o&&(fs(e,n,o,s),a[t]=void 0)}}var hs=/(Once|Passive|Capture)$/,gs=/^on:?(?:Once|Passive|Capture)$/;function _s(e){let t,n;for(;(n=e.match(hs))&&!gs.test(e);)t||={},e=e.slice(0,e.length-n[1].length),t[n[1].toLowerCase()]=!0;return[e[2]===`:`?e.slice(3):k(e.slice(2)),t]}var vs=0,ys=Promise.resolve(),bs=()=>vs||=(ys.then(()=>vs=0),Date.now());function xs(e,t){let n=e=>{if(!e._vts)e._vts=Date.now();else if(e._vts<=n.attached)return;let r=n.value;if(f(r)){let n=e.stopImmediatePropagation;e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0};let i=r.slice(),a=[e];for(let n=0;n<i.length&&!e._stopped;n++){let e=i[n];e&&yn(e,t,5,a)}}else yn(r,t,5,[e])};return n.value=e,n.attached=bs(),n}var Ss=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Cs=(e,t,n,r,i,a)=>{let c=i===`svg`;t===`class`?Xo(e,r,c):t===`style`?ts(e,n,r):o(t)?s(t)||ms(e,t,n,r,a):(t[0]===`.`?(t=t.slice(1),1):t[0]===`^`?(t=t.slice(1),0):ws(e,t,r,c))?(us(e,t,r),e.tagName.includes(`-`)||t!==`value`&&t!==`checked`&&t!==`selected`||ls(e,t,r,c,a,t!==`value`)):e._isVueCE&&(Ts(e,t)||e._def.__asyncLoader&&(/[A-Z]/.test(t)||!_(r)))?us(e,D(t),r,a,t):(t===`true-value`?e._trueValue=r:t===`false-value`&&(e._falseValue=r),ls(e,t,r,c))};function ws(e,t,n,r){if(r)return!!(t===`innerHTML`||t===`textContent`||t in e&&Ss(t)&&g(n));if(t===`spellcheck`||t===`draggable`||t===`translate`||t===`autocorrect`||t===`sandbox`&&e.tagName===`IFRAME`||t===`form`||t===`list`&&e.tagName===`INPUT`||t===`type`&&e.tagName===`TEXTAREA`)return!1;if(t===`width`||t===`height`){let t=e.tagName;if(t===`IMG`||t===`VIDEO`||t===`CANVAS`||t===`SOURCE`)return!1}return Ss(t)&&_(n)?!1:t in e}function Ts(e,t){let n=e._def.props;if(!n)return!1;let r=D(t);return Array.isArray(n)?n.some(e=>D(e)===r):Object.keys(n).some(e=>D(e)===r)}var Es=new WeakMap,Ds=new WeakMap,Os=Symbol(`_moveCb`),ks=Symbol(`_enterCb`),As=new WeakMap,js=(e=>(delete e.props.mode,e))({name:`TransitionGroup`,props:c({},Po,{tag:String,moveClass:String}),setup(e,{slots:t}){let n=to(),r=_r(),i,a,o,s,c=()=>(s===void 0&&(s=i.length>0&&Bs(i[0].el,n.vnode.el,Ns(e))),s);return Jr(()=>{if(As.delete(n),!c()){i=[],o=void 0;return}let t=Ns(e);i.forEach(Ms);let r=o&&zs(o,n.vnode.el);o=void 0,i.forEach(e=>Ps(e,r));let a=i.filter(Fs);Yo(n.vnode.el),a.forEach(e=>{let n=e.el,r=n.style;Vo(n,t),r.transform=r.webkitTransform=r.transitionDuration=``;let i=n[Os]=e=>{e&&e.target!==n||(!e||e.propertyName.endsWith(`transform`))&&(n.removeEventListener(`transitionend`,i),n[Os]=null,Ho(n,t))};n.addEventListener(`transitionend`,i)}),i=[]}),()=>{let l=Kt(e),u=Ro(l),d=l.tag||z;if(i=[],s=void 0,a)for(let e=0;e<a.length;e++){let t=a[e];t.el&&t.el instanceof Element&&!t.el[Qo]&&(i.push(t),Dr(t,wr(t,u,r,n)),Es.set(t,Is(t.el)))}a=t.default?Or(t.default()):[];for(let e=0;e<a.length;e++){let t=a[e];t.key!=null&&Dr(t,wr(t,u,r,n))}return i.length&&(o=Ls(n),As.set(n,c)),W(d,null,a)}}});function Ms(e){let t=e.el;t[Os]&&t[Os](),t[ks]&&t[ks]()}function Ns(e){return e.moveClass||`${e.name||`v`}-move`}function Ps(e,t){Ds.set(e,Is(e.el,t))}function Fs(e){let t=Es.get(e),n=Ds.get(e),r=t.left-n.left,i=t.top-n.top;if(r||i){let t=e.el,n=t.style,a=t.getBoundingClientRect(),o=1,s=1;return t.offsetWidth&&(o=a.width/t.offsetWidth),t.offsetHeight&&(s=a.height/t.offsetHeight),Number.isFinite(o)&&o!==0||(o=1),Number.isFinite(s)&&s!==0||(s=1),Math.abs(o-1)<.01&&(o=1),Math.abs(s-1)<.01&&(s=1),n.transform=n.webkitTransform=`translate(${r/o}px,${i/s}px)`,n.transitionDuration=`0s`,e}}function Is(e,t){let n=e.getBoundingClientRect();return{left:n.left-(t?t.left:0),top:n.top-(t?t.top:0)}}function Ls(e){let t;for(let n=e.parent;n;n=n.parent){let r=As.get(n);if(r){let i=Rs(n.vnode.el,e.vnode.el);i&&(t||=[]).push(c(Is(i),{item:i,willMove:r}))}}return t}function Rs(e,t){let n=e.nodeType===1?e:e.parentNode;for(;t&&t.parentNode!==n;)t=t.parentNode;if(t&&t.nodeType===1)return t}function zs(e,t){let n=e.find(e=>e.willMove()&&e.item.contains(t));return n&&Is(n.item,n)}function Bs(e,t,n){let r=e.cloneNode(),i=e[Mo];i&&i.forEach(e=>{e.split(/\s+/).forEach(e=>e&&r.classList.remove(e))}),n.split(/\s+/).forEach(e=>e&&r.classList.add(e)),r.style.display=`none`;let a=t.nodeType===1?t:t.parentNode;a.appendChild(r);let{hasTransform:o}=Ko(r);return a.removeChild(r),o}var Vs=e=>{let t=e.props[`onUpdate:modelValue`]||!1;return f(t)?e=>N(t,e):t};function Hs(e){e.target.composing=!0}function Us(e){let t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event(`input`)))}var Ws=Symbol(`_assign`),Gs=Symbol(`_initialValue`);function Ks(e,t,n){return t&&(e=e.trim()),n&&(e=re(e)),e}var qs={created(e,{modifiers:{lazy:t,trim:n,number:r}},i){e.parentNode&&(e.type===`text`?e[Gs]=e.defaultValue.replace(/[\r\n]/g,``):e.type===`textarea`&&(e[Gs]=e.defaultValue.replace(/\r\n?/g,`
|
|
3
|
+
`))),e[Ws]=Vs(i);let a=r||i.props&&i.props.type===`number`;ds(e,t?`change`:`input`,t=>{t.target.composing||e[Ws](Ks(e.value,n,a))}),(n||a)&&ds(e,`change`,()=>{e.value=Ks(e.value,n,a)}),t||(ds(e,`compositionstart`,Hs),ds(e,`compositionend`,Us),ds(e,`change`,Us))},mounted(e,{value:t,modifiers:{trim:n,number:r}}){let i=t??``,a=e[Gs];delete e[Gs],a!==void 0&&(e.type===`text`||e.type===`textarea`)&&e.value!==a?e[Ws](Ks(e.value,n,r)):e.value=i},beforeUpdate(e,{value:t,oldValue:n,modifiers:{lazy:r,trim:i,number:a}},o){if(e[Ws]=Vs(o),e.composing)return;let s=(a||e.type===`number`)&&!/^0\d/.test(e.value)?re(e.value):e.value,c=t??``;if(s===c)return;let l=e.getRootNode();(l instanceof Document||l instanceof ShadowRoot)&&l.activeElement===e&&e.type!==`range`&&(r&&t===n||i&&e.value.trim()===c)||(e.value=c)}},Js={deep:!0,created(e,t,n){e[Ws]=Vs(n),ds(e,`change`,()=>{let t=e._modelValue,n=ec(e),r=e.checked,i=e[Ws];if(f(t)){let e=be(t,n),a=e!==-1;if(r&&!a)i(t.concat(n));else if(!r&&a){let n=[...t];n.splice(e,1),i(n)}}else if(m(t)){let e=new Set(t);r?e.add(n):e.delete(n),i(e)}else i(tc(e,r))})},mounted:Ys,beforeUpdate(e,t,n){e[Ws]=Vs(n),Ys(e,t,n)}};function Ys(e,{value:t,oldValue:n},r){e._modelValue=t;let i;if(f(t))i=be(t,r.props.value)>-1;else if(m(t))i=t.has(r.props.value);else{if(t===n)return;i=ye(t,tc(e,!0))}e.checked!==i&&(e.checked=i)}var Xs={created(e,{value:t},n){e.checked=ye(t,n.props.value),e[Ws]=Vs(n),ds(e,`change`,()=>{e[Ws](ec(e))})},beforeUpdate(e,{value:t,oldValue:n},r){e[Ws]=Vs(r),t!==n&&(e.checked=ye(t,r.props.value))}},Zs={deep:!0,created(e,{value:t,modifiers:{number:n}},r){e._modelValue=t,ds(e,`change`,()=>{let t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>n?re(ec(e)):ec(e)),r=e.multiple,i=r?m(e._modelValue)?new Set(t):t:t[0],a=e._pendingValue=[r,r?f(i)?t.slice():t:i];try{e[Ws](i)}finally{kn(()=>{e._pendingValue===a&&(e._pendingValue=void 0)})}}),e[Ws]=Vs(r)},mounted(e,{value:t}){$s(e,t)},beforeUpdate(e,{value:t},n){e._modelValue=t,e[Ws]=Vs(n)},updated(e,{value:t}){let n=e._pendingValue;e._pendingValue=void 0,n&&n[0]===e.multiple&&Qs(t,n[1],n[0])||$s(e,t)}};function Qs(e,t,n){if(!n||f(e))return ye(e,t);if(m(e)){if(e.size!==t.length)return!1;for(let n of t)if(!e.has(n))return!1;return!0}return!1}function $s(e,t){let n=e.multiple,r=f(t);if(!n||r||m(t)){for(let i=0,a=e.options.length;i<a;i++){let a=e.options[i],o=ec(a);if(n){if(r){let e=typeof o;a.selected=e===`string`||e===`number`?t.some(e=>String(e)===String(o)):be(t,o)>-1}else a.selected=t.has(o)}else if(ye(ec(a),t)){e.selectedIndex!==i&&(e.selectedIndex=i);return}}!n&&e.selectedIndex!==-1&&(e.selectedIndex=-1)}}function ec(e){return`_value`in e?e._value:e.value}function tc(e,t){let n=t?`_trueValue`:`_falseValue`;return n in e?e[n]:t}var nc={created(e,t,n){ic(e,t,n,null,`created`)},mounted(e,t,n){ic(e,t,n,null,`mounted`)},beforeUpdate(e,t,n,r){ic(e,t,n,r,`beforeUpdate`)},updated(e,t,n,r){ic(e,t,n,r,`updated`)}};function rc(e,t){switch(e){case`SELECT`:return Zs;case`TEXTAREA`:return qs;default:switch(t){case`checkbox`:return Js;case`radio`:return Xs;default:return qs}}}function ic(e,t,n,r,i){let a=rc(e.tagName,n.props&&n.props.type)[i];a&&a(e,t,n,r)}var ac=[`ctrl`,`shift`,`alt`,`meta`],oc={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>`button`in e&&e.button!==0,middle:e=>`button`in e&&e.button!==1,right:e=>`button`in e&&e.button!==2,exact:(e,t)=>ac.some(n=>e[`${n}Key`]&&!t.includes(n))},sc=(e,t)=>{if(!e)return e;let n=e._withMods||={},r=t.join(`.`);return n[r]||(n[r]=((n,...r)=>{for(let e=0;e<t.length;e++){let r=oc[t[e]];if(r&&r(n,t))return}return e(n,...r)}))},cc={esc:`escape`,space:` `,up:`arrow-up`,left:`arrow-left`,right:`arrow-right`,down:`arrow-down`,delete:`backspace`},lc=(e,t)=>{let n=e._withKeys||={},r=t.join(`.`);return n[r]||(n[r]=(n=>{if(!(`key`in n))return;let r=k(n.key);if(t.some(e=>e===r||cc[e]===r))return e(n)}))},uc=c({patchProp:Cs},ko),dc;function fc(){return dc||=_a(uc)}var pc=((...e)=>{fc().render(...e)}),mc=((...e)=>{let t=fc().createApp(...e),{mount:n}=t;return t.mount=e=>{let r=gc(e);if(!r)return;let i=t._component;g(i)||i.render||i.template||(i.template=r.innerHTML),r.nodeType===1&&(r.textContent=``);let a=n(r,!1,hc(r));return r instanceof Element&&(r.removeAttribute(`v-cloak`),r.setAttribute(`data-v-app`,``)),a},t});function hc(e){if(e instanceof SVGElement)return`svg`;if(typeof MathMLElement==`function`&&e instanceof MathMLElement)return`mathml`}function gc(e){return _(e)?document.querySelector(e):e}var _c=Ar({__name:`UidIcon`,props:{icon:{},size:{default:20},strokeWidth:{default:2},label:{}},setup(e){return(t,n)=>(B(),H(ri(e.icon),{class:`uid-icon`,width:e.size,height:e.size,"stroke-width":e.strokeWidth,"aria-label":e.label,"aria-hidden":e.label?void 0:`true`,role:`img`},null,8,[`width`,`height`,`stroke-width`,`aria-label`,`aria-hidden`]))}}),vc=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),yc={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},bc=({size:e,strokeWidth:t=2,absoluteStrokeWidth:n,color:r,iconNode:i,name:a,class:o,...s},{slots:c})=>bo(`svg`,{...yc,width:e||yc.width,height:e||yc.height,stroke:r||yc.stroke,"stroke-width":n?Number(t)*24/Number(e):t,class:[`lucide`,`lucide-${vc(a??`icon`)}`],...s},[...i.map(e=>bo(...e)),...c.default?[c.default()]:[]]),J=(e,t)=>(n,{slots:r})=>bo(bc,{...n,iconNode:t,name:e},r),xc=J(`ActivityIcon`,[[`path`,{d:`M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2`,key:`169zse`}]]),Sc=J(`AlignCenterHorizontalIcon`,[[`path`,{d:`M2 12h20`,key:`9i4pu4`}],[`path`,{d:`M10 16v4a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-4`,key:`11f1s0`}],[`path`,{d:`M10 8V4a2 2 0 0 0-2-2H6a2 2 0 0 0-2 2v4`,key:`t14dx9`}],[`path`,{d:`M20 16v1a2 2 0 0 1-2 2h-2a2 2 0 0 1-2-2v-1`,key:`1w07xs`}],[`path`,{d:`M14 8V7c0-1.1.9-2 2-2h2a2 2 0 0 1 2 2v1`,key:`1apec2`}]]),Cc=J(`AlignCenterVerticalIcon`,[[`path`,{d:`M12 2v20`,key:`t6zp3m`}],[`path`,{d:`M8 10H4a2 2 0 0 1-2-2V6c0-1.1.9-2 2-2h4`,key:`14d6g8`}],[`path`,{d:`M16 10h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2h-4`,key:`1e2lrw`}],[`path`,{d:`M8 20H7a2 2 0 0 1-2-2v-2c0-1.1.9-2 2-2h1`,key:`1fkdwx`}],[`path`,{d:`M16 14h1a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-1`,key:`1euafb`}]]),wc=J(`AlignEndHorizontalIcon`,[[`rect`,{width:`6`,height:`16`,x:`4`,y:`2`,rx:`2`,key:`z5wdxg`}],[`rect`,{width:`6`,height:`9`,x:`14`,y:`9`,rx:`2`,key:`um7a8w`}],[`path`,{d:`M22 22H2`,key:`19qnx5`}]]),Tc=J(`AlignEndVerticalIcon`,[[`rect`,{width:`16`,height:`6`,x:`2`,y:`4`,rx:`2`,key:`10wcwx`}],[`rect`,{width:`9`,height:`6`,x:`9`,y:`14`,rx:`2`,key:`4p5bwg`}],[`path`,{d:`M22 22V2`,key:`12ipfv`}]]),Ec=J(`AlignHorizontalSpaceAroundIcon`,[[`rect`,{width:`6`,height:`10`,x:`9`,y:`7`,rx:`2`,key:`yn7j0q`}],[`path`,{d:`M4 22V2`,key:`tsjzd3`}],[`path`,{d:`M20 22V2`,key:`1bnhr8`}]]),Dc=J(`AlignStartHorizontalIcon`,[[`rect`,{width:`6`,height:`16`,x:`4`,y:`6`,rx:`2`,key:`1n4dg1`}],[`rect`,{width:`6`,height:`9`,x:`14`,y:`6`,rx:`2`,key:`17khns`}],[`path`,{d:`M22 2H2`,key:`fhrpnj`}]]),Oc=J(`AlignStartVerticalIcon`,[[`rect`,{width:`9`,height:`6`,x:`6`,y:`14`,rx:`2`,key:`lpm2y7`}],[`rect`,{width:`16`,height:`6`,x:`6`,y:`4`,rx:`2`,key:`rdj6ps`}],[`path`,{d:`M2 2v20`,key:`1ivd8o`}]]),kc=J(`AlignVerticalSpaceAroundIcon`,[[`rect`,{width:`10`,height:`6`,x:`7`,y:`9`,rx:`2`,key:`b1zbii`}],[`path`,{d:`M22 20H2`,key:`1p1f7z`}],[`path`,{d:`M22 4H2`,key:`1b7qnq`}]]),Ac=J(`ArrowRightIcon`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`m12 5 7 7-7 7`,key:`xquz4c`}]]),jc=J(`CheckIcon`,[[`path`,{d:`M20 6 9 17l-5-5`,key:`1gmf2c`}]]),Mc=J(`ChevronDownIcon`,[[`path`,{d:`m6 9 6 6 6-6`,key:`qrunsl`}]]),Nc=J(`ChevronLeftIcon`,[[`path`,{d:`m15 18-6-6 6-6`,key:`1wnfg3`}]]),Pc=J(`ChevronRightIcon`,[[`path`,{d:`m9 18 6-6-6-6`,key:`mthhwq`}]]),Fc=J(`CircleAlertIcon`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`12`,x2:`12`,y1:`8`,y2:`12`,key:`1pkeuh`}],[`line`,{x1:`12`,x2:`12.01`,y1:`16`,y2:`16`,key:`4dfq90`}]]),Ic=J(`CircleCheckIcon`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`m9 12 2 2 4-4`,key:`dzmm74`}]]),Lc=J(`ClipboardPasteIcon`,[[`path`,{d:`M15 2H9a1 1 0 0 0-1 1v2c0 .6.4 1 1 1h6c.6 0 1-.4 1-1V3c0-.6-.4-1-1-1Z`,key:`1pp7kr`}],[`path`,{d:`M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2M16 4h2a2 2 0 0 1 2 2v2M11 14h10`,key:`2ik1ml`}],[`path`,{d:`m17 10 4 4-4 4`,key:`vp2hj1`}]]),Rc=J(`ClockIcon`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`polyline`,{points:`12 6 12 12 16 14`,key:`68esgv`}]]),zc=J(`CogIcon`,[[`path`,{d:`M12 20a8 8 0 1 0 0-16 8 8 0 0 0 0 16Z`,key:`sobvz5`}],[`path`,{d:`M12 14a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z`,key:`11i496`}],[`path`,{d:`M12 2v2`,key:`tus03m`}],[`path`,{d:`M12 22v-2`,key:`1osdcq`}],[`path`,{d:`m17 20.66-1-1.73`,key:`eq3orb`}],[`path`,{d:`M11 10.27 7 3.34`,key:`16pf9h`}],[`path`,{d:`m20.66 17-1.73-1`,key:`sg0v6f`}],[`path`,{d:`m3.34 7 1.73 1`,key:`1ulond`}],[`path`,{d:`M14 12h8`,key:`4f43i9`}],[`path`,{d:`M2 12h2`,key:`1t8f8n`}],[`path`,{d:`m20.66 7-1.73 1`,key:`1ow05n`}],[`path`,{d:`m3.34 17 1.73-1`,key:`nuk764`}],[`path`,{d:`m17 3.34-1 1.73`,key:`2wel8s`}],[`path`,{d:`m11 13.73-4 6.93`,key:`794ttg`}]]),Bc=J(`CopyPlusIcon`,[[`line`,{x1:`15`,x2:`15`,y1:`12`,y2:`18`,key:`1p7wdc`}],[`line`,{x1:`12`,x2:`18`,y1:`15`,y2:`15`,key:`1nscbv`}],[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),Vc=J(`CopyIcon`,[[`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`,key:`17jyea`}],[`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`,key:`zix9uf`}]]),Hc=J(`DiamondIcon`,[[`path`,{d:`M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41l-7.59-7.59a2.41 2.41 0 0 0-3.41 0Z`,key:`1f1r0c`}]]),Uc=J(`DownloadIcon`,[[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`polyline`,{points:`7 10 12 15 17 10`,key:`2ggqvy`}],[`line`,{x1:`12`,x2:`12`,y1:`15`,y2:`3`,key:`1vk2je`}]]),Wc=J(`EllipsisIcon`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),Gc=J(`FileCodeIcon`,[[`path`,{d:`M10 12.5 8 15l2 2.5`,key:`1tg20x`}],[`path`,{d:`m14 12.5 2 2.5-2 2.5`,key:`yinavb`}],[`path`,{d:`M14 2v4a2 2 0 0 0 2 2h4`,key:`tnqrlb`}],[`path`,{d:`M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7z`,key:`1mlx9k`}]]),Kc=J(`InfoIcon`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M12 16v-4`,key:`1dtifu`}],[`path`,{d:`M12 8h.01`,key:`e9boi3`}]]),qc=J(`LayersIcon`,[[`path`,{d:`m12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z`,key:`8b97xw`}],[`path`,{d:`m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65`,key:`dd6zsq`}],[`path`,{d:`m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65`,key:`ep9fru`}]]),Jc=J(`LayoutGridIcon`,[[`rect`,{width:`7`,height:`7`,x:`3`,y:`3`,rx:`1`,key:`1g98yp`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`3`,rx:`1`,key:`6d4xhi`}],[`rect`,{width:`7`,height:`7`,x:`14`,y:`14`,rx:`1`,key:`nxv5o0`}],[`rect`,{width:`7`,height:`7`,x:`3`,y:`14`,rx:`1`,key:`1bb6yr`}]]),Yc=J(`MagnetIcon`,[[`path`,{d:`m6 15-4-4 6.75-6.77a7.79 7.79 0 0 1 11 11L13 22l-4-4 6.39-6.36a2.14 2.14 0 0 0-3-3L6 15`,key:`1i3lhw`}],[`path`,{d:`m5 8 4 4`,key:`j6kj7e`}],[`path`,{d:`m12 15 4 4`,key:`lnac28`}]]),Xc=J(`MapIcon`,[[`path`,{d:`M14.106 5.553a2 2 0 0 0 1.788 0l3.659-1.83A1 1 0 0 1 21 4.619v12.764a1 1 0 0 1-.553.894l-4.553 2.277a2 2 0 0 1-1.788 0l-4.212-2.106a2 2 0 0 0-1.788 0l-3.659 1.83A1 1 0 0 1 3 19.381V6.618a1 1 0 0 1 .553-.894l4.553-2.277a2 2 0 0 1 1.788 0z`,key:`169xi5`}],[`path`,{d:`M15 5.764v15`,key:`1pn4in`}],[`path`,{d:`M9 3.236v15`,key:`1uimfh`}]]),Zc=J(`MaximizeIcon`,[[`path`,{d:`M8 3H5a2 2 0 0 0-2 2v3`,key:`1dcmit`}],[`path`,{d:`M21 8V5a2 2 0 0 0-2-2h-3`,key:`1e4gt3`}],[`path`,{d:`M3 16v3a2 2 0 0 0 2 2h3`,key:`wsl5sc`}],[`path`,{d:`M16 21h3a2 2 0 0 0 2-2v-3`,key:`18trek`}]]),Qc=J(`MessageSquareIcon`,[[`path`,{d:`M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z`,key:`1lielz`}]]),$c=J(`MinusIcon`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}]]),el=J(`PanelRightIcon`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}],[`path`,{d:`M15 3v18`,key:`14nvp0`}]]),tl=J(`PlayIcon`,[[`polygon`,{points:`6 3 20 12 6 21 6 3`,key:`1oa8hb`}]]),nl=J(`PlusIcon`,[[`path`,{d:`M5 12h14`,key:`1ays0h`}],[`path`,{d:`M12 5v14`,key:`s699le`}]]),rl=J(`PowerIcon`,[[`path`,{d:`M12 2v10`,key:`mnfbl`}],[`path`,{d:`M18.4 6.6a9 9 0 1 1-12.77.04`,key:`obofu9`}]]),il=J(`Redo2Icon`,[[`path`,{d:`m15 14 5-5-5-5`,key:`12vg1m`}],[`path`,{d:`M20 9H9.5A5.5 5.5 0 0 0 4 14.5A5.5 5.5 0 0 0 9.5 20H13`,key:`6uklza`}]]),al=J(`RefreshCwIcon`,[[`path`,{d:`M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8`,key:`v9h5vc`}],[`path`,{d:`M21 3v5h-5`,key:`1q7to0`}],[`path`,{d:`M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16`,key:`3uifl3`}],[`path`,{d:`M8 16H3v5`,key:`1cv678`}]]),ol=J(`ScissorsIcon`,[[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M8.12 8.12 12 12`,key:`1alkpv`}],[`path`,{d:`M20 4 8.12 15.88`,key:`xgtan2`}],[`circle`,{cx:`6`,cy:`18`,r:`3`,key:`fqmcym`}],[`path`,{d:`M14.8 14.8 20 20`,key:`ptml3r`}]]),sl=J(`ShapesIcon`,[[`path`,{d:`M8.3 10a.7.7 0 0 1-.626-1.079L11.4 3a.7.7 0 0 1 1.198-.043L16.3 8.9a.7.7 0 0 1-.572 1.1Z`,key:`1bo67w`}],[`rect`,{x:`3`,y:`14`,width:`7`,height:`7`,rx:`1`,key:`1bkyp8`}],[`circle`,{cx:`17.5`,cy:`17.5`,r:`3.5`,key:`w3z12y`}]]),cl=J(`SkipForwardIcon`,[[`polygon`,{points:`5 4 15 12 5 20 5 4`,key:`16p6eg`}],[`line`,{x1:`19`,x2:`19`,y1:`5`,y2:`19`,key:`futhcm`}]]),ll=J(`SquareArrowOutUpRightIcon`,[[`path`,{d:`M21 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h6`,key:`y09zxi`}],[`path`,{d:`m21 3-9 9`,key:`mpx6sq`}],[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}]]),ul=J(`SquareIcon`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),dl=J(`StickyNoteIcon`,[[`path`,{d:`M16 3H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8Z`,key:`qazsjp`}],[`path`,{d:`M15 3v4a2 2 0 0 0 2 2h4`,key:`40519r`}]]),fl=J(`Trash2Icon`,[[`path`,{d:`M3 6h18`,key:`d0wm0j`}],[`path`,{d:`M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6`,key:`4alrt4`}],[`path`,{d:`M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2`,key:`v07s0e`}],[`line`,{x1:`10`,x2:`10`,y1:`11`,y2:`17`,key:`1uufr5`}],[`line`,{x1:`14`,x2:`14`,y1:`11`,y2:`17`,key:`xtxkd`}]]),pl=J(`TriangleAlertIcon`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),ml=J(`Undo2Icon`,[[`path`,{d:`M9 14 4 9l5-5`,key:`102s5s`}],[`path`,{d:`M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11`,key:`f3b9sd`}]]),hl=J(`UploadIcon`,[[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`polyline`,{points:`17 8 12 3 7 8`,key:`t8dd8p`}],[`line`,{x1:`12`,x2:`12`,y1:`3`,y2:`15`,key:`widbto`}]]),gl=J(`WorkflowIcon`,[[`rect`,{width:`8`,height:`8`,x:`3`,y:`3`,rx:`2`,key:`by2w9f`}],[`path`,{d:`M7 11v4a2 2 0 0 0 2 2h4`,key:`xkn7yn`}],[`rect`,{width:`8`,height:`8`,x:`13`,y:`13`,rx:`2`,key:`1cgmvn`}]]),_l=J(`XIcon`,[[`path`,{d:`M18 6 6 18`,key:`1bl5f8`}],[`path`,{d:`m6 6 12 12`,key:`d8bk6v`}]]),vl=[`type`,`disabled`,`aria-disabled`,`data-loading`],yl={key:0,class:`uid-button__prepend`},bl={key:3,class:`uid-button__append`},xl=Ar({__name:`UidButton`,props:{variant:{default:`primary`},size:{default:`md`},disabled:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},type:{default:`button`},icon:{default:void 0},iconPosition:{default:`start`}},emits:[`click`],setup(e,{emit:t}){let n=e,r=t,i=mi();hi();let a=q(()=>n.size===`sm`?16:20),o=q(()=>!!n.icon&&!i.default);Yn(()=>{});function s(e){!n.disabled&&!n.loading&&r(`click`,e)}return(t,n)=>(B(),V(`button`,{class:P([`uid-button`,[`uid-button--${e.variant}`,`uid-button--${e.size}`,{"uid-button--icon-only":o.value}]]),type:e.type,disabled:e.disabled||e.loading,"aria-disabled":e.disabled||e.loading?`true`:void 0,"data-loading":e.loading?`true`:void 0,onClick:s},[t.$slots.prepend?(B(),V(`span`,yl,[ci(t.$slots,`prepend`)])):K(``,!0),e.icon&&e.iconPosition===`start`?(B(),H(_c,{key:1,class:`uid-button__icon`,icon:e.icon,size:a.value},null,8,[`icon`,`size`])):K(``,!0),ci(t.$slots,`default`),e.icon&&e.iconPosition===`end`?(B(),H(_c,{key:2,class:`uid-button__icon`,icon:e.icon,size:a.value},null,8,[`icon`,`size`])):K(``,!0),t.$slots.append?(B(),V(`span`,bl,[ci(t.$slots,`append`)])):K(``,!0)],10,vl))}}),Sl={code:`en-US`,common:{clear:`Clear`,close:`Close`,search:`Search...`,confirm:`Confirm`,cancel:`Cancel`,loading:`Loading...`,noResults:`No results`},copy:{copy:`Copy`,copied:`Copied`},select:{placeholder:`Select...`,noResults:`No results`},combobox:{placeholder:`Start typing...`,noResults:`No results`,create:e=>`+ Create "${e}"`},datePicker:{placeholder:`Select date`,months:[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],weekdaysShort:[`Mo`,`Tu`,`We`,`Th`,`Fr`,`Sa`,`Su`],prevMonth:`Previous month`,nextMonth:`Next month`,dialog:`Choose a date`},dateRangePicker:{placeholder:`Select range`,presetLast:e=>`${e} days`,startTime:`Start time`,endTime:`End time`,dialog:`Choose a date range`},timePicker:{placeholder:`Select time`,now:`Now`,confirm:`OK`,dialog:`Choose a time`,hours:`Hours`,minutes:`Minutes`,seconds:`Seconds`},colorPicker:{placeholder:`Pick a color`,dialog:`Choose a colour`,saturation:`Saturation and brightness`,hue:`Hue`,alpha:`Opacity`,input:`HEX, rgb() or hsl()`},numberInput:{increment:e=>`Increase by ${e}`,decrement:e=>`Decrease by ${e}`},tagsInput:{remove:e=>`Remove ${e}`},treeView:{expand:`Expand`,collapse:`Collapse`},treeSelect:{placeholder:`Select...`,removeTag:e=>`Remove ${e}`},fileUpload:{primaryText:`Drop files or click to upload`,secondaryText:`Images and documents are supported`,remove:e=>`Remove ${e}`},backTop:{label:`Back to top`},tour:{next:`Next`,prev:`Previous`,finish:`Done`,skip:`Skip`},rating:{label:(e,t)=>`Rating ${e} of ${t}`,star:e=>e===1?`1 star`:`${e} stars`},mention:{noResults:`No matches`},modal:{close:`Close`},drawer:{close:`Close`},toast:{close:`Close`},image:{preview:`Open preview`,error:`Image failed to load`},media:{play:`Play`,pause:`Pause`,replay:`Replay`,mute:`Mute`,unmute:`Unmute`,volume:`Volume`,seek:`Seek`,timeOf:(e,t)=>`${e} of ${t}`,speed:`Speed`,normalSpeed:`Normal`,quality:`Quality`,audioTrack:`Audio`,auto:`Auto`,captions:`Subtitles`,captionsOff:`Off`,settings:`Settings`,fullscreen:`Full screen`,exitFullscreen:`Exit full screen`,pip:`Picture in picture`,exitPip:`Exit picture in picture`,live:`Live`,goLive:`Go to live`,next:`Next track`,prev:`Previous track`,playlist:`Playlist`,forward:e=>`Forward ${e} seconds`,backward:e=>`Back ${e} seconds`,chapter:`Chapter`,loading:`Loading…`,retry:`Try again`,errors:{aborted:`Playback was aborted.`,network:`The media could not be loaded: network error.`,decode:`The media file is damaged or uses an unsupported encoding.`,unsupported:`This format is not supported by your browser.`,mse:`This browser cannot play streaming video (HLS).`,manifest:`The stream playlist could not be read.`,encrypted:`Encrypted streams of this kind are not supported.`,codec:`The stream uses a codec this browser cannot play.`,unknown:`The media could not be played.`}},breadcrumb:{showHidden:`Show hidden breadcrumbs`,label:`Breadcrumb`},pagination:{first:`First page`,prev:`Previous page`,next:`Next page`,last:`Last page`,page:e=>`Page ${e}`,pageSize:e=>`${e} per page`,label:`Pagination`,cursorNav:`Page navigation`,back:`Back`,forward:`Forward`,loadMore:`Show more`,rowsPerPage:`Rows per page:`},sidebar:{label:`Sidebar`,nav:`Navigation`},header:{nav:`Main navigation`},pageHeader:{back:`Back`},emptyState:{title:`Nothing found`},errorState:{title:`Something went wrong`,notFoundTitle:`Page not found`,notFoundDescription:`The page you are looking for does not exist or has been moved.`,serverTitle:`Server error`,serverDescription:`Something went wrong on the server. We are already working on it.`,offlineTitle:`No connection`,offlineDescription:`Check your internet connection and try again.`},wizard:{step:e=>`Step ${e}`},calendar:{today:`Today`},carousel:{prev:`Previous`,next:`Next`,position:(e,t)=>`${e} of ${t}`,slide:e=>`Slide ${e}`},stepper:{label:(e,t)=>`Steps (current: ${e} of ${t})`},transfer:{available:`Available`,selected:`Selected`,moveRight:`Move right`,moveLeft:`Move left`},sparkline:{summary:(e,t,n)=>`Trend: from ${e} to ${t}, ${n} points`},table:{empty:`No data`,selectAll:`Select all`,row:e=>`Row ${e}`},avatarGroup:{more:e=>`${e} more`},command:{placeholder:`Search commands...`,empty:`Nothing found`,label:`Command palette`},anchor:{label:`Contents`},markdown:{toc:`On this page`,note:`Note`,tip:`Tip`,important:`Important`,warning:`Warning`,caution:`Caution`,blockPending:`Rendering…`,blockError:`Could not render this block`},heatmap:{summary:e=>`Activity heatmap: ${e} events`,less:`Less`,more:`More`,matrixSummary:(e,t)=>`Heatmap: ${e} rows × ${t} columns`,noData:`No data`},validation:{value:`value`,required:e=>`The ${e} field is required`,email:`Enter a valid email`,url:`Enter a valid URL`,numeric:`Enter a number`,integer:`Enter a whole number`,min:e=>`At least ${e} characters`,max:e=>`At most ${e} characters`,minValue:e=>`The value must be at least ${e}`,maxValue:e=>`The value must be at most ${e}`,regex:`Invalid format`,in:`Choose an allowed value`,sameAs:`The values do not match`,unknown:e=>`Validation failed: ${e}`}};function Cl(e){let t=t=>e.required(t??e.value);return{required:({label:e})=>t(e),email:()=>e.email,url:()=>e.url,numeric:()=>e.numeric,integer:()=>e.integer,min:({params:t})=>e.min(String(t?.[0])),max:({params:t})=>e.max(String(t?.[0])),min_value:({params:t})=>e.minValue(String(t?.[0])),max_value:({params:t})=>e.maxValue(String(t?.[0])),regex:()=>e.regex,in:()=>e.in,same_as:()=>e.sameAs,required_if:({label:e})=>t(e),required_unless:({label:e})=>t(e)}}var wl=Sl.validation,Tl=Cl(wl);function El(e){e.validation!==wl&&(wl=e.validation,Tl=Cl(wl))}var Dl={};function Ol(e,t){let n=Dl[e];return n?typeof n==`function`?n(t):n:Tl[e]?.(t)??wl.unknown(e)}var kl=`__uid_nullable__`;function Al(e){return e==null||String(e).trim()===``}function jl(e,t){return t?{...e,params:t}:e}var Ml=e=>(t,n)=>!Al(t)||(e??Ol(`required`,n)),Nl=()=>e=>!Al(e)||kl,Pl=e=>(t,n)=>Al(t)||/^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/.test(String(t))||(e??Ol(`email`,n)),Fl=e=>(t,n)=>{if(Al(t))return!0;try{return new URL(String(t)),!0}catch{return e??Ol(`url`,n)}},Il=e=>(t,n)=>Al(t)||!isNaN(Number(t))||(e??Ol(`numeric`,n)),Ll=e=>(t,n)=>Al(t)||Number.isInteger(Number(t))||(e??Ol(`integer`,n)),Rl=(e,t)=>(n,r)=>Al(n)||String(n).length>=e||(t??Ol(`min`,jl(r,[String(e)]))),zl=(e,t)=>(n,r)=>Al(n)||String(n).length<=e||(t??Ol(`max`,jl(r,[String(e)]))),Bl=(e,t)=>(n,r)=>Al(n)||Number(n)>=e||(t??Ol(`min_value`,jl(r,[String(e)]))),Vl=(e,t)=>(n,r)=>Al(n)||Number(n)<=e||(t??Ol(`max_value`,jl(r,[String(e)]))),Hl=(e,t)=>(n,r)=>Al(n)?!0:(typeof e==`string`?new RegExp(e):e).test(String(n))||(t??Ol(`regex`,r)),Ul=(e,t)=>(n,r)=>Al(n)||e.includes(String(n))||(t??Ol(`in`,r)),Wl=(e,t)=>(n,r)=>!r.form||n===r.form[e]||(t??Ol(`same_as`,r)),Gl={required:()=>Ml(),nullable:()=>Nl(),email:()=>Pl(),url:()=>Fl(),numeric:()=>Il(),integer:()=>Ll(),min:([e])=>Rl(Number(e)),max:([e])=>zl(Number(e)),min_value:([e])=>Bl(Number(e)),max_value:([e])=>Vl(Number(e)),regex:([e])=>Hl(e),in:e=>Ul(e),same_as:([e])=>Wl(e)};function Kl(e){return e?(Array.isArray(e)?e:[e]).flatMap(e=>typeof e==`function`?[e]:e.split(`|`).map(e=>{let t=e.indexOf(`:`),n=t===-1?e.trim():e.slice(0,t).trim(),r=t===-1?``:e.slice(t+1),i=r?r.split(`,`):[],a=Gl[n];if(!a)throw Error(`Unknown validation rule: "${n}"`);return a(i)})):[]}function ql(e,t,n){for(let r of t){let t=r(e,n);if(t===`__uid_nullable__`)return``;if(t!==!0)return t}return``}function Jl(e,t,n){let r=I(``),i=I(!1);function a(){let i=Kl(t&&`value`in t?t.value:t),a={field:n?.name??``,label:n?.label,form:n?.form?.value};return r.value=ql(e.value,i,a),!r.value}function o(){i.value=!0,a()}function s(){r.value=``,i.value=!1}return Zn(e,()=>{i.value&&a()}),{error:r,touched:i,validate:a,onBlur:o,reset:s}}function Yl(){let e=hi();return{rootAttrs:()=>({class:e.class,style:e.style}),controlAttrs:()=>{let t={};for(let n of Object.keys(e))n!==`class`&&n!==`style`&&(t[n]=e[n]);return t}}}var Xl=[`for`],Zl={key:0,class:`uid-input-field__required`,"aria-hidden":`true`},Ql={class:`uid-input-field__control`},$l={key:0,class:`uid-input-field__prepend`},eu=[`id`,`type`,`name`,`placeholder`,`disabled`,`readonly`,`required`,`autocomplete`,`aria-invalid`,`aria-describedby`],tu={key:1,class:`uid-input-field__append`},nu=[`id`],ru=Ar({inheritAttrs:!1,__name:`UidInput`,props:vi({type:{default:`text`},placeholder:{},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{default:`md`},label:{},hint:{},error:{},required:{type:Boolean,default:!1},name:{},rules:{},id:{},autocomplete:{}},{modelValue:{default:``},modelModifiers:{}}),emits:vi([`blur`,`focus`],[`update:modelValue`]),setup(e,{expose:t,emit:n}){let{rootAttrs:r,controlAttrs:i}=Yl(),a=e,o=n,s=Ri(e,`modelValue`),c=a.id??jr(),{error:l,validate:u,onBlur:d}=Jl(s,q(()=>a.rules),{name:a.name,label:a.label}),f=q(()=>a.error||l.value),p=q(()=>!!f.value),m=q(()=>f.value||a.hint);function h(e){d(),o(`blur`,e)}return t({validate:u}),(t,n)=>(B(),V(`div`,Ja(L(r)(),{class:[`uid-input-field`,[`uid-input-field--${e.size}`,p.value&&`uid-input-field--error`,e.disabled&&`uid-input-field--disabled`,e.readonly&&`uid-input-field--readonly`]]}),[e.label?(B(),V(`label`,{key:0,for:L(c),class:`uid-input-field__label`},[G(F(e.label)+` `,1),e.required?(B(),V(`span`,Zl,`*`)):K(``,!0)],8,Xl)):K(``,!0),U(`div`,Ql,[t.$slots.prepend?(B(),V(`span`,$l,[ci(t.$slots,`prepend`)])):K(``,!0),Un(U(`input`,Ja(L(i)(),{id:L(c),"onUpdate:modelValue":n[0]||=e=>s.value=e,class:`uid-input-field__input`,type:e.type,name:e.name,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly,required:e.required,autocomplete:e.autocomplete,"aria-invalid":p.value?`true`:void 0,"aria-describedby":m.value?`${L(c)}-hint`:void 0,onBlur:h,onFocus:n[1]||=e=>o(`focus`,e)}),null,16,eu),[[nc,s.value]]),t.$slots.append?(B(),V(`span`,tu,[ci(t.$slots,`append`)])):K(``,!0)]),m.value?(B(),V(`p`,{key:1,id:`${L(c)}-hint`,class:P([`uid-input-field__hint`,p.value&&`uid-input-field__hint--error`])},F(m.value),11,nu)):K(``,!0)],16))}}),iu=[`for`],au={key:0,class:`uid-textarea-field__required`,"aria-hidden":`true`},ou=[`id`,`name`,`placeholder`,`disabled`,`readonly`,`required`,`rows`,`aria-invalid`,`aria-describedby`],su=[`id`],cu=Ar({inheritAttrs:!1,__name:`UidTextarea`,props:vi({placeholder:{default:void 0},disabled:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{default:`md`},label:{default:void 0},hint:{default:void 0},error:{default:void 0},required:{type:Boolean,default:!1},name:{default:void 0},rules:{type:[String,Function,Array],default:void 0},id:{default:void 0},rows:{default:3},autoGrow:{type:Boolean,default:!1},maxRows:{default:void 0},resize:{default:`vertical`}},{modelValue:{default:``},modelModifiers:{}}),emits:vi([`blur`,`focus`],[`update:modelValue`]),setup(e,{expose:t,emit:n}){let{rootAttrs:r,controlAttrs:i}=Yl(),a=e,o=n,s=Ri(e,`modelValue`),c=I(null),l=jr(),u=a.id??l,{error:d,validate:f,onBlur:p}=Jl(s,q(()=>a.rules),{name:a.name,label:a.label}),m=q(()=>a.error||d.value),h=q(()=>!!m.value),g=q(()=>m.value||a.hint);function _(){let e=c.value;if(!e)return;let t=getComputedStyle(e);e.style.height=`auto`;let n=e.scrollHeight;if(a.maxRows){let e=parseFloat(t.lineHeight)||parseFloat(t.fontSize)*1.5,r=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom);n=Math.min(n,e*a.maxRows+r)}e.style.height=`${n}px`}Kr(()=>{a.autoGrow&&_()}),Zn(s,async()=>{a.autoGrow&&(await kn(),_())});function v(e){p(),o(`blur`,e)}return t({validate:f}),(t,n)=>(B(),V(`div`,Ja(L(r)(),{class:[`uid-textarea-field`,[`uid-textarea-field--${e.size}`,h.value&&`uid-textarea-field--error`,e.disabled&&`uid-textarea-field--disabled`,e.readonly&&`uid-textarea-field--readonly`]]}),[e.label?(B(),V(`label`,{key:0,for:L(u),class:`uid-textarea-field__label`},[G(F(e.label)+` `,1),e.required?(B(),V(`span`,au,`*`)):K(``,!0)],8,iu)):K(``,!0),Un(U(`textarea`,Ja(L(i)(),{id:L(u),ref_key:`textareaRef`,ref:c,"onUpdate:modelValue":n[0]||=e=>s.value=e,class:`uid-textarea-field__textarea`,name:e.name,placeholder:e.placeholder,disabled:e.disabled,readonly:e.readonly,required:e.required,rows:e.rows,"aria-invalid":h.value?`true`:void 0,"aria-describedby":g.value?`${L(u)}-hint`:void 0,style:e.autoGrow?{resize:`none`,overflow:`hidden`}:{resize:e.resize},onBlur:v,onFocus:n[1]||=e=>o(`focus`,e)}),null,16,ou),[[qs,s.value]]),g.value?(B(),V(`p`,{key:1,id:`${L(u)}-hint`,class:P([`uid-textarea-field__hint`,h.value&&`uid-textarea-field__hint--error`])},F(g.value),11,su)):K(``,!0)],16))}}),lu={class:`uid-switch__label`},uu=[`id`,`name`,`checked`,`disabled`,`required`,`aria-describedby`,`aria-invalid`],du={key:0,class:`uid-switch__text`},fu={key:0,class:`uid-switch__required`,"aria-hidden":`true`},pu=Ar({inheritAttrs:!1,__name:`UidSwitch`,props:vi({label:{default:void 0},hint:{default:void 0},error:{default:void 0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},name:{default:void 0},id:{default:void 0},size:{default:`md`}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:vi([`change`],[`update:modelValue`]),setup(e,{emit:t}){let{rootAttrs:n,controlAttrs:r}=Yl(),i=e,a=t,o=Ri(e,`modelValue`),s=jr(),c=i.id??s,l=`${c}-hint`,u=q(()=>!!i.error),d=q(()=>i.error||i.hint);function f(e){let t=e.target.checked;o.value=t,a(`change`,t)}return(t,i)=>(B(),V(`div`,Ja(L(n)(),{class:[`uid-switch`,[`uid-switch--${e.size}`,u.value&&`uid-switch--error`,e.disabled&&`uid-switch--disabled`]]}),[U(`label`,lu,[U(`input`,Ja(L(r)(),{id:L(c),type:`checkbox`,role:`switch`,class:`uid-switch__input`,name:e.name,checked:o.value,disabled:e.disabled,required:e.required,"aria-describedby":d.value?l:void 0,"aria-invalid":u.value?`true`:void 0,onChange:f}),null,16,uu),i[0]||=U(`span`,{class:`uid-switch__track`,"aria-hidden":`true`},[U(`span`,{class:`uid-switch__thumb`})],-1),e.label?(B(),V(`span`,du,[G(F(e.label)+` `,1),e.required?(B(),V(`span`,fu,`*`)):K(``,!0)])):K(``,!0)]),d.value?(B(),V(`p`,{key:0,id:l,class:P([`uid-switch__hint`,u.value&&`uid-switch__hint--error`])},F(d.value),3)):K(``,!0)],16))}}),mu=[`for`],hu={key:0,class:`uid-form-field__required`,"aria-hidden":`true`},gu={class:`uid-form-field__content`},_u=[`id`],vu=Ar({__name:`UidFormField`,props:{label:{default:void 0},labelFor:{default:void 0},hint:{default:void 0},error:{default:void 0},required:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},setup(e){let t=e,n=jr(),r=q(()=>!!(t.error||t.hint)),i=q(()=>t.error||t.hint),a=q(()=>!!t.error);return(t,o)=>(B(),V(`div`,{class:P([`uid-form-field`,[a.value&&`uid-form-field--error`,e.disabled&&`uid-form-field--disabled`]])},[e.label||t.$slots.label?(B(),V(`label`,{key:0,class:`uid-form-field__label`,for:e.labelFor},[ci(t.$slots,`label`,{},()=>[G(F(e.label),1)]),e.required?(B(),V(`span`,hu,`*`)):K(``,!0)],8,mu)):K(``,!0),U(`div`,gu,[ci(t.$slots,`default`)]),r.value?(B(),V(`p`,{key:1,id:L(n),class:P([`uid-form-field__hint`,a.value&&`uid-form-field__hint--error`])},F(i.value),11,_u)):K(``,!0)],2))}}),yu=Symbol(`UidLocale`);function bu(e,t){if(typeof t!=`object`||!t)return e;let n={...e};for(let r of Object.keys(t)){let i=t[r],a=e[r];i&&typeof i==`object`&&!Array.isArray(i)&&typeof a==`object`&&a&&!Array.isArray(a)?n[r]=bu(a,i):i!==void 0&&(n[r]=i)}return n}function xu(e){let t=q(()=>{let t=e.value;return t?bu(Sl,t):Sl});Gn(yu,t),Yn(()=>El(t.value))}function Su(){return Kn(yu,null)||q(()=>Sl)}var Cu=[`aria-label`],wu=Ar({__name:`UidSpinner`,props:{size:{default:`md`},label:{default:void 0}},setup(e){let t=Su();return(n,r)=>(B(),V(`span`,{class:P([`uid-spinner`,`uid-spinner--${e.size}`]),role:`status`,"aria-label":e.label??L(t).common.loading},null,10,Cu))}}),Tu=Ar({__name:`UidBadge`,props:{variant:{default:`default`},size:{default:`md`},dot:{type:Boolean,default:!1}},setup(e){return(t,n)=>(B(),V(`span`,{class:P([`uid-badge`,[`uid-badge--${e.variant}`,`uid-badge--${e.size}`,e.dot&&`uid-badge--dot`]])},[e.dot?K(``,!0):ci(t.$slots,`default`,{key:0})],2))}}),Eu={class:`uid-alert__icon`},Du={class:`uid-alert__content`},Ou={key:0,class:`uid-alert__title`},ku={class:`uid-alert__body`},Au=[`aria-label`],ju=Ar({__name:`UidAlert`,props:{variant:{default:`info`},title:{default:void 0},dismissible:{type:Boolean,default:!1},icon:{default:void 0}},emits:[`dismiss`],setup(e,{emit:t}){let n=Su(),r=e,i=t,a={info:Kc,success:Ic,warning:pl,danger:Fc},o=q(()=>a[r.variant??`info`]);return(t,r)=>(B(),V(`div`,{class:P([`uid-alert`,`uid-alert--${e.variant}`]),role:`alert`},[U(`span`,Eu,[ci(t.$slots,`icon`,{},()=>[W(_c,{icon:e.icon??o.value,size:18},null,8,[`icon`])])]),U(`div`,Du,[e.title?(B(),V(`p`,Ou,F(e.title),1)):K(``,!0),U(`div`,ku,[ci(t.$slots,`default`)])]),e.dismissible?(B(),V(`button`,{key:0,type:`button`,class:`uid-alert__close`,"aria-label":L(n).common.close,onClick:r[0]||=e=>i(`dismiss`)},[W(_c,{icon:L(_l),size:16},null,8,[`icon`])],8,Au)):K(``,!0)],2))}}),Mu={class:`uid-toast__icon`},Nu={class:`uid-toast__content`},Pu={key:0,class:`uid-toast__title`},Fu={class:`uid-toast__message`},Iu=[`aria-label`],Lu=Ar({__name:`UidToast`,props:{id:{},message:{},variant:{default:`info`},title:{default:void 0}},emits:[`dismiss`],setup(e,{emit:t}){let n=Su(),r=e,i=t,a={info:Kc,success:Ic,warning:pl,danger:Fc},o=q(()=>a[r.variant??`info`]);return(t,r)=>(B(),V(`div`,{class:P([`uid-toast`,`uid-toast--${e.variant}`]),role:`alert`,"aria-live":`polite`,"aria-atomic":`true`},[U(`span`,Mu,[W(_c,{icon:o.value,size:18},null,8,[`icon`])]),U(`div`,Nu,[e.title?(B(),V(`p`,Pu,F(e.title),1)):K(``,!0),U(`p`,Fu,F(e.message),1)]),U(`button`,{type:`button`,class:`uid-toast__close`,"aria-label":L(n).toast.close,onClick:r[0]||=t=>i(`dismiss`,e.id)},[W(_c,{icon:L(_l),size:14},null,8,[`icon`])],8,Iu)],2))}}),Ru=I([]),zu=0;function Bu(){function e(e){let n=typeof e==`string`?{message:e}:e,r={id:++zu,variant:`info`,duration:4e3,...n};return Ru.value.push(r),r.duration>0&&setTimeout(()=>t(r.id),r.duration),r.id}function t(e){let t=Ru.value.findIndex(t=>t.id===e);t!==-1&&Ru.value.splice(t,1)}function n(){Ru.value=[]}function r(t){return e(typeof t==`string`?{message:t,variant:`success`}:{...t,variant:`success`})}function i(t){return e(typeof t==`string`?{message:t,variant:`danger`}:{...t,variant:`danger`})}function a(t){return e(typeof t==`string`?{message:t,variant:`warning`}:{...t,variant:`warning`})}function o(t){return e(typeof t==`string`?{message:t,variant:`info`}:{...t,variant:`info`})}return{toasts:Bt(Ru),add:e,dismiss:t,clear:n,success:r,error:i,warning:a,info:o}}var Vu=Ar({__name:`UidToastProvider`,setup(e){let{toasts:t,dismiss:n}=Bu();return(e,r)=>(B(),H(fr,{to:`body`},[W(js,{tag:`div`,name:`uid-toast`,class:`uid-toast-list`},{default:R(()=>[(B(!0),V(z,null,oi(L(t),e=>(B(),H(Lu,Ja({key:e.id},{ref_for:!0},e,{onDismiss:L(n)}),null,16,[`onDismiss`]))),128))]),_:1})]))}}),Hu=`a[href], button:not([disabled]), input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])`;function Uu(e){let t=I(null);function n(){return e.value?Array.from(e.value.querySelectorAll(Hu)).filter(e=>!e.closest(`[aria-hidden="true"]`)):[]}function r(e){if(e.key!==`Tab`)return;let t=n();if(!t.length){e.preventDefault();return}let r=t[0],i=t[t.length-1];e.shiftKey?document.activeElement===r&&(e.preventDefault(),i.focus()):document.activeElement===i&&(e.preventDefault(),r.focus())}function i(i){t.value=document.activeElement,document.addEventListener(`keydown`,r),(i?.value??e.value?.querySelector(`[autofocus]`)??n()[0]??e.value)?.focus()}function a(){document.removeEventListener(`keydown`,r),t.value?.focus(),t.value=null}return{activate:i,deactivate:a}}var Wu=0;function Gu(){let e=!1;function t(){if(!e&&(e=!0,Wu++,Wu===1)){let e=window.innerWidth-document.documentElement.clientWidth;document.body.style.overflow=`hidden`,e>0&&(document.body.style.paddingRight=`${e}px`)}}function n(){e&&(e=!1,Wu--,Wu===0&&(document.body.style.overflow=``,document.body.style.paddingRight=``))}return{lock:t,unlock:n}}var Ku=[];function qu(){let e=Symbol(`uid-overlay`);function t(){Ku.includes(e)||Ku.push(e)}function n(){let t=Ku.indexOf(e);t>=0&&Ku.splice(t,1)}function r(){return Ku[Ku.length-1]===e}return{push:t,pop:n,isTop:r}}var Ju=[`aria-labelledby`],Yu={class:`uid-modal__header`},Xu=[`id`],Zu=[`aria-label`],Qu={class:`uid-modal__body`},$u={key:0,class:`uid-modal__footer`},ed=Ar({__name:`UidModal`,props:vi({title:{default:void 0},size:{default:`md`},closeOnOverlay:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},hideClose:{type:Boolean,default:!1}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:vi([`close`],[`update:modelValue`]),setup(e,{emit:t}){let n=Su(),r=Ri(e,`modelValue`),i=e,a=t,o=jr(),s=I(null),{activate:c,deactivate:l}=Uu(s),u=qu(),{lock:d,unlock:f}=Gu();function p(){r.value=!1,a(`close`)}function m(){i.closeOnOverlay&&p()}Zn(r,async e=>{e?(u.push(),d(),await kn(),c(),document.addEventListener(`keydown`,h)):(u.pop(),f(),l(),document.removeEventListener(`keydown`,h))}),Yr(()=>{r.value&&(u.pop(),f(),l(),document.removeEventListener(`keydown`,h))});function h(e){e.key!==`Escape`||e.defaultPrevented||!u.isTop()||i.closeOnEsc&&(e.preventDefault(),p())}return(t,i)=>(B(),H(fr,{to:`body`},[W(Fo,{name:`uid-modal`},{default:R(()=>[r.value?(B(),V(`div`,{key:0,class:`uid-modal-overlay`,onClick:sc(m,[`self`])},[U(`div`,{ref_key:`dialogRef`,ref:s,class:P([`uid-modal`,`uid-modal--${e.size}`]),role:`dialog`,"aria-modal":`true`,"aria-labelledby":e.title?L(o):void 0,tabindex:`-1`},[U(`div`,Yu,[ci(t.$slots,`header`,{},()=>[e.title?(B(),V(`p`,{key:0,id:L(o),class:`uid-modal__title`},F(e.title),9,Xu)):K(``,!0)]),e.hideClose?K(``,!0):(B(),V(`button`,{key:0,type:`button`,class:`uid-modal__close`,"aria-label":L(n).modal.close,onClick:p},[W(_c,{icon:L(_l),size:18},null,8,[`icon`])],8,Zu))]),U(`div`,Qu,[ci(t.$slots,`default`)]),t.$slots.footer?(B(),V(`div`,$u,[ci(t.$slots,`footer`)])):K(``,!0)],10,Ju)])):K(``,!0)]),_:3})]))}}),td=[`aria-labelledby`],nd={class:`uid-drawer__header`},rd=[`id`],id=[`aria-label`],ad={class:`uid-drawer__body`},od={key:0,class:`uid-drawer__footer`},sd=Ar({__name:`UidDrawer`,props:vi({title:{default:void 0},side:{default:`right`},closeOnOverlay:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},hideClose:{type:Boolean,default:!1},width:{default:void 0},height:{default:void 0}},{modelValue:{type:Boolean,default:!1},modelModifiers:{}}),emits:vi([`close`],[`update:modelValue`]),setup(e,{emit:t}){let n=Su(),r=Ri(e,`modelValue`),i=e,a=t,o=jr(),s=I(null),{activate:c,deactivate:l}=Uu(s),u=qu(),{lock:d,unlock:f}=Gu();function p(){r.value=!1,a(`close`)}function m(){i.closeOnOverlay&&p()}function h(e){e.key!==`Escape`||e.defaultPrevented||!u.isTop()||i.closeOnEsc&&(e.preventDefault(),p())}return Zn(r,async e=>{e?(u.push(),d(),await kn(),c(),document.addEventListener(`keydown`,h)):(u.pop(),f(),l(),document.removeEventListener(`keydown`,h))}),Yr(()=>{r.value&&(u.pop(),f(),l(),document.removeEventListener(`keydown`,h))}),(t,i)=>(B(),H(fr,{to:`body`},[W(Fo,{name:`uid-drawer-${e.side}`},{default:R(()=>[r.value?(B(),V(`div`,{key:0,class:`uid-drawer-overlay`,onClick:sc(m,[`self`])},[U(`div`,{ref_key:`panelRef`,ref:s,class:P([`uid-drawer`,`uid-drawer--${e.side}`]),style:se({width:e.side===`left`||e.side===`right`?e.width:void 0,height:e.side===`top`||e.side===`bottom`?e.height:void 0}),role:`dialog`,"aria-modal":`true`,"aria-labelledby":e.title?L(o):void 0,tabindex:`-1`},[U(`div`,nd,[ci(t.$slots,`header`,{},()=>[e.title?(B(),V(`p`,{key:0,id:L(o),class:`uid-drawer__title`},F(e.title),9,rd)):K(``,!0)]),e.hideClose?K(``,!0):(B(),V(`button`,{key:0,type:`button`,class:`uid-drawer__close`,"aria-label":L(n).drawer.close,onClick:p},[W(_c,{icon:L(_l),size:18},null,8,[`icon`])],8,id))]),U(`div`,ad,[ci(t.$slots,`default`)]),t.$slots.footer?(B(),V(`div`,od,[ci(t.$slots,`footer`)])):K(``,!0)],14,td)])):K(``,!0)]),_:3},8,[`name`])]))}}),cd=8,ld=8;function ud(e,t,n={}){let r=I(0),i=I(0),a=I(en(n.placement)??`bottom`),o=q(()=>({position:`fixed`,left:`${r.value}px`,top:`${i.value}px`}));function s(){let o=e.value,s=t.value;if(!o||!s)return;let c=o.getBoundingClientRect(),l=s.getBoundingClientRect(),u=n.offset??cd,d=window.innerWidth,f=window.innerHeight,p=en(n.placement)??`bottom`;if(p.startsWith(`bottom`)){let e=f-c.bottom,t=c.top;e<l.height+u&&t>e&&(p=p.replace(`bottom`,`top`))}else if(p.startsWith(`top`)){let e=c.top,t=f-c.bottom;e<l.height+u&&t>e&&(p=p.replace(`top`,`bottom`))}a.value=p;let m=0,h=0;p.startsWith(`bottom`)?(h=c.bottom+u,m=p===`bottom`?c.left+c.width/2-l.width/2:p===`bottom-start`?c.left:c.right-l.width):p.startsWith(`top`)?(h=c.top-l.height-u,m=p===`top`?c.left+c.width/2-l.width/2:p===`top-start`?c.left:c.right-l.width):p===`left`?(m=c.left-l.width-u,h=c.top+c.height/2-l.height/2):(m=c.right+u,h=c.top+c.height/2-l.height/2),r.value=Math.max(ld,Math.min(m,d-l.width-ld)),i.value=Math.max(ld,Math.min(h,f-l.height-ld))}return{x:r,y:i,actualPlacement:a,floatingStyle:o,update:s}}var dd=[`aria-describedby`],fd=[`id`],pd=Ar({__name:`UidTooltip`,props:{content:{},placement:{default:`top`},disabled:{type:Boolean,default:!1}},setup(e){let t=e,n=jr(),r=I(null),i=I(null),a=I(!1),{floatingStyle:o,update:s}=ud(q(()=>r.value?.firstElementChild??r.value),i,{placement:q(()=>t.placement)});async function c(){t.disabled||(a.value=!0,await kn(),s())}function l(){a.value=!1}return(t,s)=>(B(),V(z,null,[U(`div`,{ref_key:`referenceRef`,ref:r,class:`uid-tooltip-anchor`,"aria-describedby":a.value?L(n):void 0,onMouseenter:c,onMouseleave:l,onFocusin:c,onFocusout:l},[ci(t.$slots,`default`)],40,dd),(B(),H(fr,{to:`body`},[W(Fo,{name:`uid-tooltip`},{default:R(()=>[a.value?(B(),V(`div`,{key:0,id:L(n),ref_key:`floatingRef`,ref:i,class:`uid-tooltip`,role:`tooltip`,style:se(L(o))},F(e.content),13,fd)):K(``,!0)]),_:1})]))],64))}}),md=Symbol(`uid-menu-close`),hd=Symbol(`uid-menu-level`),gd=`[role="menuitem"]:not([disabled]):not([aria-disabled="true"])`;function _d(e){return e?Array.from(e.querySelectorAll(gd)).filter(t=>t.parentElement?.closest(`[role="menu"]`)===e):[]}function vd(e,t){let n=_d(e);if(!n.length)return!1;let r=n.indexOf(document.activeElement),i;if(t===`ArrowDown`)i=n[(r+1)%n.length];else if(t===`ArrowUp`)i=n[(r-1+n.length)%n.length];else if(t===`Home`)i=n[0];else if(t===`End`)i=n[n.length-1];else return!1;return i?.focus(),!0}var yd=[`role`,`tabindex`,`aria-haspopup`,`aria-expanded`,`aria-controls`],bd=[`id`],xd=`button, a[href], input, select, textarea, [role="button"], [tabindex]`,Sd=Ar({__name:`UidMenu`,props:{open:{type:Boolean,default:!1},openModifiers:{}},emits:[`update:open`],setup(e,{expose:t}){let n=mi(),r=Ri(e,`open`),i=I(null),a=I(null),o=jr(),s=I(null),c=q(()=>{let e=s.value;return e?{getBoundingClientRect:()=>new DOMRect(e.x,e.y,0,0)}:null}),l=null,u=q(()=>i.value?.firstElementChild??i.value),{floatingStyle:d,update:f}=ud(q(()=>c.value??u.value),a,{placement:`bottom-start`}),p=I(!1);function m(){let e=i.value?.firstElementChild;p.value=e!=null&&e.matches(xd),p.value&&(e.setAttribute(`aria-haspopup`,`menu`),e.setAttribute(`aria-expanded`,String(r.value)),e.setAttribute(`aria-controls`,o))}Kr(m),Zn(r,m);function h(){return _d(a.value)}function g(){r.value=!1,s.value?l?.focus?.():i.value?.querySelector(`button, [tabindex]`)?.focus()}Gn(md,g);let _=I(null);Gn(hd,{activeSubmenu:_}),Zn(r,e=>{e||(_.value=null,s.value=null)});async function v(){await kn(),f(),requestAnimationFrame(()=>{f(),h()[0]?.focus()})}async function y(){s.value=null,r.value=!r.value}function b(e,t){l=document.activeElement,s.value={x:e,y:t},r.value?v():r.value=!0}Zn(r,e=>{e&&v()}),t({openAt:b,close:g,toggle:y});function x(e){e.key!==`ArrowDown`&&e.key!==`Enter`&&e.key!==` `||r.value||(e.preventDefault(),y())}function S(e){vd(a.value,e.key)?e.preventDefault():e.key===`Escape`?(e.preventDefault(),e.stopPropagation(),g()):e.key===`Tab`&&g()}function C(e){let t=e.target;a.value?.contains(t)||!s.value&&i.value?.contains(t)||(r.value=!1)}return Zn(r,e=>{e?document.addEventListener(`mousedown`,C):document.removeEventListener(`mousedown`,C)}),Xr(()=>{document.removeEventListener(`mousedown`,C)}),(e,t)=>(B(),V(z,null,[n.trigger?(B(),V(`div`,{key:0,ref_key:`triggerRef`,ref:i,class:`uid-menu-trigger`,role:p.value?void 0:`button`,tabindex:p.value?void 0:0,"aria-haspopup":p.value?void 0:`menu`,"aria-expanded":p.value?void 0:r.value,"aria-controls":p.value?void 0:L(o),onClick:y,onKeydown:x},[ci(e.$slots,`trigger`)],40,yd)):K(``,!0),(B(),H(fr,{to:`body`},[W(Fo,{name:`uid-menu`},{default:R(()=>[r.value?(B(),V(`div`,{key:0,id:L(o),ref_key:`menuRef`,ref:a,class:`uid-menu`,role:`menu`,style:se(L(d)),onKeydown:S},[ci(e.$slots,`default`)],44,bd)):K(``,!0)]),_:3})]))],64))}}),Cd=[`disabled`],wd=Ar({__name:`UidMenuItem`,props:{icon:{default:void 0},disabled:{type:Boolean,default:!1},variant:{default:`default`}},emits:[`click`],setup(e,{emit:t}){let n=e,r=t,i=Kn(md,()=>{});function a(e){n.disabled||(r(`click`,e),i())}return(t,n)=>(B(),V(`button`,{type:`button`,class:P([`uid-menu-item`,[`uid-menu-item--${e.variant}`,{"uid-menu-item--disabled":e.disabled}]]),role:`menuitem`,disabled:e.disabled,onClick:a},[e.icon?(B(),H(_c,{key:0,class:`uid-menu-item__icon`,icon:e.icon,size:16},null,8,[`icon`])):K(``,!0),ci(t.$slots,`default`)],10,Cd))}}),Td=(e,t)=>{let n=e.__vccOpts||e;for(let[e,r]of t)n[e]=r;return n},Ed={},Dd={class:`uid-menu-separator`,role:`separator`,"aria-hidden":`true`};function Od(e,t){return B(),V(`div`,Dd)}var kd=Td(Ed,[[`render`,Od]]),Ad=[`aria-expanded`,`aria-controls`,`disabled`],jd={class:`uid-submenu__label`},Md=[`aria-label`,`data-side`],Nd=100,Pd=200,Fd=8,Id=2,Ld=Ar({__name:`UidSubMenu`,props:{label:{default:``},icon:{default:void 0},disabled:{type:Boolean,default:!1}},emits:[`open`,`close`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=jr(),o=`${a}-menu`,s=I(null),c=I(null),l=I(!1),u=I(`right`),d=I({position:`fixed`,left:`0px`,top:`0px`,visibility:`hidden`}),f=Kn(hd,null),p=I(null);Gn(hd,{activeSubmenu:p});let m,h,g=``;function _(){clearTimeout(m),clearTimeout(h)}function v(){let e=s.value,t=c.value;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=window.innerWidth,a=window.innerHeight,o=n.right+Id;if(u.value=`right`,o+r.width>i-Fd){let e=n.left-Id-r.width;e>=Fd?(o=e,u.value=`left`):o=Math.max(Fd,i-Fd-r.width)}let l=parseFloat(getComputedStyle(t).paddingTop)||0,f=n.top-l;f+r.height>a-Fd&&(f=a-Fd-r.height),f=Math.max(Fd,f),d.value={position:`fixed`,left:`${o}px`,top:`${f}px`}}async function y(e=!1){r.disabled||(_(),f&&(f.activeSubmenu.value=a),l.value||(l.value=!0,i(`open`)),await kn(),v(),e&&(await kn(),_d(c.value)[0]?.focus()))}function b(e=!1){_(),l.value&&(l.value=!1,p.value=null,i(`close`)),f&&f.activeSubmenu.value===a&&(f.activeSubmenu.value=null),e&&s.value?.focus()}f&&Zn(f.activeSubmenu,e=>{e!==a&&l.value&&b()});function x(e){g=e.pointerType}function S(e){g=e.pointerType,!(e.pointerType!==`mouse`||r.disabled)&&(clearTimeout(h),!l.value&&(m=setTimeout(()=>{y()},Nd)))}function C(){clearTimeout(h)}function w(){clearTimeout(m),g===`mouse`&&l.value&&(h=setTimeout(()=>b(),Pd))}function T(){r.disabled||(l.value&&g!==`mouse`?b():y())}function ee(e){(e.key===`ArrowRight`||e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),y(!0))}function E(e){vd(c.value,e.key)?(e.preventDefault(),e.stopPropagation()):(e.key===`ArrowLeft`||e.key===`Escape`)&&(e.preventDefault(),e.stopPropagation(),b(!0))}return Xr(()=>{_(),f&&f.activeSubmenu.value===a&&(f.activeSubmenu.value=null)}),t({open:y,close:b}),(t,n)=>(B(),V(`div`,{class:`uid-submenu`,role:`none`,onMouseenter:C,onMouseleave:w},[U(`button`,{ref_key:`triggerRef`,ref:s,type:`button`,class:P([`uid-menu-item uid-submenu__trigger`,{"uid-menu-item--disabled":e.disabled,"uid-submenu__trigger--open":l.value}]),role:`menuitem`,"aria-haspopup":`menu`,"aria-expanded":l.value?`true`:`false`,"aria-controls":l.value?o:void 0,disabled:e.disabled,onPointerdown:x,onPointerenter:S,onClick:T,onKeydown:ee},[e.icon?(B(),H(_c,{key:0,class:`uid-menu-item__icon`,icon:e.icon,size:16},null,8,[`icon`])):K(``,!0),U(`span`,jd,[ci(t.$slots,`label`,{},()=>[G(F(e.label),1)])]),W(_c,{icon:L(Pc),size:16,class:`uid-submenu__chevron`},null,8,[`icon`])],42,Ad),W(Fo,{name:`uid-submenu`},{default:R(()=>[l.value?(B(),V(`div`,{key:0,id:o,ref_key:`panelRef`,ref:c,class:`uid-menu uid-submenu__panel`,role:`menu`,"aria-label":e.label||void 0,"data-side":u.value,style:se(d.value),onKeydown:E},[ci(t.$slots,`default`)],44,Md)):K(``,!0)]),_:3})],32))}}),Rd=Symbol(`uid-tabs`),zd=[`aria-orientation`],Bd={class:`uid-tabs__panels`},Vd=Ar({__name:`UidTabs`,props:vi({orientation:{default:`horizontal`}},{modelValue:{required:!0},modelModifiers:{}}),emits:[`update:modelValue`],setup(e){let t=Ri(e,`modelValue`);return Gn(Rd,{activeTab:t,setTab:e=>{t.value=e},idPrefix:jr()}),(t,n)=>(B(),V(`div`,{class:P([`uid-tabs`,`uid-tabs--${e.orientation}`])},[U(`div`,{class:`uid-tabs__list`,role:`tablist`,"aria-orientation":e.orientation},[ci(t.$slots,`list`)],8,zd),U(`div`,Bd,[ci(t.$slots,`default`)])],2))}}),Hd=[`id`,`aria-selected`,`aria-controls`,`disabled`,`tabindex`],Ud=Ar({__name:`UidTab`,props:{value:{},disabled:{type:Boolean,default:!1}},setup(e){let t=e,n=Kn(Rd),r=q(()=>n.activeTab.value===t.value),i=q(()=>`${n.idPrefix}-tab-${t.value}`),a=q(()=>`${n.idPrefix}-panel-${t.value}`);function o(){t.disabled||n.setTab(t.value)}function s(e){let t=e.currentTarget,n=t.closest(`[role="tablist"]`);if(!n)return;let r=Array.from(n.querySelectorAll(`[role="tab"]:not([disabled])`)),i=r.indexOf(t),a=n.getAttribute(`aria-orientation`)===`vertical`,o=a?`ArrowUp`:`ArrowLeft`,s=a?`ArrowDown`:`ArrowRight`;if(e.key===s){e.preventDefault();let t=r[(i+1)%r.length];t?.focus(),t?.click()}else if(e.key===o){e.preventDefault();let t=r[(i-1+r.length)%r.length];t?.focus(),t?.click()}else e.key===`Home`?(e.preventDefault(),r[0]?.focus(),r[0]?.click()):e.key===`End`&&(e.preventDefault(),r[r.length-1]?.focus(),r[r.length-1]?.click())}return(t,n)=>(B(),V(`button`,{id:i.value,type:`button`,class:P([`uid-tab`,{"uid-tab--active":r.value}]),role:`tab`,"aria-selected":r.value,"aria-controls":a.value,disabled:e.disabled||void 0,tabindex:r.value?0:-1,onClick:o,onKeydown:s},[ci(t.$slots,`default`)],42,Hd))}}),Wd=[`id`,`aria-labelledby`],Gd=Ar({__name:`UidTabPanel`,props:{value:{}},setup(e){let t=e,n=Kn(Rd),r=q(()=>n.activeTab.value===t.value),i=q(()=>`${n.idPrefix}-panel-${t.value}`),a=q(()=>`${n.idPrefix}-tab-${t.value}`);return(e,t)=>r.value?(B(),V(`div`,{key:0,id:i.value,class:`uid-tab-panel`,role:`tabpanel`,"aria-labelledby":a.value,tabindex:`0`},[ci(e.$slots,`default`)],8,Wd)):K(``,!0)}}),Kd=Symbol(`UidBreadcrumb`),qd=[`aria-label`],Jd=[`id`,`aria-label`],Yd=[`aria-disabled`,`onClick`],Xd=Ar({__name:`UidBreadcrumb`,props:{label:{default:void 0},separator:{default:`/`},nowrap:{type:Boolean,default:!1},collapse:{type:Boolean,default:!1},collapseMenu:{type:Boolean,default:!0},collapseFirst:{type:Boolean,default:!1},container:{default:null}},setup(e,{expose:t}){let n=e,r=Su(),i=I(0);Jr(()=>{i.value++});let a=I(null),o=I(null),s=I(null),c=Zt([]),l=I(!1),u=q(()=>n.nowrap||n.collapse);function d(){let e=o.value;return e?Array.from(e.children).filter(e=>e instanceof HTMLElement&&e.classList.contains(`uid-breadcrumb__item`)):[]}let f=0;async function p(){let e=++f;if(!n.collapse){c.value=[];return}if(l.value=!0,c.value.length>0&&(c.value=[]),await kn(),e!==f)return;let t=o.value,r=d(),i=t?.clientWidth??0,a=r.map(e=>e.getBoundingClientRect().width),u=a.reduce((e,t)=>e+t,0),p=r.slice(1,-1);n.collapseFirst&&r.length>1&&p.push(r[0]);let m=0;if(i>0&&u>i&&r.length>1){let e=s.value?.getBoundingClientRect().width??0;for(;m<p.length;){let t=p[m++];if(u-=a[r.indexOf(t)],u+e<=i)break}}let h=e=>r.filter(t=>p.slice(0,e).includes(t));for(c.value=h(m);t&&m>0&&m<p.length;){if(await kn(),e!==f)return;if(t.scrollWidth<=t.clientWidth+.5)break;c.value=h(++m)}l.value=!1}function m(){p()}let h=null,g=null,_=new WeakMap;function v(){let e=n.container;return e?typeof e==`string`?a.value?.closest(e)??null:e:null}function y(e){let t=!1;for(let n of e){let e=n.contentRect.width;_.get(n.target)!==e&&(_.set(n.target,e),t=!0)}t&&m()}function b(){if(x(),!n.collapse)return;let e=a.value;if(typeof ResizeObserver<`u`&&e){h=new ResizeObserver(y);let t=new Set([e]);e.parentElement&&t.add(e.parentElement);let n=v();n&&t.add(n);for(let e of t)h.observe(e)}typeof MutationObserver<`u`&&o.value&&(g=new MutationObserver(m),g.observe(o.value,{childList:!0}))}function x(){h?.disconnect(),g?.disconnect(),h=null,g=null}Kr(()=>{b(),m()}),Zn(()=>n.collapse,()=>{b(),m(),n.collapse||j()}),Zn(()=>n.container,()=>{b(),m()}),Zn(()=>n.collapseFirst,m),Yr(()=>{x(),A()});let S=I(!1),C=I(null),w=I(null),T=jr(),{floatingStyle:ee,update:E}=ud(C,w,{placement:`bottom-start`,offset:4});function te(e){return e.querySelector(`:scope > :not(.uid-breadcrumb__separator):not(.uid-breadcrumb__ellipsis)`)}let D=q(()=>c.value.map(e=>{let t=te(e),n=t&&t.matches(`a, button`)?t:null;return{el:e,label:t?.textContent?.trim()??``,target:n}}));function O(){return Array.from(w.value?.querySelectorAll(`[role="menuitem"]`)??[])}async function k(e){C.value=e,S.value=!0,await kn(),E(),O()[0]?.focus(),document.addEventListener(`pointerdown`,N),window.addEventListener(`resize`,E),window.addEventListener(`scroll`,E,!0)}function A(){document.removeEventListener(`pointerdown`,N),window.removeEventListener(`resize`,E),window.removeEventListener(`scroll`,E,!0)}function j(e=!1){S.value&&(S.value=!1,A(),e&&C.value?.focus())}function M(e){S.value?j():k(e)}function N(e){let t=e.target;w.value?.contains(t)||C.value?.contains(t)||j()}function ne(e){e.target&&(j(),e.target.click())}function re(e){let t=O(),n=t.indexOf(document.activeElement);e.key===`ArrowDown`?(e.preventDefault(),t[(n+1)%t.length]?.focus()):e.key===`ArrowUp`?(e.preventDefault(),t[(n-1+t.length)%t.length]?.focus()):e.key===`Home`?(e.preventDefault(),t[0]?.focus()):e.key===`End`?(e.preventDefault(),t[t.length-1]?.focus()):e.key===`Escape`?(e.preventDefault(),e.stopPropagation(),j(!0)):e.key===`Tab`&&j()}return Zn(c,e=>{e.length===0&&j()}),Gn(Kd,{tick:i,hidden:c,menu:cn(n,`collapseMenu`),menuId:T,menuOpen:S,toggleMenu:M}),t({recompute:p}),(t,n)=>(B(),V(`nav`,{ref_key:`navRef`,ref:a,class:P([`uid-breadcrumb`,{"uid-breadcrumb--nowrap":u.value,"uid-breadcrumb--collapse":e.collapse,"uid-breadcrumb--measuring":l.value}]),"aria-label":e.label??L(r).breadcrumb?.label},[U(`ol`,{ref_key:`listRef`,ref:o,class:`uid-breadcrumb__list`,style:se({"--uid-breadcrumb-sep":`'${e.separator}'`})},[ci(t.$slots,`default`)],4),e.collapse?(B(),V(`span`,{key:0,ref_key:`probeRef`,ref:s,class:`uid-breadcrumb__item uid-breadcrumb__probe`,style:se({"--uid-breadcrumb-sep":`'${e.separator}'`}),"aria-hidden":`true`},[n[0]||=U(`span`,{class:`uid-breadcrumb__separator`},null,-1),U(`span`,{class:P([`uid-breadcrumb__ellipsis`,{"uid-breadcrumb__ellipsis--button":e.collapseMenu}])},`…`,2)],4)):K(``,!0),e.collapse&&e.collapseMenu?(B(),H(fr,{key:1,to:`body`},[S.value?(B(),V(`div`,{key:0,id:L(T),ref_key:`menuRef`,ref:w,class:`uid-breadcrumb__menu`,role:`menu`,"aria-label":L(r).breadcrumb?.showHidden,style:se(L(ee)),onKeydown:re},[(B(!0),V(z,null,oi(D.value,(e,t)=>(B(),V(`button`,{key:t,type:`button`,role:`menuitem`,class:`uid-breadcrumb__menu-item`,tabindex:`-1`,"aria-disabled":e.target?void 0:`true`,onClick:t=>ne(e)},F(e.label),9,Yd))),128))],44,Jd)):K(``,!0)])):K(``,!0)],10,qd))}});function Zd(e){let t=to();return{routerLink:q(()=>e.to===void 0?null:t?.appContext.components.RouterLink??null),fallbackHref:q(()=>e.href??(typeof e.to==`string`?e.to:void 0))}}var Qd=[`aria-label`,`aria-expanded`,`aria-controls`],$d={key:1,class:`uid-breadcrumb__ellipsis`,"aria-hidden":`true`},ef={key:1,class:`uid-breadcrumb__current`,"aria-current":`page`},tf=[`href`],nf={key:5,class:`uid-breadcrumb__text`},rf=Ar({__name:`UidBreadcrumbItem`,props:{href:{default:void 0},to:{default:void 0},current:{type:Boolean,default:void 0}},emits:[`click`],setup(e,{emit:t}){let n=e,r=t,i=to(),a=Kn(Kd,null),o=I(null),s=I(!1);function c(){let e=o.value;s.value=!!e&&e.nextElementSibling===null}Kr(c),Jr(c),a&&Zn(a.tick,c,{flush:`post`});let l=q(()=>n.current??s.value),u=Su(),d=q(()=>!!a&&!!o.value&&a.hidden.value.includes(o.value)),f=q(()=>d.value&&a.hidden.value[0]===o.value);function p(e){a?.toggleMenu(e.currentTarget)}let{routerLink:m,fallbackHref:h}=Zd(n);function g(){return!!i?.vnode.props?.onClick}function _(e){r(`click`,e)}return(t,n)=>(B(),V(`li`,{ref_key:`itemRef`,ref:o,class:P([`uid-breadcrumb__item`,{"uid-breadcrumb__item--collapsed":d.value&&!f.value,"uid-breadcrumb__item--ellipsis":f.value}])},[n[0]||=U(`span`,{class:`uid-breadcrumb__separator`,"aria-hidden":`true`},null,-1),f.value?(B(),V(z,{key:0},[L(a)?.menu.value?(B(),V(`button`,{key:0,type:`button`,class:`uid-breadcrumb__ellipsis uid-breadcrumb__ellipsis--button`,"aria-label":L(u).breadcrumb?.showHidden,"aria-haspopup":`menu`,"aria-expanded":L(a).menuOpen.value,"aria-controls":L(a).menuOpen.value?L(a).menuId:void 0,onClick:p},` … `,8,Qd)):(B(),V(`span`,$d,`…`))],64)):K(``,!0),l.value?(B(),V(`span`,ef,[ci(t.$slots,`default`)])):L(m)?(B(),H(ri(L(m)),{key:2,class:`uid-breadcrumb__link`,to:e.to,onClick:_},{default:R(()=>[ci(t.$slots,`default`)]),_:3},8,[`to`])):L(h)?(B(),V(`a`,{key:3,class:`uid-breadcrumb__link`,href:L(h),onClick:_},[ci(t.$slots,`default`)],8,tf)):g()?(B(),V(`button`,{key:4,type:`button`,class:`uid-breadcrumb__link uid-breadcrumb__link--button`,onClick:_},[ci(t.$slots,`default`)])):(B(),V(`span`,nf,[ci(t.$slots,`default`)]))],2))}}),af=[`aria-label`],of=Ar({__name:`UidTag`,props:{variant:{default:`default`},size:{default:`md`},dismissible:{type:Boolean,default:!1}},emits:[`dismiss`],setup(e,{emit:t}){let n=Su(),r=t;return(t,i)=>(B(),V(`span`,{class:P([`uid-tag`,[`uid-tag--${e.variant}`,`uid-tag--${e.size}`]])},[ci(t.$slots,`default`),e.dismissible?(B(),V(`button`,{key:0,type:`button`,class:`uid-tag__dismiss`,"aria-label":L(n).common.clear,onClick:i[0]||=sc(e=>r(`dismiss`),[`stop`])},[W(_c,{icon:L(_l),size:10},null,8,[`icon`])],8,af)):K(``,!0)],2))}}),sf=[`aria-expanded`,`aria-controls`,`aria-disabled`],cf={key:0,class:`uid-select__tags`},lf={class:`uid-select__tag-label`},uf=[`aria-label`,`onClick`],df={key:0,class:`uid-select__tag uid-select__tag--more`},ff={class:`uid-select__suffix`},pf=[`aria-label`],mf={key:0,class:`uid-select__search`},hf=[`placeholder`],gf=[`id`,`aria-multiselectable`],_f={key:0,class:`uid-select__group-label`},vf=[`data-active`,`aria-selected`,`aria-disabled`,`onClick`,`onMouseenter`],yf={key:1,class:`uid-select__empty`},bf=Ar({__name:`UidSelect`,props:{modelValue:{default:void 0},options:{},placeholder:{},disabled:{type:Boolean,default:!1},searchable:{type:Boolean,default:!1},clearable:{type:Boolean,default:!1},size:{default:`md`},multiple:{type:Boolean,default:void 0},maxTagCount:{default:void 0}},emits:[`update:modelValue`,`change`],setup(e,{emit:t}){let n=e,r=Su(),i=q(()=>n.placeholder??r.value.select.placeholder),a=t,o=I(null),s=q(()=>n.modelValue===void 0?o.value:n.modelValue);function c(e){o.value=e,a(`update:modelValue`,e),a(`change`,e)}let l=I(!1),u=I(``),d=I(0),f=I(null),p=I(null),m=I(null),h=I(null),g=I(null),_=jr(),{floatingStyle:v,update:y}=ud(p,m,{placement:`bottom-start`,offset:4}),b=I(0);function x(){b.value=p.value?.getBoundingClientRect().width??0}let S=q(()=>({...v.value,minWidth:b.value>0?`${b.value}px`:`auto`})),C=q(()=>n.multiple?null:n.options.find(e=>e.value===s.value)??null),w=q(()=>{let e=s.value;return Array.isArray(e)?e:e===null?[]:[e]}),T=q(()=>w.value.map(e=>n.options.find(t=>t.value===e)).filter(e=>!!e)),ee=q(()=>n.maxTagCount!==void 0&&n.maxTagCount>=0?T.value.slice(0,n.maxTagCount):T.value),E=q(()=>T.value.length-ee.value.length),te=q(()=>n.multiple?w.value.length>0:s.value!==null);function D(e){return n.multiple?w.value.includes(e.value):e.value===s.value}let O=q(()=>{if(!n.searchable||!u.value.trim())return n.options;let e=u.value.toLowerCase();return n.options.filter(t=>t.label.toLowerCase().includes(e))}),k=q(()=>{let e=new Map;for(let t of O.value){let n=t.group??``;e.has(n)||e.set(n,[]),e.get(n).push(t)}return e});Zn(l,async e=>{if(e){u.value=``;let e=O.value.findIndex(e=>D(e));d.value=e>=0?e:0,x(),await kn(),y(),requestAnimationFrame(()=>y()),n.searchable&&g.value?.focus(),fe(),document.addEventListener(`pointerdown`,ae),window.addEventListener(`resize`,y),window.addEventListener(`scroll`,y,!0)}else document.removeEventListener(`pointerdown`,ae),window.removeEventListener(`resize`,y),window.removeEventListener(`scroll`,y,!0)}),Zn(u,()=>{d.value=0});function A(){n.disabled||(l.value=!0)}function j(){l.value=!1}function M(){l.value?j():A()}function N(e){c(e)}function ne(e){if(!e.disabled){if(n.multiple){let t=w.value;N(t.includes(e.value)?t.filter(t=>t!==e.value):[...t,e.value]),kn(()=>y());return}c(e.value),j(),p.value?.focus()}}function re(e,t){t?.stopPropagation(),!n.disabled&&(N(w.value.filter(t=>t!==e)),kn(()=>y()))}function ie(e){e.stopPropagation(),n.multiple?N([]):c(null)}function ae(e){let t=e.target;f.value?.contains(t)||m.value?.contains(t)||j()}function oe(e){e.key===`ArrowDown`?(e.preventDefault(),l.value?le():A()):e.key===`ArrowUp`?(e.preventDefault(),l.value&&ue()):e.key===`Enter`||e.key===` `?(e.preventDefault(),l.value?de():A()):e.key===`Escape`?(l.value&&(e.preventDefault(),e.stopPropagation()),j()):e.key===`Backspace`&&n.multiple&&w.value.length>0&&(e.preventDefault(),re(w.value[w.value.length-1]))}function ce(e){e.key===`ArrowDown`?(e.preventDefault(),le()):e.key===`ArrowUp`?(e.preventDefault(),ue()):e.key===`Enter`?(e.preventDefault(),de()):e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),j(),p.value?.focus())}function le(){d.value=Math.min(d.value+1,O.value.length-1),fe()}function ue(){d.value=Math.max(d.value-1,0),fe()}function de(){let e=O.value[d.value];e&&ne(e)}function fe(){kn(()=>{(h.value?.querySelector(`[data-active="true"]`))?.scrollIntoView?.({block:`nearest`})})}return Xr(()=>{document.removeEventListener(`pointerdown`,ae),window.removeEventListener(`resize`,y),window.removeEventListener(`scroll`,y,!0)}),(t,n)=>(B(),V(`div`,{ref_key:`containerRef`,ref:f,class:P([`uid-select`,[`uid-select--${e.size}`,{"uid-select--open":l.value,"uid-select--disabled":e.disabled,"uid-select--multiple":e.multiple}]])},[U(`div`,{ref_key:`triggerRef`,ref:p,class:`uid-select__trigger`,role:`combobox`,tabindex:`0`,"aria-expanded":l.value,"aria-haspopup":`listbox`,"aria-controls":L(_),"aria-disabled":e.disabled,onClick:M,onKeydown:oe},[e.multiple&&T.value.length>0?(B(),V(`span`,cf,[(B(!0),V(z,null,oi(ee.value,t=>(B(),V(`span`,{key:t.value,class:`uid-select__tag`},[U(`span`,lf,F(t.label),1),e.disabled?K(``,!0):(B(),V(`button`,{key:0,type:`button`,class:`uid-select__tag-remove`,tabindex:`-1`,"aria-label":L(r).tagsInput.remove(t.label),onClick:e=>re(t.value,e)},[W(_c,{icon:L(_l),size:12},null,8,[`icon`])],8,uf))]))),128)),E.value>0?(B(),V(`span`,df,`+`+F(E.value),1)):K(``,!0)])):(B(),V(`span`,{key:1,class:P([`uid-select__value`,{"uid-select__value--placeholder":!C.value}])},F(C.value?.label??i.value),3)),U(`div`,ff,[e.clearable&&te.value?(B(),V(`button`,{key:0,type:`button`,class:`uid-select__clear`,"aria-label":L(r).common.clear,onClick:ie},[W(_c,{icon:L(_l),size:12},null,8,[`icon`])],8,pf)):K(``,!0),W(_c,{icon:L(Mc),size:16,class:P([`uid-select__chevron`,{"uid-select__chevron--open":l.value}]),"aria-hidden":`true`},null,8,[`icon`,`class`])])],40,sf),(B(),H(fr,{to:`body`},[W(Fo,{name:`uid-select-dropdown`},{default:R(()=>[l.value?(B(),V(`div`,{key:0,ref_key:`dropdownRef`,ref:m,class:`uid-select__dropdown`,style:se(S.value)},[e.searchable?(B(),V(`div`,mf,[Un(U(`input`,{ref_key:`searchRef`,ref:g,"onUpdate:modelValue":n[0]||=e=>u.value=e,class:`uid-select__search-input`,type:`text`,placeholder:L(r).common.search,autocomplete:`off`,onKeydown:ce},null,40,hf),[[qs,u.value]])])):K(``,!0),U(`div`,{id:L(_),ref_key:`listRef`,ref:h,class:`uid-select__list`,role:`listbox`,"aria-multiselectable":e.multiple?`true`:void 0,onKeydown:ce},[O.value.length>0?(B(!0),V(z,{key:0},oi(k.value,([e,t])=>(B(),V(z,{key:e},[e?(B(),V(`div`,_f,F(e),1)):K(``,!0),(B(!0),V(z,null,oi(t,e=>(B(),V(`button`,{key:e.value,type:`button`,class:P([`uid-select__option`,{"uid-select__option--selected":D(e),"uid-select__option--active":O.value.indexOf(e)===d.value,"uid-select__option--disabled":e.disabled}]),"data-active":O.value.indexOf(e)===d.value?`true`:void 0,role:`option`,"aria-selected":D(e),"aria-disabled":e.disabled,onClick:t=>ne(e),onMouseenter:t=>!e.disabled&&(d.value=O.value.indexOf(e))},[U(`span`,null,F(e.label),1),D(e)?(B(),H(_c,{key:0,icon:L(jc),size:14,"aria-hidden":`true`,class:`uid-select__check`},null,8,[`icon`])):K(``,!0)],42,vf))),128))],64))),128)):(B(),V(`div`,yf,F(L(r).select.noResults),1))],40,gf)],4)):K(``,!0)]),_:1})]))],2))}}),xf=(e,t=``)=>RegExp(`\\b(?:${e.replace(/ /g,`|`)})\\b`,t),Sf=/\/\*[\s\S]*?(?:\*\/|$)/,Cf=/"(?:\\[\s\S]|[^"\\\n])*"?/,wf=/'(?:\\[\s\S]|[^'\\\n])*'?/,Tf=/\b(?:0[xob][\da-f_]+|\d[\d_]*(?:\.\d+)?(?:e[+-]?\d+)?n?)\b/i,Ef=/[A-Za-z_$][\w$]*(?=\s*\()/,Df=/[A-Za-z_$][\w$]*/,Of=/[{}()[\];,.<>=+\-*/%!&|^~?:@\\]+/;xf(`abstract as async await break case catch class const continue debugger declare default delete do else enum export extends finally for from function get if implements import in instanceof interface keyof let namespace new of private protected public readonly return set static super switch this throw try type typeof var void while with yield`),xf(`true false null undefined NaN Infinity`),xf(`abstract and array as break callable case catch class clone const continue declare default do echo else elseif empty enum extends final finally fn for foreach function global goto if implements include include_once instanceof insteadof interface isset list match namespace new or parent print private protected public readonly require require_once return self static switch throw trait try unset use var while xor yield`,`i`),xf(`true false null`,`i`),xf(`true false null`),xf(`add all alter and as asc begin between by case cast check commit constraint create cross database default delete desc distinct drop else end exists foreign from full grant group having if in index inner insert into is join key left like limit not offset on or order outer over partition primary references replace returning revoke right rollback select set table then transaction truncate union unique update using values view when where with`,`i`),xf(`true false null`,`i`),xf(`alias break case cd continue declare do done echo elif else esac eval exec exit export fi for function if in local read readonly return select set shift source then trap unset until while`),xf(`and as assert async await break class continue def del elif else except finally for from global if import in is lambda nonlocal not or pass raise return try while with yield match case`),xf(`True False None`),xf(`break case chan const continue default defer else fallthrough for func go goto if import interface map package range return select struct switch type var`),xf(`true false nil iota`);var kf=(e,t,n=[])=>({main:[[`comment`,/\/\/.*/],[`comment`,Sf],...n,[`string`,/"""[\s\S]*?(?:"""|$)/],[`string`,Cf],[`string`,wf],[`attr`,/@\w+/],[`number`,Tf],[`keyword`,xf(e)],[`literal`,xf(t)],[`function`,Ef],[`plain`,Df],[`punctuation`,Of]]});kf(`abstract assert break case catch class const continue default do else enum extends final finally for goto if implements import instanceof interface native new package private protected public record return static strictfp super switch synchronized this throw throws transient try var void volatile while yield`,`true false null`),kf(`abstract as async await base break case catch checked class const continue default delegate do else enum event explicit extern finally fixed for foreach goto if implicit in interface internal is lock namespace new operator out override params private protected public readonly record ref return sealed sizeof stackalloc static struct switch this throw try typeof unchecked unsafe using var virtual void volatile while`,`true false null`,[[`string`,/[$@]+"(?:""|\\[\s\S]|[^"\\])*"?/]]),kf(`as break by catch class companion constructor continue data do else enum finally for fun get if import in init interface internal is lateinit object open override package private protected public return sealed set super suspend this throw try typealias typeof val var when while`,`true false null`),kf(`as associatedtype async await break case catch class continue default defer deinit do else enum extension fallthrough fileprivate for func guard if import in init inout internal is let open operator private protocol public repeat rethrows return self Self static struct subscript super switch throw throws try typealias var where while`,`true false nil`),xf(`begin break catch class continue data do dynamicparam else elseif end exit filter finally for foreach from function if in param process return switch throw trap try until using while`,`i`),Promise.resolve();var Af=Symbol(`UidDescriptionList`),jf={key:0,class:`uid-description-list__title`},Mf=Ar({__name:`UidDescriptionList`,props:{title:{},direction:{default:`horizontal`},columns:{default:1},bordered:{type:Boolean,default:!1},size:{default:`md`},labelWidth:{default:void 0}},setup(e){let t=e;Gn(Af,{direction:q(()=>t.direction),bordered:q(()=>t.bordered)});let n=q(()=>({"--uid-desc-cols":t.columns,...t.labelWidth?{"--uid-desc-label-width":t.labelWidth}:{}}));return(t,r)=>(B(),V(`div`,{class:P([`uid-description-list`,[`uid-description-list--${e.direction}`,`uid-description-list--${e.size}`,e.bordered&&`uid-description-list--bordered`]])},[e.title||t.$slots.title?(B(),V(`h3`,jf,[ci(t.$slots,`title`,{},()=>[G(F(e.title),1)])])):K(``,!0),U(`dl`,{class:`uid-description-list__grid`,style:se(n.value)},[ci(t.$slots,`default`)],4)],2))}}),Nf={class:`uid-description-item__label`},Pf={class:`uid-description-item__value`},Ff=[`aria-label`],If=Ar({__name:`UidDescriptionItem`,props:{label:{},span:{default:1},copyable:{type:Boolean,default:!1},copyValue:{}},setup(e){let t=Su(),n=e;Kn(Af,null);let r=I(null),i=I(!1),a=q(()=>({"--uid-desc-span":n.span}));async function o(){let e=n.copyValue??r.value?.querySelector(`.uid-description-item__value`)?.textContent?.trim()??``;if(e&&navigator?.clipboard)try{await navigator.clipboard.writeText(e),i.value=!0,setTimeout(()=>{i.value=!1},1500)}catch{}}return(n,s)=>(B(),V(`div`,{ref_key:`itemRef`,ref:r,class:`uid-description-item`,style:se(a.value)},[U(`dt`,Nf,[ci(n.$slots,`label`,{},()=>[G(F(e.label),1)])]),U(`dd`,Pf,[ci(n.$slots,`default`),e.copyable?(B(),V(`button`,{key:0,type:`button`,class:P([`uid-description-item__copy`,{"uid-description-item__copy--copied":i.value}]),"aria-label":i.value?L(t).copy.copied:L(t).copy.copy,onClick:o},[W(_c,{icon:i.value?L(jc):L(Vc),size:12},null,8,[`icon`])],10,Ff)):K(``,!0)])],4))}}),Lf=Ar({__name:`UidLocaleProvider`,props:{locale:{}},setup(e){let t=e;return xu(q(()=>t.locale)),(e,t)=>ci(e.$slots,`default`)}}),Rf={code:`ru-RU`,common:{clear:`Очистить`,close:`Закрыть`,search:`Поиск...`,confirm:`Подтвердить`,cancel:`Отмена`,loading:`Загрузка...`,noResults:`Ничего не найдено`},copy:{copy:`Копировать`,copied:`Скопировано`},select:{placeholder:`Выберите...`,noResults:`Ничего не найдено`},combobox:{placeholder:`Начните вводить...`,noResults:`Ничего не найдено`,create:e=>`+ Создать «${e}»`},datePicker:{placeholder:`Выберите дату`,months:[`Январь`,`Февраль`,`Март`,`Апрель`,`Май`,`Июнь`,`Июль`,`Август`,`Сентябрь`,`Октябрь`,`Ноябрь`,`Декабрь`],weekdaysShort:[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Вс`],prevMonth:`Предыдущий месяц`,nextMonth:`Следующий месяц`,dialog:`Выбор даты`},dateRangePicker:{placeholder:`Выберите диапазон`,presetLast:e=>`${e} дней`,startTime:`Время начала`,endTime:`Время окончания`,dialog:`Выбор диапазона дат`},timePicker:{placeholder:`Выберите время`,now:`Сейчас`,confirm:`Выбрать`,dialog:`Выбор времени`,hours:`Часы`,minutes:`Минуты`,seconds:`Секунды`},colorPicker:{placeholder:`Выберите цвет`,dialog:`Выбор цвета`,saturation:`Насыщенность и яркость`,hue:`Оттенок`,alpha:`Прозрачность`,input:`HEX, rgb() или hsl()`},numberInput:{increment:e=>`Увеличить на ${e}`,decrement:e=>`Уменьшить на ${e}`},tagsInput:{remove:e=>`Удалить ${e}`},treeView:{expand:`Развернуть`,collapse:`Свернуть`},treeSelect:{placeholder:`Выберите...`,removeTag:e=>`Удалить ${e}`},fileUpload:{primaryText:`Перетащите файлы или нажмите для выбора`,secondaryText:`Поддерживаются изображения, документы`,remove:e=>`Удалить ${e}`},backTop:{label:`Наверх`},tour:{next:`Далее`,prev:`Назад`,finish:`Готово`,skip:`Пропустить`},rating:{label:(e,t)=>`Оценка ${e} из ${t}`,star:e=>`${e} ${e%10==1&&e%100!=11?`звезда`:e%10>=2&&e%10<=4&&(e%100<10||e%100>=20)?`звезды`:`звёзд`}`},mention:{noResults:`Никого не найдено`},modal:{close:`Закрыть`},drawer:{close:`Закрыть`},toast:{close:`Закрыть`},image:{preview:`Открыть просмотр`,error:`Не удалось загрузить изображение`},media:{play:`Воспроизвести`,pause:`Пауза`,replay:`Воспроизвести снова`,mute:`Выключить звук`,unmute:`Включить звук`,volume:`Громкость`,seek:`Перемотка`,timeOf:(e,t)=>`${e} из ${t}`,speed:`Скорость`,normalSpeed:`Обычная`,quality:`Качество`,audioTrack:`Аудиодорожка`,auto:`Авто`,captions:`Субтитры`,captionsOff:`Выкл.`,settings:`Настройки`,fullscreen:`Во весь экран`,exitFullscreen:`Выйти из полноэкранного режима`,pip:`Картинка в картинке`,exitPip:`Выйти из режима «картинка в картинке»`,live:`Эфир`,goLive:`Перейти к эфиру`,next:`Следующий трек`,prev:`Предыдущий трек`,playlist:`Плейлист`,forward:e=>`Вперёд на ${e} с`,backward:e=>`Назад на ${e} с`,chapter:`Глава`,loading:`Загрузка…`,retry:`Повторить`,errors:{aborted:`Воспроизведение прервано.`,network:`Не удалось загрузить медиафайл: ошибка сети.`,decode:`Файл повреждён или закодирован неподдерживаемым способом.`,unsupported:`Этот формат не поддерживается браузером.`,mse:`Браузер не умеет воспроизводить потоковое видео (HLS).`,manifest:`Не удалось прочитать плейлист потока.`,encrypted:`Такие зашифрованные потоки не поддерживаются.`,codec:`Поток закодирован кодеком, который браузер не воспроизводит.`,unknown:`Не удалось воспроизвести медиафайл.`}},breadcrumb:{showHidden:`Показать скрытые разделы`,label:`Навигация`},pagination:{first:`Первая страница`,prev:`Предыдущая страница`,next:`Следующая страница`,last:`Последняя страница`,page:e=>`Страница ${e}`,pageSize:e=>`${e} на странице`,label:`Пагинация`,cursorNav:`Навигация по страницам`,back:`Назад`,forward:`Вперёд`,loadMore:`Показать ещё`,rowsPerPage:`Строк на странице:`},sidebar:{label:`Боковая навигация`,nav:`Навигация`},header:{nav:`Основная навигация`},pageHeader:{back:`Назад`},emptyState:{title:`Ничего не найдено`},errorState:{title:`Что-то пошло не так`,notFoundTitle:`Страница не найдена`,notFoundDescription:`Запрашиваемая страница не существует или была перемещена.`,serverTitle:`Ошибка сервера`,serverDescription:`На сервере произошла ошибка. Мы уже работаем над исправлением.`,offlineTitle:`Нет соединения`,offlineDescription:`Проверьте подключение к интернету и попробуйте снова.`},wizard:{step:e=>`Шаг ${e}`},calendar:{today:`Сегодня`},carousel:{prev:`Предыдущий`,next:`Следующий`,position:(e,t)=>`${e} из ${t}`,slide:e=>`Слайд ${e}`},stepper:{label:(e,t)=>`Шаги (текущий: ${e} из ${t})`},transfer:{available:`Доступно`,selected:`Выбрано`,moveRight:`Перенести вправо`,moveLeft:`Перенести влево`},sparkline:{summary:(e,t,n)=>`Тренд: с ${e} до ${t}, ${n} точек`},table:{empty:`Нет данных`,selectAll:`Выделить всё`,row:e=>`Строка ${e}`},avatarGroup:{more:e=>`Ещё ${e}`},command:{placeholder:`Поиск команд...`,empty:`Ничего не найдено`,label:`Палитра команд`},anchor:{label:`Содержание`},markdown:{toc:`На этой странице`,note:`Примечание`,tip:`Совет`,important:`Важно`,warning:`Внимание`,caution:`Осторожно`,blockPending:`Отрисовка…`,blockError:`Не удалось отрисовать блок`},heatmap:{summary:e=>`Тепловая карта активности: ${e} событий`,less:`Меньше`,more:`Больше`,matrixSummary:(e,t)=>`Тепловая карта: ${e} строк × ${t} столбцов`,noData:`Нет данных`},validation:{value:`значение`,required:e=>`Поле «${e}» обязательно`,email:`Введите корректный email`,url:`Введите корректный URL`,numeric:`Введите число`,integer:`Введите целое число`,min:e=>`Минимум ${e} символов`,max:e=>`Максимум ${e} символов`,minValue:e=>`Значение не менее ${e}`,maxValue:e=>`Значение не более ${e}`,regex:`Неверный формат`,in:`Выберите допустимое значение`,sameAs:`Значения не совпадают`,unknown:e=>`Ошибка валидации: ${e}`}},zf=1;function Bf(e){return e.enabled!==!1}var Vf=class extends Error{pointer;name=`GraphError`;constructor(e,t=``){super(t?`${e} (at ${t})`:e),this.pointer=t}},Hf=e=>typeof e==`object`&&!!e&&!Array.isArray(e);function Uf(e,t,n,r=!1){let i=e[t];if(i==null){if(r)throw new Vf(`"${t}" is required`,`${n}/${t}`)}else{if(typeof i==`number`)return String(i);if(typeof i!=`string`)throw new Vf(`"${t}" must be a string`,`${n}/${t}`);return i}}function Wf(e,t,n){let r=e[t];if(r!=null){if(typeof r!=`boolean`)throw new Vf(`"${t}" must be true or false`,`${n}/${t}`);return r}}function Gf(e,t){if(e!=null){if(!Hf(e)||typeof e.x!=`number`||typeof e.y!=`number`||!Number.isFinite(e.x)||!Number.isFinite(e.y))throw new Vf(`"position" must be { x: number, y: number }`,t);return{x:e.x,y:e.y}}}var Kf=new Set([`top`,`right`,`bottom`,`left`]);function qf(e,t){if(e!=null){if(!Array.isArray(e))throw new Vf(`"ports" must be an array`,t);return e.map((e,n)=>{let r=`${t}/${n}`;if(!Hf(e))throw new Vf(`A port must be an object`,r);let i=Uf(e,`side`,r,!0);if(!Kf.has(i))throw new Vf(`"side" must be one of top, right, bottom, left`,`${r}/side`);let a={id:Uf(e,`id`,r,!0),side:i};typeof e.offset==`number`&&(a.offset=Math.min(1,Math.max(0,e.offset))),(e.kind===`in`||e.kind===`out`||e.kind===`both`)&&(a.kind=e.kind);let o=Uf(e,`label`,r);return o!==void 0&&(a.label=o),a})}}function Jf(e,t){if(e!=null){if(!Hf(e))throw new Vf(`"data" must be an object`,t);return e}}function Yf(e,t){if(!Hf(e))throw new Vf(`A node must be an object`,t);let n={id:Uf(e,`id`,t,!0),type:Uf(e,`type`,t)??`state`},r=Uf(e,`label`,t);r!==void 0&&(n.label=r);let i=Uf(e,`description`,t);i!==void 0&&(n.description=i);let a=Gf(e.position,`${t}/position`);a&&(n.position=a);let o=Uf(e,`group`,t);o!==void 0&&(n.group=o);let s=Jf(e.data,`${t}/data`);s&&(n.data=s);let c=Wf(e,`enabled`,t);c!==void 0&&(n.enabled=c),e.subgraph!==void 0&&e.subgraph!==null&&(n.subgraph=typeof e.subgraph==`string`?e.subgraph:Qf(e.subgraph,`${t}/subgraph`));let l=qf(e.ports,`${t}/ports`);return l&&(n.ports=l),n}function Xf(e,t){if(!Hf(e))throw new Vf(`An edge must be an object`,t);let n={id:Uf(e,`id`,t,!0),from:Uf(e,`from`,t,!0),to:Uf(e,`to`,t,!0)};for(let r of[`fromPort`,`toPort`,`label`,`condition`]){let i=Uf(e,r,t);i!==void 0&&(n[r]=i)}let r=Wf(e,`enabled`,t);r!==void 0&&(n.enabled=r),(e.kind===`association`||e.kind===`transition`)&&(n.kind=e.kind);let i=Jf(e.data,`${t}/data`);return i&&(n.data=i),n}function Zf(e,t){if(!Hf(e))throw new Vf(`A group must be an object`,t);let n={id:Uf(e,`id`,t,!0)},r=Uf(e,`label`,t);r!==void 0&&(n.label=r);let i=Uf(e,`parent`,t);return i!==void 0&&(n.parent=i),n}function Qf(e,t=``){let n=e;if(typeof n==`string`)try{n=JSON.parse(n)}catch(e){throw new Vf(`Not valid JSON: ${e.message}`,t)}if(!Hf(n))throw new Vf(`A graph must be an object`,t);let r=n.version??1;if(r!==1)throw new Vf(`Unsupported model version ${String(r)}; this package reads version 1`,`${t}/version`);if(!Array.isArray(n.nodes))throw new Vf(`"nodes" must be an array`,`${t}/nodes`);let i=n.edges??[];if(!Array.isArray(i))throw new Vf(`"edges" must be an array`,`${t}/edges`);let a={version:1,nodes:n.nodes.map((e,n)=>Yf(e,`${t}/nodes/${n}`)),edges:i.map((e,n)=>Xf(e,`${t}/edges/${n}`))};if(n.groups!==void 0&&n.groups!==null){if(!Array.isArray(n.groups))throw new Vf(`"groups" must be an array`,`${t}/groups`);a.groups=n.groups.map((e,n)=>Zf(e,`${t}/groups/${n}`))}if(Hf(n.meta)){let e={...n.meta};e.direction!==void 0&&e.direction!==`TB`&&e.direction!==`LR`&&delete e.direction,a.meta=e}return a}function $f(e){return JSON.stringify(e,null,2)}function ep(e){return e?{version:1,nodes:[],edges:[],meta:e}:{version:1,nodes:[],edges:[]}}var tp=Object.freeze({start:{title:`Start`,shape:`circle`,size:{width:40,height:40},icon:`play`,labelOutside:!0,noIncoming:!0},end:{title:`End`,shape:`ring`,size:{width:40,height:40},icon:`stop`,labelOutside:!0,noOutgoing:!0},state:{title:`State`,shape:`rounded`,minWidth:160,maxWidth:240,height:44},task:{title:`Task`,shape:`rect`,minWidth:176,maxWidth:260,height:60,icon:`task`},decision:{title:`Decision`,shape:`diamond`,minWidth:124,maxWidth:200,height:80,icon:`decision`},subprocess:{title:`Sub-process`,shape:`rect`,minWidth:192,maxWidth:260,height:64,icon:`subprocess`,drillable:!0},note:{title:`Note`,shape:`note`,minWidth:140,maxWidth:240,height:48,annotation:!0}});function np(e={}){return new Map(Object.entries({...tp,...e}))}var rp=np();function ip(e,t){return e.get(t)??e.get(`state`)??tp.state}function ap(e,t){return t.ports??ip(e,t.type).ports??[]}function op(e,t){return ip(e,t.type).locked===!0}function sp(e,t={}){let n=t.registry??rp,r=[],i=(e,t,n,i,a)=>r.push(i&&a!==void 0?{severity:e,code:t,message:n,target:{kind:i,id:a}}:{severity:e,code:t,message:n}),a=new Map,o=(e,t)=>{a.has(t)?i(`error`,`duplicate-id`,`The id "${t}" is used more than once`,e,t):a.set(t,e)},s=new Map(e.nodes.map(e=>[e.id,e])),c=new Map((e.groups??[]).map(e=>[e.id,e]));for(let t of e.nodes)o(`node`,t.id);for(let t of e.edges)o(`edge`,t.id);for(let t of e.groups??[])o(`group`,t.id);for(let t of e.groups??[]){t.parent!==void 0&&!c.has(t.parent)&&i(`error`,`unknown-group`,`Group "${t.id}" is inside an unknown group "${t.parent}"`,`group`,t.id);let e=t.parent,n=0;for(;e!==void 0&&c.has(e);){if(e===t.id||++n>c.size){i(`error`,`group-cycle`,`Group "${t.id}" contains itself`,`group`,t.id);break}e=c.get(e).parent}}for(let t of e.nodes){n.has(t.type)||i(`warning`,`unknown-type`,`Node "${t.id}" has an unknown type "${t.type}"; it is drawn as a state`,`node`,t.id),t.group!==void 0&&!c.has(t.group)&&i(`error`,`unknown-group`,`Node "${t.id}" is in an unknown group "${t.group}"`,`node`,t.id);let e=ip(n,t.type);e.labelOutside||e.annotation||(t.label??``).trim()||t.type===`decision`||i(`warning`,`empty-label`,`Node "${t.id}" has no label`,`node`,t.id)}let l=e.edges.filter(e=>e.kind!==`association`);for(let t of e.edges)for(let e of[`from`,`to`]){let r=t[e],a=s.get(r);if(!a){i(`error`,`unknown-node`,`Edge "${t.id}" ${e===`from`?`starts at`:`ends at`} an unknown node "${r}"`,`edge`,t.id);continue}let o=e===`from`?t.fromPort:t.toPort;if(o!==void 0){let s=ap(n,a).find(e=>e.id===o);s?(e===`from`&&s.kind===`in`||e===`to`&&s.kind===`out`)&&i(`error`,`unknown-port`,`Port "${o}" of "${r}" does not take ${e===`from`?`outgoing`:`incoming`} edges`,`edge`,t.id):i(`error`,`unknown-port`,`Edge "${t.id}" uses an unknown port "${o}" of "${r}"`,`edge`,t.id)}}let u=e.nodes.filter(e=>!ip(n,e.type).annotation),d=u.filter(e=>ip(n,e.type).noIncoming),f=u.filter(e=>ip(n,e.type).noOutgoing);(t.requireStartEnd??!0)&&u.length>0&&(d.length===0&&i(`warning`,`missing-start`,`The process has no start node`),f.length===0&&i(`warning`,`missing-end`,`The process has no end node`));for(let e of l){let t=s.get(e.to),r=s.get(e.from);t&&ip(n,t.type).noIncoming&&i(`warning`,`start-incoming`,`Edge "${e.id}" leads into the start node "${t.id}"`,`edge`,e.id),r&&ip(n,r.type).noOutgoing&&i(`warning`,`end-outgoing`,`Edge "${e.id}" leaves the end node "${r.id}"`,`edge`,e.id)}if(d.length>0){let e=new Map;for(let t of l){if(!s.has(t.from)||!s.has(t.to))continue;let n=e.get(t.from)??[];n.push(t.to),e.set(t.from,n)}let t=new Set,n=d.map(e=>e.id);for(let e of n)t.add(e);for(;n.length;){let r=n.shift();for(let i of e.get(r)??[])t.has(i)||(t.add(i),n.push(i))}for(let e of u)t.has(e.id)||i(`warning`,`unreachable`,`Node "${e.id}" cannot be reached from the start`,`node`,e.id)}let p=new Set(l.filter(e=>s.has(e.to)).map(e=>e.from));for(let e of u)ip(n,e.type).noOutgoing||p.has(e.id)||i(`warning`,`dead-end`,`Node "${e.id}" has no outgoing transition`,`node`,e.id);return r.sort((e,t)=>e.severity===t.severity?0:e.severity===`error`?-1:1)}function cp(e){let t=new Map;for(let n of e){if(!n.target)continue;let e=t.get(n.target.id)??[];e.push(n),t.set(n.target.id,e)}return t}var lp=class extends Error{line;column;hint;name=`DiagramError`;constructor(e,t=0,n=0,r){super(t>0?`${e} (line ${t}${n>0?`, column ${n}`:``})`:e),this.line=t,this.column=n,this.hint=r}};function up(e,t,n){return new lp(`The graph has ${t} ${e}; the limit is ${n}.`,0,0,`Split it into sub-processes.`)}var dp=class{nodes=new Map;edges=[];outMap=new Map;inMap=new Map;addNode(e){let t={...e,rank:0,order:0,x:0,y:0};return this.nodes.set(t.id,t),this.outMap.set(t.id,[]),this.inMap.set(t.id,[]),t}node(e){let t=this.nodes.get(e);if(!t)throw Error(`Unknown node ${e}`);return t}addEdge(e){return this.edges.push(e),this.outMap.get(e.v).push(e),this.inMap.get(e.w).push(e),e}removeEdge(e){let t=t=>{let n=t.indexOf(e);n>=0&&t.splice(n,1)};t(this.edges),t(this.outMap.get(e.v)),t(this.inMap.get(e.w))}out(e){return this.outMap.get(e)??[]}in(e){return this.inMap.get(e)??[]}reindex(){for(let e of this.nodes.keys())this.outMap.set(e,[]),this.inMap.set(e,[]);for(let e of this.edges)this.outMap.get(e.v).push(e),this.inMap.get(e.w).push(e)}};function fp(e,t){let n=[],r=e;for(;r;)n.unshift(r),r=t.get(r)??null;return n}function pp(e){let t=[];for(let n of e.nodes.values())(t[n.rank]??=[]).push(n);for(let e=0;e<t.length;e++)t[e]??=[];return t}function mp(e,t){let n=new Set,r=t.map(()=>0),i=[...e.nodes.values()].sort((e,t)=>e.rank-t.rank);for(let t of i){if(n.has(t.id))continue;let i=[t];for(;i.length>0;){let t=i.pop();if(n.has(t.id))continue;n.add(t.id),t.order=r[t.rank]++;let a=e.out(t.id).map(t=>e.node(t.w));for(let e=a.length-1;e>=0;e--)n.has(a[e].id)||i.push(a[e])}}for(let e of t)e.sort((e,t)=>e.order-t.order)}function hp(e,t,n,r,i=!1){let a={cluster:null,nodes:[],children:new Map,items:[]};for(let t of e){let e=a;for(let r of fp(t.cluster,n)){let t=e.children.get(r);t||(t={cluster:r,nodes:[],children:new Map,items:[]},e.children.set(r,t),e.items.push(r)),e=t}e.nodes.push(t),e.items.push(t)}let o=new Map,s=e=>{let n=o.get(e);if(n!==void 0)return n;let r=0,i=0,a=e=>{for(let n of e.nodes)r+=t.get(n.id),i++;for(let t of e.children.values())a(t)};a(e);let s=i>0?r/i:0;return o.set(e,s),s},c=e=>{let n=e.items.map((n,r)=>({item:n,index:r,k:typeof n==`string`?s(e.children.get(n)):t.get(n.id)}));n.sort((e,t)=>e.k-t.k||(i?t.index-e.index:e.index-t.index));let a=n.flatMap((e,t)=>typeof e.item==`string`?[t]:[]),o=a.map(e=>n[e].item).sort((e,t)=>(r.get(e)??0)-(r.get(t)??0));a.forEach((e,t)=>{n[e].item=o[t]});let l=[];for(let t of n)typeof t.item==`string`?l.push(...c(e.children.get(t.item))):l.push(t.item);return l};return c(a)}function gp(e,t,n){let r=new Map(n.map((e,t)=>[e.id,t])),i=[];t.forEach((t,n)=>{for(let a of e.out(t.id)){let e=r.get(a.w);e!==void 0&&i.push({u:n,l:e,w:a.weight||1})}}),i.sort((e,t)=>e.u-t.u||e.l-t.l);let a=1;for(;a<n.length;)a<<=1;let o=Array(2*a-1).fill(0);--a;let s=0;for(let e of i){let t=e.l+a;o[t]+=e.w;let n=0;for(;t>0;)t%2&&(n+=o[t+1]),t=t-1>>1,o[t]+=e.w;s+=e.w*n}return s}function _p(e,t,n,r){let i=e=>{let t=new Map;return e.forEach((e,n)=>{for(let i of fp(e.cluster,r)){let e=t.get(i);e?e.to=n:t.set(i,{from:n,to:n})}}),t},a=i(t),o=i(n);if(a.size===0||o.size===0)return 0;let s=new Map(n.map((e,t)=>[e.id,t])),c=0;return t.forEach((t,n)=>{for(let r of e.out(t.id)){let e=s.get(r.w);if(e!==void 0)for(let[t,r]of a){let i=o.get(t);i&&(n<r.from&&e>i.to||n>r.to&&e<i.from)&&(c+=2)}}}),c}function vp(e,t,n=new Map){let r=0;for(let i=0;i+1<t.length;i++)r+=gp(e,t[i],t[i+1]),n.size>0&&(r+=_p(e,t[i],t[i+1],n));return r}function yp(e,t){let n=new Map,r=new Map;for(let i of e)i.forEach((e,a)=>{let o=i.length>1?a/(i.length-1):.5;for(let i of fp(e.cluster,t))n.set(i,(n.get(i)??0)+o),r.set(i,(r.get(i)??0)+1)});let i=new Map;for(let[e,t]of n)i.set(e,t/r.get(e));return i}function bp(e,t){let n=(e,t)=>{let n=0;for(let r of e)for(let e of t)r.order>e.order&&(n+=r.w*e.w);return n},r=t=>({up:e.in(t.id).map(t=>({order:e.node(t.v).order,w:t.weight||1})),down:e.out(t.id).map(t=>({order:e.node(t.w).order,w:t.weight||1}))}),i=(e,t)=>n(e.up,t.up)+n(e.down,t.down);for(let e=0;e<8;e++){let e=!1;for(let n of t)if(!(n.length<2)){for(let t=0;t+1<n.length;t++){let a=n[t],o=n[t+1];if(a.cluster!==o.cluster)continue;let s=r(a),c=r(o);i(c,s)<i(s,c)&&(n[t]=o,n[t+1]=a,e=!0)}n.forEach((e,t)=>e.order=t)}if(!e)break}}function xp(e,t,n=24,r=!1){let i=pp(e);mp(e,i);let a=yp(i,t);for(let e=0;e<i.length;e++){let n=new Map(i[e].map((e,t)=>[e.id,t]));i[e]=hp(i[e],n,t,a)}let o=e=>e.forEach(e=>e.forEach((e,t)=>e.order=t));o(i),r&&bp(e,i);let s=i.map(e=>e.slice()),c=vp(e,i,t),l=0;for(let o=0;o<n&&c>0&&l<4;o++){let n=o%2==0,u=r&&o%4>=2,d=n?Array.from({length:i.length-1},(e,t)=>t+1):Array.from({length:i.length-1},(e,t)=>i.length-2-t),f=n?0:i.length-1,p=new Map(i[f].map((e,t)=>[e.id,t]));i[f]=hp(i[f],p,t,a),i[f].forEach((e,t)=>e.order=t);for(let r of d){let o=i[r],s=new Map;for(let t of o){let r=n?e.in(t.id).map(t=>({order:e.node(t.v).order,w:t.weight||1})):e.out(t.id).map(t=>({order:e.node(t.w).order,w:t.weight||1}));if(r.length===0)s.set(t.id,t.order);else{let e=0,n=0;for(let t of r)e+=t.order*t.w,n+=t.w;s.set(t.id,e/n)}}i[r]=hp(o,s,t,a,u),i[r].forEach((e,t)=>e.order=t)}r&&bp(e,i),a=yp(i,t);let m=vp(e,i,t);m<c?(c=m,s=i.map(e=>e.slice()),l=0):l++}return o(s),s}function Sp(e){return e.dummy===`edge`||e.dummy===`label`||e.dummy===`spine`}function Cp(e,t,n){let r=Sp(e)&&Sp(t)?n.edgeSep:Sp(e)||Sp(t)?(n.nodeSep+n.edgeSep)/2:n.nodeSep;return e.width/2+r+t.width/2}function wp(e,t){let n=0;e.forEach((r,i)=>{n=i===0?r.width/2:n+Cp(e[i-1],r,t),r.x=n})}function Tp(e){let t=e.slice().sort((e,t)=>e-t),n=t.length>>1;return t.length%2?t[n]:(t[n-1]+t[n])/2}function Ep(e,t,n,r){let i=Array(e.length).fill(!1),a=e.map((e,t)=>t).sort((t,r)=>n.get(e[r].id)-n.get(e[t].id)||t-r);for(let n of a){let a=e[n],o=t.get(a.id);if(o===void 0)i[n]=!0;else{if(o>a.x){let t=1/0,s=0;for(let a=n+1;a<e.length;a++)if(s+=Cp(e[a-1],e[a],r),i[a]){t=e[a].x-s;break}let c=Math.min(o,t);if(c>a.x){a.x=c;for(let t=n+1;t<e.length;t++){let n=e[t-1].x+Cp(e[t-1],e[t],r);if(e[t].x>=n)break;e[t].x=n}}}else if(o<a.x){let t=-1/0,s=0;for(let a=n-1;a>=0;a--)if(s+=Cp(e[a],e[a+1],r),i[a]){t=e[a].x+s;break}let c=Math.max(o,t);if(c<a.x){a.x=c;for(let t=n-1;t>=0;t--){let n=e[t+1].x-Cp(e[t],e[t+1],r);if(e[t].x<=n)break;e[t].x=n}}}i[n]=!0}}}function Dp(e,t,n,r=4){for(let e of t)wp(e,n);let i=r=>{let i=r?Array.from({length:t.length-1},(e,t)=>t+1):Array.from({length:t.length-1},(e,n)=>t.length-2-n);for(let a of i){let i=t[a],o=new Map,s=new Map;for(let t of i){let n=r?e.in(t.id).map(t=>e.node(t.v)):e.out(t.id).map(t=>e.node(t.w));n.length>0&&o.set(t.id,Tp(n.map(e=>e.x)));let i=Sp(t)&&n.some(Sp)?1e6:n.length;s.set(t.id,i)}Ep(i,o,s,n)}};for(let e=0;e<r;e++)i(!0),i(!1);for(let r=0;r<t.length;r++){let i=t[r],a=new Map,o=new Map;for(let t of i){let n=[...e.in(t.id).map(t=>e.node(t.v)),...e.out(t.id).map(t=>e.node(t.w))];n.length>0&&a.set(t.id,Tp(n.map(e=>e.x))),o.set(t.id,Sp(t)?1e6:n.length)}Ep(i,a,o,n)}}function Op(e,t,n,r){Dp(e,t,r),Mp(e,t,n,r);let i=1/0;for(let t of e.nodes.values())i=Math.min(i,t.x-t.width/2);if(Number.isFinite(i))for(let t of e.nodes.values())t.x-=i;let a=0;t.forEach((e,t)=>{let n=0;for(let t of e)n=Math.max(n,t.height);t>0&&(a+=r.rankSep/2);for(let t of e)t.y=a+n/2;a+=n})}function kp(e,t){let n=new Map;for(let r of e.nodes.values()){let e=r.cluster;for(;;){let i=n.get(e)??[];if(i.push(r),n.set(e,i),e===null)break;e=t.get(e)??null}}return n}function Ap(e){let t=new Map;for(let[n,r]of e){let e=t.get(r)??[];e.push(n),t.set(r,e)}return t}function jp(e,t,n,r){let i=Ap(t),a=new Map;for(let t of e.nodes.values()){if(t.cluster===null)continue;let e=a.get(t.cluster)??[];e.push(t),a.set(t.cluster,e)}let o=new Map,s=e=>{let t=o.get(e);if(t)return t;let c=1/0,l=-1/0;for(let t of a.get(e)??[])c=Math.min(c,t.x-t.width/2),l=Math.max(l,t.x+t.width/2);for(let t of i.get(e)??[]){let e=s(t);c=Math.min(c,e.left),l=Math.max(l,e.right)}Number.isFinite(c)||(c=0,l=0);let u={left:c-n-(r?.get(e)??0),right:l+n};return o.set(e,u),u};for(let e of t.keys())s(e);return o}function Mp(e,t,n,r){if(n.size===0)return;let i=Ap(n),a=kp(e,n),o=(e,t)=>{let r=e.cluster,i=null;for(;r!==t;){if(r===null)return null;i=r,r=n.get(r)??null}return i??e.id},s=c=>{for(let e of i.get(c)??[])s(e);let l=jp(e,n,r.clusterPadding,r.frameLeft),u=new Map;for(let e of a.get(c)??[]){let t=o(e,c);if(!(t===null||u.has(t))){if(t===e.id)u.set(t,{cluster:!1,left:e.x-e.width/2,right:e.x+e.width/2,dummy:Sp(e)});else{let e=l.get(t);u.set(t,{cluster:!0,left:e.left,right:e.right,dummy:!1})}}}let d=new Map,f=new Map([...u.keys()].map(e=>[e,0]));for(let e of t){let t=null;for(let n of e){let e=o(n,c);if(e!==null&&e!==t){if(t!==null){let n=u.get(t),i=u.get(e),a=n.dummy&&i.dummy?r.edgeSep:n.dummy||i.dummy?(r.nodeSep+r.edgeSep)/2:r.nodeSep,o=d.get(t)??new Map;o.has(e)||f.set(e,f.get(e)+1),o.set(e,Math.max(o.get(e)??-1/0,n.right-n.left+a)),d.set(t,o)}t=e}}}let p=new Map([...u].map(([e,t])=>[e,t.left])),m=[...u.keys()].filter(e=>f.get(e)===0);for(;m.length>0;){let e=m.shift();for(let[t,n]of d.get(e)??[])p.set(t,Math.max(p.get(t),p.get(e)+n)),f.set(t,f.get(t)-1),f.get(t)===0&&m.push(t)}for(let[t,n]of u){let r=p.get(t)-n.left;if(r!==0){if(n.cluster)for(let e of a.get(t)??[])e.x+=r;else e.node(t).x+=r}}};s(null)}function Np(e){let t=new Map,n=[];for(let r of e.nodes.keys()){if(t.get(r))continue;let i=[{id:r,i:0}];for(t.set(r,1);i.length>0;){let r=i[i.length-1],a=e.out(r.id);if(r.i<a.length){let e=a[r.i++],o=t.get(e.w)??0;o===1?n.push(e):o===0&&(t.set(e.w,1),i.push({id:e.w,i:0}))}else t.set(r.id,2),i.pop()}}for(let e of n){let t=e.v;e.v=e.w,e.w=t,e.reversed=!e.reversed}n.length>0&&e.reindex()}function Pp(e,t){let n=new Set(t),r=new Map;for(let t of e.edges){if(!n.has(t.v)||t.v===t.w)continue;let e=`${t.v}\u0000${t.w}`,i=r.get(e);i?(i.weight+=t.weight,i.minlen=Math.max(i.minlen,t.minlen)):r.set(e,{v:t.v,w:t.w,minlen:t.minlen,weight:t.weight})}return{nodes:[...t],edges:[...r.values()]}}function Fp(e){let t=new Set,n=[];for(let r of e.nodes.keys()){if(t.has(r))continue;let i=[],a=[r];for(t.add(r);a.length>0;){let n=a.shift();i.push(n);for(let r of[...e.out(n),...e.in(n)]){let e=r.v===n?r.w:r.v;t.has(e)||(t.add(e),a.push(e))}}n.push(i)}return n}function Ip(e,t){let n=new Map(t.map(t=>[t,e.in(t).length])),r=t.filter(e=>n.get(e)===0);for(;r.length>0;){let t=r.shift(),i=e.in(t),a=e.out(t);if(i.length>0&&i.reduce((e,t)=>e+t.weight,0)>=a.reduce((e,t)=>e+t.weight,0)){let n=-1/0;for(let t of i)n=Math.max(n,e.node(t.v).rank+t.minlen);let r=e.node(t);n<r.rank&&(r.rank=n)}for(let e of a)n.set(e.w,n.get(e.w)-1),n.get(e.w)===0&&r.push(e.w)}}function Lp(e,t=2e3){for(let n of Fp(e)){let{nodes:r,edges:i}=Pp(e,n),a=Rp(r,i,t),o=1/0;for(let e of a.values())o=Math.min(o,e);for(let[t,n]of a)e.node(t).rank=n-o;Ip(e,n);let s=1/0;for(let t of n)s=Math.min(s,e.node(t).rank);for(let t of n)e.node(t).rank-=s}}function Rp(e,t,n){let r=new Map,i=new Map;for(let t of e)r.set(t,[]),i.set(t,[]);for(let e of t)r.get(e.v).push(e),i.get(e.w).push(e);let a=(e,t)=>`${e}\u0000${t}`,o=new Map(t.map(e=>[a(e.v,e.w),e])),s=(e,t)=>o.get(a(e,t)),c=new Map,l=e=>{let t=[{id:e,i:0}],n=new Set([e]);for(;t.length>0;){let e=t[t.length-1],i=r.get(e.id);if(e.i<i.length){let r=i[e.i++];!c.has(r.w)&&!n.has(r.w)&&(n.add(r.w),t.push({id:r.w,i:0}))}else{let n=1/0;for(let e of i)n=Math.min(n,c.get(e.w)-e.minlen);c.set(e.id,n===1/0?0:n),t.pop()}}};for(let t of e)c.has(t)||l(t);if(e.length<=1||t.length===0)return c;let u=e=>c.get(e.w)-c.get(e.v)-e.minlen,d=new Map,f=(e,t)=>{d.get(e).add(t),d.get(t).add(e)},p=()=>{let e=[...d.keys()];for(;e.length>0;){let t=e.pop();for(let n of[...r.get(t),...i.get(t)]){let r=n.v===t?n.w:n.v;!d.has(r)&&u(n)===0&&(d.set(r,new Set),f(t,r),e.push(r))}}return d.size};for(d.set(e[0],new Set);p()<e.length;){let e=null,n=1/0;for(let r of t)if(d.has(r.v)!==d.has(r.w)){let t=u(r);t<n&&(n=t,e=r)}if(!e)break;let r=d.has(e.v)?n:-n;for(let e of d.keys())c.set(e,c.get(e)+r)}let m=e[0],h=new Map,g=new Map,_=new Map,v=new Map,y=(e,t)=>e<t?a(e,t):a(t,e),b=()=>{h.clear(),g.clear(),_.clear();let e=1,t=[];_.set(m,void 0),t.push({id:m,it:d.get(m).values(),low:e});let n=new Set([m]);for(;t.length>0;){let r=t[t.length-1],i=r.it.next();if(i.done)h.set(r.id,r.low),g.set(r.id,e++),t.pop();else{let a=i.value;n.has(a)||(n.add(a),_.set(a,r.id),t.push({id:a,it:d.get(a).values(),low:e}))}}},x=()=>[...g.entries()].sort((e,t)=>e[1]-t[1]).map(([e])=>e),S=e=>{let t=_.get(e),n=!0,a=s(e,t);a||=(n=!1,s(t,e));let o=a.weight;for(let a of[...r.get(e),...i.get(e)]){let r=a.v===e,i=r?a.w:a.v;if(i===t)continue;let s=r===n;if(o+=s?a.weight:-a.weight,d.get(e).has(i)){let t=v.get(y(e,i))??0;o+=s?-t:t}}return o},C=()=>{v.clear();for(let e of x()){let t=_.get(e);t!==void 0&&v.set(y(e,t),S(e))}},w=()=>{let e=[...g.entries()].sort((e,t)=>t[1]-e[1]).map(([e])=>e);for(let t of e){let e=_.get(t);if(e===void 0)continue;let n=s(t,e);n?c.set(t,c.get(e)-n.minlen):c.set(t,c.get(e)+s(e,t).minlen)}},T=(e,t)=>h.get(t)<=g.get(e)&&g.get(e)<=g.get(t);b(),C();for(let e=0;e<n;e++){let e=null;for(let[t,n]of _)if(n!==void 0&&(v.get(y(t,n))??0)<0){e=s(t,n)?{v:t,w:n}:{v:n,w:t};break}if(!e)break;let n=e.v,r=!1;g.get(e.v)>g.get(e.w)&&(n=e.w,r=!0);let i=null,a=1/0;for(let e of t)if(r===T(e.v,n)&&r!==T(e.w,n)){let t=u(e);t<a&&(a=t,i=e)}if(!i)break;d.get(e.v).delete(e.w),d.get(e.w).delete(e.v),f(i.v,i.w),b(),C(),w()}return c}var zp=500,Bp=2e3,Vp=22;function Hp(e){let t=e.direction??`TB`,n=t===`LR`||t===`RL`,r={nodeSep:e.nodeSep??50,rankSep:e.rankSep??50,edgeSep:e.edgeSep??20,clusterPadding:e.clusterPadding??12};if(e.nodes.length>500)throw up(`nodes`,e.nodes.length,500);if(e.edges.length>2e3)throw up(`edges`,e.edges.length,Bp);let i=(e,t)=>n?{width:t,height:e}:{width:e,height:t},a=new dp,o=new Map((e.clusters??[]).map(e=>[e.id,e])),s=new Map;for(let e of o.values()){if(e.parent!==void 0&&!o.has(e.parent))throw new lp(`Cluster "${e.id}" is inside an unknown cluster "${e.parent}"`);s.set(e.id,e.parent??null)}for(let e of o.keys()){let t=s.get(e)??null,n=0;for(;t!==null;){if(t===e||++n>o.size)throw new lp(`Cluster "${e}" contains itself`);t=s.get(t)??null}}let c=e.edges.filter(e=>e.from===e.to&&!o.has(e.from)),l=new Map;for(let e of c){let t=e.label?(n?e.label.height:e.label.width)+6:0;l.set(e.from,Math.max(l.get(e.from)??0,Vp+t))}for(let t of e.nodes){if(a.nodes.has(t.id))continue;let e=i(t.width,t.height),n=l.get(t.id)??0;if(t.cluster!==void 0&&!o.has(t.cluster))throw new lp(`Node "${t.id}" is inside an unknown cluster "${t.cluster}"`);a.addNode({id:t.id,width:e.width+n*2,height:e.height,cluster:t.cluster??null})}let u=e=>`\u0000top:${e}`,d=e=>`\u0000bottom:${e}`,f=new Map,p=new Map;r.frameLeft=p;for(let e of o.values()){let i=e.label??{width:0,height:0},o=i.height>0?i.height+6:0;f.set(e.id,o),n&&p.set(e.id,o);let s=t===`TB`?`top`:t===`BT`?`bottom`:null;a.addNode({id:u(e.id),width:s===`top`?i.width+2*r.clusterPadding:0,height:s===`top`?o:0,cluster:e.id,dummy:`border-top`}),a.addNode({id:d(e.id),width:s===`bottom`?i.width+2*r.clusterPadding:0,height:s===`bottom`?o:0,cluster:e.id,dummy:`border-bottom`})}let m=0,h=(e,t)=>a.addEdge({id:`\u0000s${m++}`,v:e,w:t,minlen:1,weight:1,original:``,reversed:!1,structural:!0});for(let e of o.keys()){let t=[...a.nodes.values()].filter(t=>t.cluster===e&&!t.dummy),n=[...o.values()].filter(t=>(t.parent??null)===e);for(let n of t)h(u(e),n.id),h(n.id,d(e));for(let t of n)h(u(e),u(t.id)),h(d(t.id),d(e));t.length===0&&n.length===0&&h(u(e),d(e))}let g=t=>{let n=[];for(let r of e.nodes)r.cluster===t&&n.push(r.id);for(let e of o.values())(e.parent??null)===t&&n.push(...g(e.id));return n},_=(e,t)=>{if(o.has(e)){let n=g(e);return n.length===0?t?d(e):u(e):t?n[n.length-1]:n[0]}if(!a.nodes.has(e))throw new lp(`Edge refers to an unknown node "${e}"`);return e},v=new Map;for(let t of e.edges){if(t.from===t.to&&!o.has(t.from))continue;let e=_(t.from,!0),n=_(t.to,!1);e!==n&&(t.label&&v.set(t.id,i(t.label.width,t.label.height)),a.addEdge({id:t.id,v:e,w:n,minlen:Math.max(1,t.minlen??1)*2,weight:t.weight??1,original:t.id,reversed:!1}))}Np(a),Lp(a),Jp(a,o.keys(),u,d);for(let e of a.edges.slice())e.structural&&a.node(e.w).rank-a.node(e.v).rank!==1&&a.removeEdge(e);let y=new Map,b=0,x=e=>{let t=a.node(e);return t.dummy===`border-top`||t.dummy===`border-bottom`?s.get(t.cluster)??null:t.cluster};for(let e of a.edges.slice()){if(e.structural)continue;let t=a.node(e.v),n=a.node(e.w),r=qp(x(t.id),x(n.id),s),i=[t.id],o=n.rank-t.rank,c=v.get(e.original),l=t.rank+Math.floor(o/2);a.removeEdge(e);let u=t.id;for(let o=t.rank+1;o<n.rank;o++){let t=!!c&&o===l,n=a.addNode({id:`\u0000d${b++}`,width:t?c.width:0,height:t?c.height:0,cluster:r,dummy:t?`label`:`edge`,edge:e.original});n.rank=o,a.addEdge({id:`${e.id}#${o}`,v:u,w:n.id,minlen:1,weight:e.weight,original:e.original,reversed:e.reversed}),i.push(n.id),u=n.id}a.addEdge({id:`${e.id}#end`,v:u,w:n.id,minlen:1,weight:e.weight,original:e.original,reversed:e.reversed}),i.push(n.id),y.set(e.original,e.reversed?i.reverse():i)}Yp(a,o.keys(),s,u,d),Op(a,xp(a,s,24,e.transpose??!1),s,r);let S=jp(a,s,r.clusterPadding,r.frameLeft),C=new Map,w=new Map;for(let e of a.nodes.values()){let t=e.cluster;for(;t!==null;){let n=w.get(t)??[];n.push(e),w.set(t,n),t=s.get(t)??null}}let T=e=>{let t=0,n=s.get(e)??null;for(;n!==null;)t++,n=s.get(n)??null;return t},ee=[...o.keys()].sort((e,t)=>T(t)-T(e)),E=new Map;for(let e of ee){let n=1/0,i=-1/0;for(let t of w.get(e)??[])n=Math.min(n,t.y-t.height/2),i=Math.max(i,t.y+t.height/2);for(let t of o.values()){if((t.parent??null)!==e)continue;let r=E.get(t.id);r&&(n=Math.min(n,r.top),i=Math.max(i,r.bottom))}let a=r.clusterPadding;E.set(e,{top:n-(t===`TB`?0:a),bottom:i+(t===`BT`?0:a)})}for(let e of o.keys()){let t=S.get(e),n=E.get(e),r=t.left;C.set(e,{x:(r+t.right)/2,y:(n.top+n.bottom)/2,width:t.right-r,height:n.bottom-n.top})}let te=0,D=0,O=0,k=0;for(let e of a.nodes.values())te=Math.max(te,e.x+e.width/2),D=Math.max(D,e.y+e.height/2);for(let e of C.values())O=Math.min(O,e.x-e.width/2),k=Math.min(k,e.y-e.height/2),te=Math.max(te,e.x+e.width/2),D=Math.max(D,e.y+e.height/2);let A=te-O,j=D-k,M=e=>{let n=e.x-O,r=e.y-k;switch(t){case`BT`:return{x:n,y:j-r};case`LR`:return{x:r,y:n};case`RL`:return{x:j-r,y:n};default:return{x:n,y:r}}},N=e=>{let t=M(e);return n?{x:t.x,y:t.y,width:e.height,height:e.width}:{...t,width:e.width,height:e.height}},ne=new Map;for(let t of e.nodes){let e=M(a.node(t.id));ne.set(t.id,{x:e.x,y:e.y,width:t.width,height:t.height})}let re=new Map;for(let[e,t]of C)re.set(e,N(t));let ie=new Map;for(let n of e.edges){if(n.from===n.to&&!o.has(n.from)){ie.set(n.id,Xp(ne.get(n.from),t,n.label));continue}let e=y.get(n.id);if(!e){ie.set(n.id,{points:[]});continue}let r=e.slice(1,-1).map(e=>a.node(e)),i={points:r.map(e=>M(e))},s=r.find(e=>e.dummy===`label`);s&&(i.label=M(s)),(o.has(n.from)||o.has(n.to))&&Gp(i,M(a.node(e[0])),M(a.node(e[e.length-1])),{from:o.has(n.from)?re.get(n.from):void 0,to:o.has(n.to)?re.get(n.to):void 0}),ie.set(n.id,i)}return{width:n?j:A,height:n?A:j,nodes:ne,clusters:re,edges:ie}}function Up(e,t){return Math.abs(t.x-e.x)<=e.width/2&&Math.abs(t.y-e.y)<=e.height/2}function Wp(e,t,n){let r=0,i=1;for(let a=0;a<30;a++){let a=(r+i)/2;Up(e,{x:t.x+(n.x-t.x)*a,y:t.y+(n.y-t.y)*a})?i=a:r=a}return{x:t.x+(n.x-t.x)*i,y:t.y+(n.y-t.y)*i}}function Gp(e,t,n,r){let i=[t,...e.points,n];if(r.to&&!Up(r.to,t)){for(let e=1;e<i.length;e++)if(Up(r.to,i[e])){let t=Wp(r.to,i[e-1],i[e]);i=[...i.slice(0,e),t];break}e.end=i[i.length-1]}if(r.from&&!Up(r.from,i[i.length-1])){for(let e=i.length-2;e>=0;e--)if(Up(r.from,i[e])){i=[Wp(r.from,i[e+1],i[e]),...i.slice(e+1)];break}e.start=i[0]}e.points=i.slice(1,-1)}function Kp(e){let t=e.clusters??[];if(t.length===0)return Hp(e);let n=new Map(t.map(e=>[e.id,e.parent??null])),r=(e,r)=>{let i=e??null,a=0;for(;i!==null&&a++<=t.length;){if(i===r)return!0;i=n.get(i)??null}return!1},i=new Map(e.nodes.map(e=>[e.id,e.cluster??null])),a=e=>n.has(e)?{cluster:e,isCluster:!0}:{cluster:i.get(e)??null,isCluster:!1},o=t=>{for(let n of e.edges){let e=a(n.from),i=a(n.to),o=e.isCluster?r(e.cluster,t)&&e.cluster!==t:r(e.cluster,t);if(o!==(i.isCluster?r(i.cluster,t)&&i.cluster!==t:r(i.cluster,t))){let n=o?i:e;if(!(n.isCluster&&n.cluster===t))return!1}}return!0},s=t.filter(e=>o(e.id)&&!t.some(t=>t.id!==e.id&&r(e.id,t.id)&&o(t.id)));if(s.length===0)return Hp(e);let c=e.clusterPadding??12,l=e.direction??`TB`,u=new Map,d=new Set,f=new Set,p=new Set;for(let n of s){let i={...e,direction:n.direction??l,nodes:e.nodes.filter(e=>r(e.cluster,n.id)).map(e=>({...e,cluster:e.cluster===n.id?void 0:e.cluster})),clusters:t.filter(e=>e.id!==n.id&&r(e.id,n.id)).map(e=>({...e,parent:e.parent===n.id?void 0:e.parent})),edges:e.edges.filter(e=>{let t=a(e.from),i=a(e.to),o=r(t.cluster,n.id)&&!(t.isCluster&&t.cluster===n.id),s=r(i.cluster,n.id)&&!(i.isCluster&&i.cluster===n.id);return o&&s})};for(let e of i.nodes)d.add(e.id);for(let e of i.clusters??[])f.add(e.id);f.add(n.id);for(let e of i.edges)p.add(e.id);let o=Kp(i),s=n.label&&n.label.height>0?n.label.height+6:0,m=Math.max(o.width,n.label?.width??0)+c*2,h=o.height+c*2+s;u.set(n.id,{result:o,title:s,width:m,height:h})}let m=Kp({...e,nodes:[...e.nodes.filter(e=>!d.has(e.id)),...s.map(e=>({id:e.id,width:u.get(e.id).width,height:u.get(e.id).height,cluster:e.parent}))],clusters:t.filter(e=>!f.has(e.id)),edges:e.edges.filter(e=>!p.has(e.id))});for(let e of s){let t=m.nodes.get(e.id);m.nodes.delete(e.id),m.clusters.set(e.id,t);let{result:n,title:r}=u.get(e.id),i=t.x-t.width/2+(t.width-n.width)/2,a=t.y-t.height/2+c+r,o=e=>({x:e.x+i,y:e.y+a});for(let[e,t]of n.nodes)m.nodes.set(e,{...t,...o(t)});for(let[e,t]of n.clusters)m.clusters.set(e,{...t,...o(t)});for(let[e,t]of n.edges)m.edges.set(e,{...t,points:t.points.map(o),label:t.label&&o(t.label),start:t.start&&o(t.start),end:t.end&&o(t.end)})}return m}function qp(e,t,n){let r=e=>{let t=[];for(;e!==null;)t.push(e),e=n.get(e)??null;return t},i=new Set(r(e));for(let e of r(t))if(i.has(e))return e;return null}function Jp(e,t,n,r){let i=[...t];for(let t=0;t<i.length+1;t++){let t=!1;for(let a of i){let i=e.node(n(a)),o=e.node(r(a)),s=e.out(i.id).map(t=>e.node(t.w).rank),c=e.in(o.id).map(t=>e.node(t.v).rank),l=e.in(i.id).map(t=>e.node(t.v).rank+t.minlen),u=e.out(o.id).map(t=>e.node(t.w).rank-t.minlen);if(s.length>0){let e=Math.min(...s)-1,n=l.length>0?Math.max(...l):-1/0,r=Math.max(e,n);r!==i.rank&&r<=Math.min(...s)-1&&(i.rank=r,t=!0)}if(c.length>0){let e=Math.max(...c)+1,n=u.length>0?Math.min(...u):1/0,r=Math.min(e,n);r!==o.rank&&r>=Math.max(...c)+1&&(o.rank=r,t=!0)}}if(!t)break}}function Yp(e,t,n,r,i){let a=new Map;for(let t of e.nodes.values()){let e=t.cluster;for(;e!==null;){let r=a.get(e);r||a.set(e,r=new Set),r.add(t.rank),e=n.get(e)??null}}let o=0;for(let s of t){let t=e.node(r(s)).rank,c=e.node(i(s)).rank,l=a.get(s)??new Set;for(let r=t+1;r<c;r++){if(l.has(r))continue;let t=e.addNode({id:`\u0000spine${o++}`,width:0,height:0,cluster:s,dummy:`spine`});t.rank=r;let i=s;for(;i!==null;){let e=a.get(i);e||a.set(i,e=new Set),e.add(r),i=n.get(i)??null}}}}function Xp(e,t,n){let r=t===`LR`||t===`RL`,i=Vp;if(!r){let t=e.x+e.width/2,r=e.y-e.height/4,a=e.y+e.height/4;return{selfLoop:!0,points:[{x:t,y:r},{x:t+i,y:r-4},{x:t+i,y:a+4},{x:t,y:a}],label:n?{x:t+i+4+n.width/2,y:e.y}:void 0}}let a=e.y+e.height/2,o=e.x-e.width/4,s=e.x+e.width/4;return{selfLoop:!0,points:[{x:o,y:a},{x:o-4,y:a+i},{x:s+4,y:a+i},{x:s,y:a}],label:n?{x:e.x,y:a+i+4+n.height/2}:void 0}}var Zp=new Set([...`il.,:;'|!()[]{}ftjrI1 `]),Qp=new Set([...`mwMW@%ЖШЩЮжшщю—`]);function $p(e){if(Zp.has(e))return e===` `?.28:.3;if(Qp.has(e))return .88;let t=e.codePointAt(0);return t>=11904?1:e>=`0`&&e<=`9`?.57:e===e.toLowerCase()?t>=1024&&t<=1279?.58:.54:.68}var em=(e,t)=>{let n=0;for(let t of e)n+=$p(t);return n*t.size*((t.weight??400)>=600?1.06:1)};function tm(e,t,n,r,i=2){let a=e.trim().split(/\s+/).filter(Boolean);if(a.length===0)return[];let o=[],s=``,c=0;for(;c<a.length;c++){let e=a[c],l=s?`${s} ${e}`:e;if(r(l,n)<=t)s=l;else{if(s&&(o.push(s),o.length===i))break;s=r(e,n)<=t?e:nm(e,t,n,r)}}if(o.length<i&&s&&(o.push(s),c=a.length),c<a.length){let e=o[o.length-1];o[o.length-1]=nm(`${e}…`,t,n,r,!0)}return o}function nm(e,t,n,r,i=!1){let a=i?e.slice(0,-1):e;for(;a.length>1&&r(`${a}…`,n)>t;)a=a.slice(0,-1);return r(e,n)<=t&&!i?e:`${a.trimEnd()}…`}var rm={top:{x:0,y:-1},right:{x:1,y:0},bottom:{x:0,y:1},left:{x:-1,y:0}};function im(e){return rm[e]}function am(e,t,n=.5){let r=e.x-e.width/2,i=e.y-e.height/2;switch(t){case`top`:return{x:r+e.width*n,y:i};case`bottom`:return{x:r+e.width*n,y:i+e.height};case`left`:return{x:r,y:i+e.height*n};default:return{x:r+e.width,y:i+e.height*n}}}function om(e,t,n){let r=t.x-e.x,i=t.y-e.y,a=Math.abs(r)/Math.max(1,e.width/2),o=Math.abs(i)/Math.max(1,e.height/2),s=.6;return(n===`vertical`?o>=a*s:o>a/s)?i<0?`top`:`bottom`:r<0?`left`:`right`}function sm(e){return e===`rect`||e===`rounded`||e===`note`||e===`pill`}var cm=18,lm=e=>(Math.round(e*10)/10).toString(),um=e=>`${lm(e.x)} ${lm(e.y)}`,dm=(e,t,n=1)=>({x:e.x+t.x*n,y:e.y+t.y*n}),fm=(e,t)=>Math.hypot(t.x-e.x,t.y-e.y);function pm(e){return e.routing===`orthogonal`?gm(e):mm(e)}function mm({from:e,to:t,waypoints:n=[]}){let r=rm[e.side],i=rm[t.side],a=e.point,o=t.point;if(n.length===0){let e=Math.max(28,Math.min(120,fm(a,o)*.45)),t=dm(a,r,e),n=dm(o,i,e);return{d:`M ${um(a)} C ${um(t)} ${um(n)} ${um(o)}`,points:[a,t,n,o]}}let s=[a,...n,o];return{d:hm(s),points:s}}function hm(e){let t=[];for(let n of e){let e=t[t.length-1];(!e||fm(e,n)>.5)&&t.push(n)}if(t.length===0)return``;if(t.length===2)return`M ${um(t[0])} L ${um(t[1])}`;let n=``,r=0,i=0,a=0,o=0,s=(e,t)=>{n+=` C ${lm((2*r+a)/3)} ${lm((2*i+o)/3)} ${lm((r+2*a)/3)} ${lm((i+2*o)/3)} ${lm((r+4*a+e)/6)} ${lm((i+4*o+t)/6)}`},c=0;for(let e of t)c===0?(c=1,n=`M ${um(e)}`):c===1?c=2:(c===2&&(c=3,n+=` L ${lm((5*r+a)/6)} ${lm((5*i+o)/6)}`),s(e.x,e.y)),r=a,a=e.x,i=o,o=e.y;return c===3&&s(a,o),n+=` L ${um({x:a,y:o})}`,n}function gm({from:e,to:t,waypoints:n=[],radius:r=8}){let i=e.point,a=t.point,o=dm(i,rm[e.side],cm),s=dm(a,rm[t.side],cm),c=e.side===`top`||e.side===`bottom`,l=[o,...n,s],u=[i,o],d=c;for(let e=1;e<l.length;e++){let n=u[u.length-1],r=l[e],i=e===l.length-1;if(i||(Math.abs(n.y-r.y)<3?r={x:r.x,y:n.y}:Math.abs(n.x-r.x)<3&&(r={x:n.x,y:r.y})),Math.abs(n.x-r.x)<.5||Math.abs(n.y-r.y)<.5){u.push(r),d=Math.abs(n.x-r.x)<.5;continue}let a=t.side===`top`||t.side===`bottom`;if(i&&d!==a)u.push(d?{x:n.x,y:r.y}:{x:r.x,y:n.y});else if(d){let e=(n.y+r.y)/2;u.push({x:n.x,y:e},{x:r.x,y:e})}else{let e=(n.x+r.x)/2;u.push({x:e,y:n.y},{x:e,y:r.y})}u.push(r)}u.push(a);let f=_m(u);return{d:vm(f,r),points:f}}function _m(e){let t=[];for(let n of e){let e=t[t.length-1];if(e&&Math.abs(e.x-n.x)<.5&&Math.abs(e.y-n.y)<.5)continue;let r=t[t.length-2];r&&e&&(Math.abs(r.x-e.x)<.5&&Math.abs(e.x-n.x)<.5||Math.abs(r.y-e.y)<.5&&Math.abs(e.y-n.y)<.5)&&t.pop(),t.push(n)}return t}function vm(e,t){let n=`M ${um(e[0])}`;for(let r=1;r<e.length-1;r++){let i=e[r-1],a=e[r],o=e[r+1],s=Math.min(t,fm(i,a)/2,fm(a,o)/2),c=dm(a,{x:Math.sign(i.x-a.x),y:Math.sign(i.y-a.y)},s),l=dm(a,{x:Math.sign(o.x-a.x),y:Math.sign(o.y-a.y)},s);n+=` L ${um(c)} Q ${um(a)} ${um(l)}`}return n+=` L ${um(e[e.length-1])}`,n}function ym(e){if(e.length===0)return{x:0,y:0};let t=0;for(let n=1;n<e.length;n++)t+=fm(e[n-1],e[n]);let n=t/2;for(let t=1;t<e.length;t++){let r=fm(e[t-1],e[t]);if(n<=r&&r>0){let i=n/r;return{x:e[t-1].x+(e[t].x-e[t-1].x)*i,y:e[t-1].y+(e[t].y-e[t-1].y)*i}}n-=r}return e[e.length-1]}function bm(e,t,n,r,i){let a=1-i;return{x:a*a*a*e.x+3*a*a*i*t.x+3*a*i*i*n.x+i*i*i*r.x,y:a*a*a*e.y+3*a*a*i*t.y+3*a*i*i*n.y+i*i*i*r.y}}function xm(e,t){let n=1/0;for(let r=1;r<t.length;r++){let i=t[r-1],a=t[r],o=(a.x-i.x)**2+(a.y-i.y)**2,s=o===0?0:Math.max(0,Math.min(1,((e.x-i.x)*(a.x-i.x)+(e.y-i.y)*(a.y-i.y))/o));n=Math.min(n,fm(e,{x:i.x+s*(a.x-i.x),y:i.y+s*(a.y-i.y)}))}return n}function Sm(e,t,n,r,i,a=10,o){let s=e=>r?e.x:e.y,c=e=>r?e.y:e.x,l=(e,t)=>r?{x:e,y:t}:{x:t,y:e},u=dm(e.point,rm[e.side],cm),d=dm(t.point,rm[t.side],cm),f=[e.point,u],p=u,m=s(e.point)+Math.sign(s(u)-s(e.point)||1)*6,h=(e,t)=>{let n=(m+t)/2;for(let r of[.5,.3,.7,.15,.85,.05,.95]){let a=m+(t-m)*r;if(i(l(a,c(p)),l(a,e))&&i(l(s(p),c(p)),l(a,c(p)))){n=a;break}}f.push(l(n,c(p)),l(n,e)),p=l(n,e)};for(let e of n){let t=!!o&&Math.abs(e.x-o.x)<.5&&Math.abs(e.y-o.y)<.5;Math.abs(c(e)-c(p))<1||!t&&i(p,l(s(e),c(p)))||h(c(e),s(e)),m=s(e)}Math.abs(c(p)-c(d))>=1&&h(c(d),s(d)),f.push(d,t.point);let g=_m(f);return{d:vm(g,a),points:g}}function Cm(e,t,n,r=0){let i=Math.min(e.x,t.x),a=Math.max(e.x,t.x),o=Math.min(e.y,t.y),s=Math.max(e.y,t.y),c=n.x-n.width/2-r,l=n.x+n.width/2+r,u=n.y-n.height/2-r,d=n.y+n.height/2+r;return a>c&&i<l&&s>u&&o<d}function wm(e,t,n){for(let r=1;r<e.length;r++){let i=e[r-1],a=e[r];if(!(n?Math.abs(i.y-a.y)<.5:Math.abs(i.x-a.x)<.5))continue;let o=Math.min(n?i.x:i.y,n?a.x:a.y),s=Math.max(n?i.x:i.y,n?a.x:a.y);if(t>=o&&t<=s)return n?{x:t,y:i.y}:{x:i.x,y:t}}}var Tm=30,Em=16,Dm=30;function Om(e,t,n){return n===`LR`?t.x+t.width/2<=e.x-e.width/2:t.y+t.height/2<=e.y-e.height/2}function km(e,t){let n=new Map;if(e.length===0)return n;let r=t.direction===`LR`,i=e=>r?e.x:e.y,a=e=>r?e.y:e.x,o=e=>(r?e.width:e.height)/2,s=e=>(r?e.height:e.width)/2,c=(e,t)=>r?{x:e,y:t}:{x:t,y:e},l=1/0,u=-1/0;for(let[e,n]of t.nodes)l=Math.min(l,a(n)-s(n)),u=Math.max(u,a(n)+s(n)+(t.extraBelow?.(e)??0));for(let e of t.groups.values())l=Math.min(l,a(e)-s(e)),u=Math.max(u,a(e)+s(e));let d=(e,n,r,c,l)=>{let u=0,d=e=>Math.abs(i(e)-n)<o(e)+6&&(c>0?a(e)+s(e)>r+1:a(e)-s(e)<r-1);for(let[n,r]of t.nodes)n!==e&&d(r)&&u++;for(let[e,n]of t.groups)!l.has(e)&&d(n)&&(u+=2);return u},f=new Map,p=(e,t,n,o,l,u,p)=>{let m=r?o>0?`bottom`:`top`:o>0?`right`:`left`,h=`${e}\u0000${m}`,g=f.get(h)??[],_=u?[.5,.3,.7,.15,.85]:[.5],v=a(t)+o*s(t);for(let r of _){if(g.some(e=>Math.abs(e-r)<.1))continue;let a=am(t,m,r);if(d(e,i(a),v,o,n)===0)return p&&f.set(h,[...g,r]),{point:a,side:m,dropM:i(a),cost:0}}let y=r?l?[`left`,`right`]:[`right`,`left`]:l?[`top`,`bottom`]:[`bottom`,`top`],b;for(let r of y){let s=am(t,r,.5),l=r===`left`||r===`top`?-1:1,u=i(s)+l*18,f=d(e,u,a(t),o,n),p={point:s,side:r,dropM:u,stub:c(u,a(s)),cost:f};if(f===0)return p;(!b||f<b.cost)&&(b=p)}let x=am(t,m,.5),S={point:x,side:m,dropM:i(x),cost:d(e,i(x),v,o,n)};return b&&b.cost<S.cost?b:S},m=e.map(e=>{let t=t=>p(e.from,e.source,e.sourceGroups,t,!0,e.spreadSource,!1).cost+p(e.to,e.target,e.targetGroups,t,!1,e.spreadTarget,!1).cost,n=t(-1)<t(1)?-1:1,r=p(e.from,e.source,e.sourceGroups,n,!0,e.spreadSource,!0),i=p(e.to,e.target,e.targetGroups,n,!1,e.spreadTarget,!0);return{e,side:n,lane:0,lo:Math.min(r.dropM,i.dropM),hi:Math.max(r.dropM,i.dropM),src:r,dst:i}});for(let e of[1,-1]){let t=m.filter(t=>t.side===e).sort((e,t)=>e.hi-e.lo-(t.hi-t.lo)||e.lo-t.lo),n=[];for(let e of t){let t=n.findIndex(t=>t.every(t=>e.hi+12<t.lo||e.lo-12>t.hi));t<0&&(n.push([]),t=n.length-1),n[t].push({lo:e.lo,hi:e.hi}),e.lane=t}}let h=e=>m.some(t=>t.side===e&&t.e.label),g=e=>r&&h(e)?Dm:Em,_=e=>e>0?u+Tm:l-Tm;for(let e of m){let t=e.side,r=_(t)+t*e.lane*g(t),i=[e.src.point];e.src.stub&&i.push(e.src.stub),i.push(c(e.src.dropM,r),c(e.dst.dropM,r)),e.dst.stub&&i.push(e.dst.stub),i.push(e.dst.point);let a={d:vm(i,10),points:i,from:{point:e.src.point,side:e.src.side},to:{point:e.dst.point,side:e.dst.side}};e.e.label&&(a.label=c((e.src.dropM+e.dst.dropM)/2,r)),n.set(e.e.id,a)}return n}var Am=(e,t,n)=>Math.abs(e.x-t.x)<(e.width+t.width)/2+n&&Math.abs(e.y-t.y)<(e.height+t.height)/2+n;function jm(e,t){let n=[];for(let t=1;t<e.length;t++){let r=e[t-1],i=e[t];n.push({a:r,b:i,len:Math.hypot(i.x-r.x,i.y-r.y)})}n.sort((e,t)=>t.len-e.len);let r=[];for(let e of n)for(let t of[.5,.35,.65,.2,.8,.1,.9])r.push({x:e.a.x+(e.b.x-e.a.x)*t,y:e.a.y+(e.b.y-e.a.y)*t});let i=[];for(let e of n){let n=Math.abs(e.a.y-e.b.y)<.5,r=n?0:t.width/2+3,a=n?t.height/2+3:0;for(let t of[.5,.3,.7]){let n={x:e.a.x+(e.b.x-e.a.x)*t,y:e.a.y+(e.b.y-e.a.y)*t};i.push({x:n.x-r,y:n.y-a},{x:n.x+r,y:n.y+a})}}return[...r,...i]}function Mm(e,t){let n=[...t],r=[],i=e=>!n.some(t=>Am(e,t,4))&&!r.some(t=>Am(e,t,3));for(let{label:t,points:n}of e){if(!i(t)){for(let e of jm(n,t))if(i({...t,x:e.x,y:e.y})){t.x=e.x,t.y=e.y;break}}r.push(t)}}var Nm={size:14,weight:500},Pm={size:12},Fm={size:12,weight:500},Im={size:13},Lm=30;function Rm(e,t,n){let r=ip(t,e.type),i=e.label??``;if(r.size)return{id:e.id,width:r.size.width,height:r.size.height,lines:i?tm(i,160,Im,n,2):[],descriptionLines:[]};let a=r.minWidth??120,o=r.maxWidth??220,s=r.icon&&r.shape!==`diamond`?Lm:0,c=r.shape===`diamond`,l=c?o*.62:o-32-s-10,u=tm(i,l,Nm,n,c?2:3),d=e.description&&!c?tm(e.description,l,Pm,n,2):[],f=Math.max(0,...u.map(e=>n(e,Nm)),...d.map(e=>n(e,Pm))),p=c?Math.min(o,Math.max(a,f/.62+8)):Math.min(o,Math.max(a,Math.ceil(f+32+s+10))),m=u.length*18+d.length*15,h=Math.max(r.height??44,c?m*2+20:m+24);return{id:e.id,width:Math.round(p),height:Math.round(h),lines:u,descriptionLines:d}}function zm(e){return e.label??e.condition??``}function Bm(e,t,n=0){let r=zm(e);if(!r)return;let i=tm(r,160,Fm,t,2),a=Math.max(...i.map(e=>t(e,Fm)))+16+n;return{width:Math.ceil(a),height:i.length*15+8,lines:i}}function Vm(e,t={}){let n=t.registry??rp,r=t.measure??em,i=t.direction??e.meta?.direction??`LR`,a=t.routing??`orthogonal`,o=new Set(e.nodes.map(e=>e.id)),s=new Set((e.groups??[]).map(e=>e.id)),c=new Map(e.nodes.map(e=>[e.id,Rm(e,n,r)])),l=e.edges.filter(e=>o.has(e.from)&&o.has(e.to)),u=new Map(l.map(e=>[e.id,Bm(e,r,t.edgeLabelExtra??0)])),d=t.ignorePositions?[]:e.nodes.filter(e=>e.position),f=new Map,p=new Map,m=new Map,h=new Map;if(d.length<e.nodes.length){let n=Hm(e,c,l,u,i,s,t),r=new Set(l.filter(t=>Wm(t,e)&&n.nodes.has(t.from)&&n.nodes.has(t.to)).filter(e=>Om(n.nodes.get(e.from),n.nodes.get(e.to),i)).map(e=>e.id));r.size>0&&(n=Hm(e,c,l.filter(e=>!r.has(e.id)),u,i,s,t));for(let[e,t]of n.nodes)f.set(e,{x:t.x,y:t.y});for(let[e,t]of n.edges)p.set(e,t.points),t.label&&m.set(e,t.label);if(h=new Map([...n.clusters].map(([e,t])=>[e,t])),d.length>0){let t=0,n=0;for(let e of d){let r=f.get(e.id);t+=e.position.x-r.x,n+=e.position.y-r.y}t/=d.length,n/=d.length;let r=[];for(let e of d)f.set(e.id,{...e.position}),r.push({...e.position,width:c.get(e.id).width,height:c.get(e.id).height});for(let a of e.nodes){if(a.position)continue;let e=f.get(a.id),o={x:e.x+t,y:e.y+n,width:c.get(a.id).width,height:c.get(a.id).height},s=0;for(;r.some(e=>qm(e,o,16))&&s++<400;)i===`LR`?o.y+=12:o.x+=12;f.set(a.id,{x:o.x,y:o.y}),r.push(o)}p=new Map,m=new Map,h=new Map}}else for(let t of e.nodes)f.set(t.id,{...t.position});let g=new Map;for(let t of e.nodes){let e=c.get(t.id),n=f.get(t.id);g.set(t.id,{...e,x:n.x,y:n.y})}let _=new Map;for(let t of e.groups??[]){let n=h.get(t.id)??Jm(t.id,e,g);n&&_.set(t.id,{id:t.id,label:t.label,...n})}let v=Um(e,g,{direction:i,routing:a,registry:n,waypoints:p,labelAt:m,labels:u,groups:_});return{direction:i,routing:a,nodes:g,edges:v,groups:_,waypoints:p,bounds:Ym(g,v,_)}}function Hm(e,t,n,r,i,a,o){let s=o.registry??rp,c=e.nodes.map(e=>{let n=t.get(e.id),r=ip(s,e.type),c=n.width,l=n.height;r.labelOutside&&n.lines.length&&(i===`LR`?l+=(n.lines.length*18+4)*2:c+=(Math.max(...n.lines.map(e=>(o.measure??em)(e,Im)))+10)*2);let u={id:e.id,width:c,height:l};return e.group&&a.has(e.group)&&(u.cluster=e.group),u}),l=n.map(e=>{let t=r.get(e.id),n={id:e.id,from:e.from,to:e.to};return t&&(n.label={width:t.width,height:t.height}),e.kind===`association`&&(n.weight=.2),n}),u=(e.groups??[]).map(e=>{let t={id:e.id};return e.parent&&a.has(e.parent)&&(t.parent=e.parent),e.label&&(t.label={width:em(e.label,{size:12,weight:600})+8,height:18}),t});try{return Kp({direction:i,nodes:c,edges:l,clusters:u,nodeSep:o.nodeSep??36,rankSep:o.rankSep??(i===`LR`?26:22),edgeSep:16,clusterPadding:18,transpose:!0})}catch{return Kp({direction:i,nodes:c.map(e=>({id:e.id,width:e.width,height:e.height})),edges:l,nodeSep:36,rankSep:24,transpose:!0})}}function Um(e,t,n,r){let i=new Map(e.nodes.map(e=>[e.id,e])),a=n.direction===`TB`?`vertical`:`horizontal`,o=new Map((e.groups??[]).map(e=>[e.id,e.parent])),s=e=>{let t=new Set,n=i.get(e)?.group;for(;n!==void 0&&!t.has(n);)t.add(n),n=o.get(n);return t},c=e=>{let r=new Set([...s(e.from),...s(e.to)]),i=[];for(let[n,r]of t)n!==e.from&&n!==e.to&&i.push(r);for(let[e,t]of n.groups??[])r.has(e)||i.push(t);return(e,t)=>!i.some(n=>Cm(e,t,n,6))},l=[],u=[],d=new Map;for(let o of e.edges){let c=i.get(o.from),f=i.get(o.to),p=t.get(o.from),m=t.get(o.to);if(!c||!f||!p||!m)continue;if(o.from===o.to){if(r&&!r.has(o.id))continue;d.set(o.id,Km(o,p,n));continue}if(Wm(o,e)&&Om(p,m,n.direction)){u.push({id:o.id,from:o.from,to:o.to,source:p,target:m,sourceGroups:s(o.from),targetGroups:s(o.to),label:n.labels.get(o.id),spreadSource:sm(ip(n.registry,c.type).shape),spreadTarget:sm(ip(n.registry,f.type).shape)});continue}let h=n.waypoints.get(o.id)??[],g=(e,t,r,i)=>{let o=r?ap(n.registry,e).find(e=>e.id===r):void 0;return o?{node:e,box:t,side:o.side,offset:o.offset??.5,fixed:!0,toward:i}:{node:e,box:t,side:om(t,i,a),fixed:!1,toward:i}};l.push({edge:o,ends:[g(c,p,o.fromPort,h[0]??m),g(f,m,o.toPort,h[h.length-1]??p)],wps:h})}let f=new Map;for(let e of l)for(let t of[0,1]){let n=e.ends[t];if(n.fixed)continue;let r=`${n.node.id}\u0000${n.side}`,i=f.get(r)??[];i.push({p:e,i:t}),f.set(r,i)}for(let e of f.values()){let t=e[0].p.ends[e[0].i],r=ip(n.registry,t.node.type).shape;if(e.length===1||!sm(r)){for(let{p:t,i:n}of e)t.ends[n].offset=.5;continue}let i=t.side===`top`||t.side===`bottom`;e.sort((e,t)=>{let n=e.p.ends[e.i].toward,r=t.p.ends[t.i].toward;return i?n.x-r.x||n.y-r.y:n.y-r.y||n.x-r.x});let a=Math.min(.7,.18*(e.length-1));e.forEach(({p:t,i:n},r)=>t.ends[n].offset=.5-a/2+a*r/(e.length-1))}for(let e of l){if(r&&!r.has(e.edge.id))continue;let[t,i]=e.ends,a={point:Gm(t.box,t.side,t.offset??.5,n,t.node),side:t.side},o={point:Gm(i.box,i.side,i.offset??.5,n,i.node),side:i.side},s=e.wps.length>0?Sm(a,o,e.wps,n.direction===`LR`,c(e.edge),n.routing===`spline`?28:10,n.labelAt.get(e.edge.id)):pm({from:a,to:o,waypoints:e.wps,routing:n.routing}),l={id:e.edge.id,d:s.d,points:s.points,from:a,to:o},u=n.labels.get(e.edge.id);if(u){let t=n.labelAt.get(e.edge.id);t&&=wm(s.points,n.direction===`LR`?t.x:t.y,n.direction===`LR`)??ym(s.points),t||=n.routing===`spline`&&e.wps.length===0&&s.points.length===4?bm(s.points[0],s.points[1],s.points[2],s.points[3],.5):ym(s.points),l.label={x:t.x,y:t.y,width:u.width,height:u.height,lines:u.lines}}d.set(e.edge.id,l)}let p=km(u,{direction:n.direction,nodes:t,groups:n.groups??new Map,extraBelow:e=>{let t=i.get(e),r=t&&ip(n.registry,t.type);return n.direction===`LR`&&r?.labelOutside&&t?.label?42:0}});for(let e of u){if(r&&!r.has(e.id))continue;let t=p.get(e.id),i={id:e.id,d:t.d,points:t.points,from:t.from,to:t.to},a=n.labels.get(e.id);a&&t.label&&(i.label={x:t.label.x,y:t.label.y,width:a.width,height:a.height,lines:a.lines}),d.set(e.id,i)}return r||Mm([...d.values()].filter(e=>e.label).sort((e,t)=>Number(u.some(t=>t.id===e.id))-Number(u.some(e=>e.id===t.id))).map(e=>({label:e.label,points:e.points})),t.values()),d}function Wm(e,t){return e.from!==e.to&&e.kind!==`association`&&!e.fromPort&&!e.toPort}function Gm(e,t,n,r,i){let a=ip(r.registry,i.type).shape;return sm(a)?am(e,t,n):am(e,t,.5)}function Km(e,t,n){let r=n.direction===`LR`,i=r?`top`:`right`,a=r?`top`:`right`,o=am(t,i,.7),s=am(t,a,.3),c=r?`M ${o.x} ${o.y} C ${o.x} ${o.y-34} ${s.x} ${s.y-34} ${s.x} ${s.y}`:`M ${o.x} ${o.y} C ${o.x+34} ${o.y} ${s.x+34} ${s.y} ${s.x} ${s.y}`,l=r?{x:(o.x+s.x)/2,y:o.y-25.5}:{x:o.x+25.5,y:(o.y+s.y)/2},u={id:e.id,d:c,points:[o,l,s],from:{point:o,side:i},to:{point:s,side:a},selfLoop:!0},d=n.labels.get(e.id);return d&&(u.label={x:r?l.x:l.x+d.width/2+4,y:r?l.y-d.height/2-4:l.y,width:d.width,height:d.height,lines:d.lines}),u}function qm(e,t,n=0){return Math.abs(e.x-t.x)<(e.width+t.width)/2+n&&Math.abs(e.y-t.y)<(e.height+t.height)/2+n}function Jm(e,t,n,r=18,i=24){let a=new Set([e]),o=!0;for(;o;){o=!1;for(let e of t.groups??[])e.parent&&a.has(e.parent)&&!a.has(e.id)&&(a.add(e.id),o=!0)}let s=1/0,c=1/0,l=-1/0,u=-1/0;for(let e of t.nodes){if(!e.group||!a.has(e.group))continue;let t=n.get(e.id);t&&(s=Math.min(s,t.x-t.width/2),c=Math.min(c,t.y-t.height/2),l=Math.max(l,t.x+t.width/2),u=Math.max(u,t.y+t.height/2))}if(!Number.isFinite(s))return;let d=[...a].filter(t=>t!==e).length>0?10:0;return s-=r+d,l+=r+d,c-=r+i+d,u+=r+d,{x:(s+l)/2,y:(c+u)/2,width:l-s,height:u-c}}function Ym(e,t,n,r=40){let i=1/0,a=1/0,o=-1/0,s=-1/0,c=(e,t=0)=>{i=Math.min(i,e.x-e.width/2),a=Math.min(a,e.y-e.height/2),o=Math.max(o,e.x+e.width/2),s=Math.max(s,e.y+e.height/2+t)};for(let t of e.values())c(t,t.width<=40?r:0),t.width<=40&&`lines`in t&&t.lines.length&&(c({...t,width:110}),c({...t,x:t.x+60,width:t.width+120}));for(let e of n.values())c(e);for(let e of t.values()){for(let t of e.points)c({x:t.x,y:t.y,width:0,height:0});e.label&&c(e.label)}return Number.isFinite(i)?{x:i,y:a,width:o-i,height:s-a}:{x:0,y:0,width:0,height:0}}function Xm(){return{nodes:{},edges:{},failures:0}}function Zm(e){if(e===void 0)return;if(typeof e==`number`)return Number.isFinite(e)?e:void 0;let t=Date.parse(e);return Number.isNaN(t)?void 0:t}function Qm(e,t){if(!t)return e;let n={...e};for(let[r,i]of Object.entries(t))n[r]={...e[r]??{},...i};return n}function $m(e,t){switch(t.type){case`reset`:return Xm();case`error`:return{...e,error:t.error,failures:e.failures+1};case`snapshot`:{let n=t.snapshot,r={...t.merge?{...e,nodes:Qm(e.nodes,n.nodes),edges:Qm(e.edges,n.edges)}:{nodes:{...n.nodes??{}},edges:{...n.edges??{}},failures:0},failures:0,receivedAt:t.at};delete r.error;let i=Zm(n.updatedAt);return i===void 0?delete r.updatedAt:r.updatedAt=i,n.path===void 0&&t.merge||(n.path?r.path=[...n.path]:delete r.path),n.current===void 0&&t.merge||(n.current?r.current=[...n.current]:delete r.current),r}}}function eh(e,t,n=Date.now(),r=!1){return $m(e??Xm(),{type:`snapshot`,snapshot:t,at:n,merge:r})}function th(e,t,n){return e?.receivedAt?t-e.receivedAt>n:!1}function nh(e,t){if(!t||t.length<2)return[];let n=[];for(let r=1;r<t.length;r++){let i=t[r-1],a=t[r],o=e.edges.filter(e=>e.from===i&&e.to===a),s=o.find(e=>e.enabled!==!1)??o[0];s&&n.push(s.id)}return n}var rh=Object.freeze({active:`accent`,done:`success`,error:`danger`,waiting:`warning`,skipped:`neutral`});function ih(e){let t={};for(let n of Object.values(e?.nodes??{}))n.status&&(t[n.status]=(t[n.status]??0)+1);return t}function ah(){let e=globalThis.document;if(e&&typeof e.addEventListener==`function`)return{hidden:()=>e.visibilityState===`hidden`,subscribe(t){return e.addEventListener(`visibilitychange`,t),()=>e.removeEventListener(`visibilitychange`,t)}}}function oh(e,t,n={}){if(n===!1||t===0)return e;let r=n.factor??2,i=n.maxMs??6e4;return Math.min(i,e*r**t)}function sh(e){let t=e.visibilityPause===!1?void 0:e.visibilityPause===!0||e.visibilityPause===void 0?ah():e.visibilityPause,n=`idle`,r=()=>n,i,a,o=0,s,c=e.intervalMs,l=0,u=()=>{i!==void 0&&clearTimeout(i),i=void 0},d=()=>{a?.abort(),a=void 0},f=e=>{u(),c=e,n===`running`&&(i=setTimeout(p,e))},p=async()=>{if(i=void 0,n!==`running`)return;let t=++l;d();let s=new AbortController;a=s;try{let n=await e.fetch(s.signal);if(t!==l||r()===`idle`)return;o=0,e.onData?.(n)}catch(n){if(t!==l||r()===`idle`||s.signal.aborted)return;o++,e.onError?.(n,o)}finally{a===s&&(a=void 0)}t===l&&n===`running`&&f(oh(e.intervalMs,o,e.backoff))},m=()=>{t&&n!==`idle`&&(t.hidden()?n===`running`&&(n=`paused`,l++,u(),d()):n===`paused`&&(n=`running`,p()))};return{start(){n===`idle`&&(s=t?.subscribe(m),t?.hidden()?n=`paused`:(n=`running`,e.immediate??!0?p():f(e.intervalMs)))},stop(){n=`idle`,l++,u(),d(),s?.(),s=void 0},refresh(){n===`running`&&(u(),p())},get status(){return n},get failures(){return o},get nextDelay(){return c}}}var ch=class extends Error{name=`CommandError`};function lh(e,t){let n={...e};for(let[e,r]of Object.entries(t))e!==`id`&&(r==null?delete n[e]:n[e]=r);return n}function uh(e){return new Set([...e.nodes.map(e=>e.id),...e.edges.map(e=>e.id),...(e.groups??[]).map(e=>e.id)])}function dh(e,t){switch(t.type){case`addNodes`:{let n=uh(e);for(let e of[...t.nodes,...t.edges??[]]){if(n.has(e.id))throw new ch(`The id "${e.id}" is already used`);n.add(e.id)}return{...e,nodes:[...e.nodes,...t.nodes],edges:t.edges?.length?[...e.edges,...t.edges]:e.edges}}case`removeElements`:{let n=new Set(t.ids),r=e.nodes.filter(e=>!n.has(e.id)),i=e.edges.filter(e=>!n.has(e.id)&&!n.has(e.from)&&!n.has(e.to)),a={...e,nodes:r,edges:i};if(e.groups){let t=new Map(e.groups.map(e=>[e.id,e.parent])),i=e=>{let r=e,i=0;for(;r!==void 0&&n.has(r)&&i++<100;)r=t.get(r);return r};a.groups=e.groups.filter(e=>!n.has(e.id)).map(e=>e.parent&&n.has(e.parent)?lh(e,{parent:i(e.parent)??null}):e),a.nodes=r.map(e=>e.group&&n.has(e.group)?lh(e,{group:i(e.group)??null}):e)}return a}case`updateNode`:{let n=e.nodes.findIndex(e=>e.id===t.id);if(n<0)throw new ch(`No node "${t.id}"`);let r=e.nodes.slice();return r[n]=lh(r[n],t.patch),{...e,nodes:r}}case`moveNodes`:{let n=new Map(t.moves.map(e=>[e.id,e.position]));return{...e,nodes:e.nodes.map(e=>n.has(e.id)?{...e,position:{...n.get(e.id)}}:e)}}case`addEdge`:if(uh(e).has(t.edge.id))throw new ch(`The id "${t.edge.id}" is already used`);return{...e,edges:[...e.edges,t.edge]};case`updateEdge`:{let n=e.edges.findIndex(e=>e.id===t.id);if(n<0)throw new ch(`No edge "${t.id}"`);let r=e.edges.slice();return r[n]=lh(r[n],t.patch),{...e,edges:r}}case`setEnabled`:{let n={enabled:t.enabled?null:!1};return t.kind===`node`?dh(e,{type:`updateNode`,id:t.id,patch:n}):dh(e,{type:`updateEdge`,id:t.id,patch:n})}case`addGroup`:if(uh(e).has(t.group.id))throw new ch(`The id "${t.group.id}" is already used`);return{...e,groups:[...e.groups??[],t.group]};case`updateGroup`:{let n=e.groups??[],r=n.findIndex(e=>e.id===t.id);if(r<0)throw new ch(`No group "${t.id}"`);let i=n.slice();return i[r]=lh(i[r],t.patch),{...e,groups:i}}case`updateMeta`:return{...e,meta:lh(e.meta??{},t.patch)};case`replace`:return t.graph;case`batch`:return t.commands.reduce(dh,e)}}function fh(e,t,n=uh(e)){let r=t.replace(/[^\p{L}\p{N}_-]+/gu,`-`).replace(/^-+|-+$/g,``)||`n`;for(let e=1;;e++){let t=`${r}-${e}`;if(!n.has(t))return t}}function ph(e,t){return t<=0?e:{x:Math.round(e.x/t)*t,y:Math.round(e.y/t)*t}}function mh(e){switch(e.type){case`addNodes`:return e.nodes.length===1?`add ${e.nodes[0].id}`:`add ${e.nodes.length} nodes`;case`removeElements`:return e.ids.length===1?`delete ${e.ids[0]}`:`delete ${e.ids.length} elements`;case`updateNode`:case`updateEdge`:case`updateGroup`:return`edit ${e.id}`;case`moveNodes`:return e.moves.length===1?`move ${e.moves[0].id}`:`move ${e.moves.length} nodes`;case`addEdge`:return`connect ${e.edge.from} → ${e.edge.to}`;case`setEnabled`:return`${e.enabled?`enable`:`disable`} ${e.id}`;case`addGroup`:return`add group ${e.group.id}`;case`updateMeta`:return`edit settings`;case`replace`:return`replace graph`;case`batch`:return e.commands.length===1?mh(e.commands[0]):`${e.commands.length} changes`}}var hh=class{current;past=[];future=[];limit;mergeWindow;now;constructor(e,t={}){this.current=e,this.limit=t.limit??200,this.mergeWindow=t.mergeWindowMs??800,this.now=t.now??Date.now}get graph(){return this.current}get canUndo(){return this.past.length>0}get canRedo(){return this.future.length>0}get last(){return this.past[this.past.length-1]}get next(){return this.future[this.future.length-1]}execute(e,t){let n=this.current,r=dh(n,e),i=this.now(),a=this.last;return t&&a&&a.mergeKey===t&&i-a.at<=this.mergeWindow&&this.future.length===0?(a.after=r,a.command=a.command.type===`batch`?{type:`batch`,commands:[...a.command.commands,e]}:{type:`batch`,commands:[a.command,e]},a.at=i):(this.past.push({command:e,before:n,after:r,mergeKey:t,at:i}),this.past.length>this.limit&&this.past.shift()),this.future=[],this.current=r,r}undo(){let e=this.past.pop();if(e)return this.future.push(e),this.current=e.before,e}redo(){let e=this.future.pop();if(e)return this.past.push(e),this.current=e.after,e}reset(e){e!==this.current&&(this.current=e,this.past=[],this.future=[])}seal(){let e=this.last;e&&(e.mergeKey=void 0)}};function gh(e){return typeof e==`object`&&!!e&&e.kind===`dskripchenko-flow/fragment`&&Array.isArray(e.nodes)}function _h(e,t,n){let r=new Set(t),i=e.nodes.filter(e=>r.has(e.id)).map(e=>{let t=n?.nodes.get(e.id),r=structuredClone(e);return t&&(r.position={x:t.x,y:t.y}),r}),a=new Set(i.map(e=>e.id));return{kind:`dskripchenko-flow/fragment`,version:1,nodes:i,edges:e.edges.filter(e=>a.has(e.from)&&a.has(e.to)).map(e=>structuredClone(e))}}function vh(e,t,n={}){let r=new Set([...e.nodes.map(e=>e.id),...e.edges.map(e=>e.id),...(e.groups??[]).map(e=>e.id)]),i=new Set((e.groups??[]).map(e=>e.id)),a=new Map,o=n.offset??{x:32,y:32};if(n.at){let e=t.nodes.map(e=>e.position).filter(e=>!!e);if(e.length){let t=(Math.min(...e.map(e=>e.x))+Math.max(...e.map(e=>e.x)))/2,r=(Math.min(...e.map(e=>e.y))+Math.max(...e.map(e=>e.y)))/2;o={x:n.at.x-t,y:n.at.y-r}}}let s=t.nodes.map(t=>{let n=fh(e,t.type===`state`?`state`:t.type,r);r.add(n),a.set(t.id,n);let s={...structuredClone(t),id:n};return t.position&&(s.position={x:t.position.x+o.x,y:t.position.y+o.y}),s.group&&!i.has(s.group)&&delete s.group,s});return{command:{type:`addNodes`,nodes:s,edges:t.edges.filter(e=>a.has(e.from)&&a.has(e.to)).map(t=>{let n=fh(e,`e`,r);return r.add(n),{...structuredClone(t),id:n,from:a.get(t.from),to:a.get(t.to)}})},ids:s.map(e=>e.id)}}function yh(e,t,n){let r=t.map(t=>[t,e.get(t)]).filter(e=>!!e[1]);if(r.length<2)return null;let i=r.map(([,e])=>e.x-e.width/2),a=r.map(([,e])=>e.x+e.width/2),o=r.map(([,e])=>e.y-e.height/2),s=r.map(([,e])=>e.y+e.height/2);return{type:`moveNodes`,moves:r.map(([e,t])=>{let{x:r,y:c}=t;switch(n){case`left`:r=Math.min(...i)+t.width/2;break;case`right`:r=Math.max(...a)-t.width/2;break;case`center`:r=(Math.min(...i)+Math.max(...a))/2;break;case`top`:c=Math.min(...o)+t.height/2;break;case`bottom`:c=Math.max(...s)-t.height/2;break;case`middle`:c=(Math.min(...o)+Math.max(...s))/2}return{id:e,position:{x:r,y:c}}})}}function bh(e,t,n){let r=t.map(t=>[t,e.get(t)]).filter(e=>!!e[1]);if(r.length<3)return null;let i=n===`horizontal`,a=e=>i?e.width:e.height,o=e=>i?e.x:e.y;r.sort((e,t)=>o(e[1])-o(t[1]));let s=r[0][1],c=r[r.length-1][1],l=o(s)-a(s)/2,u=o(c)+a(c)/2,d=r.reduce((e,[,t])=>e+a(t),0),f=(u-l-d)/(r.length-1),p=l;return{type:`moveNodes`,moves:r.map(([e,t])=>{let n=p+a(t)/2;return p+=a(t)+f,{id:e,position:i?{x:n,y:t.y}:{x:t.x,y:n}}})}}function xh(e){return{type:`moveNodes`,moves:[...e.nodes.values()].map(e=>({id:e.id,position:{x:Math.round(e.x),y:Math.round(e.y)}}))}}function Sh(e,t,n,r={}){let i=r.grid??0,a=r.padding??24,o=[...e],s=e=>(i>0?Math.round(e/i)*i:Math.round(e))+0,c=e=>o.every(n=>Math.abs(n.x-e.x)>=(n.width+t.width)/2+a||Math.abs(n.y-e.y)>=(n.height+t.height)/2+a),l={x:s(n.x),y:s(n.y)};if(c(l))return l;let u=Math.max(i,20),d=r.maxRings??60;for(let e=1;e<=d;e++){let t=[];for(let n=-e;n<=e;n++)t.push({x:l.x+n*u,y:l.y-e*u},{x:l.x+n*u,y:l.y+e*u}),n>-e&&n<e&&t.push({x:l.x-e*u,y:l.y+n*u},{x:l.x+e*u,y:l.y+n*u});t.sort((e,t)=>Math.hypot(e.x-n.x,e.y-n.y)-Math.hypot(t.x-n.x,t.y-n.y));let r=t.find(c);if(r)return{x:s(r.x),y:s(r.y)}}return l}var Ch={min:.2,max:2.5};function wh(e,t=Ch){return Math.min(t.max,Math.max(t.min,e))}function Th(e,t){return{x:t.x*e.k+e.x,y:t.y*e.k+e.y}}function Eh(e,t){return{x:(t.x-e.x)/e.k,y:(t.y-e.y)/e.k}}function Dh(e,t,n,r=Ch){let i=wh(e.k*t,r),a=Eh(e,n);return{k:i,x:n.x-a.x*i,y:n.y-a.y*i}}function Oh(e,t,n,r=32,i=Ch,a=1){if(e.width<=0||e.height<=0||t<=0||n<=0)return{x:t/2-e.x,y:n/2-e.y,k:1};let o=wh(Math.min((t-r*2)/e.width,(n-r*2)/e.height,a),i);return{k:o,x:t/2-(e.x+e.width/2)*o,y:n/2-(e.y+e.height/2)*o}}function kh(e,t,n,r){return{k:e.k,x:n/2-t.x*e.k,y:r/2-t.y*e.k}}function Ah(e,t,n,r,i=24){let a=Th(e,{x:t.x-t.width/2,y:t.y-t.height/2}),o=Th(e,{x:t.x+t.width/2,y:t.y+t.height/2});return a.x>=i&&a.y>=i&&o.x<=n-i&&o.y<=r-i}function jh(e,t,n){let r,i=1/0;for(let a of t){let t=a.x-e.x,o=a.y-e.y,s=n===`right`?t:n===`left`?-t:n===`down`?o:-o,c=Math.abs(n===`left`||n===`right`?o:t);if(s<=1)continue;let l=s+c*2;l<i&&(i=l,r=a.id)}return r}var Mh={play:tl,stop:ul,task:zc,decision:Hc,subprocess:qc,note:dl,state:xc,workflow:gl,message:Qc,clock:Rc},Nh={done:jc,error:Fc,waiting:Rc,skipped:cl},Ph=[`cx`,`cy`,`r`],Fh=[`width`,`height`,`rx`],Ih=[`cx`,`cy`,`r`],Lh=[`d`,`transform`],Rh=[`width`,`height`,`rx`],zh=[`cx`,`cy`,`r`],Bh=[`cx`,`cy`,`r`],Vh=[`cx`,`cy`,`r`],Hh=[`d`],Uh=[`d`],Wh=[`width`,`height`,`rx`],Gh=[`width`,`height`,`rx`],Kh={key:7,class:`fl-node__tile`},qh=[`y`],Jh=[`x`,`y`,`text-anchor`],Yh=[`x`,`dy`],Xh=[`x`,`dy`],Zh=[`aria-label`],Qh=[`x`,`y`],$h=[`transform`],eg=[`x`,`width`],tg={x:`0`,y:`4`,"text-anchor":`middle`},ng=[`transform`],rg=[`x`,`width`],ig={x:`0`,y:`4`,"text-anchor":`middle`},ag=[`transform`],og=18,sg=15,cg=Ar({__name:`FlowNodeShape`,props:{node:{},geometry:{},def:{},run:{},tone:{},disabled:{type:Boolean},selected:{type:Boolean},focused:{type:Boolean},current:{type:Boolean},onPath:{type:Boolean},issue:{},drillable:{type:Boolean},icon:{},labels:{},labelSide:{}},emits:[`enter`],setup(e,{emit:t}){let n=e,r=t,i=q(()=>n.geometry.width),a=q(()=>n.geometry.height),o=q(()=>n.def.shape),s=q(()=>o.value===`circle`||o.value===`ring`),c=q(()=>n.icon??(n.def.icon?Mh[n.def.icon]:void 0)),l=q(()=>!!c.value&&(o.value===`rect`||o.value===`rounded`||o.value===`pill`)),u=q(()=>n.run?.status),d=q(()=>u.value?Nh[u.value]:void 0),f=q(()=>{let e=i.value,t=a.value;switch(o.value){case`diamond`:return`M ${e/2} 0 L ${e} ${t/2} L ${e/2} ${t} L 0 ${t/2} Z`;case`note`:return`M 0 0 H ${e-12} L ${e} 12 V ${t} H 0 Z`;default:return``}}),p=q(()=>o.value===`pill`?a.value/2:o.value===`rounded`?12:o.value===`note`?0:8),m=q(()=>{let e=n.geometry.lines,t=n.geometry.descriptionLines,r=e.length*og+t.length*sg;if(s.value)return n.labelSide===`right`?{x:i.value+10,y:a.value/2+4.5-(e.length-1)*og/2,anchor:`start`}:{x:i.value/2,y:a.value+18,anchor:`middle`};let c=l.value?52:16,u=o.value===`diamond`||!l.value&&o.value!==`note`;return{x:u?i.value/2:c,y:(a.value-r)/2+14,anchor:u?`middle`:`start`}}),h=q(()=>{let e=n.run;return e?e.badge!==void 0&&e.badge!==``?{kind:`badge`,text:String(e.badge)}:u.value===`active`?{kind:`pulse`,text:``}:d.value?{kind:`icon`,text:``}:null:null}),g=q(()=>s.value?{x:i.value*.85,y:a.value*.15}:o.value===`diamond`?{x:i.value*.75,y:a.value*.25}:{x:i.value-2,y:2}),_=q(()=>h.value?.kind===`badge`?Math.max(20,h.value.text.length*7+10):20),v=q(()=>n.run?.count!==void 0&&n.run.count!==null?String(n.run.count):``),y=q(()=>Math.max(24,v.value.length*7+14)),b=q(()=>u.value===`active`||n.current?`accent`:u.value===`error`?`danger`:`neutral`),x=q(()=>s.value?{x:i.value*.1,y:a.value*.1}:o.value===`diamond`?{x:i.value/2,y:a.value}:{x:i.value-y.value/2-(h.value?S.value:10),y:0}),S=q(()=>h.value?.kind===`badge`?_.value/2+8:18),C=q(()=>u.value?n.labels.statuses[u.value]??u.value:``);return(t,n)=>(B(),V(`g`,{class:P([`fl-node`,[`fl-node--${o.value}`,e.tone?`fl-tone--${e.tone}`:``,{"is-disabled":e.disabled,"is-selected":e.selected,"is-focused":e.focused,"is-current":e.current,"is-on-path":e.onPath,"has-error":e.issue===`error`,"has-warning":e.issue===`warning`,"has-status":!!u.value}]])},[e.current||u.value===`active`?(B(),V(z,{key:0},[s.value?(B(),V(`circle`,{key:0,class:`fl-node__halo`,cx:i.value/2,cy:a.value/2,r:i.value/2+6},null,8,Ph)):(B(),V(`rect`,{key:1,class:`fl-node__halo`,x:-6,y:-6,width:i.value+12,height:a.value+12,rx:p.value+6},null,8,Fh))],64)):K(``,!0),e.selected||e.focused?(B(),V(z,{key:1},[s.value?(B(),V(`circle`,{key:0,class:`fl-node__ring`,cx:i.value/2,cy:a.value/2,r:i.value/2+4},null,8,Ih)):f.value?(B(),V(`path`,{key:1,class:`fl-node__ring`,d:f.value,transform:`translate(${i.value/2} ${a.value/2}) scale(${(i.value+12)/i.value} ${(a.value+12)/a.value}) translate(${-i.value/2} ${-a.value/2})`},null,8,Lh)):(B(),V(`rect`,{key:2,class:`fl-node__ring`,x:-4,y:-4,width:i.value+8,height:a.value+8,rx:p.value+4},null,8,Rh))],64)):K(``,!0),o.value===`circle`?(B(),V(`circle`,{key:2,class:`fl-node__body fl-node__body--start`,cx:i.value/2,cy:a.value/2,r:i.value/2},null,8,zh)):o.value===`ring`?(B(),V(z,{key:3},[U(`circle`,{class:`fl-node__body fl-node__body--end`,cx:i.value/2,cy:a.value/2,r:i.value/2-1.5},null,8,Bh),U(`circle`,{class:`fl-node__end-core`,cx:i.value/2,cy:a.value/2,r:i.value/2-8},null,8,Vh)],64)):f.value?(B(),V(z,{key:4},[U(`path`,{class:`fl-node__shadow`,d:f.value,transform:`translate(0 2)`},null,8,Hh),U(`path`,{class:`fl-node__body`,d:f.value},null,8,Uh)],64)):(B(),V(z,{key:5},[U(`rect`,{class:`fl-node__shadow`,y:2,width:i.value,height:a.value,rx:p.value},null,8,Wh),U(`rect`,{class:`fl-node__body`,width:i.value,height:a.value,rx:p.value},null,8,Gh)],64)),s.value&&c.value?(B(),H(ri(c.value),{key:6,class:`fl-node__glyph`,x:i.value/2-7,y:a.value/2-7,width:14,height:14,"stroke-width":2.4,"aria-hidden":`true`},null,8,[`x`,`y`])):K(``,!0),l.value?(B(),V(`g`,Kh,[U(`rect`,{x:12,y:a.value/2-15,width:`30`,height:`30`,rx:`8`},null,8,qh),(B(),H(ri(c.value),{x:19,y:a.value/2-8,width:16,height:16,"stroke-width":2,"aria-hidden":`true`},null,8,[`y`]))])):K(``,!0),U(`text`,{class:P([`fl-node__label`,{"fl-node__label--outside":s.value}]),x:m.value.x,y:m.value.y,"text-anchor":m.value.anchor},[(B(!0),V(z,null,oi(e.geometry.lines,(e,t)=>(B(),V(`tspan`,{key:t,x:m.value.x,dy:t===0?0:og},F(e),9,Yh))),128)),(B(!0),V(z,null,oi(e.geometry.descriptionLines,(e,t)=>(B(),V(`tspan`,{key:`d${t}`,class:`fl-node__desc`,x:m.value.x,dy:t===0?17:sg},F(e),9,Xh))),128))],10,Jh),e.drillable?(B(),V(`g`,{key:8,class:`fl-node__enter`,role:`button`,tabindex:`-1`,"aria-label":e.labels.enter,onClick:n[0]||=sc(e=>r(`enter`),[`stop`]),onPointerdown:n[1]||=sc(()=>{},[`stop`])},[U(`title`,null,F(e.labels.enter),1),U(`rect`,{x:i.value/2-11,y:a.value-9,width:`22`,height:`18`,rx:`5`},null,8,Qh),(B(),H(ri(L(qc)),{x:i.value/2-6,y:a.value-6,width:12,height:12,"stroke-width":2.2,"aria-hidden":`true`},null,8,[`x`,`y`]))],40,Zh)):K(``,!0),h.value?(B(),V(`g`,{key:9,class:P([`fl-node__chip`,`fl-node__chip--${h.value.kind}`]),transform:`translate(${g.value.x} ${g.value.y})`},[U(`title`,null,F(C.value),1),h.value.kind===`badge`?(B(),V(z,{key:0},[U(`rect`,{x:-_.value/2,y:`-10`,width:_.value,height:`20`,rx:`10`},null,8,eg),U(`text`,tg,F(h.value.text),1)],64)):h.value.kind===`pulse`?(B(),V(z,{key:1},[n[2]||=U(`circle`,{class:`fl-node__pulse`,r:`9`},null,-1),n[3]||=U(`circle`,{r:`5`},null,-1)],64)):(B(),V(z,{key:2},[n[4]||=U(`circle`,{r:`10`},null,-1),(B(),H(ri(d.value),{x:`-6`,y:`-6`,width:`12`,height:`12`,"stroke-width":2.6,"aria-hidden":`true`}))],64))],10,$h)):K(``,!0),v.value?(B(),V(`g`,{key:10,class:P([`fl-node__count`,`fl-node__count--${b.value}`]),transform:`translate(${x.value.x} ${x.value.y})`},[U(`title`,null,F(e.labels.instances)+`: `+F(v.value),1),U(`rect`,{x:-y.value/2,y:`-9`,width:y.value,height:`18`,rx:`9`},null,8,rg),U(`text`,ig,F(v.value),1)],10,ng)):K(``,!0),e.issue?(B(),V(`g`,{key:11,class:`fl-node__issue`,transform:`translate(${s.value||o.value===`diamond`?i.value*.2:2} ${s.value||o.value===`diamond`?a.value*.2:2})`},[...n[5]||=[U(`circle`,{r:`8`},null,-1),U(`text`,{x:`0`,y:`4`,"text-anchor":`middle`},`!`,-1)]],8,ag)):K(``,!0)],2))}}),lg={class:`fl-minimap`,"data-fl-ui":``},ug=[`aria-label`],dg=[`transform`],fg=[`x`,`y`,`width`,`height`],pg=[`x`,`y`,`width`,`height`],mg=[`x`,`y`,`width`,`height`,`stroke-width`,`rx`],hg=168,gg=112,_g=8,vg=Ar({__name:`FlowMinimap`,props:{nodes:{},groups:{},bounds:{},view:{},size:{},selection:{},current:{},label:{}},emits:[`centre`],setup(e,{emit:t}){let n=e,r=t,i=q(()=>{let e=n.view,t={x:-e.x/e.k,y:-e.y/e.k,width:n.size.width/e.k,height:n.size.height/e.k},r=n.bounds,i=Math.min(r.x,t.x),a=Math.min(r.y,t.y),o=Math.max(r.x+r.width,t.x+t.width),s=Math.max(r.y+r.height,t.y+t.height),c=Math.min(152/Math.max(1,o-i),96/Math.max(1,s-a));return{s:c,ox:_g+(152-(o-i)*c)/2-i*c,oy:_g+(96-(s-a)*c)/2-a*c,vis:t}}),a=I(null),o=!1;function s(e){let t=a.value.getBoundingClientRect(),n=i.value;return{x:(e.clientX-t.left-n.ox)/n.s,y:(e.clientY-t.top-n.oy)/n.s}}function c(e){o=!0;try{a.value?.setPointerCapture(e.pointerId)}catch{}r(`centre`,s(e))}function l(e){o&&r(`centre`,s(e))}function u(){o=!1}return(t,n)=>(B(),V(`div`,lg,[(B(),V(`svg`,{ref_key:`el`,ref:a,width:hg,height:gg,role:`img`,"aria-label":e.label,onPointerdown:sc(c,[`stop`]),onPointermove:l,onPointerup:u,onPointercancel:u},[U(`g`,{transform:`translate(${i.value.ox} ${i.value.oy}) scale(${i.value.s})`},[(B(!0),V(z,null,oi(e.groups,([e,t])=>(B(),V(`rect`,{key:e,class:`fl-minimap__group`,x:t.x-t.width/2,y:t.y-t.height/2,width:t.width,height:t.height,rx:10},null,8,fg))),128)),(B(!0),V(z,null,oi(e.nodes.values(),t=>(B(),V(`rect`,{key:t.id,class:P([`fl-minimap__node`,{"is-selected":e.selection.has(t.id),"is-current":e.current.has(t.id)}]),x:t.x-t.width/2,y:t.y-t.height/2,width:t.width,height:t.height,rx:6},null,10,pg))),128)),U(`rect`,{class:`fl-minimap__view`,x:i.value.vis.x,y:i.value.vis.y,width:i.value.vis.width,height:i.value.vis.height,"stroke-width":1.5/i.value.s,rx:4/i.value.s},null,8,mg)],8,dg)],40,ug))]))}}),yg=[`aria-label`],bg=Ar({__name:`FlowControls`,props:{labels:{},zoom:{},minimap:{type:Boolean}},emits:[`zoom-in`,`zoom-out`,`zoom-reset`,`fit`,`update:minimap`],setup(e,{emit:t}){let n=t;return(t,r)=>(B(),V(`div`,{class:`fl-controls`,role:`toolbar`,"aria-label":e.labels.graph,"data-fl-ui":``},[W(L(pd),{content:e.labels.zoomOut,placement:`top`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L($c),"aria-label":e.labels.zoomOut,class:`fl-controls__zoom-out`,onClick:r[0]||=e=>n(`zoom-out`)},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`]),W(L(xl),{size:`sm`,variant:`ghost`,class:`fl-controls__zoom`,"aria-label":`${e.zoom}%`,onClick:r[1]||=e=>n(`zoom-reset`)},{default:R(()=>[G(F(e.zoom)+`% `,1)]),_:1},8,[`aria-label`]),W(L(pd),{content:e.labels.zoomIn,placement:`top`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(nl),"aria-label":e.labels.zoomIn,class:`fl-controls__zoom-in`,onClick:r[2]||=e=>n(`zoom-in`)},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`]),r[5]||=U(`span`,{class:`fl-controls__sep`,"aria-hidden":`true`},null,-1),W(L(pd),{content:e.labels.fit,placement:`top`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(Zc),"aria-label":e.labels.fit,class:`fl-controls__fit`,onClick:r[3]||=e=>n(`fit`)},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`]),W(L(pd),{content:e.labels.minimap,placement:`top`},{default:R(()=>[W(L(xl),{size:`sm`,variant:e.minimap?`secondary`:`ghost`,icon:L(Xc),"aria-label":e.labels.minimap,"aria-pressed":e.minimap,class:P([`fl-controls__minimap fl-toggle`,{"is-active":e.minimap}]),onClick:r[4]||=t=>n(`update:minimap`,!e.minimap)},null,8,[`variant`,`icon`,`aria-label`,`aria-pressed`,`class`])]),_:1},8,[`content`]),ci(t.$slots,`default`)],8,yg))}}),xg;function Sg(){if(xg!==void 0)return xg;xg=null;try{if(typeof document>`u`||navigator.userAgent.includes(`jsdom`))return xg;xg=document.createElement(`canvas`).getContext(`2d`)}catch{xg=null}return xg}var Cg=new Map;function wg(e){let t=Sg();if(!t||!e)return em;let n=Cg.get(e);if(n)return n;let r=new Map;return n=(n,i)=>{let a=`${i.size}|${i.weight??400}|${n}`,o=r.get(a);return o===void 0&&(t.font=`${i.weight??400} ${i.size}px ${e}`,o=t.measureText(n).width+1,r.size>5e3&&r.clear(),r.set(a,o)),o},Cg.set(e,n),n}function Tg(e,t){let n=Zt({x:0,y:0,k:1}),r=I({width:0,height:0}),i=null,a=0,o=I(!1),s,c=typeof requestAnimationFrame==`function`?requestAnimationFrame:e=>setTimeout(()=>e(0),16),l=typeof cancelAnimationFrame==`function`?cancelAnimationFrame:e=>clearTimeout(e);function u(e,t=!1){t?(o.value=!0,clearTimeout(s),s=setTimeout(()=>o.value=!1,260),l(a),a=0,i=null,n.value=e):(i=e,!a&&(a=c(()=>{a=0,i&&(n.value=i),i=null})))}let d=()=>i??n.value;function f(e,n=!1,i=48){let{width:a,height:o}=r.value;a&&o&&u(Oh(e,a,o,Math.min(i,a/8),t()),n)}function p(e,n,i=!1){let a=n??{x:r.value.width/2,y:r.value.height/2};u(Dh(d(),e,a,t()),i)}function m(e,n=!0){let r=d();p(wh(e,t())/r.k,void 0,n)}function h(e,t){let n=d();u({...n,x:n.x+e,y:n.y+t})}function g(e,t=!0){u(kh(d(),e,r.value.width,r.value.height),t)}function _(t,n){let r=e.value?.getBoundingClientRect();return Eh(d(),{x:t-(r?.left??0),y:n-(r?.top??0)})}function v(t,n){let r=e.value?.getBoundingClientRect();return{x:t-(r?.left??0),y:n-(r?.top??0)}}function y(){l(a),clearTimeout(s)}return{view:n,size:r,animate:o,set:u,current:d,fit:f,zoomBy:p,zoomTo:m,panBy:h,centre:g,clientToGraph:_,clientToLocal:v,dispose:y}}var Eg=[`aria-label`,`aria-roledescription`],Dg=[`id`,`width`,`height`,`x`,`y`],Og=[`id`],kg=[`fill`],Ag=[`transform`],jg={class:`fl-groups`},Mg=[`data-group-id`],Ng=[`x`,`y`,`width`,`height`],Pg=[`x`,`y`],Fg={class:`fl-edges`},Ig=[`data-edge-id`,`data-from`,`data-to`,`onPointerenter`],Lg=[`d`],Rg=[`d`,`marker-end`],zg=[`d`],Bg={class:`fl-nodes`},Vg=[`data-node-id`,`data-focus-id`,`data-groups`,`transform`,`aria-label`,`aria-pressed`,`aria-disabled`,`onFocus`,`onBlur`,`onPointerenter`],Hg={class:`fl-edge-labels`},Ug=[`data-edge-id`,`data-focus-id`,`tabindex`,`aria-label`,`aria-pressed`,`onFocus`,`onBlur`,`onPointerenter`],Wg=[`x`,`y`,`width`,`height`],Gg=[`x`,`y`],Kg=[`x`,`dy`],qg=[`transform`],Jg={x:`0`,y:`3.5`,"text-anchor":`middle`},Yg=[`transform`],Xg={x:`0`,y:`4`,"text-anchor":`middle`},Zg={key:0,class:`fl-edit-layer`},Qg=[`data-port-node`,`data-port-side`,`data-port-id`],$g=[`cx`,`cy`],e_=[`cx`,`cy`],t_={key:0,class:`fl-edge-ends`},n_=[`data-edge-end`,`data-end`,`cx`,`cy`],r_=[`d`,`marker-end`],i_=[`x`,`y`,`width`,`height`],a_={key:0,class:`fl-empty`,"data-fl-ui":``},o_={class:`fl-empty__title`},s_={class:`fl-empty__hint`},c_={key:1,class:`fl-layout-error`,"data-fl-ui":``,role:`alert`},l_=.85,u_=Ar({__name:`FlowCanvas`,props:{graph:{},labels:{},registry:{default:()=>rp},direction:{default:void 0},edgeStyle:{default:`orthogonal`},monitor:{default:void 0},reserveCounters:{type:Boolean},selection:{default:()=>[]},issues:{default:void 0},editable:{type:Boolean},toggleable:{type:Boolean},enabledOverrides:{default:void 0},snapGrid:{default:0},minimap:{type:Boolean,default:!0},controls:{type:Boolean,default:!0},minZoom:{default:.15},maxZoom:{default:2.5},wheel:{default:`zoom`},nodeRenderers:{default:()=>({})},nodeIcons:{default:()=>({})},statusTones:{default:()=>({})},fitKey:{default:void 0},drillable:{type:Function,default:void 0},isLocked:{type:Function,default:void 0},ariaLabel:{default:void 0}},emits:[`select`,`activate`,`enter`,`toggle`,`move`,`connect`,`reconnect`,`detach`,`contextmenu`,`background-dblclick`,`escape`,`update:minimap`,`focus-change`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=jr().replace(/[^a-zA-Z0-9_-]/g,``),o=I(null),s=Tg(o,()=>({min:r.minZoom,max:r.maxZoom})),c=Zt(em),l=I(`LR`),u=q(()=>r.direction&&r.direction!==`auto`?r.direction:r.graph.meta?.direction??l.value),d=I(null),f=q(()=>{try{return d.value=null,Vm(r.graph,{registry:r.registry,direction:u.value,routing:r.edgeStyle===`smooth`?`spline`:`orthogonal`,measure:c.value,edgeLabelExtra:r.reserveCounters?30:0})}catch(e){return d.value=e.message,Vm({version:1,nodes:[],edges:[]})}}),p=q(()=>new Map(r.graph.nodes.map(e=>[e.id,e]))),m=q(()=>new Map(r.graph.edges.map(e=>[e.id,e]))),h=Zt(null),g=q(()=>{let e=f.value.nodes,t=h.value;if(!t||t.dx===0&&t.dy===0)return e;let n=new Map(e);for(let r of t.ids){let i=e.get(r);i&&n.set(r,{...i,x:i.x+t.dx,y:i.y+t.dy})}return n}),_=q(()=>{let e=f.value.edges,t=h.value;if(!t||t.dx===0&&t.dy===0)return e;let n=new Set;for(let e of r.graph.edges)(t.ids.has(e.from)||t.ids.has(e.to))&&n.add(e.id);if(n.size===0)return e;let i=new Map;for(let[t,n]of e)i.set(t,n.label?{width:n.label.width,height:n.label.height,lines:n.label.lines}:void 0);let a=new Map([...f.value.waypoints].filter(([e])=>!n.has(e))),o=Um(r.graph,g.value,{direction:f.value.direction,routing:f.value.routing,registry:r.registry,waypoints:a,labelAt:new Map,labels:i,groups:f.value.groups},n),s=new Map(e);for(let[e,t]of o)s.set(e,t);return s}),v=q(()=>f.value.groups),y=q(()=>h.value?Ym(g.value,_.value,v.value):f.value.bounds),b=q(()=>new Set(r.selection)),x=q(()=>new Set(nh(r.graph,r.monitor?.path))),S=q(()=>new Set(r.monitor?.path??[])),C=q(()=>new Set(r.monitor?.current??[]));function w(e,t){return r.enabledOverrides?.get(t.id)??Bf(t)}function T(e){if(e)return r.statusTones[e]??rh[e]??`neutral`}function ee(e){return!w(`node`,e)}function E(e){if(!w(`edge`,e))return!0;let t=p.value.get(e.from),n=p.value.get(e.to);return!!t&&ee(t)||!!n&&ee(n)}function te(e){let t=r.monitor?.edges[e.id];return{"is-disabled":E(e),"is-selected":b.value.has(e.id),"is-focused":M.value===e.id,"is-hovered":N.value===e.id,"is-path":x.value.has(e.id),"is-traversed":!!t?.traversed&&!x.value.has(e.id),"is-association":e.kind===`association`,"has-error":r.issues?.get(e.id)===`error`,"has-warning":r.issues?.get(e.id)===`warning`}}function D(e){if(e.kind===`association`)return;let t=te(e),n=t[`is-selected`]||t[`is-path`]?`accent`:t[`is-traversed`]?`success`:t[`is-disabled`]?`muted`:`default`;return`url(#${a}-arrow-${n})`}function O(e){let t=r.monitor?.edges[e.id]?.count;return t==null?``:String(t)}function k(e){return r.drillable?r.drillable(e):e.subgraph!==void 0}function A(e){let t=[e.label||r.labels.types[e.type]||e.type,r.labels.types[e.type]??e.type],n=r.monitor?.nodes[e.id]?.status;n&&t.push(r.labels.statuses[n]??n);let i=r.monitor?.nodes[e.id]?.count;return i!==void 0&&t.push(`${r.labels.instances}: ${i}`),ee(e)&&t.push(r.labels.disabledTag),C.value.has(e.id)&&t.push(r.labels.currentPath),t.join(`, `)}function j(e){let t=p.value.get(e.from),n=p.value.get(e.to),i=[`${t?.label??e.from} → ${n?.label??e.to}`];return e.label&&i.unshift(e.label),E(e)&&i.push(r.labels.disabledTag),i.join(`, `)}let M=I(null),N=I(null),ne;function re(e){clearTimeout(ne),e?N.value=e:ne=setTimeout(()=>N.value=null,160)}function ie(e){return p.value.has(e)?{kind:`node`,id:e}:m.value.has(e)?{kind:`edge`,id:e}:null}function ae(e,t=!1){if(!e){r.selection.length&&i(`select`,[],null);return}let n=ie(e);if(t){let t=new Set(r.selection);t.has(e)?t.delete(e):t.add(e),i(`select`,[...t],t.has(e)?n:null)}else i(`select`,[e],n)}function oe(e){let t=typeof CSS<`u`&&CSS.escape?CSS.escape(e):e.replace(/["\\]/g,`\\$&`);(o.value?.querySelector(`[data-focus-id="${t}"]`))?.focus({preventScroll:!0})}function ce(e){M.value=e,i(`focus-change`,e);let t=g.value.get(e)??_.value.get(e)?.label;t&&!Ah(s.current(),t,s.size.value.width,s.size.value.height)&&s.centre({x:t.x,y:t.y})}function le(e){M.value===e&&(M.value=null,i(`focus-change`,null))}let ue=Zt(null),de=new Map,fe=null,pe=!1,me,he=0,ge=null,_e,ve=null,ye=q(()=>{let e=ue.value;return!e||e.kind!==`band`?null:{x:Math.min(e.start.x,e.end.x),y:Math.min(e.start.y,e.end.y),width:Math.abs(e.end.x-e.start.x),height:Math.abs(e.end.y-e.start.y)}}),be=q(()=>{let e=ue.value;if(!e||e.kind!==`connect`)return null;let t=e.target?.point??e.pointer,n=t.x-e.start.x,r=t.y-e.start.y,i=Math.max(30,Math.hypot(n,r)*.4),a={top:[0,-1],right:[1,0],bottom:[0,1],left:[-1,0]}[e.side];return{d:`M ${e.start.x} ${e.start.y} C ${e.start.x+a[0]*i} ${e.start.y+a[1]*i} ${t.x-n*.2} ${t.y-r*.2} ${t.x} ${t.y}`,target:e.target?.node??null,end:t}});function xe(e){let t=e;for(;t&&t!==o.value;){let e=t.dataset??{};if(e.flUi!==void 0)return{kind:`ui`,id:``};if(e.portNode)return{kind:`port`,id:e.portNode,side:e.portSide,port:e.portId||void 0};if(e.edgeEnd)return{kind:`end`,id:e.edgeEnd,end:e.end};if(e.nodeId)return{kind:`node`,id:e.nodeId};if(e.edgeId)return{kind:`edge`,id:e.edgeId};t=t.parentElement}return null}function Se(e){let t=xe(e.target);if(t?.kind===`ui`)return;if(de.set(e.pointerId,{x:e.clientX,y:e.clientY}),de.size===2){ke();let[e,t]=[...de.values()];fe={dist:Math.hypot(e.x-t.x,e.y-t.y),mid:{x:(e.x+t.x)/2,y:(e.y+t.y)/2}};return}if(e.button===2)return;let n=s.clientToGraph(e.clientX,e.clientY);e.pointerType===`touch`&&(clearTimeout(me),me=setTimeout(()=>{let r=ue.value;r&&(r.kind===`pan`&&r.moved||r.kind===`drag`&&r.moved)||(ke(),i(`contextmenu`,{target:t&&(t.kind===`node`||t.kind===`edge`)?{kind:t.kind,id:t.id}:null,point:n,client:{x:e.clientX,y:e.clientY}}))},550));let a=e.button===1||pe;if(!a&&r.editable&&t?.kind===`port`){let r=Ie(p.value.get(t.id),g.value.get(t.id),t.side,t.port);ue.value={kind:`connect`,from:t.id,fromPort:t.port,side:t.side,start:r,pointer:n,target:null},Ce(e),e.preventDefault();return}if(!a&&r.editable&&t?.kind===`end`){let r=m.value.get(t.id),i=_.value.get(t.id),a=t.end===`from`?i.to:i.from;ue.value={kind:`connect`,from:t.end===`from`?r.to:r.from,fromPort:t.end===`from`?r.toPort:r.fromPort,side:a.side,start:a.point,pointer:n,target:null,reconnect:{id:r.id,end:t.end,fixed:t.end===`from`?r.to:r.from,fixedPort:t.end===`from`?r.toPort:r.fromPort}},Ce(e),e.preventDefault();return}if(!a&&!r.editable&&(t?.kind===`node`||t?.kind===`edge`)){let n=s.current();ue.value={kind:`pan`,startX:e.clientX,startY:e.clientY,vx:n.x,vy:n.y,moved:!1,tap:{id:t.id,additive:e.shiftKey||e.metaKey||e.ctrlKey}},ve=e.pointerId;return}if(!a&&t?.kind===`node`){let i=e.shiftKey||e.metaKey||e.ctrlKey,a=b.value.has(t.id);if((!a||i)&&ae(t.id,i),r.editable&&!(i&&a)){let o=new Set(a&&!i?r.selection.filter(e=>p.value.has(e)):i?[...r.selection.filter(e=>p.value.has(e)),t.id]:[t.id]);for(let e of o){let t=p.value.get(e);t&&r.isLocked?.(t)&&o.delete(e)}ue.value={kind:`drag`,id:t.id,ids:o,start:n,moved:!1,additive:i},ve=e.pointerId}return}if(!a&&t?.kind===`edge`){ae(t.id,e.shiftKey||e.metaKey||e.ctrlKey);return}if(!a&&r.editable&&e.shiftKey){ue.value={kind:`band`,start:n,end:n,additive:!0,base:[...r.selection]},Ce(e);return}let o=s.current();ue.value={kind:`pan`,startX:e.clientX,startY:e.clientY,vx:o.x,vy:o.y,moved:!1},Ce(e)}function Ce(e){try{e.currentTarget.setPointerCapture?.(e.pointerId)}catch{}}function we(e){if(de.has(e.pointerId)&&de.set(e.pointerId,{x:e.clientX,y:e.clientY}),fe&&de.size>=2){let[e,t]=[...de.values()],n=Math.hypot(e.x-t.x,e.y-t.y),r={x:(e.x+t.x)/2,y:(e.y+t.y)/2},i=s.clientToLocal(r.x,r.y);s.panBy(r.x-fe.mid.x,r.y-fe.mid.y),fe.dist>0&&s.zoomBy(n/fe.dist,i),fe={dist:n,mid:r},Ke=!0}else if(ue.value){if(ve===e.pointerId){let t=ue.value,n=t.kind===`pan`?{x:t.startX,y:t.startY}:null;if(!n||Math.hypot(e.clientX-n.x,e.clientY-n.y)>3){ve=null;try{o.value?.setPointerCapture(e.pointerId)}catch{}}}ge=e,!he&&(he=(typeof requestAnimationFrame==`function`?requestAnimationFrame:e=>setTimeout(()=>e(0),0))(()=>{he=0,ge&&Te(ge)}))}}function Te(e){let t=ue.value;if(!t)return;let n=s.clientToGraph(e.clientX,e.clientY);if(t.kind===`pan`){let n=e.clientX-t.startX,r=e.clientY-t.startY;Math.hypot(n,r)>3&&(t.moved=!0,Ke=!0,clearTimeout(me)),s.set({...s.current(),x:t.vx+n,y:t.vy+r})}else if(t.kind===`band`)ue.value={...t,end:n};else if(t.kind===`drag`){let e=n.x-t.start.x,i=n.y-t.start.y;if(!t.moved&&Math.hypot(e,i)*s.current().k<4)return;if(t.moved=!0,clearTimeout(me),r.snapGrid>0){let n=f.value.nodes.get(t.id);if(n){let t=ph({x:n.x+e,y:n.y+i},r.snapGrid);e=t.x-n.x,i=t.y-n.y}}h.value={ids:t.ids,dx:e,dy:i}}else t.kind===`connect`&&(ue.value={...t,pointer:n,target:Ee(n,t)})}function Ee(e,t){let n=28/s.current().k,i=null;for(let a of r.graph.nodes){let o=g.value.get(a.id);if(!o||!(Math.abs(e.x-o.x)<=o.width/2+n&&Math.abs(e.y-o.y)<=o.height/2+n))continue;let s=ip(r.registry,a.type),c=!t.reconnect||t.reconnect.end===`to`;if(!(c&&s.noIncoming)&&(c||!s.noOutgoing)&&(a.id!==t.from||t.reconnect))for(let t of Le(a,o)){if(t.port&&De(a,t.port,c))continue;let n=Math.hypot(t.point.x-e.x,t.point.y-e.y);(!i||n<i.d)&&(i={node:a.id,port:t.port,point:t.point,d:n})}}return i?{node:i.node,port:i.port,point:i.point}:null}function De(e,t,n){let i=ap(r.registry,e).find(e=>e.id===t);return!!i&&(n&&i.kind===`out`||!n&&i.kind===`in`)}function Oe(e){if(de.delete(e.pointerId),ve=null,clearTimeout(me),fe){de.size<2&&(fe=null);return}ge&&ue.value&&Te(e),ge=null;let t=ue.value;if(ue.value=null,t){if(t.kind===`pan`){if(!t.moved){let e=t.tap,n=e?p.value.get(e.id):void 0;clearTimeout(_e),n&&k(n)?_e=setTimeout(()=>ae(e.id,e.additive),230):ae(e?.id??null,e?.additive)}}else if(t.kind===`band`){let e=ye.value??{x:t.start.x,y:t.start.y,width:Math.abs(t.end.x-t.start.x),height:Math.abs(t.end.y-t.start.y)},n=Math.min(t.start.x,t.end.x),a=Math.min(t.start.y,t.end.y),o=n+e.width,s=a+e.height,c=r.graph.nodes.filter(e=>{let t=g.value.get(e.id);return t&&t.x+t.width/2>=n&&t.x-t.width/2<=o&&t.y+t.height/2>=a&&t.y-t.height/2<=s}).map(e=>e.id),l=[...new Set([...t.base,...c])];i(`select`,l,l.length?ie(l[l.length-1]):null)}else if(t.kind===`drag`){let e=h.value;if(h.value=null,t.moved&&e&&(e.dx!==0||e.dy!==0)){let t=[...e.ids].map(t=>{let n=f.value.nodes.get(t);return{id:t,position:{x:Math.round(n.x+e.dx),y:Math.round(n.y+e.dy)}}});i(`move`,t)}else!t.moved&&!t.additive&&r.selection.length>1&&ae(t.id)}else if(t.kind===`connect`){let e=t.target;if(t.reconnect)e?i(`reconnect`,{id:t.reconnect.id,end:t.reconnect.end,node:e.node,port:e.port}):i(`detach`,t.reconnect.id);else if(e){let n={from:t.from,to:e.node};t.fromPort&&(n.fromPort=t.fromPort),e.port&&(n.toPort=e.port),i(`connect`,n)}}}}function ke(){ue.value?.kind===`drag`&&(h.value=null),ue.value=null,clearTimeout(me)}function Ae(e){if(r.graph.nodes.length===0)return;e.preventDefault(),Ke=!0;let t=s.clientToLocal(e.clientX,e.clientY);if(e.ctrlKey||e.metaKey||r.wheel===`zoom`){let n=e.ctrlKey?.01:.0015,r=e.deltaMode===1?e.deltaY*16:e.deltaY;s.zoomBy(Math.exp(-r*n),t)}else s.panBy(-e.deltaX,-e.deltaY)}function je(e){let t=xe(e.target);if(t?.kind===`ui`)return;e.preventDefault();let n=t&&(t.kind===`node`||t.kind===`edge`)?{kind:t.kind,id:t.id}:null;n&&!b.value.has(n.id)&&ae(n.id),i(`contextmenu`,{target:n,point:s.clientToGraph(e.clientX,e.clientY),client:{x:e.clientX,y:e.clientY}})}function Me(e){let t=xe(e.target);if(t?.kind===`node`){let e=p.value.get(t.id);clearTimeout(_e),e&&!r.editable&&k(e)?i(`enter`,e.id):i(`activate`,{kind:`node`,id:t.id})}else t?.kind===`edge`?i(`activate`,{kind:`edge`,id:t.id}):t||i(`background-dblclick`,s.clientToGraph(e.clientX,e.clientY))}function Ne(e){if(e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement)return;if(e.key===` `&&!e.target?.closest?.(`[data-focus-id]`)){pe=!0,o.value?.classList.add(`is-space`),e.preventDefault();return}let t=M.value;if(e.key===`Escape`){if(ue.value){ke(),e.preventDefault();return}i(`escape`)}else if((e.key===`Enter`||e.key===` `)&&t){e.preventDefault();let n=ie(t);if(!n)return;ae(t,e.shiftKey),e.shiftKey||i(`activate`,n)}else if(e.key.startsWith(`Arrow`)){let n=e.key.slice(5).toLowerCase();if(r.editable&&r.selection.some(e=>p.value.has(e))&&!e.altKey)return;let i=t?g.value.get(t)??_.value.get(t)?.label:void 0,a=i??{x:y.value.x,y:y.value.y+y.value.height/2},o=i?jh(a,[...g.value.values()].filter(e=>e.id!==t),n):r.graph.nodes[0]?.id;o&&(e.preventDefault(),oe(o))}else e.ctrlKey||e.metaKey||e.altKey||(e.key===`+`||e.key===`=`?(s.zoomBy(1.2,void 0,!0),e.preventDefault()):e.key===`-`||e.key===`_`?(s.zoomBy(1/1.2,void 0,!0),e.preventDefault()):e.key===`0`&&(Ge(!0),e.preventDefault()))}function Pe(e){e.key===` `&&(pe=!1,o.value?.classList.remove(`is-space`))}let Fe=[`top`,`right`,`bottom`,`left`];function Ie(e,t,n,i){let a=i?ap(r.registry,e).find(e=>e.id===i):void 0,o=ip(r.registry,e.type),s=o.shape===`rect`||o.shape===`rounded`||o.shape===`note`||o.shape===`pill`;return am(t,a?.side??n,s?a?.offset??.5:.5)}function Le(e,t){let n=ap(r.registry,e);return n.length?n.map(n=>({side:n.side,port:n.id,point:Ie(e,t,n.side,n.id),kind:n.kind??`both`})):Fe.map(e=>({side:e,point:am(t,e,.5),kind:`both`}))}let Re=q(()=>{if(!r.editable)return[];let e=new Set;N.value&&p.value.has(N.value)&&e.add(N.value);let t=ue.value;return t?.kind===`connect`&&(e.add(t.from),t.target&&e.add(t.target.node)),r.selection.length===1&&p.value.has(r.selection[0])&&e.add(r.selection[0]),t?.kind===`drag`&&t.moved?[]:[...e].map(e=>p.value.get(e)).map(e=>({node:e,handles:Le(e,g.value.get(e.id)),def:ip(r.registry,e.type)}))}),ze=q(()=>{if(!r.editable||r.selection.length!==1)return null;let e=r.selection[0],t=_.value.get(e);return!t||ue.value?.kind===`connect`?null:{id:e,from:t.from.point,to:t.to.point}}),Be=q(()=>{if(r.editable||ue.value)return null;let e=N.value;if(!e)return null;let t=s.view.value,n=p.value.get(e);if(n){let i=k(n);if(!r.toggleable&&!i)return null;let a=g.value.get(e);return a?{kind:`node`,id:e,x:a.x*t.k+t.x,y:(a.y-a.height/2)*t.k+t.y,enabled:!ee(n),drill:i,label:n.label??n.id}:null}let i=m.value.get(e);if(i&&r.toggleable){let n=_.value.get(e);if(!n)return null;let r=n.label??n.points[Math.floor(n.points.length/2)];return{kind:`edge`,id:e,x:r.x*t.k+t.x,y:(r.y-(n.label?n.label.height/2:0))*t.k+t.y,enabled:w(`edge`,i),drill:!1,label:i.label??`${i.from} → ${i.to}`}}return null});function Ve(){let e=o.value,t={top:16,right:16,bottom:16,left:16};if(!e)return t;let n=e.getBoundingClientRect();for(let r of e.querySelectorAll(`.fl-status, .fl-nav`)){let e=r.getBoundingClientRect();e.height>0&&e.top-n.top<n.height/3&&(t.top=Math.max(t.top,e.bottom-n.top+12))}for(let r of e.querySelectorAll(`.fl-controls, .fl-minimap, .fl-hint`)){let e=r.getBoundingClientRect();e.height>0&&n.bottom-e.bottom<n.height/3&&(t.bottom=Math.max(t.bottom,n.bottom-e.top+12))}return t}function He(e,t,n,r,i,a){if((r-n)*e<=a)return i+a/2-(n+r)/2*e;let o=i+a/2-t*e;return Math.min(i-n*e,Math.max(i+a-r*e,o))}function Ue(e,t){let{width:n,height:r}=s.size.value,i=f.value.bounds,a=Ve();return{k:e,x:He(e,t.x,i.x,i.x+i.width,a.left,n-a.left-a.right),y:He(e,t.y,i.y,i.y+i.height,a.top,r-a.top-a.bottom)}}function We(){let{width:e,height:t}=s.size.value,n=f.value.bounds,i=Ve(),a=Math.min((e-i.left-i.right)/Math.max(1,n.width),(t-i.top-i.bottom)/Math.max(1,n.height),1);return Math.min(r.maxZoom,Math.max(r.minZoom,a))}function Ge(e=!1){let t=f.value.bounds;t.width===0&&t.height===0||!s.size.value.width||s.set(Ue(We(),{x:t.x+t.width/2,y:t.y+t.height/2}),e)}let Ke=!1;function qe(){let e=g.value;for(let t of r.monitor?.current??[])if(e.has(t))return e.get(t);for(let[t,n]of Object.entries(r.monitor?.nodes??{}))if(n.status===`active`&&e.has(t))return e.get(t);let t=r.graph.nodes.find(t=>ip(r.registry,t.type).noIncoming&&e.has(t.id));if(t)return e.get(t.id);let n=f.value.direction===`LR`,i;for(let t of e.values())(!i||(n?t.x<i.x:t.y<i.y))&&(i=t);return i}function Je(){let e=f.value.bounds;if(e.width===0&&e.height===0||!s.size.value.width)return;if(We()>=l_){Ge();return}let t=qe()??{x:e.x+e.width/2,y:e.y+e.height/2};s.set(Ue(Math.min(1,r.maxZoom),t))}let Ye,Xe=!1;Kr(()=>{let e=o.value,t=typeof getComputedStyle==`function`?getComputedStyle(e).fontFamily:``;c.value=wg(t);let n=()=>{let t=e.getBoundingClientRect(),n=s.size.value.width===0;s.size.value={width:t.width,height:t.height},n&&t.width>0&&(l.value=t.height>t.width*1.1?`TB`:`LR`),(n||!Xe)&&kn(()=>{Je(),Xe=s.size.value.width>0&&r.graph.nodes.length>0})};n(),typeof ResizeObserver==`function`&&(Ye=new ResizeObserver(n),Ye.observe(e)),window.addEventListener(`keyup`,Pe),window.addEventListener(`blur`,Ze)});function Ze(){pe=!1,o.value?.classList.remove(`is-space`)}Yr(()=>{Ye?.disconnect(),s.dispose(),clearTimeout(ne),clearTimeout(me),clearTimeout(_e),window.removeEventListener(`keyup`,Pe),window.removeEventListener(`blur`,Ze)}),Zn(()=>r.fitKey,async()=>{Ke=!1,await kn(),Je(),Xe=r.graph.nodes.length>0}),Zn(()=>r.graph.nodes.length>0,async e=>{e&&!Xe&&(await kn(),Je(),Xe=s.size.value.width>0)}),Zn(()=>r.monitor?.current?.[0],(e,t)=>{if(!e||Ke||!Xe)return;let n=g.value.get(e);!n||t&&Ah(s.current(),n,s.size.value.width,s.size.value.height,32)||s.set(Ue(s.current().k,n),!0)});let Qe=q(()=>{let e=s.view.value;return`translate(${e.x} ${e.y}) scale(${e.k})`}),$e=q(()=>{let e=(r.snapGrid>0?r.snapGrid:20)*s.view.value.k;for(;e<10;)e*=2;return e});function et(){Ke=!0,s.zoomTo(1)}function tt(e){Ke=!0,s.zoomBy(e,void 0,!0)}let nt=q(()=>Math.round(s.view.value.k*100));t({fit:Ge,zoomIn:()=>s.zoomBy(1.2,void 0,!0),zoomOut:()=>s.zoomBy(1/1.2,void 0,!0),zoomTo:e=>s.zoomTo(e),centreOn:e=>{let t=g.value.get(e)??_.value.get(e)?.label;t&&s.centre({x:t.x,y:t.y})},focusElement:oe,clientToGraph:s.clientToGraph,viewCentre:()=>{let{width:e,height:t}=s.size.value,n=s.current();return{x:(e/2-n.x)/n.k,y:(t/2-n.y)/n.k}},layout:f,nodeBoxes:g,root:o});function rt(e){let t=new Map((r.graph.groups??[]).map(e=>[e.id,e.parent])),n=[],i=e;for(;i!==void 0&&!n.includes(i)&&n.length<50;)n.push(i),i=t.get(i);return n.length?n.join(` `):void 0}function it(e){let t=ip(r.registry,e.type);return r.nodeIcons[e.type]??(t.icon?r.nodeIcons[t.icon]??Mh[t.icon]:void 0)}return(t,n)=>(B(),V(`div`,{ref_key:`root`,ref:o,class:P([`fl-canvas`,{"is-editable":e.editable,"is-panning":ue.value?.kind===`pan`&&ue.value.moved,"is-dragging":ue.value?.kind===`drag`&&ue.value.moved,"is-connecting":ue.value?.kind===`connect`,"is-animating":L(s).animate.value}]),onPointerdown:Se,onPointermove:we,onPointerup:Oe,onPointercancel:Oe,onWheel:Ae,onContextmenu:je,onDblclick:Me,onKeydown:Ne},[(B(),V(`svg`,{class:`fl-svg`,role:`group`,"aria-label":e.ariaLabel??e.graph.meta?.title??e.labels.graph,"aria-roledescription":e.labels.graph},[U(`defs`,null,[U(`pattern`,{id:`${L(a)}-grid`,width:$e.value,height:$e.value,patternUnits:`userSpaceOnUse`,x:L(s).view.value.x%$e.value,y:L(s).view.value.y%$e.value},[...n[12]||=[U(`circle`,{class:`fl-grid-dot`,cx:1,cy:1,r:`1`},null,-1)]],8,Dg),(B(),V(z,null,oi([`default`,`accent`,`success`,`muted`,`danger`],e=>U(`marker`,{id:`${L(a)}-arrow-${e}`,key:e,class:P(`fl-arrow fl-arrow--${e}`),viewBox:`0 0 10 10`,refX:`9`,refY:`5`,markerWidth:`7`,markerHeight:`7`,markerUnits:`userSpaceOnUse`,orient:`auto-start-reverse`},[...n[13]||=[U(`path`,{d:`M 1 1.5 L 9 5 L 1 8.5 Q 2.5 5 1 1.5 Z`},null,-1)]],10,Og)),64))]),U(`rect`,{class:`fl-bg`,width:`100%`,height:`100%`,fill:`url(#${L(a)}-grid)`},null,8,kg),U(`g`,{class:`fl-viewport`,transform:Qe.value},[U(`g`,jg,[(B(!0),V(z,null,oi(v.value.values(),e=>(B(),V(`g`,{key:e.id,class:`fl-group`,"data-group-id":e.id},[U(`rect`,{x:e.x-e.width/2,y:e.y-e.height/2,width:e.width,height:e.height,rx:`14`},null,8,Ng),e.label?(B(),V(`text`,{key:0,class:`fl-group__label`,x:e.x-e.width/2+14,y:e.y-e.height/2+20},F(e.label),9,Pg)):K(``,!0)],8,Mg))),128))]),U(`g`,Fg,[(B(!0),V(z,null,oi(e.graph.edges,e=>(B(),V(z,{key:e.id},[_.value.get(e.id)?(B(),V(`g`,{key:0,class:P([`fl-edge`,te(e)]),"data-edge-id":e.id,"data-from":e.from,"data-to":e.to,onPointerenter:t=>re(e.id),onPointerleave:n[0]||=e=>re(null)},[U(`path`,{class:`fl-edge__hit`,d:_.value.get(e.id).d},null,8,Lg),U(`path`,{class:`fl-edge__line`,d:_.value.get(e.id).d,"marker-end":D(e)},null,8,Rg),x.value.has(e.id)?(B(),V(`path`,{key:0,class:`fl-edge__flow`,d:_.value.get(e.id).d},null,8,zg)):K(``,!0)],42,Ig)):K(``,!0)],64))),128))]),U(`g`,Bg,[(B(!0),V(z,null,oi(e.graph.nodes,t=>(B(),V(`g`,{key:t.id,class:P([`fl-node-wrap`,{"is-hovered":N.value===t.id,"is-drop-target":be.value?.target===t.id}]),"data-node-id":t.id,"data-focus-id":t.id,"data-groups":rt(t.group),transform:`translate(${g.value.get(t.id).x-g.value.get(t.id).width/2} ${g.value.get(t.id).y-g.value.get(t.id).height/2})`,tabindex:`0`,role:`button`,"aria-label":A(t),"aria-pressed":b.value.has(t.id),"aria-disabled":ee(t)||void 0,onFocus:e=>ce(t.id),onBlur:e=>le(t.id),onPointerenter:e=>re(t.id),onPointerleave:n[1]||=e=>re(null)},[e.nodeRenderers[t.type]?(B(),H(ri(e.nodeRenderers[t.type]),{key:0,node:t,geometry:g.value.get(t.id),state:e.monitor?.nodes[t.id],selected:b.value.has(t.id),disabled:ee(t),current:C.value.has(t.id),labels:e.labels},null,8,[`node`,`geometry`,`state`,`selected`,`disabled`,`current`,`labels`])):(B(),H(cg,{key:1,node:t,geometry:g.value.get(t.id),def:L(ip)(e.registry,t.type),run:e.monitor?.nodes[t.id],tone:T(e.monitor?.nodes[t.id]?.status),disabled:ee(t),selected:b.value.has(t.id),focused:M.value===t.id,current:C.value.has(t.id),"on-path":S.value.has(t.id),issue:e.issues?.get(t.id),drillable:k(t),icon:it(t),labels:e.labels,"label-side":f.value.direction===`TB`?`right`:`below`,onEnter:e=>i(`enter`,t.id)},null,8,[`node`,`geometry`,`def`,`run`,`tone`,`disabled`,`selected`,`focused`,`current`,`on-path`,`issue`,`drillable`,`icon`,`labels`,`label-side`,`onEnter`]))],42,Vg))),128))]),U(`g`,Hg,[(B(!0),V(z,null,oi(e.graph.edges,t=>(B(),V(z,{key:t.id},[_.value.get(t.id)?(B(),V(`g`,{key:0,class:P([`fl-edge-label`,te(t)]),"data-edge-id":t.id,"data-focus-id":t.id,tabindex:e.editable||e.toggleable?0:-1,role:`button`,"aria-label":j(t),"aria-pressed":b.value.has(t.id),onFocus:e=>ce(t.id),onBlur:e=>le(t.id),onPointerenter:e=>re(t.id),onPointerleave:n[2]||=e=>re(null)},[_.value.get(t.id).label?(B(),V(z,{key:0},[U(`rect`,{class:`fl-edge-label__bg`,x:_.value.get(t.id).label.x-_.value.get(t.id).label.width/2,y:_.value.get(t.id).label.y-_.value.get(t.id).label.height/2,width:_.value.get(t.id).label.width,height:_.value.get(t.id).label.height,rx:`6`},null,8,Wg),U(`text`,{class:`fl-edge-label__text`,x:_.value.get(t.id).label.x-(O(t)||e.reserveCounters?15:0),y:_.value.get(t.id).label.y-(_.value.get(t.id).label.lines.length-1)*7.5+4.5,"text-anchor":`middle`},[(B(!0),V(z,null,oi(_.value.get(t.id).label.lines,(n,r)=>(B(),V(`tspan`,{key:r,x:_.value.get(t.id).label.x-(O(t)||e.reserveCounters?15:0),dy:r===0?0:15},F(n),9,Kg))),128))],8,Gg),O(t)?(B(),V(`g`,{key:0,class:`fl-edge-count`,transform:`translate(${_.value.get(t.id).label.x+_.value.get(t.id).label.width/2-16} ${_.value.get(t.id).label.y})`},[n[14]||=U(`rect`,{x:`-12`,y:`-8`,width:`24`,height:`16`,rx:`8`},null,-1),U(`text`,Jg,F(O(t)),1)],8,qg)):K(``,!0)],64)):O(t)?(B(),V(`g`,{key:1,class:`fl-edge-count fl-edge-count--alone`,transform:`translate(${_.value.get(t.id).points[Math.floor(_.value.get(t.id).points.length/2)].x} ${_.value.get(t.id).points[Math.floor(_.value.get(t.id).points.length/2)].y})`},[n[15]||=U(`rect`,{x:`-13`,y:`-9`,width:`26`,height:`18`,rx:`9`},null,-1),U(`text`,Xg,F(O(t)),1)],8,Yg)):K(``,!0)],42,Ug)):K(``,!0)],64))),128))]),e.editable?(B(),V(`g`,Zg,[(B(!0),V(z,null,oi(Re.value,e=>(B(),V(`g`,{key:e.node.id,class:`fl-handles`},[(B(!0),V(z,null,oi(e.handles,t=>(B(),V(z,{key:t.side+(t.port??``)},[!(e.def.noOutgoing&&t.kind!==`in`&&ue.value?.kind!==`connect`)||be.value?.target===e.node.id?(B(),V(`g`,{key:0,class:P([`fl-handle`,{"is-snapped":be.value?.target===e.node.id&&be.value.end.x===t.point.x&&be.value.end.y===t.point.y}]),"data-port-node":e.node.id,"data-port-side":t.side,"data-port-id":t.port??``},[U(`circle`,{class:`fl-handle__hit`,cx:t.point.x,cy:t.point.y,r:`11`},null,8,$g),U(`circle`,{class:`fl-handle__dot`,cx:t.point.x,cy:t.point.y,r:`5`},null,8,e_)],10,Qg)):K(``,!0)],64))),128))]))),128)),ze.value?(B(),V(`g`,t_,[(B(),V(z,null,oi([`from`,`to`],e=>U(`circle`,{key:e,class:`fl-edge-end`,"data-edge-end":ze.value.id,"data-end":e,cx:ze.value[e].x,cy:ze.value[e].y,r:`6`},null,8,n_)),64))])):K(``,!0),be.value?(B(),V(`path`,{key:1,class:P([`fl-connect-preview`,{"is-snapped":!!be.value.target}]),d:be.value.d,"marker-end":`url(#${L(a)}-arrow-accent)`},null,10,r_)):K(``,!0),ye.value?(B(),V(`rect`,{key:2,class:`fl-band`,x:ye.value.x,y:ye.value.y,width:ye.value.width,height:ye.value.height},null,8,i_)):K(``,!0)])):K(``,!0)],8,Ag)],8,Eg)),e.graph.nodes.length===0?(B(),V(`div`,a_,[ci(t.$slots,`empty`,{},()=>[U(`p`,o_,F(e.labels.empty),1),U(`p`,s_,F(e.labels.emptyHint),1)])])):K(``,!0),d.value?(B(),V(`div`,c_,F(d.value),1)):K(``,!0),Be.value?(B(),V(`div`,{key:2,class:P([`fl-hovebar`,`fl-hovebar--${Be.value.kind}`]),"data-fl-ui":``,style:se({left:`${Be.value.x}px`,top:`${Be.value.y}px`}),onPointerenter:n[5]||=e=>re(Be.value.id),onPointerleave:n[6]||=e=>re(null)},[e.toggleable?(B(),H(L(pu),{key:0,size:`sm`,"model-value":Be.value.enabled,label:e.labels.enabled,"aria-label":`${e.labels.enabled}: ${Be.value.label}`,"onUpdate:modelValue":n[3]||=e=>i(`toggle`,{kind:Be.value.kind,id:Be.value.id,enabled:e})},null,8,[`model-value`,`label`,`aria-label`])):K(``,!0),Be.value.drill?(B(),H(L(pd),{key:1,content:e.labels.enter},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(ll),"aria-label":`${e.labels.enter}: ${Be.value.label}`,onClick:n[4]||=e=>i(`enter`,Be.value.id)},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`])):K(``,!0)],38)):K(``,!0),ci(t.$slots,`overlay`),e.controls&&e.graph.nodes.length>0?(B(),H(bg,{key:3,labels:e.labels,zoom:nt.value,minimap:e.minimap,onZoomIn:n[7]||=e=>tt(1.2),onZoomOut:n[8]||=e=>tt(1/1.2),onZoomReset:et,onFit:n[9]||=e=>Ge(!0),"onUpdate:minimap":n[10]||=e=>i(`update:minimap`,e)},{default:R(()=>[ci(t.$slots,`controls`)]),_:3},8,[`labels`,`zoom`,`minimap`])):K(``,!0),e.minimap&&e.graph.nodes.length>0?(B(),H(vg,{key:4,nodes:g.value,groups:v.value,bounds:y.value,view:L(s).view.value,size:L(s).size.value,selection:b.value,current:C.value,label:e.labels.minimap,onCentre:n[11]||=e=>L(s).centre(e,!1)},null,8,[`nodes`,`groups`,`bounds`,`view`,`size`,`selection`,`current`,`label`])):K(``,!0)],34))}}),d_={class:`fl-menu-label`},f_={key:0,class:`fl-menu-shortcut`},p_=Ar({__name:`FlowContextMenu`,setup(e,{expose:t}){let n=I([]),r=I(null);async function i(e,t){n.value=t,await kn(),r.value?.openAt(e.x,e.y)}return t({open:i}),(e,t)=>(B(),H(L(Sd),{ref_key:`menu`,ref:r,class:`fl-context-menu`},{default:R(()=>[(B(!0),V(z,null,oi(n.value,(e,t)=>(B(),V(z,{key:t},[e.separator?(B(),H(L(kd),{key:0})):e.children?(B(),H(L(Ld),{key:1,label:e.label??``,icon:e.icon},{default:R(()=>[(B(!0),V(z,null,oi(e.children,(e,t)=>(B(),H(L(wd),{key:t,icon:e.icon,disabled:e.disabled,onClick:t=>e.action?.()},{default:R(()=>[G(F(e.label),1)]),_:2},1032,[`icon`,`disabled`,`onClick`]))),128))]),_:2},1032,[`label`,`icon`])):(B(),H(L(wd),{key:2,icon:e.icon,disabled:e.disabled,variant:e.danger?`danger`:`default`,onClick:t=>e.action?.()},{default:R(()=>[U(`span`,d_,F(e.label),1),e.shortcut?(B(),V(`kbd`,f_,F(e.shortcut),1)):K(``,!0)]),_:2},1032,[`icon`,`disabled`,`variant`,`onClick`]))],64))),128))]),_:1},512))}}),m_={class:`fl-import`},h_=Ar({__name:`FlowImportDialog`,props:{open:{type:Boolean},mode:{},labels:{},mermaid:{type:Function}},emits:[`update:open`,`import`],setup(e,{emit:t}){let n=e,r=t,i=I(``),a=I(``);Zn(()=>n.open,e=>{e&&(i.value=``,a.value=``)});let o=q(()=>n.mode===`json`?n.labels.importJson:n.labels.importMermaid);function s(){try{let e=n.mode===`json`?Qf(i.value):n.mermaid(i.value);r(`import`,e),r(`update:open`,!1)}catch(e){a.value=e instanceof Error?e.message:String(e)}}return(t,n)=>(B(),H(L(ed),{"model-value":e.open,title:o.value,size:`lg`,"onUpdate:modelValue":n[2]||=e=>r(`update:open`,e)},{footer:R(()=>[W(L(xl),{variant:`ghost`,onClick:n[1]||=e=>r(`update:open`,!1)},{default:R(()=>[G(F(e.labels.cancel),1)]),_:1}),W(L(xl),{variant:`primary`,class:`fl-import__apply`,disabled:!i.value.trim(),onClick:s},{default:R(()=>[G(F(e.labels.importApply),1)]),_:1},8,[`disabled`])]),default:R(()=>[U(`div`,m_,[W(L(cu),{modelValue:i.value,"onUpdate:modelValue":n[0]||=e=>i.value=e,class:`fl-import__source`,rows:12,placeholder:e.mode===`json`?e.labels.importPlaceholderJson:e.labels.importPlaceholderMermaid,"aria-label":o.value},null,8,[`modelValue`,`placeholder`,`aria-label`]),a.value?(B(),H(L(ju),{key:0,variant:`danger`,title:e.labels.importError},{default:R(()=>[G(F(a.value),1)]),_:1},8,[`title`])):K(``,!0)])]),_:1},8,[`model-value`,`title`]))}}),g_={class:`fl-issues`},__={key:0,class:`fl-issues__none`},v_={key:1,class:`fl-issues__list`},y_={class:`fl-issue__text`},b_=Ar({__name:`FlowIssues`,props:{issues:{},labels:{}},emits:[`focus`],setup(e,{emit:t}){let n=t;return(t,r)=>(B(),V(`div`,g_,[e.issues.length===0?(B(),V(`p`,__,[W(L(Ic),{size:16,"aria-hidden":`true`}),G(` `+F(e.labels.noIssues),1)])):(B(),V(`ul`,v_,[(B(!0),V(z,null,oi(e.issues,(e,t)=>(B(),V(`li`,{key:t},[W(L(xl),{variant:`ghost`,size:`sm`,class:P([`fl-issue`,`fl-issue--${e.severity}`]),icon:e.severity===`error`?L(Fc):L(pl),disabled:!e.target,"data-code":e.code,onClick:t=>n(`focus`,e)},{default:R(()=>[U(`span`,y_,F(e.message),1)]),_:2},1032,[`class`,`icon`,`disabled`,`data-code`,`onClick`])]))),128))]))]))}}),x_=[`aria-label`],S_={class:`fl-palette__hint`},C_=Ar({__name:`FlowPalette`,props:{registry:{},types:{},labels:{},nodeIcons:{},disabled:{type:Boolean}},emits:[`add`,`drop`],setup(e,{emit:t}){let n=e,r=t,i=q(()=>n.types.filter(e=>n.registry.has(e)).map(e=>{let t=n.registry.get(e);return{type:e,title:n.labels.types[e]??t.title,icon:n.nodeIcons?.[e]??(t.icon?Mh[t.icon]:void 0)??Mh[e]??Mh.state,shape:t.shape}})),a=I(null),o={x:0,y:0},s=!1;function c(e,t,r){n.disabled||e.button!==0||(o={x:e.clientX,y:e.clientY},s=!1,a.value={type:t,title:r,x:e.clientX,y:e.clientY,moved:!1},window.addEventListener(`pointermove`,l),window.addEventListener(`pointerup`,u,{once:!0}),window.addEventListener(`pointercancel`,f,{once:!0}))}function l(e){let t=a.value;if(!t)return;let n=t.moved||Math.hypot(e.clientX-o.x,e.clientY-o.y)>5;a.value={...t,x:e.clientX,y:e.clientY,moved:n}}function u(e){let t=a.value;p(),t&&t.moved&&(s=!0,setTimeout(()=>s=!1,0),r(`drop`,t.type,{x:e.clientX,y:e.clientY}))}function d(e){s||r(`add`,e)}function f(){p()}function p(){a.value=null,window.removeEventListener(`pointermove`,l),window.removeEventListener(`pointerup`,u),window.removeEventListener(`pointercancel`,f)}return Yr(p),(t,n)=>(B(),V(`div`,{class:`fl-palette`,role:`list`,"aria-label":e.labels.palette},[(B(!0),V(z,null,oi(i.value,t=>(B(),V(`div`,{key:t.type,role:`listitem`,class:`fl-palette__item-wrap`},[W(L(xl),{variant:`secondary`,size:`sm`,class:P([`fl-palette__item`,`fl-palette__item--${t.shape}`]),icon:t.icon,disabled:e.disabled,"data-type":t.type,"aria-label":`${t.title}: ${e.labels.paletteHint}`,onPointerdown:e=>c(e,t.type,t.title),onClick:e=>d(t.type)},{default:R(()=>[G(F(t.title),1)]),_:2},1032,[`class`,`icon`,`disabled`,`data-type`,`aria-label`,`onPointerdown`,`onClick`])]))),128)),U(`p`,S_,F(e.labels.paletteHint),1),(B(),H(fr,{to:`body`},[a.value?.moved?(B(),V(`div`,{key:0,class:`fl-palette-ghost`,style:se({left:`${a.value.x}px`,top:`${a.value.y}px`})},F(a.value.title),5)):K(``,!0)]))],8,x_))}}),w_={class:`fl-props`},T_={class:`fl-props__count`},E_=[`aria-label`],D_={class:`fl-props__head`},O_={class:`fl-props__kind`},k_=[`title`],A_={key:2,class:`fl-props__section fl-props__transitions`},j_={key:0,class:`fl-props__muted`},M_={key:3,class:`fl-props__section`},N_={class:`fl-props__muted`},P_={class:`fl-props__row`},F_={class:`fl-props__head`},I_={class:`fl-props__kind`},L_=[`title`],R_={class:`fl-props__muted fl-props__route`},z_={class:`fl-props__muted`},B_={key:4,class:`fl-props__section`},V_=Ar({__name:`FlowProperties`,props:{graph:{},selection:{},registry:{},labels:{},readonly:{type:Boolean},locked:{type:Function}},emits:[`command`,`align`,`distribute`,`delete`,`open-subgraph`,`connect`,`select`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=q(()=>r.selection.length===1?r.graph.nodes.find(e=>e.id===r.selection[0]):void 0),o=q(()=>r.selection.length===1?r.graph.edges.find(e=>e.id===r.selection[0]):void 0),s=q(()=>r.selection.length>1),c=q(()=>{let e=a.value?r.registry.get(a.value.type):void 0;return e?.icon&&Mh[e.icon]||a.value&&Mh[a.value.type]||Mh.state}),l=q(()=>r.readonly||!!a.value&&r.locked(a.value)),u=q(()=>[...r.registry.entries()].map(([e,t])=>({value:e,label:r.labels.types[e]??t.title}))),d=q(()=>[{value:`transition`,label:r.labels.transition},{value:`association`,label:r.labels.association}]),f=q(()=>[{value:``,label:`—`},...(r.graph.groups??[]).map(e=>({value:e.id,label:e.label??e.id}))]),p=q(()=>[{value:`auto`,label:r.labels.directionAuto},{value:`LR`,label:r.labels.directionLR},{value:`TB`,label:r.labels.directionTB}]),m=q(()=>a.value?r.graph.edges.filter(e=>e.from===a.value.id):[]),h=q(()=>r.graph.nodes.filter(e=>!r.registry.get(e.type)?.noIncoming&&!r.registry.get(e.type)?.annotation).map(e=>({value:e.id,label:e.label||r.labels.types[e.type]||e.id}))),g=e=>r.graph.nodes.find(t=>t.id===e)?.label??e;function _(e,t){a.value&&!l.value&&i(`command`,{type:`updateNode`,id:a.value.id,patch:e},t?`${t}:${a.value.id}`:void 0)}function v(e,t){o.value&&!r.readonly&&i(`command`,{type:`updateEdge`,id:o.value.id,patch:e},t?`${t}:${o.value.id}`:void 0)}let y=e=>e===``?null:e;function b(e){return Object.entries(e?.data??{}).map(([e,t])=>({key:e,value:typeof t==`string`?t:JSON.stringify(t)}))}function x(e){let t=e.trim();if(/^(true|false|null|-?\d+(\.\d+)?|[[{].*[\]}])$/s.test(t))try{return JSON.parse(t)}catch{return e}return e}function S(e,t){let n={};for(let t of e)t.key.trim()&&(n[t.key.trim()]=x(t.value));let r={data:Object.keys(n).length?n:null};a.value?_(r,t):v(r,t)}let C=q(()=>b(a.value??o.value)),w=I(null);function T(e,t,n){let r=C.value.map(e=>({...e}));r[e][t]=n,S(r,`data-${e}-${t}`)}function ee(e){S(C.value.filter((t,n)=>n!==e),`data-remove`)}async function E(){w.value={key:``,value:``},await kn(),document.querySelector(`.fl-props__draft input`)?.focus()}function te(e){e.currentTarget.contains(e.relatedTarget)||D()}function D(){let e=w.value;e&&e.key.trim()&&(w.value=null,S([...C.value,e],`data-add`))}let O=q(()=>a.value?.subgraph===void 0?`none`:typeof a.value.subgraph==`string`?`ref`:`inline`),k=q(()=>!!a.value&&(r.registry.get(a.value.type)?.drillable??!1));function A(){_({subgraph:{version:1,nodes:[{id:`start`,type:`start`},{id:`end`,type:`end`}],edges:[]}})}return t({focusLabel:()=>document.querySelector(`.fl-props__label input`)?.focus()}),(t,n)=>(B(),V(`div`,w_,[s.value?(B(),V(z,{key:0},[U(`p`,T_,F(e.labels.selectedCount(e.selection.length)),1),U(`div`,{class:`fl-props__tools`,role:`group`,"aria-label":e.labels.align},[(B(!0),V(z,null,oi([[`left`,L(Oc),e.labels.alignLeft],[`center`,L(Cc),e.labels.alignCenter],[`right`,L(Tc),e.labels.alignRight],[`top`,L(Dc),e.labels.alignTop],[`middle`,L(Sc),e.labels.alignMiddle],[`bottom`,L(wc),e.labels.alignBottom]],t=>(B(),H(L(xl),{key:t[0],size:`sm`,variant:`secondary`,icon:t[1],"aria-label":t[2],title:t[2],disabled:e.readonly,"data-align":t[0],onClick:e=>i(`align`,t[0])},null,8,[`icon`,`aria-label`,`title`,`disabled`,`data-align`,`onClick`]))),128)),W(L(xl),{size:`sm`,variant:`secondary`,icon:L(Ec),"aria-label":e.labels.distributeH,title:e.labels.distributeH,disabled:e.readonly||e.selection.length<3,onClick:n[0]||=e=>i(`distribute`,`horizontal`)},null,8,[`icon`,`aria-label`,`title`,`disabled`]),W(L(xl),{size:`sm`,variant:`secondary`,icon:L(kc),"aria-label":e.labels.distributeV,title:e.labels.distributeV,disabled:e.readonly||e.selection.length<3,onClick:n[1]||=e=>i(`distribute`,`vertical`)},null,8,[`icon`,`aria-label`,`title`,`disabled`])],8,E_),W(L(xl),{variant:`danger`,size:`sm`,icon:L(fl),disabled:e.readonly,class:`fl-props__delete`,onClick:n[2]||=e=>i(`delete`)},{default:R(()=>[G(F(e.labels.delete),1)]),_:1},8,[`icon`,`disabled`])],64)):a.value?(B(),V(z,{key:1},[U(`div`,D_,[(B(),H(ri(c.value),{size:16,"aria-hidden":`true`})),U(`span`,O_,F(e.labels.types[a.value.type]??e.registry.get(a.value.type)?.title??a.value.type),1),U(`code`,{class:`fl-props__id`,title:a.value.id},F(a.value.id),9,k_)]),l.value&&!e.readonly?(B(),H(L(ju),{key:0,variant:`info`},{default:R(()=>[G(F(e.labels.locked),1)]),_:1})):K(``,!0),W(L(ru),{class:`fl-props__label`,label:e.labels.label,"model-value":a.value.label??``,disabled:l.value,"onUpdate:modelValue":n[3]||=e=>_({label:y(e)},`label`)},null,8,[`label`,`model-value`,`disabled`]),W(L(cu),{label:e.labels.description,rows:2,"auto-grow":``,"max-rows":5,"model-value":a.value.description??``,disabled:l.value,"onUpdate:modelValue":n[4]||=e=>_({description:y(e)},`description`)},null,8,[`label`,`model-value`,`disabled`]),W(L(vu),{label:e.labels.nodeType},{default:R(()=>[W(L(bf),{options:u.value,"model-value":a.value.type,disabled:l.value,"onUpdate:modelValue":n[5]||=e=>_({type:String(e)})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`]),e.graph.groups?.length?(B(),H(L(vu),{key:1,label:e.labels.group},{default:R(()=>[W(L(bf),{options:f.value,"model-value":a.value.group??``,disabled:l.value,"onUpdate:modelValue":n[6]||=e=>_({group:e?String(e):null})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`])):K(``,!0),W(L(pu),{label:e.labels.enabled,"model-value":L(Bf)(a.value),disabled:l.value,"onUpdate:modelValue":n[7]||=e=>i(`command`,{type:`setEnabled`,kind:`node`,id:a.value.id,enabled:e})},null,8,[`label`,`model-value`,`disabled`]),e.registry.get(a.value.type)?.annotation?K(``,!0):(B(),V(`section`,A_,[U(`h4`,null,F(e.labels.transitions),1),(B(!0),V(z,null,oi(m.value,e=>(B(),H(L(xl),{key:e.id,size:`sm`,variant:`ghost`,icon:L(Ac),class:`fl-props__transition`,onClick:t=>i(`select`,e.id)},{default:R(()=>[G(F(g(e.to)),1),e.label?(B(),V(`span`,j_,` · `+F(e.label),1)):K(``,!0)]),_:2},1032,[`icon`,`onClick`]))),128)),!l.value&&!e.registry.get(a.value.type)?.noOutgoing?(B(),H(L(bf),{key:0,class:`fl-props__connect`,options:h.value,"model-value":``,placeholder:e.labels.addTransition,searchable:``,size:`sm`,"onUpdate:modelValue":n[8]||=e=>e&&i(`connect`,a.value.id,String(e))},null,8,[`options`,`placeholder`])):K(``,!0)])),k.value||O.value!==`none`?(B(),V(`section`,M_,[U(`h4`,null,F(e.labels.subprocess),1),O.value===`inline`?(B(),V(z,{key:0},[U(`p`,N_,F(e.labels.subgraphInline(a.value.subgraph.nodes.length)),1),U(`div`,P_,[W(L(xl),{size:`sm`,variant:`secondary`,icon:L(ll),onClick:n[9]||=e=>i(`open-subgraph`,a.value.id)},{default:R(()=>[G(F(e.labels.subgraphOpen),1)]),_:1},8,[`icon`]),W(L(xl),{size:`sm`,variant:`ghost`,disabled:l.value,onClick:n[10]||=e=>_({subgraph:null})},{default:R(()=>[G(F(e.labels.subgraphRemove),1)]),_:1},8,[`disabled`])])],64)):(B(),V(z,{key:1},[W(L(ru),{label:e.labels.subgraphRef,"model-value":a.value.subgraph??``,disabled:l.value,placeholder:`payment-v2`,"onUpdate:modelValue":n[11]||=e=>_({subgraph:y(e)},`subgraph`)},null,8,[`label`,`model-value`,`disabled`]),O.value===`none`?(B(),H(L(xl),{key:0,size:`sm`,variant:`secondary`,icon:L(nl),disabled:l.value,onClick:A},{default:R(()=>[G(F(e.labels.subgraphCreate),1)]),_:1},8,[`icon`,`disabled`])):K(``,!0)],64))])):K(``,!0)],64)):o.value?(B(),V(z,{key:2},[U(`div`,F_,[(B(),H(ri(L(Ac)),{size:16,"aria-hidden":`true`})),U(`span`,I_,F(e.labels.edge),1),U(`code`,{class:`fl-props__id`,title:o.value.id},F(o.value.id),9,L_)]),U(`p`,R_,F(g(o.value.from))+` → `+F(g(o.value.to)),1),W(L(ru),{class:`fl-props__label`,label:e.labels.label,"model-value":o.value.label??``,disabled:e.readonly,"onUpdate:modelValue":n[12]||=e=>v({label:y(e)},`label`)},null,8,[`label`,`model-value`,`disabled`]),W(L(ru),{class:`fl-props__condition`,label:e.labels.condition,"model-value":o.value.condition??``,disabled:e.readonly,placeholder:`attempts < 3`,"onUpdate:modelValue":n[13]||=e=>v({condition:y(e)},`condition`)},null,8,[`label`,`model-value`,`disabled`]),W(L(vu),{label:e.labels.edgeKind},{default:R(()=>[W(L(bf),{options:d.value,"model-value":o.value.kind??`transition`,disabled:e.readonly,"onUpdate:modelValue":n[14]||=e=>v({kind:e===`association`?`association`:null})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`]),W(L(pu),{label:e.labels.enabled,"model-value":L(Bf)(o.value),disabled:e.readonly,"onUpdate:modelValue":n[15]||=e=>i(`command`,{type:`setEnabled`,kind:`edge`,id:o.value.id,enabled:e})},null,8,[`label`,`model-value`,`disabled`])],64)):(B(),V(z,{key:3},[U(`p`,z_,F(e.labels.nothingSelected),1),W(L(ru),{label:e.labels.graphTitle,"model-value":e.graph.meta?.title??``,disabled:e.readonly,"onUpdate:modelValue":n[16]||=e=>i(`command`,{type:`updateMeta`,patch:{title:y(e)}},`meta-title`)},null,8,[`label`,`model-value`,`disabled`]),W(L(vu),{label:e.labels.direction},{default:R(()=>[W(L(bf),{options:p.value,"model-value":e.graph.meta?.direction??`auto`,disabled:e.readonly,"onUpdate:modelValue":n[17]||=e=>i(`command`,{type:`updateMeta`,patch:{direction:e===`auto`?null:e}})},null,8,[`options`,`model-value`,`disabled`])]),_:1},8,[`label`])],64)),(a.value||o.value)&&!s.value?(B(),V(`section`,B_,[U(`h4`,null,F(e.labels.data),1),(B(!0),V(z,null,oi(C.value,(t,n)=>(B(),V(`div`,{key:n,class:`fl-props__kv`},[W(L(ru),{size:`sm`,"model-value":t.key,"aria-label":e.labels.key,placeholder:e.labels.key,disabled:l.value,"onUpdate:modelValue":e=>T(n,`key`,e)},null,8,[`model-value`,`aria-label`,`placeholder`,`disabled`,`onUpdate:modelValue`]),W(L(ru),{size:`sm`,"model-value":t.value,"aria-label":e.labels.value,placeholder:e.labels.value,disabled:l.value,"onUpdate:modelValue":e=>T(n,`value`,e)},null,8,[`model-value`,`aria-label`,`placeholder`,`disabled`,`onUpdate:modelValue`]),W(L(xl),{size:`sm`,variant:`ghost`,icon:L(_l),"aria-label":e.labels.removeField,disabled:l.value,onClick:e=>ee(n)},null,8,[`icon`,`aria-label`,`disabled`,`onClick`])]))),128)),w.value?(B(),V(`div`,{key:0,class:`fl-props__kv fl-props__draft`,onFocusout:te},[W(L(ru),{modelValue:w.value.key,"onUpdate:modelValue":n[18]||=e=>w.value.key=e,size:`sm`,"aria-label":e.labels.key,placeholder:e.labels.key,onKeydown:lc(D,[`enter`])},null,8,[`modelValue`,`aria-label`,`placeholder`]),W(L(ru),{modelValue:w.value.value,"onUpdate:modelValue":n[19]||=e=>w.value.value=e,size:`sm`,"aria-label":e.labels.value,placeholder:e.labels.value,onKeydown:lc(D,[`enter`])},null,8,[`modelValue`,`aria-label`,`placeholder`]),W(L(xl),{size:`sm`,variant:`ghost`,icon:L(_l),"aria-label":e.labels.cancel,onClick:n[20]||=e=>w.value=null},null,8,[`icon`,`aria-label`])],32)):K(``,!0),W(L(xl),{size:`sm`,variant:`ghost`,icon:L(nl),disabled:l.value,class:`fl-props__add`,onClick:E},{default:R(()=>[G(F(e.labels.addField),1)]),_:1},8,[`icon`,`disabled`])])):K(``,!0),(a.value||o.value)&&!s.value?(B(),H(L(xl),{key:5,variant:`ghost`,size:`sm`,icon:L(fl),disabled:l.value,class:`fl-props__delete`,onClick:n[21]||=e=>i(`delete`)},{default:R(()=>[G(F(e.labels.delete),1)]),_:1},8,[`icon`,`disabled`])):K(``,!0)]))}}),H_=Ar({name:`FlowLocalePassthrough`,setup:(e,{slots:t})=>()=>t.default?.()});function U_(e){let t=Su();return{lang:q(()=>e()??(t.value.code?.toLowerCase().startsWith(`ru`)?`ru`:`en`)),wrapper:q(()=>e()?Lf:H_),wrapperProps:q(()=>e()?{locale:e()===`ru`?Rf:Sl}:{})}}var W_={graph:`Process graph`,zoomIn:`Zoom in`,zoomOut:`Zoom out`,fit:`Fit to view`,minimap:`Minimap`,root:`Process`,back:`Back`,enter:`Open sub-process`,details:`Details`,enabled:`Enabled`,disabledTag:`Disabled`,id:`ID`,type:`Type`,status:`Status`,count:`Count`,instances:`Instances`,traversed:`Traversed`,data:`Data`,condition:`Condition`,from:`From`,to:`To`,message:`Message`,subprocess:`Sub-process`,updated:`Updated`,updatedJustNow:`Updated just now`,updatedAgo:e=>e<60?`Updated ${e} s ago`:`Updated ${Math.floor(e/60)} min ago`,stale:`Data is out of date`,paused:`Paused`,live:`Live`,loading:`Loading…`,loadError:`Could not load the state`,retry:`Retry`,refresh:`Refresh now`,toggleFailed:`Could not change the element; the change was undone`,subgraphFailed:`Could not open the sub-process`,currentPath:`Current path`,empty:`Nothing to show`,emptyHint:`The process has no steps yet.`,statuses:{active:`Active`,done:`Done`,error:`Error`,waiting:`Waiting`,skipped:`Skipped`},types:{start:`Start`,end:`End`,state:`State`,task:`Task`,decision:`Decision`,subprocess:`Sub-process`,note:`Note`},editor:`Process editor`,palette:`Elements`,paletteHint:`Drag onto the canvas or press to add`,properties:`Properties`,issues:`Issues`,noIssues:`No issues found`,issueCount:(e,t)=>[e?`${e} error${e===1?``:`s`}`:``,t?`${t} warning${t===1?``:`s`}`:``].filter(Boolean).join(`, `)||`No issues`,undo:`Undo`,redo:`Redo`,delete:`Delete`,duplicate:`Duplicate`,copy:`Copy`,paste:`Paste`,cut:`Cut`,selectAll:`Select all`,autoLayout:`Auto layout`,align:`Align`,alignLeft:`Align left`,alignCenter:`Align centres`,alignRight:`Align right`,alignTop:`Align top`,alignMiddle:`Align middles`,alignBottom:`Align bottom`,distributeH:`Distribute horizontally`,distributeV:`Distribute vertically`,snapToGrid:`Snap to grid`,more:`More`,exportJson:`Export JSON`,importJson:`Import JSON`,importMermaid:`Import Mermaid`,importApply:`Import`,importPlaceholderJson:`Paste the model JSON: { "version": 1, "nodes": [...], "edges": [...] }`,importPlaceholderMermaid:`stateDiagram-v2
|
|
4
4
|
[*] --> Draft
|
|
5
|
-
Draft --> Review: submit`,importError:`Could not import`,cancel:`Cancel`,label:`Label`,description:`Description`,nodeType:`Type`,edgeKind:`Kind`,transition:`Transition`,association:`Association`,subgraphRef:`Sub-process reference`,subgraphInline:e=>`Inline sub-process, ${e} step${e===1?``:`s`}`,subgraphCreate:`Create inline sub-process`,subgraphOpen:`Open`,subgraphRemove:`Remove`,addField:`Add field`,key:`Key`,value:`Value`,removeField:`Remove field`,locked:`This element is locked`,nothingSelected:`Select a step or a transition to edit it.`,selectedCount:e=>`${e} selected`,graphTitle:`Title`,direction:`Layout direction`,directionLR:`Left to right`,directionTB:`Top to bottom`,directionAuto:`Automatic (fits the screen)`,addStart:`Add a start node`,enable:`Enable`,transitions:`Transitions`,addTransition:`Add a transition to…`,disable:`Disable`,addHere:`Add here`,connectHint:`Drag from a handle to connect`,emptyEditorTitle:`Start your process`,emptyEditorHint:`Drag a start node from the elements panel, or import a Mermaid state diagram.`,edge:`Transition`,node:`Step`,group:`Group`,readOnly:`Read only`},
|
|
5
|
+
Draft --> Review: submit`,importError:`Could not import`,cancel:`Cancel`,label:`Label`,description:`Description`,nodeType:`Type`,edgeKind:`Kind`,transition:`Transition`,association:`Association`,subgraphRef:`Sub-process reference`,subgraphInline:e=>`Inline sub-process, ${e} step${e===1?``:`s`}`,subgraphCreate:`Create inline sub-process`,subgraphOpen:`Open`,subgraphRemove:`Remove`,addField:`Add field`,key:`Key`,value:`Value`,removeField:`Remove field`,locked:`This element is locked`,nothingSelected:`Select a step or a transition to edit it.`,selectedCount:e=>`${e} selected`,graphTitle:`Title`,direction:`Layout direction`,directionLR:`Left to right`,directionTB:`Top to bottom`,directionAuto:`Automatic (fits the screen)`,addStart:`Add a start node`,enable:`Enable`,transitions:`Transitions`,addTransition:`Add a transition to…`,disable:`Disable`,addHere:`Add here`,connectHint:`Drag from a handle to connect`,emptyEditorTitle:`Start your process`,emptyEditorHint:`Drag a start node from the elements panel, or import a Mermaid state diagram.`,edge:`Transition`,node:`Step`,group:`Group`,readOnly:`Read only`},G_={graph:`Граф процесса`,zoomIn:`Приблизить`,zoomOut:`Отдалить`,fit:`Показать целиком`,minimap:`Миникарта`,root:`Процесс`,back:`Назад`,enter:`Открыть подпроцесс`,details:`Подробности`,enabled:`Включено`,disabledTag:`Отключено`,id:`ID`,type:`Тип`,status:`Статус`,count:`Количество`,instances:`Экземпляры`,traversed:`Пройден`,data:`Данные`,condition:`Условие`,from:`Откуда`,to:`Куда`,message:`Сообщение`,subprocess:`Подпроцесс`,updated:`Обновлено`,updatedJustNow:`Обновлено только что`,updatedAgo:e=>e<60?`Обновлено ${e} с назад`:`Обновлено ${Math.floor(e/60)} мин назад`,stale:`Данные устарели`,paused:`Пауза`,live:`В реальном времени`,loading:`Загрузка…`,loadError:`Не удалось загрузить состояние`,retry:`Повторить`,refresh:`Обновить сейчас`,toggleFailed:`Не удалось изменить элемент, изменение отменено`,subgraphFailed:`Не удалось открыть подпроцесс`,currentPath:`Текущий путь`,empty:`Нечего показать`,emptyHint:`В процессе пока нет шагов.`,statuses:{active:`Активен`,done:`Завершён`,error:`Ошибка`,waiting:`Ожидание`,skipped:`Пропущен`},types:{start:`Начало`,end:`Конец`,state:`Состояние`,task:`Задача`,decision:`Развилка`,subprocess:`Подпроцесс`,note:`Заметка`},editor:`Редактор процесса`,palette:`Элементы`,paletteHint:`Перетащите на холст или нажмите, чтобы добавить`,properties:`Свойства`,issues:`Проблемы`,noIssues:`Проблем не найдено`,issueCount:(e,t)=>[e?`ошибок: ${e}`:``,t?`предупреждений: ${t}`:``].filter(Boolean).join(`, `)||`Проблем нет`,undo:`Отменить`,redo:`Повторить`,delete:`Удалить`,duplicate:`Дублировать`,copy:`Копировать`,paste:`Вставить`,cut:`Вырезать`,selectAll:`Выделить всё`,autoLayout:`Авторасстановка`,align:`Выровнять`,alignLeft:`По левому краю`,alignCenter:`По центру`,alignRight:`По правому краю`,alignTop:`По верху`,alignMiddle:`По середине`,alignBottom:`По низу`,distributeH:`Распределить по горизонтали`,distributeV:`Распределить по вертикали`,snapToGrid:`Привязка к сетке`,more:`Ещё`,exportJson:`Экспорт JSON`,importJson:`Импорт JSON`,importMermaid:`Импорт Mermaid`,importApply:`Импортировать`,importPlaceholderJson:`Вставьте JSON модели: { "version": 1, "nodes": [...], "edges": [...] }`,importPlaceholderMermaid:`stateDiagram-v2
|
|
6
6
|
[*] --> Черновик
|
|
7
|
-
Черновик --> Проверка: отправить`,importError:`Не удалось импортировать`,cancel:`Отмена`,label:`Название`,description:`Описание`,nodeType:`Тип`,edgeKind:`Вид`,transition:`Переход`,association:`Связь`,subgraphRef:`Ссылка на подпроцесс`,subgraphInline:e=>`Встроенный подпроцесс, шагов: ${e}`,subgraphCreate:`Создать встроенный подпроцесс`,subgraphOpen:`Открыть`,subgraphRemove:`Убрать`,addField:`Добавить поле`,key:`Ключ`,value:`Значение`,removeField:`Удалить поле`,locked:`Этот элемент заблокирован`,nothingSelected:`Выберите шаг или переход, чтобы изменить его.`,selectedCount:e=>`Выделено: ${e}`,graphTitle:`Название`,direction:`Направление`,directionLR:`Слева направо`,directionTB:`Сверху вниз`,directionAuto:`Автоматически (по экрану)`,addStart:`Добавить начало`,enable:`Включить`,transitions:`Переходы`,addTransition:`Добавить переход в…`,disable:`Отключить`,addHere:`Добавить сюда`,connectHint:`Потяните за точку, чтобы соединить`,emptyEditorTitle:`Начните процесс`,emptyEditorHint:`Перетащите начальный узел из панели элементов или импортируйте диаграмму состояний Mermaid.`,edge:`Переход`,node:`Шаг`,group:`Группа`,readOnly:`Только чтение`};function W_(e,t){let n=e===`ru`?U_:H_;return t?{...n,...t,statuses:{...n.statuses,...t.statuses},types:{...n.types,...t.types}}:n}var G_=[`lang`,`aria-label`],K_=[`aria-label`],q_={key:0,class:`fl-toolbar__text`},J_={key:0,class:`fl-toolbar__text`},Y_={class:`fl-editor__body`},X_=[`aria-label`],Z_={class:`fl-panel-title`},Q_={class:`fl-editor__canvas`},$_={key:0,class:`fl-nav`,"data-fl-ui":``},ev={key:1,class:`fl-hint`,"data-fl-ui":``},tv={class:`fl-editor-empty`},nv={class:`fl-empty__title`},rv={class:`fl-empty__hint`},iv={key:0,class:`fl-editor-empty__actions`},av={class:`fl-issues__summary`},ov=Ar({inheritAttrs:!1,__name:`FlowEditor`,props:{modelValue:{},registry:{default:()=>rp},palette:{default:void 0},readonly:{type:Boolean,default:!1},locked:{default:()=>[]},snapGrid:{default:20},direction:{default:void 0},edgeStyle:{default:`orthogonal`},nodeRenderers:{default:()=>({})},nodeIcons:{default:()=>({})},locale:{default:`en`},labels:{default:void 0},minimap:{type:Boolean,default:!1},mermaid:{type:Function,default:void 0},toastProvider:{type:Boolean,default:!0},exportName:{default:`process.json`}},emits:[`update:modelValue`,`change`,`select`,`validate`,`export`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=q(()=>W_(r.locale,r.labels)),o=q(()=>r.locale===`ru`?Sl:Rf),s=new hh(Kt(r.modelValue)),c=Zt(Kt(r.modelValue)),l=I(0);Zn(()=>r.modelValue,e=>{let t=Kt(e);t!==c.value&&(s.reset(t),c.value=t,l.value++,u.value=f(t,u.value))});let u=I([]);function d(e,t){let n=e;for(let e of t){let t=n.nodes.find(t=>t.id===e);if(!t||typeof t.subgraph!=`object`)return n;n=t.subgraph}return n}function f(e,t){let n=[],r=e;for(let e of t){let t=r.nodes.find(t=>t.id===e);if(!t||typeof t.subgraph!=`object`)break;n.push(e),r=t.subgraph}return n}let p=q(()=>d(c.value,u.value)),m=q(()=>{let e=[{label:c.value.meta?.title??a.value.root,depth:0}],t=c.value;return u.value.forEach((n,r)=>{let i=t.nodes.find(e=>e.id===n);e.push({label:i?.label??n,depth:r+1}),i&&typeof i.subgraph==`object`&&(t=i.subgraph)}),e});function h(e,t=u.value,n=c.value){if(t.length===0)return e;let[r,...i]=t,a=n.nodes.find(e=>e.id===r),o=a&&typeof a.subgraph==`object`?a.subgraph:void 0;return o?{type:`updateNode`,id:r,patch:{subgraph:dh(o,h(e,i,o))}}:e}let g=I([]),_=I(null),v=I(null);function y(e,t){if(r.readonly)return!1;let n=e,i=p.value;if(i.nodes.some(e=>!e.position)&&e.type!==`replace`){let t=_.value?.layout.nodes;t&&(n={type:`batch`,commands:[{type:`moveNodes`,moves:i.nodes.filter(e=>!e.position&&t.has(e.id)).map(e=>({id:e.id,position:{x:Math.round(t.get(e.id).x),y:Math.round(t.get(e.id).y)}}))},e]})}let a=h(n);try{let r=s.execute(a,t);return b(r,{command:a,local:{command:n,path:[...u.value]},description:mh(e),graph:r,source:`edit`}),!0}catch(e){if(e instanceof ch)return!1;throw e}}function b(e,t){c.value=e,l.value++,u.value=f(e,u.value);let n=d(e,u.value),r=new Set([...n.nodes.map(e=>e.id),...n.edges.map(e=>e.id)]);g.value=g.value.filter(e=>r.has(e)),i(`update:modelValue`,e),i(`change`,t)}function x(){let e=s.undo();e&&b(s.graph,{command:e.command,local:{command:e.command,path:[]},description:mh(e.command),graph:s.graph,source:`undo`})}function S(){let e=s.redo();e&&b(s.graph,{command:e.command,local:{command:e.command,path:[]},description:mh(e.command),graph:s.graph,source:`redo`})}let C=q(()=>(l.value,s.canUndo)),w=q(()=>(l.value,s.canRedo)),T=q(()=>(l.value,s.last?`${a.value.undo}: ${mh(s.last.command)}`:a.value.undo)),ee=q(()=>(l.value,s.next?`${a.value.redo}: ${mh(s.next.command)}`:a.value.redo)),E=q(()=>sp(p.value,{registry:r.registry}));Zn(E,e=>i(`validate`,e),{immediate:!0});let D=q(()=>{let e=new Map;for(let t of E.value)t.target&&(t.severity!==`error`&&e.has(t.target.id)||e.set(t.target.id,t.severity));return e}),O=q(()=>E.value.filter(e=>e.severity===`error`).length),k=q(()=>E.value.length-O.value),A=e=>r.locked.includes(e.type)||op(r.registry,e),j=q(()=>p.value.nodes.filter(e=>g.value.includes(e.id)));function M(e){g.value=e,i(`select`,e)}function N(e){let t=p.value;return e.filter(e=>{let n=t.nodes.find(t=>t.id===e);return!n||!A(n)})}function te(){let e=N(g.value);e.length&&y({type:`removeElements`,ids:e})&&M([])}let ne=Zt(null);function re(){let e=g.value.filter(e=>p.value.nodes.some(t=>t.id===e));if(e.length){ne.value=_h(p.value,e,_.value?.layout);try{navigator.clipboard?.writeText(JSON.stringify(ne.value)).catch(()=>{})}catch{}}}function ie(){re(),te()}function ae(e=ne.value,t){if(!e||!e.nodes.length)return;let{command:n,ids:i}=vh(p.value,e,t?{at:t}:{offset:{x:r.snapGrid*2||32,y:r.snapGrid*2||32}});y(n)&&(M(i),t||(ne.value={...e,nodes:e.nodes.map(e=>e.position?{...e,position:{x:e.position.x+(r.snapGrid*2||32),y:e.position.y+(r.snapGrid*2||32)}}:e)}))}function oe(){let e=g.value.filter(e=>p.value.nodes.some(t=>t.id===e));e.length&&ae(_h(p.value,e,_.value?.layout))}function se(){M(p.value.nodes.map(e=>e.id))}function ce(e,t){let n=_.value?.layout.nodes,r=j.value.filter(e=>!A(e)).map(r=>{let i=n?.get(r.id),a=r.position??(i?{x:i.x,y:i.y}:{x:0,y:0});return{id:r.id,position:{x:a.x+e,y:a.y+t}}});r.length&&y({type:`moveNodes`,moves:r},`nudge`)}function le(e){let t=_.value&&yh(_.value.layout.nodes,j.value.filter(e=>!A(e)).map(e=>e.id),e);t&&y(t)}function ue(e){let t=_.value&&bh(_.value.layout.nodes,j.value.filter(e=>!A(e)).map(e=>e.id),e);t&&y(t)}function de(){let e=p.value;y(xh(Vm(e,{registry:r.registry,direction:_.value?.layout.direction??`LR`,routing:r.edgeStyle===`smooth`?`spline`:`orthogonal`,ignorePositions:!0})))&&setTimeout(()=>_.value?.fit(!0),30)}function pe(){let e=g.value;if(!e.length)return;let t=p.value,n=e.map(e=>{let n=t.nodes.find(t=>t.id===e);if(n)return A(n)?null:{kind:`node`,el:n};let r=t.edges.find(t=>t.id===e);return r?{kind:`edge`,el:r}:null}).filter(e=>!!e);if(!n.length)return;let r=!n.every(e=>Bf(e.el));y({type:`batch`,commands:n.map(e=>({type:`setEnabled`,kind:e.kind,id:e.el.id,enabled:r}))})}function me(e,t){let n=p.value,i=ip(r.registry,e),o={id:fh(n,e),type:e,position:ph(t,r.snapGrid)};return i.labelOutside||(o.label=a.value.types[e]??i.title),i.drillable&&(o.subgraph={version:1,nodes:[{id:`start`,type:`start`},{id:`end`,type:`end`}],edges:[{id:`e-1`,from:`start`,to:`end`}]}),o}function he(e){let t=_.value?.layout,n=t?.nodes??new Map,i=Rm({id:``,type:e,label:a.value.types[e]??ip(r.registry,e).title},r.registry,em),o=g.value.length===1?n.get(g.value[0]):void 0,s=_.value?.viewCentre()??{x:0,y:0};return o&&(s=t?.direction===`TB`?{x:o.x,y:o.y+o.height/2+72+i.height/2}:{x:o.x+o.width/2+72+i.width/2,y:o.y}),Sh(n.values(),i,s,{grid:Re.value,padding:32})}function ge(e,t){let n=me(e,t??he(e));y({type:`addNodes`,nodes:[n]})&&(M([n.id]),kn(()=>_.value?.focusElement(n.id)))}function _e(e,t){let n=_.value?.root;if(!n)return;let r=n.getBoundingClientRect();t.x<r.left||t.x>r.right||t.y<r.top||t.y>r.bottom||ge(e,_.value.clientToGraph(t.x,t.y))}function ve(e){let t={id:fh(p.value,`e`),from:e.from,to:e.to};e.fromPort&&(t.fromPort=e.fromPort),e.toPort&&(t.toPort=e.toPort),y({type:`addEdge`,edge:t})&&M([t.id])}function ye(e){let t=e.end===`from`?{from:e.node,fromPort:e.port??null}:{to:e.node,toPort:e.port??null};y({type:`updateEdge`,id:e.id,patch:t})}function be(e){y({type:`removeElements`,ids:[e]})&&M([])}function xe(e){let t=e.filter(e=>{let t=p.value.nodes.find(t=>t.id===e.id);return t&&!A(t)});t.length&&y({type:`moveNodes`,moves:t})}function Se(e){let t=p.value.nodes.find(t=>t.id===e);t&&typeof t.subgraph==`object`&&(u.value=[...u.value,e],M([]))}function Ce(e){let t=u.value[e];u.value=u.value.slice(0,e),M(t?[t]:[])}function we(e){M([e.id]),Ie.value=`properties`,Ve.value&&(Ue.value=!0),kn(()=>v.value?.focusLabel())}function Te(){g.value.length?M([]):u.value.length&&Ce(u.value.length-1)}let Ee=I(!1),De=I(`json`);function Oe(e){De.value=e,Ee.value=!0}function ke(e){y({type:`replace`,graph:e}),M([]),setTimeout(()=>_.value?.fit(!0),30)}function Ae(){let e=$f(c.value);i(`export`,e);try{let t=URL.createObjectURL(new Blob([e],{type:`application/json`})),n=document.createElement(`a`);n.href=t,n.download=r.exportName,n.click(),setTimeout(()=>URL.revokeObjectURL(t),1e3)}catch{}}let je=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform||navigator.userAgent)?`⌘`:`Ctrl+`;function Me(e){if(e.target.closest(`input, textarea, select, [contenteditable="true"], .uid-modal, .uid-menu, .fl-props`))return;let t=e.metaKey||e.ctrlKey,n=e.key.toLowerCase();if(t&&n===`z`)e.preventDefault(),e.shiftKey?S():x();else if(t&&n===`y`)e.preventDefault(),S();else if(t&&n===`c`)re();else if(t&&n===`x`)e.preventDefault(),ie();else if(t&&n===`v`)e.preventDefault(),ae();else if(t&&n===`d`)e.preventDefault(),oe();else if(t&&n===`a`)e.preventDefault(),se();else if((e.key===`Delete`||e.key===`Backspace`)&&g.value.length)e.preventDefault(),te();else if(e.key.startsWith(`Arrow`)&&!e.altKey&&j.value.length){e.preventDefault();let t=e.shiftKey?(r.snapGrid||10)*5:r.snapGrid||1,n={ArrowUp:[0,-t],ArrowDown:[0,t],ArrowLeft:[-t,0],ArrowRight:[t,0]}[e.key];n&&ce(n[0],n[1])}}let Ne=I(null);function Pe(e){let t=[],n=e.target;if(n&&!r.readonly){let e=g.value.length>1,r=n.kind===`node`?p.value.nodes.find(e=>e.id===n.id):void 0,i=r?A(r):!1;r&&typeof r.subgraph==`object`&&!e&&t.push({label:a.value.subgraphOpen,icon:ll,action:()=>Se(r.id)}),n.kind===`node`&&(t.push({label:a.value.duplicate,icon:Bc,shortcut:`${je}D`,action:oe}),t.push({label:a.value.copy,icon:Vc,shortcut:`${je}C`,action:re}),t.push({label:a.value.cut,icon:ol,shortcut:`${je}X`,action:ie,disabled:i}));let o=r??p.value.edges.find(e=>e.id===n.id);t.push({label:o&&Bf(o)?a.value.disable:a.value.enable,icon:rl,action:pe,disabled:i}),e&&(t.push({separator:!0}),t.push({label:a.value.align,icon:Cc,children:[{label:a.value.alignLeft,action:()=>le(`left`)},{label:a.value.alignCenter,action:()=>le(`center`)},{label:a.value.alignRight,action:()=>le(`right`)},{label:a.value.alignTop,action:()=>le(`top`)},{label:a.value.alignMiddle,action:()=>le(`middle`)},{label:a.value.alignBottom,action:()=>le(`bottom`)},{label:a.value.distributeH,action:()=>ue(`horizontal`),disabled:g.value.length<3},{label:a.value.distributeV,action:()=>ue(`vertical`),disabled:g.value.length<3}]})),t.push({separator:!0}),t.push({label:a.value.delete,icon:fl,danger:!0,shortcut:`Del`,action:te,disabled:i})}else r.readonly||(t.push({label:a.value.addHere,icon:nl,children:Fe.value.map(t=>({label:a.value.types[t]??ip(r.registry,t).title,action:()=>ge(t,e.point)}))}),t.push({label:a.value.paste,icon:Lc,shortcut:`${je}V`,disabled:!ne.value,action:()=>ae(ne.value,e.point)}),t.push({separator:!0}),t.push({label:a.value.selectAll,shortcut:`${je}A`,action:se}),t.push({label:a.value.autoLayout,icon:Jc,action:de}));t.length&&Ne.value?.open(e.client,t)}let Fe=q(()=>r.palette??[...r.registry.keys()]),Ie=I(`properties`),Le=I(r.snapGrid>0),Re=q(()=>Le.value?r.snapGrid:0),ze=I(r.minimap),Be=I(null),Ve=I(!1),He=I(!1),Ue=I(!1),We;Kr(()=>{let e=()=>{let e=Be.value?.clientWidth??0;Ve.value=e>0&&e<760};e(),typeof ResizeObserver==`function`&&Be.value&&(We=new ResizeObserver(e),We.observe(Be.value))}),Yr(()=>We?.disconnect());function Ge(e){e.target&&(M([e.target.id]),_.value?.centreOn(e.target.id),Ve.value&&(Ue.value=!1),kn(()=>_.value?.focusElement(e.target.id)))}return t({undo:x,redo:S,autoLayout:de,fit:()=>_.value?.fit(!0),select:M,history:s,issues:E}),(t,n)=>(B(),H(L(Lf),{locale:o.value},{default:R(()=>[U(`div`,Ja({ref_key:`rootEl`,ref:Be},t.$attrs,{class:[`fl-editor`,{"is-narrow":Ve.value,"is-readonly":e.readonly}],lang:e.locale,role:`application`,"aria-label":a.value.editor,onKeydown:Me}),[U(`div`,{class:`fl-toolbar`,role:`toolbar`,"aria-label":a.value.editor},[Ve.value&&!e.readonly?(B(),H(L(xl),{key:0,size:`sm`,variant:`ghost`,icon:L(sl),"aria-label":a.value.palette,class:`fl-toolbar__palette`,onClick:n[0]||=e=>He.value=!0},null,8,[`icon`,`aria-label`])):K(``,!0),W(L(pd),{content:T.value,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(ml),"aria-label":a.value.undo,disabled:!C.value||e.readonly,class:`fl-toolbar__undo`,onClick:x},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),W(L(pd),{content:ee.value,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(il),"aria-label":a.value.redo,disabled:!w.value||e.readonly,class:`fl-toolbar__redo`,onClick:S},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),n[20]||=U(`span`,{class:`fl-toolbar__sep`,"aria-hidden":`true`},null,-1),W(L(pd),{content:`${a.value.duplicate} (${L(je)}D)`,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(Bc),"aria-label":a.value.duplicate,disabled:!j.value.length||e.readonly,class:`fl-toolbar__duplicate`,onClick:oe},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),W(L(pd),{content:`${a.value.delete} (Del)`,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(fl),"aria-label":a.value.delete,disabled:!g.value.length||e.readonly,class:`fl-toolbar__delete`,onClick:te},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),n[21]||=U(`span`,{class:`fl-toolbar__sep`,"aria-hidden":`true`},null,-1),W(L(pd),{content:a.value.autoLayout,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(Jc),"aria-label":a.value.autoLayout,disabled:e.readonly||!p.value.nodes.length,class:`fl-toolbar__layout`,onClick:de},{default:R(()=>[Ve.value?K(``,!0):(B(),V(`span`,q_,F(a.value.autoLayout),1))]),_:1},8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),W(L(pd),{content:a.value.snapToGrid,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(Yc),"aria-label":a.value.snapToGrid,"aria-pressed":Le.value,class:P([`fl-toolbar__snap fl-toggle`,{"is-active":Le.value}]),onClick:n[1]||=e=>Le.value=!Le.value},null,8,[`icon`,`aria-label`,`aria-pressed`,`class`])]),_:1},8,[`content`]),n[22]||=U(`span`,{class:`fl-toolbar__spacer`},null,-1),W(L(Sd),null,{trigger:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:Ve.value?L(Wc):L(Gc),"aria-label":a.value.more,class:`fl-toolbar__file`},{default:R(()=>[Ve.value?K(``,!0):(B(),V(`span`,J_,`JSON / Mermaid`))]),_:1},8,[`icon`,`aria-label`])]),default:R(()=>[W(L(wd),{icon:L(Uc),class:`fl-menu-export`,onClick:Ae},{default:R(()=>[G(F(a.value.exportJson),1)]),_:1},8,[`icon`]),W(L(kd)),W(L(wd),{icon:L(hl),disabled:e.readonly,class:`fl-menu-import-json`,onClick:n[2]||=e=>Oe(`json`)},{default:R(()=>[G(F(a.value.importJson),1)]),_:1},8,[`icon`,`disabled`]),e.mermaid?(B(),H(L(wd),{key:0,icon:L(Gc),disabled:e.readonly,class:`fl-menu-import-mermaid`,onClick:n[3]||=e=>Oe(`mermaid`)},{default:R(()=>[G(F(a.value.importMermaid),1)]),_:1},8,[`icon`,`disabled`])):K(``,!0)]),_:1}),ci(t.$slots,`toolbar`),Ve.value?(B(),H(L(xl),{key:1,size:`sm`,variant:`ghost`,icon:L(el),"aria-label":a.value.properties,class:`fl-toolbar__side`,onClick:n[4]||=e=>Ue.value=!0},{default:R(()=>[O.value?(B(),H(L(Tu),{key:0,variant:`danger`,size:`sm`},{default:R(()=>[G(F(O.value),1)]),_:1})):K(``,!0)]),_:1},8,[`icon`,`aria-label`])):K(``,!0)],8,K_),U(`div`,Y_,[!Ve.value&&!e.readonly?(B(),V(`aside`,{key:0,class:`fl-editor__palette`,"aria-label":a.value.palette},[U(`h3`,Z_,F(a.value.palette),1),W(C_,{registry:e.registry,types:Fe.value,labels:a.value,"node-icons":e.nodeIcons,onAdd:n[5]||=e=>ge(e),onDrop:_e},null,8,[`registry`,`types`,`labels`,`node-icons`])],8,X_)):K(``,!0),U(`div`,Q_,[W(u_,{ref_key:`canvas`,ref:_,graph:p.value,labels:a.value,registry:e.registry,direction:e.direction,"edge-style":e.edgeStyle,selection:g.value,issues:D.value,editable:!e.readonly,"snap-grid":Re.value,minimap:ze.value,"node-renderers":e.nodeRenderers,"node-icons":e.nodeIcons,"fit-key":u.value.join(`/`),drillable:e=>typeof e.subgraph==`object`,"is-locked":A,"aria-label":a.value.editor,onSelect:n[10]||=e=>M(e),onActivate:we,onEnter:Se,onMove:xe,onConnect:ve,onReconnect:ye,onDetach:be,onContextmenu:Pe,onBackgroundDblclick:n[11]||=t=>!e.readonly&&ge(`state`,t),onEscape:Te,"onUpdate:minimap":n[12]||=e=>ze.value=e},{overlay:R(()=>[u.value.length?(B(),V(`div`,$_,[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(Nc),"aria-label":a.value.back,class:`fl-nav__back`,onClick:n[6]||=e=>Ce(u.value.length-1)},null,8,[`icon`,`aria-label`]),W(L(Xd),{label:a.value.root,collapse:``,class:`fl-nav__crumbs`},{default:R(()=>[(B(!0),V(z,null,oi(m.value,e=>(B(),H(L(rf),{key:e.depth,current:e.depth===u.value.length,onClick:t=>Ce(e.depth)},{default:R(()=>[G(F(e.label),1)]),_:2},1032,[`current`,`onClick`]))),128))]),_:1},8,[`label`])])):K(``,!0),p.value.nodes.length&&!e.readonly&&!g.value.length?(B(),V(`p`,ev,F(a.value.connectHint),1)):K(``,!0)]),empty:R(()=>[U(`div`,tv,[U(`p`,nv,F(a.value.emptyEditorTitle),1),U(`p`,rv,F(a.value.emptyEditorHint),1),e.readonly?K(``,!0):(B(),V(`div`,iv,[W(L(xl),{variant:`primary`,size:`sm`,icon:L(nl),class:`fl-empty__add-start`,onClick:n[7]||=e=>ge(`start`)},{default:R(()=>[G(F(a.value.addStart),1)]),_:1},8,[`icon`]),e.mermaid?(B(),H(L(xl),{key:0,variant:`secondary`,size:`sm`,icon:L(Gc),onClick:n[8]||=e=>Oe(`mermaid`)},{default:R(()=>[G(F(a.value.importMermaid),1)]),_:1},8,[`icon`])):K(``,!0),W(L(xl),{variant:`ghost`,size:`sm`,icon:L(hl),onClick:n[9]||=e=>Oe(`json`)},{default:R(()=>[G(F(a.value.importJson),1)]),_:1},8,[`icon`])]))])]),_:1},8,[`graph`,`labels`,`registry`,`direction`,`edge-style`,`selection`,`issues`,`editable`,`snap-grid`,`minimap`,`node-renderers`,`node-icons`,`fit-key`,`drillable`,`aria-label`])]),(B(),H(ri(Ve.value?L(sd):`aside`),fe(Ua(Ve.value?{modelValue:Ue.value,"onUpdate:modelValue":e=>Ue.value=e,title:a.value.properties,width:`min(360px, 100vw)`}:{class:`fl-editor__side`,"aria-label":a.value.properties})),{default:R(()=>[W(L(Vd),{modelValue:Ie.value,"onUpdate:modelValue":n[15]||=e=>Ie.value=e},{list:R(()=>[W(L(Ud),{value:`properties`},{default:R(()=>[G(F(a.value.properties),1)]),_:1}),W(L(Ud),{value:`issues`,class:`fl-tab-issues`},{default:R(()=>[G(F(a.value.issues)+` `,1),E.value.length?(B(),H(L(Tu),{key:0,variant:O.value?`danger`:`warning`,size:`sm`,class:`fl-tab-issues__count`},{default:R(()=>[G(F(E.value.length),1)]),_:1},8,[`variant`])):K(``,!0)]),_:1})]),default:R(()=>[W(L(Gd),{value:`properties`},{default:R(()=>[W(V_,{ref_key:`propsPanel`,ref:v,graph:p.value,selection:g.value,registry:e.registry,labels:a.value,readonly:e.readonly,locked:A,onCommand:y,onAlign:le,onDistribute:ue,onDelete:te,onOpenSubgraph:Se,onConnect:n[13]||=(e,t)=>ve({from:e,to:t}),onSelect:n[14]||=e=>{M([e]),_.value?.centreOn(e)}},null,8,[`graph`,`selection`,`registry`,`labels`,`readonly`]),ci(t.$slots,`properties`,{selection:g.value,graph:p.value,path:u.value})]),_:3}),W(L(Gd),{value:`issues`},{default:R(()=>[U(`p`,av,F(a.value.issueCount(O.value,k.value)),1),W(b_,{issues:E.value,labels:a.value,onFocus:Ge},null,8,[`issues`,`labels`])]),_:1})]),_:3},8,[`modelValue`])]),_:3},16))]),Ve.value&&!e.readonly?(B(),H(L(sd),{key:0,modelValue:He.value,"onUpdate:modelValue":n[18]||=e=>He.value=e,side:`left`,title:a.value.palette,width:`min(280px, 85vw)`},{default:R(()=>[W(C_,{registry:e.registry,types:Fe.value,labels:a.value,"node-icons":e.nodeIcons,onAdd:n[16]||=e=>{ge(e),He.value=!1},onDrop:n[17]||=(e,t)=>{_e(e,t),He.value=!1}},null,8,[`registry`,`types`,`labels`,`node-icons`])]),_:1},8,[`modelValue`,`title`])):K(``,!0),W(h_,{open:Ee.value,"onUpdate:open":n[19]||=e=>Ee.value=e,mode:De.value,labels:a.value,mermaid:e.mermaid,onImport:ke},null,8,[`open`,`mode`,`labels`,`mermaid`]),W(p_,{ref_key:`menu`,ref:Ne},null,512),e.toastProvider?(B(),H(L(Vu),{key:1})):K(``,!0)],16,G_)]),_:3},8,[`locale`]))}}),sv={class:`fl-details`},cv={class:`fl-details__head`},lv={key:0,class:`fl-details__desc`},uv={class:`fl-details__section`},dv=Ar({__name:`FlowDetails`,props:{graph:{},kind:{},element:{},enabled:{type:Boolean},state:{},labels:{},toggleable:{type:Boolean},drillable:{type:Boolean},statusTones:{},locale:{}},emits:[`toggle`,`enter`],setup(e,{emit:t}){let n=e,r=t,i=q(()=>n.kind===`node`?n.element:void 0),a=q(()=>n.kind===`edge`?n.element:void 0),o=q(()=>i.value?n.state?.nodes[i.value.id]:void 0),s=q(()=>a.value?n.state?.edges[a.value.id]:void 0),c=e=>n.graph.nodes.find(t=>t.id===e)?.label??e,l=q(()=>{let e=o.value?.status;if(!e)return`default`;let t=n.statusTones?.[e]??rh[e]??`neutral`;return t===`accent`?`info`:t===`neutral`?`default`:t}),u=q(()=>{let e=Zm(o.value?.updatedAt);return e===void 0?``:new Date(e).toLocaleString(n.locale)}),d=q(()=>Object.entries(n.element.data??{}));function f(e){return typeof e==`object`&&e?JSON.stringify(e):String(e)}return(t,n)=>(B(),V(`div`,sv,[U(`div`,cv,[W(L(of),{size:`sm`},{default:R(()=>[G(F(i.value?e.labels.types[i.value.type]??i.value.type:e.labels.edge),1)]),_:1}),o.value?.status?(B(),H(L(Tu),{key:0,variant:l.value,class:`fl-details__status`},{default:R(()=>[G(F(e.labels.statuses[o.value.status]??o.value.status),1)]),_:1},8,[`variant`])):K(``,!0),e.enabled?K(``,!0):(B(),H(L(Tu),{key:1,variant:`warning`},{default:R(()=>[G(F(e.labels.disabledTag),1)]),_:1}))]),i.value?.description?(B(),V(`p`,lv,F(i.value.description),1)):K(``,!0),e.toggleable?(B(),H(L(pu),{key:1,class:`fl-details__toggle`,"model-value":e.enabled,label:e.labels.enabled,"onUpdate:modelValue":n[0]||=e=>r(`toggle`,e)},null,8,[`model-value`,`label`])):K(``,!0),e.drillable?(B(),H(L(xl),{key:2,class:`fl-details__enter`,variant:`secondary`,size:`sm`,icon:L(ll),onClick:n[1]||=e=>r(`enter`)},{default:R(()=>[G(F(e.labels.enter),1)]),_:1},8,[`icon`])):K(``,!0),W(L(Mf),{size:`sm`,direction:`horizontal`,columns:1,"label-width":`40%`},{default:R(()=>[W(L(If),{label:e.labels.id,copyable:``},{default:R(()=>[U(`code`,null,F(e.element.id),1)]),_:1},8,[`label`]),a.value?(B(),V(z,{key:0},[W(L(If),{label:e.labels.from},{default:R(()=>[G(F(c(a.value.from)),1)]),_:1},8,[`label`]),W(L(If),{label:e.labels.to},{default:R(()=>[G(F(c(a.value.to)),1)]),_:1},8,[`label`]),a.value.condition?(B(),H(L(If),{key:0,label:e.labels.condition},{default:R(()=>[U(`code`,null,F(a.value.condition),1)]),_:1},8,[`label`])):K(``,!0),s.value?.count===void 0?K(``,!0):(B(),H(L(If),{key:1,label:e.labels.count},{default:R(()=>[G(F(s.value.count),1)]),_:1},8,[`label`])),s.value?.traversed===void 0?K(``,!0):(B(),H(L(If),{key:2,label:e.labels.traversed},{default:R(()=>[G(F(s.value.traversed?`✓`:`—`),1)]),_:1},8,[`label`]))],64)):K(``,!0),o.value?(B(),V(z,{key:1},[o.value.count===void 0?K(``,!0):(B(),H(L(If),{key:0,label:e.labels.instances},{default:R(()=>[G(F(o.value.count),1)]),_:1},8,[`label`])),o.value.message?(B(),H(L(If),{key:1,label:e.labels.message},{default:R(()=>[G(F(o.value.message),1)]),_:1},8,[`label`])):K(``,!0),u.value?(B(),H(L(If),{key:2,label:e.labels.updated},{default:R(()=>[G(F(u.value),1)]),_:1},8,[`label`])):K(``,!0)],64)):K(``,!0)]),_:1}),d.value.length?(B(),V(z,{key:3},[U(`h3`,uv,F(e.labels.data),1),W(L(Mf),{size:`sm`,direction:`horizontal`,columns:1,"label-width":`40%`},{default:R(()=>[(B(!0),V(z,null,oi(d.value,([e,t])=>(B(),H(L(If),{key:e,label:e},{default:R(()=>[G(F(f(t)),1)]),_:2},1032,[`label`]))),128))]),_:1})],64)):K(``,!0),ci(t.$slots,`default`)]))}});function fv(e){return typeof e.failures==`number`}function pv(e){let t=Zt(),n=I(!1),r=I(!1),i=I(Date.now()),a,o,s=t,c,l=0,u=0;Zn(()=>e.state(),e=>{c=e?fv(e)?e:$m(Xm(),{type:`snapshot`,snapshot:e,at:Date.now()}):void 0,l++,s.value=c},{immediate:!0});let d=q(()=>s.value),f=q(()=>e.poll()?.intervalMs??5e3),p=q(()=>{let t=e.staleAfterMs()??(e.poll()?Math.max(f.value*3,15e3):void 0);return t===void 0||!d.value?.receivedAt?!1:th(d.value,i.value,t)}),m=q(()=>{let e=d.value?.updatedAt??d.value?.receivedAt;return e===void 0?void 0:Math.max(0,Math.round((i.value-e)/1e3))});function h(){a?.stop(),a=void 0}function g(){h();let r=e.poll(),o=l!==u;if(u=l,!r){s.value=c;return}s.value=o?c:void 0;let d=e.context();n.value=!s.value,a=sh({fetch:t=>(e.poll()??r).fetch(t,d),intervalMs:r.intervalMs??5e3,backoff:r.backoff,visibilityPause:r.visibilityPause??!0,onData(e){n.value=!1,t.value=$m(t.value??Xm(),{type:`snapshot`,snapshot:e,at:Date.now(),merge:r.merge}),i.value=Date.now()},onError(r){n.value=!1,t.value=$m(t.value??Xm(),{type:`error`,error:r instanceof Error?r.message:String(r),at:Date.now()}),e.onError?.(r)}}),a.start()}let _=q(()=>{try{return JSON.stringify(e.context())}catch{return e.context()}});return Zn([q(()=>{let t=e.poll();return t?`${t.intervalMs??5e3}|${+!!t.merge}|${t.visibilityPause===!1?0:1}`:``}),_],g,{immediate:!0}),typeof setInterval==`function`&&(o=setInterval(()=>{i.value=Date.now(),r.value=a?.status===`paused`},1e3)),Yr(()=>{h(),clearInterval(o)}),{state:d,loading:n,paused:r,stale:p,ageSeconds:m,now:i,refresh:()=>a?.refresh(),polling:q(()=>!!e.poll())}}var mv=[`lang`],hv={key:0,class:`fl-nav`,"data-fl-ui":``},gv={key:1,class:`fl-status`,"data-fl-ui":``,role:`status`,"aria-live":`polite`},_v={class:`fl-status__text`},vv={class:`fl-status__text`,tabindex:`0`},yv={key:4,class:`fl-status__summary`},bv={key:2,class:`fl-busy`,"data-fl-ui":``},xv=Ar({inheritAttrs:!1,__name:`FlowView`,props:{graph:{},state:{default:void 0},poll:{default:void 0},pollParams:{default:void 0},staleAfterMs:{default:void 0},toggleable:{type:Boolean},onToggle:{type:Function,default:void 0},subgraphs:{default:()=>({})},loadSubgraph:{type:Function,default:void 0},details:{type:Boolean,default:!0},minimap:{type:Boolean,default:!0},controls:{type:Boolean,default:!0},direction:{default:void 0},edgeStyle:{default:`orthogonal`},registry:{default:()=>rp},nodeRenderers:{default:()=>({})},nodeIcons:{default:()=>({})},statusTones:{default:()=>({})},locale:{default:`en`},labels:{default:void 0},wheel:{default:`zoom`},minZoom:{default:.15},maxZoom:{default:2.5},toastProvider:{type:Boolean,default:!0},statusBar:{type:Boolean,default:!0}},emits:[`select`,`toggle`,`toggle-error`,`navigate`,`poll-error`,`update:minimap`],setup(e,{expose:t,emit:n}){let r=e,i=n,a=q(()=>W_(r.locale,r.labels)),o=q(()=>r.locale===`ru`?Sl:Rf),s=Bu(),c=Zt([]),l=I(!1);Zn(()=>r.graph,()=>{let e=[],t=r.graph;for(let n of c.value){let i=t.nodes.find(e=>e.id===n.nodeId);if(!i||i.subgraph===void 0)break;let a=typeof i.subgraph==`string`?r.subgraphs[i.subgraph]??(i.subgraph===n.ref?n.graph:void 0):i.subgraph;if(!a)break;e.push({...n,graph:a}),t=a}c.value=e,j.value=new Map});let u=q(()=>c.value[c.value.length-1]?.graph??r.graph),d=q(()=>c.value.map(e=>e.nodeId)),f=q(()=>d.value.join(`/`));function p(e){return e.subgraph===void 0?!1:typeof e.subgraph!=`string`||!!r.subgraphs[e.subgraph]||!!r.loadSubgraph}async function m(e){let t=u.value.nodes.find(t=>t.id===e);if(!t||!p(t)||l.value)return;let n,o=typeof t.subgraph==`string`?t.subgraph:void 0;if(o===void 0)n=t.subgraph;else if(r.subgraphs[o])n=r.subgraphs[o];else if(r.loadSubgraph){l.value=!0;try{n=await r.loadSubgraph(o,t)}catch(e){s.error({title:a.value.subgraphFailed,message:e instanceof Error?e.message:String(e)});return}finally{l.value=!1}}n&&(T.value=!1,w.value=[],c.value=[...c.value,{nodeId:t.id,label:t.label??t.id,ref:o,graph:n}],i(`navigate`,c.value))}function h(e){if(e>=c.value.length)return;T.value=!1;let t=c.value[e]?.nodeId;c.value=c.value.slice(0,e),w.value=t?[t]:[],i(`navigate`,c.value),t&&setTimeout(()=>C.value?.focusElement(t),50)}function g(){h(c.value.length-1)}let _=pv({state:()=>r.state,poll:()=>r.poll,context:()=>({path:d.value,ref:c.value[c.value.length-1]?.ref,params:r.pollParams}),staleAfterMs:()=>r.staleAfterMs,onError:e=>i(`poll-error`,e)}),v=q(()=>!!r.state||!!r.poll),y=q(()=>ih(_.state.value)),b=q(()=>Object.entries(y.value).filter(([e])=>e!==`skipped`).map(([e,t])=>{let n=r.statusTones[e]??rh[e]??`neutral`;return{status:e,n:t,variant:n===`accent`?`info`:n===`neutral`?`default`:n,label:a.value.statuses[e]??e}})),x=q(()=>{let e=_.ageSeconds.value;return e===void 0?``:e<3?a.value.updatedJustNow:a.value.updatedAgo(e)}),S=q(()=>{let e=_.state.value?.updatedAt??_.state.value?.receivedAt;return e?new Date(e).toLocaleString(r.locale):``}),C=I(null),w=I([]),T=I(!1),ee=I(r.minimap);Zn(()=>r.minimap,e=>ee.value=e);let E=q(()=>{let e=w.value[0];return e?u.value.nodes.some(t=>t.id===e)?{kind:`node`,id:e}:u.value.edges.some(t=>t.id===e)?{kind:`edge`,id:e}:null:null}),D=q(()=>{let e=E.value;if(e)return e.kind===`node`?u.value.nodes.find(t=>t.id===e.id):u.value.edges.find(t=>t.id===e.id)});function O(e,t){w.value=e.slice(0,1);let n=t?t.kind===`node`?u.value.nodes.find(e=>e.id===t.id):u.value.edges.find(e=>e.id===t.id):void 0;i(`select`,t&&n?{...t,element:n,path:d.value}:null),r.details&&(T.value=!!t&&t.kind!==`group`)}function k(e){if(e.kind===`node`){let t=u.value.nodes.find(t=>t.id===e.id);if(t&&p(t)&&!r.details){m(t.id);return}}r.details&&(T.value=!0)}function A(){T.value?T.value=!1:w.value.length?O([],null):c.value.length&&g()}let j=Zt(new Map),M=q(()=>{let e=`${f.value}\u0000`,t=new Map;for(let[n,r]of j.value)n.startsWith(e)&&t.set(n.slice(e.length),r);return t});function N(e,t){return M.value.get(t.id)??Bf(t)}let te=new Map;async function ne(e){let t={...e,path:d.value},n=`${f.value}\u0000${e.id}`,o=j.value.get(n),c=e=>{let t=new Map(j.value);e===void 0?t.delete(n):t.set(n,e),j.value=t};if(c(e.enabled),i(`toggle`,t),!r.onToggle)return;let l=(te.get(n)??0)+1;te.set(n,l);try{await r.onToggle(t)}catch(e){if(te.get(n)!==l)return;c(o),s.error({title:a.value.toggleFailed,message:e instanceof Error?e.message:String(e)}),i(`toggle-error`,t,e)}}let re=q(()=>[{label:r.graph.meta?.title??a.value.root,depth:0},...c.value.map((e,t)=>({label:e.label,depth:t+1}))]);return t({fit:()=>C.value?.fit(!0),enter:m,back:g,refresh:()=>_.refresh(),select:e=>O(e?[e]:[],e?u.value.nodes.some(t=>t.id===e)?{kind:`node`,id:e}:{kind:`edge`,id:e}:null),stack:c}),(t,n)=>(B(),H(L(Lf),{locale:o.value},{default:R(()=>[U(`div`,Ja(t.$attrs,{class:[`fl-view`,{"is-monitoring":v.value}],lang:e.locale}),[W(u_,{ref_key:`canvas`,ref:C,graph:u.value,labels:a.value,registry:e.registry,direction:e.direction,"edge-style":e.edgeStyle,monitor:L(_).state.value,"reserve-counters":v.value,selection:w.value,toggleable:e.toggleable,"enabled-overrides":M.value,minimap:ee.value,controls:e.controls,"min-zoom":e.minZoom,"max-zoom":e.maxZoom,wheel:e.wheel,"node-renderers":e.nodeRenderers,"node-icons":e.nodeIcons,"status-tones":e.statusTones,"fit-key":f.value,drillable:p,onSelect:O,onActivate:k,onEnter:m,onToggle:ne,onEscape:A,"onUpdate:minimap":n[1]||=e=>{ee.value=e,i(`update:minimap`,e)}},si({overlay:R(()=>[c.value.length?(B(),V(`div`,hv,[W(L(pd),{content:a.value.back,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(Nc),"aria-label":a.value.back,class:`fl-nav__back`,onClick:g},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`]),W(L(Xd),{label:a.value.root,collapse:``,class:`fl-nav__crumbs`},{default:R(()=>[(B(!0),V(z,null,oi(re.value,e=>(B(),H(L(rf),{key:e.depth,current:e.depth===c.value.length,onClick:t=>h(e.depth)},{default:R(()=>[G(F(e.label),1)]),_:2},1032,[`current`,`onClick`]))),128))]),_:1},8,[`label`])])):K(``,!0),e.statusBar&&v.value?(B(),V(`div`,gv,[L(_).loading.value&&!L(_).state.value?(B(),V(z,{key:0},[W(L(wu),{size:`sm`}),U(`span`,_v,F(a.value.loading),1)],64)):(B(),V(z,{key:1},[U(`span`,{class:P([`fl-status__dot`,{"is-live":e.poll&&!L(_).paused.value&&!L(_).stale.value&&!L(_).state.value?.error,"is-stale":L(_).stale.value,"is-error":!!L(_).state.value?.error}]),"aria-hidden":`true`},null,2),x.value?(B(),H(L(pd),{key:0,content:S.value,placement:`bottom`},{default:R(()=>[U(`span`,vv,F(x.value),1)]),_:1},8,[`content`])):K(``,!0),L(_).paused.value?(B(),H(L(Tu),{key:1,size:`sm`},{default:R(()=>[G(F(a.value.paused),1)]),_:1})):K(``,!0),L(_).state.value?.error?(B(),H(L(Tu),{key:2,variant:`danger`,size:`sm`,class:`fl-status__error`,title:L(_).state.value.error},{default:R(()=>[G(F(a.value.loadError),1)]),_:1},8,[`title`])):L(_).stale.value?(B(),H(L(Tu),{key:3,variant:`warning`,size:`sm`,class:`fl-status__stale`},{default:R(()=>[G(F(a.value.stale),1)]),_:1})):K(``,!0),b.value.length?(B(),V(`span`,yv,[(B(!0),V(z,null,oi(b.value,e=>(B(),H(L(Tu),{key:e.status,variant:e.variant,size:`sm`,class:P(`fl-status__chip fl-status__chip--${e.status}`)},{default:R(()=>[G(F(e.label)+` `+F(e.n),1)]),_:2},1032,[`variant`,`class`]))),128))])):K(``,!0),e.poll?(B(),H(L(pd),{key:5,content:a.value.refresh,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(al),"aria-label":a.value.refresh,class:`fl-status__refresh`,onClick:n[0]||=e=>L(_).refresh()},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`])):K(``,!0)],64))])):K(``,!0),l.value?(B(),V(`div`,bv,[W(L(wu),{label:a.value.loading},null,8,[`label`])])):K(``,!0)]),_:2},[t.$slots.controls?{name:`controls`,fn:R(()=>[ci(t.$slots,`controls`)]),key:`0`}:void 0,t.$slots.empty?{name:`empty`,fn:R(()=>[ci(t.$slots,`empty`)]),key:`1`}:void 0]),1032,[`graph`,`labels`,`registry`,`direction`,`edge-style`,`monitor`,`reserve-counters`,`selection`,`toggleable`,`enabled-overrides`,`minimap`,`controls`,`min-zoom`,`max-zoom`,`wheel`,`node-renderers`,`node-icons`,`status-tones`,`fit-key`]),e.details?(B(),H(L(sd),{key:0,modelValue:T.value,"onUpdate:modelValue":n[4]||=e=>T.value=e,title:D.value?`label`in D.value&&D.value.label||D.value.id:``,width:`min(400px, 100vw)`},si({default:R(()=>[D.value&&E.value?(B(),H(dv,{key:0,graph:u.value,kind:E.value.kind,element:D.value,enabled:N(E.value.kind,D.value),state:L(_).state.value,labels:a.value,toggleable:e.toggleable,drillable:E.value.kind===`node`&&p(D.value),"status-tones":e.statusTones,locale:e.locale,onToggle:n[2]||=e=>ne({kind:E.value.kind,id:E.value.id,enabled:e}),onEnter:n[3]||=e=>m(E.value.id)},{default:R(()=>[ci(t.$slots,`details`,{kind:E.value.kind,element:D.value,state:L(_).state.value,path:d.value})]),_:3},8,[`graph`,`kind`,`element`,`enabled`,`state`,`labels`,`toggleable`,`drillable`,`status-tones`,`locale`])):K(``,!0)]),_:2},[t.$slots[`details-header`]&&D.value&&E.value?{name:`header`,fn:R(()=>[ci(t.$slots,`details-header`,{kind:E.value.kind,element:D.value})]),key:`0`}:void 0]),1032,[`modelValue`,`title`])):K(``,!0),e.toastProvider?(B(),H(L(Vu),{key:1})):K(``,!0)],16,mv)]),_:3},8,[`locale`]))}});function Sv(e,t,n){let r=typeof e==`string`?document.querySelector(e):e;if(!r)throw Error(`mount: no element matches ${String(e)}`);let{appContext:i,...a}=n,o=zt({...a}),s=e=>void Object.assign(o,e);if(i){let e=bo(Ar({name:`FlowMountRoot`,render:()=>bo(t,o)}));return e.appContext=i,pc(e,r),{update:s,unmount:()=>pc(null,r)}}let c=mc({render:()=>bo(t,o)});return c.mount(r),{app:c,update:s,unmount:()=>c.unmount()}}function Cv(e,t){return Sv(e,xv,t)}function wv(e,t){let n=t.modelValue,r=t[`onUpdate:modelValue`],i=Sv(e,ov,{...t,"onUpdate:modelValue":e=>{n=e,i.update({modelValue:e}),r?.(e)}});return{...i,getGraph:()=>n}}var Y=class extends Error{constructor(e,t=0,n=0,r){super(t>0?`${e} (line ${t}${n>0?`, column ${n}`:``})`:e),this.line=t,this.column=n,this.hint=r,this.name=`DiagramError`}};function Tv(e,t,n){return new Y(`The diagram has ${t} ${e}; the limit is ${n}.`,0,0,`Split it into several diagrams.`)}var Ev=`ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`,X={size:14,family:Ev},Dv={"--dg-font-family":Ev,"--dg-text":`#1f2937`,"--dg-text-muted":`#6b7280`,"--dg-background":`transparent`,"--dg-line":`#64748b`,"--dg-node-fill":`#eef2ff`,"--dg-node-stroke":`#6366f1`,"--dg-node-text":`#1e1b4b`,"--dg-row-fill":`#ffffff`,"--dg-row-alt-fill":`#f5f7ff`,"--dg-cluster-fill":`#f8fafc`,"--dg-cluster-stroke":`#cbd5e1`,"--dg-cluster-text":`#334155`,"--dg-edge-label-fill":`#ffffff`,"--dg-note-fill":`#fef9c3`,"--dg-note-stroke":`#ca8a04`,"--dg-note-text":`#422006`,"--dg-actor-fill":`#eef2ff`,"--dg-actor-stroke":`#6366f1`,"--dg-activation-fill":`#e0e7ff`,"--dg-block-stroke":`#94a3b8`,"--dg-block-label-fill":`#e2e8f0`,"--dg-grid":`#e5e7eb`,"--dg-task-fill":`#818cf8`,"--dg-task-stroke":`#4f46e5`,"--dg-task-done-fill":`#cbd5e1`,"--dg-task-done-stroke":`#64748b`,"--dg-task-active-fill":`#c7d2fe`,"--dg-task-crit-fill":`#f87171`,"--dg-task-crit-stroke":`#b91c1c`,"--dg-task-text":`#ffffff`,"--dg-task-text-dark":`#1f2937`,"--dg-exclude-fill":`rgba(148, 163, 184, 0.18)`,"--dg-today":`#ef4444`,"--dg-section-fill-0":`rgba(99, 102, 241, 0.06)`,"--dg-section-fill-1":`rgba(100, 116, 139, 0.06)`,"--dg-state-start":`#1f2937`,"--dg-lifeline":`#94a3b8`,"--dg-number-text":`#ffffff`,"--dg-rect-fill":`rgba(148, 163, 184, 0.12)`,"--dg-pie-stroke":`#ffffff`,"--dg-pie-text":`#ffffff`,"--dg-c4-person-fill":`#08427b`,"--dg-c4-person-stroke":`#052e56`,"--dg-c4-person-text":`#ffffff`,"--dg-c4-system-fill":`#1168bd`,"--dg-c4-system-stroke":`#0b4884`,"--dg-c4-system-text":`#ffffff`,"--dg-c4-container-fill":`#438dd5`,"--dg-c4-container-stroke":`#2e6295`,"--dg-c4-container-text":`#ffffff`,"--dg-c4-component-fill":`#85bbf0`,"--dg-c4-component-stroke":`#5d82a8`,"--dg-c4-component-text":`#0b2540`,"--dg-c4-external-fill":`#7b7b7b`,"--dg-c4-external-stroke":`#5c5c5c`,"--dg-c4-external-text":`#ffffff`,"--dg-c4-boundary-stroke":`#6b7280`,"--dg-c4-boundary-text":`#1f2937`,"--dg-c4-node-fill":`rgba(148, 163, 184, 0.08)`,"--dg-c4-node-stroke":`#6b7280`,"--dg-c4-node-text":`#1f2937`},Ov=[`#6366f1`,`#f59e0b`,`#10b981`,`#ef4444`,`#06b6d4`,`#8b5cf6`,`#84cc16`,`#ec4899`,`#f97316`,`#14b8a6`,`#64748b`,`#a855f7`];function kv(e){let t=e%Ov.length;return`var(--dg-pie-${t+1}, ${Ov[t]})`}function Z(e){let t=Dv[e];return t===void 0?`var(${e})`:`var(${e}, ${t})`}function Av(e,t=``){let n=`#${e}`;return[`${n}{font-family:${Z(`--dg-font-family`)};font-size:${X.size}px;color:${Z(`--dg-text`)}}`,`${n} text{fill:${Z(`--dg-text`)}}`,`${n} .dg-label{fill:${Z(`--dg-node-text`)}}`,`${n} .dg-node .dg-shape{fill:${Z(`--dg-node-fill`)};stroke:${Z(`--dg-node-stroke`)};stroke-width:1.5px}`,`${n} .dg-cluster-box{fill:${Z(`--dg-cluster-fill`)};stroke:${Z(`--dg-cluster-stroke`)};stroke-width:1px}`,`${n} .dg-cluster-label{fill:${Z(`--dg-cluster-text`)};font-weight:600}`,`${n} .dg-edge{fill:none;stroke:${Z(`--dg-line`)};stroke-width:1.5px}`,`${n} .dg-edge-thick{stroke-width:3.5px}`,`${n} .dg-edge-dotted{stroke-dasharray:3 3}`,`${n} .dg-marker{fill:${Z(`--dg-line`)};stroke:${Z(`--dg-line`)}}`,`${n} .dg-edge-label-box{fill:${Z(`--dg-edge-label-fill`)};opacity:0.9}`,`${n} .dg-edge-label{fill:${Z(`--dg-text`)}}`,`${n} .dg-muted{fill:${Z(`--dg-text-muted`)}}`,`${n} a{cursor:pointer}`,t].filter(Boolean).join(``)}var jv=/^[a-zA-Z][a-zA-Z0-9:_-]*$/;function Q(e,t={},n=[]){if(!jv.test(e))throw Error(`Invalid SVG tag name: ${e}`);return{tag:e,attrs:t,children:n.filter(e=>!!e)}}function Mv(e){return{text:e}}function Nv(e){return e.replace(/[&<>]/g,e=>e===`&`?`&`:e===`<`?`<`:`>`)}function Pv(e){return e.replace(/[&<>"']/g,e=>{switch(e){case`&`:return`&`;case`<`:return`<`;case`>`:return`>`;case`"`:return`"`;default:return`'`}})}function Fv(e){if(!Number.isFinite(e))return`0`;let t=Math.round(e*100)/100;return Object.is(t,-0)?`0`:String(t)}function Iv(e){let t=``;for(let[n,r]of Object.entries(e))if(r!=null&&r!==!1){if(!jv.test(n))throw Error(`Invalid SVG attribute name: ${n}`);t+=r===!0?` ${n}=""`:typeof r==`number`?` ${n}="${Fv(r)}"`:` ${n}="${Pv(r)}"`}return t}function Lv(e){if(`text`in e)return Nv(e.text);let t=Iv(e.attrs);return e.children.length===0?`<${e.tag}${t}/>`:`<${e.tag}${t}>${e.children.map(Lv).join(``)}</${e.tag}>`}var Rv=class{constructor(){this.parts=[]}moveTo(e,t){return this.parts.push(`M${Fv(e)},${Fv(t)}`),this}lineTo(e,t){return this.parts.push(`L${Fv(e)},${Fv(t)}`),this}curveTo(e,t,n,r,i,a){return this.parts.push(`C${Fv(e)},${Fv(t)} ${Fv(n)},${Fv(r)} ${Fv(i)},${Fv(a)}`),this}quadTo(e,t,n,r){return this.parts.push(`Q${Fv(e)},${Fv(t)} ${Fv(n)},${Fv(r)}`),this}arcTo(e,t,n,r,i,a,o){return this.parts.push(`A${Fv(e)},${Fv(t)} ${Fv(n)} ${+!!r},${+!!i} ${Fv(a)},${Fv(o)}`),this}close(){return this.parts.push(`Z`),this}toString(){return this.parts.join(` `)}};function zv(e){let t=Math.ceil(e.width+16),n=Math.ceil(e.height+16),r=`${e.id}-title`;return{svg:Lv(Q(`svg`,{xmlns:`http://www.w3.org/2000/svg`,id:e.id,class:`dg dg-${e.type}`,width:t,height:n,viewBox:`0 0 ${t} ${n}`,role:`img`,"aria-labelledby":r,style:`max-width:100%;height:auto`},[Q(`title`,{id:r},[Mv(e.title)]),e.description?Q(`desc`,{},[Mv(e.description)]):null,Q(`style`,{},[Mv(Av(e.id,e.css))]),e.defs&&e.defs.length>0?Q(`defs`,{},e.defs):null,Q(`g`,{transform:`translate(8,8)`},e.body)])),width:t,height:n,type:e.type}}var Bv=1.25;new Set(`гзтэсеё`.split(``)),new Set(`жмшщюыЖМШЩЮЫФф`.split(``));var Vv={quot:`"`,amp:`&`,lt:`<`,gt:`>`,apos:`'`,nbsp:`\xA0`,semi:`;`,colon:`:`,num:`#`,hash:`#`};function Hv(e){return e.replace(/#(x[0-9a-fA-F]+|[0-9]+|[a-zA-Z]+);/g,(e,t)=>{if(t[0]===`x`||t[0]===`X`){let n=parseInt(t.slice(1),16);return Uv(n)?String.fromCodePoint(n):e}if(/^[0-9]+$/.test(t)){let n=parseInt(t,10);return Uv(n)?String.fromCodePoint(n):e}return Vv[t.toLowerCase()]??e})}function Uv(e){return e>0&&e<=1114111&&!(e>=55296&&e<=57343)}var Wv=/<br\s*\/?>/gi;function Gv(e){let t=[],n=/(\*\*|__)(.+?)\1|(\*|_)(.+?)\3/g,r=0;for(let i of e.matchAll(n)){let n=i.index??0;if(n>r&&t.push({text:e.slice(r,n)}),i[2]!==void 0)for(let e of Gv(i[2]))t.push({...e,bold:!0});else if(i[4]!==void 0)for(let e of Gv(i[4]))t.push({...e,italic:!0});r=n+i[0].length}return r<e.length&&t.push({text:e.slice(r)}),t.filter(e=>e.text.length>0)}function Kv(e,t={}){let n=Hv(e),r=(t.markdown?n.split(/\r?\n|<br\s*\/?>/i).map(e=>e.trim()):n.split(Wv)).map(e=>t.markdown?Gv(e):e.length>0?[{text:e}]:[]);return{lines:r.length>0?r:[[]]}}function qv(e){return{lines:e.split(`
|
|
8
|
-
`).map(e=>e.length>0?[{text:e}]:[])}}function
|
|
7
|
+
Черновик --> Проверка: отправить`,importError:`Не удалось импортировать`,cancel:`Отмена`,label:`Название`,description:`Описание`,nodeType:`Тип`,edgeKind:`Вид`,transition:`Переход`,association:`Связь`,subgraphRef:`Ссылка на подпроцесс`,subgraphInline:e=>`Встроенный подпроцесс, шагов: ${e}`,subgraphCreate:`Создать встроенный подпроцесс`,subgraphOpen:`Открыть`,subgraphRemove:`Убрать`,addField:`Добавить поле`,key:`Ключ`,value:`Значение`,removeField:`Удалить поле`,locked:`Этот элемент заблокирован`,nothingSelected:`Выберите шаг или переход, чтобы изменить его.`,selectedCount:e=>`Выделено: ${e}`,graphTitle:`Название`,direction:`Направление`,directionLR:`Слева направо`,directionTB:`Сверху вниз`,directionAuto:`Автоматически (по экрану)`,addStart:`Добавить начало`,enable:`Включить`,transitions:`Переходы`,addTransition:`Добавить переход в…`,disable:`Отключить`,addHere:`Добавить сюда`,connectHint:`Потяните за точку, чтобы соединить`,emptyEditorTitle:`Начните процесс`,emptyEditorHint:`Перетащите начальный узел из панели элементов или импортируйте диаграмму состояний Mermaid.`,edge:`Переход`,node:`Шаг`,group:`Группа`,readOnly:`Только чтение`};function K_(e,t){let n=e===`ru`?G_:W_;return t?{...n,...t,statuses:{...n.statuses,...t.statuses},types:{...n.types,...t.types}}:n}var q_=[`lang`,`aria-label`],J_=[`aria-label`],Y_={key:0,class:`fl-toolbar__text`},X_={key:0,class:`fl-toolbar__text`},Z_={class:`fl-editor__body`},Q_=[`aria-label`],$_={class:`fl-panel-title`},ev={class:`fl-editor__canvas`},tv={key:0,class:`fl-nav`,"data-fl-ui":``},nv={key:1,class:`fl-hint`,"data-fl-ui":``},rv={class:`fl-editor-empty`},iv={class:`fl-empty__title`},av={class:`fl-empty__hint`},ov={key:0,class:`fl-editor-empty__actions`},sv={class:`fl-issues__summary`},cv=Ar({inheritAttrs:!1,__name:`FlowEditor`,props:{modelValue:{},registry:{default:()=>rp},palette:{default:void 0},readonly:{type:Boolean,default:!1},locked:{default:()=>[]},snapGrid:{default:20},direction:{default:void 0},edgeStyle:{default:`orthogonal`},nodeRenderers:{default:()=>({})},nodeIcons:{default:()=>({})},locale:{default:void 0},labels:{default:void 0},minimap:{type:Boolean,default:!1},mermaid:{type:Function,default:void 0},toastProvider:{type:Boolean,default:!0},exportName:{default:`process.json`}},emits:[`update:modelValue`,`change`,`select`,`validate`,`export`],setup(e,{expose:t,emit:n}){let r=e,i=n,{lang:a,wrapper:o,wrapperProps:s}=U_(()=>r.locale),c=q(()=>K_(a.value,r.labels)),l=new hh(Kt(r.modelValue)),u=Zt(Kt(r.modelValue)),d=I(0);Zn(()=>r.modelValue,e=>{let t=Kt(e);t!==u.value&&(l.reset(t),u.value=t,d.value++,f.value=m(t,f.value))});let f=I([]);function p(e,t){let n=e;for(let e of t){let t=n.nodes.find(t=>t.id===e);if(!t||typeof t.subgraph!=`object`)return n;n=t.subgraph}return n}function m(e,t){let n=[],r=e;for(let e of t){let t=r.nodes.find(t=>t.id===e);if(!t||typeof t.subgraph!=`object`)break;n.push(e),r=t.subgraph}return n}let h=q(()=>p(u.value,f.value)),g=q(()=>{let e=[{label:u.value.meta?.title??c.value.root,depth:0}],t=u.value;return f.value.forEach((n,r)=>{let i=t.nodes.find(e=>e.id===n);e.push({label:i?.label??n,depth:r+1}),i&&typeof i.subgraph==`object`&&(t=i.subgraph)}),e});function _(e,t=f.value,n=u.value){if(t.length===0)return e;let[r,...i]=t,a=n.nodes.find(e=>e.id===r),o=a&&typeof a.subgraph==`object`?a.subgraph:void 0;return o?{type:`updateNode`,id:r,patch:{subgraph:dh(o,_(e,i,o))}}:e}let v=I([]),y=I(null),b=I(null);function x(e,t){if(r.readonly)return!1;let n=e,i=h.value;if(i.nodes.some(e=>!e.position)&&e.type!==`replace`){let t=y.value?.layout.nodes;t&&(n={type:`batch`,commands:[{type:`moveNodes`,moves:i.nodes.filter(e=>!e.position&&t.has(e.id)).map(e=>({id:e.id,position:{x:Math.round(t.get(e.id).x),y:Math.round(t.get(e.id).y)}}))},e]})}let a=_(n);try{let r=l.execute(a,t);return S(r,{command:a,local:{command:n,path:[...f.value]},description:mh(e),graph:r,source:`edit`}),!0}catch(e){if(e instanceof ch)return!1;throw e}}function S(e,t){u.value=e,d.value++,f.value=m(e,f.value);let n=p(e,f.value),r=new Set([...n.nodes.map(e=>e.id),...n.edges.map(e=>e.id)]);v.value=v.value.filter(e=>r.has(e)),i(`update:modelValue`,e),i(`change`,t)}function C(){let e=l.undo();e&&S(l.graph,{command:e.command,local:{command:e.command,path:[]},description:mh(e.command),graph:l.graph,source:`undo`})}function w(){let e=l.redo();e&&S(l.graph,{command:e.command,local:{command:e.command,path:[]},description:mh(e.command),graph:l.graph,source:`redo`})}let T=q(()=>(d.value,l.canUndo)),ee=q(()=>(d.value,l.canRedo)),E=q(()=>(d.value,l.last?`${c.value.undo}: ${mh(l.last.command)}`:c.value.undo)),te=q(()=>(d.value,l.next?`${c.value.redo}: ${mh(l.next.command)}`:c.value.redo)),D=q(()=>sp(h.value,{registry:r.registry}));Zn(D,e=>i(`validate`,e),{immediate:!0});let O=q(()=>{let e=new Map;for(let t of D.value)t.target&&(t.severity!==`error`&&e.has(t.target.id)||e.set(t.target.id,t.severity));return e}),k=q(()=>D.value.filter(e=>e.severity===`error`).length),A=q(()=>D.value.length-k.value),j=e=>r.locked.includes(e.type)||op(r.registry,e),M=q(()=>h.value.nodes.filter(e=>v.value.includes(e.id)));function N(e){v.value=e,i(`select`,e)}function ne(e){let t=h.value;return e.filter(e=>{let n=t.nodes.find(t=>t.id===e);return!n||!j(n)})}function re(){let e=ne(v.value);e.length&&x({type:`removeElements`,ids:e})&&N([])}let ie=Zt(null);function ae(){let e=v.value.filter(e=>h.value.nodes.some(t=>t.id===e));if(e.length){ie.value=_h(h.value,e,y.value?.layout);try{navigator.clipboard?.writeText(JSON.stringify(ie.value)).catch(()=>{})}catch{}}}function oe(){ae(),re()}function se(e=ie.value,t){if(!e||!e.nodes.length)return;let{command:n,ids:i}=vh(h.value,e,t?{at:t}:{offset:{x:r.snapGrid*2||32,y:r.snapGrid*2||32}});x(n)&&(N(i),t||(ie.value={...e,nodes:e.nodes.map(e=>e.position?{...e,position:{x:e.position.x+(r.snapGrid*2||32),y:e.position.y+(r.snapGrid*2||32)}}:e)}))}function ce(){let e=v.value.filter(e=>h.value.nodes.some(t=>t.id===e));e.length&&se(_h(h.value,e,y.value?.layout))}function le(){N(h.value.nodes.map(e=>e.id))}function ue(e,t){let n=y.value?.layout.nodes,r=M.value.filter(e=>!j(e)).map(r=>{let i=n?.get(r.id),a=r.position??(i?{x:i.x,y:i.y}:{x:0,y:0});return{id:r.id,position:{x:a.x+e,y:a.y+t}}});r.length&&x({type:`moveNodes`,moves:r},`nudge`)}function de(e){let t=y.value&&yh(y.value.layout.nodes,M.value.filter(e=>!j(e)).map(e=>e.id),e);t&&x(t)}function pe(e){let t=y.value&&bh(y.value.layout.nodes,M.value.filter(e=>!j(e)).map(e=>e.id),e);t&&x(t)}function me(){let e=h.value;x(xh(Vm(e,{registry:r.registry,direction:y.value?.layout.direction??`LR`,routing:r.edgeStyle===`smooth`?`spline`:`orthogonal`,ignorePositions:!0})))&&setTimeout(()=>y.value?.fit(!0),30)}function he(){let e=v.value;if(!e.length)return;let t=h.value,n=e.map(e=>{let n=t.nodes.find(t=>t.id===e);if(n)return j(n)?null:{kind:`node`,el:n};let r=t.edges.find(t=>t.id===e);return r?{kind:`edge`,el:r}:null}).filter(e=>!!e);if(!n.length)return;let r=!n.every(e=>Bf(e.el));x({type:`batch`,commands:n.map(e=>({type:`setEnabled`,kind:e.kind,id:e.el.id,enabled:r}))})}function ge(e,t){let n=h.value,i=ip(r.registry,e),a={id:fh(n,e),type:e,position:ph(t,r.snapGrid)};return i.labelOutside||(a.label=c.value.types[e]??i.title),i.drillable&&(a.subgraph={version:1,nodes:[{id:`start`,type:`start`},{id:`end`,type:`end`}],edges:[{id:`e-1`,from:`start`,to:`end`}]}),a}function _e(e){let t=y.value?.layout,n=t?.nodes??new Map,i=Rm({id:``,type:e,label:c.value.types[e]??ip(r.registry,e).title},r.registry,em),a=v.value.length===1?n.get(v.value[0]):void 0,o=y.value?.viewCentre()??{x:0,y:0};return a&&(o=t?.direction===`TB`?{x:a.x,y:a.y+a.height/2+72+i.height/2}:{x:a.x+a.width/2+72+i.width/2,y:a.y}),Sh(n.values(),i,o,{grid:Be.value,padding:32})}function ve(e,t){let n=ge(e,t??_e(e));x({type:`addNodes`,nodes:[n]})&&(N([n.id]),kn(()=>y.value?.focusElement(n.id)))}function ye(e,t){let n=y.value?.root;if(!n)return;let r=n.getBoundingClientRect();t.x<r.left||t.x>r.right||t.y<r.top||t.y>r.bottom||ve(e,y.value.clientToGraph(t.x,t.y))}function be(e){let t={id:fh(h.value,`e`),from:e.from,to:e.to};e.fromPort&&(t.fromPort=e.fromPort),e.toPort&&(t.toPort=e.toPort),x({type:`addEdge`,edge:t})&&N([t.id])}function xe(e){let t=e.end===`from`?{from:e.node,fromPort:e.port??null}:{to:e.node,toPort:e.port??null};x({type:`updateEdge`,id:e.id,patch:t})}function Se(e){x({type:`removeElements`,ids:[e]})&&N([])}function Ce(e){let t=e.filter(e=>{let t=h.value.nodes.find(t=>t.id===e.id);return t&&!j(t)});t.length&&x({type:`moveNodes`,moves:t})}function we(e){let t=h.value.nodes.find(t=>t.id===e);t&&typeof t.subgraph==`object`&&(f.value=[...f.value,e],N([]))}function Te(e){let t=f.value[e];f.value=f.value.slice(0,e),N(t?[t]:[])}function Ee(e){N([e.id]),Re.value=`properties`,Ue.value&&(Ge.value=!0),kn(()=>b.value?.focusLabel())}function De(){v.value.length?N([]):f.value.length&&Te(f.value.length-1)}let Oe=I(!1),ke=I(`json`);function Ae(e){ke.value=e,Oe.value=!0}function je(e){x({type:`replace`,graph:e}),N([]),setTimeout(()=>y.value?.fit(!0),30)}function Me(){let e=$f(u.value);i(`export`,e);try{let t=URL.createObjectURL(new Blob([e],{type:`application/json`})),n=document.createElement(`a`);n.href=t,n.download=r.exportName,n.click(),setTimeout(()=>URL.revokeObjectURL(t),1e3)}catch{}}let Ne=typeof navigator<`u`&&/Mac|iPhone|iPad/.test(navigator.platform||navigator.userAgent)?`⌘`:`Ctrl+`;function Pe(e){if(e.target.closest(`input, textarea, select, [contenteditable="true"], .uid-modal, .uid-menu, .fl-props`))return;let t=e.metaKey||e.ctrlKey,n=e.key.toLowerCase();if(t&&n===`z`)e.preventDefault(),e.shiftKey?w():C();else if(t&&n===`y`)e.preventDefault(),w();else if(t&&n===`c`)ae();else if(t&&n===`x`)e.preventDefault(),oe();else if(t&&n===`v`)e.preventDefault(),se();else if(t&&n===`d`)e.preventDefault(),ce();else if(t&&n===`a`)e.preventDefault(),le();else if((e.key===`Delete`||e.key===`Backspace`)&&v.value.length)e.preventDefault(),re();else if(e.key.startsWith(`Arrow`)&&!e.altKey&&M.value.length){e.preventDefault();let t=e.shiftKey?(r.snapGrid||10)*5:r.snapGrid||1,n={ArrowUp:[0,-t],ArrowDown:[0,t],ArrowLeft:[-t,0],ArrowRight:[t,0]}[e.key];n&&ue(n[0],n[1])}}let Fe=I(null);function Ie(e){let t=[],n=e.target;if(n&&!r.readonly){let e=v.value.length>1,r=n.kind===`node`?h.value.nodes.find(e=>e.id===n.id):void 0,i=r?j(r):!1;r&&typeof r.subgraph==`object`&&!e&&t.push({label:c.value.subgraphOpen,icon:ll,action:()=>we(r.id)}),n.kind===`node`&&(t.push({label:c.value.duplicate,icon:Bc,shortcut:`${Ne}D`,action:ce}),t.push({label:c.value.copy,icon:Vc,shortcut:`${Ne}C`,action:ae}),t.push({label:c.value.cut,icon:ol,shortcut:`${Ne}X`,action:oe,disabled:i}));let a=r??h.value.edges.find(e=>e.id===n.id);t.push({label:a&&Bf(a)?c.value.disable:c.value.enable,icon:rl,action:he,disabled:i}),e&&(t.push({separator:!0}),t.push({label:c.value.align,icon:Cc,children:[{label:c.value.alignLeft,action:()=>de(`left`)},{label:c.value.alignCenter,action:()=>de(`center`)},{label:c.value.alignRight,action:()=>de(`right`)},{label:c.value.alignTop,action:()=>de(`top`)},{label:c.value.alignMiddle,action:()=>de(`middle`)},{label:c.value.alignBottom,action:()=>de(`bottom`)},{label:c.value.distributeH,action:()=>pe(`horizontal`),disabled:v.value.length<3},{label:c.value.distributeV,action:()=>pe(`vertical`),disabled:v.value.length<3}]})),t.push({separator:!0}),t.push({label:c.value.delete,icon:fl,danger:!0,shortcut:`Del`,action:re,disabled:i})}else r.readonly||(t.push({label:c.value.addHere,icon:nl,children:Le.value.map(t=>({label:c.value.types[t]??ip(r.registry,t).title,action:()=>ve(t,e.point)}))}),t.push({label:c.value.paste,icon:Lc,shortcut:`${Ne}V`,disabled:!ie.value,action:()=>se(ie.value,e.point)}),t.push({separator:!0}),t.push({label:c.value.selectAll,shortcut:`${Ne}A`,action:le}),t.push({label:c.value.autoLayout,icon:Jc,action:me}));t.length&&Fe.value?.open(e.client,t)}let Le=q(()=>r.palette??[...r.registry.keys()]),Re=I(`properties`),ze=I(r.snapGrid>0),Be=q(()=>ze.value?r.snapGrid:0),Ve=I(r.minimap),He=I(null),Ue=I(!1),We=I(!1),Ge=I(!1),Ke;Kr(()=>{let e=()=>{let e=He.value?.clientWidth??0;Ue.value=e>0&&e<760};e(),typeof ResizeObserver==`function`&&He.value&&(Ke=new ResizeObserver(e),Ke.observe(He.value))}),Yr(()=>Ke?.disconnect());function qe(e){e.target&&(N([e.target.id]),y.value?.centreOn(e.target.id),Ue.value&&(Ge.value=!1),kn(()=>y.value?.focusElement(e.target.id)))}return t({undo:C,redo:w,autoLayout:me,fit:()=>y.value?.fit(!0),select:N,history:l,issues:D}),(t,n)=>(B(),H(ri(L(o)),fe(Ua(L(s))),{default:R(()=>[U(`div`,Ja({ref_key:`rootEl`,ref:He},t.$attrs,{class:[`fl-editor`,{"is-narrow":Ue.value,"is-readonly":e.readonly}],lang:L(a),role:`application`,"aria-label":c.value.editor,onKeydown:Pe}),[U(`div`,{class:`fl-toolbar`,role:`toolbar`,"aria-label":c.value.editor},[Ue.value&&!e.readonly?(B(),H(L(xl),{key:0,size:`sm`,variant:`ghost`,icon:L(sl),"aria-label":c.value.palette,class:`fl-toolbar__palette`,onClick:n[0]||=e=>We.value=!0},null,8,[`icon`,`aria-label`])):K(``,!0),W(L(pd),{content:E.value,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(ml),"aria-label":c.value.undo,disabled:!T.value||e.readonly,class:`fl-toolbar__undo`,onClick:C},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),W(L(pd),{content:te.value,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(il),"aria-label":c.value.redo,disabled:!ee.value||e.readonly,class:`fl-toolbar__redo`,onClick:w},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),n[20]||=U(`span`,{class:`fl-toolbar__sep`,"aria-hidden":`true`},null,-1),W(L(pd),{content:`${c.value.duplicate} (${L(Ne)}D)`,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(Bc),"aria-label":c.value.duplicate,disabled:!M.value.length||e.readonly,class:`fl-toolbar__duplicate`,onClick:ce},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),W(L(pd),{content:`${c.value.delete} (Del)`,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(fl),"aria-label":c.value.delete,disabled:!v.value.length||e.readonly,class:`fl-toolbar__delete`,onClick:re},null,8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),n[21]||=U(`span`,{class:`fl-toolbar__sep`,"aria-hidden":`true`},null,-1),W(L(pd),{content:c.value.autoLayout,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(Jc),"aria-label":c.value.autoLayout,disabled:e.readonly||!h.value.nodes.length,class:`fl-toolbar__layout`,onClick:me},{default:R(()=>[Ue.value?K(``,!0):(B(),V(`span`,Y_,F(c.value.autoLayout),1))]),_:1},8,[`icon`,`aria-label`,`disabled`])]),_:1},8,[`content`]),W(L(pd),{content:c.value.snapToGrid,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:ze.value?`secondary`:`ghost`,icon:L(Yc),"aria-label":c.value.snapToGrid,"aria-pressed":ze.value,class:P([`fl-toolbar__snap fl-toggle`,{"is-active":ze.value}]),onClick:n[1]||=e=>ze.value=!ze.value},null,8,[`variant`,`icon`,`aria-label`,`aria-pressed`,`class`])]),_:1},8,[`content`]),n[22]||=U(`span`,{class:`fl-toolbar__spacer`},null,-1),W(L(Sd),null,{trigger:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:Ue.value?L(Wc):L(Gc),"aria-label":c.value.more,class:`fl-toolbar__file`},{default:R(()=>[Ue.value?K(``,!0):(B(),V(`span`,X_,`JSON / Mermaid`))]),_:1},8,[`icon`,`aria-label`])]),default:R(()=>[W(L(wd),{icon:L(Uc),class:`fl-menu-export`,onClick:Me},{default:R(()=>[G(F(c.value.exportJson),1)]),_:1},8,[`icon`]),W(L(kd)),W(L(wd),{icon:L(hl),disabled:e.readonly,class:`fl-menu-import-json`,onClick:n[2]||=e=>Ae(`json`)},{default:R(()=>[G(F(c.value.importJson),1)]),_:1},8,[`icon`,`disabled`]),e.mermaid?(B(),H(L(wd),{key:0,icon:L(Gc),disabled:e.readonly,class:`fl-menu-import-mermaid`,onClick:n[3]||=e=>Ae(`mermaid`)},{default:R(()=>[G(F(c.value.importMermaid),1)]),_:1},8,[`icon`,`disabled`])):K(``,!0)]),_:1}),ci(t.$slots,`toolbar`),Ue.value?(B(),H(L(xl),{key:1,size:`sm`,variant:`ghost`,icon:L(el),"aria-label":c.value.properties,class:`fl-toolbar__side`,onClick:n[4]||=e=>Ge.value=!0},{default:R(()=>[k.value?(B(),H(L(Tu),{key:0,variant:`danger`,size:`sm`},{default:R(()=>[G(F(k.value),1)]),_:1})):K(``,!0)]),_:1},8,[`icon`,`aria-label`])):K(``,!0)],8,J_),U(`div`,Z_,[!Ue.value&&!e.readonly?(B(),V(`aside`,{key:0,class:`fl-editor__palette`,"aria-label":c.value.palette},[U(`h3`,$_,F(c.value.palette),1),W(C_,{registry:e.registry,types:Le.value,labels:c.value,"node-icons":e.nodeIcons,onAdd:n[5]||=e=>ve(e),onDrop:ye},null,8,[`registry`,`types`,`labels`,`node-icons`])],8,Q_)):K(``,!0),U(`div`,ev,[W(u_,{ref_key:`canvas`,ref:y,graph:h.value,labels:c.value,registry:e.registry,direction:e.direction,"edge-style":e.edgeStyle,selection:v.value,issues:O.value,editable:!e.readonly,"snap-grid":Be.value,minimap:Ve.value,"node-renderers":e.nodeRenderers,"node-icons":e.nodeIcons,"fit-key":f.value.join(`/`),drillable:e=>typeof e.subgraph==`object`,"is-locked":j,"aria-label":c.value.editor,onSelect:n[10]||=e=>N(e),onActivate:Ee,onEnter:we,onMove:Ce,onConnect:be,onReconnect:xe,onDetach:Se,onContextmenu:Ie,onBackgroundDblclick:n[11]||=t=>!e.readonly&&ve(`state`,t),onEscape:De,"onUpdate:minimap":n[12]||=e=>Ve.value=e},{overlay:R(()=>[f.value.length?(B(),V(`div`,tv,[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(Nc),"aria-label":c.value.back,class:`fl-nav__back`,onClick:n[6]||=e=>Te(f.value.length-1)},null,8,[`icon`,`aria-label`]),W(L(Xd),{label:c.value.root,collapse:``,class:`fl-nav__crumbs`},{default:R(()=>[(B(!0),V(z,null,oi(g.value,e=>(B(),H(L(rf),{key:e.depth,current:e.depth===f.value.length,onClick:t=>Te(e.depth)},{default:R(()=>[G(F(e.label),1)]),_:2},1032,[`current`,`onClick`]))),128))]),_:1},8,[`label`])])):K(``,!0),h.value.nodes.length&&!e.readonly&&!v.value.length?(B(),V(`p`,nv,F(c.value.connectHint),1)):K(``,!0)]),empty:R(()=>[U(`div`,rv,[U(`p`,iv,F(c.value.emptyEditorTitle),1),U(`p`,av,F(c.value.emptyEditorHint),1),e.readonly?K(``,!0):(B(),V(`div`,ov,[W(L(xl),{variant:`primary`,size:`sm`,icon:L(nl),class:`fl-empty__add-start`,onClick:n[7]||=e=>ve(`start`)},{default:R(()=>[G(F(c.value.addStart),1)]),_:1},8,[`icon`]),e.mermaid?(B(),H(L(xl),{key:0,variant:`secondary`,size:`sm`,icon:L(Gc),onClick:n[8]||=e=>Ae(`mermaid`)},{default:R(()=>[G(F(c.value.importMermaid),1)]),_:1},8,[`icon`])):K(``,!0),W(L(xl),{variant:`ghost`,size:`sm`,icon:L(hl),onClick:n[9]||=e=>Ae(`json`)},{default:R(()=>[G(F(c.value.importJson),1)]),_:1},8,[`icon`])]))])]),_:1},8,[`graph`,`labels`,`registry`,`direction`,`edge-style`,`selection`,`issues`,`editable`,`snap-grid`,`minimap`,`node-renderers`,`node-icons`,`fit-key`,`drillable`,`aria-label`])]),(B(),H(ri(Ue.value?L(sd):`aside`),fe(Ua(Ue.value?{modelValue:Ge.value,"onUpdate:modelValue":e=>Ge.value=e,title:c.value.properties,width:`min(360px, 100vw)`}:{class:`fl-editor__side`,"aria-label":c.value.properties})),{default:R(()=>[W(L(Vd),{modelValue:Re.value,"onUpdate:modelValue":n[15]||=e=>Re.value=e},{list:R(()=>[W(L(Ud),{value:`properties`},{default:R(()=>[G(F(c.value.properties),1)]),_:1}),W(L(Ud),{value:`issues`,class:`fl-tab-issues`},{default:R(()=>[G(F(c.value.issues)+` `,1),D.value.length?(B(),H(L(Tu),{key:0,variant:k.value?`danger`:`warning`,size:`sm`,class:`fl-tab-issues__count`},{default:R(()=>[G(F(D.value.length),1)]),_:1},8,[`variant`])):K(``,!0)]),_:1})]),default:R(()=>[W(L(Gd),{value:`properties`},{default:R(()=>[W(V_,{ref_key:`propsPanel`,ref:b,graph:h.value,selection:v.value,registry:e.registry,labels:c.value,readonly:e.readonly,locked:j,onCommand:x,onAlign:de,onDistribute:pe,onDelete:re,onOpenSubgraph:we,onConnect:n[13]||=(e,t)=>be({from:e,to:t}),onSelect:n[14]||=e=>{N([e]),y.value?.centreOn(e)}},null,8,[`graph`,`selection`,`registry`,`labels`,`readonly`]),ci(t.$slots,`properties`,{selection:v.value,graph:h.value,path:f.value})]),_:3}),W(L(Gd),{value:`issues`},{default:R(()=>[U(`p`,sv,F(c.value.issueCount(k.value,A.value)),1),W(b_,{issues:D.value,labels:c.value,onFocus:qe},null,8,[`issues`,`labels`])]),_:1})]),_:3},8,[`modelValue`])]),_:3},16))]),Ue.value&&!e.readonly?(B(),H(L(sd),{key:0,modelValue:We.value,"onUpdate:modelValue":n[18]||=e=>We.value=e,side:`left`,title:c.value.palette,width:`min(280px, 85vw)`},{default:R(()=>[W(C_,{registry:e.registry,types:Le.value,labels:c.value,"node-icons":e.nodeIcons,onAdd:n[16]||=e=>{ve(e),We.value=!1},onDrop:n[17]||=(e,t)=>{ye(e,t),We.value=!1}},null,8,[`registry`,`types`,`labels`,`node-icons`])]),_:1},8,[`modelValue`,`title`])):K(``,!0),W(h_,{open:Oe.value,"onUpdate:open":n[19]||=e=>Oe.value=e,mode:ke.value,labels:c.value,mermaid:e.mermaid,onImport:je},null,8,[`open`,`mode`,`labels`,`mermaid`]),W(p_,{ref_key:`menu`,ref:Fe},null,512),e.toastProvider?(B(),H(L(Vu),{key:1})):K(``,!0)],16,q_)]),_:3},16))}}),lv={class:`fl-details`},uv={class:`fl-details__head`},dv={key:0,class:`fl-details__desc`},fv={class:`fl-details__section`},pv=Ar({__name:`FlowDetails`,props:{graph:{},kind:{},element:{},enabled:{type:Boolean},state:{},labels:{},toggleable:{type:Boolean},drillable:{type:Boolean},statusTones:{},locale:{}},emits:[`toggle`,`enter`],setup(e,{emit:t}){let n=e,r=t,i=q(()=>n.kind===`node`?n.element:void 0),a=q(()=>n.kind===`edge`?n.element:void 0),o=q(()=>i.value?n.state?.nodes[i.value.id]:void 0),s=q(()=>a.value?n.state?.edges[a.value.id]:void 0),c=e=>n.graph.nodes.find(t=>t.id===e)?.label??e,l=q(()=>{let e=o.value?.status;if(!e)return`default`;let t=n.statusTones?.[e]??rh[e]??`neutral`;return t===`accent`?`info`:t===`neutral`?`default`:t}),u=q(()=>{let e=Zm(o.value?.updatedAt);return e===void 0?``:new Date(e).toLocaleString(n.locale)}),d=q(()=>Object.entries(n.element.data??{}));function f(e){return typeof e==`object`&&e?JSON.stringify(e):String(e)}return(t,n)=>(B(),V(`div`,lv,[U(`div`,uv,[W(L(of),{size:`sm`},{default:R(()=>[G(F(i.value?e.labels.types[i.value.type]??i.value.type:e.labels.edge),1)]),_:1}),o.value?.status?(B(),H(L(Tu),{key:0,variant:l.value,class:`fl-details__status`},{default:R(()=>[G(F(e.labels.statuses[o.value.status]??o.value.status),1)]),_:1},8,[`variant`])):K(``,!0),e.enabled?K(``,!0):(B(),H(L(Tu),{key:1,variant:`warning`},{default:R(()=>[G(F(e.labels.disabledTag),1)]),_:1}))]),i.value?.description?(B(),V(`p`,dv,F(i.value.description),1)):K(``,!0),e.toggleable?(B(),H(L(pu),{key:1,class:`fl-details__toggle`,"model-value":e.enabled,label:e.labels.enabled,"onUpdate:modelValue":n[0]||=e=>r(`toggle`,e)},null,8,[`model-value`,`label`])):K(``,!0),e.drillable?(B(),H(L(xl),{key:2,class:`fl-details__enter`,variant:`secondary`,size:`sm`,icon:L(ll),onClick:n[1]||=e=>r(`enter`)},{default:R(()=>[G(F(e.labels.enter),1)]),_:1},8,[`icon`])):K(``,!0),W(L(Mf),{size:`sm`,direction:`horizontal`,columns:1,"label-width":`40%`},{default:R(()=>[W(L(If),{label:e.labels.id,copyable:``},{default:R(()=>[U(`code`,null,F(e.element.id),1)]),_:1},8,[`label`]),a.value?(B(),V(z,{key:0},[W(L(If),{label:e.labels.from},{default:R(()=>[G(F(c(a.value.from)),1)]),_:1},8,[`label`]),W(L(If),{label:e.labels.to},{default:R(()=>[G(F(c(a.value.to)),1)]),_:1},8,[`label`]),a.value.condition?(B(),H(L(If),{key:0,label:e.labels.condition},{default:R(()=>[U(`code`,null,F(a.value.condition),1)]),_:1},8,[`label`])):K(``,!0),s.value?.count===void 0?K(``,!0):(B(),H(L(If),{key:1,label:e.labels.count},{default:R(()=>[G(F(s.value.count),1)]),_:1},8,[`label`])),s.value?.traversed===void 0?K(``,!0):(B(),H(L(If),{key:2,label:e.labels.traversed},{default:R(()=>[G(F(s.value.traversed?`✓`:`—`),1)]),_:1},8,[`label`]))],64)):K(``,!0),o.value?(B(),V(z,{key:1},[o.value.count===void 0?K(``,!0):(B(),H(L(If),{key:0,label:e.labels.instances},{default:R(()=>[G(F(o.value.count),1)]),_:1},8,[`label`])),o.value.message?(B(),H(L(If),{key:1,label:e.labels.message},{default:R(()=>[G(F(o.value.message),1)]),_:1},8,[`label`])):K(``,!0),u.value?(B(),H(L(If),{key:2,label:e.labels.updated},{default:R(()=>[G(F(u.value),1)]),_:1},8,[`label`])):K(``,!0)],64)):K(``,!0)]),_:1}),d.value.length?(B(),V(z,{key:3},[U(`h3`,fv,F(e.labels.data),1),W(L(Mf),{size:`sm`,direction:`horizontal`,columns:1,"label-width":`40%`},{default:R(()=>[(B(!0),V(z,null,oi(d.value,([e,t])=>(B(),H(L(If),{key:e,label:e},{default:R(()=>[G(F(f(t)),1)]),_:2},1032,[`label`]))),128))]),_:1})],64)):K(``,!0),ci(t.$slots,`default`)]))}});function mv(e){return typeof e.failures==`number`}function hv(e){let t=Zt(),n=I(!1),r=I(!1),i=I(Date.now()),a,o,s=t,c,l=0,u=0;Zn(()=>e.state(),e=>{c=e?mv(e)?e:$m(Xm(),{type:`snapshot`,snapshot:e,at:Date.now()}):void 0,l++,s.value=c},{immediate:!0});let d=q(()=>s.value),f=q(()=>e.poll()?.intervalMs??5e3),p=q(()=>{let t=e.staleAfterMs()??(e.poll()?Math.max(f.value*3,15e3):void 0);return t===void 0||!d.value?.receivedAt?!1:th(d.value,i.value,t)}),m=q(()=>{let e=d.value?.updatedAt??d.value?.receivedAt;return e===void 0?void 0:Math.max(0,Math.round((i.value-e)/1e3))});function h(){a?.stop(),a=void 0}function g(){h();let r=e.poll(),o=l!==u;if(u=l,!r){s.value=c;return}s.value=o?c:void 0;let d=e.context();n.value=!s.value,a=sh({fetch:t=>(e.poll()??r).fetch(t,d),intervalMs:r.intervalMs??5e3,backoff:r.backoff,visibilityPause:r.visibilityPause??!0,onData(e){n.value=!1,t.value=$m(t.value??Xm(),{type:`snapshot`,snapshot:e,at:Date.now(),merge:r.merge}),i.value=Date.now()},onError(r){n.value=!1,t.value=$m(t.value??Xm(),{type:`error`,error:r instanceof Error?r.message:String(r),at:Date.now()}),e.onError?.(r)}}),a.start()}let _=q(()=>{try{return JSON.stringify(e.context())}catch{return e.context()}});return Zn([q(()=>{let t=e.poll();return t?`${t.intervalMs??5e3}|${+!!t.merge}|${t.visibilityPause===!1?0:1}`:``}),_],g,{immediate:!0}),typeof setInterval==`function`&&(o=setInterval(()=>{i.value=Date.now(),r.value=a?.status===`paused`},1e3)),Yr(()=>{h(),clearInterval(o)}),{state:d,loading:n,paused:r,stale:p,ageSeconds:m,now:i,refresh:()=>a?.refresh(),polling:q(()=>!!e.poll())}}var gv=[`lang`],_v={key:0,class:`fl-nav`,"data-fl-ui":``},vv={key:1,class:`fl-status`,"data-fl-ui":``,role:`status`,"aria-live":`polite`},yv={class:`fl-status__text`},bv={class:`fl-status__text`,tabindex:`0`},xv={key:4,class:`fl-status__summary`},Sv={key:2,class:`fl-busy`,"data-fl-ui":``},Cv=Ar({inheritAttrs:!1,__name:`FlowView`,props:{graph:{},state:{default:void 0},poll:{default:void 0},pollParams:{default:void 0},staleAfterMs:{default:void 0},toggleable:{type:Boolean},onToggle:{type:Function,default:void 0},subgraphs:{default:()=>({})},loadSubgraph:{type:Function,default:void 0},details:{type:Boolean,default:!0},minimap:{type:Boolean,default:!0},controls:{type:Boolean,default:!0},direction:{default:void 0},edgeStyle:{default:`orthogonal`},registry:{default:()=>rp},nodeRenderers:{default:()=>({})},nodeIcons:{default:()=>({})},statusTones:{default:()=>({})},locale:{default:void 0},labels:{default:void 0},wheel:{default:`zoom`},minZoom:{default:.15},maxZoom:{default:2.5},toastProvider:{type:Boolean,default:!0},statusBar:{type:Boolean,default:!0}},emits:[`select`,`toggle`,`toggle-error`,`navigate`,`poll-error`,`update:minimap`],setup(e,{expose:t,emit:n}){let r=e,i=n,{lang:a,wrapper:o,wrapperProps:s}=U_(()=>r.locale),c=q(()=>K_(a.value,r.labels)),l=Bu(),u=Zt([]),d=I(!1);Zn(()=>r.graph,()=>{let e=[],t=r.graph;for(let n of u.value){let i=t.nodes.find(e=>e.id===n.nodeId);if(!i||i.subgraph===void 0)break;let a=typeof i.subgraph==`string`?r.subgraphs[i.subgraph]??(i.subgraph===n.ref?n.graph:void 0):i.subgraph;if(!a)break;e.push({...n,graph:a}),t=a}u.value=e,M.value=new Map});let f=q(()=>u.value[u.value.length-1]?.graph??r.graph),p=q(()=>u.value.map(e=>e.nodeId)),m=q(()=>p.value.join(`/`));function h(e){return e.subgraph===void 0?!1:typeof e.subgraph!=`string`||!!r.subgraphs[e.subgraph]||!!r.loadSubgraph}async function g(e){let t=f.value.nodes.find(t=>t.id===e);if(!t||!h(t)||d.value)return;let n,a=typeof t.subgraph==`string`?t.subgraph:void 0;if(a===void 0)n=t.subgraph;else if(r.subgraphs[a])n=r.subgraphs[a];else if(r.loadSubgraph){d.value=!0;try{n=await r.loadSubgraph(a,t)}catch(e){l.error({title:c.value.subgraphFailed,message:e instanceof Error?e.message:String(e)});return}finally{d.value=!1}}n&&(E.value=!1,ee.value=[],u.value=[...u.value,{nodeId:t.id,label:t.label??t.id,ref:a,graph:n}],i(`navigate`,u.value))}function _(e){if(e>=u.value.length)return;E.value=!1;let t=u.value[e]?.nodeId;u.value=u.value.slice(0,e),ee.value=t?[t]:[],i(`navigate`,u.value),t&&setTimeout(()=>T.value?.focusElement(t),50)}function v(){_(u.value.length-1)}let y=hv({state:()=>r.state,poll:()=>r.poll,context:()=>({path:p.value,ref:u.value[u.value.length-1]?.ref,params:r.pollParams}),staleAfterMs:()=>r.staleAfterMs,onError:e=>i(`poll-error`,e)}),b=q(()=>!!r.state||!!r.poll),x=q(()=>ih(y.state.value)),S=q(()=>Object.entries(x.value).filter(([e])=>e!==`skipped`).map(([e,t])=>{let n=r.statusTones[e]??rh[e]??`neutral`;return{status:e,n:t,variant:n===`accent`?`info`:n===`neutral`?`default`:n,label:c.value.statuses[e]??e}})),C=q(()=>{let e=y.ageSeconds.value;return e===void 0?``:e<3?c.value.updatedJustNow:c.value.updatedAgo(e)}),w=q(()=>{let e=y.state.value?.updatedAt??y.state.value?.receivedAt;return e?new Date(e).toLocaleString(a.value):``}),T=I(null),ee=I([]),E=I(!1),te=I(r.minimap);Zn(()=>r.minimap,e=>te.value=e);let D=q(()=>{let e=ee.value[0];return e?f.value.nodes.some(t=>t.id===e)?{kind:`node`,id:e}:f.value.edges.some(t=>t.id===e)?{kind:`edge`,id:e}:null:null}),O=q(()=>{let e=D.value;if(e)return e.kind===`node`?f.value.nodes.find(t=>t.id===e.id):f.value.edges.find(t=>t.id===e.id)});function k(e,t){ee.value=e.slice(0,1);let n=t?t.kind===`node`?f.value.nodes.find(e=>e.id===t.id):f.value.edges.find(e=>e.id===t.id):void 0;i(`select`,t&&n?{...t,element:n,path:p.value}:null),r.details&&(E.value=!!t&&t.kind!==`group`)}function A(e){if(e.kind===`node`){let t=f.value.nodes.find(t=>t.id===e.id);if(t&&h(t)&&!r.details){g(t.id);return}}r.details&&(E.value=!0)}function j(){E.value?E.value=!1:ee.value.length?k([],null):u.value.length&&v()}let M=Zt(new Map),N=q(()=>{let e=`${m.value}\u0000`,t=new Map;for(let[n,r]of M.value)n.startsWith(e)&&t.set(n.slice(e.length),r);return t});function ne(e,t){return N.value.get(t.id)??Bf(t)}let re=new Map;async function ie(e){let t={...e,path:p.value},n=`${m.value}\u0000${e.id}`,a=M.value.get(n),o=e=>{let t=new Map(M.value);e===void 0?t.delete(n):t.set(n,e),M.value=t};if(o(e.enabled),i(`toggle`,t),!r.onToggle)return;let s=(re.get(n)??0)+1;re.set(n,s);try{await r.onToggle(t)}catch(e){if(re.get(n)!==s)return;o(a),l.error({title:c.value.toggleFailed,message:e instanceof Error?e.message:String(e)}),i(`toggle-error`,t,e)}}let ae=q(()=>[{label:r.graph.meta?.title??c.value.root,depth:0},...u.value.map((e,t)=>({label:e.label,depth:t+1}))]);return t({fit:()=>T.value?.fit(!0),enter:g,back:v,refresh:()=>y.refresh(),select:e=>k(e?[e]:[],e?f.value.nodes.some(t=>t.id===e)?{kind:`node`,id:e}:{kind:`edge`,id:e}:null),stack:u}),(t,n)=>(B(),H(ri(L(o)),fe(Ua(L(s))),{default:R(()=>[U(`div`,Ja(t.$attrs,{class:[`fl-view`,{"is-monitoring":b.value}],lang:L(a)}),[W(u_,{ref_key:`canvas`,ref:T,graph:f.value,labels:c.value,registry:e.registry,direction:e.direction,"edge-style":e.edgeStyle,monitor:L(y).state.value,"reserve-counters":b.value,selection:ee.value,toggleable:e.toggleable,"enabled-overrides":N.value,minimap:te.value,controls:e.controls,"min-zoom":e.minZoom,"max-zoom":e.maxZoom,wheel:e.wheel,"node-renderers":e.nodeRenderers,"node-icons":e.nodeIcons,"status-tones":e.statusTones,"fit-key":m.value,drillable:h,onSelect:k,onActivate:A,onEnter:g,onToggle:ie,onEscape:j,"onUpdate:minimap":n[1]||=e=>{te.value=e,i(`update:minimap`,e)}},si({overlay:R(()=>[u.value.length?(B(),V(`div`,_v,[W(L(pd),{content:c.value.back,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(Nc),"aria-label":c.value.back,class:`fl-nav__back`,onClick:v},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`]),W(L(Xd),{label:c.value.root,collapse:``,class:`fl-nav__crumbs`},{default:R(()=>[(B(!0),V(z,null,oi(ae.value,e=>(B(),H(L(rf),{key:e.depth,current:e.depth===u.value.length,onClick:t=>_(e.depth)},{default:R(()=>[G(F(e.label),1)]),_:2},1032,[`current`,`onClick`]))),128))]),_:1},8,[`label`])])):K(``,!0),e.statusBar&&b.value?(B(),V(`div`,vv,[L(y).loading.value&&!L(y).state.value?(B(),V(z,{key:0},[W(L(wu),{size:`sm`}),U(`span`,yv,F(c.value.loading),1)],64)):(B(),V(z,{key:1},[U(`span`,{class:P([`fl-status__dot`,{"is-live":e.poll&&!L(y).paused.value&&!L(y).stale.value&&!L(y).state.value?.error,"is-stale":L(y).stale.value,"is-error":!!L(y).state.value?.error}]),"aria-hidden":`true`},null,2),C.value?(B(),H(L(pd),{key:0,content:w.value,placement:`bottom`},{default:R(()=>[U(`span`,bv,F(C.value),1)]),_:1},8,[`content`])):K(``,!0),L(y).paused.value?(B(),H(L(Tu),{key:1,size:`sm`},{default:R(()=>[G(F(c.value.paused),1)]),_:1})):K(``,!0),L(y).state.value?.error?(B(),H(L(Tu),{key:2,variant:`danger`,size:`sm`,class:`fl-status__error`,title:L(y).state.value.error},{default:R(()=>[G(F(c.value.loadError),1)]),_:1},8,[`title`])):L(y).stale.value?(B(),H(L(Tu),{key:3,variant:`warning`,size:`sm`,class:`fl-status__stale`},{default:R(()=>[G(F(c.value.stale),1)]),_:1})):K(``,!0),S.value.length?(B(),V(`span`,xv,[(B(!0),V(z,null,oi(S.value,e=>(B(),H(L(Tu),{key:e.status,variant:e.variant,size:`sm`,class:P(`fl-status__chip fl-status__chip--${e.status}`)},{default:R(()=>[G(F(e.label)+` `+F(e.n),1)]),_:2},1032,[`variant`,`class`]))),128))])):K(``,!0),e.poll?(B(),H(L(pd),{key:5,content:c.value.refresh,placement:`bottom`},{default:R(()=>[W(L(xl),{size:`sm`,variant:`ghost`,icon:L(al),"aria-label":c.value.refresh,class:`fl-status__refresh`,onClick:n[0]||=e=>L(y).refresh()},null,8,[`icon`,`aria-label`])]),_:1},8,[`content`])):K(``,!0)],64))])):K(``,!0),d.value?(B(),V(`div`,Sv,[W(L(wu),{label:c.value.loading},null,8,[`label`])])):K(``,!0)]),_:2},[t.$slots.controls?{name:`controls`,fn:R(()=>[ci(t.$slots,`controls`)]),key:`0`}:void 0,t.$slots.empty?{name:`empty`,fn:R(()=>[ci(t.$slots,`empty`)]),key:`1`}:void 0]),1032,[`graph`,`labels`,`registry`,`direction`,`edge-style`,`monitor`,`reserve-counters`,`selection`,`toggleable`,`enabled-overrides`,`minimap`,`controls`,`min-zoom`,`max-zoom`,`wheel`,`node-renderers`,`node-icons`,`status-tones`,`fit-key`]),e.details?(B(),H(L(sd),{key:0,modelValue:E.value,"onUpdate:modelValue":n[4]||=e=>E.value=e,title:O.value?`label`in O.value&&O.value.label||O.value.id:``,width:`min(400px, 100vw)`},si({default:R(()=>[O.value&&D.value?(B(),H(pv,{key:0,graph:f.value,kind:D.value.kind,element:O.value,enabled:ne(D.value.kind,O.value),state:L(y).state.value,labels:c.value,toggleable:e.toggleable,drillable:D.value.kind===`node`&&h(O.value),"status-tones":e.statusTones,locale:L(a),onToggle:n[2]||=e=>ie({kind:D.value.kind,id:D.value.id,enabled:e}),onEnter:n[3]||=e=>g(D.value.id)},{default:R(()=>[ci(t.$slots,`details`,{kind:D.value.kind,element:O.value,state:L(y).state.value,path:p.value})]),_:3},8,[`graph`,`kind`,`element`,`enabled`,`state`,`labels`,`toggleable`,`drillable`,`status-tones`,`locale`])):K(``,!0)]),_:2},[t.$slots[`details-header`]&&O.value&&D.value?{name:`header`,fn:R(()=>[ci(t.$slots,`details-header`,{kind:D.value.kind,element:O.value})]),key:`0`}:void 0]),1032,[`modelValue`,`title`])):K(``,!0),e.toastProvider?(B(),H(L(Vu),{key:1})):K(``,!0)],16,gv)]),_:3},16))}});function wv(e,t,n){let r=typeof e==`string`?document.querySelector(e):e;if(!r)throw Error(`mount: no element matches ${String(e)}`);let{appContext:i,...a}=n,o=zt({...a}),s=e=>void Object.assign(o,e);if(i){let e=bo(Ar({name:`FlowMountRoot`,render:()=>bo(t,o)}));return e.appContext=i,pc(e,r),{update:s,unmount:()=>pc(null,r)}}let c=mc({render:()=>bo(t,o)});return c.mount(r),{app:c,update:s,unmount:()=>c.unmount()}}function Tv(e,t){return wv(e,Cv,t)}function Ev(e,t){let n=t.modelValue,r=t[`onUpdate:modelValue`],i=wv(e,cv,{...t,"onUpdate:modelValue":e=>{n=e,i.update({modelValue:e}),r?.(e)}});return{...i,getGraph:()=>n}}var Y=class extends Error{constructor(e,t=0,n=0,r){super(t>0?`${e} (line ${t}${n>0?`, column ${n}`:``})`:e),this.line=t,this.column=n,this.hint=r,this.name=`DiagramError`}};function Dv(e,t,n){return new Y(`The diagram has ${t} ${e}; the limit is ${n}.`,0,0,`Split it into several diagrams.`)}var Ov=`ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif`,X={size:14,family:Ov},kv={"--dg-font-family":Ov,"--dg-text":`#1f2937`,"--dg-text-muted":`#6b7280`,"--dg-background":`transparent`,"--dg-line":`#64748b`,"--dg-node-fill":`#eef2ff`,"--dg-node-stroke":`#6366f1`,"--dg-node-text":`#1e1b4b`,"--dg-row-fill":`#ffffff`,"--dg-row-alt-fill":`#f5f7ff`,"--dg-cluster-fill":`#f8fafc`,"--dg-cluster-stroke":`#cbd5e1`,"--dg-cluster-text":`#334155`,"--dg-edge-label-fill":`#ffffff`,"--dg-note-fill":`#fef9c3`,"--dg-note-stroke":`#ca8a04`,"--dg-note-text":`#422006`,"--dg-actor-fill":`#eef2ff`,"--dg-actor-stroke":`#6366f1`,"--dg-activation-fill":`#e0e7ff`,"--dg-block-stroke":`#94a3b8`,"--dg-block-label-fill":`#e2e8f0`,"--dg-grid":`#e5e7eb`,"--dg-task-fill":`#818cf8`,"--dg-task-stroke":`#4f46e5`,"--dg-task-done-fill":`#cbd5e1`,"--dg-task-done-stroke":`#64748b`,"--dg-task-active-fill":`#c7d2fe`,"--dg-task-crit-fill":`#f87171`,"--dg-task-crit-stroke":`#b91c1c`,"--dg-task-text":`#ffffff`,"--dg-task-text-dark":`#1f2937`,"--dg-exclude-fill":`rgba(148, 163, 184, 0.18)`,"--dg-today":`#ef4444`,"--dg-section-fill-0":`rgba(99, 102, 241, 0.06)`,"--dg-section-fill-1":`rgba(100, 116, 139, 0.06)`,"--dg-state-start":`#1f2937`,"--dg-lifeline":`#94a3b8`,"--dg-number-text":`#ffffff`,"--dg-rect-fill":`rgba(148, 163, 184, 0.12)`,"--dg-pie-stroke":`#ffffff`,"--dg-pie-text":`#ffffff`,"--dg-c4-person-fill":`#08427b`,"--dg-c4-person-stroke":`#052e56`,"--dg-c4-person-text":`#ffffff`,"--dg-c4-system-fill":`#1168bd`,"--dg-c4-system-stroke":`#0b4884`,"--dg-c4-system-text":`#ffffff`,"--dg-c4-container-fill":`#438dd5`,"--dg-c4-container-stroke":`#2e6295`,"--dg-c4-container-text":`#ffffff`,"--dg-c4-component-fill":`#85bbf0`,"--dg-c4-component-stroke":`#5d82a8`,"--dg-c4-component-text":`#0b2540`,"--dg-c4-external-fill":`#7b7b7b`,"--dg-c4-external-stroke":`#5c5c5c`,"--dg-c4-external-text":`#ffffff`,"--dg-c4-boundary-stroke":`#6b7280`,"--dg-c4-boundary-text":`#1f2937`,"--dg-c4-node-fill":`rgba(148, 163, 184, 0.08)`,"--dg-c4-node-stroke":`#6b7280`,"--dg-c4-node-text":`#1f2937`},Av=[`#6366f1`,`#f59e0b`,`#10b981`,`#ef4444`,`#06b6d4`,`#8b5cf6`,`#84cc16`,`#ec4899`,`#f97316`,`#14b8a6`,`#64748b`,`#a855f7`];function jv(e){let t=e%Av.length;return`var(--dg-pie-${t+1}, ${Av[t]})`}function Z(e){let t=kv[e];return t===void 0?`var(${e})`:`var(${e}, ${t})`}function Mv(e,t=``){let n=`#${e}`;return[`${n}{font-family:${Z(`--dg-font-family`)};font-size:${X.size}px;color:${Z(`--dg-text`)}}`,`${n} text{fill:${Z(`--dg-text`)}}`,`${n} .dg-label{fill:${Z(`--dg-node-text`)}}`,`${n} .dg-node .dg-shape{fill:${Z(`--dg-node-fill`)};stroke:${Z(`--dg-node-stroke`)};stroke-width:1.5px}`,`${n} .dg-cluster-box{fill:${Z(`--dg-cluster-fill`)};stroke:${Z(`--dg-cluster-stroke`)};stroke-width:1px}`,`${n} .dg-cluster-label{fill:${Z(`--dg-cluster-text`)};font-weight:600}`,`${n} .dg-edge{fill:none;stroke:${Z(`--dg-line`)};stroke-width:1.5px}`,`${n} .dg-edge-thick{stroke-width:3.5px}`,`${n} .dg-edge-dotted{stroke-dasharray:3 3}`,`${n} .dg-marker{fill:${Z(`--dg-line`)};stroke:${Z(`--dg-line`)}}`,`${n} .dg-edge-label-box{fill:${Z(`--dg-edge-label-fill`)};opacity:0.9}`,`${n} .dg-edge-label{fill:${Z(`--dg-text`)}}`,`${n} .dg-muted{fill:${Z(`--dg-text-muted`)}}`,`${n} a{cursor:pointer}`,t].filter(Boolean).join(``)}var Nv=/^[a-zA-Z][a-zA-Z0-9:_-]*$/;function Q(e,t={},n=[]){if(!Nv.test(e))throw Error(`Invalid SVG tag name: ${e}`);return{tag:e,attrs:t,children:n.filter(e=>!!e)}}function Pv(e){return{text:e}}function Fv(e){return e.replace(/[&<>]/g,e=>e===`&`?`&`:e===`<`?`<`:`>`)}function Iv(e){return e.replace(/[&<>"']/g,e=>{switch(e){case`&`:return`&`;case`<`:return`<`;case`>`:return`>`;case`"`:return`"`;default:return`'`}})}function Lv(e){if(!Number.isFinite(e))return`0`;let t=Math.round(e*100)/100;return Object.is(t,-0)?`0`:String(t)}function Rv(e){let t=``;for(let[n,r]of Object.entries(e))if(r!=null&&r!==!1){if(!Nv.test(n))throw Error(`Invalid SVG attribute name: ${n}`);t+=r===!0?` ${n}=""`:typeof r==`number`?` ${n}="${Lv(r)}"`:` ${n}="${Iv(r)}"`}return t}function zv(e){if(`text`in e)return Fv(e.text);let t=Rv(e.attrs);return e.children.length===0?`<${e.tag}${t}/>`:`<${e.tag}${t}>${e.children.map(zv).join(``)}</${e.tag}>`}var Bv=class{constructor(){this.parts=[]}moveTo(e,t){return this.parts.push(`M${Lv(e)},${Lv(t)}`),this}lineTo(e,t){return this.parts.push(`L${Lv(e)},${Lv(t)}`),this}curveTo(e,t,n,r,i,a){return this.parts.push(`C${Lv(e)},${Lv(t)} ${Lv(n)},${Lv(r)} ${Lv(i)},${Lv(a)}`),this}quadTo(e,t,n,r){return this.parts.push(`Q${Lv(e)},${Lv(t)} ${Lv(n)},${Lv(r)}`),this}arcTo(e,t,n,r,i,a,o){return this.parts.push(`A${Lv(e)},${Lv(t)} ${Lv(n)} ${+!!r},${+!!i} ${Lv(a)},${Lv(o)}`),this}close(){return this.parts.push(`Z`),this}toString(){return this.parts.join(` `)}};function Vv(e){let t=Math.ceil(e.width+16),n=Math.ceil(e.height+16),r=`${e.id}-title`;return{svg:zv(Q(`svg`,{xmlns:`http://www.w3.org/2000/svg`,id:e.id,class:`dg dg-${e.type}`,width:t,height:n,viewBox:`0 0 ${t} ${n}`,role:`img`,"aria-labelledby":r,style:`max-width:100%;height:auto`},[Q(`title`,{id:r},[Pv(e.title)]),e.description?Q(`desc`,{},[Pv(e.description)]):null,Q(`style`,{},[Pv(Mv(e.id,e.css))]),e.defs&&e.defs.length>0?Q(`defs`,{},e.defs):null,Q(`g`,{transform:`translate(8,8)`},e.body)])),width:t,height:n,type:e.type}}var Hv=1.25;new Set(`гзтэсеё`.split(``)),new Set(`жмшщюыЖМШЩЮЫФф`.split(``));var Uv={quot:`"`,amp:`&`,lt:`<`,gt:`>`,apos:`'`,nbsp:`\xA0`,semi:`;`,colon:`:`,num:`#`,hash:`#`};function Wv(e){return e.replace(/#(x[0-9a-fA-F]+|[0-9]+|[a-zA-Z]+);/g,(e,t)=>{if(t[0]===`x`||t[0]===`X`){let n=parseInt(t.slice(1),16);return Gv(n)?String.fromCodePoint(n):e}if(/^[0-9]+$/.test(t)){let n=parseInt(t,10);return Gv(n)?String.fromCodePoint(n):e}return Uv[t.toLowerCase()]??e})}function Gv(e){return e>0&&e<=1114111&&!(e>=55296&&e<=57343)}var Kv=/<br\s*\/?>/gi;function qv(e){let t=[],n=/(\*\*|__)(.+?)\1|(\*|_)(.+?)\3/g,r=0;for(let i of e.matchAll(n)){let n=i.index??0;if(n>r&&t.push({text:e.slice(r,n)}),i[2]!==void 0)for(let e of qv(i[2]))t.push({...e,bold:!0});else if(i[4]!==void 0)for(let e of qv(i[4]))t.push({...e,italic:!0});r=n+i[0].length}return r<e.length&&t.push({text:e.slice(r)}),t.filter(e=>e.text.length>0)}function Jv(e,t={}){let n=Wv(e),r=(t.markdown?n.split(/\r?\n|<br\s*\/?>/i).map(e=>e.trim()):n.split(Kv)).map(e=>t.markdown?qv(e):e.length>0?[{text:e}]:[]);return{lines:r.length>0?r:[[]]}}function Yv(e){return{lines:e.split(`
|
|
8
|
+
`).map(e=>e.length>0?[{text:e}]:[])}}function Xv(e){return e.lines.every(e=>e.every(e=>e.text.trim()===``))}function Zv(e,t){return{...t,weight:e.bold?`bold`:t.weight,style:e.italic?`italic`:t.style}}function Qv(e,t,n){let r=0;for(let i of e)r+=n(i.text,Zv(i,t)).width;return r}function $v(e,t,n,r){let i=[];for(let a of e.lines){if(Qv(a,n,r)<=t){i.push(a);continue}let e=[[]];for(let t of a){let n=t.text.split(/( +)/);for(let r of n)/^ +$/.test(r)?e.push([]):r.length>0&&e[e.length-1].push({...t,text:r})}let o=[],s=0,c=r(` `,n).width;for(let a of e){if(a.length===0)continue;let e=Qv(a,n,r);o.length>0&&s+c+e>t&&(i.push(o),o=[],s=0),o.length>0&&(o.push({...a[0],text:` `}),s+=c),o.push(...a),s+=e}i.push(o)}return{lines:i}}function ey(e,t,n){let r=t.size*Hv,i=0;for(let r of e.lines)i=Math.max(i,Qv(r,t,n));return{label:e,width:i,height:r*e.lines.length,lineHeight:r}}function $(e,t,n,r={}){let{label:i,lineHeight:a}=e,o=n-a*i.lines.length/2,s=i.lines.map((e,n)=>{let r=o+a*n+a/2,i=e.map(e=>e.bold||e.italic?Q(`tspan`,{"font-weight":e.bold?`bold`:void 0,"font-style":e.italic?`italic`:void 0,"dominant-baseline":`central`},[Pv(e.text)]):Pv(e.text));return Q(`tspan`,{x:t,y:r,"dominant-baseline":`central`},i.length>0?i:[Pv(``)])});return Q(`text`,{class:r.className??`dg-label`,"text-anchor":r.anchor??`middle`,"dominant-baseline":`central`,style:r.style},s)}function ty(e){let t=!1;for(let n=0;n<e.length;n++){let r=e[n];if(r===`"`&&(t=!t),!t&&r===`%`&&e[n+1]===`%`)return e.slice(0,n)}return e}function ny(e,t={}){let n=[],r=e.replace(/\r\n?/g,`
|
|
9
9
|
`).split(`
|
|
10
|
-
`),i=!1;return r.forEach((e,r)=>{let a=r+1;if(i){e.includes(`}%%`)&&(i=!1);return}if(e.trimStart().startsWith(`%%{`)){e.includes(`}%%`)||(i=!0);return}let o=$v(e),s=t.semicolons?ty(o):[{text:o,offset:0}];for(let e of s){let t=e.text.length-e.text.trimStart().length,r=e.text.trim();r.length!==0&&n.push({text:r,line:a,column:e.offset+t+1})}}),n}function ty(e){let t=[],n=0,r=!1,i=0;for(let a=0;a<e.length;a++){let o=e[a];o===`"`&&(r=!r),!r&&(`([{`.includes(o)?n++:`)]}`.includes(o)?n=Math.max(0,n-1):o===`;`&&n===0&&(t.push({text:e.slice(i,a),offset:i}),i=a+1))}return t.push({text:e.slice(i),offset:i}),t}function ny(e){let t=ey(e)[0];if(!t)return null;let n=/^([A-Za-z][\w-]*)\s*(.*)$/.exec(t.text);return n?{keyword:n[1],rest:n[2].trim(),statement:t}:null}var ry=class{constructor(e,t=e.text){this.statement=e,this.text=t,this.pos=0}get done(){return this.pos>=this.text.length}peek(e=0){return this.text[this.pos+e]??``}rest(){return this.text.slice(this.pos)}skipSpaces(){for(;!this.done&&/\s/.test(this.text[this.pos]);)this.pos++}startsWith(e){return this.text.startsWith(e,this.pos)}eat(e){return this.startsWith(e)?(this.pos+=e.length,!0):!1}match(e){let t=new RegExp(e.source,e.flags.replace(`g`,``)+`y`);t.lastIndex=this.pos;let n=t.exec(this.text);return n&&(this.pos+=n[0].length),n}column(e=this.pos){return this.statement.column+e}error(e,t,n=this.pos){return new Y(e,this.statement.line,this.column(n),t)}};function iy(e){let t=e.trim();return t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`)?t.slice(1,-1):t}function ay(e,t,n){let r=e[t],i=/^accTitle\s*:\s*(.*)$/.exec(r.text);if(i)return n.title=i[1].trim(),1;if(i=/^accDescr\s*:\s*(.*)$/.exec(r.text),i)return n.description=i[1].trim(),1;if(i=/^accDescr\s*\{\s*(.*)$/.exec(r.text),i){let r=[],a=i[1],o=t;for(;;){let t=a.indexOf(`}`);if(t>=0){r.push(a.slice(0,t));break}if(r.push(a),o++,o>=e.length)break;a=e[o].text}return n.description=r.map(e=>e.trim()).filter(Boolean).join(` `),o-t+1}return 0}function oy(e){let t=ey(e),n=t[0];if(!n||!/^pie\b/.test(n.text))throw new Y(`A pie chart starts with "pie"`,n?.line??1,1);let r={type:`pie`,showData:!1,slices:[],accessibility:{}},i=n.text.slice(3).trim();if(/^showData\b/.test(i)&&(r.showData=!0,i=i.slice(8).trim()),/^title\b/.test(i))r.title=i.slice(5).trim();else if(i!==``)throw new Y(`Unexpected "${i}" after "pie"`,n.line,n.column+4);for(let e=1;e<t.length;e++){let n=t[e],i=ay(t,e,r.accessibility);if(i>0){e+=i-1;continue}if(/^title\b/.test(n.text)){r.title=n.text.slice(5).trim();continue}if(/^showData$/.test(n.text)){r.showData=!0;continue}let a=/^("(?:[^"]*)"|'(?:[^']*)')\s*:\s*(-?[0-9]+(?:\.[0-9]+)?)\s*$/.exec(n.text);if(!a)throw new Y(`"${n.text}" is not a slice`,n.line,n.column,`Write "Label" : 42`);let o=Number(a[2]);if(o<0)throw new Y(`A slice cannot be negative`,n.line,n.column);r.slices.push({label:iy(a[1].replace(/^'|'$/g,`"`)),value:o})}if(r.slices.length===0)throw new Y(`The pie chart has no slices`,0,0,`Add lines like "Label" : 42`);return r}var sy=130,cy=14;function ly(e){return String(Number.isInteger(e)?e:Math.round(e*100)/100)}function uy(e,t,n,r){let i=e.slices.reduce((e,t)=>e+t.value,0);if(i<=0)throw new Y(`All slices are zero`,0,0);let a={...X,size:18,weight:`bold`},o=e.title?Qv(qv(e.title),a,t):null,s=o?o.height+16:0,c=sy,l=s+sy,u=[],d=[],f=[],p=-Math.PI/2,m=e.slices.filter(e=>e.value>0);e.slices.forEach((e,n)=>{if(e.value<=0)return;let r=e.value/i,a=r*Math.PI*2,o=kv(n);if(m.length===1)d.push(Q(`circle`,{class:`dg-pie-slice`,cx:c,cy:l,r:sy,style:`fill:${o}`}));else{let e=p,t=p+a,n=new Rv().moveTo(c,l).lineTo(c+sy*Math.cos(e),l+sy*Math.sin(e)).arcTo(sy,sy,0,a>Math.PI,!0,c+sy*Math.cos(t),l+sy*Math.sin(t)).close();d.push(Q(`path`,{class:`dg-pie-slice`,d:n.toString(),style:`fill:${o}`}))}if(r>=.03){let e=p+a/2,n=m.length===1?0:sy*.68,i=`${Math.round(r*1e3)/10}%`;f.push($(Qv(qv(i),X,t),c+n*Math.cos(e),l+n*Math.sin(e),{className:`dg-pie-percent`}))}p+=a});let h=e.slices.length*22,g=l-h/2,_=0,v=e.slices.map((n,r)=>{let i=Qv(Kv(e.showData?`${n.label} [${ly(n.value)}]`:n.label),X,t);_=Math.max(_,22+i.width);let a=g+r*22+11;return Q(`g`,{class:`dg-pie-legend-item`},[Q(`rect`,{x:288,y:a-cy/2,width:cy,height:cy,rx:3,style:`fill:${kv(r)}`}),$(i,310,a,{anchor:`start`,className:`dg-pie-legend`})])}),y=288+_,b=Math.max(l+sy,g+h);o&&e.title&&u.push($(o,y/2,o.height/2,{className:`dg-title`})),u.push(Q(`g`,{class:`dg-pie-slices`},d),Q(`g`,{},f),Q(`g`,{},v));let x=[`#${n} .dg-pie-slice{stroke:${Z(`--dg-pie-stroke`)};stroke-width:2px}`,`#${n} .dg-pie-percent{fill:${Z(`--dg-pie-text`)};font-weight:600}`,`#${n} .dg-pie-legend{fill:${Z(`--dg-text`)}}`,`#${n} .dg-title{fill:${Z(`--dg-text`)};font-size:18px;font-weight:bold}`].join(``);return zv({id:n,type:`pie`,width:y,height:b,title:r??e.accessibility.title??e.title??`Pie chart`,description:e.accessibility.description,body:u,css:x})}var dy=/^(#[0-9a-fA-F]{3,4}|#[0-9a-fA-F]{6}|#[0-9a-fA-F]{8}|(rgb|rgba|hsl|hsla)\(\s*[0-9.]+%?\s*,\s*[0-9.]+%?\s*,\s*[0-9.]+%?\s*(,\s*[0-9.]+%?\s*)?\)|[a-zA-Z]{3,20})$/,fy=/^[0-9]+(\.[0-9]+)?(px|em)?$/,py=/^[0-9.]+([\s,]+[0-9.]+)*$/,my=/^(0(\.[0-9]+)?|1(\.0+)?)$/,hy={fill:dy,stroke:dy,"stroke-width":fy,"stroke-dasharray":py,opacity:my,"fill-opacity":my,"stroke-opacity":my},gy={color:dy,"font-weight":/^(normal|bold|[1-9]00)$/,"font-style":/^(normal|italic)$/,"font-size":fy};function _y(e,t=0,n=0){let r={shape:{},text:{}};for(let i of vy(e)){let e=i.trim();if(e===``)continue;let a=e.indexOf(`:`);if(a<0)throw new Y(`"${e}" is not a style declaration`,t,n,`Write property:value.`);let o=e.slice(0,a).trim().toLowerCase(),s=e.slice(a+1).trim().replace(/\s*!important$/,``),c=hy[o],l=gy[o];if(!c&&!l)throw new Y(`The style property "${o}" is not supported`,t,n,`Supported: ${[...Object.keys(hy),...Object.keys(gy)].join(`, `)}.`);if(!(c??l).test(s))throw new Y(`"${s}" is not a valid value for ${o}`,t,n);c?r.shape[o]=s:r.text[o===`color`?`fill`:o]=s}return r}function vy(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++){let a=e[i];a===`(`?n++:a===`)`?n=Math.max(0,n-1):(a===`,`||a===`;`)&&n===0&&(t.push(e.slice(r,i)),r=i+1)}return t.push(e.slice(r)),t}function yy(...e){let t={shape:{},text:{}};for(let n of e)n&&(Object.assign(t.shape,n.shape),Object.assign(t.text,n.text));return t}function by(e){let t=Object.entries(e);if(t.length!==0)return t.map(([e,t])=>`${e}:${t}`).join(`;`)}function xy(e){let t=e.trim();return/^(https?:|mailto:)/i.test(t)?t:/^[a-z][a-z0-9+.-]*:/i.test(t)||t.startsWith(`//`)?null:t}var Sy=1e3,Cy=60*Sy,wy=60*Cy,Ty=24*wy,Ey=7*Ty,Dy=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Oy=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],ky=Object.fromEntries(Oy.map((e,t)=>[e.toLowerCase(),t])),Ay=[[`YYYY`,`year`,`(\\d{4})`],[`SSS`,`ms`,`(\\d{3})`],[`YY`,`year2`,`(\\d{2})`],[`MM`,`month`,`(\\d{2})`],[`DD`,`day`,`(\\d{2})`],[`HH`,`hour`,`(\\d{2})`],[`mm`,`minute`,`(\\d{2})`],[`ss`,`second`,`(\\d{2})`],[`M`,`month`,`(\\d{1,2})`],[`D`,`day`,`(\\d{1,2})`],[`H`,`hour`,`(\\d{1,2})`],[`m`,`minute`,`(\\d{1,2})`],[`s`,`second`,`(\\d{1,2})`],[`X`,`unix`,`(\\d+(?:\\.\\d+)?)`],[`x`,`unixMs`,`(\\d+)`]],jy=[`MMMM`,`MMM`,`dddd`,`ddd`,`dd`,`Do`,`hh`,`A`,`a`,`ZZ`,`Z`,`Q`,`w`,`W`,`k`,`h`,`d`],My=class extends Error{};function Ny(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Py(e){let t=[],n=0;outer:for(;n<e.length;){if(e[n]===`[`){let r=e.indexOf(`]`,n);if(r>n){t.push({pattern:Ny(e.slice(n+1,r)),literal:``}),n=r+1;continue}}for(let t of jy)if(e.startsWith(t,n))throw new My(`The date token "${t}" is not supported`);for(let[r,i,a]of Ay)if(e.startsWith(r,n)){t.push({field:i,pattern:a}),n+=r.length;continue outer}t.push({pattern:Ny(e[n]),literal:e[n]}),n++}return{source:e,regex:RegExp(`^${t.map(e=>e.pattern).join(``)}$`),fields:t.filter(e=>e.field).map(e=>e.field)}}function Fy(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function Iy(e,t){let n=t.regex.exec(e.trim());if(!n)return null;let r=1970,i=1,a=1,o=0,s=0,c=0,l=0;for(let e=0;e<t.fields.length;e++){let u=n[e+1],d=Number(u);switch(t.fields[e]){case`unix`:return Math.round(d*1e3);case`unixMs`:return d;case`year`:r=d;break;case`year2`:r=2e3+d;break;case`month`:i=d;break;case`day`:a=d;break;case`hour`:o=d;break;case`minute`:s=d;break;case`second`:c=d;break;case`ms`:l=d}}return i<1||i>12||a<1||a>Fy(r,i-1)||o>23||s>59||c>59?null:Date.UTC(r,i-1,a,o,s,c,l)}var Ly=/^(\d+(?:\.\d+)?)(ms|[smhdwMy])$/;function Ry(e){let t=Ly.exec(e.trim());return t?{amount:Number(t[1]),unit:t[2]}:null}function zy(e,t){let{amount:n,unit:r}=t;switch(r){case`ms`:return e+n;case`s`:return e+n*Sy;case`m`:return e+n*Cy;case`h`:return e+n*wy;case`d`:return e+n*Ty;case`w`:return e+n*Ey;case`M`:return By(e,n);case`y`:return By(e,n*12)}}function By(e,t){let n=Math.trunc(t),r=new Date(e),i=r.getUTCMonth()+n,a=r.getUTCFullYear()+Math.floor(i/12),o=(i%12+12)%12,s=Math.min(r.getUTCDate(),Fy(a,o));return Date.UTC(a,o,s,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds())+(t-n)*30*Ty}function Vy(e){return Math.floor(e/Ty)*Ty}function Hy(e){return new Date(e).getUTCDay()}function Uy(e){return new Date(Vy(e)).toISOString().slice(0,10)}function Wy(e,t,n){let r=String(e);return r.length>=t?r:n.repeat(t-r.length)+r}var Gy=`aAbBdeHIjLmMpSuwyY%`;function Ky(e){for(let t=0;t<e.length;t++){if(e[t]!==`%`)continue;let n=t+1;`-_0`.includes(e[n]??``)&&n++;let r=e[n];if(!r||!Gy.includes(r))return e.slice(t,n+1);t=n}return null}function qy(e,t){let n=new Date(e),r=``;for(let i=0;i<t.length;i++){let a=t[i];if(a!==`%`){r+=a;continue}let o=null,s=t[i+1]??``;`-_0`.includes(s)&&s!==``&&(o=s,s=t[i+2]??``,i++),i++;let c=(e,t,n)=>o===`-`?String(e):Wy(e,t,o===`_`?` `:o===`0`?`0`:n);switch(s){case`Y`:r+=String(n.getUTCFullYear());break;case`y`:r+=c(n.getUTCFullYear()%100,2,`0`);break;case`m`:r+=c(n.getUTCMonth()+1,2,`0`);break;case`d`:r+=c(n.getUTCDate(),2,`0`);break;case`e`:r+=c(n.getUTCDate(),2,` `);break;case`H`:r+=c(n.getUTCHours(),2,`0`);break;case`I`:r+=c(n.getUTCHours()%12||12,2,`0`);break;case`M`:r+=c(n.getUTCMinutes(),2,`0`);break;case`S`:r+=c(n.getUTCSeconds(),2,`0`);break;case`L`:r+=c(n.getUTCMilliseconds(),3,`0`);break;case`p`:r+=n.getUTCHours()<12?`AM`:`PM`;break;case`j`:{let t=Date.UTC(n.getUTCFullYear(),0,1);r+=c(Math.floor((Vy(e)-t)/Ty)+1,3,`0`);break}case`a`:r+=Oy[n.getUTCDay()].slice(0,3);break;case`A`:r+=Oy[n.getUTCDay()];break;case`b`:r+=Dy[n.getUTCMonth()].slice(0,3);break;case`B`:r+=Dy[n.getUTCMonth()];break;case`w`:r+=String(n.getUTCDay());break;case`u`:r+=String(n.getUTCDay()||7);break;case`%`:r+=`%`;break;default:r+=`%${s}`}}return r}var Jy={millisecond:`ms`,second:`s`,minute:`m`,hour:`h`,day:`d`,week:`w`,month:`M`};function Yy(e){let t=/^([1-9][0-9]*)(millisecond|second|minute|hour|day|week|month)$/.exec(e.trim());return t?{step:Number(t[1]),unit:Jy[t[2]]}:null}var Xy={ms:1,s:Sy,m:Cy,h:wy,d:Ty,w:Ey};function Zy(e){return e.unit===`M`?e.step*30*Ty:e.step*Xy[e.unit]}function Qy(e,t,n,r=1e3){let i=[];if(n.unit===`M`){let a=new Date(e),o=a.getUTCFullYear(),s=a.getUTCMonth();s-=s%n.step;let c=Date.UTC(o,s,1);for(;c<=t&&i.length<r;)c>=e&&i.push(c),s+=n.step,o+=Math.floor(s/12),s%=12,c=Date.UTC(o,s,1);return i}let a=Xy[n.unit]*n.step,o;if(n.unit===`w`){let t=Vy(e);o=t-Hy(t)*Ty}else o=n.unit===`d`?Vy(e):Math.floor(e/a)*a;for(;o<e;)o+=a;for(;o<=t&&i.length<r;)i.push(o),o+=a;return i}var $y=[{unit:`s`,step:1},{unit:`s`,step:5},{unit:`s`,step:15},{unit:`s`,step:30},{unit:`m`,step:1},{unit:`m`,step:5},{unit:`m`,step:15},{unit:`m`,step:30},{unit:`h`,step:1},{unit:`h`,step:3},{unit:`h`,step:6},{unit:`h`,step:12},{unit:`d`,step:1},{unit:`d`,step:2},{unit:`w`,step:1},{unit:`w`,step:2},{unit:`M`,step:1},{unit:`M`,step:3},{unit:`M`,step:6},{unit:`M`,step:12},{unit:`M`,step:24},{unit:`M`,step:60}],eb=[`done`,`active`,`crit`,`milestone`],tb=new Set([`title`,`dateFormat`,`axisFormat`,`tickInterval`,`excludes`,`includes`,`weekend`,`todayMarker`,`topAxis`,`inclusiveEndDates`,`section`,`click`,`displayMode`]);function nb(e){let t=ey(e),n=t[0];if(!n||!/^gantt$/.test(n.text))throw new Y(`A gantt chart starts with "gantt"`,n?.line??1,n?.column??1);let r={type:`gantt`,dateFormat:`YYYY-MM-DD`,axisFormat:`%Y-%m-%d`,axisFormatSet:!1,excludes:[],includes:[],todayMarker:`on`,topAxis:!1,inclusiveEndDates:!1,sections:[],tasks:[],excludedRanges:[],accessibility:{}},i=[6,0],a=n,o=[],s=[],c=``,l=0,u=new Map;for(let e=1;e<t.length;e++){let n=t[e],d=ay(t,e,r.accessibility);if(d>0){e+=d-1;continue}let f=/^([A-Za-z]+)(?:\s+(.*))?$/.exec(n.text),p=f?.[1]??``,m=(f?.[2]??``).trim();if(tb.has(p)||!n.text.includes(`:`))switch(p){case`title`:r.title=Hv(m);continue;case`dateFormat`:r.dateFormat=m,a=n;continue;case`axisFormat`:if(Ky(m))throw new Y(`The axis format directive "${Ky(m)}" is not supported`,n.line,n.column,`Supported: %Y %y %m %d %e %H %I %M %S %L %p %j %a %A %b %B %w %u %%.`);r.axisFormat=m,r.axisFormatSet=!0;continue;case`tickInterval`:{let e=Yy(m);if(!e)throw new Y(`"${m}" is not a tick interval`,n.line,n.column,`Write e.g. 1day, 2week, 1month.`);r.tickInterval=e;continue}case`excludes`:for(let e of rb(m))r.excludes.push(e),u.set(e,n);continue;case`includes`:r.includes.push(...rb(m));continue;case`weekend`:if(m===`friday`)i=[5,6];else if(m===`saturday`)i=[6,0];else throw new Y(`"${m}" cannot start a weekend`,n.line,n.column,`Write friday or saturday.`);continue;case`todayMarker`:r.todayMarker=m===``?`on`:m;continue;case`topAxis`:r.topAxis=!0;continue;case`inclusiveEndDates`:r.inclusiveEndDates=!0;continue;case`section`:c=Hv(m);continue;case`click`:{let e=/^(\S+)\s+href\s+("[^"]*"|\S+)\s*$/.exec(m);if(!e)throw new Y(`Only "click <id> href <url>" is supported`,n.line,n.column,`Callbacks are not run: a diagram cannot execute code.`);let t=xy(iy(e[2]));if(t===null)throw new Y(`The link "${iy(e[2])}" is not allowed`,n.line,n.column,`Use http(s), mailto or a relative link.`);for(let r of e[1].split(`,`))s.push({id:r.trim(),href:t,statement:n});continue}case`displayMode`:throw new Y(`displayMode is not supported`,n.line,n.column,`Remove the line; every task gets its own row.`);default:throw new Y(`"${n.text}" is not a task`,n.line,n.column,`Write: Task name : 2024-01-01, 3d`)}let h=n.text.indexOf(`:`),g=Hv(n.text.slice(0,h).trim());if(g===``)throw new Y(`The task has no name`,n.line,n.column);let _=n.text.slice(h+1).split(`,`).map(e=>e.trim()),v={done:!1,active:!1,crit:!1,milestone:!1};for(;_.length>0&&eb.includes(_[0]);)v[_.shift()]=!0;if(_.some(e=>e===``))throw new Y(`The task has an empty item`,n.line,n.column+h+1);let y=`task${++l}`,b=null,x;if(_.length===1)x=_[0];else if(_.length===2)b=_[0],x=_[1];else if(_.length===3)y=_[0],b=_[1],x=_[2];else throw new Y(_.length===0?`The task has no dates`:`The task has too many items`,n.line,n.column+h+1,`Write: [tags,] [id,] [start,] end or duration`);if(/\s/.test(y))throw new Y(`"${y}" cannot be a task id: it contains a space`,n.line,n.column+h+1);if(o.some(e=>e.id===y))throw new Y(`The task id "${y}" is used twice`,n.line,n.column+h+1);if(b===null&&o.length===0)throw new Y(`The first task needs a start date`,n.line,n.column+h+1,`Write: Task : 2024-01-01, 3d`);o.push({id:y,name:g,section:c,tags:v,startSpec:b,endSpec:x,statement:n})}let d;try{d=Py(r.dateFormat)}catch(e){throw e instanceof My?new Y(e.message,a.line,a.column):e}let f=ib(r,d,i,u),p=new Map(o.map(e=>[e.id,e]));o.forEach((e,t)=>ob(e,t,o,p,d,r,f));for(let e of s){let t=p.get(e.id);if(!t)throw new Y(`No task has the id "${e.id}"`,e.statement.line,e.statement.column);t.href=e.href}for(let e of o)r.sections.includes(e.section)||r.sections.push(e.section),r.tasks.push({id:e.id,name:e.name,section:e.section,tags:e.tags,start:e.start,end:e.end,renderEnd:e.renderEnd,href:e.href,line:e.statement.line});if(f&&r.tasks.length>0){let e=Vy(Math.min(...r.tasks.map(e=>e.start))),t=Math.max(...r.tasks.map(e=>e.end));for(let n=e;n<t&&n<e+316224e6;n+=Ty){if(!f(n))continue;let e=r.excludedRanges[r.excludedRanges.length-1];e&&e.end===n?e.end=n+Ty:r.excludedRanges.push({start:n,end:n+Ty})}}return r}function rb(e){return e.split(/[\s,]+/).map(e=>e.trim().toLowerCase()).filter(Boolean)}function ib(e,t,n,r){if(e.excludes.length===0)return null;let i=new Set,a=new Set,o=Py(`YYYY-MM-DD`),s=e=>{let n=Iy(e,t)??Iy(e,o);return n===null?null:Uy(n)};for(let t of e.excludes)if(t===`weekends`)i.add(n[0]),i.add(n[1]);else if(t in ky)i.add(ky[t]);else{let e=s(t);if(e===null){let e=r.get(t);throw new Y(`"${t}" in excludes is neither a weekday nor a date`,e?.line??0,e?.column??0)}a.add(e)}let c=new Set(e.includes.map(s).filter(e=>e!==null));return e=>{let t=Uy(e);return c.has(t)?!1:i.has(Hy(e))||a.has(t)}}function ab(e,t,n,r){let i=e.statement.text.indexOf(`:`),a=r?e.statement.text.indexOf(r,i):-1;return new Y(t,e.statement.line,e.statement.column+(a>=0?a:i+1),n)}function ob(e,t,n,r,i,a,o){if(e.end!==void 0)return;if(e.resolving)throw ab(e,`The task "${e.name}" depends on itself through "after" or "until"`);e.resolving=!0;let s=t=>{let s=r.get(t);if(!s)throw ab(e,`No task has the id "${t}"`,void 0,t);return ob(s,n.indexOf(s),n,r,i,a,o),s},c;if(e.startSpec===null){let e=n[t-1];ob(e,t-1,n,r,i,a,o),c=e.end}else if(/^after\s/.test(e.startSpec)){let t=e.startSpec.slice(5).trim().split(/\s+/);c=Math.max(...t.map(e=>s(e).end))}else{let t=Iy(e.startSpec,i);if(t===null)throw ab(e,`"${e.startSpec}" is not a date in the format ${i.source}`,void 0,e.startSpec);c=t}let l,u=!1,d=Ry(e.endSpec);if(d)l=zy(c,d);else if(/^until\s/.test(e.endSpec)){let t=e.endSpec.slice(5).trim().split(/\s+/);l=Math.min(...t.map(e=>s(e).start)),u=!0}else{let t=Iy(e.endSpec,i);if(t===null)throw ab(e,`"${e.endSpec}" is neither a duration nor a date in the format ${i.source}`,`Durations: 3d, 2w, 4h, 30m, 1M.`,e.endSpec);l=a.inclusiveEndDates?t+Ty:t,u=!0}if(l<c)throw ab(e,`The task "${e.name}" ends before it starts`);let f=l;if(o&&!u&&!e.tags.milestone){let e=c,t=!1,n=0;for(;e<=l&&n++<1e5;)t||(f=l),t=o(e),t&&(l+=Ty),e+=Ty}e.start=c,e.end=l,e.renderEnd=Math.max(c,Math.min(f,l)),e.manualEnd=u,e.resolving=!1}var sb=28,cb=20,lb=24,ub=160,db=800,fb={...X,size:13},pb={...X,size:12},mb={...X,weight:`bold`},hb={...X,size:18,weight:`bold`},gb=1e3,_b=1.12;function vb(e){switch(e.unit){case`ms`:return`%H:%M:%S.%L`;case`s`:return`%H:%M:%S`;case`m`:case`h`:return`%H:%M`;case`M`:return e.step>=12?`%Y`:`%b %Y`;default:return`%Y-%m-%d`}}function yb(e){return{lines:[Kv(e).lines.flatMap((e,t)=>t===0?e:[{text:` `},...e])]}}function bb(e){let t=[`dg-task`];return e.tags.milestone&&t.push(`dg-milestone`),e.tags.done&&t.push(`dg-task-done`),e.tags.active&&t.push(`dg-task-active`),e.tags.crit&&t.push(`dg-task-crit`),t.join(` `)}function xb(e,t,n,r,i){let a=e.tasks;if(a.length===0)throw new Y(`The gantt chart has no tasks`,0,0,`Add lines like: Task : 2024-01-01, 3d`);let o=Math.min(...a.map(e=>e.start)),s=Math.max(...a.map(e=>e.end));s<=o&&(o-=Ty/2,s+=Ty/2);let c=e.sections.filter(e=>e!==``),l=new Map(c.map(e=>[e,Qv(Zv(Kv(e),ub,mb,t),mb,t)])),u=c.length>0?Math.min(ub,Math.max(...[...l.values()].map(e=>e.width)))+24:0,d=u,f=Math.min(db,Math.max(480,db-u)),p=d+f,m=e=>d+(e-o)/(s-o)*f,h=[],g=e.axisFormat,_=t=>e.axisFormatSet?e.axisFormat:vb(t),v=(e,n)=>Math.max(0,...e.map(e=>t(qy(e,n),pb).width));if(e.tickInterval){if(h=Qy(o,s,e.tickInterval,1001),h.length>gb)throw new Y(`tickInterval puts more than 1000 ticks on the axis`,0,0,`Choose a longer interval.`);g=_(e.tickInterval)}else for(let e of $y){if((s-o)/Zy(e)>80)continue;let t=Qy(o,s,e);if(h=t,g=_(e),t.length*(v(t,g)+16)<=f)break}let y=e.title?Qv(qv(e.title),hb,t):null,b=(y?y.height+14:0)+(e.topAxis?lb:0)+4,x=b+a.length*sb,S=x+lb,C=[],w=[],T=0,ee=p,E=0;a.forEach((t,n)=>{let r=a[n+1];if(r&&r.section===t.section)return;let i=e.sections.indexOf(t.section),o=b+E*sb,s=(n-E+1)*sb;C.push(Q(`rect`,{class:`dg-gantt-section dg-gantt-section-${i%2}`,x:0,y:o,width:p,height:s}));let c=l.get(t.section);c&&w.push($(c,12,o+s/2,{anchor:`start`,className:`dg-gantt-section-label`})),E=n+1});for(let t of e.excludedRanges){let e=Math.max(d,m(t.start)),n=Math.min(p,m(t.end));n>e&&C.push(Q(`rect`,{class:`dg-gantt-exclude`,x:e,y:b,width:n-e,height:x-b}))}let D=e=>h.map(n=>{let r=Qv(qv(qy(n,g)),pb,t),i=m(n);return T=Math.min(T,i-r.width/2),ee=Math.max(ee,i+r.width/2),$(r,i,e,{className:`dg-gantt-axis`})});if(C.push(Q(`g`,{class:`dg-gantt-grid`},h.map(e=>Q(`line`,{x1:m(e),y1:b,x2:m(e),y2:x})))),w.push(Q(`g`,{},D(x+lb/2))),e.topAxis&&w.push(Q(`g`,{},D(b-lb/2))),a.forEach((e,n)=>{let r=b+n*sb+sb/2,i=Qv(yb(e.name),fb,t),a=[],o=bb(e),s,c,l=!1;if(e.tags.milestone){let t=(m(e.start)+m(e.renderEnd))/2,n=cb/2;a.push(Q(`polygon`,{class:o,points:`${Fv(t)},${Fv(r-n)} ${Fv(t+n)},${Fv(r)} ${Fv(t)},${Fv(r+n)} ${Fv(t-n)},${Fv(r)}`})),s=t+n+6,c=`start`}else{let t=m(e.start),n=Math.max(2,m(e.renderEnd)-t),u=t+n;a.push(Q(`rect`,{class:o,x:t,y:r-cb/2,width:n,height:cb,rx:3,ry:3})),i.width*_b+12<=n?(l=!0,s=t+n/2,c=`middle`):u+6+i.width*_b<=p||t-6-i.width*_b<d?(s=u+6,c=`start`):(s=t-6,c=`end`)}l||(c===`start`&&(ee=Math.max(ee,s+i.width*_b)),c===`end`&&(T=Math.min(T,s-i.width*_b)));let u=l?`dg-task-text dg-task-text-inside${e.tags.done||e.tags.active?` dg-task-text-dark`:``}`:`dg-task-text`;a.push($(i,s,r,{anchor:c,className:u}));let f=Q(`g`,{class:`dg-gantt-task`,"data-id":e.id},a);w.push(e.href?Q(`a`,{href:e.href},[f]):f)}),i&&e.todayMarker!==`off`){let t=i.getTime();if(t>=o&&t<=s){let n=e.todayMarker===`on`?void 0:by(_y(e.todayMarker).shape);w.push(Q(`line`,{class:`dg-gantt-today`,x1:m(t),y1:b-4,x2:m(t),y2:x+4,style:n}))}}let O=Math.ceil(-T),k=ee-T,A=[];y&&A.push($(y,k/2,y.height/2,{className:`dg-title`})),A.push(Q(`g`,{transform:O>0?`translate(${O},0)`:void 0},[...C,...w]));let j=`#${n}`,M=[`${j} .dg-title{fill:${Z(`--dg-text`)};font-size:18px;font-weight:bold}`,`${j} .dg-gantt-section-0{fill:${Z(`--dg-section-fill-0`)}}`,`${j} .dg-gantt-section-1{fill:${Z(`--dg-section-fill-1`)}}`,`${j} .dg-gantt-section-label{fill:${Z(`--dg-text`)};font-weight:bold}`,`${j} .dg-gantt-exclude{fill:${Z(`--dg-exclude-fill`)}}`,`${j} .dg-gantt-grid line{stroke:${Z(`--dg-grid`)};stroke-width:1px}`,`${j} .dg-gantt-axis{fill:${Z(`--dg-text-muted`)};font-size:12px}`,`${j} .dg-task{fill:${Z(`--dg-task-fill`)};stroke:${Z(`--dg-task-stroke`)};stroke-width:1px}`,`${j} .dg-task-active{fill:${Z(`--dg-task-active-fill`)}}`,`${j} .dg-task-done{fill:${Z(`--dg-task-done-fill`)};stroke:${Z(`--dg-task-done-stroke`)}}`,`${j} .dg-task-crit{fill:${Z(`--dg-task-crit-fill`)};stroke:${Z(`--dg-task-crit-stroke`)}}`,`${j} .dg-task-crit.dg-task-done{fill:${Z(`--dg-task-done-fill`)};stroke:${Z(`--dg-task-crit-stroke`)};stroke-width:2px}`,`${j} .dg-task-crit.dg-task-active{fill:${Z(`--dg-task-active-fill`)};stroke:${Z(`--dg-task-crit-stroke`)};stroke-width:2px}`,`${j} .dg-task-text{fill:${Z(`--dg-text`)};font-size:13px}`,`${j} .dg-task-text-inside{fill:${Z(`--dg-task-text`)}}`,`${j} .dg-task-text-dark{fill:${Z(`--dg-task-text-dark`)}}`,`${j} .dg-gantt-today{stroke:${Z(`--dg-today`)};stroke-width:2px}`].join(``);return zv({id:n,type:`gantt`,width:k,height:S,title:r??e.accessibility.title??e.title??`Gantt chart`,description:e.accessibility.description,body:A,css:M})}var Sb={TB:`TB`,TD:`TB`,BT:`BT`,LR:`LR`,RL:`RL`},Cb=[{open:`(((`,close:`)))`,shape:`doublecircle`},{open:`((`,close:`))`,shape:`circle`},{open:`([`,close:`])`,shape:`stadium`},{open:`[[`,close:`]]`,shape:`subroutine`},{open:`[(`,close:`)]`,shape:`cylinder`},{open:`{{`,close:`}}`,shape:`hexagon`},{open:`[/`,close:[`/]`,`\\]`],shape:e=>e===`/]`?`parallelogram`:`trapezoid`},{open:`[\\`,close:[`\\]`,`/]`],shape:e=>e===`\\]`?`parallelogram-alt`:`trapezoid-alt`},{open:`>`,close:`]`,shape:`asymmetric`},{open:`[`,close:`]`,shape:`rect`},{open:`(`,close:`)`,shape:`round`},{open:`{`,close:`}`,shape:`rhombus`}],wb=/[\p{L}\p{N}_](?:[\p{L}\p{N}_.$]|-(?=[\p{L}\p{N}_]))*/u;function Tb(e){return e===`>`||e===`<`?`arrow`:e===`x`?`cross`:e===`o`?`circle`:`none`}function Eb(e){let t=e.peek();return t===``||/[\s|&"]/.test(t)||/[[({>]/.test(t)===!1&&!/[\p{L}\p{N}_]/u.test(t)}function Db(e,t){let n=Array.isArray(t)?t:[t];if(e.skipSpaces(),e.peek()===`"`){let t=e.pos,r=e.text.indexOf(`"`,t+1);if(r<0)throw e.error(`The quoted text is not closed`,`Add the closing "`);let i=e.text.slice(t+1,r),a=!1;i.startsWith("`")&&i.endsWith("`")&&i.length>=2&&(i=i.slice(1,-1),a=!0),e.pos=r+1,e.skipSpaces();for(let t of n)if(e.eat(t))return{text:i,markdown:a,close:t};throw e.error(`Expected ${n.join(` or `)} after the text`)}let r=-1,i=``;for(let t of n){let n=e.text.indexOf(t,e.pos);n>=0&&(r<0||n<r)&&(r=n,i=t)}if(r<0)throw e.error(`The shape is not closed: expected ${n.join(` or `)}`);let a=e.text.slice(e.pos,r).trim();return e.pos=r+i.length,{text:a,markdown:!1,close:i}}function Ob(e){let t=e.pos;e.skipSpaces();for(let{re:t,stroke:n}of[{re:/([<xo])?--(?![->.])\s*("[^"]*"|[^-|]+?)\s*(-{2,})([>xo]?)/u,stroke:`normal`},{re:/([<xo])?==(?![=>])\s*("[^"]*"|[^=|]+?)\s*(={2,})([>xo]?)/u,stroke:`thick`},{re:/([<xo])?-\.(?![-.])\s*("[^"]*"|[^.|]+?)\s*(\.+)-([>xo]?)/u,stroke:`dotted`}]){let r=e.pos,i=e.match(t);if(!i)continue;let a=i[3],o=i[4]??``;if(n!==`dotted`&&o===``&&a.length<3||o&&/[xo]/.test(o)&&!Eb(e)){e.pos=r;continue}let s=i[2].trim(),c=!1;s.startsWith(`"`)&&s.endsWith(`"`)&&(s=s.slice(1,-1)),s.startsWith("`")&&s.endsWith("`")&&s.length>=2&&(s=s.slice(1,-1),c=!0);let l=n===`dotted`?a.length:Math.max(1,a.length-(o?1:2));return{stroke:n,start:Tb(i[1]),end:Tb(o),length:l,text:s,markdown:c}}for(let{re:t,stroke:n}of[{re:/~{3,}/,stroke:`invisible`},{re:/([<xo])?-(\.+)-([>xo])?/,stroke:`dotted`},{re:/([<xo])?(={2,})([>xo])?/,stroke:`thick`},{re:/([<xo])?(-{2,})([>xo])?/,stroke:`normal`}]){let r=e.pos,i=e.match(t);if(!i)continue;if(n===`invisible`)return{stroke:n,start:`none`,end:`none`,length:Math.max(1,i[0].length-2),markdown:!1};let a=i[2],o=i[3];if(o&&/[xo]/.test(o)&&!Eb(e)&&(--e.pos,o=void 0),!o&&n!==`dotted`&&a.length<3){e.pos=r;continue}let s=n===`dotted`?a.length:Math.max(1,a.length-(o?1:2)),c={stroke:n,start:Tb(i[1]),end:Tb(o),length:s,markdown:!1},l=e.match(/\s*\|\s*("[^"]*"|[^|]*?)\s*\|/);if(l){let e=l[1].trim();e.startsWith(`"`)&&e.endsWith(`"`)&&(e=e.slice(1,-1)),e.startsWith("`")&&e.endsWith("`")&&e.length>=2&&(e=e.slice(1,-1),c.markdown=!0),c.text=e}return c}return e.pos=t,null}function kb(e){e.skipSpaces();let t=e.match(wb);if(!t)return null;let n={id:t[0],classes:[]};if(e.startsWith(`@{`))throw e.error(`The @{ shape: … } node syntax is not supported`,`Use the bracket shapes, e.g. A([text]).`);for(let t of Cb){if(!e.startsWith(t.open))continue;if(t.open===`>`&&e.peek(-1)===`-`)break;e.pos+=t.open.length;let{text:r,markdown:i,close:a}=Db(e,t.close);n.text=r,n.markdown=i,n.shape=typeof t.shape==`function`?t.shape(a):t.shape;break}let r=e.match(/:::([\w-]+)/);return r&&n.classes.push(r[1]),n}function Ab(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}function jb(e){let t=ey(e,{semicolons:!0}),n=t[0],r=n?/^(flowchart|graph|flowchart-elk)\b\s*(\S*)\s*$/.exec(n.text):null;if(!n||!r)throw new Y(`A flowchart starts with "flowchart" or "graph"`,n?.line??1,1);let i=`TB`;if(r[2]){let e=Sb[r[2].toUpperCase()];if(!e)throw new Y(`"${r[2]}" is not a direction`,n.line,n.column+r[1].length+1,`Use TB, TD, BT, LR or RL.`);i=e}let a={type:`flowchart`,direction:i,nodes:new Map,edges:[],subgraphs:new Map,classDefs:new Map,accessibility:{}},o=[],s=[],c=[],l=[],u=[],d=0,f=e=>{let t=a.nodes.get(e.id);t||(t={id:e.id,text:e.id,markdown:!1,shape:`rect`,classes:[]},a.nodes.set(e.id,t)),e.text!==void 0&&(t.text=e.text,t.markdown=e.markdown??!1),e.shape&&(t.shape=e.shape),t.classes.push(...e.classes);let n=o[o.length-1];return n&&t.subgraph===void 0&&!a.subgraphs.has(e.id)&&(t.subgraph=n.id),t};for(let e=1;e<t.length;e++){let n=t[e],r=n.text,i=ay(t,e,a.accessibility);if(i>0){e+=i-1;continue}let p=/^subgraph\b\s*(.*)$/.exec(r);if(p){let e=p[1].trim(),t,r,i=!1,s=/^([\p{L}\p{N}_.-]+)\s*\[\s*(.*?)\s*\]$/u.exec(e);if(s?(t=s[1],r=s[2]):e.startsWith(`"`)?(r=e,t=`subgraph${d++}`):e===``?(t=`subgraph${d++}`,r=``):(t=e.replace(/\s+/g,`_`),r=e),r.startsWith(`"`)&&r.endsWith(`"`)&&r.length>=2&&(r=r.slice(1,-1)),r.startsWith("`")&&r.endsWith("`")&&r.length>=2&&(r=r.slice(1,-1),i=!0),a.subgraphs.has(t))throw new Y(`Subgraph "${t}" is defined twice`,n.line,n.column);let c={id:t,title:r,markdown:i,parent:o[o.length-1]?.id,classes:[]};a.subgraphs.set(t,c),a.nodes.delete(t),o.push(c);continue}if(r===`end`){if(o.length===0)throw new Y(`"end" without a subgraph`,n.line,n.column);o.pop();continue}if(p=/^direction\s+(\w+)$/.exec(r),p){let e=Sb[p[1].toUpperCase()];if(!e)throw new Y(`"${p[1]}" is not a direction`,n.line,n.column+10);let t=o[o.length-1];t?t.direction=e:a.direction=e;continue}if(p=/^classDef\s+([\w,-]+)\s+(.+)$/.exec(r),p){let e=_y(p[2],n.line,n.column);for(let t of Ab(p[1]))a.classDefs.set(t,e);continue}if(p=/^class\s+(.+?)\s+([\w-]+)$/.exec(r),p){s.push({ids:Ab(p[1]),cls:p[2],s:n});continue}if(p=/^style\s+(\S+)\s+(.+)$/.exec(r),p){c.push({id:p[1],style:_y(p[2],n.line,n.column),s:n});continue}if(p=/^linkStyle\s+(default|[\d\s,]+?)\s+(?:interpolate\s+\w+\s*)?(.*)$/.exec(r),p){let e=p[1]==="default"?`default`:Ab(p[1]).map(Number);l.push({which:e,style:_y(p[2]??``,n.line,n.column),s:n});continue}if(p=/^click\s+(\S+)\s+(.*)$/.exec(r),p){let e=p[2],t=/^(?:href\s+)?"([^"]*)"(?:\s+"([^"]*)")?(?:\s+(_blank|_self|_parent|_top))?\s*$/.exec(e);t&&u.push({id:p[1],href:t[1],tooltip:t[2],target:t[3],s:n});continue}let m=new ry(n),h=[],g=()=>{let e=[];for(;;){let t=kb(m);if(!t)throw m.error(e.length===0?`Expected a node`:`Expected a node after "&"`);if(e.push(t),m.skipSpaces(),!m.eat(`&`))break}return e};h.push(g());let _=[];for(;m.skipSpaces(),!m.done;){let e=Ob(m);if(!e)throw m.error(`Unexpected "${m.rest()}"`,`Expected an edge such as --> or the end of the line.`);_.push(e),h.push(g())}let v=h.map(e=>e.map(e=>a.subgraphs.has(e.id)&&!e.shape?e.id:f(e).id));_.forEach((e,t)=>{for(let n of v[t])for(let r of v[t+1])a.edges.push({from:n,to:r,stroke:e.stroke,start:e.start,end:e.end,length:e.length,text:e.text,markdown:e.markdown})})}if(o.length>0)throw new Y(`Subgraph "${o[o.length-1].id}" is not closed`,0,0,`Add "end".`);for(let e of s)for(let t of e.ids){let n=a.nodes.get(t)??a.subgraphs.get(t);if(!n)throw new Y(`class refers to an unknown node "${t}"`,e.s.line,e.s.column);n.classes.push(e.cls)}for(let e of c){let t=a.nodes.get(e.id)??a.subgraphs.get(e.id);if(!t)throw new Y(`style refers to an unknown node "${e.id}"`,e.s.line,e.s.column);t.style=e.style}for(let e of l)if(e.which==="default")for(let t of a.edges)t.style={shape:{...t.style?.shape,...e.style.shape},text:{...t.style?.text,...e.style.text}};else for(let t of e.which){let n=a.edges[t];if(!n)throw new Y(`linkStyle refers to edge ${t}, but there are ${a.edges.length}`,e.s.line,e.s.column);n.style=e.style}for(let e of u){let t=a.nodes.get(e.id);if(!t)throw new Y(`click refers to an unknown node "${e.id}"`,e.s.line,e.s.column);let n=xy(e.href);if(n===null)throw new Y(`The link "${e.href}" is not allowed`,e.s.line,e.s.column,`Use http(s), mailto or a relative address.`);t.link={href:n,tooltip:e.tooltip,target:e.target}}return a}function Mb(e,t){return Math.hypot(t.x-e.x,t.y-e.y)}function Nb(e,t){let n=t.x-e.x,r=t.y-e.y,i=e.width/2,a=e.height/2;if(n===0&&r===0)return{x:e.x,y:e.y+a};let o,s;return Math.abs(r)*i>Math.abs(n)*a?(s=r<0?-a:a,o=s*n/r):(o=n<0?-i:i,s=o*r/n),{x:e.x+o,y:e.y+s}}function Pb(e,t,n,r){let i=r.x-e.x,a=r.y-e.y;if(i===0&&a===0)return{x:e.x,y:e.y+n};let o=1/Math.sqrt(i*i/(t*t)+a*a/(n*n));return{x:e.x+i*o,y:e.y+a*o}}function Fb(e,t,n){let r=null,i=1/0,a=n.x-e.x,o=n.y-e.y;for(let n=0;n<t.length;n++){let s=t[n],c=t[(n+1)%t.length],l=c.x-s.x,u=c.y-s.y,d=a*u-o*l;if(Math.abs(d)<1e-9)continue;let f=((s.x-e.x)*u-(s.y-e.y)*l)/d,p=((s.x-e.x)*o-(s.y-e.y)*a)/d;f>0&&p>=-1e-9&&p<=1+1e-9&&f<i&&(i=f,r={x:e.x+a*f,y:e.y+o*f})}return r??{x:e.x,y:e.y}}function Ib(e,t=.5){let n=[];for(let r of e){let e=n[n.length-1];(!e||Mb(e,r)>t)&&n.push(r)}return n}function Lb(e){let t=Ib(e),n=new Rv;if(t.length===0)return``;if(t.length===1)return n.moveTo(t[0].x,t[0].y).toString();let r=0,i=0,a=0,o=0,s=(e,t)=>{n.curveTo((2*r+a)/3,(2*i+o)/3,(r+2*a)/3,(i+2*o)/3,(r+4*a+e)/6,(i+4*o+t)/6)},c=0;for(let e of t)c===0?(c=1,n.moveTo(e.x,e.y)):c===1?c=2:(c===2&&(c=3,n.lineTo((5*r+a)/6,(5*i+o)/6)),s(e.x,e.y)),r=a,a=e.x,i=o,o=e.y;return c===3&&s(a,o),n.lineTo(a,o),n.toString()}function Rb(e,t,n=!1){return`${e}-m-${t}${n?`-start`:``}`}function zb(e,t){let n=[];for(let r of new Set(t))for(let t of[!1,!0])n.push(Gb(e,r,t));return n}var Bb=`fill:${Z(`--dg-edge-label-fill`)}`;function Vb(e,t,n,r,i,a){return Q(`marker`,{id:e,markerUnits:`userSpaceOnUse`,orient:`auto`,viewBox:`0 0 ${n} ${r}`,refX:t?n-i:i,refY:r/2,markerWidth:n,markerHeight:r},[Q(`g`,{transform:t?`translate(${n},0) scale(-1,1)`:void 0},a)])}function Hb(e,t,n,r){return Q(`path`,{class:`dg-marker`,d:`M${e},${r-n} L${e-t},${r} L${e},${r+n}`,style:`fill:none`,"stroke-width":1.5})}function Ub(e,t,n){return Q(`path`,{class:`dg-marker`,d:`M${e},${t-n} L${e},${t+n}`,style:`fill:none`,"stroke-width":1.5})}function Wb(e,t,n){return Q(`circle`,{class:`dg-marker`,cx:e,cy:t,r:n,style:Bb,"stroke-width":1.5})}function Gb(e,t,n){let r=Rb(e,t,n),i={id:r,markerUnits:`userSpaceOnUse`,orient:`auto`},a=n?`translate(10,0) scale(-1,1)`:void 0;switch(t){case`arrow`:return Q(`marker`,{...i,viewBox:`0 0 10 10`,refX:n?1:9,refY:5,markerWidth:10,markerHeight:10},[Q(`path`,{class:`dg-marker`,d:`M0,0 L10,5 L0,10 z`,transform:a,"stroke-width":1})]);case`open-arrow`:return Q(`marker`,{...i,viewBox:`0 0 10 10`,refX:n?1:9,refY:5,markerWidth:10,markerHeight:10},[Q(`path`,{class:`dg-marker dg-marker-open`,d:`M1,1 L9,5 L1,9`,transform:a,style:`fill:none`,"stroke-width":1.5})]);case`half-arrow`:return Q(`marker`,{...i,viewBox:`0 0 10 10`,refX:n?1:9,refY:5,markerWidth:10,markerHeight:10},[Q(`path`,{class:`dg-marker`,d:`M0,0 L10,5 L0,5 z`,transform:a,"stroke-width":1})]);case`circle`:return Q(`marker`,{...i,viewBox:`0 0 10 10`,refX:n?1:9,refY:5,markerWidth:9,markerHeight:9},[Q(`circle`,{class:`dg-marker`,cx:5,cy:5,r:4,"stroke-width":1})]);case`cross`:return Q(`marker`,{...i,viewBox:`0 0 10 10`,refX:5,refY:5,markerWidth:11,markerHeight:11},[Q(`path`,{class:`dg-marker`,d:`M1,1 L9,9 M1,9 L9,1`,"stroke-width":2,style:`fill:none`})]);case`er-one`:return Vb(r,n,32,20,31,[Ub(23,10,7),Ub(17,10,7)]);case`er-zero-one`:return Vb(r,n,32,20,31,[Ub(23,10,7),Wb(12,10,5)]);case`er-one-many`:return Vb(r,n,32,20,31,[Hb(31,14,8,10),Ub(13,10,7)]);case`er-zero-many`:return Vb(r,n,32,20,31,[Hb(31,14,8,10),Wb(10,10,5)]);case`triangle`:return Vb(r,n,20,20,19,[Q(`path`,{class:`dg-marker`,d:`M19,10 L3,2 L3,18 z`,style:Bb,"stroke-width":1.5})]);case`diamond`:case`diamond-open`:return Vb(r,n,22,16,21,[Q(`path`,{class:`dg-marker`,d:`M21,8 L12,2 L3,8 L12,14 z`,style:t===`diamond-open`?Bb:void 0,"stroke-width":1.5})])}}function Kb(e){return e.map(e=>`${qb(e.x)},${qb(e.y)}`).join(` `)}function qb(e){return Math.round(e*100)/100}function Jb(e,t){return t.map(t=>({x:e.x+t.x,y:e.y+t.y}))}function Yb(e,t,n){let r=t/2,i=n/2;switch(e){case`rhombus`:case`choice`:return[{x:0,y:-i},{x:r,y:0},{x:0,y:i},{x:-r,y:0}];case`hexagon`:{let e=Math.min(n/2,t/4);return[{x:-r+e,y:-i},{x:r-e,y:-i},{x:r,y:0},{x:r-e,y:i},{x:-r+e,y:i},{x:-r,y:0}]}case`parallelogram`:{let e=n/2;return[{x:-r+e,y:-i},{x:r,y:-i},{x:r-e,y:i},{x:-r,y:i}]}case`parallelogram-alt`:{let e=n/2;return[{x:-r,y:-i},{x:r-e,y:-i},{x:r,y:i},{x:-r+e,y:i}]}case`trapezoid`:{let e=n/2;return[{x:-r+e,y:-i},{x:r-e,y:-i},{x:r,y:i},{x:-r,y:i}]}case`trapezoid-alt`:{let e=n/2;return[{x:-r,y:-i},{x:r,y:-i},{x:r-e,y:i},{x:-r+e,y:i}]}case`asymmetric`:{let e=n/2;return[{x:-r,y:-i},{x:r,y:-i},{x:r,y:i},{x:-r,y:i},{x:-r+e,y:0}]}default:return null}}function Xb(e,t,n){let r=t+32,i=n+18;switch(e){case`start`:return{width:14,height:14};case`end`:return{width:18,height:18};case`fork`:return{width:70,height:8};case`choice`:return{width:28,height:28};case`circle`:{let e=Math.max(t,n)+18;return{width:e,height:e}}case`doublecircle`:{let e=Math.max(t,n)+18+10;return{width:e,height:e}}case`rhombus`:{let e=t+n+18;return{width:Math.max(e,40),height:Math.max(e*.75,40)}}case`hexagon`:return{width:r+i/2,height:i};case`parallelogram`:case`parallelogram-alt`:case`trapezoid`:case`trapezoid-alt`:return{width:r+i/2,height:i};case`asymmetric`:return{width:r+i/4,height:i};case`stadium`:return{width:r+i/2,height:i};case`subroutine`:return{width:r+16,height:i};case`cylinder`:return{width:r,height:i+16};default:return{width:r,height:i}}}function Zb(e,t,n={}){let r=n.className??`dg-shape`,i=n.style,{x:a,y:o,width:s,height:c}=t,l=a-s/2,u=o-c/2,d=Yb(e,s,c);if(d)return Q(`polygon`,{class:r,style:i,points:Kb(Jb(t,d))});switch(e){case`round`:return Q(`rect`,{class:r,style:i,x:l,y:u,width:s,height:c,rx:6,ry:6});case`stadium`:return Q(`rect`,{class:r,style:i,x:l,y:u,width:s,height:c,rx:c/2,ry:c/2});case`circle`:return Q(`circle`,{class:r,style:i,cx:a,cy:o,r:s/2});case`doublecircle`:return Q(`g`,{},[Q(`circle`,{class:r,style:i,cx:a,cy:o,r:s/2}),Q(`circle`,{class:r,style:i,cx:a,cy:o,r:s/2-5})]);case`subroutine`:return Q(`g`,{},[Q(`rect`,{class:r,style:i,x:l,y:u,width:s,height:c}),Q(`line`,{class:r,style:i,x1:l+8,y1:u,x2:l+8,y2:u+c}),Q(`line`,{class:r,style:i,x1:l+s-8,y1:u,x2:l+s-8,y2:u+c})]);case`cylinder`:{let e=s/2,t=new Rv().moveTo(l,u+8).arcTo(e,8,0,!1,!1,l+s,u+8).lineTo(l+s,u+c-8).arcTo(e,8,0,!1,!0,l,u+c-8).close(),n=new Rv().moveTo(l,u+8).arcTo(e,8,0,!1,!0,l+s,u+8);return Q(`g`,{},[Q(`path`,{class:r,style:i,d:t.toString()}),Q(`path`,{class:r,style:i,d:n.toString(),"fill-opacity":0})])}case`start`:return Q(`circle`,{class:`dg-state-start`,cx:a,cy:o,r:s/2});case`end`:return Q(`g`,{},[Q(`circle`,{class:`dg-state-end-ring`,cx:a,cy:o,r:s/2}),Q(`circle`,{class:`dg-state-start`,cx:a,cy:o,r:s/2-4})]);case`fork`:return Q(`rect`,{class:`dg-state-start`,x:l,y:u,width:s,height:c,rx:2});default:return Q(`rect`,{class:r,style:i,x:l,y:u,width:s,height:c})}}function Qb(e,t,n){let r=Yb(e,t.width,t.height);if(r)return Fb(t,Jb(t,r),n);switch(e){case`circle`:case`doublecircle`:case`start`:case`end`:return Pb(t,t.width/2,t.height/2,n);default:return Nb(t,n)}}var $b=class{constructor(){this.nodes=new Map,this.edges=[],this.outMap=new Map,this.inMap=new Map}addNode(e){let t={...e,rank:0,order:0,x:0,y:0};return this.nodes.set(t.id,t),this.outMap.set(t.id,[]),this.inMap.set(t.id,[]),t}node(e){let t=this.nodes.get(e);if(!t)throw Error(`Unknown node ${e}`);return t}addEdge(e){return this.edges.push(e),this.outMap.get(e.v).push(e),this.inMap.get(e.w).push(e),e}removeEdge(e){let t=t=>{let n=t.indexOf(e);n>=0&&t.splice(n,1)};t(this.edges),t(this.outMap.get(e.v)),t(this.inMap.get(e.w))}out(e){return this.outMap.get(e)??[]}in(e){return this.inMap.get(e)??[]}reindex(){for(let e of this.nodes.keys())this.outMap.set(e,[]),this.inMap.set(e,[]);for(let e of this.edges)this.outMap.get(e.v).push(e),this.inMap.get(e.w).push(e)}};function ex(e,t){let n=[],r=e;for(;r;)n.unshift(r),r=t.get(r)??null;return n}function tx(e){let t=[];for(let n of e.nodes.values())(t[n.rank]??=[]).push(n);for(let e=0;e<t.length;e++)t[e]??=[];return t}function nx(e,t){let n=new Set,r=t.map(()=>0),i=[...e.nodes.values()].sort((e,t)=>e.rank-t.rank);for(let t of i){if(n.has(t.id))continue;let i=[t];for(;i.length>0;){let t=i.pop();if(n.has(t.id))continue;n.add(t.id),t.order=r[t.rank]++;let a=e.out(t.id).map(t=>e.node(t.w));for(let e=a.length-1;e>=0;e--)n.has(a[e].id)||i.push(a[e])}}for(let e of t)e.sort((e,t)=>e.order-t.order)}function rx(e,t,n,r,i=!1){let a={cluster:null,nodes:[],children:new Map,items:[]};for(let t of e){let e=a;for(let r of ex(t.cluster,n)){let t=e.children.get(r);t||(t={cluster:r,nodes:[],children:new Map,items:[]},e.children.set(r,t),e.items.push(r)),e=t}e.nodes.push(t),e.items.push(t)}let o=new Map,s=e=>{let n=o.get(e);if(n!==void 0)return n;let r=0,i=0,a=e=>{for(let n of e.nodes)r+=t.get(n.id),i++;for(let t of e.children.values())a(t)};a(e);let s=i>0?r/i:0;return o.set(e,s),s},c=e=>{let n=e.items.map((n,r)=>({item:n,index:r,k:typeof n==`string`?s(e.children.get(n)):t.get(n.id)}));n.sort((e,t)=>e.k-t.k||(i?t.index-e.index:e.index-t.index));let a=n.flatMap((e,t)=>typeof e.item==`string`?[t]:[]),o=a.map(e=>n[e].item).sort((e,t)=>(r.get(e)??0)-(r.get(t)??0));a.forEach((e,t)=>{n[e].item=o[t]});let l=[];for(let t of n)typeof t.item==`string`?l.push(...c(e.children.get(t.item))):l.push(t.item);return l};return c(a)}function ix(e,t,n){let r=new Map(n.map((e,t)=>[e.id,t])),i=[];t.forEach((t,n)=>{for(let a of e.out(t.id)){let e=r.get(a.w);e!==void 0&&i.push({u:n,l:e,w:a.weight||1})}}),i.sort((e,t)=>e.u-t.u||e.l-t.l);let a=1;for(;a<n.length;)a<<=1;let o=Array(2*a-1).fill(0);--a;let s=0;for(let e of i){let t=e.l+a;o[t]+=e.w;let n=0;for(;t>0;)t%2&&(n+=o[t+1]),t=t-1>>1,o[t]+=e.w;s+=e.w*n}return s}function ax(e,t,n,r){let i=e=>{let t=new Map;return e.forEach((e,n)=>{for(let i of ex(e.cluster,r)){let e=t.get(i);e?e.to=n:t.set(i,{from:n,to:n})}}),t},a=i(t),o=i(n);if(a.size===0||o.size===0)return 0;let s=new Map(n.map((e,t)=>[e.id,t])),c=0;return t.forEach((t,n)=>{for(let r of e.out(t.id)){let e=s.get(r.w);if(e!==void 0)for(let[t,r]of a){let i=o.get(t);i&&(n<r.from&&e>i.to||n>r.to&&e<i.from)&&(c+=2)}}}),c}function ox(e,t,n=new Map){let r=0;for(let i=0;i+1<t.length;i++)r+=ix(e,t[i],t[i+1]),n.size>0&&(r+=ax(e,t[i],t[i+1],n));return r}function sx(e,t){let n=new Map,r=new Map;for(let i of e)i.forEach((e,a)=>{let o=i.length>1?a/(i.length-1):.5;for(let i of ex(e.cluster,t))n.set(i,(n.get(i)??0)+o),r.set(i,(r.get(i)??0)+1)});let i=new Map;for(let[e,t]of n)i.set(e,t/r.get(e));return i}function cx(e,t){let n=(e,t)=>{let n=0;for(let r of e)for(let e of t)r.order>e.order&&(n+=r.w*e.w);return n},r=t=>({up:e.in(t.id).map(t=>({order:e.node(t.v).order,w:t.weight||1})),down:e.out(t.id).map(t=>({order:e.node(t.w).order,w:t.weight||1}))}),i=(e,t)=>n(e.up,t.up)+n(e.down,t.down);for(let e=0;e<8;e++){let e=!1;for(let n of t)if(!(n.length<2)){for(let t=0;t+1<n.length;t++){let a=n[t],o=n[t+1];if(a.cluster!==o.cluster)continue;let s=r(a),c=r(o);i(c,s)<i(s,c)&&(n[t]=o,n[t+1]=a,e=!0)}n.forEach((e,t)=>e.order=t)}if(!e)break}}function lx(e,t,n=24,r=!1){let i=tx(e);nx(e,i);let a=sx(i,t);for(let e=0;e<i.length;e++){let n=new Map(i[e].map((e,t)=>[e.id,t]));i[e]=rx(i[e],n,t,a)}let o=e=>e.forEach(e=>e.forEach((e,t)=>e.order=t));o(i),r&&cx(e,i);let s=i.map(e=>e.slice()),c=ox(e,i,t),l=0;for(let o=0;o<n&&c>0&&l<4;o++){let n=o%2==0,u=r&&o%4>=2,d=n?Array.from({length:i.length-1},(e,t)=>t+1):Array.from({length:i.length-1},(e,t)=>i.length-2-t),f=n?0:i.length-1,p=new Map(i[f].map((e,t)=>[e.id,t]));i[f]=rx(i[f],p,t,a),i[f].forEach((e,t)=>e.order=t);for(let r of d){let o=i[r],s=new Map;for(let t of o){let r=n?e.in(t.id).map(t=>({order:e.node(t.v).order,w:t.weight||1})):e.out(t.id).map(t=>({order:e.node(t.w).order,w:t.weight||1}));if(r.length===0)s.set(t.id,t.order);else{let e=0,n=0;for(let t of r)e+=t.order*t.w,n+=t.w;s.set(t.id,e/n)}}i[r]=rx(o,s,t,a,u),i[r].forEach((e,t)=>e.order=t)}r&&cx(e,i),a=sx(i,t);let m=ox(e,i,t);m<c?(c=m,s=i.map(e=>e.slice()),l=0):l++}return o(s),s}function ux(e){return e.dummy===`edge`||e.dummy===`label`||e.dummy===`spine`}function dx(e,t,n){let r=ux(e)&&ux(t)?n.edgeSep:ux(e)||ux(t)?(n.nodeSep+n.edgeSep)/2:n.nodeSep;return e.width/2+r+t.width/2}function fx(e,t){let n=0;e.forEach((r,i)=>{n=i===0?r.width/2:n+dx(e[i-1],r,t),r.x=n})}function px(e){let t=e.slice().sort((e,t)=>e-t),n=t.length>>1;return t.length%2?t[n]:(t[n-1]+t[n])/2}function mx(e,t,n,r){let i=Array(e.length).fill(!1),a=e.map((e,t)=>t).sort((t,r)=>n.get(e[r].id)-n.get(e[t].id)||t-r);for(let n of a){let a=e[n],o=t.get(a.id);if(o===void 0)i[n]=!0;else{if(o>a.x){let t=1/0,s=0;for(let a=n+1;a<e.length;a++)if(s+=dx(e[a-1],e[a],r),i[a]){t=e[a].x-s;break}let c=Math.min(o,t);if(c>a.x){a.x=c;for(let t=n+1;t<e.length;t++){let n=e[t-1].x+dx(e[t-1],e[t],r);if(e[t].x>=n)break;e[t].x=n}}}else if(o<a.x){let t=-1/0,s=0;for(let a=n-1;a>=0;a--)if(s+=dx(e[a],e[a+1],r),i[a]){t=e[a].x+s;break}let c=Math.max(o,t);if(c<a.x){a.x=c;for(let t=n-1;t>=0;t--){let n=e[t+1].x-dx(e[t],e[t+1],r);if(e[t].x<=n)break;e[t].x=n}}}i[n]=!0}}}function hx(e,t,n,r=4){for(let e of t)fx(e,n);let i=r=>{let i=r?Array.from({length:t.length-1},(e,t)=>t+1):Array.from({length:t.length-1},(e,n)=>t.length-2-n);for(let a of i){let i=t[a],o=new Map,s=new Map;for(let t of i){let n=r?e.in(t.id).map(t=>e.node(t.v)):e.out(t.id).map(t=>e.node(t.w));n.length>0&&o.set(t.id,px(n.map(e=>e.x)));let i=ux(t)&&n.some(ux)?1e6:n.length;s.set(t.id,i)}mx(i,o,s,n)}};for(let e=0;e<r;e++)i(!0),i(!1);for(let r=0;r<t.length;r++){let i=t[r],a=new Map,o=new Map;for(let t of i){let n=[...e.in(t.id).map(t=>e.node(t.v)),...e.out(t.id).map(t=>e.node(t.w))];n.length>0&&a.set(t.id,px(n.map(e=>e.x))),o.set(t.id,ux(t)?1e6:n.length)}mx(i,a,o,n)}}function gx(e,t,n,r){hx(e,t,r),bx(e,t,n,r);let i=1/0;for(let t of e.nodes.values())i=Math.min(i,t.x-t.width/2);if(Number.isFinite(i))for(let t of e.nodes.values())t.x-=i;let a=0;t.forEach((e,t)=>{let n=0;for(let t of e)n=Math.max(n,t.height);t>0&&(a+=r.rankSep/2);for(let t of e)t.y=a+n/2;a+=n})}function _x(e,t){let n=new Map;for(let r of e.nodes.values()){let e=r.cluster;for(;;){let i=n.get(e)??[];if(i.push(r),n.set(e,i),e===null)break;e=t.get(e)??null}}return n}function vx(e){let t=new Map;for(let[n,r]of e){let e=t.get(r)??[];e.push(n),t.set(r,e)}return t}function yx(e,t,n,r){let i=vx(t),a=new Map;for(let t of e.nodes.values()){if(t.cluster===null)continue;let e=a.get(t.cluster)??[];e.push(t),a.set(t.cluster,e)}let o=new Map,s=e=>{let t=o.get(e);if(t)return t;let c=1/0,l=-1/0;for(let t of a.get(e)??[])c=Math.min(c,t.x-t.width/2),l=Math.max(l,t.x+t.width/2);for(let t of i.get(e)??[]){let e=s(t);c=Math.min(c,e.left),l=Math.max(l,e.right)}Number.isFinite(c)||(c=0,l=0);let u={left:c-n-(r?.get(e)??0),right:l+n};return o.set(e,u),u};for(let e of t.keys())s(e);return o}function bx(e,t,n,r){if(n.size===0)return;let i=vx(n),a=_x(e,n),o=(e,t)=>{let r=e.cluster,i=null;for(;r!==t;){if(r===null)return null;i=r,r=n.get(r)??null}return i??e.id},s=c=>{for(let e of i.get(c)??[])s(e);let l=yx(e,n,r.clusterPadding,r.frameLeft),u=new Map;for(let e of a.get(c)??[]){let t=o(e,c);if(!(t===null||u.has(t))){if(t===e.id)u.set(t,{cluster:!1,left:e.x-e.width/2,right:e.x+e.width/2,dummy:ux(e)});else{let e=l.get(t);u.set(t,{cluster:!0,left:e.left,right:e.right,dummy:!1})}}}let d=new Map,f=new Map([...u.keys()].map(e=>[e,0]));for(let e of t){let t=null;for(let n of e){let e=o(n,c);if(e!==null&&e!==t){if(t!==null){let n=u.get(t),i=u.get(e),a=n.dummy&&i.dummy?r.edgeSep:n.dummy||i.dummy?(r.nodeSep+r.edgeSep)/2:r.nodeSep,o=d.get(t)??new Map;o.has(e)||f.set(e,f.get(e)+1),o.set(e,Math.max(o.get(e)??-1/0,n.right-n.left+a)),d.set(t,o)}t=e}}}let p=new Map([...u].map(([e,t])=>[e,t.left])),m=[...u.keys()].filter(e=>f.get(e)===0);for(;m.length>0;){let e=m.shift();for(let[t,n]of d.get(e)??[])p.set(t,Math.max(p.get(t),p.get(e)+n)),f.set(t,f.get(t)-1),f.get(t)===0&&m.push(t)}for(let[t,n]of u){let r=p.get(t)-n.left;if(r!==0){if(n.cluster)for(let e of a.get(t)??[])e.x+=r;else e.node(t).x+=r}}};s(null)}function xx(e){let t=new Map,n=[];for(let r of e.nodes.keys()){if(t.get(r))continue;let i=[{id:r,i:0}];for(t.set(r,1);i.length>0;){let r=i[i.length-1],a=e.out(r.id);if(r.i<a.length){let e=a[r.i++],o=t.get(e.w)??0;o===1?n.push(e):o===0&&(t.set(e.w,1),i.push({id:e.w,i:0}))}else t.set(r.id,2),i.pop()}}for(let e of n){let t=e.v;e.v=e.w,e.w=t,e.reversed=!e.reversed}n.length>0&&e.reindex()}function Sx(e,t){let n=new Set(t),r=new Map;for(let t of e.edges){if(!n.has(t.v)||t.v===t.w)continue;let e=`${t.v}\u0000${t.w}`,i=r.get(e);i?(i.weight+=t.weight,i.minlen=Math.max(i.minlen,t.minlen)):r.set(e,{v:t.v,w:t.w,minlen:t.minlen,weight:t.weight})}return{nodes:[...t],edges:[...r.values()]}}function Cx(e){let t=new Set,n=[];for(let r of e.nodes.keys()){if(t.has(r))continue;let i=[],a=[r];for(t.add(r);a.length>0;){let n=a.shift();i.push(n);for(let r of[...e.out(n),...e.in(n)]){let e=r.v===n?r.w:r.v;t.has(e)||(t.add(e),a.push(e))}}n.push(i)}return n}function wx(e,t){let n=new Map(t.map(t=>[t,e.in(t).length])),r=t.filter(e=>n.get(e)===0);for(;r.length>0;){let t=r.shift(),i=e.in(t),a=e.out(t);if(i.length>0&&i.reduce((e,t)=>e+t.weight,0)>=a.reduce((e,t)=>e+t.weight,0)){let n=-1/0;for(let t of i)n=Math.max(n,e.node(t.v).rank+t.minlen);let r=e.node(t);n<r.rank&&(r.rank=n)}for(let e of a)n.set(e.w,n.get(e.w)-1),n.get(e.w)===0&&r.push(e.w)}}function Tx(e,t=2e3){for(let n of Cx(e)){let{nodes:r,edges:i}=Sx(e,n),a=Ex(r,i,t),o=1/0;for(let e of a.values())o=Math.min(o,e);for(let[t,n]of a)e.node(t).rank=n-o;wx(e,n);let s=1/0;for(let t of n)s=Math.min(s,e.node(t).rank);for(let t of n)e.node(t).rank-=s}}function Ex(e,t,n){let r=new Map,i=new Map;for(let t of e)r.set(t,[]),i.set(t,[]);for(let e of t)r.get(e.v).push(e),i.get(e.w).push(e);let a=(e,t)=>`${e}\u0000${t}`,o=new Map(t.map(e=>[a(e.v,e.w),e])),s=(e,t)=>o.get(a(e,t)),c=new Map,l=e=>{let t=[{id:e,i:0}],n=new Set([e]);for(;t.length>0;){let e=t[t.length-1],i=r.get(e.id);if(e.i<i.length){let r=i[e.i++];!c.has(r.w)&&!n.has(r.w)&&(n.add(r.w),t.push({id:r.w,i:0}))}else{let n=1/0;for(let e of i)n=Math.min(n,c.get(e.w)-e.minlen);c.set(e.id,n===1/0?0:n),t.pop()}}};for(let t of e)c.has(t)||l(t);if(e.length<=1||t.length===0)return c;let u=e=>c.get(e.w)-c.get(e.v)-e.minlen,d=new Map,f=(e,t)=>{d.get(e).add(t),d.get(t).add(e)},p=()=>{let e=[...d.keys()];for(;e.length>0;){let t=e.pop();for(let n of[...r.get(t),...i.get(t)]){let r=n.v===t?n.w:n.v;!d.has(r)&&u(n)===0&&(d.set(r,new Set),f(t,r),e.push(r))}}return d.size};for(d.set(e[0],new Set);p()<e.length;){let e=null,n=1/0;for(let r of t)if(d.has(r.v)!==d.has(r.w)){let t=u(r);t<n&&(n=t,e=r)}if(!e)break;let r=d.has(e.v)?n:-n;for(let e of d.keys())c.set(e,c.get(e)+r)}let m=e[0],h=new Map,g=new Map,_=new Map,v=new Map,y=(e,t)=>e<t?a(e,t):a(t,e),b=()=>{h.clear(),g.clear(),_.clear();let e=1,t=[];_.set(m,void 0),t.push({id:m,it:d.get(m).values(),low:e});let n=new Set([m]);for(;t.length>0;){let r=t[t.length-1],i=r.it.next();if(i.done)h.set(r.id,r.low),g.set(r.id,e++),t.pop();else{let a=i.value;n.has(a)||(n.add(a),_.set(a,r.id),t.push({id:a,it:d.get(a).values(),low:e}))}}},x=()=>[...g.entries()].sort((e,t)=>e[1]-t[1]).map(([e])=>e),S=e=>{let t=_.get(e),n=!0,a=s(e,t);a||=(n=!1,s(t,e));let o=a.weight;for(let a of[...r.get(e),...i.get(e)]){let r=a.v===e,i=r?a.w:a.v;if(i===t)continue;let s=r===n;if(o+=s?a.weight:-a.weight,d.get(e).has(i)){let t=v.get(y(e,i))??0;o+=s?-t:t}}return o},C=()=>{v.clear();for(let e of x()){let t=_.get(e);t!==void 0&&v.set(y(e,t),S(e))}},w=()=>{let e=[...g.entries()].sort((e,t)=>t[1]-e[1]).map(([e])=>e);for(let t of e){let e=_.get(t);if(e===void 0)continue;let n=s(t,e);n?c.set(t,c.get(e)-n.minlen):c.set(t,c.get(e)+s(e,t).minlen)}},T=(e,t)=>h.get(t)<=g.get(e)&&g.get(e)<=g.get(t);b(),C();for(let e=0;e<n;e++){let e=null;for(let[t,n]of _)if(n!==void 0&&(v.get(y(t,n))??0)<0){e=s(t,n)?{v:t,w:n}:{v:n,w:t};break}if(!e)break;let n=e.v,r=!1;g.get(e.v)>g.get(e.w)&&(n=e.w,r=!0);let i=null,a=1/0;for(let e of t)if(r===T(e.v,n)&&r!==T(e.w,n)){let t=u(e);t<a&&(a=t,i=e)}if(!i)break;d.get(e.v).delete(e.w),d.get(e.w).delete(e.v),f(i.v,i.w),b(),C(),w()}return c}var Dx=2e3,Ox=22;function kx(e){let t=e.direction??`TB`,n=t===`LR`||t===`RL`,r={nodeSep:e.nodeSep??50,rankSep:e.rankSep??50,edgeSep:e.edgeSep??20,clusterPadding:e.clusterPadding??12};if(e.nodes.length>500)throw Tv(`nodes`,e.nodes.length,500);if(e.edges.length>2e3)throw Tv(`edges`,e.edges.length,Dx);let i=(e,t)=>n?{width:t,height:e}:{width:e,height:t},a=new $b,o=new Map((e.clusters??[]).map(e=>[e.id,e])),s=new Map;for(let e of o.values()){if(e.parent!==void 0&&!o.has(e.parent))throw new Y(`Cluster "${e.id}" is inside an unknown cluster "${e.parent}"`);s.set(e.id,e.parent??null)}for(let e of o.keys()){let t=s.get(e)??null,n=0;for(;t!==null;){if(t===e||++n>o.size)throw new Y(`Cluster "${e}" contains itself`);t=s.get(t)??null}}let c=e.edges.filter(e=>e.from===e.to&&!o.has(e.from)),l=new Map;for(let e of c){let t=e.label?(n?e.label.height:e.label.width)+6:0;l.set(e.from,Math.max(l.get(e.from)??0,Ox+t))}for(let t of e.nodes){if(a.nodes.has(t.id))continue;let e=i(t.width,t.height),n=l.get(t.id)??0;if(t.cluster!==void 0&&!o.has(t.cluster))throw new Y(`Node "${t.id}" is inside an unknown cluster "${t.cluster}"`);a.addNode({id:t.id,width:e.width+n*2,height:e.height,cluster:t.cluster??null})}let u=e=>`\u0000top:${e}`,d=e=>`\u0000bottom:${e}`,f=new Map,p=new Map;r.frameLeft=p;for(let e of o.values()){let i=e.label??{width:0,height:0},o=i.height>0?i.height+6:0;f.set(e.id,o),n&&p.set(e.id,o);let s=t===`TB`?`top`:t===`BT`?`bottom`:null;a.addNode({id:u(e.id),width:s===`top`?i.width+2*r.clusterPadding:0,height:s===`top`?o:0,cluster:e.id,dummy:`border-top`}),a.addNode({id:d(e.id),width:s===`bottom`?i.width+2*r.clusterPadding:0,height:s===`bottom`?o:0,cluster:e.id,dummy:`border-bottom`})}let m=0,h=(e,t)=>a.addEdge({id:`\u0000s${m++}`,v:e,w:t,minlen:1,weight:1,original:``,reversed:!1,structural:!0});for(let e of o.keys()){let t=[...a.nodes.values()].filter(t=>t.cluster===e&&!t.dummy),n=[...o.values()].filter(t=>(t.parent??null)===e);for(let n of t)h(u(e),n.id),h(n.id,d(e));for(let t of n)h(u(e),u(t.id)),h(d(t.id),d(e));t.length===0&&n.length===0&&h(u(e),d(e))}let g=t=>{let n=[];for(let r of e.nodes)r.cluster===t&&n.push(r.id);for(let e of o.values())(e.parent??null)===t&&n.push(...g(e.id));return n},_=(e,t)=>{if(o.has(e)){let n=g(e);return n.length===0?t?d(e):u(e):t?n[n.length-1]:n[0]}if(!a.nodes.has(e))throw new Y(`Edge refers to an unknown node "${e}"`);return e},v=new Map;for(let t of e.edges){if(t.from===t.to&&!o.has(t.from))continue;let e=_(t.from,!0),n=_(t.to,!1);e!==n&&(t.label&&v.set(t.id,i(t.label.width,t.label.height)),a.addEdge({id:t.id,v:e,w:n,minlen:Math.max(1,t.minlen??1)*2,weight:t.weight??1,original:t.id,reversed:!1}))}xx(a),Tx(a),Fx(a,o.keys(),u,d);for(let e of a.edges.slice())e.structural&&a.node(e.w).rank-a.node(e.v).rank!==1&&a.removeEdge(e);let y=new Map,b=0,x=e=>{let t=a.node(e);return t.dummy===`border-top`||t.dummy===`border-bottom`?s.get(t.cluster)??null:t.cluster};for(let e of a.edges.slice()){if(e.structural)continue;let t=a.node(e.v),n=a.node(e.w),r=Px(x(t.id),x(n.id),s),i=[t.id],o=n.rank-t.rank,c=v.get(e.original),l=t.rank+Math.floor(o/2);a.removeEdge(e);let u=t.id;for(let o=t.rank+1;o<n.rank;o++){let t=!!c&&o===l,n=a.addNode({id:`\u0000d${b++}`,width:t?c.width:0,height:t?c.height:0,cluster:r,dummy:t?`label`:`edge`,edge:e.original});n.rank=o,a.addEdge({id:`${e.id}#${o}`,v:u,w:n.id,minlen:1,weight:e.weight,original:e.original,reversed:e.reversed}),i.push(n.id),u=n.id}a.addEdge({id:`${e.id}#end`,v:u,w:n.id,minlen:1,weight:e.weight,original:e.original,reversed:e.reversed}),i.push(n.id),y.set(e.original,e.reversed?i.reverse():i)}Ix(a,o.keys(),s,u,d),gx(a,lx(a,s,24,e.transpose??!1),s,r);let S=yx(a,s,r.clusterPadding,r.frameLeft),C=new Map,w=new Map;for(let e of a.nodes.values()){let t=e.cluster;for(;t!==null;){let n=w.get(t)??[];n.push(e),w.set(t,n),t=s.get(t)??null}}let T=e=>{let t=0,n=s.get(e)??null;for(;n!==null;)t++,n=s.get(n)??null;return t},ee=[...o.keys()].sort((e,t)=>T(t)-T(e)),E=new Map;for(let e of ee){let n=1/0,i=-1/0;for(let t of w.get(e)??[])n=Math.min(n,t.y-t.height/2),i=Math.max(i,t.y+t.height/2);for(let t of o.values()){if((t.parent??null)!==e)continue;let r=E.get(t.id);r&&(n=Math.min(n,r.top),i=Math.max(i,r.bottom))}let a=r.clusterPadding;E.set(e,{top:n-(t===`TB`?0:a),bottom:i+(t===`BT`?0:a)})}for(let e of o.keys()){let t=S.get(e),n=E.get(e),r=t.left;C.set(e,{x:(r+t.right)/2,y:(n.top+n.bottom)/2,width:t.right-r,height:n.bottom-n.top})}let D=0,O=0,k=0,A=0;for(let e of a.nodes.values())D=Math.max(D,e.x+e.width/2),O=Math.max(O,e.y+e.height/2);for(let e of C.values())k=Math.min(k,e.x-e.width/2),A=Math.min(A,e.y-e.height/2),D=Math.max(D,e.x+e.width/2),O=Math.max(O,e.y+e.height/2);let j=D-k,M=O-A,N=e=>{let n=e.x-k,r=e.y-A;switch(t){case`BT`:return{x:n,y:M-r};case`LR`:return{x:r,y:n};case`RL`:return{x:M-r,y:n};default:return{x:n,y:r}}},te=e=>{let t=N(e);return n?{x:t.x,y:t.y,width:e.height,height:e.width}:{...t,width:e.width,height:e.height}},ne=new Map;for(let t of e.nodes){let e=N(a.node(t.id));ne.set(t.id,{x:e.x,y:e.y,width:t.width,height:t.height})}let re=new Map;for(let[e,t]of C)re.set(e,te(t));let ie=new Map;for(let n of e.edges){if(n.from===n.to&&!o.has(n.from)){ie.set(n.id,Lx(ne.get(n.from),t,n.label));continue}let e=y.get(n.id);if(!e){ie.set(n.id,{points:[]});continue}let r=e.slice(1,-1).map(e=>a.node(e)),i={points:r.map(e=>N(e))},s=r.find(e=>e.dummy===`label`);s&&(i.label=N(s)),(o.has(n.from)||o.has(n.to))&&Mx(i,N(a.node(e[0])),N(a.node(e[e.length-1])),{from:o.has(n.from)?re.get(n.from):void 0,to:o.has(n.to)?re.get(n.to):void 0}),ie.set(n.id,i)}return{width:n?M:j,height:n?j:M,nodes:ne,clusters:re,edges:ie}}function Ax(e,t){return Math.abs(t.x-e.x)<=e.width/2&&Math.abs(t.y-e.y)<=e.height/2}function jx(e,t,n){let r=0,i=1;for(let a=0;a<30;a++){let a=(r+i)/2;Ax(e,{x:t.x+(n.x-t.x)*a,y:t.y+(n.y-t.y)*a})?i=a:r=a}return{x:t.x+(n.x-t.x)*i,y:t.y+(n.y-t.y)*i}}function Mx(e,t,n,r){let i=[t,...e.points,n];if(r.to&&!Ax(r.to,t)){for(let e=1;e<i.length;e++)if(Ax(r.to,i[e])){let t=jx(r.to,i[e-1],i[e]);i=[...i.slice(0,e),t];break}e.end=i[i.length-1]}if(r.from&&!Ax(r.from,i[i.length-1])){for(let e=i.length-2;e>=0;e--)if(Ax(r.from,i[e])){i=[jx(r.from,i[e+1],i[e]),...i.slice(e+1)];break}e.start=i[0]}e.points=i.slice(1,-1)}function Nx(e){let t=e.clusters??[];if(t.length===0)return kx(e);let n=new Map(t.map(e=>[e.id,e.parent??null])),r=(e,r)=>{let i=e??null,a=0;for(;i!==null&&a++<=t.length;){if(i===r)return!0;i=n.get(i)??null}return!1},i=new Map(e.nodes.map(e=>[e.id,e.cluster??null])),a=e=>n.has(e)?{cluster:e,isCluster:!0}:{cluster:i.get(e)??null,isCluster:!1},o=t=>{for(let n of e.edges){let e=a(n.from),i=a(n.to),o=e.isCluster?r(e.cluster,t)&&e.cluster!==t:r(e.cluster,t);if(o!==(i.isCluster?r(i.cluster,t)&&i.cluster!==t:r(i.cluster,t))){let n=o?i:e;if(!(n.isCluster&&n.cluster===t))return!1}}return!0},s=t.filter(e=>o(e.id)&&!t.some(t=>t.id!==e.id&&r(e.id,t.id)&&o(t.id)));if(s.length===0)return kx(e);let c=e.clusterPadding??12,l=e.direction??`TB`,u=new Map,d=new Set,f=new Set,p=new Set;for(let n of s){let i={...e,direction:n.direction??l,nodes:e.nodes.filter(e=>r(e.cluster,n.id)).map(e=>({...e,cluster:e.cluster===n.id?void 0:e.cluster})),clusters:t.filter(e=>e.id!==n.id&&r(e.id,n.id)).map(e=>({...e,parent:e.parent===n.id?void 0:e.parent})),edges:e.edges.filter(e=>{let t=a(e.from),i=a(e.to),o=r(t.cluster,n.id)&&!(t.isCluster&&t.cluster===n.id),s=r(i.cluster,n.id)&&!(i.isCluster&&i.cluster===n.id);return o&&s})};for(let e of i.nodes)d.add(e.id);for(let e of i.clusters??[])f.add(e.id);f.add(n.id);for(let e of i.edges)p.add(e.id);let o=Nx(i),s=n.label&&n.label.height>0?n.label.height+6:0,m=Math.max(o.width,n.label?.width??0)+c*2,h=o.height+c*2+s;u.set(n.id,{result:o,title:s,width:m,height:h})}let m=Nx({...e,nodes:[...e.nodes.filter(e=>!d.has(e.id)),...s.map(e=>({id:e.id,width:u.get(e.id).width,height:u.get(e.id).height,cluster:e.parent}))],clusters:t.filter(e=>!f.has(e.id)),edges:e.edges.filter(e=>!p.has(e.id))});for(let e of s){let t=m.nodes.get(e.id);m.nodes.delete(e.id),m.clusters.set(e.id,t);let{result:n,title:r}=u.get(e.id),i=t.x-t.width/2+(t.width-n.width)/2,a=t.y-t.height/2+c+r,o=e=>({x:e.x+i,y:e.y+a});for(let[e,t]of n.nodes)m.nodes.set(e,{...t,...o(t)});for(let[e,t]of n.clusters)m.clusters.set(e,{...t,...o(t)});for(let[e,t]of n.edges)m.edges.set(e,{...t,points:t.points.map(o),label:t.label&&o(t.label),start:t.start&&o(t.start),end:t.end&&o(t.end)})}return m}function Px(e,t,n){let r=e=>{let t=[];for(;e!==null;)t.push(e),e=n.get(e)??null;return t},i=new Set(r(e));for(let e of r(t))if(i.has(e))return e;return null}function Fx(e,t,n,r){let i=[...t];for(let t=0;t<i.length+1;t++){let t=!1;for(let a of i){let i=e.node(n(a)),o=e.node(r(a)),s=e.out(i.id).map(t=>e.node(t.w).rank),c=e.in(o.id).map(t=>e.node(t.v).rank),l=e.in(i.id).map(t=>e.node(t.v).rank+t.minlen),u=e.out(o.id).map(t=>e.node(t.w).rank-t.minlen);if(s.length>0){let e=Math.min(...s)-1,n=l.length>0?Math.max(...l):-1/0,r=Math.max(e,n);r!==i.rank&&r<=Math.min(...s)-1&&(i.rank=r,t=!0)}if(c.length>0){let e=Math.max(...c)+1,n=u.length>0?Math.min(...u):1/0,r=Math.min(e,n);r!==o.rank&&r>=Math.max(...c)+1&&(o.rank=r,t=!0)}}if(!t)break}}function Ix(e,t,n,r,i){let a=new Map;for(let t of e.nodes.values()){let e=t.cluster;for(;e!==null;){let r=a.get(e);r||a.set(e,r=new Set),r.add(t.rank),e=n.get(e)??null}}let o=0;for(let s of t){let t=e.node(r(s)).rank,c=e.node(i(s)).rank,l=a.get(s)??new Set;for(let r=t+1;r<c;r++){if(l.has(r))continue;let t=e.addNode({id:`\u0000spine${o++}`,width:0,height:0,cluster:s,dummy:`spine`});t.rank=r;let i=s;for(;i!==null;){let e=a.get(i);e||a.set(i,e=new Set),e.add(r),i=n.get(i)??null}}}}function Lx(e,t,n){let r=t===`LR`||t===`RL`,i=Ox;if(!r){let t=e.x+e.width/2,r=e.y-e.height/4,a=e.y+e.height/4;return{selfLoop:!0,points:[{x:t,y:r},{x:t+i,y:r-4},{x:t+i,y:a+4},{x:t,y:a}],label:n?{x:t+i+4+n.width/2,y:e.y}:void 0}}let a=e.y+e.height/2,o=e.x-e.width/4,s=e.x+e.width/4;return{selfLoop:!0,points:[{x:o,y:a},{x:o-4,y:a+i},{x:s+4,y:a+i},{x:s,y:a}],label:n?{x:e.x,y:a+i+4+n.height/2}:void 0}}var Rx=200;function zx(e,t,n,r=X){let i=Kv(e,{markdown:t});return t&&(i=Zv(i,Rx,r,n)),Qv(i,r,n)}function Bx(e){return e===`arrow`?`arrow`:e===`circle`?`circle`:e===`cross`?`cross`:null}function Vx(e,t,n){return yy(n.get(`default`),...e.map(e=>n.get(e)),t)}function Hx(e,t,n,r){let i=new Map,a=new Map;for(let n of e.nodes.values()){let e=zx(n.text,n.markdown,t);i.set(n.id,e),a.set(n.id,Xb(n.shape,e.width,Math.max(e.height,X.size*1.25)))}let o={...X,weight:`bold`},s=new Map;for(let n of e.subgraphs.values())n.title.trim()!==``&&s.set(n.id,zx(n.title,n.markdown,t,o));let c=new Map,l=e.edges.map((e,n)=>{let r;if(e.text!==void 0&&e.text!==``){let i=zx(e.text,e.markdown,t);Jv(i.label)||(c.set(n,i),r={width:i.width+8,height:i.height+4})}return{id:String(n),from:e.from,to:e.to,minlen:e.length,label:r}}),u=Nx({direction:e.direction,nodes:[...e.nodes.values()].map(e=>({id:e.id,...a.get(e.id),cluster:e.subgraph})),edges:l,clusters:[...e.subgraphs.values()].map(e=>{let t=s.get(e.id);return{id:e.id,parent:e.parent,direction:e.direction,label:t?{width:t.width,height:t.height}:void 0}}),nodeSep:50,rankSep:50,clusterPadding:14}),d=t=>{let n=0,r=e.subgraphs.get(t)?.parent;for(;r;)n++,r=e.subgraphs.get(r)?.parent;return n},f=[...e.subgraphs.values()].sort((e,t)=>d(e.id)-d(t.id)).map(t=>{let n=u.clusters.get(t.id),r=Vx(t.classes,t.style,e.classDefs),i=s.get(t.id);return Q(`g`,{class:`dg-cluster`,"data-id":t.id},[Q(`rect`,{class:`dg-cluster-box`,x:n.x-n.width/2,y:n.y-n.height/2,width:n.width,height:n.height,rx:4,style:by(r.shape)}),i?$(i,n.x,n.y-n.height/2+6+i.height/2,{className:`dg-cluster-label`,style:by(r.text)}):null])}),p=t=>{let n=e.nodes.get(t);if(n){let e=u.nodes.get(t);return{box:e,clip:t=>Qb(n.shape,e,t)}}let r=u.clusters.get(t);return{box:r,clip:e=>Qb(`rect`,r,e)}},m=[],h=[],g=[];e.edges.forEach((e,t)=>{let r=u.edges.get(String(t));if(!r||e.stroke===`invisible`)return;let i;if(r.selfLoop)i=r.points;else{let t=p(e.from),n=p(e.to),a=r.points[0]??n.box,o=r.points[r.points.length-1]??t.box;i=[r.start??t.clip(a),...r.points,r.end??n.clip(o)]}let a=e.style??{shape:{},text:{}},o=Bx(e.start),s=Bx(e.end);o&&m.push(o),s&&m.push(s);let l=[`dg-edge`,e.stroke===`thick`?`dg-edge-thick`:``,e.stroke===`dotted`?`dg-edge-dotted`:``].filter(Boolean).join(` `);h.push(Q(`path`,{class:l,d:Lb(i),"marker-start":o?`url(#${Rb(n,o,!0)})`:void 0,"marker-end":s?`url(#${Rb(n,s)})`:void 0,style:by(a.shape),"data-from":e.from,"data-to":e.to}));let d=c.get(t);if(d&&r.label){let e=d.width+8,t=d.height+4;g.push(Q(`g`,{class:`dg-edge-label-group`},[Q(`rect`,{class:`dg-edge-label-box`,x:r.label.x-e/2,y:r.label.y-t/2,width:e,height:t,rx:3}),$(d,r.label.x,r.label.y,{className:`dg-edge-label`,style:by(a.text)})]))}});let _=[...e.nodes.values()].map(t=>{let n=u.nodes.get(t.id);if(!n)throw new Y(`Node "${t.id}" was not laid out`);let r=Vx(t.classes,t.style,e.classDefs),a=Q(`g`,{class:[`dg-node`,...t.classes.map(e=>`dg-class-${e.replace(/[^\w-]/g,``)}`)].join(` `),"data-id":t.id},[t.tooltip||t.link?.tooltip?Q(`title`,{},[{text:t.link?.tooltip??t.tooltip??``}]):null,Zb(t.shape,n,{style:by(r.shape)}),$(i.get(t.id),n.x,n.y,{style:by(r.text)})]);return t.link?Q(`a`,{href:t.link.href,target:t.link.target,rel:t.link.target===`_blank`?`noopener noreferrer`:void 0},[a]):a}),v=[`#${n} .dg-edge-label-group text{fill:${Z(`--dg-text`)}}`].join(``);return zv({id:n,type:`flowchart`,width:u.width,height:u.height,title:r??e.accessibility.title??`Flowchart`,description:e.accessibility.description,defs:zb(n,m),body:[Q(`g`,{class:`dg-clusters`},f),Q(`g`,{class:`dg-edges`},h),Q(`g`,{class:`dg-edge-labels`},g),Q(`g`,{class:`dg-nodes`},_)],css:v})}var Ux={...X,size:13,weight:`bold`},Wx={...X,size:13},Gx={...X,size:18,weight:`bold`},Kx=90,qx=40,Jx=40,Yx=24,Xx=28,Zx=20,Qx=240,$x=12,eS=6,tS=20,nS=10,rS=18,iS=12;function aS(e){let t=[],n=new Set;for(let r of e.participants)if(!n.has(r)){if(r.box===void 0)t.push(r),n.add(r);else for(let i of e.participants)i.box===r.box&&!n.has(i)&&(t.push(i),n.add(i))}return t}function oS(e,t){let n=aS(e),r=new Map(n.map((e,t)=>[e.id,t])),i=e=>r.get(e),a=n.map(e=>Qv(Kv(e.label),X,t)),o=n.map((e,t)=>e.kind===`actor`?Math.max(a[t].width+8,50):Math.max(a[t].width+32,Kx)),s=qx;n.forEach((e,t)=>{let n=e.kind===`actor`?38+a[t].height:a[t].height+20;s=Math.max(s,n)});let c=e.events.map(e=>{if(e.kind===`message`){let n=Kv(e.text);return Jv(n)?null:Qv(n,X,t)}return e.kind===`note`?Qv(Zv(Kv(e.text),Qx,X,t),X,t):null}),l=new Map,u=(e,t,r)=>{if(e===t||e<0||t<0||e>=n.length||t>=n.length)return;let i=`${Math.min(e,t)},${Math.max(e,t)}`;l.set(i,Math.max(l.get(i)??0,r))};e.events.forEach((e,t)=>{let n=c[t];if(e.kind===`message`){let t=i(e.from),r=i(e.to),a=(n?.width??0)+(e.number===void 0?0:Zx);t===r?u(t,t+1,Math.max(a+28,62)):u(t,r,a+Xx)}else if(e.kind===`note`&&n){let t=n.width+16,r=e.actors.map(i).sort((e,t)=>e-t),a=r[0],o=r[r.length-1];e.placement===`right`?u(a,a+1,t+$x+12):e.placement===`left`?u(a-1,a,t+$x+12):a===o?(u(a-1,a,t/2+16),u(a,a+1,t/2+16)):u(a,o,t-24)}});let d=[];n.forEach((e,t)=>{if(t===0){d.push(o[0]/2);return}let r=n[t-1],i=(r.box!==void 0||e.box!==void 0)&&r.box!==e.box,a=d[t-1]+o[t-1]/2+Jx+(i?Yx:0)+o[t]/2;for(let e=0;e<t;e++){let n=l.get(`${e},${t}`);n!==void 0&&(a=Math.max(a,d[e]+n))}d.push(a)});let f=e=>d[i(e)],p=e=>o[i(e)],m=0,h=null;if(e.title){let n=Qv(Kv(e.title),Gx,t);h={label:n,x:0,y:n.height/2},m=n.height+14}let g=m;if(e.boxes.length>0){let n=Math.max(0,...e.boxes.map(e=>e.label?Qv(Kv(e.label),X,t).height:0));m+=8+(n>0?n+6:0)}let _=m,v=[],y=new Map,b=new Map,x=new Set;n.forEach((e,t)=>{e.created?x.add(e.id):(v.push({id:e.id,kind:e.kind,label:a[t],x:d[t],top:_,width:o[t],height:s}),y.set(e.id,_+s))}),m=_+s+10;let S=new Map,C=[],w=[],T=[],ee=[],E=[],D=[],O=[],k=new Set,A=null,j=(e,t)=>{for(let n of D)n.min=Math.min(n.min,e),n.max=Math.max(n.max,t)},M=e=>j(f(e)-rS,f(e)+rS),N=e=>{let t=S.get(e);return t||(t=[],S.set(e,t)),t},te=(e,t)=>f(e)-5+t*eS,ne=(e,t)=>{let n=N(e),r=n[n.length-1];if(!r)return f(e);let i=te(e,r.level);return t>0?i+10:i},re=(e,t)=>{let n=N(e);n.push({top:t,level:n.length})},ie=(e,t)=>{let n=N(e).pop();n&&C.push({left:te(e,n.level),top:n.top,bottom:Math.max(t,n.top+8)})},ae=(e,t)=>{x.delete(e);let r=i(e),c=n[r];v.push({id:e,kind:c.kind,label:a[r],x:d[r],top:t-s/2,width:o[r],height:s}),y.set(e,t+s/2),j(d[r]-o[r]/2,d[r]+o[r]/2)},oe=e=>{let t=e.filter(e=>x.has(e));if(t.length!==0){for(let e of t)ae(e,m+s/2);m+=s+10}},se=(e,t)=>{for(k.delete(e);N(e).length>0;)ie(e,t);b.set(e,t),O.push({x:f(e),y:t})};e.events.forEach((e,n)=>{let r=c[n]??null;switch(e.kind){case`message`:{let t=r?.height??0,n=m+6;if(e.from===e.to){oe([e.from]);let n=f(e.from),i=ne(e.from,1),a=r?m+6+t+4:m+12,o=a+tS;e.deactivateSource&&ie(e.from,a),e.activateTarget&&re(e.to,o);let s=ne(e.to,1),c=Math.max(i,s)+34,l=i+4+(e.number===void 0?0:12);w.push({x1:i,x2:s,y:a,y2:o,self:!0,loopRight:c,line:e.line,head:e.head,bidirectional:e.bidirectional,label:r,labelX:l,labelY:m+6+t/2,anchor:`start`,number:e.number}),j(n-rS,Math.max(c,l+(r?.width??0))),k.has(e.from)&&se(e.from,o),m=o+10,A=o;break}let i=x.has(e.from),a=x.has(e.to),o=r?n+t+4:m+14;(i||a)&&(o=Math.max(o,m+s/2+4)),i&&ae(e.from,o),a&&ae(e.to,o);let c=f(e.to)>f(e.from)?1:-1,l=i?f(e.from)+c*p(e.from)/2:ne(e.from,c);e.deactivateSource&&ie(e.from,o),e.activateTarget&&re(e.to,o);let u=a?f(e.to)-c*p(e.to)/2:ne(e.to,c===1?-1:1);w.push({x1:l,x2:u,y:o,y2:o,self:!1,loopRight:0,line:e.line,head:e.head,bidirectional:e.bidirectional,label:r,labelX:(l+u)/2,labelY:o-4-t/2,anchor:`middle`,number:e.number}),M(e.from),M(e.to),r&&j((l+u)/2-r.width/2,(l+u)/2+r.width/2);for(let t of[e.from,e.to])k.has(t)&&se(t,o);m=o+10,(i||a)&&(m=Math.max(m,o+s/2+10)),A=o;break}case`note`:{if(!r)break;oe(e.actors);let t=r.width+16,n=r.height+16,i=m+6,a=Math.min(...e.actors.map(f)),o=Math.max(...e.actors.map(f)),s,c=t;e.placement===`right`?s=a+$x:e.placement===`left`?s=a-$x-t:(c=Math.max(t,o-a+(a===o?0:32)),s=(a+o)/2-c/2),T.push({left:s,top:i,width:c,height:n,label:r});for(let t of e.actors)M(t);j(s,s+c),m=i+n+8,A=null;break}case`activate`:oe([e.actor]),re(e.actor,A??m),M(e.actor),A===null&&(m+=4);break;case`deactivate`:ie(e.actor,A??m),A===null&&(m+=4);break;case`destroy`:k.add(e.actor);break;case`block-start`:if(e.block===`rect`){m+=6;let t={block:`rect`,left:0,right:0,top:m,bottom:0,tab:null,tabWidth:0,guard:null,sections:[],color:e.color};D.push({frame:t,min:1/0,max:-1/0}),m+=6}else{m+=8;let n=Qv(Kv(e.block),Ux,t),r=e.text?Qv(Kv(`[${e.text}]`),Wx,t):null,i={block:e.block,left:0,right:0,top:m,bottom:0,tab:n,tabWidth:n.width+16,guard:r,sections:[]};D.push({frame:i,min:1/0,max:-1/0}),m+=Math.max(20,r?r.height+4:0)+6}A=null;break;case`block-section`:{let n=D[D.length-1];m+=6;let r=e.text?Qv(Kv(`[${e.text}]`),Wx,t):null;n.frame.sections.push({y:m,guard:r}),m+=(r?r.height+4:0)+6,A=null;break}case`block-end`:{let e=D.pop(),{frame:t}=e;m+=t.block===`rect`?6:8,t.bottom=m;let n=e.min,r=e.max;if(Number.isFinite(n)||(n=d[0]-40,r=d[0]+40),t.left=n-nS,t.right=r+nS,t.block!==`rect`){let e=[t.guard,...t.sections.map(e=>e.guard)],n=t.tabWidth+(t.guard?t.guard.width+8:0)+16;for(let t of e)t&&(n=Math.max(n,t.width+24));t.right-t.left<n&&(t.right=t.left+n),ee.push(t)}else E.push(t);j(t.left,t.right),m+=t.block===`rect`?4:6,A=null;break}}});for(let e of x)oe([e]);for(let e of k)se(e,m);for(let[e,t]of S)for(;t.length>0;)ie(e,m);m+=12;let ce=m;n.forEach((e,t)=>{b.has(e.id)||v.push({id:e.id,kind:e.kind,label:a[t],x:d[t],top:ce,width:o[t],height:s})});let le=ce+s,ue=n.map((e,t)=>({x:d[t],y1:y.get(e.id)??ce,y2:b.get(e.id)??ce})),de=[];e.boxes.length>0&&(le+=8,e.boxes.forEach((e,r)=>{let i=n.map((e,t)=>({p:e,i:t})).filter(({p:e})=>e.box===r);if(i.length===0)return;let a=Math.min(...i.map(({i:e})=>d[e]-o[e]/2))-iS,s=Math.max(...i.map(({i:e})=>d[e]+o[e]/2))+iS,c=e.label?Qv(Kv(e.label),X,t):null;if(c&&s-a<c.width+16){let e=(c.width+16-(s-a))/2;a-=e,s+=e}de.push({left:a,right:s,top:g,bottom:le,color:e.color,label:c})}));let P=1/0,fe=-1/0,pe=(e,t)=>{P=Math.min(P,e,t),fe=Math.max(fe,e,t)};for(let e of v)pe(e.x-e.width/2,e.x+e.width/2);for(let e of de)pe(e.left,e.right);for(let e of[...ee,...E])pe(e.left,e.right);for(let e of T)pe(e.left,e.left+e.width);for(let e of w)pe(e.x1,e.x2),e.self?pe(e.loopRight,e.labelX+(e.label?.width??0)):e.label&&pe(e.labelX-e.label.width/2,e.labelX+e.label.width/2),e.number!==void 0&&pe(e.x1-10,e.x1+10);let me=fe-P,he=-P;return h&&(h.label.width>me&&(he+=(h.label.width-me)/2,me=h.label.width),h.x=me/2),{width:me,height:le,offsetX:he,title:h,groups:de,rects:E,frames:ee,lifelines:ue,activations:C,messages:w,notes:T,actors:v,crosses:O}}var sS=[{token:`<<-->>`,line:`dotted`,head:`arrow`,both:!0},{token:`<<->>`,line:`solid`,head:`arrow`,both:!0},{token:`-->>`,line:`dotted`,head:`arrow`,both:!1},{token:`->>`,line:`solid`,head:`arrow`,both:!1},{token:`--x`,line:`dotted`,head:`cross`,both:!1},{token:`--)`,line:`dotted`,head:`open`,both:!1},{token:`-->`,line:`dotted`,head:`none`,both:!1},{token:`-x`,line:`solid`,head:`cross`,both:!1},{token:`-)`,line:`solid`,head:`open`,both:!1},{token:`->`,line:`solid`,head:`none`,both:!1}],cS=sS.map(e=>e.token).join(`, `),lS=/[<>:,;+]|^-|-$/,uS=new Set(`aliceblue antiquewhite aqua aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan 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 fuchsia gainsboro ghostwhite gold goldenrod gray green greenyellow grey honeydew hotpink indianred indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightslategrey lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple rebeccapurple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna silver skyblue slateblue slategray slategrey snow springgreen steelblue tan teal thistle tomato turquoise violet wheat white whitesmoke yellow yellowgreen transparent`.split(` `));function dS(e,t,n){return _y(`fill:${e}`,t,n).shape.fill}function fS(e){let t=[];for(let n of e){let e=0;for(let r=0;r<n.text.length;r++){if(n.text[r]!==`;`)continue;let i=n.text.slice(e,r);/#[a-zA-Z0-9]+$/.test(i)||(pS(t,n,e,r),e=r+1)}pS(t,n,e,n.text.length)}return t}function pS(e,t,n,r){let i=t.text.slice(n,r),a=i.trim();if(a===``)return;let o=i.length-i.trimStart().length;e.push({text:a,line:t.line,column:t.column+n+o})}var mS=class{constructor(e){this.list=e,this.diagram={type:`sequence`,participants:[],boxes:[],events:[],accessibility:{}},this.byId=new Map,this.stack=[],this.active=new Map,this.destroyed=new Set,this.pendingDestroy=new Set,this.numbering=null,this.currentBox=null}run(){let e=this.list[0];if(!e||!/^sequenceDiagram\s*$/.test(e.text))throw new Y(`A sequence diagram starts with "sequenceDiagram"`,e?.line??1,e?.column??1);for(let e=1;e<this.list.length;e++){let t=ay(this.list,e,this.diagram.accessibility);t>0?e+=t-1:this.statement(this.list[e])}let t=this.stack[this.stack.length-1];if(t)throw new Y(`The "${t.block}" opened here is never closed`,t.line,0,`Add "end" after its last statement.`);return this.diagram}statement(e){let t=e.text,n;if(this.currentBox!==null&&!/^(create\s+)?(participant|actor)\b|^end$/i.test(t))throw new Y(`Only participant and actor declarations belong inside a box`,e.line,e.column,`Close the box with "end" first.`);if(n=/^title(?:\s*:\s*|\s+)(.*)$/i.exec(t))this.diagram.title=n[1].trim();else if(n=/^autonumber(?:\s+(.*))?$/i.exec(t))this.autonumber(n[1]?.trim()??``,e);else if(n=/^(create\s+)?(participant|actor)\s+(.+)$/i.exec(t))this.declare(n[3],n[2].toLowerCase(),!!n[1],e,t.length-n[3].length);else if(n=/^destroy\s+(.+)$/i.exec(t)){let r=this.id(n[1],e,t.length-n[1].length);if(!this.byId.has(r))throw new Y(`"${r}" is not a participant`,e.line,e.column);this.pendingDestroy.add(r),this.diagram.events.push({kind:`destroy`,actor:r,sourceLine:e.line})}else if(n=/^box(?:\s+(.*))?$/i.exec(t))this.box(n[1]?.trim()??``,e);else if(n=/^(activate|deactivate)\s+(.+)$/i.exec(t)){let r=n[1].toLowerCase(),i=this.use(n[2],e,t.length-n[2].length);r===`activate`?this.activate(i):this.deactivate(i,e),this.diagram.events.push({kind:r,actor:i,sourceLine:e.line})}else if(n=/^note\s+(left of|right of|over)\s+([^:]+?)\s*:\s?(.*)$/i.exec(t)){let r=n[1].toLowerCase().split(` `)[0],i=n[2].split(`,`).map(e=>e.trim());if(i.length>2||i.length===2&&r!==`over`)throw new Y(`Only "over" spans two participants`,e.line,e.column,`Note over A,B: text`);let a=t.indexOf(n[2]),o=i.map(t=>this.use(t,e,a));this.diagram.events.push({kind:`note`,placement:r,actors:o,text:n[3].trim(),sourceLine:e.line})}else{if(/^note\b/i.test(t))throw new Y(`"${t}" is not a note`,e.line,e.column,`Note left of A: text, Note right of A: text, Note over A,B: text`);if(n=/^(loop|alt|opt|par|critical|break)(?:\s+(.*))?$/i.exec(t)){let t=n[1].toLowerCase();this.stack.push({block:t,line:e.line}),this.diagram.events.push({kind:`block-start`,block:t,text:n[2]?.trim()??``,sourceLine:e.line})}else if(n=/^rect(?:\s+(.*))?$/i.exec(t)){let t=n[1]?.trim()??``;if(t===``)throw new Y(`"rect" needs a colour`,e.line,e.column,`rect rgb(200, 220, 255)`);let r=dS(t,e.line,e.column+5);this.stack.push({block:`rect`,line:e.line}),this.diagram.events.push({kind:`block-start`,block:`rect`,text:``,color:r,sourceLine:e.line})}else if(n=/^(else|and|option)(?:\s+(.*))?$/i.exec(t)){let t=n[1].toLowerCase(),r={else:`alt`,and:`par`,option:`critical`}[t],i=this.stack[this.stack.length-1];if(!i||i.block!==r)throw new Y(`"${t}" belongs inside "${r}"`,e.line,e.column);this.diagram.events.push({kind:`block-section`,keyword:t,text:n[2]?.trim()??``,sourceLine:e.line})}else if(/^end$/i.test(t)){let t=this.stack.pop();if(!t)throw new Y(`"end" without a block to close`,e.line,e.column);t.block===`box`?this.currentBox=null:this.diagram.events.push({kind:`block-end`,sourceLine:e.line})}else this.message(e)}}autonumber(e,t){if(e===``)this.numbering={next:1,step:1};else if(/^off$/i.test(e))this.numbering=null;else{let n=/^([0-9]+)(?:\s+([0-9]+))?$/.exec(e);if(!n)throw new Y(`"${e}" is not a valid autonumber`,t.line,t.column,`autonumber [start [step]] or autonumber off`);this.numbering={next:Number(n[1]),step:n[2]?Number(n[2]):1}}}box(e,t){if(this.stack.length>0)throw new Y(`A box cannot be nested inside a block or another box`,t.line,t.column);let n,r=e,i=/^((?:rgb|rgba|hsl|hsla)\([^)]*\))\s*(.*)$/i.exec(e),a=/^(#[0-9a-fA-F]{3,8}|[a-zA-Z]+)(?:\s+(.*))?$/.exec(e);i?(n=dS(i[1],t.line,t.column+4),r=i[2].trim()):a&&(a[1].startsWith(`#`)||uS.has(a[1].toLowerCase()))&&(n=dS(a[1],t.line,t.column+4),r=a[2]?.trim()??``),this.diagram.boxes.push({label:r===``?void 0:r,color:n}),this.currentBox=this.diagram.boxes.length-1,this.stack.push({block:`box`,line:t.line})}id(e,t,n){let r=e.trim();if(r===``||lS.test(r))throw new Y(`"${r}" is not a valid participant name`,t.line,t.column+n);return r}declare(e,t,n,r,i){if(/@\{/.test(e))throw new Y(`Participant metadata (@{ … }) is not supported`,r.line,r.column+i+e.indexOf(`@`),`Use "participant A" or "actor A".`);let a=/^(.+?)\s+as\s+(.+)$/.exec(e),o=this.id(a?a[1]:e,r,i),s=a?iy(a[2]):o,c=this.byId.get(o);if(n&&c)throw new Y(`"${o}" already exists and cannot be created again`,r.line,r.column+i);if(c){c.label=s,c.kind=t,this.currentBox!==null&&(c.box=this.currentBox);return}let l={id:o,label:s,kind:t,created:n};this.currentBox!==null&&(l.box=this.currentBox),this.byId.set(o,l),this.diagram.participants.push(l)}use(e,t,n){let r=this.id(e,t,n);if(this.destroyed.has(r))throw new Y(`"${r}" was destroyed earlier and cannot be used`,t.line,t.column+n);if(!this.byId.has(r)){let e={id:r,label:r,kind:`participant`,created:!1};this.byId.set(r,e),this.diagram.participants.push(e)}return r}activate(e){this.active.set(e,(this.active.get(e)??0)+1)}deactivate(e,t){let n=this.active.get(e)??0;if(n<=0)throw new Y(`"${e}" is not active, so it cannot be deactivated`,t.line,t.column);this.active.set(e,n-1)}message(e){let t=e.text,n=t.indexOf(`:`),r=n>=0?t.slice(0,n):t,i=n>=0?t.slice(n+1).trim():``,a=[];for(let e=0;e<r.length;e++){let t=sS.find(t=>r.startsWith(t.token,e));t&&(a.push({at:e,arrow:t}),e+=t.token.length-1)}if(a.length===0)throw new Y(`"${t}" is not a statement`,e.line,e.column,`Messages are written A->>B: text, with one of ${cS}.`);let o=a.find(e=>this.byId.has(r.slice(0,e.at).trim()))??a.find(e=>e.arrow.head!==`cross`)??a[0],s=r.slice(0,o.at),c=r.slice(o.at+o.arrow.token.length),l=o.at,u=o.at+o.arrow.token.length,d=!1,f=!1,p=/^\s*([+-])/.exec(c);p&&(p[1]===`+`?d=!0:f=!0,c=c.slice(p[0].length));let m=(r,i)=>{if(/^[<>=)-]|[<>=-]$/.test(r.trim()))throw new Y(`"${t.slice(0,n>=0?n:t.length).trim()}" does not use a known arrow`,e.line,e.column+i,`Arrows: ${cS}.`)};m(c,u),m(s,l);let h=this.use(s,e,0),g=this.use(c,e,u);f&&this.deactivate(h,e),d&&this.activate(g);for(let e of[h,g])this.pendingDestroy.has(e)&&(this.pendingDestroy.delete(e),this.destroyed.add(e));let _={kind:`message`,from:h,to:g,line:o.arrow.line,head:o.arrow.head,bidirectional:o.arrow.both,text:i,activateTarget:d,deactivateSource:f,sourceLine:e.line};this.numbering&&(_.number=this.numbering.next,this.numbering.next+=this.numbering.step),this.diagram.events.push(_)}};function hS(e){let t=new mS(fS(ey(e))).run();if(t.participants.length===0)throw new Y(`The sequence diagram has no participants`,0,0,`Add a message such as A->>B: Hello`);return t}var gS=9;function _S(e){switch(e){case`arrow`:return`arrow`;case`open`:return`open-arrow`;case`cross`:return`cross`;default:return null}}function vS(e){if(e.kind===`actor`){let t=e.x,n=e.top,r=n+14,i=r+13,a=n+34,o=new Rv().moveTo(t,r).lineTo(t,i).moveTo(t-12,r+5).lineTo(t+12,r+5).moveTo(t,i).lineTo(t-10,a).moveTo(t,i).lineTo(t+10,a);return Q(`g`,{class:`dg-actor`},[Q(`circle`,{class:`dg-actor-figure`,cx:t,cy:n+7,r:7}),Q(`path`,{class:`dg-actor-figure dg-actor-limbs`,d:o.toString()}),$(e.label,t,a+4+e.label.height/2,{className:`dg-actor-label`})])}return Q(`g`,{class:`dg-actor`},[Q(`rect`,{class:`dg-actor-box`,x:e.x-e.width/2,y:e.top,width:e.width,height:e.height,rx:4,ry:4}),$(e.label,e.x,e.top+e.height/2,{className:`dg-actor-label`})])}function yS(e){let t=[Q(`rect`,{class:`dg-block`,x:e.left,y:e.top,width:e.right-e.left,height:e.bottom-e.top})];for(let n of e.sections)t.push(Q(`line`,{class:`dg-block-sep`,x1:e.left,y1:n.y,x2:e.right,y2:n.y}));return Q(`g`,{class:`dg-frame dg-frame-${e.block}`},t)}function bS(e){let t=[];if(e.tab){let n=e.tabWidth,r=[[e.left,e.top],[e.left+n,e.top],[e.left+n,e.top+20-6],[e.left+n-6,e.top+20],[e.left,e.top+20]].map(([e,t])=>`${Math.round(e*100)/100},${Math.round(t*100)/100}`).join(` `);t.push(Q(`polygon`,{class:`dg-block-tab`,points:r}),$(e.tab,e.left+n/2,e.top+10,{className:`dg-block-label`}))}e.guard&&t.push($(e.guard,e.left+e.tabWidth+8,e.top+Math.max(20,e.guard.height)/2,{anchor:`start`,className:`dg-block-guard`}));for(let n of e.sections)n.guard&&t.push($(n.guard,(e.left+e.right)/2,n.y+4+n.guard.height/2,{className:`dg-block-guard`}));return Q(`g`,{class:`dg-frame-labels dg-frame-${e.block}`},t.filter(e=>!!e))}function xS(e,t){let n=_S(e.head),r=n?`url(#${Rb(t,n)})`:void 0,i=n&&e.bidirectional?`url(#${Rb(t,n,!0)})`:void 0,a=`dg-message${e.line===`dotted`?` dg-message-dotted`:``}`,o=[];if(e.self){let t=new Rv().moveTo(e.x1,e.y).lineTo(e.loopRight,e.y).lineTo(e.loopRight,e.y2).lineTo(e.x2,e.y2);o.push(Q(`path`,{class:a,d:t.toString(),"marker-end":r,"marker-start":i}))}else o.push(Q(`line`,{class:a,x1:e.x1,y1:e.y,x2:e.x2,y2:e.y,"marker-end":r,"marker-start":i}));return e.label&&o.push($(e.label,e.labelX,e.labelY,{anchor:e.anchor,className:`dg-message-text`})),e.number!==void 0&&o.push(Q(`circle`,{class:`dg-number`,cx:e.x1,cy:e.y,r:gS}),Q(`text`,{class:`dg-number-text`,x:e.x1,y:e.y,"text-anchor":`middle`,"dominant-baseline":`central`},[Mv(String(e.number))])),Q(`g`,{class:`dg-message-group`},o)}function SS(e,t,n,r){let i=new Set;for(let t of e.messages){let e=_S(t.head);e&&i.add(e)}let a=[Q(`g`,{class:`dg-groups`},e.groups.map(e=>Q(`g`,{class:`dg-group`},[Q(`rect`,{class:`dg-group-box`,x:e.left,y:e.top,width:e.right-e.left,height:e.bottom-e.top,rx:4,style:e.color?`fill:${e.color}`:void 0}),e.label?$(e.label,(e.left+e.right)/2,e.top+4+e.label.height/2,{className:`dg-group-label`}):null]))),Q(`g`,{class:`dg-rects`},e.rects.map(e=>Q(`rect`,{class:`dg-rect`,x:e.left,y:e.top,width:e.right-e.left,height:e.bottom-e.top,style:e.color?`fill:${e.color}`:void 0}))),Q(`g`,{class:`dg-lifelines`},e.lifelines.filter(e=>e.y2>e.y1).map(e=>Q(`line`,{class:`dg-lifeline`,x1:e.x,y1:e.y1,x2:e.x,y2:e.y2}))),Q(`g`,{class:`dg-frames`},e.frames.map(yS)),Q(`g`,{class:`dg-activations`},e.activations.map(e=>Q(`rect`,{class:`dg-activation`,x:e.left,y:e.top,width:10,height:e.bottom-e.top}))),Q(`g`,{class:`dg-frame-label-layer`},e.frames.map(bS)),Q(`g`,{class:`dg-messages`},e.messages.map(e=>xS(e,t))),Q(`g`,{class:`dg-notes`},e.notes.map(e=>Q(`g`,{class:`dg-note-group`},[Q(`rect`,{class:`dg-note`,x:e.left,y:e.top,width:e.width,height:e.height,rx:2}),$(e.label,e.left+e.width/2,e.top+e.height/2,{className:`dg-note-text`})]))),Q(`g`,{class:`dg-crosses`},e.crosses.map(e=>Q(`path`,{class:`dg-destroy`,d:new Rv().moveTo(e.x-9,e.y-9).lineTo(e.x+9,e.y+9).moveTo(e.x-9,e.y+9).lineTo(e.x+9,e.y-9).toString()}))),Q(`g`,{class:`dg-actors`},e.actors.map(vS))],o=[];e.title&&o.push($(e.title.label,e.title.x,e.title.y,{className:`dg-title`})),o.push(Q(`g`,{transform:`translate(${Math.round(e.offsetX*100)/100},0)`},a));let s=`#${t}`,c=[`${s} .dg-title{fill:${Z(`--dg-text`)};font-size:18px;font-weight:bold}`,`${s} .dg-actor-box{fill:${Z(`--dg-actor-fill`)};stroke:${Z(`--dg-actor-stroke`)};stroke-width:1.5px}`,`${s} .dg-actor-figure{fill:${Z(`--dg-actor-fill`)};stroke:${Z(`--dg-actor-stroke`)};stroke-width:1.5px}`,`${s} .dg-actor-limbs{fill:none}`,`${s} .dg-actor-label{fill:${Z(`--dg-text`)}}`,`${s} .dg-lifeline{stroke:${Z(`--dg-lifeline`)};stroke-width:1px;stroke-dasharray:4 3}`,`${s} .dg-activation{fill:${Z(`--dg-activation-fill`)};stroke:${Z(`--dg-actor-stroke`)};stroke-width:1px}`,`${s} .dg-message{fill:none;stroke:${Z(`--dg-line`)};stroke-width:1.5px}`,`${s} .dg-message-dotted{stroke-dasharray:4 3}`,`${s} .dg-message-text{fill:${Z(`--dg-text`)}}`,`${s} .dg-number{fill:${Z(`--dg-line`)}}`,`${s} .dg-number-text{fill:${Z(`--dg-number-text`)};font-size:11px;font-weight:bold}`,`${s} .dg-note{fill:${Z(`--dg-note-fill`)};stroke:${Z(`--dg-note-stroke`)};stroke-width:1px}`,`${s} .dg-note-text{fill:${Z(`--dg-note-text`)}}`,`${s} .dg-block{fill:none;stroke:${Z(`--dg-block-stroke`)};stroke-width:1.5px}`,`${s} .dg-block-tab{fill:${Z(`--dg-block-label-fill`)};stroke:${Z(`--dg-block-stroke`)};stroke-width:1px}`,`${s} .dg-block-label{fill:${Z(`--dg-text`)};font-size:13px;font-weight:bold}`,`${s} .dg-block-guard{fill:${Z(`--dg-text-muted`)};font-size:13px}`,`${s} .dg-block-sep{stroke:${Z(`--dg-block-stroke`)};stroke-width:1px;stroke-dasharray:4 3}`,`${s} .dg-rect{fill:${Z(`--dg-rect-fill`)}}`,`${s} .dg-group-box{fill:none;stroke:${Z(`--dg-cluster-stroke`)};stroke-width:1px}`,`${s} .dg-group-label{fill:${Z(`--dg-cluster-text`)};font-weight:600}`,`${s} .dg-destroy{fill:none;stroke:${Z(`--dg-line`)};stroke-width:2px}`].join(``);return zv({id:t,type:`sequence`,width:e.width,height:e.height,title:n,description:r,defs:zb(t,i),body:o,css:c})}function CS(e,t,n,r){return SS(oS(e,t),n,r??e.accessibility.title??e.title??`Sequence diagram`,e.accessibility.description)}var wS={TB:`TB`,TD:`TB`,BT:`BT`,LR:`LR`,RL:`RL`},TS=`[\\p{L}\\p{N}_][\\p{L}\\p{N}_.-]*`,ES=`(\\[\\*\\]|${TS})`;function DS(e){let t=ey(e),n=t[0];if(!n||!/^stateDiagram(-v2)?$/.test(n.text))throw new Y(`A state diagram starts with "stateDiagram-v2"`,n?.line??1,1);let r={type:`state`,direction:`TB`,states:new Map,composites:new Map,transitions:[],notes:[],classDefs:new Map,accessibility:{}},i=[],a=new Map,o=[],s=[],c=()=>i[i.length-1]?.id,l=e=>{let t=c()??`root`,n=`\u0000${e?`start`:`end`}:${t}`;return r.states.has(n)||r.states.set(n,{id:n,kind:e?`start`:`end`,name:``,descriptions:[],parent:c(),classes:[]}),n},u=(e,t)=>{let n=r.composites.get(e);if(n)return n;let i=r.states.get(e);return i||(i={id:e,kind:`state`,name:e,descriptions:[],parent:c(),classes:[]},r.states.set(e,i)),i},d=e=>{let t=/^(.*?):::([\w-]+)$/.exec(e);return t?{id:t[1],cls:t[2]}:{id:e}};for(let e=1;e<t.length;e++){let n=t[e],f=n.text,p=ay(t,e,r.accessibility);if(p>0){e+=p-1;continue}let m=/^direction\s+(\w+)$/.exec(f);if(m){let e=wS[m[1].toUpperCase()];if(!e)throw new Y(`"${m[1]}" is not a direction`,n.line,n.column+10);let t=i[i.length-1];t?t.direction=e:r.direction=e;continue}if(m=/^classDef\s+([\w,-]+)\s+(.+)$/.exec(f),m){let e=_y(m[2],n.line,n.column);for(let t of m[1].split(`,`))r.classDefs.set(t.trim(),e);continue}if(m=/^class\s+(.+?)\s+([\w-]+)$/.exec(f),m){o.push({ids:m[1].split(`,`).map(e=>e.trim()),cls:m[2],s:n});continue}if(m=/^style\s+(\S+)\s+(.+)$/.exec(f),m){s.push({id:m[1],style:_y(m[2],n.line,n.column),s:n});continue}if(m=RegExp(`^note\\s+(left|right)\\s+of\\s+(${TS})\\s*(?::\\s*(.*))?$`,`u`).exec(f),m){let i=m[1],a=m[2],o=m[3];if(o===void 0){let r=[],i=e+1;for(;i<t.length&&t[i].text!==`end note`;i++)r.push(t[i].text);if(i>=t.length)throw new Y(`The note is not closed`,n.line,n.column,`Add "end note".`);o=r.join(`
|
|
11
|
-
`),e=i}r.notes.push({target:a,side:i,text:o});continue}if(m=RegExp(`^state\\s+(?:"([^"]*)"\\s+as\\s+)?(${TS})\\s*\\{$`,`u`).exec(f),m){let e=m[2];if(r.composites.has(e))throw new Y(`State "${e}" is defined twice`,n.line,n.column);let t=r.states.get(e),a={id:e,name:m[1]??t?.name??e,parent:c(),region:!1,classes:t?.classes??[]};t&&(r.states.delete(e),a.parent=t.parent),r.composites.set(e,a),i.push(a);continue}if(f===`}`){for(;i.length>0&&i[i.length-1].region;)i.pop();if(i.length===0)throw new Y(`"}" without an open state`,n.line,n.column);i.pop();continue}if(f===`--`){for(;i.length>0&&i[i.length-1].region;)i.pop();let e=i[i.length-1];if(!e)throw new Y(`"--" separates regions inside a composite state`,n.line,n.column);let t=a.get(e.id)??0;if(t===0){let t={id:`${e.id}\u0000r0`,name:``,parent:e.id,region:!0,classes:[]};r.composites.set(t.id,t);for(let n of r.states.values())n.parent===e.id&&(n.parent=t.id);for(let n of r.composites.values())n.parent===e.id&&n.id!==t.id&&(n.parent=t.id)}let o={id:`${e.id}\u0000r${t+1}`,name:``,parent:e.id,region:!0,classes:[]};a.set(e.id,t+1),r.composites.set(o.id,o),i.push(o);continue}if(m=RegExp(`^state\\s+"([^"]*)"\\s+as\\s+(${TS})$`,`u`).exec(f),m){let e=u(m[2],n);e.name=m[1];continue}if(m=RegExp(`^state\\s+(${TS})\\s*<<(choice|fork|join)>>$`,`u`).exec(f),m){let e=u(m[1],n);`kind`in e&&(e.kind=m[2]);continue}if(m=RegExp(`^state\\s+(${TS})(?:\\s*:\\s*(.*))?$`,`u`).exec(f),m){let e=u(m[1],n);m[2]!==void 0&&`descriptions`in e&&e.descriptions.push(m[2].trim());continue}if(m=RegExp(`^${ES}(?::::([\\w-]+))?\\s*-->\\s*${ES}(?::::([\\w-]+))?\\s*(?::\\s*(.*))?$`,`u`).exec(f),m){let e=m[1]===`[*]`?l(!0):u(m[1],n).id,t=m[3]===`[*]`?l(!1):u(m[3],n).id;m[2]&&u(e,n).classes.push(m[2]),m[4]&&u(t,n).classes.push(m[4]),r.transitions.push({from:e,to:t,label:m[5]?.trim()||void 0});continue}if(m=RegExp(`^(${TS})\\s*:\\s*(.*)$`,`u`).exec(f),m){let e=u(m[1],n);`descriptions`in e&&e.descriptions.push(m[2].trim());continue}let h=d(f);if(RegExp(`^${TS}$`,`u`).test(h.id)){let e=u(h.id,n);h.cls&&e.classes.push(h.cls)}else throw new Y(`"${f}" is not a state diagram statement`,n.line,n.column)}if(i.some(e=>!e.region))throw new Y(`State "${i.filter(e=>!e.region).pop().id}" is not closed`,0,0,`Add "}".`);for(let e of o)for(let t of e.ids){let n=r.states.get(t)??r.composites.get(t);if(!n)throw new Y(`class refers to an unknown state "${t}"`,e.s.line,e.s.column);n.classes.push(e.cls)}for(let e of s){let t=r.states.get(e.id)??r.composites.get(e.id);if(!t)throw new Y(`style refers to an unknown state "${e.id}"`,e.s.line,e.s.column);t.style=e.style}for(let e of r.notes)if(!r.states.has(e.target)&&!r.composites.has(e.target))throw new Y(`A note refers to an unknown state "${e.target}"`);return r}var OS=16;function kS(e){switch(e){case`start`:return`start`;case`end`:return`end`;case`choice`:return`choice`;case`fork`:case`join`:return`fork`;default:return`round`}}function AS(e,t,n){return yy(n.get(`default`),...e.map(e=>n.get(e)),t)}function jS(e,t,n,r){let i=e.direction===`LR`||e.direction===`RL`,a={...X,weight:`bold`},o=new Map;for(let n of e.states.values())if(n.kind===`state`){if(n.descriptions.length===0){let e=Qv(Kv(n.name),X,t),r=Xb(`round`,e.width,e.height);o.set(n.id,{title:e,width:Math.max(r.width,60),height:r.height})}else{let e=Qv(Kv(n.name),a,t),r=Qv(Kv(n.descriptions.join(`<br>`)),X,t);o.set(n.id,{title:e,body:r,width:Math.max(e.width,r.width,40)+32,height:e.height+r.height+27})}}let s=e=>{if(e.kind===`state`)return o.get(e.id);let t=Xb(kS(e.kind),0,0);return(e.kind===`fork`||e.kind===`join`)&&i?{width:t.height,height:t.width}:t},c=e.notes.map(e=>Qv(qv(e.text),X,t)),l=new Map,u=[];e.notes.forEach((t,n)=>{if(e.composites.has(t.target)){u.push(n);return}let r=c[n],a=(i?r.height:r.width)+16+OS;l.set(t.target,Math.max(l.get(t.target)??0,a))});let d=[...e.states.values()].map(t=>{let n=s(t),r=l.get(t.id)??0,a=Math.max(0,...e.notes.map((e,n)=>e.target===t.id?(i?c[n].width:c[n].height)+16:0));return i?{id:t.id,width:Math.max(n.width,a),height:n.height+r*2,cluster:t.parent}:{id:t.id,width:n.width+r*2,height:Math.max(n.height,a),cluster:t.parent}});for(let t of u){let n=c[t];d.push({id:`\u0000note${t}`,width:n.width+16,height:n.height+16,cluster:e.composites.get(e.notes[t].target).parent})}let f=new Map,p=[...e.composites.values()].map(e=>{!e.region&&e.name!==``&&f.set(e.id,Qv(Kv(e.name),a,t));let n=f.get(e.id);return{id:e.id,parent:e.parent,direction:e.direction,label:n?{width:n.width,height:n.height}:void 0}}),m=new Map,h=e.transitions.map((e,n)=>{let r;if(e.label){let i=Qv(Kv(e.label),X,t);m.set(n,i),r={width:i.width+8,height:i.height+4}}return{id:String(n),from:e.from,to:e.to,label:r}});for(let t of u)h.push({id:`note${t}`,from:`\u0000note${t}`,to:e.notes[t].target,weight:0});let g=Nx({direction:e.direction,nodes:d,edges:h,clusters:p,nodeSep:40,rankSep:40,clusterPadding:14}),_=e=>{let t=g.nodes.get(e.id),n=s(e);return{x:t.x,y:t.y,width:n.width,height:n.height}},v=t=>{let n=0,r=e.composites.get(t)?.parent;for(;r;)n++,r=e.composites.get(r)?.parent;return n},y=[...e.composites.values()].sort((e,t)=>v(e.id)-v(t.id)).map(t=>{let n=g.clusters.get(t.id),r=AS(t.classes,t.style,e.classDefs),i=n.x-n.width/2,a=n.y-n.height/2;if(t.region)return Q(`rect`,{class:`dg-state-region`,x:i,y:a,width:n.width,height:n.height,rx:4});let o=f.get(t.id),s=o?o.height+10:0;return Q(`g`,{class:`dg-cluster dg-state-composite`,"data-id":t.id},[Q(`rect`,{class:`dg-cluster-box`,x:i,y:a,width:n.width,height:n.height,rx:8,style:by(r.shape)}),o?Q(`line`,{class:`dg-state-divider`,x1:i,y1:a+s,x2:i+n.width,y2:a+s}):null,o?$(o,n.x,a+s/2,{className:`dg-cluster-label`,style:by(r.text)}):null])}),b=t=>{let n=e.states.get(t);if(n){let e=_(n);return{box:e,clip:t=>Qb(kS(n.kind),e,t)}}let r=g.clusters.get(t)??g.nodes.get(t);return{box:r,clip:e=>Nb(r,e)}},x=[],S=[];e.transitions.forEach((e,t)=>{let r=g.edges.get(String(t));if(!r)return;let i;if(r.selfLoop)i=r.points;else{let t=b(e.from),n=b(e.to);i=[r.start??t.clip(r.points[0]??n.box),...r.points,r.end??n.clip(r.points[r.points.length-1]??t.box)]}x.push(Q(`path`,{class:`dg-edge`,d:Lb(i),"marker-end":`url(#${Rb(n,`arrow`)})`}));let a=m.get(t);if(a&&r.label){let e=a.width+8,t=a.height+4;S.push(Q(`g`,{},[Q(`rect`,{class:`dg-edge-label-box`,x:r.label.x-e/2,y:r.label.y-t/2,width:e,height:t,rx:3}),$(a,r.label.x,r.label.y,{className:`dg-edge-label`})]))}});let C=[];e.notes.forEach((t,n)=>{let r=c[n],a=r.width+16,o=r.height+16,s,l,u=e.states.get(t.target);if(u){let e=_(u),n=t.side===`left`?-1:1;if(i){let t=e.height/2+OS+o/2;s={x:e.x,y:e.y+n*t,width:a,height:o},l={x:e.x,y:e.y+n*e.height/2}}else{let t=e.width/2+OS+a/2;s={x:e.x+n*t,y:e.y,width:a,height:o},l={x:e.x+n*e.width/2,y:e.y}}}else s=g.nodes.get(`\u0000note${n}`),l=Nb(g.clusters.get(t.target),s);let d=Nb(s,l);C.push(Q(`g`,{class:`dg-note`},[Q(`line`,{class:`dg-note-link`,x1:d.x,y1:d.y,x2:l.x,y2:l.y}),Q(`rect`,{class:`dg-note-box`,x:s.x-a/2,y:s.y-o/2,width:a,height:o,rx:2}),$(r,s.x,s.y,{className:`dg-note-text`})]))});let w=[...e.states.values()].map(t=>{let n=_(t),r=AS(t.classes,t.style,e.classDefs);if(t.kind!==`state`)return Q(`g`,{class:`dg-node dg-state-${t.kind}`,"data-id":t.kind===`start`||t.kind===`end`?void 0:t.id},[Zb(kS(t.kind),n,{style:by(r.shape)})]);let i=o.get(t.id),a=[Zb(`round`,n,{style:by(r.shape)})];if(!i.body)a.push($(i.title,n.x,n.y,{style:by(r.text)}));else{let e=n.y-n.height/2,t=e+9+i.title.height/2,o=e+13.5+i.title.height;a.push($(i.title,n.x,t,{style:by(r.text)}),Q(`line`,{class:`dg-state-divider`,x1:n.x-n.width/2,y1:o,x2:n.x+n.width/2,y2:o}),$(i.body,n.x,o+9/2+i.body.height/2+9/2,{style:by(r.text)}))}return Q(`g`,{class:[`dg-node`,`dg-state`,...t.classes.map(e=>`dg-class-${e.replace(/[^\w-]/g,``)}`)].join(` `),"data-id":t.id},a)}),T=[`#${n} .dg-state-start{fill:${Z(`--dg-state-start`)};stroke:none}`,`#${n} .dg-state-end-ring{fill:none;stroke:${Z(`--dg-state-start`)};stroke-width:1.5px}`,`#${n} .dg-state-divider{stroke:${Z(`--dg-node-stroke`)};stroke-width:1px}`,`#${n} .dg-state-composite .dg-state-divider{stroke:${Z(`--dg-cluster-stroke`)}}`,`#${n} .dg-state-region{fill:none;stroke:${Z(`--dg-cluster-stroke`)};stroke-dasharray:5 4}`,`#${n} .dg-state-choice .dg-shape{fill:${Z(`--dg-node-fill`)};stroke:${Z(`--dg-node-stroke`)}}`,`#${n} .dg-note-box{fill:${Z(`--dg-note-fill`)};stroke:${Z(`--dg-note-stroke`)}}`,`#${n} .dg-note-text{fill:${Z(`--dg-note-text`)}}`,`#${n} .dg-note-link{stroke:${Z(`--dg-note-stroke`)};stroke-dasharray:3 3}`].join(``);return zv({id:n,type:`state`,width:g.width,height:g.height,title:r??e.accessibility.title??`State diagram`,description:e.accessibility.description,defs:zb(n,[`arrow`]),body:[Q(`g`,{class:`dg-clusters`},y),Q(`g`,{class:`dg-edges`},x),Q(`g`,{class:`dg-edge-labels`},S),Q(`g`,{class:`dg-notes`},C),Q(`g`,{class:`dg-nodes`},w)],css:T})}var MS=200,NS=1e3;function PS(e){let t=[],n=0;for(let r=0;r<=e.length;r++)if(r===e.length||e[r]===`:`&&(r+1===e.length||/\s/.test(e[r+1]))){let i=e.slice(n,r),a=i.trim();t.push({text:a,offset:a===``?Math.max(0,n-1):n+(i.length-i.trimStart().length)}),n=r+1}return t}function FS(e,t,n){for(let r of t){if(r.text===``)throw new Y(`An event is empty`,n.line,n.column+r.offset,`Write text after each ": "`);e.events.push(r.text)}}function IS(e){let t=ey(e),n=t[0],r=n?/^timeline\b\s*(.*)$/.exec(n.text):null;if(!n||!r)throw new Y(`A timeline starts with "timeline"`,n?.line??1,1);let i=r[1].trim();if(i===`TD`||i===`TB`)throw new Y(`Vertical timelines are not supported`,n.line,n.column+9,`Write "timeline" or "timeline LR"`);if(i!==``&&i!==`LR`)throw new Y(`Unexpected "${i}" after "timeline"`,n.line,n.column+9);let a={type:`timeline`,sections:[],periods:[],accessibility:{}},o=0;for(let e=1;e<t.length;e++){let n=t[e],r=ay(t,e,a.accessibility);if(r>0)e+=r-1;else if(/^title(\s|$)/.test(n.text)){let e=n.text.slice(5).trim();a.title=e===``?void 0:e}else if(/^section(\s|$)/.test(n.text)){let e=n.text.slice(7).trim();if(e===``)throw new Y(`A section needs a name`,n.line,n.column,`Write section 2020s`);a.sections.push({label:e,line:n.line})}else{if(n.text.startsWith(`:`)){let e=a.periods[a.periods.length-1];if(!e)throw new Y(`Events without a time period`,n.line,n.column,`Start with a period: 2024 : Event`);let t=PS(n.text.slice(1)).map(e=>({...e,offset:e.offset+1}));FS(e,t,n),o+=t.length}else{if(a.periods.length>=MS)throw new Y(`The timeline has more than ${MS} time periods`,n.line,n.column,`Split it into several timelines.`);let[e,...t]=PS(n.text),r={label:e.text,events:[],section:a.sections.length>0?a.sections.length-1:null,line:n.line};FS(r,t,n),a.periods.push(r),o+=t.length}if(o>NS)throw new Y(`The timeline has more than ${NS} events`,n.line,n.column,`Split it into several timelines.`)}}if(a.periods.length===0&&a.sections.length===0)throw new Y(`The timeline has no time periods`,0,0,`Add lines like: 2024 : Event`);return a}var LS=168,RS=16,zS={...X,size:18,weight:`bold`},BS={...X,weight:`bold`},VS={...X,weight:`bold`},HS={...X,size:13},US=1.08;function WS(e,t,n){return Qv(Zv(Kv(e),144/US,t,n),t,n)}function GS(e,t,n,r){let i=[],a=0,o=new Map,s=e=>{if(e===null)return a++;let t=o.get(e);return t===void 0&&(t=a++,o.set(e,t)),t},c=0,l=e.periods;for(;c<l.length&&l[c].section===null;)i.push({period:l[c],section:null,colour:s(null)}),c++;e.sections.forEach((e,t)=>{let n=i.length;for(;c<l.length&&l[c].section===t;)i.push({period:l[c],section:t,colour:s(t)}),c++;i.length===n&&i.push({period:null,section:t,colour:s(t)})});let u=e.sections.length>0,d=e=>e*184,f=Math.max(i.length*184-RS,0),p=e.title?Qv(Kv(e.title),zS,t):null,m=e.sections.map((e,n)=>{let r=i.flatMap((e,t)=>e.section===n?[t]:[]),a=r[0],s=r[r.length-1],c=d(s)+LS-d(a),l=Qv(Zv(Kv(e.label),(c-24)/US,BS,t),BS,t);return{x:d(a),width:c,label:l,colour:o.get(n)}}),h=i.map(e=>e.period?WS(e.period.label,VS,t):null),g=i.map(e=>e.period?e.period.events.map(e=>WS(e,HS,t)):[]),_=p?p.height+16:0,v=u?Math.max(34,...m.map(e=>e.label.height+16)):0,y=Math.max(40,...h.map(e=>e?e.height+20:0)),b=_,x=b+(u?v+12:0),S=x+y,C=S+24,w=C+24,T=[],ee=[];for(let e of m)ee.push(Q(`g`,{class:`dg-node dg-tl-section`},[Q(`rect`,{class:`dg-tl-section-box`,x:e.x,y:b,width:e.width,height:v,rx:6,style:`fill:${kv(e.colour)}`}),$(e.label,e.x+e.width/2,b+v/2,{className:`dg-tl-section-text`})]));let E=f+18;T.push(Q(`line`,{class:`dg-tl-axis`,x1:-6,y1:C,x2:E-8,y2:C}),Q(`polygon`,{class:`dg-tl-arrow`,points:`${Fv(E-10)},${Fv(C-6)} ${Fv(E)},${Fv(C)} ${Fv(E-10)},${Fv(C+6)}`}));let D=C+8;i.forEach((e,t)=>{if(!e.period)return;let n=d(t),r=n+LS/2,i=kv(e.colour),a=h[t],o=!u;ee.push(Q(`g`,{class:`dg-node dg-tl-period`,"data-line":e.period.line},[Q(`rect`,{class:o?`dg-tl-period-box dg-tl-solid`:`dg-tl-period-box`,x:n,y:x,width:LS,height:y,rx:6,style:o?`fill:${i}`:`fill:${i};stroke:${i}`}),$(a,r,x+y/2,{className:o?`dg-tl-period-text dg-tl-on-solid`:`dg-tl-period-text`})]));let s=g[t],c=s.length>0?w:C;T.push(Q(`line`,{class:`dg-tl-connector`,x1:r,y1:S,x2:r,y2:c,style:`stroke:${i}`})),ee.push(Q(`circle`,{class:`dg-tl-dot`,cx:r,cy:C,r:5,style:`fill:${i}`}));let l=w;s.forEach((e,t)=>{let a=Math.max(32,e.height+14);t>0&&T.push(Q(`line`,{class:`dg-tl-connector`,x1:r,y1:l-10,x2:r,y2:l,style:`stroke:${i}`})),ee.push(Q(`g`,{class:`dg-node dg-tl-event`},[Q(`rect`,{class:`dg-tl-event-box`,x:n,y:l,width:LS,height:a,rx:6,style:`fill:${i};stroke:${i}`}),$(e,r,l+a/2,{className:`dg-tl-event-text`})])),l+=a+10}),D=Math.max(D,l-10)});let O=E+12,k=Math.max(O,p?p.width:0),A=6+(k-O)/2,j=[];p&&j.push($(p,k/2,p.height/2,{className:`dg-title`})),j.push(Q(`g`,{transform:`translate(${Fv(A)},0)`},[...T,...ee]));let M=`#${n}`,N=[`${M} .dg-title{fill:${Z(`--dg-text`)};font-size:18px;font-weight:bold}`,`${M} .dg-tl-section-text{fill:${Z(`--dg-pie-text`)};font-weight:bold}`,`${M} .dg-tl-period-box{fill-opacity:0.2;stroke-width:1.5px}`,`${M} .dg-tl-period-box.dg-tl-solid{fill-opacity:1;stroke:none}`,`${M} .dg-tl-period-text{fill:${Z(`--dg-text`)};font-weight:bold}`,`${M} .dg-tl-on-solid{fill:${Z(`--dg-pie-text`)}}`,`${M} .dg-tl-event-box{fill-opacity:0.08;stroke-opacity:0.6;stroke-width:1px}`,`${M} .dg-tl-event-text{fill:${Z(`--dg-text`)};font-size:13px}`,`${M} .dg-tl-axis{stroke:${Z(`--dg-line`)};stroke-width:2px}`,`${M} .dg-tl-arrow{fill:${Z(`--dg-line`)}}`,`${M} .dg-tl-connector{stroke-width:1.5px;stroke-dasharray:4 3;stroke-opacity:0.8}`].join(``);return zv({id:n,type:`timeline`,width:k,height:D,title:r??e.accessibility.title??e.title??`Timeline`,description:e.accessibility.description,body:j,css:N})}var KS=/[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?/,qS=RegExp(`^(${KS.source})\\s*-->\\s*(${KS.source})$`),JS=1e3;function YS(e,t,n){let r=e.length-e.trimStart().length,i=e.trimStart();if(i.startsWith(`"`)){let e=i.indexOf(`"`,1);if(e<0)throw new Y(`The quoted text is not closed`,t.line,t.column+n+r,`Add the closing "`);let a=i.slice(1,e);a.startsWith("`")&&a.endsWith("`")&&a.length>=2&&(a=a.slice(1,-1));let o=i.slice(e+1);return{title:a,rest:o,restOffset:n+r+e+1}}return{rest:e,restOffset:n}}function XS(e){let t=[],n=!1,r=0;for(let i=0;i<=e.length;i++){let a=e[i];if(a===`"`&&(n=!n),i===e.length||a===`,`&&!n){let n=e.slice(r,i);t.push({text:n.trim(),offset:r+(n.length-n.trimStart().length)}),r=i+1}}return t}function ZS(e,t,n){let r=e.indexOf(`[`);if(r<0)return null;let i=e.trimEnd();if(!i.endsWith(`]`))throw new Y(`The list is not closed`,t.line,t.column+n+r,`End it with "]"`);let a=i.slice(r+1,-1),o=a.trim()===``?[]:XS(a).map(e=>({...e,offset:n+r+1+e.offset}));return{before:e.slice(0,r),items:o}}function QS(e){if(!RegExp(`^${KS.source}$`).exec(e))return null;let t=Number(e);return Number.isFinite(t)?t:null}function $S(e){let t=e.trim();return t===``?void 0:t}function eC(e,t){let n=t.length,{title:r,rest:i,restOffset:a}=YS(e.text.slice(n),e,n),o=ZS(i,e,a);if(o){if(t===`y-axis`)throw new Y(`The y axis is numeric and has no categories`,e.line,e.column,`Write y-axis "Title" 0 --> 100`);let n=r??$S(o.before);if(r!==void 0&&o.before.trim()!==``)throw new Y(`Unexpected "${o.before.trim()}"`,e.line,e.column+a);let i=o.items.map(t=>{if(t.text===``)throw new Y(`A category is empty`,e.line,e.column+t.offset,`Remove the extra comma`);return t.text.length>=2&&t.text.startsWith(`"`)&&t.text.endsWith(`"`)?t.text.slice(1,-1):t.text});if(i.length===0)throw new Y(`The x axis has no categories`,e.line,e.column,`List them: x-axis [a, b, c]`);return{kind:`band`,title:n,categories:i}}let s=i.trim(),c=/(\S+)\s*-->\s*(\S+)\s*$/.exec(s);if(c){let t=e.column+a+(i.length-i.trimStart().length)+c.index,n=qS.exec(c[0].trim());if(!n)throw new Y(`"${c[0].trim()}" is not a range of numbers`,e.line,t,`Write min --> max, e.g. 0 --> 100`);let o=Number(n[1]),l=Number(n[2]);if(!(l>o))throw new Y(`The end of the range must be greater than its start`,e.line,t);let u=s.slice(0,c.index);if(r!==void 0&&u.trim()!==``)throw new Y(`Unexpected "${u.trim()}"`,e.line,e.column+a);return{kind:`linear`,title:r??$S(u),min:o,max:l}}if(r!==void 0&&s!==``)throw new Y(`Unexpected "${s}"`,e.line,e.column+a+(i.length-i.trimStart().length));return{kind:`linear`,title:r??$S(s)}}function tC(e,t){let n=t.length,{title:r,rest:i,restOffset:a}=YS(e.text.slice(n),e,n),o=ZS(i,e,a);if(!o)throw new Y(`A ${t} series needs its values in brackets`,e.line,e.column,`Write ${t} [1, 2, 3]`);if(r!==void 0&&o.before.trim()!==``)throw new Y(`Unexpected "${o.before.trim()}"`,e.line,e.column+a);let s=o.items.map(t=>{let n=QS(t.text);if(n===null)throw new Y(`"${t.text}" is not a number`,e.line,e.column+t.offset,`Values are plain numbers: 12, -3.5, .25`);return n});if(s.length===0)throw new Y(`The ${t} series has no values`,e.line,e.column,`Write ${t} [1, 2, 3]`);if(s.length>JS)throw new Y(`The series has ${s.length} values; the limit is ${JS}`,e.line,e.column);return{kind:t,title:r??$S(o.before),values:s,line:e.line,column:e.column}}function nC(e){let t=ey(e),n=t[0],r=n?/^(xychart-beta|xychart)\b\s*(.*)$/.exec(n.text):null;if(!n||!r)throw new Y(`An XY chart starts with "xychart-beta"`,n?.line??1,1);let i={type:`xychart`,horizontal:!1,yAxis:{kind:`linear`},series:[],accessibility:{}},a=r[2].trim();if(a===`horizontal`)i.horizontal=!0;else if(a!==``&&a!==`vertical`)throw new Y(`Unexpected "${a}" after "${r[1]}"`,n.line,n.column+r[1].length+1,`Write "horizontal", or nothing`);let o=null,s=null;for(let e=1;e<t.length;e++){let n=t[e],r=ay(t,e,i.accessibility);if(r>0){e+=r-1;continue}let a=/^(title|x-axis|y-axis|bar|line)\b/.exec(n.text)?.[1];switch(a){case`title`:{let{title:e,rest:t}=YS(n.text.slice(5),n,5),r=e??t.trim();if(e!==void 0&&t.trim()!==``)throw new Y(`Unexpected "${t.trim()}"`,n.line,n.column+n.text.indexOf(t.trim(),6));i.title=r===``?void 0:r;break}case`x-axis`:case`y-axis`:{let e=a===`x-axis`?o:s;if(e)throw new Y(`The ${a} is already declared on line ${e.line}`,n.line,n.column,`Declare each axis once`);let t=eC(n,a);a===`x-axis`?(i.xAxis=t,o=n):(i.yAxis=t,s=n);break}case`bar`:case`line`:i.series.push(tC(n,a));break;default:throw new Y(`"${n.text}" is not an XY chart statement`,n.line,n.column,`Expected title, x-axis, y-axis, bar or line`)}}if(i.series.length===0)throw new Y(`The chart has no data`,0,0,`Add a series: bar [1, 2, 3] or line [1, 2, 3]`);let c=i.xAxis,l=c?.kind===`band`?c.categories.length:i.series[0].values.length;for(let e of i.series)if(e.values.length!==l){let t=c?.kind===`band`?`the x axis has ${l} categories`:`the first series has ${l}`;throw new Y(`The ${e.kind} series has ${e.values.length} values, but ${t}`,e.line,e.column,`Give every series one value per point`)}return i}var rC=[1,2,2.5,5,10];function iC(e,t){let n=e/Math.max(1,t),r=10**Math.floor(Math.log10(n));for(let e of rC)if(e*r>=n*(1-1e-9))return e*r;return 10*r}function aC(e){for(let t=0;t<12;t++){let n=e*10**t;if(Math.abs(n-Math.round(n))<1e-6*Math.max(1,n))return t}return 12}function oC(e,t){return Number(e.toFixed(t))}function sC(e,t,n,r){let i=e,a=t;if(a<=i){let e=i===0?1:Math.abs(i)/2;i-=e,a+=e}let o=iC(a-i,n),s=aC(o);r&&(i=oC(Math.floor(i/o+1e-9)*o,s),a=oC(Math.ceil(a/o-1e-9)*o,s));let c=[],l=Math.ceil(i/o-1e-9),u=Math.floor(a/o+1e-9);for(let e=l;e<=u&&c.length<=1e3;e++)c.push(oC(e*o,s));return{min:i,max:a,step:o,values:c}}var cC=[[0xe8d4a51000,`T`],[1e9,`B`],[1e6,`M`],[1e3,`k`]];function lC(e,t){let n=Math.max(0,...e.map(Math.abs)),r=1,i=``;for(let[e,a]of cC)if(n>=e*10&&t>=e/10){r=e,i=a;break}let a=aC(t/r);return e=>e===0?`0`:uC(e/r,a)+i}function uC(e,t){let n=Math.abs(e).toFixed(t);return(e<0&&Number(n)!==0?`−`:``)+n}var dC={...X,size:18,weight:`bold`},fC={...X,size:13,weight:`bold`},pC={...X,size:12},mC={...X,size:13},hC=8,gC=12,_C=Math.SQRT1_2;function vC(e,t,n){let r=Kv(e);return Qv(n?Zv(r,n,pC,t):r,pC,t)}function yC(e,t,n,r){let i=e.horizontal,a=e.series[0].values.length,o=e.series.filter(e=>e.kind===`bar`),s=e.series.filter(e=>e.kind===`line`),c=e.xAxis,l=c?.kind===`linear`&&c.min!==void 0&&c.max!==void 0?{min:c.min,max:c.max}:null,u=c?.kind===`band`?c.categories:Array.from({length:a},(e,t)=>String(t+1)),d=l?[]:u.map(e=>vC(e,t,i?160:void 0)),f;if(i){let e=Math.max(0,...d.map(e=>e.height)),t=l?0:Math.max(30,o.length*14+12,e+10);f=l?320:Math.min(Math.max(a*t,120),1600)}else f=l?600:Math.min(Math.max(a*60,400),800);let p=i?520:320,m=f/a,h=e.series.flatMap(e=>e.values),g=e.yAxis,_=g.min!==void 0&&g.max!==void 0,v=Math.min(...h),y=Math.max(...h);o.length>0&&(v=Math.min(v,0),y=Math.max(y,0));let b=i?Math.max(2,Math.floor(p/90)):Math.max(2,Math.floor(p/45)),x=_?sC(g.min,g.max,b,!1):sC(v,y,b,!0),S=_?g.min:x.min,C=_?g.max:x.max,w=lC(x.values,x.step),T=e=>(e-S)/(C-S)*p,ee=l&&o.length>0?m/2:0,E=e=>ee+(e-l.min)/(l.max-l.min)*(f-ee*2),D=e=>{if(!l)return(e+.5)*m;let t=a===1?(l.min+l.max)/2:l.min+e*(l.max-l.min)/(a-1);return E(t)},O=l?(()=>{let e=sC(l.min,l.max,Math.max(2,Math.floor(f/(i?40:70))),!1),n=lC(e.values,e.step);return e.values.map(e=>({measured:Qv(qv(n(e)),pC,t),at:E(e)}))})():d.map((e,t)=>({measured:e,at:D(t)})),k=x.values.map(e=>({measured:Qv(qv(w(e)),pC,t),at:T(e)})),A=!i&&!l&&d.some(e=>e.width>m-6),j=e.title?Qv(Kv(e.title),dC,t):null,M=c?.title?Qv(Kv(c.title),fC,t):null,N=g.title?Qv(Kv(g.title),fC,t):null,te=e.series.map((e,t)=>({series:e,index:t})).filter(e=>e.series.title!==void 0).map(e=>({...e,measured:Qv(Kv(e.series.title),mC,t)})),ne,re,ie=0;if(i){let e=Math.max(0,...O.map(e=>e.measured.width));ne=(M?M.height+hC:0)+e+hC,re=hC+Math.max(0,...k.map(e=>e.measured.height))+(N?hC+N.height:0);let t=k[k.length-1];t&&(ie=Math.max(0,t.at+t.measured.width/2-p))}else{let e=Math.max(0,...k.map(e=>e.measured.width));ne=(N?N.height+hC:0)+e+hC;let t;if(A){t=Math.max(...d.map(e=>(e.width+e.height/2)*_C))+Math.max(...d.map(e=>e.height))*_C;let e=d[0];ne=Math.max(ne,(e.width+e.height/2)*_C-m/2+4)}else{t=Math.max(0,...O.map(e=>e.measured.height));let e=O[O.length-1];e&&(ie=Math.max(0,e.at+e.measured.width/2-f));let n=O[0];n&&(ne=Math.max(ne,n.measured.width/2-n.at))}re=hC+t+(M?hC+M.height:0)}let ae=i?p:f,oe=i?f:p,se=[],ce=e=>18+e.measured.width,le=Math.max(ae,200);for(let e of te){let t=se[se.length-1];t&&t.width+20+ce(e)<=le?(t.items.push(e),t.width+=20+ce(e)):se.push({items:[e],width:ce(e)})}let ue=se.length>0?se.length*20+hC:0,de=j?j.height+12:0,P=ne,fe=de+ue+6,pe=P+ae,me=fe+oe,he=pe+ie,ge=me+re,_e=(e,t)=>i?{x:P+t,y:fe+e}:{x:P+e,y:me-t},ve=[],ye=[],be=[];ve.push(Q(`g`,{class:`dg-xy-grid`},k.map(e=>{let t=_e(0,e.at),n=_e(f,e.at);return Q(`line`,{x1:t.x,y1:t.y,x2:n.x,y2:n.y})})));let xe=T(Math.min(Math.max(0,S),C));{let e=_e(0,xe),t=_e(f,xe);be.push(Q(`line`,{class:`dg-xy-axis`,x1:e.x,y1:e.y,x2:t.x,y2:t.y}))}l&&be.push(Q(`g`,{class:`dg-xy-tick`},O.map(e=>{let t=_e(e.at,xe);return i?Q(`line`,{x1:t.x-4,y1:t.y,x2:t.x,y2:t.y}):Q(`line`,{x1:t.x,y1:t.y,x2:t.x,y2:t.y+4})})));let F=m*(o.length>1?.8:.66),Se=o.length>1?Math.min(4,F/o.length*.15):0,Ce=(F-Se*(o.length-1))/Math.max(1,o.length);o.forEach((t,n)=>{let r=e.series.indexOf(t);ye.push(Q(`g`,{class:`dg-xy-bars dg-xy-series-${r}`},t.values.map((e,t)=>{let a=D(t)-F/2+n*(Ce+Se),o=Math.min(xe,T(e)),s=Math.max(xe,T(e)),c=i?_e(a,o):_e(a,s);return Q(`rect`,{class:`dg-xy-bar`,x:c.x,y:c.y,width:i?s-o:Ce,height:i?Ce:s-o,style:`fill:${kv(r)}`})})))});for(let t of s){let n=e.series.indexOf(t),r=t.values.map((e,t)=>_e(D(t),T(e))),i=new Rv;r.forEach((e,t)=>t===0?i.moveTo(e.x,e.y):i.lineTo(e.x,e.y));let a=r.length<=60&&m>=8;ye.push(Q(`g`,{class:`dg-xy-line dg-xy-series-${n}`},[Q(`path`,{class:`dg-xy-line-path`,d:i.toString(),style:`stroke:${kv(n)}`}),...a?r.map(e=>Q(`circle`,{class:`dg-xy-dot`,cx:e.x,cy:e.y,r:3.5,style:`fill:${kv(n)}`})):[]]))}if(i){for(let e of O)be.push($(e.measured,P-hC,fe+e.at,{anchor:`end`,className:`dg-xy-tick-label`}));for(let e of k)be.push($(e.measured,P+e.at,me+hC+e.measured.height/2,{className:`dg-xy-tick-label`}))}else{for(let e of k)be.push($(e.measured,P-hC,me-e.at,{anchor:`end`,className:`dg-xy-tick-label`}));for(let e of O){let t=P+e.at;if(A){let n=me+hC+e.measured.height/2*_C;be.push(Q(`g`,{transform:`rotate(-45 ${bC(t)} ${bC(n)})`},[$(e.measured,t,n,{anchor:`end`,className:`dg-xy-tick-label`})]))}else be.push($(e.measured,t,me+hC+e.measured.height/2,{className:`dg-xy-tick-label`}))}}let we=i?M:N,Te=i?N:M;if(we){let e=we.height/2,t=fe+oe/2;be.push(Q(`g`,{transform:`rotate(-90 ${bC(e)} ${bC(t)})`},[$(we,e,t,{className:`dg-xy-axis-title`})]))}Te&&be.push($(Te,P+ae/2,ge-Te.height/2,{className:`dg-xy-axis-title`}));let Ee=P+ae/2;j&&be.push($(j,Ee,j.height/2,{className:`dg-title`})),se.forEach((e,t)=>{let n=Ee-e.width/2,r=de+t*20+10;for(let t of e.items){let e=kv(t.index);be.push(Q(`g`,{class:`dg-xy-legend-item`},[t.series.kind===`bar`?Q(`rect`,{x:n,y:r-gC/2,width:gC,height:gC,rx:2,style:`fill:${e}`}):Q(`line`,{class:`dg-xy-legend-line`,x1:n,y1:r,x2:n+gC,y2:r,style:`stroke:${e}`}),$(t.measured,n+gC+6,r,{anchor:`start`,className:`dg-xy-legend`})])),n+=ce(t)+20}});let De=`${n}-plot`,Oe=[Q(`clipPath`,{id:De},[Q(`rect`,{x:P-4,y:fe-4,width:ae+8,height:oe+8})])],ke=[...ve,Q(`g`,{"clip-path":`url(#${De})`},ye),...be],Ae=`#${n}`,je=[`${Ae} .dg-title{fill:${Z(`--dg-text`)};font-size:18px;font-weight:bold}`,`${Ae} .dg-xy-grid line{stroke:${Z(`--dg-grid`)};stroke-width:1px}`,`${Ae} .dg-xy-axis,${Ae} .dg-xy-tick line{stroke:${Z(`--dg-line`)};stroke-width:1px}`,`${Ae} .dg-xy-tick-label{fill:${Z(`--dg-text-muted`)};font-size:12px}`,`${Ae} .dg-xy-axis-title{fill:${Z(`--dg-text`)};font-size:13px;font-weight:bold}`,`${Ae} .dg-xy-line-path{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}`,`${Ae} .dg-xy-legend-line{stroke-width:2.5px;stroke-linecap:round}`,`${Ae} .dg-xy-legend{fill:${Z(`--dg-text`)};font-size:13px}`].join(``);return zv({id:n,type:`xychart`,width:he,height:ge,title:r??e.accessibility.title??e.title??`XY chart`,description:e.accessibility.description,defs:Oe,body:ke,css:je})}function bC(e){return Math.round(e*100)/100}var xC=500,SC=[{open:`((`,close:`))`,shape:`circle`},{open:`))`,close:`((`,shape:`bang`},{open:`{{`,close:`}}`,shape:`hexagon`},{open:`(`,close:`)`,shape:`rounded`},{open:`)`,close:`(`,shape:`cloud`},{open:`[`,close:`]`,shape:`square`}];function CC(e){let t=e.indexOf('"`');return t>=0&&e.indexOf('`"',t+2)<0}function wC(e){let t=e.trim();if(t.length<2||!t.startsWith(`"`)||!t.endsWith(`"`))return null;let n=t.slice(1,-1);return n.length>=2&&n.startsWith("`")&&n.endsWith("`")?{label:n.slice(1,-1),markdown:!0}:{label:n,markdown:!1}}function TC(e,t,n){let r=e,i,a=[];for(;;){let e=/\s*::icon\(([^)]*)\)\s*$/.exec(r);if(e&&!r.slice(0,e.index).endsWith(`:`)){i=e[1].trim(),r=r.slice(0,e.index);continue}let t=/\s*:::\s*([\w-]+(?:\s+[\w-]+)*)\s*$/.exec(r);if(t)a.unshift(...t[1].split(/\s+/)),r=r.slice(0,t.index);else break}r=r.trimEnd();let o=wC(r);if(o)return{id:n(),...o,shape:`default`,icon:i,classes:a};let s=r.search(/[[(){}]/);if(s<0)return{id:r,label:r,markdown:!1,shape:`default`,icon:i,classes:a};let c=SC.find(e=>r.startsWith(e.open,s));if(!c)throw new Y(`"${r[s]}" does not start a node shape`,t.line,t.column+s,`Shapes: [square], (rounded), ((circle)), ))bang((, )cloud(, {{hexagon}}`);if(!r.endsWith(c.close)||r.length<s+c.open.length+c.close.length)throw new Y(`The "${c.open}" shape is not closed at the end of the line`,t.line,t.column+s,`End the node with "${c.close}", or put text with brackets in quotes: id["text (note)"]`);let l=r.slice(s+c.open.length,r.length-c.close.length),{label:u,markdown:d}=wC(l)??{label:l.trim(),markdown:!1};if(u.trim()===``)throw new Y(`The node has no text`,t.line,t.column+s,`Write id${c.open}text${c.close}`);let f=r.slice(0,s).trim();return{id:f===``?n():f,label:u,markdown:d,shape:c.shape,icon:i,classes:a}}function EC(e){let t=ey(e),n=t[0],r=n?/^mindmap\b\s*(.*)$/.exec(n.text):null;if(!n||!r)throw new Y(`A mind map starts with "mindmap"`,n?.line??1,1);if(r[1].trim()!==``)throw new Y(`Unexpected "${r[1].trim()}" after "mindmap"`,n.line,n.column+8,`Put the root on the next line`);let i={},a=null,o=null,s=0,c=[],l=()=>`node-${s}`;for(let e=1;e<t.length;e++){let n=t[e],r=ay(t,e,i);if(r>0){e+=r-1;continue}let u=n.column-1,d=n.text;for(;CC(d);){if(e+1>=t.length)throw new Y(`The markdown string is not closed`,n.line,n.column+d.indexOf('"`'),'End it with `"');e++,d+=`
|
|
12
|
-
`+t[e].text}let f=/^(::icon\(([^)]*)\)|:::\s*([\w-]+(?:\s+[\w-]+)*))$/.exec(d);if(f){if(!o)throw new Y(`"${d}" comes before any node`,n.line,n.column,`Put it under the node it belongs to`);f[2]===void 0?o.classes.push(...f[3].split(/\s+/)):o.icon=f[2].trim();continue}let p=TC(d,n,l),m={...p,children:[],line:n.line,column:n.column};for(;c.length>0&&c[c.length-1].indent>=u;)c.pop();let h=c[c.length-1];if(h)h.node.children.push(m);else{if(a)throw new Y(`A mind map has one root; "${p.label}" is a second one`,n.line,n.column,`Indent it under "${a.label}" (line ${a.line})`);a=m}if(c.push({node:m,indent:u}),o=m,s++,s>xC)throw Tv(`nodes`,s,xC)}if(!a)throw new Y(`The mind map is empty`,0,0,`Add a root node on the line after "mindmap"`);return{type:`mindmap`,root:a,accessibility:i}}var DC={...X,size:16,weight:`bold`},OC={...X,weight:`bold`},kC={...X,size:13},AC=200,jC=1.06,MC=56,NC=36,PC=22,FC=10;function IC(e){return e===0?DC:e===1?OC:kC}function LC(e,t,n,r){let i=r===0?22:14,a=r===0?13:8;switch(e){case`circle`:{let e=Math.max(Math.hypot(t,n)+16,r===0?72:44);return{width:e,height:e}}case`bang`:{let e=(t/2+8)*Math.SQRT2*1.3,r=(n/2+6)*Math.SQRT2*1.3;return{width:e*2,height:r*2}}case`cloud`:return{width:t+i*2+18,height:n+a*2+16};case`hexagon`:{let e=n+a*2;return{width:t+i*2+e/2,height:e}}default:return{width:t+i*2,height:n+a*2}}}function RC(e,t,n,r){let i=IC(t),a=Qv(Zv(Kv(e.label,{markdown:e.markdown}),AC,i,r),i,r),o=LC(e.shape,a.width*jC,a.height,t),s=e.children.map((e,i)=>RC(e,t+1,t===0?i:n,r)),c=t===0?PC:FC,l=s.reduce((e,t)=>e+t.block,0)+c*Math.max(0,s.length-1);return{node:e,depth:t,branch:n,label:a,...o,x:0,y:0,block:Math.max(o.height,l),children:s}}function zC(e,t,n,r){e.x=n+t*e.width/2,e.y=r+e.block/2;let i=e.depth===0?PC:FC,a=e.children.reduce((e,t)=>e+t.block,0)+i*Math.max(0,e.children.length-1),o=r+(e.block-a)/2,s=e.x+t*(e.width/2+NC);for(let n of e.children)zC(n,t,s,o),o+=n.block+i}function BC(e){if(e.length<=1)return e.length;let t=e.reduce((e,t)=>e+t,0),n=1,r=1/0,i=0;for(let a=1;a<=e.length;a++){i+=e[a-1];let o=Math.abs(i-(t-i));o<r-1e-9&&(n=a,r=o)}return Math.min(n,e.length-1)}function VC(e,t,n,r){let i=e-n/2+7,a=t-r/2+7,o=n-14,s=r-14,c=[{x:i,y:a},{x:i+o,y:a},{x:i+o,y:a+s},{x:i,y:a+s}],l=new Rv().moveTo(i,a);return c.forEach((e,t)=>{let n=c[(t+1)%4],r=Math.hypot(n.x-e.x,n.y-e.y),i=Math.max(1,Math.round(r/26)),a=r/i;for(let t=1;t<=i;t++){let r=e.x+(n.x-e.x)*t/i,o=e.y+(n.y-e.y)*t/i;l.arcTo(a*.6,a*.6,0,!1,!0,r,o)}}),l.close().toString()}function HC(e,t,n,r){let i=n/2,a=r/2,o=Math.PI*(i+a),s=Math.max(10,Math.min(28,Math.round(o/30))),c=new Rv;for(let n=0;n<s*2;n++){let r=-Math.PI/2+n*Math.PI/s,o=n%2==0?1:.8,l=e+Math.cos(r)*i*o,u=t+Math.sin(r)*a*o;n===0?c.moveTo(l,u):c.lineTo(l,u)}return c.close().toString()}function UC(e,t,n,r){let i=e-n/2,a=t-r/2;return new Rv().moveTo(i,a+r).lineTo(i,a+6).quadTo(i,a,i+6,a).lineTo(i+n-6,a).quadTo(i+n,a,i+n,a+6).lineTo(i+n,a+r).close().toString()}function WC(e,t){let n=t?`fill:${t};stroke:${t}`:void 0,r={x:e.x,y:e.y,width:e.width,height:e.height},i=`dg-mm-shape`;switch(e.depth===0&&e.node.shape==="default"?`rounded`:e.node.shape){case`square`:return[Zb(`rect`,r,{className:i,style:n})];case`rounded`:return[Q(`rect`,{class:i,style:n,x:e.x-e.width/2,y:e.y-e.height/2,width:e.width,height:e.height,rx:10,ry:10})];case`circle`:return[Zb(`circle`,r,{className:i,style:n})];case`hexagon`:return[Zb(`hexagon`,r,{className:i,style:n})];case`cloud`:return[Q(`path`,{class:i,style:n,d:VC(e.x,e.y,e.width,e.height)})];case`bang`:return[Q(`path`,{class:i,style:n,d:HC(e.x,e.y,e.width,e.height)})];default:return[Q(`path`,{class:`${i} dg-mm-default`,style:t?`fill:${t}`:void 0,d:UC(e.x,e.y,e.width,e.height)}),Q(`line`,{class:`dg-mm-bar`,x1:e.x-e.width/2,y1:e.y+e.height/2,x2:e.x+e.width/2,y2:e.y+e.height/2,style:t?`stroke:${t}`:void 0})]}}function GC(e,t,n,r){let i=RC(e.root,0,-1,t),a=BC(i.children.map(e=>e.block)),o=i.children.slice(0,a),s=i.children.slice(a).reverse(),c=e=>e.reduce((e,t)=>e+t.block,0)+PC*Math.max(0,e.length-1);i.x=0,i.y=0;let l=-c(o)/2;for(let e of o)zC(e,1,i.width/2+MC,l),l+=e.block+PC;l=-c(s)/2;for(let e of s)zC(e,-1,-i.width/2-MC,l),l+=e.block+PC;let u=[],d=e=>{u.push(e),e.children.forEach(d)};d(i);let f=Math.min(...u.map(e=>e.x-e.width/2)),p=Math.max(...u.map(e=>e.x+e.width/2)),m=Math.min(...u.map(e=>e.y-e.height/2)),h=Math.max(...u.map(e=>e.y+e.height/2)),g=[],_=[];for(let e of u){let t=e.depth===0?void 0:kv(e.branch);for(let t of e.children){let n=t.x>=e.x?1:-1,r=e.x+n*e.width/2,i=t.x-n*t.width/2,a=(i-r)/2,o=new Rv().moveTo(r,e.y).curveTo(r+a,e.y,i-a,t.y,i,t.y);g.push(Q(`path`,{class:`dg-mm-edge dg-mm-edge-${Math.min(t.depth,3)}`,d:o.toString(),style:`stroke:${kv(t.branch)}`}))}let n=[`dg-node`,`dg-mm-node`,e.depth===0?`dg-mm-root`:`dg-mm-depth-${Math.min(e.depth,2)}`];_.push(Q(`g`,{class:n.join(` `),"data-id":/^[\w.:-]+$/.test(e.node.id)?e.node.id:void 0},[...WC(e,t),$(e.label,e.x,e.y,{className:e.depth===0?`dg-mm-root-text`:`dg-mm-text`})]))}let v=`#${n}`,y=[`${v} .dg-mm-edge{fill:none;stroke-linecap:round}`,`${v} .dg-mm-edge-1{stroke-width:3px}`,`${v} .dg-mm-edge-2{stroke-width:2px}`,`${v} .dg-mm-edge-3{stroke-width:1.5px}`,`${v} .dg-mm-shape{stroke-width:1.5px}`,`${v} .dg-mm-root .dg-mm-shape{fill:${Z(`--dg-node-fill`)};stroke:${Z(`--dg-node-stroke`)};stroke-width:2px}`,`${v} .dg-mm-depth-1 .dg-mm-shape{fill-opacity:0.24;stroke-width:2px}`,`${v} .dg-mm-depth-2 .dg-mm-shape{fill-opacity:0.1}`,`${v} .dg-mm-bar{stroke-width:3px;stroke-linecap:round}`,`${v} .dg-mm-depth-2 .dg-mm-bar{stroke-width:2px}`,`${v} .dg-mm-text{fill:${Z(`--dg-text`)}}`,`${v} .dg-mm-depth-2 .dg-mm-text{font-size:13px}`,`${v} .dg-mm-root-text{fill:${Z(`--dg-node-text`)};font-size:16px;font-weight:bold}`,`${v} .dg-mm-depth-1 .dg-mm-text{font-weight:bold}`].join(``);return zv({id:n,type:`mindmap`,width:p-f,height:h-m,title:r??e.accessibility.title??`Mind map`,description:e.accessibility.description,body:[Q(`g`,{transform:`translate(${Fv(-f)},${Fv(-m)})`},[Q(`g`,{class:`dg-mm-edges`},g),..._])],css:y})}var KC={TB:`TB`,TD:`TB`,BT:`BT`,LR:`LR`,RL:`RL`},qC=`(?:"[^"]*"|[\\p{L}_][\\p{L}\\p{N}_]*(?:-[\\p{L}\\p{N}_]+)*)`,JC={"||":`one`,"|o":`zero-one`,"}|":`one-many`,"}o":`zero-many`},YC={"||":`one`,"o|":`zero-one`,"|{":`one-many`,"o{":`zero-many`},XC={"--":!0,"..":!1,".-":!1,"-.":!1},ZC=[[`only one`,`one`],[`zero or one`,`zero-one`],[`one or zero`,`zero-one`],[`one or more`,`one-many`],[`one or many`,`one-many`],[`many(1)`,`one-many`],[`1+`,`one-many`],[`zero or more`,`zero-many`],[`zero or many`,`zero-many`],[`many(0)`,`zero-many`],[`0+`,`zero-many`],[`1`,`one`]],QC=`(${ZC.map(([e])=>e.replace(/[()+]/g,e=>`\\${e}`).replace(/ /g,`\\s+`)).join(`|`)})`,$C=RegExp(`^(${qC})\\s*(\\|\\||\\|o|\\}\\||\\}o)(--|\\.\\.|\\.-|-\\.)(\\|\\||o\\||\\|\\{|o\\{)\\s*(${qC})\\s*(?::\\s*(.*))?$`,`u`),ew=RegExp(`^(${qC})\\s+${QC}\\s+(to|optionally\\s+to)\\s+${QC}\\s+(${qC})\\s*(?::\\s*(.*))?$`,`iu`),tw=RegExp(`^(${qC})(?:\\[\\s*("[^"]*"|[^\\]"]*?)\\s*\\])?(?::::([\\w-]+))?\\s*(\\{\\s*\\}?)?$`,`u`);function nw(e){let t=e.toLowerCase().replace(/\s+/g,` `);return ZC.find(([e])=>e===t)[1]}function rw(e){return e.startsWith(`"`)?e.slice(1,-1):e}function iw(e){let t=(e??``).trim();return t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`)?t.slice(1,-1):t}function aw(e){let t=/^(\S+)\s+(\S+)(.*)$/u.exec(e.text);if(!t)throw new Y(`"${e.text}" is not an attribute`,e.line,e.column,`Write a type and a name: string firstName.`);let[,n,r,i]=t;if(!/^[\p{L}_*][\p{L}\p{N}_\-[\]().,~]*$/u.test(n))throw new Y(`"${n}" is not an attribute type`,e.line,e.column);let a=e.column+e.text.indexOf(r,n.length);if(!/^\*?[\p{L}_][\p{L}\p{N}_\-[\]().]*$/u.test(r))throw new Y(`"${r}" is not an attribute name`,e.line,a);let o=a+r.length,s=/^\s*((?:PK|FK|UK)(?:\s*,\s*(?:PK|FK|UK))*)?\s*(?:"([^"]*)")?\s*$/.exec(i);if(!s){let t=o+(i.length-i.trimStart().length);throw new Y(`"${i.trim()}" is not a key or a comment`,e.line,t,`After the name come keys (PK, FK, UK, comma-separated) and a "comment" in double quotes.`)}return{type:n,name:r,keys:s[1]?[...new Set(s[1].split(`,`).map(e=>e.trim()))]:[],comment:s[2]}}function ow(e){let t=ey(e),n=t[0];if(!n||n.text!==`erDiagram`)throw new Y(`An entity relationship diagram starts with "erDiagram"`,n?.line??1,n?.column??1);let r={type:`er`,direction:`TB`,entities:new Map,relationships:[],classDefs:new Map,accessibility:{}},i=[],a=[],o=e=>{let t=rw(e),n=r.entities.get(t);return n||(n={id:t,label:t,attributes:[],classes:[]},r.entities.set(t,n)),n};for(let e=1;e<t.length;e++){let n=t[e],s=n.text,c=ay(t,e,r.accessibility);if(c>0){e+=c-1;continue}let l=/^direction\s+(\w+)$/.exec(s);if(l){let e=KC[l[1].toUpperCase()];if(!e)throw new Y(`"${l[1]}" is not a direction`,n.line,n.column+10,`Use TB, BT, LR or RL.`);r.direction=e;continue}if(l=/^classDef\s+([\w,-]+)\s+(.+)$/.exec(s),l){let e=_y(l[2],n.line,n.column);for(let t of l[1].split(`,`))r.classDefs.set(t.trim(),e);continue}if(l=/^class\s+(.+?)\s+([\w-]+)$/.exec(s),l){i.push({ids:l[1].split(`,`).map(e=>rw(e.trim())),cls:l[2],s:n});continue}if(l=/^style\s+("[^"]*"|\S+)\s+(.+)$/.exec(s),l){a.push({id:rw(l[1]),style:_y(l[2],n.line,n.column),s:n});continue}if(l=$C.exec(s),l){r.relationships.push({from:o(l[1]).id,fromCardinality:JC[l[2]],identifying:XC[l[3]],toCardinality:YC[l[4]],to:o(l[5]).id,label:iw(l[6])});continue}if(l=ew.exec(s),l){r.relationships.push({from:o(l[1]).id,fromCardinality:nw(l[2]),identifying:l[3].toLowerCase()===`to`,toCardinality:nw(l[4]),to:o(l[5]).id,label:iw(l[6])});continue}if(l=tw.exec(s),l){let r=o(l[1]);l[2]!==void 0&&l[2]!==``&&(r.label=rw(l[2])),l[3]&&r.classes.push(l[3]);let i=l[4];if(i!==void 0&&!i.endsWith(`}`)){let i=e+1;for(;i<t.length&&t[i].text!==`}`;i++)r.attributes.push(aw(t[i]));if(i>=t.length)throw new Y(`The attributes of "${r.id}" are not closed`,n.line,n.column,`Add "}" on its own line.`);e=i}continue}let u=RegExp(`^(${qC})\\s*([|}{o.\\-=<>]{2,})`,`u`).exec(s);throw u?new Y(`"${u[2]}" is not a relationship`,n.line,n.column+s.indexOf(u[2],u[1].length),`Write a cardinality on each side of -- or ..: ||, |o, }|, }o on the left; ||, o|, |{, o{ on the right.`):s===`}`?new Y(`"}" without an open entity`,n.line,n.column):new Y(`"${s}" is not an entity relationship statement`,n.line,n.column)}for(let e of i)for(let t of e.ids){let n=r.entities.get(t);if(!n)throw new Y(`class refers to an unknown entity "${t}"`,e.s.line,e.s.column);n.classes.push(e.cls)}for(let e of a){let t=r.entities.get(e.id);if(!t)throw new Y(`style refers to an unknown entity "${e.id}"`,e.s.line,e.s.column);t.style=e.style}return r}var sw=26,cw=(e,t,n)=>t>n?(t+n)/2:Math.min(n,Math.max(t,e));function lw(e,t,n){let r=e.width/2,i=e.height/2,a=Math.min(16,r),o=Math.min(16,i),s=n===`TB`||n===`BT`,c=t.x-e.x,l=t.y-e.y;if(s?Math.abs(l)>i+.5:Math.abs(c)<=r+.5){let n=l<0?-1:1;return{point:{x:cw(t.x,e.x-r+a,e.x+r-a),y:e.y+n*i},normal:{x:0,y:n}}}let u=c<0?-1:1;return{point:{x:e.x+u*r,y:cw(t.y,e.y-i+o,e.y+i-o)},normal:{x:u,y:0}}}var uw=18,dw=9;function fw(e){let t=new Map;for(let n of e){let e=`${n.id}\u0000${n.at.normal.x},${n.at.normal.y}`,r=t.get(e)??[];r.push(n),t.set(e,r)}for(let e of t.values()){if(e.length<2)continue;let t=e[0].box,n=e[0].at.normal.x===0?`x`:`y`,r=(n===`x`?t.width:t.height)/2,i=t[n],a=i-r+Math.min(dw,r),o=i+r-Math.min(dw,r),s=Math.min(uw,(o-a)/(e.length-1));e.sort((e,t)=>e.at.point[n]-t.at.point[n]);let c=e.map(e=>e.at.point[n]);for(let e=1;e<c.length;e++)c[e]=Math.max(c[e],c[e-1]+s);c[c.length-1]=Math.min(c[c.length-1],o);for(let e=c.length-2;e>=0;e--)c[e]=Math.min(c[e],c[e+1]-s);c[0]=Math.max(c[0],a);for(let e=1;e<c.length;e++)c[e]=Math.max(c[e],c[e-1]+s);e.forEach((e,t)=>e.at.point={...e.at.point,[n]:c[t]})}}function pw(e,t){return{x:e.point.x+e.normal.x*t,y:e.point.y+e.normal.y*t}}function mw(e,t,n){let r=Math.hypot(n.point.x-e.point.x,n.point.y-e.point.y),i=Math.min(sw,r/3);return[e.point,pw(e,i/2),pw(e,i),...t,pw(n,i),pw(n,i/2),n.point]}var hw=48,gw=26;function _w(e,t,n){let r=t===`TB`||t===`BT`,i=n%2==0?1:-1,a=hw+Math.floor(n/2)*gw,o=(r?e.height:e.width)/2,s=Math.max(10,Math.min(18,o-8)),c=(t,n)=>r?{x:e.x+i*t,y:e.y+n}:{x:e.x+n,y:e.y+i*t},l=(r?e.width:e.height)/2,u=r?{x:i,y:0}:{x:0,y:i},d=[c(l,-s),c(l+a/2,-s),c(l+a,-s),c(l+a,s),c(l+a/2,s),c(l,s)];return{points:d,start:{point:d[0],normal:u},end:{point:d[5],normal:u},label:c(l+a+6,0),outward:u}}function vw(e,t){let n=t===`TB`||t===`BT`,r=new Map,i=new Map,a=new Map;return e.forEach((e,t)=>{if(e.from!==e.to)return;let o=a.get(e.from)??0;a.set(e.from,o+1),r.set(t,o);let s=hw+Math.floor(o/2)*gw,c=e.label?(n?e.label.width:e.label.height)+10:4;i.set(e.from,Math.max(i.get(e.from)??0,s+c))}),{loop:r,room:i}}function yw(e,t){return{x:e.label.x+e.outward.x*t.width/2,y:e.label.y+e.outward.y*t.height/2}}function bw(e){let{direction:t}=e,n=t===`TB`||t===`BT`,r=vw(e.edges,t),i=e.nodes.map(e=>{let t=r.room.get(e.id)??0;return n?{...e,width:e.width+t*2}:{...e,height:e.height+t*2}}),a=[];e.edges.forEach((e,t)=>{e.from!==e.to&&a.push({id:String(t),from:e.from,to:e.to,label:e.label})});let o=Nx({direction:t,nodes:i,edges:[...a,...e.extra??[]],clusters:e.clusters,nodeSep:e.nodeSep,rankSep:e.rankSep,clusterPadding:e.clusterPadding,transpose:!0});for(let t of e.nodes){let e=o.nodes.get(t.id);e&&o.nodes.set(t.id,{...e,width:t.width,height:t.height})}let s=[],c=e.edges.map((e,n)=>{let i=r.loop.get(n);if(i!==void 0){let n=_w(o.nodes.get(e.from),t,i);return{points:n.points,start:n.start,end:n.end,label:e.label?yw(n,e.label):void 0}}let a=o.edges.get(String(n));if(!a)return;let c=o.nodes.get(e.from),l=o.nodes.get(e.to),u=lw(c,a.points[0]??l,t),d=lw(l,a.points[a.points.length-1]??c,t);return s.push({id:e.from,box:c,at:u},{id:e.to,box:l,at:d}),{points:a.points,start:u,end:d,label:a.label}});return fw(s),c.forEach((e,t)=>{e&&!r.loop.has(t)&&(e.points=mw(e.start,e.points,e.end))}),{result:o,routes:c}}function xw(e,t){let n=e.width+8,r=e.height+4;return Q(`g`,{class:`dg-edge-label-group`},[Q(`rect`,{class:`dg-edge-label-box`,x:t.x-n/2,y:t.y-r/2,width:n,height:r,rx:3}),$(e,t.x,t.y,{className:`dg-edge-label`})])}function Sw(e){let t={},n={};for(let[r,i]of Object.entries(e))r===`fill`||r===`fill-opacity`?t[r]=i:n[r]=i;return{frame:by(n),band:by(t)}}function Cw(e,t,n,r,i,a){let o=e+n,s=t+r,c=new Rv().moveTo(e+i,t).lineTo(o-i,t);return i>0&&c.arcTo(i,i,0,!1,!0,o,t+i),c.lineTo(o,s-a),a>0&&c.arcTo(a,a,0,!1,!0,o-a,s),c.lineTo(e+a,s),a>0&&c.arcTo(a,a,0,!1,!0,e,s-a),c.lineTo(e,t+i),i>0&&c.arcTo(i,i,0,!1,!0,e+i,t),c.close().toString()}var ww={...X,size:13},Tw={...X,size:11,weight:`bold`},Ew={...X,weight:`bold`},Dw=12,Ow=5,kw=110,Aw={one:`er-one`,"zero-one":`er-zero-one`,"one-many":`er-one-many`,"zero-many":`er-zero-many`};function jw(e,t,n){return Qv(qv(Hv(e)),t,n)}function Mw(e,t){let n=Qv(Kv(e.label),Ew,t),r=e.attributes.map(e=>{let n={type:jw(e.type,ww,t),name:jw(e.name,ww,t)};return e.keys.length>0&&(n.keys=jw(e.keys.join(`, `),Tw,t)),e.comment&&(n.comment=jw(e.comment,{...ww,style:`italic`},t)),n}),i=n.height+18;if(r.length===0)return{header:n,rows:r,columns:{},headerHeight:i,rowHeight:0,width:Math.max(n.width+32,kw),height:i};let a=ww.size*1.25+10,o={},s=0;for(let e of[`type`,`name`,`keys`,`comment`]){let t=Math.max(0,...r.map(t=>t[e]?.width??-1));r.some(t=>t[e])&&(o[e]=s+Dw,s+=Dw+t)}return s+=Dw,{header:n,rows:r,columns:o,headerHeight:i,rowHeight:a,width:Math.max(s,n.width+32,kw),height:i+a*r.length}}function Nw(e,t){return yy(t.get(`default`),...e.classes.map(e=>t.get(e)),e.style)}function Pw(e,t,n,r){let i=n.x-n.width/2,a=n.y-n.height/2,o=by(r.shape),s=Sw(r.shape),c=by(r.text),l=[`dg-node`,`dg-entity`,...e.classes.map(e=>`dg-class-${e.replace(/[^\w-]/g,``)}`)].join(` `);if(t.rows.length===0)return Q(`g`,{class:l,"data-id":e.id},[Q(`rect`,{class:`dg-shape`,x:i,y:a,width:n.width,height:n.height,rx:Ow,style:o}),$(t.header,n.x,n.y,{className:`dg-label dg-entity-title`,style:c})]);let u=.75,d=n.width-u*2,f=[Q(`rect`,{class:`dg-shape dg-entity-box`,x:i,y:a,width:n.width,height:n.height,rx:Ow,style:s.frame}),Q(`path`,{class:`dg-entity-header`,d:Cw(i+u,a+u,d,t.headerHeight-u,4.25,0),style:s.band})];t.rows.forEach((e,n)=>{let r=a+t.headerHeight+n*t.rowHeight,o=n===t.rows.length-1;n%2==1&&f.push(Q(`path`,{class:`dg-entity-row-alt`,d:Cw(i+u,r,d,t.rowHeight-(o?u:0),0,o?4.25:0)}));let s=r+t.rowHeight/2;for(let n of[`type`,`name`,`keys`,`comment`]){let r=e[n],a=t.columns[n];r&&a!==void 0&&f.push($(r,i+a,s,{anchor:`start`,className:`dg-entity-${n}`}))}});let p=a+t.headerHeight;return f.push(Q(`line`,{class:`dg-entity-rule`,x1:i,y1:p,x2:i+n.width,y2:p,style:r.shape.stroke?`stroke:${r.shape.stroke}`:void 0}),$(t.header,n.x,a+t.headerHeight/2,{className:`dg-label dg-entity-title`,style:c})),Q(`g`,{class:l,"data-id":e.id},f)}function Fw(e,t,n,r){let i=new Map;for(let n of e.entities.values())i.set(n.id,Mw(n,t));let a=new Map,o=e.relationships.map((e,n)=>{let r;if(e.label.trim()!==``){let i=Qv(Kv(e.label),X,t);a.set(n,i),r={width:i.width+8,height:i.height+4}}return{from:e.from,to:e.to,label:r}}),s=[...e.entities.values()].map(e=>({id:e.id,width:i.get(e.id).width,height:i.get(e.id).height})),{result:c,routes:l}=bw({direction:e.direction,nodes:s,edges:o,nodeSep:50,rankSep:84}),u=[],d=[],f=[];e.relationships.forEach((e,t)=>{let r=l[t];if(!r)return;let i=Aw[e.fromCardinality],o=Aw[e.toCardinality];u.push(i,o),d.push(Q(`path`,{class:e.identifying?`dg-edge`:`dg-edge dg-edge-dashed`,d:Lb(r.points),"marker-start":`url(#${Rb(n,i,!0)})`,"marker-end":`url(#${Rb(n,o)})`,"data-from":e.from,"data-to":e.to}));let s=a.get(t);s&&r.label&&f.push(xw(s,r.label))});let p=[...e.entities.values()].map(t=>Pw(t,i.get(t.id),c.nodes.get(t.id),Nw(t,e.classDefs))),m=`#${n}`,h=[`${m} .dg-entity .dg-entity-box{fill:${Z(`--dg-row-fill`)}}`,`${m} .dg-entity-title{font-weight:bold}`,`${m} .dg-entity-header{fill:${Z(`--dg-node-fill`)};stroke:none}`,`${m} .dg-entity-row-alt{fill:${Z(`--dg-row-alt-fill`)};stroke:none}`,`${m} .dg-entity-rule{stroke:${Z(`--dg-node-stroke`)};stroke-width:1px}`,`${m} .dg-entity-type,${m} .dg-entity-comment{fill:${Z(`--dg-text-muted`)}}`,`${m} .dg-entity-type,${m} .dg-entity-name,${m} .dg-entity-comment{font-size:${ww.size}px}`,`${m} .dg-entity-comment{font-style:italic}`,`${m} .dg-entity-keys{fill:${Z(`--dg-node-stroke`)};font-size:${Tw.size}px;font-weight:bold}`,`${m} .dg-edge-dashed{stroke-dasharray:6 4}`].join(``);return zv({id:n,type:`er`,width:c.width,height:c.height,title:r??e.accessibility.title??`Entity relationship diagram`,description:e.accessibility.description,defs:zb(n,u),body:[Q(`g`,{class:`dg-edges`},d),Q(`g`,{class:`dg-edge-labels`},f),Q(`g`,{class:`dg-nodes`},p)],css:h})}var Iw={TB:`TB`,TD:`TB`,BT:`BT`,LR:`LR`,RL:`RL`},Lw=`[\\p{L}\\p{N}_](?:[\\p{L}\\p{N}_]|-(?=[\\p{L}\\p{N}_]))*`,Rw=`~([^~\\s{]+(?:~[^~\\s{]*~)?[^~\\s{]*)~`,zw={"<|":`inheritance`,"*":`composition`,o:`aggregation`,"<":`arrow`},Bw={"|>":`inheritance`,"*":`composition`,o:`aggregation`,">":`arrow`},Vw=RegExp(`^(${Lw})\\s*(?:"([^"]*)"\\s*)?(<\\||\\*|o|<)?(--|\\.\\.)(\\|>|\\*|o|>)?\\s*(?:"([^"]*)"\\s*)?(${Lw})\\s*(?::\\s*(.*))?$`,`u`),Hw=RegExp(`^class\\s+(${Lw})(?:${Rw})?(?:\\s*\\[\\s*"([^"]*)"\\s*\\])?(?::::([\\w-]+))?(?:\\s*<<\\s*([^>]+?)\\s*>>)?\\s*(\\{\\s*\\}?)?$`,`u`),Uw=RegExp(`^<<\\s*([^>]+?)\\s*>>\\s*(${Lw})$`,`u`),Ww=RegExp(`^(${Lw})\\s*:\\s*(.+)$`,`u`),Gw=`(_blank|_self|_parent|_top)`;function Kw(e){let t=``,n=0;for(let r=0;r<e.length;r++){let i=e[r];if(i!==`~`){t+=i;continue}let a=e[r-1]??``,o=e[r+1]??``;/[\p{L}\p{N}_\]]/u.test(a)&&/[\p{L}\p{N}_[(]/u.test(o)||n===0?(t+=`<`,n++):(t+=`>`,n--)}return t+`>`.repeat(Math.max(0,n))}function qw(e){let t=e.trim(),n;/^[+\-#~]/.test(t)&&(n=t[0],t=t.slice(1).trim());let r=n??``,i=e=>e===`$`?`static`:`abstract`,a=t.indexOf(`(`),o=t.lastIndexOf(`)`);if(a>=0&&o>a){let e=t.slice(0,a).trim(),s=t.slice(a+1,o).trim(),c=t.slice(o+1).trim(),l;/^[$*]/.test(c)?(l=i(c[0]),c=c.slice(1).trim()):/[$*]$/.test(c)&&(l=i(c[c.length-1]),c=c.slice(0,-1).trim());let u=c.replace(/^:\s*/,``);return{kind:`method`,text:`${r}${Kw(e)}(${Kw(s)})${u?` : ${Kw(u)}`:``}`,visibility:n,classifier:l}}let s;return/[$*]$/.test(t)&&(s=i(t[t.length-1]),t=t.slice(0,-1).trim()),{kind:`attribute`,text:`${r}${Kw(t)}`,visibility:n,classifier:s}}function Jw(e){let t=ey(e),n=t[0];if(!n||!/^classDiagram(-v2)?$/.test(n.text))throw new Y(`A class diagram starts with "classDiagram"`,n?.line??1,n?.column??1);let r={type:`class`,direction:`TB`,classes:new Map,relations:[],notes:[],namespaces:new Map,classDefs:new Map,accessibility:{}},i=[],a=[],o=[],s=[],c=null,l=e=>{let t=r.classes.get(e);return t||(t={id:e,label:e,annotations:[],attributes:[],methods:[],classes:[]},r.classes.set(e,t)),c&&!t.namespace&&(t.namespace=c.id),t},u=(e,t,n)=>{let r=/^<<\s*([^>]+?)\s*>>$/.exec(t);if(r){e.annotations.push(r[1]);return}if(t.startsWith(`<<`))throw new Y(`"${t}" is not an annotation`,n.line,n.column,`Write <<interface>> on its own line.`);let i=qw(t);i.kind===`method`?e.methods.push(i):e.attributes.push(i)};for(let e=1;e<t.length;e++){let n=t[e],d=n.text,f=ay(t,e,r.accessibility);if(f>0){e+=f-1;continue}if(d===`}`){if(!c)throw new Y(`"}" without an open class or namespace`,n.line,n.column);c=null;continue}let p=/^namespace\s+(\S+?)\s*\{$/u.exec(d);if(p){if(c)throw new Y(`Namespaces do not nest`,n.line,n.column,`Close the namespace before opening another, or use a dotted name: namespace A.B {`);if(!/^[\p{L}\p{N}_][\p{L}\p{N}_.-]*$/u.test(p[1]))throw new Y(`"${p[1]}" is not a namespace name`,n.line,n.column+10);c={id:p[1],s:n},r.namespaces.has(p[1])||r.namespaces.set(p[1],{id:p[1]});continue}if(p=/^direction\s+(\w+)$/.exec(d),p){let e=Iw[p[1].toUpperCase()];if(!e)throw new Y(`"${p[1]}" is not a direction`,n.line,n.column+10,`Use TB, BT, LR or RL.`);r.direction=e;continue}if(/^class\s+`/.test(d))throw new Y(`Class names in backquotes are not supported`,n.line,n.column+6,`Give the class an id and a label: class Animal["Animal Class!"].`);if(p=Hw.exec(d),p){let r=l(p[1]);if(p[2]!==void 0&&(r.generic=p[2],r.label=`${r.id}<${Kw(p[2])}>`),p[3]!==void 0&&(r.label=p[3]),p[4]&&r.classes.push(p[4]),p[5]&&r.annotations.push(p[5]),p[6]!==void 0&&!p[6].endsWith(`}`)){let i=e+1;for(;i<t.length&&t[i].text!==`}`;i++)u(r,t[i].text,t[i]);if(i>=t.length)throw new Y(`The body of class "${r.id}" is not closed`,n.line,n.column,`Add "}" on its own line.`);e=i}continue}if(/^class\s/.test(d))throw new Y(`"${d}" is not a class declaration`,n.line,n.column,`Write class Name, class Name~T~, class Name["Label"] or class Name {.`);if(p=Uw.exec(d),p){l(p[2]).annotations.push(p[1]);continue}if(c)throw new Y(`Only class declarations go inside a namespace`,n.line,n.column,`Write relationships, notes and members ("Class : member") after the namespace block.`);if(p=/^classDef\s+([\w,-]+)\s+(.+)$/.exec(d),p){let e=_y(p[2],n.line,n.column);for(let t of p[1].split(`,`))r.classDefs.set(t.trim(),e);continue}if(p=/^cssClass\s+("[^"]*"|\S+)\s+([\w-]+)$/.exec(d),p){let e=p[1].replace(/^"|"$/g,``).split(`,`).map(e=>e.trim()).filter(Boolean);i.push({ids:e,cls:p[2],s:n});continue}if(p=RegExp(`^style\\s+(${Lw})\\s+(.+)$`,`u`).exec(d),p){a.push({id:p[1],style:_y(p[2],n.line,n.column),s:n});continue}if(p=RegExp(`^(?:click\\s+(${Lw})\\s+href|link\\s+(${Lw}))\\s+"([^"]*)"(?:\\s+"([^"]*)")?(?:\\s+${Gw})?$`,`u`).exec(d),p){o.push({id:p[1]??p[2],href:p[3],tooltip:p[4],target:p[5],s:n});continue}if(/^callback\s/.test(d)||RegExp(`^click\\s+${Lw}\\s+call\\s`,`u`).test(d))continue;if(/^(click|link)\s/.test(d))throw new Y(`"${d}" is not a link`,n.line,n.column,`Write click Name href "url" or link Name "url".`);if(p=/^note\s+for\s+(\S+)\s+"(.*)"$/u.exec(d),p){r.notes.push({target:p[1],text:p[2].replace(/\\n/g,`
|
|
10
|
+
`),i=!1;return r.forEach((e,r)=>{let a=r+1;if(i){e.includes(`}%%`)&&(i=!1);return}if(e.trimStart().startsWith(`%%{`)){e.includes(`}%%`)||(i=!0);return}let o=ty(e),s=t.semicolons?ry(o):[{text:o,offset:0}];for(let e of s){let t=e.text.length-e.text.trimStart().length,r=e.text.trim();r.length!==0&&n.push({text:r,line:a,column:e.offset+t+1})}}),n}function ry(e){let t=[],n=0,r=!1,i=0;for(let a=0;a<e.length;a++){let o=e[a];o===`"`&&(r=!r),!r&&(`([{`.includes(o)?n++:`)]}`.includes(o)?n=Math.max(0,n-1):o===`;`&&n===0&&(t.push({text:e.slice(i,a),offset:i}),i=a+1))}return t.push({text:e.slice(i),offset:i}),t}function iy(e){let t=ny(e)[0];if(!t)return null;let n=/^([A-Za-z][\w-]*)\s*(.*)$/.exec(t.text);return n?{keyword:n[1],rest:n[2].trim(),statement:t}:null}var ay=class{constructor(e,t=e.text){this.statement=e,this.text=t,this.pos=0}get done(){return this.pos>=this.text.length}peek(e=0){return this.text[this.pos+e]??``}rest(){return this.text.slice(this.pos)}skipSpaces(){for(;!this.done&&/\s/.test(this.text[this.pos]);)this.pos++}startsWith(e){return this.text.startsWith(e,this.pos)}eat(e){return this.startsWith(e)?(this.pos+=e.length,!0):!1}match(e){let t=new RegExp(e.source,e.flags.replace(`g`,``)+`y`);t.lastIndex=this.pos;let n=t.exec(this.text);return n&&(this.pos+=n[0].length),n}column(e=this.pos){return this.statement.column+e}error(e,t,n=this.pos){return new Y(e,this.statement.line,this.column(n),t)}};function oy(e){let t=e.trim();return t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`)?t.slice(1,-1):t}function sy(e,t,n){let r=e[t],i=/^accTitle\s*:\s*(.*)$/.exec(r.text);if(i)return n.title=i[1].trim(),1;if(i=/^accDescr\s*:\s*(.*)$/.exec(r.text),i)return n.description=i[1].trim(),1;if(i=/^accDescr\s*\{\s*(.*)$/.exec(r.text),i){let r=[],a=i[1],o=t;for(;;){let t=a.indexOf(`}`);if(t>=0){r.push(a.slice(0,t));break}if(r.push(a),o++,o>=e.length)break;a=e[o].text}return n.description=r.map(e=>e.trim()).filter(Boolean).join(` `),o-t+1}return 0}function cy(e){let t=ny(e),n=t[0];if(!n||!/^pie\b/.test(n.text))throw new Y(`A pie chart starts with "pie"`,n?.line??1,1);let r={type:`pie`,showData:!1,slices:[],accessibility:{}},i=n.text.slice(3).trim();if(/^showData\b/.test(i)&&(r.showData=!0,i=i.slice(8).trim()),/^title\b/.test(i))r.title=i.slice(5).trim();else if(i!==``)throw new Y(`Unexpected "${i}" after "pie"`,n.line,n.column+4);for(let e=1;e<t.length;e++){let n=t[e],i=sy(t,e,r.accessibility);if(i>0){e+=i-1;continue}if(/^title\b/.test(n.text)){r.title=n.text.slice(5).trim();continue}if(/^showData$/.test(n.text)){r.showData=!0;continue}let a=/^("(?:[^"]*)"|'(?:[^']*)')\s*:\s*(-?[0-9]+(?:\.[0-9]+)?)\s*$/.exec(n.text);if(!a)throw new Y(`"${n.text}" is not a slice`,n.line,n.column,`Write "Label" : 42`);let o=Number(a[2]);if(o<0)throw new Y(`A slice cannot be negative`,n.line,n.column);r.slices.push({label:oy(a[1].replace(/^'|'$/g,`"`)),value:o})}if(r.slices.length===0)throw new Y(`The pie chart has no slices`,0,0,`Add lines like "Label" : 42`);return r}var ly=130,uy=14;function dy(e){return String(Number.isInteger(e)?e:Math.round(e*100)/100)}function fy(e,t,n,r){let i=e.slices.reduce((e,t)=>e+t.value,0);if(i<=0)throw new Y(`All slices are zero`,0,0);let a={...X,size:18,weight:`bold`},o=e.title?ey(Yv(e.title),a,t):null,s=o?o.height+16:0,c=ly,l=s+ly,u=[],d=[],f=[],p=-Math.PI/2,m=e.slices.filter(e=>e.value>0);e.slices.forEach((e,n)=>{if(e.value<=0)return;let r=e.value/i,a=r*Math.PI*2,o=jv(n);if(m.length===1)d.push(Q(`circle`,{class:`dg-pie-slice`,cx:c,cy:l,r:ly,style:`fill:${o}`}));else{let e=p,t=p+a,n=new Bv().moveTo(c,l).lineTo(c+ly*Math.cos(e),l+ly*Math.sin(e)).arcTo(ly,ly,0,a>Math.PI,!0,c+ly*Math.cos(t),l+ly*Math.sin(t)).close();d.push(Q(`path`,{class:`dg-pie-slice`,d:n.toString(),style:`fill:${o}`}))}if(r>=.03){let e=p+a/2,n=m.length===1?0:ly*.68,i=`${Math.round(r*1e3)/10}%`;f.push($(ey(Yv(i),X,t),c+n*Math.cos(e),l+n*Math.sin(e),{className:`dg-pie-percent`}))}p+=a});let h=e.slices.length*22,g=l-h/2,_=0,v=e.slices.map((n,r)=>{let i=ey(Jv(e.showData?`${n.label} [${dy(n.value)}]`:n.label),X,t);_=Math.max(_,22+i.width);let a=g+r*22+11;return Q(`g`,{class:`dg-pie-legend-item`},[Q(`rect`,{x:288,y:a-uy/2,width:uy,height:uy,rx:3,style:`fill:${jv(r)}`}),$(i,310,a,{anchor:`start`,className:`dg-pie-legend`})])}),y=288+_,b=Math.max(l+ly,g+h);o&&e.title&&u.push($(o,y/2,o.height/2,{className:`dg-title`})),u.push(Q(`g`,{class:`dg-pie-slices`},d),Q(`g`,{},f),Q(`g`,{},v));let x=[`#${n} .dg-pie-slice{stroke:${Z(`--dg-pie-stroke`)};stroke-width:2px}`,`#${n} .dg-pie-percent{fill:${Z(`--dg-pie-text`)};font-weight:600}`,`#${n} .dg-pie-legend{fill:${Z(`--dg-text`)}}`,`#${n} .dg-title{fill:${Z(`--dg-text`)};font-size:18px;font-weight:bold}`].join(``);return Vv({id:n,type:`pie`,width:y,height:b,title:r??e.accessibility.title??e.title??`Pie chart`,description:e.accessibility.description,body:u,css:x})}var py=/^(#[0-9a-fA-F]{3,4}|#[0-9a-fA-F]{6}|#[0-9a-fA-F]{8}|(rgb|rgba|hsl|hsla)\(\s*[0-9.]+%?\s*,\s*[0-9.]+%?\s*,\s*[0-9.]+%?\s*(,\s*[0-9.]+%?\s*)?\)|[a-zA-Z]{3,20})$/,my=/^[0-9]+(\.[0-9]+)?(px|em)?$/,hy=/^[0-9.]+([\s,]+[0-9.]+)*$/,gy=/^(0(\.[0-9]+)?|1(\.0+)?)$/,_y={fill:py,stroke:py,"stroke-width":my,"stroke-dasharray":hy,opacity:gy,"fill-opacity":gy,"stroke-opacity":gy},vy={color:py,"font-weight":/^(normal|bold|[1-9]00)$/,"font-style":/^(normal|italic)$/,"font-size":my};function yy(e,t=0,n=0){let r={shape:{},text:{}};for(let i of by(e)){let e=i.trim();if(e===``)continue;let a=e.indexOf(`:`);if(a<0)throw new Y(`"${e}" is not a style declaration`,t,n,`Write property:value.`);let o=e.slice(0,a).trim().toLowerCase(),s=e.slice(a+1).trim().replace(/\s*!important$/,``),c=_y[o],l=vy[o];if(!c&&!l)throw new Y(`The style property "${o}" is not supported`,t,n,`Supported: ${[...Object.keys(_y),...Object.keys(vy)].join(`, `)}.`);if(!(c??l).test(s))throw new Y(`"${s}" is not a valid value for ${o}`,t,n);c?r.shape[o]=s:r.text[o===`color`?`fill`:o]=s}return r}function by(e){let t=[],n=0,r=0;for(let i=0;i<e.length;i++){let a=e[i];a===`(`?n++:a===`)`?n=Math.max(0,n-1):(a===`,`||a===`;`)&&n===0&&(t.push(e.slice(r,i)),r=i+1)}return t.push(e.slice(r)),t}function xy(...e){let t={shape:{},text:{}};for(let n of e)n&&(Object.assign(t.shape,n.shape),Object.assign(t.text,n.text));return t}function Sy(e){let t=Object.entries(e);if(t.length!==0)return t.map(([e,t])=>`${e}:${t}`).join(`;`)}function Cy(e){let t=e.trim();return/^(https?:|mailto:)/i.test(t)?t:/^[a-z][a-z0-9+.-]*:/i.test(t)||t.startsWith(`//`)?null:t}var wy=1e3,Ty=60*wy,Ey=60*Ty,Dy=24*Ey,Oy=7*Dy,ky=[`January`,`February`,`March`,`April`,`May`,`June`,`July`,`August`,`September`,`October`,`November`,`December`],Ay=[`Sunday`,`Monday`,`Tuesday`,`Wednesday`,`Thursday`,`Friday`,`Saturday`],jy=Object.fromEntries(Ay.map((e,t)=>[e.toLowerCase(),t])),My=[[`YYYY`,`year`,`(\\d{4})`],[`SSS`,`ms`,`(\\d{3})`],[`YY`,`year2`,`(\\d{2})`],[`MM`,`month`,`(\\d{2})`],[`DD`,`day`,`(\\d{2})`],[`HH`,`hour`,`(\\d{2})`],[`mm`,`minute`,`(\\d{2})`],[`ss`,`second`,`(\\d{2})`],[`M`,`month`,`(\\d{1,2})`],[`D`,`day`,`(\\d{1,2})`],[`H`,`hour`,`(\\d{1,2})`],[`m`,`minute`,`(\\d{1,2})`],[`s`,`second`,`(\\d{1,2})`],[`X`,`unix`,`(\\d+(?:\\.\\d+)?)`],[`x`,`unixMs`,`(\\d+)`]],Ny=[`MMMM`,`MMM`,`dddd`,`ddd`,`dd`,`Do`,`hh`,`A`,`a`,`ZZ`,`Z`,`Q`,`w`,`W`,`k`,`h`,`d`],Py=class extends Error{};function Fy(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Iy(e){let t=[],n=0;outer:for(;n<e.length;){if(e[n]===`[`){let r=e.indexOf(`]`,n);if(r>n){t.push({pattern:Fy(e.slice(n+1,r)),literal:``}),n=r+1;continue}}for(let t of Ny)if(e.startsWith(t,n))throw new Py(`The date token "${t}" is not supported`);for(let[r,i,a]of My)if(e.startsWith(r,n)){t.push({field:i,pattern:a}),n+=r.length;continue outer}t.push({pattern:Fy(e[n]),literal:e[n]}),n++}return{source:e,regex:RegExp(`^${t.map(e=>e.pattern).join(``)}$`),fields:t.filter(e=>e.field).map(e=>e.field)}}function Ly(e,t){return new Date(Date.UTC(e,t+1,0)).getUTCDate()}function Ry(e,t){let n=t.regex.exec(e.trim());if(!n)return null;let r=1970,i=1,a=1,o=0,s=0,c=0,l=0;for(let e=0;e<t.fields.length;e++){let u=n[e+1],d=Number(u);switch(t.fields[e]){case`unix`:return Math.round(d*1e3);case`unixMs`:return d;case`year`:r=d;break;case`year2`:r=2e3+d;break;case`month`:i=d;break;case`day`:a=d;break;case`hour`:o=d;break;case`minute`:s=d;break;case`second`:c=d;break;case`ms`:l=d}}return i<1||i>12||a<1||a>Ly(r,i-1)||o>23||s>59||c>59?null:Date.UTC(r,i-1,a,o,s,c,l)}var zy=/^(\d+(?:\.\d+)?)(ms|[smhdwMy])$/;function By(e){let t=zy.exec(e.trim());return t?{amount:Number(t[1]),unit:t[2]}:null}function Vy(e,t){let{amount:n,unit:r}=t;switch(r){case`ms`:return e+n;case`s`:return e+n*wy;case`m`:return e+n*Ty;case`h`:return e+n*Ey;case`d`:return e+n*Dy;case`w`:return e+n*Oy;case`M`:return Hy(e,n);case`y`:return Hy(e,n*12)}}function Hy(e,t){let n=Math.trunc(t),r=new Date(e),i=r.getUTCMonth()+n,a=r.getUTCFullYear()+Math.floor(i/12),o=(i%12+12)%12,s=Math.min(r.getUTCDate(),Ly(a,o));return Date.UTC(a,o,s,r.getUTCHours(),r.getUTCMinutes(),r.getUTCSeconds(),r.getUTCMilliseconds())+(t-n)*30*Dy}function Uy(e){return Math.floor(e/Dy)*Dy}function Wy(e){return new Date(e).getUTCDay()}function Gy(e){return new Date(Uy(e)).toISOString().slice(0,10)}function Ky(e,t,n){let r=String(e);return r.length>=t?r:n.repeat(t-r.length)+r}var qy=`aAbBdeHIjLmMpSuwyY%`;function Jy(e){for(let t=0;t<e.length;t++){if(e[t]!==`%`)continue;let n=t+1;`-_0`.includes(e[n]??``)&&n++;let r=e[n];if(!r||!qy.includes(r))return e.slice(t,n+1);t=n}return null}function Yy(e,t){let n=new Date(e),r=``;for(let i=0;i<t.length;i++){let a=t[i];if(a!==`%`){r+=a;continue}let o=null,s=t[i+1]??``;`-_0`.includes(s)&&s!==``&&(o=s,s=t[i+2]??``,i++),i++;let c=(e,t,n)=>o===`-`?String(e):Ky(e,t,o===`_`?` `:o===`0`?`0`:n);switch(s){case`Y`:r+=String(n.getUTCFullYear());break;case`y`:r+=c(n.getUTCFullYear()%100,2,`0`);break;case`m`:r+=c(n.getUTCMonth()+1,2,`0`);break;case`d`:r+=c(n.getUTCDate(),2,`0`);break;case`e`:r+=c(n.getUTCDate(),2,` `);break;case`H`:r+=c(n.getUTCHours(),2,`0`);break;case`I`:r+=c(n.getUTCHours()%12||12,2,`0`);break;case`M`:r+=c(n.getUTCMinutes(),2,`0`);break;case`S`:r+=c(n.getUTCSeconds(),2,`0`);break;case`L`:r+=c(n.getUTCMilliseconds(),3,`0`);break;case`p`:r+=n.getUTCHours()<12?`AM`:`PM`;break;case`j`:{let t=Date.UTC(n.getUTCFullYear(),0,1);r+=c(Math.floor((Uy(e)-t)/Dy)+1,3,`0`);break}case`a`:r+=Ay[n.getUTCDay()].slice(0,3);break;case`A`:r+=Ay[n.getUTCDay()];break;case`b`:r+=ky[n.getUTCMonth()].slice(0,3);break;case`B`:r+=ky[n.getUTCMonth()];break;case`w`:r+=String(n.getUTCDay());break;case`u`:r+=String(n.getUTCDay()||7);break;case`%`:r+=`%`;break;default:r+=`%${s}`}}return r}var Xy={millisecond:`ms`,second:`s`,minute:`m`,hour:`h`,day:`d`,week:`w`,month:`M`};function Zy(e){let t=/^([1-9][0-9]*)(millisecond|second|minute|hour|day|week|month)$/.exec(e.trim());return t?{step:Number(t[1]),unit:Xy[t[2]]}:null}var Qy={ms:1,s:wy,m:Ty,h:Ey,d:Dy,w:Oy};function $y(e){return e.unit===`M`?e.step*30*Dy:e.step*Qy[e.unit]}function eb(e,t,n,r=1e3){let i=[];if(n.unit===`M`){let a=new Date(e),o=a.getUTCFullYear(),s=a.getUTCMonth();s-=s%n.step;let c=Date.UTC(o,s,1);for(;c<=t&&i.length<r;)c>=e&&i.push(c),s+=n.step,o+=Math.floor(s/12),s%=12,c=Date.UTC(o,s,1);return i}let a=Qy[n.unit]*n.step,o;if(n.unit===`w`){let t=Uy(e);o=t-Wy(t)*Dy}else o=n.unit===`d`?Uy(e):Math.floor(e/a)*a;for(;o<e;)o+=a;for(;o<=t&&i.length<r;)i.push(o),o+=a;return i}var tb=[{unit:`s`,step:1},{unit:`s`,step:5},{unit:`s`,step:15},{unit:`s`,step:30},{unit:`m`,step:1},{unit:`m`,step:5},{unit:`m`,step:15},{unit:`m`,step:30},{unit:`h`,step:1},{unit:`h`,step:3},{unit:`h`,step:6},{unit:`h`,step:12},{unit:`d`,step:1},{unit:`d`,step:2},{unit:`w`,step:1},{unit:`w`,step:2},{unit:`M`,step:1},{unit:`M`,step:3},{unit:`M`,step:6},{unit:`M`,step:12},{unit:`M`,step:24},{unit:`M`,step:60}],nb=[`done`,`active`,`crit`,`milestone`],rb=new Set([`title`,`dateFormat`,`axisFormat`,`tickInterval`,`excludes`,`includes`,`weekend`,`todayMarker`,`topAxis`,`inclusiveEndDates`,`section`,`click`,`displayMode`]);function ib(e){let t=ny(e),n=t[0];if(!n||!/^gantt$/.test(n.text))throw new Y(`A gantt chart starts with "gantt"`,n?.line??1,n?.column??1);let r={type:`gantt`,dateFormat:`YYYY-MM-DD`,axisFormat:`%Y-%m-%d`,axisFormatSet:!1,excludes:[],includes:[],todayMarker:`on`,topAxis:!1,inclusiveEndDates:!1,sections:[],tasks:[],excludedRanges:[],accessibility:{}},i=[6,0],a=n,o=[],s=[],c=``,l=0,u=new Map;for(let e=1;e<t.length;e++){let n=t[e],d=sy(t,e,r.accessibility);if(d>0){e+=d-1;continue}let f=/^([A-Za-z]+)(?:\s+(.*))?$/.exec(n.text),p=f?.[1]??``,m=(f?.[2]??``).trim();if(rb.has(p)||!n.text.includes(`:`))switch(p){case`title`:r.title=Wv(m);continue;case`dateFormat`:r.dateFormat=m,a=n;continue;case`axisFormat`:if(Jy(m))throw new Y(`The axis format directive "${Jy(m)}" is not supported`,n.line,n.column,`Supported: %Y %y %m %d %e %H %I %M %S %L %p %j %a %A %b %B %w %u %%.`);r.axisFormat=m,r.axisFormatSet=!0;continue;case`tickInterval`:{let e=Zy(m);if(!e)throw new Y(`"${m}" is not a tick interval`,n.line,n.column,`Write e.g. 1day, 2week, 1month.`);r.tickInterval=e;continue}case`excludes`:for(let e of ab(m))r.excludes.push(e),u.set(e,n);continue;case`includes`:r.includes.push(...ab(m));continue;case`weekend`:if(m===`friday`)i=[5,6];else if(m===`saturday`)i=[6,0];else throw new Y(`"${m}" cannot start a weekend`,n.line,n.column,`Write friday or saturday.`);continue;case`todayMarker`:r.todayMarker=m===``?`on`:m;continue;case`topAxis`:r.topAxis=!0;continue;case`inclusiveEndDates`:r.inclusiveEndDates=!0;continue;case`section`:c=Wv(m);continue;case`click`:{let e=/^(\S+)\s+href\s+("[^"]*"|\S+)\s*$/.exec(m);if(!e)throw new Y(`Only "click <id> href <url>" is supported`,n.line,n.column,`Callbacks are not run: a diagram cannot execute code.`);let t=Cy(oy(e[2]));if(t===null)throw new Y(`The link "${oy(e[2])}" is not allowed`,n.line,n.column,`Use http(s), mailto or a relative link.`);for(let r of e[1].split(`,`))s.push({id:r.trim(),href:t,statement:n});continue}case`displayMode`:throw new Y(`displayMode is not supported`,n.line,n.column,`Remove the line; every task gets its own row.`);default:throw new Y(`"${n.text}" is not a task`,n.line,n.column,`Write: Task name : 2024-01-01, 3d`)}let h=n.text.indexOf(`:`),g=Wv(n.text.slice(0,h).trim());if(g===``)throw new Y(`The task has no name`,n.line,n.column);let _=n.text.slice(h+1).split(`,`).map(e=>e.trim()),v={done:!1,active:!1,crit:!1,milestone:!1};for(;_.length>0&&nb.includes(_[0]);)v[_.shift()]=!0;if(_.some(e=>e===``))throw new Y(`The task has an empty item`,n.line,n.column+h+1);let y=`task${++l}`,b=null,x;if(_.length===1)x=_[0];else if(_.length===2)b=_[0],x=_[1];else if(_.length===3)y=_[0],b=_[1],x=_[2];else throw new Y(_.length===0?`The task has no dates`:`The task has too many items`,n.line,n.column+h+1,`Write: [tags,] [id,] [start,] end or duration`);if(/\s/.test(y))throw new Y(`"${y}" cannot be a task id: it contains a space`,n.line,n.column+h+1);if(o.some(e=>e.id===y))throw new Y(`The task id "${y}" is used twice`,n.line,n.column+h+1);if(b===null&&o.length===0)throw new Y(`The first task needs a start date`,n.line,n.column+h+1,`Write: Task : 2024-01-01, 3d`);o.push({id:y,name:g,section:c,tags:v,startSpec:b,endSpec:x,statement:n})}let d;try{d=Iy(r.dateFormat)}catch(e){throw e instanceof Py?new Y(e.message,a.line,a.column):e}let f=ob(r,d,i,u),p=new Map(o.map(e=>[e.id,e]));o.forEach((e,t)=>cb(e,t,o,p,d,r,f));for(let e of s){let t=p.get(e.id);if(!t)throw new Y(`No task has the id "${e.id}"`,e.statement.line,e.statement.column);t.href=e.href}for(let e of o)r.sections.includes(e.section)||r.sections.push(e.section),r.tasks.push({id:e.id,name:e.name,section:e.section,tags:e.tags,start:e.start,end:e.end,renderEnd:e.renderEnd,href:e.href,line:e.statement.line});if(f&&r.tasks.length>0){let e=Uy(Math.min(...r.tasks.map(e=>e.start))),t=Math.max(...r.tasks.map(e=>e.end));for(let n=e;n<t&&n<e+316224e6;n+=Dy){if(!f(n))continue;let e=r.excludedRanges[r.excludedRanges.length-1];e&&e.end===n?e.end=n+Dy:r.excludedRanges.push({start:n,end:n+Dy})}}return r}function ab(e){return e.split(/[\s,]+/).map(e=>e.trim().toLowerCase()).filter(Boolean)}function ob(e,t,n,r){if(e.excludes.length===0)return null;let i=new Set,a=new Set,o=Iy(`YYYY-MM-DD`),s=e=>{let n=Ry(e,t)??Ry(e,o);return n===null?null:Gy(n)};for(let t of e.excludes)if(t===`weekends`)i.add(n[0]),i.add(n[1]);else if(t in jy)i.add(jy[t]);else{let e=s(t);if(e===null){let e=r.get(t);throw new Y(`"${t}" in excludes is neither a weekday nor a date`,e?.line??0,e?.column??0)}a.add(e)}let c=new Set(e.includes.map(s).filter(e=>e!==null));return e=>{let t=Gy(e);return c.has(t)?!1:i.has(Wy(e))||a.has(t)}}function sb(e,t,n,r){let i=e.statement.text.indexOf(`:`),a=r?e.statement.text.indexOf(r,i):-1;return new Y(t,e.statement.line,e.statement.column+(a>=0?a:i+1),n)}function cb(e,t,n,r,i,a,o){if(e.end!==void 0)return;if(e.resolving)throw sb(e,`The task "${e.name}" depends on itself through "after" or "until"`);e.resolving=!0;let s=t=>{let s=r.get(t);if(!s)throw sb(e,`No task has the id "${t}"`,void 0,t);return cb(s,n.indexOf(s),n,r,i,a,o),s},c;if(e.startSpec===null){let e=n[t-1];cb(e,t-1,n,r,i,a,o),c=e.end}else if(/^after\s/.test(e.startSpec)){let t=e.startSpec.slice(5).trim().split(/\s+/);c=Math.max(...t.map(e=>s(e).end))}else{let t=Ry(e.startSpec,i);if(t===null)throw sb(e,`"${e.startSpec}" is not a date in the format ${i.source}`,void 0,e.startSpec);c=t}let l,u=!1,d=By(e.endSpec);if(d)l=Vy(c,d);else if(/^until\s/.test(e.endSpec)){let t=e.endSpec.slice(5).trim().split(/\s+/);l=Math.min(...t.map(e=>s(e).start)),u=!0}else{let t=Ry(e.endSpec,i);if(t===null)throw sb(e,`"${e.endSpec}" is neither a duration nor a date in the format ${i.source}`,`Durations: 3d, 2w, 4h, 30m, 1M.`,e.endSpec);l=a.inclusiveEndDates?t+Dy:t,u=!0}if(l<c)throw sb(e,`The task "${e.name}" ends before it starts`);let f=l;if(o&&!u&&!e.tags.milestone){let e=c,t=!1,n=0;for(;e<=l&&n++<1e5;)t||(f=l),t=o(e),t&&(l+=Dy),e+=Dy}e.start=c,e.end=l,e.renderEnd=Math.max(c,Math.min(f,l)),e.manualEnd=u,e.resolving=!1}var lb=28,ub=20,db=24,fb=160,pb=800,mb={...X,size:13},hb={...X,size:12},gb={...X,weight:`bold`},_b={...X,size:18,weight:`bold`},vb=1e3,yb=1.12;function bb(e){switch(e.unit){case`ms`:return`%H:%M:%S.%L`;case`s`:return`%H:%M:%S`;case`m`:case`h`:return`%H:%M`;case`M`:return e.step>=12?`%Y`:`%b %Y`;default:return`%Y-%m-%d`}}function xb(e){return{lines:[Jv(e).lines.flatMap((e,t)=>t===0?e:[{text:` `},...e])]}}function Sb(e){let t=[`dg-task`];return e.tags.milestone&&t.push(`dg-milestone`),e.tags.done&&t.push(`dg-task-done`),e.tags.active&&t.push(`dg-task-active`),e.tags.crit&&t.push(`dg-task-crit`),t.join(` `)}function Cb(e,t,n,r,i){let a=e.tasks;if(a.length===0)throw new Y(`The gantt chart has no tasks`,0,0,`Add lines like: Task : 2024-01-01, 3d`);let o=Math.min(...a.map(e=>e.start)),s=Math.max(...a.map(e=>e.end));s<=o&&(o-=Dy/2,s+=Dy/2);let c=e.sections.filter(e=>e!==``),l=new Map(c.map(e=>[e,ey($v(Jv(e),fb,gb,t),gb,t)])),u=c.length>0?Math.min(fb,Math.max(...[...l.values()].map(e=>e.width)))+24:0,d=u,f=Math.min(pb,Math.max(480,pb-u)),p=d+f,m=e=>d+(e-o)/(s-o)*f,h=[],g=e.axisFormat,_=t=>e.axisFormatSet?e.axisFormat:bb(t),v=(e,n)=>Math.max(0,...e.map(e=>t(Yy(e,n),hb).width));if(e.tickInterval){if(h=eb(o,s,e.tickInterval,1001),h.length>vb)throw new Y(`tickInterval puts more than 1000 ticks on the axis`,0,0,`Choose a longer interval.`);g=_(e.tickInterval)}else for(let e of tb){if((s-o)/$y(e)>80)continue;let t=eb(o,s,e);if(h=t,g=_(e),t.length*(v(t,g)+16)<=f)break}let y=e.title?ey(Yv(e.title),_b,t):null,b=(y?y.height+14:0)+(e.topAxis?db:0)+4,x=b+a.length*lb,S=x+db,C=[],w=[],T=0,ee=p,E=0;a.forEach((t,n)=>{let r=a[n+1];if(r&&r.section===t.section)return;let i=e.sections.indexOf(t.section),o=b+E*lb,s=(n-E+1)*lb;C.push(Q(`rect`,{class:`dg-gantt-section dg-gantt-section-${i%2}`,x:0,y:o,width:p,height:s}));let c=l.get(t.section);c&&w.push($(c,12,o+s/2,{anchor:`start`,className:`dg-gantt-section-label`})),E=n+1});for(let t of e.excludedRanges){let e=Math.max(d,m(t.start)),n=Math.min(p,m(t.end));n>e&&C.push(Q(`rect`,{class:`dg-gantt-exclude`,x:e,y:b,width:n-e,height:x-b}))}let te=e=>h.map(n=>{let r=ey(Yv(Yy(n,g)),hb,t),i=m(n);return T=Math.min(T,i-r.width/2),ee=Math.max(ee,i+r.width/2),$(r,i,e,{className:`dg-gantt-axis`})});if(C.push(Q(`g`,{class:`dg-gantt-grid`},h.map(e=>Q(`line`,{x1:m(e),y1:b,x2:m(e),y2:x})))),w.push(Q(`g`,{},te(x+db/2))),e.topAxis&&w.push(Q(`g`,{},te(b-db/2))),a.forEach((e,n)=>{let r=b+n*lb+lb/2,i=ey(xb(e.name),mb,t),a=[],o=Sb(e),s,c,l=!1;if(e.tags.milestone){let t=(m(e.start)+m(e.renderEnd))/2,n=ub/2;a.push(Q(`polygon`,{class:o,points:`${Lv(t)},${Lv(r-n)} ${Lv(t+n)},${Lv(r)} ${Lv(t)},${Lv(r+n)} ${Lv(t-n)},${Lv(r)}`})),s=t+n+6,c=`start`}else{let t=m(e.start),n=Math.max(2,m(e.renderEnd)-t),u=t+n;a.push(Q(`rect`,{class:o,x:t,y:r-ub/2,width:n,height:ub,rx:3,ry:3})),i.width*yb+12<=n?(l=!0,s=t+n/2,c=`middle`):u+6+i.width*yb<=p||t-6-i.width*yb<d?(s=u+6,c=`start`):(s=t-6,c=`end`)}l||(c===`start`&&(ee=Math.max(ee,s+i.width*yb)),c===`end`&&(T=Math.min(T,s-i.width*yb)));let u=l?`dg-task-text dg-task-text-inside${e.tags.done||e.tags.active?` dg-task-text-dark`:``}`:`dg-task-text`;a.push($(i,s,r,{anchor:c,className:u}));let f=Q(`g`,{class:`dg-gantt-task`,"data-id":e.id},a);w.push(e.href?Q(`a`,{href:e.href},[f]):f)}),i&&e.todayMarker!==`off`){let t=i.getTime();if(t>=o&&t<=s){let n=e.todayMarker===`on`?void 0:Sy(yy(e.todayMarker).shape);w.push(Q(`line`,{class:`dg-gantt-today`,x1:m(t),y1:b-4,x2:m(t),y2:x+4,style:n}))}}let D=Math.ceil(-T),O=ee-T,k=[];y&&k.push($(y,O/2,y.height/2,{className:`dg-title`})),k.push(Q(`g`,{transform:D>0?`translate(${D},0)`:void 0},[...C,...w]));let A=`#${n}`,j=[`${A} .dg-title{fill:${Z(`--dg-text`)};font-size:18px;font-weight:bold}`,`${A} .dg-gantt-section-0{fill:${Z(`--dg-section-fill-0`)}}`,`${A} .dg-gantt-section-1{fill:${Z(`--dg-section-fill-1`)}}`,`${A} .dg-gantt-section-label{fill:${Z(`--dg-text`)};font-weight:bold}`,`${A} .dg-gantt-exclude{fill:${Z(`--dg-exclude-fill`)}}`,`${A} .dg-gantt-grid line{stroke:${Z(`--dg-grid`)};stroke-width:1px}`,`${A} .dg-gantt-axis{fill:${Z(`--dg-text-muted`)};font-size:12px}`,`${A} .dg-task{fill:${Z(`--dg-task-fill`)};stroke:${Z(`--dg-task-stroke`)};stroke-width:1px}`,`${A} .dg-task-active{fill:${Z(`--dg-task-active-fill`)}}`,`${A} .dg-task-done{fill:${Z(`--dg-task-done-fill`)};stroke:${Z(`--dg-task-done-stroke`)}}`,`${A} .dg-task-crit{fill:${Z(`--dg-task-crit-fill`)};stroke:${Z(`--dg-task-crit-stroke`)}}`,`${A} .dg-task-crit.dg-task-done{fill:${Z(`--dg-task-done-fill`)};stroke:${Z(`--dg-task-crit-stroke`)};stroke-width:2px}`,`${A} .dg-task-crit.dg-task-active{fill:${Z(`--dg-task-active-fill`)};stroke:${Z(`--dg-task-crit-stroke`)};stroke-width:2px}`,`${A} .dg-task-text{fill:${Z(`--dg-text`)};font-size:13px}`,`${A} .dg-task-text-inside{fill:${Z(`--dg-task-text`)}}`,`${A} .dg-task-text-dark{fill:${Z(`--dg-task-text-dark`)}}`,`${A} .dg-gantt-today{stroke:${Z(`--dg-today`)};stroke-width:2px}`].join(``);return Vv({id:n,type:`gantt`,width:O,height:S,title:r??e.accessibility.title??e.title??`Gantt chart`,description:e.accessibility.description,body:k,css:j})}var wb={TB:`TB`,TD:`TB`,BT:`BT`,LR:`LR`,RL:`RL`},Tb=[{open:`(((`,close:`)))`,shape:`doublecircle`},{open:`((`,close:`))`,shape:`circle`},{open:`([`,close:`])`,shape:`stadium`},{open:`[[`,close:`]]`,shape:`subroutine`},{open:`[(`,close:`)]`,shape:`cylinder`},{open:`{{`,close:`}}`,shape:`hexagon`},{open:`[/`,close:[`/]`,`\\]`],shape:e=>e===`/]`?`parallelogram`:`trapezoid`},{open:`[\\`,close:[`\\]`,`/]`],shape:e=>e===`\\]`?`parallelogram-alt`:`trapezoid-alt`},{open:`>`,close:`]`,shape:`asymmetric`},{open:`[`,close:`]`,shape:`rect`},{open:`(`,close:`)`,shape:`round`},{open:`{`,close:`}`,shape:`rhombus`}],Eb=/[\p{L}\p{N}_](?:[\p{L}\p{N}_.$]|-(?=[\p{L}\p{N}_]))*/u;function Db(e){return e===`>`||e===`<`?`arrow`:e===`x`?`cross`:e===`o`?`circle`:`none`}function Ob(e){let t=e.peek();return t===``||/[\s|&"]/.test(t)||/[[({>]/.test(t)===!1&&!/[\p{L}\p{N}_]/u.test(t)}function kb(e,t){let n=Array.isArray(t)?t:[t];if(e.skipSpaces(),e.peek()===`"`){let t=e.pos,r=e.text.indexOf(`"`,t+1);if(r<0)throw e.error(`The quoted text is not closed`,`Add the closing "`);let i=e.text.slice(t+1,r),a=!1;i.startsWith("`")&&i.endsWith("`")&&i.length>=2&&(i=i.slice(1,-1),a=!0),e.pos=r+1,e.skipSpaces();for(let t of n)if(e.eat(t))return{text:i,markdown:a,close:t};throw e.error(`Expected ${n.join(` or `)} after the text`)}let r=-1,i=``;for(let t of n){let n=e.text.indexOf(t,e.pos);n>=0&&(r<0||n<r)&&(r=n,i=t)}if(r<0)throw e.error(`The shape is not closed: expected ${n.join(` or `)}`);let a=e.text.slice(e.pos,r).trim();return e.pos=r+i.length,{text:a,markdown:!1,close:i}}function Ab(e){let t=e.pos;e.skipSpaces();for(let{re:t,stroke:n}of[{re:/([<xo])?--(?![->.])\s*("[^"]*"|[^-|]+?)\s*(-{2,})([>xo]?)/u,stroke:`normal`},{re:/([<xo])?==(?![=>])\s*("[^"]*"|[^=|]+?)\s*(={2,})([>xo]?)/u,stroke:`thick`},{re:/([<xo])?-\.(?![-.])\s*("[^"]*"|[^.|]+?)\s*(\.+)-([>xo]?)/u,stroke:`dotted`}]){let r=e.pos,i=e.match(t);if(!i)continue;let a=i[3],o=i[4]??``;if(n!==`dotted`&&o===``&&a.length<3||o&&/[xo]/.test(o)&&!Ob(e)){e.pos=r;continue}let s=i[2].trim(),c=!1;s.startsWith(`"`)&&s.endsWith(`"`)&&(s=s.slice(1,-1)),s.startsWith("`")&&s.endsWith("`")&&s.length>=2&&(s=s.slice(1,-1),c=!0);let l=n===`dotted`?a.length:Math.max(1,a.length-(o?1:2));return{stroke:n,start:Db(i[1]),end:Db(o),length:l,text:s,markdown:c}}for(let{re:t,stroke:n}of[{re:/~{3,}/,stroke:`invisible`},{re:/([<xo])?-(\.+)-([>xo])?/,stroke:`dotted`},{re:/([<xo])?(={2,})([>xo])?/,stroke:`thick`},{re:/([<xo])?(-{2,})([>xo])?/,stroke:`normal`}]){let r=e.pos,i=e.match(t);if(!i)continue;if(n===`invisible`)return{stroke:n,start:`none`,end:`none`,length:Math.max(1,i[0].length-2),markdown:!1};let a=i[2],o=i[3];if(o&&/[xo]/.test(o)&&!Ob(e)&&(--e.pos,o=void 0),!o&&n!==`dotted`&&a.length<3){e.pos=r;continue}let s=n===`dotted`?a.length:Math.max(1,a.length-(o?1:2)),c={stroke:n,start:Db(i[1]),end:Db(o),length:s,markdown:!1},l=e.match(/\s*\|\s*("[^"]*"|[^|]*?)\s*\|/);if(l){let e=l[1].trim();e.startsWith(`"`)&&e.endsWith(`"`)&&(e=e.slice(1,-1)),e.startsWith("`")&&e.endsWith("`")&&e.length>=2&&(e=e.slice(1,-1),c.markdown=!0),c.text=e}return c}return e.pos=t,null}function jb(e){e.skipSpaces();let t=e.match(Eb);if(!t)return null;let n={id:t[0],classes:[]};if(e.startsWith(`@{`))throw e.error(`The @{ shape: … } node syntax is not supported`,`Use the bracket shapes, e.g. A([text]).`);for(let t of Tb){if(!e.startsWith(t.open))continue;if(t.open===`>`&&e.peek(-1)===`-`)break;e.pos+=t.open.length;let{text:r,markdown:i,close:a}=kb(e,t.close);n.text=r,n.markdown=i,n.shape=typeof t.shape==`function`?t.shape(a):t.shape;break}let r=e.match(/:::([\w-]+)/);return r&&n.classes.push(r[1]),n}function Mb(e){return e.split(`,`).map(e=>e.trim()).filter(Boolean)}function Nb(e){let t=ny(e,{semicolons:!0}),n=t[0],r=n?/^(flowchart|graph|flowchart-elk)\b\s*(\S*)\s*$/.exec(n.text):null;if(!n||!r)throw new Y(`A flowchart starts with "flowchart" or "graph"`,n?.line??1,1);let i=`TB`;if(r[2]){let e=wb[r[2].toUpperCase()];if(!e)throw new Y(`"${r[2]}" is not a direction`,n.line,n.column+r[1].length+1,`Use TB, TD, BT, LR or RL.`);i=e}let a={type:`flowchart`,direction:i,nodes:new Map,edges:[],subgraphs:new Map,classDefs:new Map,accessibility:{}},o=[],s=[],c=[],l=[],u=[],d=0,f=e=>{let t=a.nodes.get(e.id);t||(t={id:e.id,text:e.id,markdown:!1,shape:`rect`,classes:[]},a.nodes.set(e.id,t)),e.text!==void 0&&(t.text=e.text,t.markdown=e.markdown??!1),e.shape&&(t.shape=e.shape),t.classes.push(...e.classes);let n=o[o.length-1];return n&&t.subgraph===void 0&&!a.subgraphs.has(e.id)&&(t.subgraph=n.id),t};for(let e=1;e<t.length;e++){let n=t[e],r=n.text,i=sy(t,e,a.accessibility);if(i>0){e+=i-1;continue}let p=/^subgraph\b\s*(.*)$/.exec(r);if(p){let e=p[1].trim(),t,r,i=!1,s=/^([\p{L}\p{N}_.-]+)\s*\[\s*(.*?)\s*\]$/u.exec(e);if(s?(t=s[1],r=s[2]):e.startsWith(`"`)?(r=e,t=`subgraph${d++}`):e===``?(t=`subgraph${d++}`,r=``):(t=e.replace(/\s+/g,`_`),r=e),r.startsWith(`"`)&&r.endsWith(`"`)&&r.length>=2&&(r=r.slice(1,-1)),r.startsWith("`")&&r.endsWith("`")&&r.length>=2&&(r=r.slice(1,-1),i=!0),a.subgraphs.has(t))throw new Y(`Subgraph "${t}" is defined twice`,n.line,n.column);let c={id:t,title:r,markdown:i,parent:o[o.length-1]?.id,classes:[]};a.subgraphs.set(t,c),a.nodes.delete(t),o.push(c);continue}if(r===`end`){if(o.length===0)throw new Y(`"end" without a subgraph`,n.line,n.column);o.pop();continue}if(p=/^direction\s+(\w+)$/.exec(r),p){let e=wb[p[1].toUpperCase()];if(!e)throw new Y(`"${p[1]}" is not a direction`,n.line,n.column+10);let t=o[o.length-1];t?t.direction=e:a.direction=e;continue}if(p=/^classDef\s+([\w,-]+)\s+(.+)$/.exec(r),p){let e=yy(p[2],n.line,n.column);for(let t of Mb(p[1]))a.classDefs.set(t,e);continue}if(p=/^class\s+(.+?)\s+([\w-]+)$/.exec(r),p){s.push({ids:Mb(p[1]),cls:p[2],s:n});continue}if(p=/^style\s+(\S+)\s+(.+)$/.exec(r),p){c.push({id:p[1],style:yy(p[2],n.line,n.column),s:n});continue}if(p=/^linkStyle\s+(default|[\d\s,]+?)\s+(?:interpolate\s+\w+\s*)?(.*)$/.exec(r),p){let e=p[1]==="default"?`default`:Mb(p[1]).map(Number);l.push({which:e,style:yy(p[2]??``,n.line,n.column),s:n});continue}if(p=/^click\s+(\S+)\s+(.*)$/.exec(r),p){let e=p[2],t=/^(?:href\s+)?"([^"]*)"(?:\s+"([^"]*)")?(?:\s+(_blank|_self|_parent|_top))?\s*$/.exec(e);t&&u.push({id:p[1],href:t[1],tooltip:t[2],target:t[3],s:n});continue}let m=new ay(n),h=[],g=()=>{let e=[];for(;;){let t=jb(m);if(!t)throw m.error(e.length===0?`Expected a node`:`Expected a node after "&"`);if(e.push(t),m.skipSpaces(),!m.eat(`&`))break}return e};h.push(g());let _=[];for(;m.skipSpaces(),!m.done;){let e=Ab(m);if(!e)throw m.error(`Unexpected "${m.rest()}"`,`Expected an edge such as --> or the end of the line.`);_.push(e),h.push(g())}let v=h.map(e=>e.map(e=>a.subgraphs.has(e.id)&&!e.shape?e.id:f(e).id));_.forEach((e,t)=>{for(let n of v[t])for(let r of v[t+1])a.edges.push({from:n,to:r,stroke:e.stroke,start:e.start,end:e.end,length:e.length,text:e.text,markdown:e.markdown})})}if(o.length>0)throw new Y(`Subgraph "${o[o.length-1].id}" is not closed`,0,0,`Add "end".`);for(let e of s)for(let t of e.ids){let n=a.nodes.get(t)??a.subgraphs.get(t);if(!n)throw new Y(`class refers to an unknown node "${t}"`,e.s.line,e.s.column);n.classes.push(e.cls)}for(let e of c){let t=a.nodes.get(e.id)??a.subgraphs.get(e.id);if(!t)throw new Y(`style refers to an unknown node "${e.id}"`,e.s.line,e.s.column);t.style=e.style}for(let e of l)if(e.which==="default")for(let t of a.edges)t.style={shape:{...t.style?.shape,...e.style.shape},text:{...t.style?.text,...e.style.text}};else for(let t of e.which){let n=a.edges[t];if(!n)throw new Y(`linkStyle refers to edge ${t}, but there are ${a.edges.length}`,e.s.line,e.s.column);n.style=e.style}for(let e of u){let t=a.nodes.get(e.id);if(!t)throw new Y(`click refers to an unknown node "${e.id}"`,e.s.line,e.s.column);let n=Cy(e.href);if(n===null)throw new Y(`The link "${e.href}" is not allowed`,e.s.line,e.s.column,`Use http(s), mailto or a relative address.`);t.link={href:n,tooltip:e.tooltip,target:e.target}}return a}function Pb(e,t){return Math.hypot(t.x-e.x,t.y-e.y)}function Fb(e,t){let n=t.x-e.x,r=t.y-e.y,i=e.width/2,a=e.height/2;if(n===0&&r===0)return{x:e.x,y:e.y+a};let o,s;return Math.abs(r)*i>Math.abs(n)*a?(s=r<0?-a:a,o=s*n/r):(o=n<0?-i:i,s=o*r/n),{x:e.x+o,y:e.y+s}}function Ib(e,t,n,r){let i=r.x-e.x,a=r.y-e.y;if(i===0&&a===0)return{x:e.x,y:e.y+n};let o=1/Math.sqrt(i*i/(t*t)+a*a/(n*n));return{x:e.x+i*o,y:e.y+a*o}}function Lb(e,t,n){let r=null,i=1/0,a=n.x-e.x,o=n.y-e.y;for(let n=0;n<t.length;n++){let s=t[n],c=t[(n+1)%t.length],l=c.x-s.x,u=c.y-s.y,d=a*u-o*l;if(Math.abs(d)<1e-9)continue;let f=((s.x-e.x)*u-(s.y-e.y)*l)/d,p=((s.x-e.x)*o-(s.y-e.y)*a)/d;f>0&&p>=-1e-9&&p<=1+1e-9&&f<i&&(i=f,r={x:e.x+a*f,y:e.y+o*f})}return r??{x:e.x,y:e.y}}function Rb(e,t=.5){let n=[];for(let r of e){let e=n[n.length-1];(!e||Pb(e,r)>t)&&n.push(r)}return n}function zb(e){let t=Rb(e),n=new Bv;if(t.length===0)return``;if(t.length===1)return n.moveTo(t[0].x,t[0].y).toString();let r=0,i=0,a=0,o=0,s=(e,t)=>{n.curveTo((2*r+a)/3,(2*i+o)/3,(r+2*a)/3,(i+2*o)/3,(r+4*a+e)/6,(i+4*o+t)/6)},c=0;for(let e of t)c===0?(c=1,n.moveTo(e.x,e.y)):c===1?c=2:(c===2&&(c=3,n.lineTo((5*r+a)/6,(5*i+o)/6)),s(e.x,e.y)),r=a,a=e.x,i=o,o=e.y;return c===3&&s(a,o),n.lineTo(a,o),n.toString()}function Bb(e,t,n=!1){return`${e}-m-${t}${n?`-start`:``}`}function Vb(e,t){let n=[];for(let r of new Set(t))for(let t of[!1,!0])n.push(qb(e,r,t));return n}var Hb=`fill:${Z(`--dg-edge-label-fill`)}`;function Ub(e,t,n,r,i,a){return Q(`marker`,{id:e,markerUnits:`userSpaceOnUse`,orient:`auto`,viewBox:`0 0 ${n} ${r}`,refX:t?n-i:i,refY:r/2,markerWidth:n,markerHeight:r},[Q(`g`,{transform:t?`translate(${n},0) scale(-1,1)`:void 0},a)])}function Wb(e,t,n,r){return Q(`path`,{class:`dg-marker`,d:`M${e},${r-n} L${e-t},${r} L${e},${r+n}`,style:`fill:none`,"stroke-width":1.5})}function Gb(e,t,n){return Q(`path`,{class:`dg-marker`,d:`M${e},${t-n} L${e},${t+n}`,style:`fill:none`,"stroke-width":1.5})}function Kb(e,t,n){return Q(`circle`,{class:`dg-marker`,cx:e,cy:t,r:n,style:Hb,"stroke-width":1.5})}function qb(e,t,n){let r=Bb(e,t,n),i={id:r,markerUnits:`userSpaceOnUse`,orient:`auto`},a=n?`translate(10,0) scale(-1,1)`:void 0;switch(t){case`arrow`:return Q(`marker`,{...i,viewBox:`0 0 10 10`,refX:n?1:9,refY:5,markerWidth:10,markerHeight:10},[Q(`path`,{class:`dg-marker`,d:`M0,0 L10,5 L0,10 z`,transform:a,"stroke-width":1})]);case`open-arrow`:return Q(`marker`,{...i,viewBox:`0 0 10 10`,refX:n?1:9,refY:5,markerWidth:10,markerHeight:10},[Q(`path`,{class:`dg-marker dg-marker-open`,d:`M1,1 L9,5 L1,9`,transform:a,style:`fill:none`,"stroke-width":1.5})]);case`half-arrow`:return Q(`marker`,{...i,viewBox:`0 0 10 10`,refX:n?1:9,refY:5,markerWidth:10,markerHeight:10},[Q(`path`,{class:`dg-marker`,d:`M0,0 L10,5 L0,5 z`,transform:a,"stroke-width":1})]);case`circle`:return Q(`marker`,{...i,viewBox:`0 0 10 10`,refX:n?1:9,refY:5,markerWidth:9,markerHeight:9},[Q(`circle`,{class:`dg-marker`,cx:5,cy:5,r:4,"stroke-width":1})]);case`cross`:return Q(`marker`,{...i,viewBox:`0 0 10 10`,refX:5,refY:5,markerWidth:11,markerHeight:11},[Q(`path`,{class:`dg-marker`,d:`M1,1 L9,9 M1,9 L9,1`,"stroke-width":2,style:`fill:none`})]);case`er-one`:return Ub(r,n,32,20,31,[Gb(23,10,7),Gb(17,10,7)]);case`er-zero-one`:return Ub(r,n,32,20,31,[Gb(23,10,7),Kb(12,10,5)]);case`er-one-many`:return Ub(r,n,32,20,31,[Wb(31,14,8,10),Gb(13,10,7)]);case`er-zero-many`:return Ub(r,n,32,20,31,[Wb(31,14,8,10),Kb(10,10,5)]);case`triangle`:return Ub(r,n,20,20,19,[Q(`path`,{class:`dg-marker`,d:`M19,10 L3,2 L3,18 z`,style:Hb,"stroke-width":1.5})]);case`diamond`:case`diamond-open`:return Ub(r,n,22,16,21,[Q(`path`,{class:`dg-marker`,d:`M21,8 L12,2 L3,8 L12,14 z`,style:t===`diamond-open`?Hb:void 0,"stroke-width":1.5})])}}function Jb(e){return e.map(e=>`${Yb(e.x)},${Yb(e.y)}`).join(` `)}function Yb(e){return Math.round(e*100)/100}function Xb(e,t){return t.map(t=>({x:e.x+t.x,y:e.y+t.y}))}function Zb(e,t,n){let r=t/2,i=n/2;switch(e){case`rhombus`:case`choice`:return[{x:0,y:-i},{x:r,y:0},{x:0,y:i},{x:-r,y:0}];case`hexagon`:{let e=Math.min(n/2,t/4);return[{x:-r+e,y:-i},{x:r-e,y:-i},{x:r,y:0},{x:r-e,y:i},{x:-r+e,y:i},{x:-r,y:0}]}case`parallelogram`:{let e=n/2;return[{x:-r+e,y:-i},{x:r,y:-i},{x:r-e,y:i},{x:-r,y:i}]}case`parallelogram-alt`:{let e=n/2;return[{x:-r,y:-i},{x:r-e,y:-i},{x:r,y:i},{x:-r+e,y:i}]}case`trapezoid`:{let e=n/2;return[{x:-r+e,y:-i},{x:r-e,y:-i},{x:r,y:i},{x:-r,y:i}]}case`trapezoid-alt`:{let e=n/2;return[{x:-r,y:-i},{x:r,y:-i},{x:r-e,y:i},{x:-r+e,y:i}]}case`asymmetric`:{let e=n/2;return[{x:-r,y:-i},{x:r,y:-i},{x:r,y:i},{x:-r,y:i},{x:-r+e,y:0}]}default:return null}}function Qb(e,t,n){let r=t+32,i=n+18;switch(e){case`start`:return{width:14,height:14};case`end`:return{width:18,height:18};case`fork`:return{width:70,height:8};case`choice`:return{width:28,height:28};case`circle`:{let e=Math.max(t,n)+18;return{width:e,height:e}}case`doublecircle`:{let e=Math.max(t,n)+18+10;return{width:e,height:e}}case`rhombus`:{let e=t+n+18;return{width:Math.max(e,40),height:Math.max(e*.75,40)}}case`hexagon`:return{width:r+i/2,height:i};case`parallelogram`:case`parallelogram-alt`:case`trapezoid`:case`trapezoid-alt`:return{width:r+i/2,height:i};case`asymmetric`:return{width:r+i/4,height:i};case`stadium`:return{width:r+i/2,height:i};case`subroutine`:return{width:r+16,height:i};case`cylinder`:return{width:r,height:i+16};default:return{width:r,height:i}}}function $b(e,t,n={}){let r=n.className??`dg-shape`,i=n.style,{x:a,y:o,width:s,height:c}=t,l=a-s/2,u=o-c/2,d=Zb(e,s,c);if(d)return Q(`polygon`,{class:r,style:i,points:Jb(Xb(t,d))});switch(e){case`round`:return Q(`rect`,{class:r,style:i,x:l,y:u,width:s,height:c,rx:6,ry:6});case`stadium`:return Q(`rect`,{class:r,style:i,x:l,y:u,width:s,height:c,rx:c/2,ry:c/2});case`circle`:return Q(`circle`,{class:r,style:i,cx:a,cy:o,r:s/2});case`doublecircle`:return Q(`g`,{},[Q(`circle`,{class:r,style:i,cx:a,cy:o,r:s/2}),Q(`circle`,{class:r,style:i,cx:a,cy:o,r:s/2-5})]);case`subroutine`:return Q(`g`,{},[Q(`rect`,{class:r,style:i,x:l,y:u,width:s,height:c}),Q(`line`,{class:r,style:i,x1:l+8,y1:u,x2:l+8,y2:u+c}),Q(`line`,{class:r,style:i,x1:l+s-8,y1:u,x2:l+s-8,y2:u+c})]);case`cylinder`:{let e=s/2,t=new Bv().moveTo(l,u+8).arcTo(e,8,0,!1,!1,l+s,u+8).lineTo(l+s,u+c-8).arcTo(e,8,0,!1,!0,l,u+c-8).close(),n=new Bv().moveTo(l,u+8).arcTo(e,8,0,!1,!0,l+s,u+8);return Q(`g`,{},[Q(`path`,{class:r,style:i,d:t.toString()}),Q(`path`,{class:r,style:i,d:n.toString(),"fill-opacity":0})])}case`start`:return Q(`circle`,{class:`dg-state-start`,cx:a,cy:o,r:s/2});case`end`:return Q(`g`,{},[Q(`circle`,{class:`dg-state-end-ring`,cx:a,cy:o,r:s/2}),Q(`circle`,{class:`dg-state-start`,cx:a,cy:o,r:s/2-4})]);case`fork`:return Q(`rect`,{class:`dg-state-start`,x:l,y:u,width:s,height:c,rx:2});default:return Q(`rect`,{class:r,style:i,x:l,y:u,width:s,height:c})}}function ex(e,t,n){let r=Zb(e,t.width,t.height);if(r)return Lb(t,Xb(t,r),n);switch(e){case`circle`:case`doublecircle`:case`start`:case`end`:return Ib(t,t.width/2,t.height/2,n);default:return Fb(t,n)}}var tx=class{constructor(){this.nodes=new Map,this.edges=[],this.outMap=new Map,this.inMap=new Map}addNode(e){let t={...e,rank:0,order:0,x:0,y:0};return this.nodes.set(t.id,t),this.outMap.set(t.id,[]),this.inMap.set(t.id,[]),t}node(e){let t=this.nodes.get(e);if(!t)throw Error(`Unknown node ${e}`);return t}addEdge(e){return this.edges.push(e),this.outMap.get(e.v).push(e),this.inMap.get(e.w).push(e),e}removeEdge(e){let t=t=>{let n=t.indexOf(e);n>=0&&t.splice(n,1)};t(this.edges),t(this.outMap.get(e.v)),t(this.inMap.get(e.w))}out(e){return this.outMap.get(e)??[]}in(e){return this.inMap.get(e)??[]}reindex(){for(let e of this.nodes.keys())this.outMap.set(e,[]),this.inMap.set(e,[]);for(let e of this.edges)this.outMap.get(e.v).push(e),this.inMap.get(e.w).push(e)}};function nx(e,t){let n=[],r=e;for(;r;)n.unshift(r),r=t.get(r)??null;return n}function rx(e){let t=[];for(let n of e.nodes.values())(t[n.rank]??=[]).push(n);for(let e=0;e<t.length;e++)t[e]??=[];return t}function ix(e,t){let n=new Set,r=t.map(()=>0),i=[...e.nodes.values()].sort((e,t)=>e.rank-t.rank);for(let t of i){if(n.has(t.id))continue;let i=[t];for(;i.length>0;){let t=i.pop();if(n.has(t.id))continue;n.add(t.id),t.order=r[t.rank]++;let a=e.out(t.id).map(t=>e.node(t.w));for(let e=a.length-1;e>=0;e--)n.has(a[e].id)||i.push(a[e])}}for(let e of t)e.sort((e,t)=>e.order-t.order)}function ax(e,t,n,r,i=!1){let a={cluster:null,nodes:[],children:new Map,items:[]};for(let t of e){let e=a;for(let r of nx(t.cluster,n)){let t=e.children.get(r);t||(t={cluster:r,nodes:[],children:new Map,items:[]},e.children.set(r,t),e.items.push(r)),e=t}e.nodes.push(t),e.items.push(t)}let o=new Map,s=e=>{let n=o.get(e);if(n!==void 0)return n;let r=0,i=0,a=e=>{for(let n of e.nodes)r+=t.get(n.id),i++;for(let t of e.children.values())a(t)};a(e);let s=i>0?r/i:0;return o.set(e,s),s},c=e=>{let n=e.items.map((n,r)=>({item:n,index:r,k:typeof n==`string`?s(e.children.get(n)):t.get(n.id)}));n.sort((e,t)=>e.k-t.k||(i?t.index-e.index:e.index-t.index));let a=n.flatMap((e,t)=>typeof e.item==`string`?[t]:[]),o=a.map(e=>n[e].item).sort((e,t)=>(r.get(e)??0)-(r.get(t)??0));a.forEach((e,t)=>{n[e].item=o[t]});let l=[];for(let t of n)typeof t.item==`string`?l.push(...c(e.children.get(t.item))):l.push(t.item);return l};return c(a)}function ox(e,t,n){let r=new Map(n.map((e,t)=>[e.id,t])),i=[];t.forEach((t,n)=>{for(let a of e.out(t.id)){let e=r.get(a.w);e!==void 0&&i.push({u:n,l:e,w:a.weight||1})}}),i.sort((e,t)=>e.u-t.u||e.l-t.l);let a=1;for(;a<n.length;)a<<=1;let o=Array(2*a-1).fill(0);--a;let s=0;for(let e of i){let t=e.l+a;o[t]+=e.w;let n=0;for(;t>0;)t%2&&(n+=o[t+1]),t=t-1>>1,o[t]+=e.w;s+=e.w*n}return s}function sx(e,t,n,r){let i=e=>{let t=new Map;return e.forEach((e,n)=>{for(let i of nx(e.cluster,r)){let e=t.get(i);e?e.to=n:t.set(i,{from:n,to:n})}}),t},a=i(t),o=i(n);if(a.size===0||o.size===0)return 0;let s=new Map(n.map((e,t)=>[e.id,t])),c=0;return t.forEach((t,n)=>{for(let r of e.out(t.id)){let e=s.get(r.w);if(e!==void 0)for(let[t,r]of a){let i=o.get(t);i&&(n<r.from&&e>i.to||n>r.to&&e<i.from)&&(c+=2)}}}),c}function cx(e,t,n=new Map){let r=0;for(let i=0;i+1<t.length;i++)r+=ox(e,t[i],t[i+1]),n.size>0&&(r+=sx(e,t[i],t[i+1],n));return r}function lx(e,t){let n=new Map,r=new Map;for(let i of e)i.forEach((e,a)=>{let o=i.length>1?a/(i.length-1):.5;for(let i of nx(e.cluster,t))n.set(i,(n.get(i)??0)+o),r.set(i,(r.get(i)??0)+1)});let i=new Map;for(let[e,t]of n)i.set(e,t/r.get(e));return i}function ux(e,t){let n=(e,t)=>{let n=0;for(let r of e)for(let e of t)r.order>e.order&&(n+=r.w*e.w);return n},r=t=>({up:e.in(t.id).map(t=>({order:e.node(t.v).order,w:t.weight||1})),down:e.out(t.id).map(t=>({order:e.node(t.w).order,w:t.weight||1}))}),i=(e,t)=>n(e.up,t.up)+n(e.down,t.down);for(let e=0;e<8;e++){let e=!1;for(let n of t)if(!(n.length<2)){for(let t=0;t+1<n.length;t++){let a=n[t],o=n[t+1];if(a.cluster!==o.cluster)continue;let s=r(a),c=r(o);i(c,s)<i(s,c)&&(n[t]=o,n[t+1]=a,e=!0)}n.forEach((e,t)=>e.order=t)}if(!e)break}}function dx(e,t,n=24,r=!1){let i=rx(e);ix(e,i);let a=lx(i,t);for(let e=0;e<i.length;e++){let n=new Map(i[e].map((e,t)=>[e.id,t]));i[e]=ax(i[e],n,t,a)}let o=e=>e.forEach(e=>e.forEach((e,t)=>e.order=t));o(i),r&&ux(e,i);let s=i.map(e=>e.slice()),c=cx(e,i,t),l=0;for(let o=0;o<n&&c>0&&l<4;o++){let n=o%2==0,u=r&&o%4>=2,d=n?Array.from({length:i.length-1},(e,t)=>t+1):Array.from({length:i.length-1},(e,t)=>i.length-2-t),f=n?0:i.length-1,p=new Map(i[f].map((e,t)=>[e.id,t]));i[f]=ax(i[f],p,t,a),i[f].forEach((e,t)=>e.order=t);for(let r of d){let o=i[r],s=new Map;for(let t of o){let r=n?e.in(t.id).map(t=>({order:e.node(t.v).order,w:t.weight||1})):e.out(t.id).map(t=>({order:e.node(t.w).order,w:t.weight||1}));if(r.length===0)s.set(t.id,t.order);else{let e=0,n=0;for(let t of r)e+=t.order*t.w,n+=t.w;s.set(t.id,e/n)}}i[r]=ax(o,s,t,a,u),i[r].forEach((e,t)=>e.order=t)}r&&ux(e,i),a=lx(i,t);let m=cx(e,i,t);m<c?(c=m,s=i.map(e=>e.slice()),l=0):l++}return o(s),s}function fx(e){return e.dummy===`edge`||e.dummy===`label`||e.dummy===`spine`}function px(e,t,n){let r=fx(e)&&fx(t)?n.edgeSep:fx(e)||fx(t)?(n.nodeSep+n.edgeSep)/2:n.nodeSep;return e.width/2+r+t.width/2}function mx(e,t){let n=0;e.forEach((r,i)=>{n=i===0?r.width/2:n+px(e[i-1],r,t),r.x=n})}function hx(e){let t=e.slice().sort((e,t)=>e-t),n=t.length>>1;return t.length%2?t[n]:(t[n-1]+t[n])/2}function gx(e,t,n,r){let i=Array(e.length).fill(!1),a=e.map((e,t)=>t).sort((t,r)=>n.get(e[r].id)-n.get(e[t].id)||t-r);for(let n of a){let a=e[n],o=t.get(a.id);if(o===void 0)i[n]=!0;else{if(o>a.x){let t=1/0,s=0;for(let a=n+1;a<e.length;a++)if(s+=px(e[a-1],e[a],r),i[a]){t=e[a].x-s;break}let c=Math.min(o,t);if(c>a.x){a.x=c;for(let t=n+1;t<e.length;t++){let n=e[t-1].x+px(e[t-1],e[t],r);if(e[t].x>=n)break;e[t].x=n}}}else if(o<a.x){let t=-1/0,s=0;for(let a=n-1;a>=0;a--)if(s+=px(e[a],e[a+1],r),i[a]){t=e[a].x+s;break}let c=Math.max(o,t);if(c<a.x){a.x=c;for(let t=n-1;t>=0;t--){let n=e[t+1].x-px(e[t],e[t+1],r);if(e[t].x<=n)break;e[t].x=n}}}i[n]=!0}}}function _x(e,t,n,r=4){for(let e of t)mx(e,n);let i=r=>{let i=r?Array.from({length:t.length-1},(e,t)=>t+1):Array.from({length:t.length-1},(e,n)=>t.length-2-n);for(let a of i){let i=t[a],o=new Map,s=new Map;for(let t of i){let n=r?e.in(t.id).map(t=>e.node(t.v)):e.out(t.id).map(t=>e.node(t.w));n.length>0&&o.set(t.id,hx(n.map(e=>e.x)));let i=fx(t)&&n.some(fx)?1e6:n.length;s.set(t.id,i)}gx(i,o,s,n)}};for(let e=0;e<r;e++)i(!0),i(!1);for(let r=0;r<t.length;r++){let i=t[r],a=new Map,o=new Map;for(let t of i){let n=[...e.in(t.id).map(t=>e.node(t.v)),...e.out(t.id).map(t=>e.node(t.w))];n.length>0&&a.set(t.id,hx(n.map(e=>e.x))),o.set(t.id,fx(t)?1e6:n.length)}gx(i,a,o,n)}}function vx(e,t,n,r){_x(e,t,r),Sx(e,t,n,r);let i=1/0;for(let t of e.nodes.values())i=Math.min(i,t.x-t.width/2);if(Number.isFinite(i))for(let t of e.nodes.values())t.x-=i;let a=0;t.forEach((e,t)=>{let n=0;for(let t of e)n=Math.max(n,t.height);t>0&&(a+=r.rankSep/2);for(let t of e)t.y=a+n/2;a+=n})}function yx(e,t){let n=new Map;for(let r of e.nodes.values()){let e=r.cluster;for(;;){let i=n.get(e)??[];if(i.push(r),n.set(e,i),e===null)break;e=t.get(e)??null}}return n}function bx(e){let t=new Map;for(let[n,r]of e){let e=t.get(r)??[];e.push(n),t.set(r,e)}return t}function xx(e,t,n,r){let i=bx(t),a=new Map;for(let t of e.nodes.values()){if(t.cluster===null)continue;let e=a.get(t.cluster)??[];e.push(t),a.set(t.cluster,e)}let o=new Map,s=e=>{let t=o.get(e);if(t)return t;let c=1/0,l=-1/0;for(let t of a.get(e)??[])c=Math.min(c,t.x-t.width/2),l=Math.max(l,t.x+t.width/2);for(let t of i.get(e)??[]){let e=s(t);c=Math.min(c,e.left),l=Math.max(l,e.right)}Number.isFinite(c)||(c=0,l=0);let u={left:c-n-(r?.get(e)??0),right:l+n};return o.set(e,u),u};for(let e of t.keys())s(e);return o}function Sx(e,t,n,r){if(n.size===0)return;let i=bx(n),a=yx(e,n),o=(e,t)=>{let r=e.cluster,i=null;for(;r!==t;){if(r===null)return null;i=r,r=n.get(r)??null}return i??e.id},s=c=>{for(let e of i.get(c)??[])s(e);let l=xx(e,n,r.clusterPadding,r.frameLeft),u=new Map;for(let e of a.get(c)??[]){let t=o(e,c);if(!(t===null||u.has(t))){if(t===e.id)u.set(t,{cluster:!1,left:e.x-e.width/2,right:e.x+e.width/2,dummy:fx(e)});else{let e=l.get(t);u.set(t,{cluster:!0,left:e.left,right:e.right,dummy:!1})}}}let d=new Map,f=new Map([...u.keys()].map(e=>[e,0]));for(let e of t){let t=null;for(let n of e){let e=o(n,c);if(e!==null&&e!==t){if(t!==null){let n=u.get(t),i=u.get(e),a=n.dummy&&i.dummy?r.edgeSep:n.dummy||i.dummy?(r.nodeSep+r.edgeSep)/2:r.nodeSep,o=d.get(t)??new Map;o.has(e)||f.set(e,f.get(e)+1),o.set(e,Math.max(o.get(e)??-1/0,n.right-n.left+a)),d.set(t,o)}t=e}}}let p=new Map([...u].map(([e,t])=>[e,t.left])),m=[...u.keys()].filter(e=>f.get(e)===0);for(;m.length>0;){let e=m.shift();for(let[t,n]of d.get(e)??[])p.set(t,Math.max(p.get(t),p.get(e)+n)),f.set(t,f.get(t)-1),f.get(t)===0&&m.push(t)}for(let[t,n]of u){let r=p.get(t)-n.left;if(r!==0){if(n.cluster)for(let e of a.get(t)??[])e.x+=r;else e.node(t).x+=r}}};s(null)}function Cx(e){let t=new Map,n=[];for(let r of e.nodes.keys()){if(t.get(r))continue;let i=[{id:r,i:0}];for(t.set(r,1);i.length>0;){let r=i[i.length-1],a=e.out(r.id);if(r.i<a.length){let e=a[r.i++],o=t.get(e.w)??0;o===1?n.push(e):o===0&&(t.set(e.w,1),i.push({id:e.w,i:0}))}else t.set(r.id,2),i.pop()}}for(let e of n){let t=e.v;e.v=e.w,e.w=t,e.reversed=!e.reversed}n.length>0&&e.reindex()}function wx(e,t){let n=new Set(t),r=new Map;for(let t of e.edges){if(!n.has(t.v)||t.v===t.w)continue;let e=`${t.v}\u0000${t.w}`,i=r.get(e);i?(i.weight+=t.weight,i.minlen=Math.max(i.minlen,t.minlen)):r.set(e,{v:t.v,w:t.w,minlen:t.minlen,weight:t.weight})}return{nodes:[...t],edges:[...r.values()]}}function Tx(e){let t=new Set,n=[];for(let r of e.nodes.keys()){if(t.has(r))continue;let i=[],a=[r];for(t.add(r);a.length>0;){let n=a.shift();i.push(n);for(let r of[...e.out(n),...e.in(n)]){let e=r.v===n?r.w:r.v;t.has(e)||(t.add(e),a.push(e))}}n.push(i)}return n}function Ex(e,t){let n=new Map(t.map(t=>[t,e.in(t).length])),r=t.filter(e=>n.get(e)===0);for(;r.length>0;){let t=r.shift(),i=e.in(t),a=e.out(t);if(i.length>0&&i.reduce((e,t)=>e+t.weight,0)>=a.reduce((e,t)=>e+t.weight,0)){let n=-1/0;for(let t of i)n=Math.max(n,e.node(t.v).rank+t.minlen);let r=e.node(t);n<r.rank&&(r.rank=n)}for(let e of a)n.set(e.w,n.get(e.w)-1),n.get(e.w)===0&&r.push(e.w)}}function Dx(e,t=2e3){for(let n of Tx(e)){let{nodes:r,edges:i}=wx(e,n),a=Ox(r,i,t),o=1/0;for(let e of a.values())o=Math.min(o,e);for(let[t,n]of a)e.node(t).rank=n-o;Ex(e,n);let s=1/0;for(let t of n)s=Math.min(s,e.node(t).rank);for(let t of n)e.node(t).rank-=s}}function Ox(e,t,n){let r=new Map,i=new Map;for(let t of e)r.set(t,[]),i.set(t,[]);for(let e of t)r.get(e.v).push(e),i.get(e.w).push(e);let a=(e,t)=>`${e}\u0000${t}`,o=new Map(t.map(e=>[a(e.v,e.w),e])),s=(e,t)=>o.get(a(e,t)),c=new Map,l=e=>{let t=[{id:e,i:0}],n=new Set([e]);for(;t.length>0;){let e=t[t.length-1],i=r.get(e.id);if(e.i<i.length){let r=i[e.i++];!c.has(r.w)&&!n.has(r.w)&&(n.add(r.w),t.push({id:r.w,i:0}))}else{let n=1/0;for(let e of i)n=Math.min(n,c.get(e.w)-e.minlen);c.set(e.id,n===1/0?0:n),t.pop()}}};for(let t of e)c.has(t)||l(t);if(e.length<=1||t.length===0)return c;let u=e=>c.get(e.w)-c.get(e.v)-e.minlen,d=new Map,f=(e,t)=>{d.get(e).add(t),d.get(t).add(e)},p=()=>{let e=[...d.keys()];for(;e.length>0;){let t=e.pop();for(let n of[...r.get(t),...i.get(t)]){let r=n.v===t?n.w:n.v;!d.has(r)&&u(n)===0&&(d.set(r,new Set),f(t,r),e.push(r))}}return d.size};for(d.set(e[0],new Set);p()<e.length;){let e=null,n=1/0;for(let r of t)if(d.has(r.v)!==d.has(r.w)){let t=u(r);t<n&&(n=t,e=r)}if(!e)break;let r=d.has(e.v)?n:-n;for(let e of d.keys())c.set(e,c.get(e)+r)}let m=e[0],h=new Map,g=new Map,_=new Map,v=new Map,y=(e,t)=>e<t?a(e,t):a(t,e),b=()=>{h.clear(),g.clear(),_.clear();let e=1,t=[];_.set(m,void 0),t.push({id:m,it:d.get(m).values(),low:e});let n=new Set([m]);for(;t.length>0;){let r=t[t.length-1],i=r.it.next();if(i.done)h.set(r.id,r.low),g.set(r.id,e++),t.pop();else{let a=i.value;n.has(a)||(n.add(a),_.set(a,r.id),t.push({id:a,it:d.get(a).values(),low:e}))}}},x=()=>[...g.entries()].sort((e,t)=>e[1]-t[1]).map(([e])=>e),S=e=>{let t=_.get(e),n=!0,a=s(e,t);a||=(n=!1,s(t,e));let o=a.weight;for(let a of[...r.get(e),...i.get(e)]){let r=a.v===e,i=r?a.w:a.v;if(i===t)continue;let s=r===n;if(o+=s?a.weight:-a.weight,d.get(e).has(i)){let t=v.get(y(e,i))??0;o+=s?-t:t}}return o},C=()=>{v.clear();for(let e of x()){let t=_.get(e);t!==void 0&&v.set(y(e,t),S(e))}},w=()=>{let e=[...g.entries()].sort((e,t)=>t[1]-e[1]).map(([e])=>e);for(let t of e){let e=_.get(t);if(e===void 0)continue;let n=s(t,e);n?c.set(t,c.get(e)-n.minlen):c.set(t,c.get(e)+s(e,t).minlen)}},T=(e,t)=>h.get(t)<=g.get(e)&&g.get(e)<=g.get(t);b(),C();for(let e=0;e<n;e++){let e=null;for(let[t,n]of _)if(n!==void 0&&(v.get(y(t,n))??0)<0){e=s(t,n)?{v:t,w:n}:{v:n,w:t};break}if(!e)break;let n=e.v,r=!1;g.get(e.v)>g.get(e.w)&&(n=e.w,r=!0);let i=null,a=1/0;for(let e of t)if(r===T(e.v,n)&&r!==T(e.w,n)){let t=u(e);t<a&&(a=t,i=e)}if(!i)break;d.get(e.v).delete(e.w),d.get(e.w).delete(e.v),f(i.v,i.w),b(),C(),w()}return c}var kx=2e3,Ax=22;function jx(e){let t=e.direction??`TB`,n=t===`LR`||t===`RL`,r={nodeSep:e.nodeSep??50,rankSep:e.rankSep??50,edgeSep:e.edgeSep??20,clusterPadding:e.clusterPadding??12};if(e.nodes.length>500)throw Dv(`nodes`,e.nodes.length,500);if(e.edges.length>2e3)throw Dv(`edges`,e.edges.length,kx);let i=(e,t)=>n?{width:t,height:e}:{width:e,height:t},a=new tx,o=new Map((e.clusters??[]).map(e=>[e.id,e])),s=new Map;for(let e of o.values()){if(e.parent!==void 0&&!o.has(e.parent))throw new Y(`Cluster "${e.id}" is inside an unknown cluster "${e.parent}"`);s.set(e.id,e.parent??null)}for(let e of o.keys()){let t=s.get(e)??null,n=0;for(;t!==null;){if(t===e||++n>o.size)throw new Y(`Cluster "${e}" contains itself`);t=s.get(t)??null}}let c=e.edges.filter(e=>e.from===e.to&&!o.has(e.from)),l=new Map;for(let e of c){let t=e.label?(n?e.label.height:e.label.width)+6:0;l.set(e.from,Math.max(l.get(e.from)??0,Ax+t))}for(let t of e.nodes){if(a.nodes.has(t.id))continue;let e=i(t.width,t.height),n=l.get(t.id)??0;if(t.cluster!==void 0&&!o.has(t.cluster))throw new Y(`Node "${t.id}" is inside an unknown cluster "${t.cluster}"`);a.addNode({id:t.id,width:e.width+n*2,height:e.height,cluster:t.cluster??null})}let u=e=>`\u0000top:${e}`,d=e=>`\u0000bottom:${e}`,f=new Map,p=new Map;r.frameLeft=p;for(let e of o.values()){let i=e.label??{width:0,height:0},o=i.height>0?i.height+6:0;f.set(e.id,o),n&&p.set(e.id,o);let s=t===`TB`?`top`:t===`BT`?`bottom`:null;a.addNode({id:u(e.id),width:s===`top`?i.width+2*r.clusterPadding:0,height:s===`top`?o:0,cluster:e.id,dummy:`border-top`}),a.addNode({id:d(e.id),width:s===`bottom`?i.width+2*r.clusterPadding:0,height:s===`bottom`?o:0,cluster:e.id,dummy:`border-bottom`})}let m=0,h=(e,t)=>a.addEdge({id:`\u0000s${m++}`,v:e,w:t,minlen:1,weight:1,original:``,reversed:!1,structural:!0});for(let e of o.keys()){let t=[...a.nodes.values()].filter(t=>t.cluster===e&&!t.dummy),n=[...o.values()].filter(t=>(t.parent??null)===e);for(let n of t)h(u(e),n.id),h(n.id,d(e));for(let t of n)h(u(e),u(t.id)),h(d(t.id),d(e));t.length===0&&n.length===0&&h(u(e),d(e))}let g=t=>{let n=[];for(let r of e.nodes)r.cluster===t&&n.push(r.id);for(let e of o.values())(e.parent??null)===t&&n.push(...g(e.id));return n},_=(e,t)=>{if(o.has(e)){let n=g(e);return n.length===0?t?d(e):u(e):t?n[n.length-1]:n[0]}if(!a.nodes.has(e))throw new Y(`Edge refers to an unknown node "${e}"`);return e},v=new Map;for(let t of e.edges){if(t.from===t.to&&!o.has(t.from))continue;let e=_(t.from,!0),n=_(t.to,!1);e!==n&&(t.label&&v.set(t.id,i(t.label.width,t.label.height)),a.addEdge({id:t.id,v:e,w:n,minlen:Math.max(1,t.minlen??1)*2,weight:t.weight??1,original:t.id,reversed:!1}))}Cx(a),Dx(a),Lx(a,o.keys(),u,d);for(let e of a.edges.slice())e.structural&&a.node(e.w).rank-a.node(e.v).rank!==1&&a.removeEdge(e);let y=new Map,b=0,x=e=>{let t=a.node(e);return t.dummy===`border-top`||t.dummy===`border-bottom`?s.get(t.cluster)??null:t.cluster};for(let e of a.edges.slice()){if(e.structural)continue;let t=a.node(e.v),n=a.node(e.w),r=Ix(x(t.id),x(n.id),s),i=[t.id],o=n.rank-t.rank,c=v.get(e.original),l=t.rank+Math.floor(o/2);a.removeEdge(e);let u=t.id;for(let o=t.rank+1;o<n.rank;o++){let t=!!c&&o===l,n=a.addNode({id:`\u0000d${b++}`,width:t?c.width:0,height:t?c.height:0,cluster:r,dummy:t?`label`:`edge`,edge:e.original});n.rank=o,a.addEdge({id:`${e.id}#${o}`,v:u,w:n.id,minlen:1,weight:e.weight,original:e.original,reversed:e.reversed}),i.push(n.id),u=n.id}a.addEdge({id:`${e.id}#end`,v:u,w:n.id,minlen:1,weight:e.weight,original:e.original,reversed:e.reversed}),i.push(n.id),y.set(e.original,e.reversed?i.reverse():i)}Rx(a,o.keys(),s,u,d),vx(a,dx(a,s,24,e.transpose??!1),s,r);let S=xx(a,s,r.clusterPadding,r.frameLeft),C=new Map,w=new Map;for(let e of a.nodes.values()){let t=e.cluster;for(;t!==null;){let n=w.get(t)??[];n.push(e),w.set(t,n),t=s.get(t)??null}}let T=e=>{let t=0,n=s.get(e)??null;for(;n!==null;)t++,n=s.get(n)??null;return t},ee=[...o.keys()].sort((e,t)=>T(t)-T(e)),E=new Map;for(let e of ee){let n=1/0,i=-1/0;for(let t of w.get(e)??[])n=Math.min(n,t.y-t.height/2),i=Math.max(i,t.y+t.height/2);for(let t of o.values()){if((t.parent??null)!==e)continue;let r=E.get(t.id);r&&(n=Math.min(n,r.top),i=Math.max(i,r.bottom))}let a=r.clusterPadding;E.set(e,{top:n-(t===`TB`?0:a),bottom:i+(t===`BT`?0:a)})}for(let e of o.keys()){let t=S.get(e),n=E.get(e),r=t.left;C.set(e,{x:(r+t.right)/2,y:(n.top+n.bottom)/2,width:t.right-r,height:n.bottom-n.top})}let te=0,D=0,O=0,k=0;for(let e of a.nodes.values())te=Math.max(te,e.x+e.width/2),D=Math.max(D,e.y+e.height/2);for(let e of C.values())O=Math.min(O,e.x-e.width/2),k=Math.min(k,e.y-e.height/2),te=Math.max(te,e.x+e.width/2),D=Math.max(D,e.y+e.height/2);let A=te-O,j=D-k,M=e=>{let n=e.x-O,r=e.y-k;switch(t){case`BT`:return{x:n,y:j-r};case`LR`:return{x:r,y:n};case`RL`:return{x:j-r,y:n};default:return{x:n,y:r}}},N=e=>{let t=M(e);return n?{x:t.x,y:t.y,width:e.height,height:e.width}:{...t,width:e.width,height:e.height}},ne=new Map;for(let t of e.nodes){let e=M(a.node(t.id));ne.set(t.id,{x:e.x,y:e.y,width:t.width,height:t.height})}let re=new Map;for(let[e,t]of C)re.set(e,N(t));let ie=new Map;for(let n of e.edges){if(n.from===n.to&&!o.has(n.from)){ie.set(n.id,zx(ne.get(n.from),t,n.label));continue}let e=y.get(n.id);if(!e){ie.set(n.id,{points:[]});continue}let r=e.slice(1,-1).map(e=>a.node(e)),i={points:r.map(e=>M(e))},s=r.find(e=>e.dummy===`label`);s&&(i.label=M(s)),(o.has(n.from)||o.has(n.to))&&Px(i,M(a.node(e[0])),M(a.node(e[e.length-1])),{from:o.has(n.from)?re.get(n.from):void 0,to:o.has(n.to)?re.get(n.to):void 0}),ie.set(n.id,i)}return{width:n?j:A,height:n?A:j,nodes:ne,clusters:re,edges:ie}}function Mx(e,t){return Math.abs(t.x-e.x)<=e.width/2&&Math.abs(t.y-e.y)<=e.height/2}function Nx(e,t,n){let r=0,i=1;for(let a=0;a<30;a++){let a=(r+i)/2;Mx(e,{x:t.x+(n.x-t.x)*a,y:t.y+(n.y-t.y)*a})?i=a:r=a}return{x:t.x+(n.x-t.x)*i,y:t.y+(n.y-t.y)*i}}function Px(e,t,n,r){let i=[t,...e.points,n];if(r.to&&!Mx(r.to,t)){for(let e=1;e<i.length;e++)if(Mx(r.to,i[e])){let t=Nx(r.to,i[e-1],i[e]);i=[...i.slice(0,e),t];break}e.end=i[i.length-1]}if(r.from&&!Mx(r.from,i[i.length-1])){for(let e=i.length-2;e>=0;e--)if(Mx(r.from,i[e])){i=[Nx(r.from,i[e+1],i[e]),...i.slice(e+1)];break}e.start=i[0]}e.points=i.slice(1,-1)}function Fx(e){let t=e.clusters??[];if(t.length===0)return jx(e);let n=new Map(t.map(e=>[e.id,e.parent??null])),r=(e,r)=>{let i=e??null,a=0;for(;i!==null&&a++<=t.length;){if(i===r)return!0;i=n.get(i)??null}return!1},i=new Map(e.nodes.map(e=>[e.id,e.cluster??null])),a=e=>n.has(e)?{cluster:e,isCluster:!0}:{cluster:i.get(e)??null,isCluster:!1},o=t=>{for(let n of e.edges){let e=a(n.from),i=a(n.to),o=e.isCluster?r(e.cluster,t)&&e.cluster!==t:r(e.cluster,t);if(o!==(i.isCluster?r(i.cluster,t)&&i.cluster!==t:r(i.cluster,t))){let n=o?i:e;if(!(n.isCluster&&n.cluster===t))return!1}}return!0},s=t.filter(e=>o(e.id)&&!t.some(t=>t.id!==e.id&&r(e.id,t.id)&&o(t.id)));if(s.length===0)return jx(e);let c=e.clusterPadding??12,l=e.direction??`TB`,u=new Map,d=new Set,f=new Set,p=new Set;for(let n of s){let i={...e,direction:n.direction??l,nodes:e.nodes.filter(e=>r(e.cluster,n.id)).map(e=>({...e,cluster:e.cluster===n.id?void 0:e.cluster})),clusters:t.filter(e=>e.id!==n.id&&r(e.id,n.id)).map(e=>({...e,parent:e.parent===n.id?void 0:e.parent})),edges:e.edges.filter(e=>{let t=a(e.from),i=a(e.to),o=r(t.cluster,n.id)&&!(t.isCluster&&t.cluster===n.id),s=r(i.cluster,n.id)&&!(i.isCluster&&i.cluster===n.id);return o&&s})};for(let e of i.nodes)d.add(e.id);for(let e of i.clusters??[])f.add(e.id);f.add(n.id);for(let e of i.edges)p.add(e.id);let o=Fx(i),s=n.label&&n.label.height>0?n.label.height+6:0,m=Math.max(o.width,n.label?.width??0)+c*2,h=o.height+c*2+s;u.set(n.id,{result:o,title:s,width:m,height:h})}let m=Fx({...e,nodes:[...e.nodes.filter(e=>!d.has(e.id)),...s.map(e=>({id:e.id,width:u.get(e.id).width,height:u.get(e.id).height,cluster:e.parent}))],clusters:t.filter(e=>!f.has(e.id)),edges:e.edges.filter(e=>!p.has(e.id))});for(let e of s){let t=m.nodes.get(e.id);m.nodes.delete(e.id),m.clusters.set(e.id,t);let{result:n,title:r}=u.get(e.id),i=t.x-t.width/2+(t.width-n.width)/2,a=t.y-t.height/2+c+r,o=e=>({x:e.x+i,y:e.y+a});for(let[e,t]of n.nodes)m.nodes.set(e,{...t,...o(t)});for(let[e,t]of n.clusters)m.clusters.set(e,{...t,...o(t)});for(let[e,t]of n.edges)m.edges.set(e,{...t,points:t.points.map(o),label:t.label&&o(t.label),start:t.start&&o(t.start),end:t.end&&o(t.end)})}return m}function Ix(e,t,n){let r=e=>{let t=[];for(;e!==null;)t.push(e),e=n.get(e)??null;return t},i=new Set(r(e));for(let e of r(t))if(i.has(e))return e;return null}function Lx(e,t,n,r){let i=[...t];for(let t=0;t<i.length+1;t++){let t=!1;for(let a of i){let i=e.node(n(a)),o=e.node(r(a)),s=e.out(i.id).map(t=>e.node(t.w).rank),c=e.in(o.id).map(t=>e.node(t.v).rank),l=e.in(i.id).map(t=>e.node(t.v).rank+t.minlen),u=e.out(o.id).map(t=>e.node(t.w).rank-t.minlen);if(s.length>0){let e=Math.min(...s)-1,n=l.length>0?Math.max(...l):-1/0,r=Math.max(e,n);r!==i.rank&&r<=Math.min(...s)-1&&(i.rank=r,t=!0)}if(c.length>0){let e=Math.max(...c)+1,n=u.length>0?Math.min(...u):1/0,r=Math.min(e,n);r!==o.rank&&r>=Math.max(...c)+1&&(o.rank=r,t=!0)}}if(!t)break}}function Rx(e,t,n,r,i){let a=new Map;for(let t of e.nodes.values()){let e=t.cluster;for(;e!==null;){let r=a.get(e);r||a.set(e,r=new Set),r.add(t.rank),e=n.get(e)??null}}let o=0;for(let s of t){let t=e.node(r(s)).rank,c=e.node(i(s)).rank,l=a.get(s)??new Set;for(let r=t+1;r<c;r++){if(l.has(r))continue;let t=e.addNode({id:`\u0000spine${o++}`,width:0,height:0,cluster:s,dummy:`spine`});t.rank=r;let i=s;for(;i!==null;){let e=a.get(i);e||a.set(i,e=new Set),e.add(r),i=n.get(i)??null}}}}function zx(e,t,n){let r=t===`LR`||t===`RL`,i=Ax;if(!r){let t=e.x+e.width/2,r=e.y-e.height/4,a=e.y+e.height/4;return{selfLoop:!0,points:[{x:t,y:r},{x:t+i,y:r-4},{x:t+i,y:a+4},{x:t,y:a}],label:n?{x:t+i+4+n.width/2,y:e.y}:void 0}}let a=e.y+e.height/2,o=e.x-e.width/4,s=e.x+e.width/4;return{selfLoop:!0,points:[{x:o,y:a},{x:o-4,y:a+i},{x:s+4,y:a+i},{x:s,y:a}],label:n?{x:e.x,y:a+i+4+n.height/2}:void 0}}var Bx=200;function Vx(e,t,n,r=X){let i=Jv(e,{markdown:t});return t&&(i=$v(i,Bx,r,n)),ey(i,r,n)}function Hx(e){return e===`arrow`?`arrow`:e===`circle`?`circle`:e===`cross`?`cross`:null}function Ux(e,t,n){return xy(n.get(`default`),...e.map(e=>n.get(e)),t)}function Wx(e,t,n,r){let i=new Map,a=new Map;for(let n of e.nodes.values()){let e=Vx(n.text,n.markdown,t);i.set(n.id,e),a.set(n.id,Qb(n.shape,e.width,Math.max(e.height,X.size*1.25)))}let o={...X,weight:`bold`},s=new Map;for(let n of e.subgraphs.values())n.title.trim()!==``&&s.set(n.id,Vx(n.title,n.markdown,t,o));let c=new Map,l=e.edges.map((e,n)=>{let r;if(e.text!==void 0&&e.text!==``){let i=Vx(e.text,e.markdown,t);Xv(i.label)||(c.set(n,i),r={width:i.width+8,height:i.height+4})}return{id:String(n),from:e.from,to:e.to,minlen:e.length,label:r}}),u=Fx({direction:e.direction,nodes:[...e.nodes.values()].map(e=>({id:e.id,...a.get(e.id),cluster:e.subgraph})),edges:l,clusters:[...e.subgraphs.values()].map(e=>{let t=s.get(e.id);return{id:e.id,parent:e.parent,direction:e.direction,label:t?{width:t.width,height:t.height}:void 0}}),nodeSep:50,rankSep:50,clusterPadding:14}),d=t=>{let n=0,r=e.subgraphs.get(t)?.parent;for(;r;)n++,r=e.subgraphs.get(r)?.parent;return n},f=[...e.subgraphs.values()].sort((e,t)=>d(e.id)-d(t.id)).map(t=>{let n=u.clusters.get(t.id),r=Ux(t.classes,t.style,e.classDefs),i=s.get(t.id);return Q(`g`,{class:`dg-cluster`,"data-id":t.id},[Q(`rect`,{class:`dg-cluster-box`,x:n.x-n.width/2,y:n.y-n.height/2,width:n.width,height:n.height,rx:4,style:Sy(r.shape)}),i?$(i,n.x,n.y-n.height/2+6+i.height/2,{className:`dg-cluster-label`,style:Sy(r.text)}):null])}),p=t=>{let n=e.nodes.get(t);if(n){let e=u.nodes.get(t);return{box:e,clip:t=>ex(n.shape,e,t)}}let r=u.clusters.get(t);return{box:r,clip:e=>ex(`rect`,r,e)}},m=[],h=[],g=[];e.edges.forEach((e,t)=>{let r=u.edges.get(String(t));if(!r||e.stroke===`invisible`)return;let i;if(r.selfLoop)i=r.points;else{let t=p(e.from),n=p(e.to),a=r.points[0]??n.box,o=r.points[r.points.length-1]??t.box;i=[r.start??t.clip(a),...r.points,r.end??n.clip(o)]}let a=e.style??{shape:{},text:{}},o=Hx(e.start),s=Hx(e.end);o&&m.push(o),s&&m.push(s);let l=[`dg-edge`,e.stroke===`thick`?`dg-edge-thick`:``,e.stroke===`dotted`?`dg-edge-dotted`:``].filter(Boolean).join(` `);h.push(Q(`path`,{class:l,d:zb(i),"marker-start":o?`url(#${Bb(n,o,!0)})`:void 0,"marker-end":s?`url(#${Bb(n,s)})`:void 0,style:Sy(a.shape),"data-from":e.from,"data-to":e.to}));let d=c.get(t);if(d&&r.label){let e=d.width+8,t=d.height+4;g.push(Q(`g`,{class:`dg-edge-label-group`},[Q(`rect`,{class:`dg-edge-label-box`,x:r.label.x-e/2,y:r.label.y-t/2,width:e,height:t,rx:3}),$(d,r.label.x,r.label.y,{className:`dg-edge-label`,style:Sy(a.text)})]))}});let _=[...e.nodes.values()].map(t=>{let n=u.nodes.get(t.id);if(!n)throw new Y(`Node "${t.id}" was not laid out`);let r=Ux(t.classes,t.style,e.classDefs),a=Q(`g`,{class:[`dg-node`,...t.classes.map(e=>`dg-class-${e.replace(/[^\w-]/g,``)}`)].join(` `),"data-id":t.id},[t.tooltip||t.link?.tooltip?Q(`title`,{},[{text:t.link?.tooltip??t.tooltip??``}]):null,$b(t.shape,n,{style:Sy(r.shape)}),$(i.get(t.id),n.x,n.y,{style:Sy(r.text)})]);return t.link?Q(`a`,{href:t.link.href,target:t.link.target,rel:t.link.target===`_blank`?`noopener noreferrer`:void 0},[a]):a}),v=[`#${n} .dg-edge-label-group text{fill:${Z(`--dg-text`)}}`].join(``);return Vv({id:n,type:`flowchart`,width:u.width,height:u.height,title:r??e.accessibility.title??`Flowchart`,description:e.accessibility.description,defs:Vb(n,m),body:[Q(`g`,{class:`dg-clusters`},f),Q(`g`,{class:`dg-edges`},h),Q(`g`,{class:`dg-edge-labels`},g),Q(`g`,{class:`dg-nodes`},_)],css:v})}var Gx={...X,size:13,weight:`bold`},Kx={...X,size:13},qx={...X,size:18,weight:`bold`},Jx=90,Yx=40,Xx=40,Zx=24,Qx=28,$x=20,eS=240,tS=12,nS=6,rS=20,iS=10,aS=18,oS=12;function sS(e){let t=[],n=new Set;for(let r of e.participants)if(!n.has(r)){if(r.box===void 0)t.push(r),n.add(r);else for(let i of e.participants)i.box===r.box&&!n.has(i)&&(t.push(i),n.add(i))}return t}function cS(e,t){let n=sS(e),r=new Map(n.map((e,t)=>[e.id,t])),i=e=>r.get(e),a=n.map(e=>ey(Jv(e.label),X,t)),o=n.map((e,t)=>e.kind===`actor`?Math.max(a[t].width+8,50):Math.max(a[t].width+32,Jx)),s=Yx;n.forEach((e,t)=>{let n=e.kind===`actor`?38+a[t].height:a[t].height+20;s=Math.max(s,n)});let c=e.events.map(e=>{if(e.kind===`message`){let n=Jv(e.text);return Xv(n)?null:ey(n,X,t)}return e.kind===`note`?ey($v(Jv(e.text),eS,X,t),X,t):null}),l=new Map,u=(e,t,r)=>{if(e===t||e<0||t<0||e>=n.length||t>=n.length)return;let i=`${Math.min(e,t)},${Math.max(e,t)}`;l.set(i,Math.max(l.get(i)??0,r))};e.events.forEach((e,t)=>{let n=c[t];if(e.kind===`message`){let t=i(e.from),r=i(e.to),a=(n?.width??0)+(e.number===void 0?0:$x);t===r?u(t,t+1,Math.max(a+28,62)):u(t,r,a+Qx)}else if(e.kind===`note`&&n){let t=n.width+16,r=e.actors.map(i).sort((e,t)=>e-t),a=r[0],o=r[r.length-1];e.placement===`right`?u(a,a+1,t+tS+12):e.placement===`left`?u(a-1,a,t+tS+12):a===o?(u(a-1,a,t/2+16),u(a,a+1,t/2+16)):u(a,o,t-24)}});let d=[];n.forEach((e,t)=>{if(t===0){d.push(o[0]/2);return}let r=n[t-1],i=(r.box!==void 0||e.box!==void 0)&&r.box!==e.box,a=d[t-1]+o[t-1]/2+Xx+(i?Zx:0)+o[t]/2;for(let e=0;e<t;e++){let n=l.get(`${e},${t}`);n!==void 0&&(a=Math.max(a,d[e]+n))}d.push(a)});let f=e=>d[i(e)],p=e=>o[i(e)],m=0,h=null;if(e.title){let n=ey(Jv(e.title),qx,t);h={label:n,x:0,y:n.height/2},m=n.height+14}let g=m;if(e.boxes.length>0){let n=Math.max(0,...e.boxes.map(e=>e.label?ey(Jv(e.label),X,t).height:0));m+=8+(n>0?n+6:0)}let _=m,v=[],y=new Map,b=new Map,x=new Set;n.forEach((e,t)=>{e.created?x.add(e.id):(v.push({id:e.id,kind:e.kind,label:a[t],x:d[t],top:_,width:o[t],height:s}),y.set(e.id,_+s))}),m=_+s+10;let S=new Map,C=[],w=[],T=[],ee=[],E=[],te=[],D=[],O=new Set,k=null,A=(e,t)=>{for(let n of te)n.min=Math.min(n.min,e),n.max=Math.max(n.max,t)},j=e=>A(f(e)-aS,f(e)+aS),M=e=>{let t=S.get(e);return t||(t=[],S.set(e,t)),t},N=(e,t)=>f(e)-5+t*nS,ne=(e,t)=>{let n=M(e),r=n[n.length-1];if(!r)return f(e);let i=N(e,r.level);return t>0?i+10:i},re=(e,t)=>{let n=M(e);n.push({top:t,level:n.length})},ie=(e,t)=>{let n=M(e).pop();n&&C.push({left:N(e,n.level),top:n.top,bottom:Math.max(t,n.top+8)})},ae=(e,t)=>{x.delete(e);let r=i(e),c=n[r];v.push({id:e,kind:c.kind,label:a[r],x:d[r],top:t-s/2,width:o[r],height:s}),y.set(e,t+s/2),A(d[r]-o[r]/2,d[r]+o[r]/2)},oe=e=>{let t=e.filter(e=>x.has(e));if(t.length!==0){for(let e of t)ae(e,m+s/2);m+=s+10}},se=(e,t)=>{for(O.delete(e);M(e).length>0;)ie(e,t);b.set(e,t),D.push({x:f(e),y:t})};e.events.forEach((e,n)=>{let r=c[n]??null;switch(e.kind){case`message`:{let t=r?.height??0,n=m+6;if(e.from===e.to){oe([e.from]);let n=f(e.from),i=ne(e.from,1),a=r?m+6+t+4:m+12,o=a+rS;e.deactivateSource&&ie(e.from,a),e.activateTarget&&re(e.to,o);let s=ne(e.to,1),c=Math.max(i,s)+34,l=i+4+(e.number===void 0?0:12);w.push({x1:i,x2:s,y:a,y2:o,self:!0,loopRight:c,line:e.line,head:e.head,bidirectional:e.bidirectional,label:r,labelX:l,labelY:m+6+t/2,anchor:`start`,number:e.number}),A(n-aS,Math.max(c,l+(r?.width??0))),O.has(e.from)&&se(e.from,o),m=o+10,k=o;break}let i=x.has(e.from),a=x.has(e.to),o=r?n+t+4:m+14;(i||a)&&(o=Math.max(o,m+s/2+4)),i&&ae(e.from,o),a&&ae(e.to,o);let c=f(e.to)>f(e.from)?1:-1,l=i?f(e.from)+c*p(e.from)/2:ne(e.from,c);e.deactivateSource&&ie(e.from,o),e.activateTarget&&re(e.to,o);let u=a?f(e.to)-c*p(e.to)/2:ne(e.to,c===1?-1:1);w.push({x1:l,x2:u,y:o,y2:o,self:!1,loopRight:0,line:e.line,head:e.head,bidirectional:e.bidirectional,label:r,labelX:(l+u)/2,labelY:o-4-t/2,anchor:`middle`,number:e.number}),j(e.from),j(e.to),r&&A((l+u)/2-r.width/2,(l+u)/2+r.width/2);for(let t of[e.from,e.to])O.has(t)&&se(t,o);m=o+10,(i||a)&&(m=Math.max(m,o+s/2+10)),k=o;break}case`note`:{if(!r)break;oe(e.actors);let t=r.width+16,n=r.height+16,i=m+6,a=Math.min(...e.actors.map(f)),o=Math.max(...e.actors.map(f)),s,c=t;e.placement===`right`?s=a+tS:e.placement===`left`?s=a-tS-t:(c=Math.max(t,o-a+(a===o?0:32)),s=(a+o)/2-c/2),T.push({left:s,top:i,width:c,height:n,label:r});for(let t of e.actors)j(t);A(s,s+c),m=i+n+8,k=null;break}case`activate`:oe([e.actor]),re(e.actor,k??m),j(e.actor),k===null&&(m+=4);break;case`deactivate`:ie(e.actor,k??m),k===null&&(m+=4);break;case`destroy`:O.add(e.actor);break;case`block-start`:if(e.block===`rect`){m+=6;let t={block:`rect`,left:0,right:0,top:m,bottom:0,tab:null,tabWidth:0,guard:null,sections:[],color:e.color};te.push({frame:t,min:1/0,max:-1/0}),m+=6}else{m+=8;let n=ey(Jv(e.block),Gx,t),r=e.text?ey(Jv(`[${e.text}]`),Kx,t):null,i={block:e.block,left:0,right:0,top:m,bottom:0,tab:n,tabWidth:n.width+16,guard:r,sections:[]};te.push({frame:i,min:1/0,max:-1/0}),m+=Math.max(20,r?r.height+4:0)+6}k=null;break;case`block-section`:{let n=te[te.length-1];m+=6;let r=e.text?ey(Jv(`[${e.text}]`),Kx,t):null;n.frame.sections.push({y:m,guard:r}),m+=(r?r.height+4:0)+6,k=null;break}case`block-end`:{let e=te.pop(),{frame:t}=e;m+=t.block===`rect`?6:8,t.bottom=m;let n=e.min,r=e.max;if(Number.isFinite(n)||(n=d[0]-40,r=d[0]+40),t.left=n-iS,t.right=r+iS,t.block!==`rect`){let e=[t.guard,...t.sections.map(e=>e.guard)],n=t.tabWidth+(t.guard?t.guard.width+8:0)+16;for(let t of e)t&&(n=Math.max(n,t.width+24));t.right-t.left<n&&(t.right=t.left+n),ee.push(t)}else E.push(t);A(t.left,t.right),m+=t.block===`rect`?4:6,k=null;break}}});for(let e of x)oe([e]);for(let e of O)se(e,m);for(let[e,t]of S)for(;t.length>0;)ie(e,m);m+=12;let ce=m;n.forEach((e,t)=>{b.has(e.id)||v.push({id:e.id,kind:e.kind,label:a[t],x:d[t],top:ce,width:o[t],height:s})});let le=ce+s,ue=n.map((e,t)=>({x:d[t],y1:y.get(e.id)??ce,y2:b.get(e.id)??ce})),de=[];e.boxes.length>0&&(le+=8,e.boxes.forEach((e,r)=>{let i=n.map((e,t)=>({p:e,i:t})).filter(({p:e})=>e.box===r);if(i.length===0)return;let a=Math.min(...i.map(({i:e})=>d[e]-o[e]/2))-oS,s=Math.max(...i.map(({i:e})=>d[e]+o[e]/2))+oS,c=e.label?ey(Jv(e.label),X,t):null;if(c&&s-a<c.width+16){let e=(c.width+16-(s-a))/2;a-=e,s+=e}de.push({left:a,right:s,top:g,bottom:le,color:e.color,label:c})}));let P=1/0,fe=-1/0,pe=(e,t)=>{P=Math.min(P,e,t),fe=Math.max(fe,e,t)};for(let e of v)pe(e.x-e.width/2,e.x+e.width/2);for(let e of de)pe(e.left,e.right);for(let e of[...ee,...E])pe(e.left,e.right);for(let e of T)pe(e.left,e.left+e.width);for(let e of w)pe(e.x1,e.x2),e.self?pe(e.loopRight,e.labelX+(e.label?.width??0)):e.label&&pe(e.labelX-e.label.width/2,e.labelX+e.label.width/2),e.number!==void 0&&pe(e.x1-10,e.x1+10);let me=fe-P,he=-P;return h&&(h.label.width>me&&(he+=(h.label.width-me)/2,me=h.label.width),h.x=me/2),{width:me,height:le,offsetX:he,title:h,groups:de,rects:E,frames:ee,lifelines:ue,activations:C,messages:w,notes:T,actors:v,crosses:D}}var lS=[{token:`<<-->>`,line:`dotted`,head:`arrow`,both:!0},{token:`<<->>`,line:`solid`,head:`arrow`,both:!0},{token:`-->>`,line:`dotted`,head:`arrow`,both:!1},{token:`->>`,line:`solid`,head:`arrow`,both:!1},{token:`--x`,line:`dotted`,head:`cross`,both:!1},{token:`--)`,line:`dotted`,head:`open`,both:!1},{token:`-->`,line:`dotted`,head:`none`,both:!1},{token:`-x`,line:`solid`,head:`cross`,both:!1},{token:`-)`,line:`solid`,head:`open`,both:!1},{token:`->`,line:`solid`,head:`none`,both:!1}],uS=lS.map(e=>e.token).join(`, `),dS=/[<>:,;+]|^-|-$/,fS=new Set(`aliceblue antiquewhite aqua aquamarine azure beige bisque black blanchedalmond blue blueviolet brown burlywood cadetblue chartreuse chocolate coral cornflowerblue cornsilk crimson cyan 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 fuchsia gainsboro ghostwhite gold goldenrod gray green greenyellow grey honeydew hotpink indianred indigo ivory khaki lavender lavenderblush lawngreen lemonchiffon lightblue lightcoral lightcyan lightgoldenrodyellow lightgray lightgreen lightgrey lightpink lightsalmon lightseagreen lightskyblue lightslategray lightslategrey lightsteelblue lightyellow lime limegreen linen magenta maroon mediumaquamarine mediumblue mediumorchid mediumpurple mediumseagreen mediumslateblue mediumspringgreen mediumturquoise mediumvioletred midnightblue mintcream mistyrose moccasin navajowhite navy oldlace olive olivedrab orange orangered orchid palegoldenrod palegreen paleturquoise palevioletred papayawhip peachpuff peru pink plum powderblue purple rebeccapurple red rosybrown royalblue saddlebrown salmon sandybrown seagreen seashell sienna silver skyblue slateblue slategray slategrey snow springgreen steelblue tan teal thistle tomato turquoise violet wheat white whitesmoke yellow yellowgreen transparent`.split(` `));function pS(e,t,n){return yy(`fill:${e}`,t,n).shape.fill}function mS(e){let t=[];for(let n of e){let e=0;for(let r=0;r<n.text.length;r++){if(n.text[r]!==`;`)continue;let i=n.text.slice(e,r);/#[a-zA-Z0-9]+$/.test(i)||(hS(t,n,e,r),e=r+1)}hS(t,n,e,n.text.length)}return t}function hS(e,t,n,r){let i=t.text.slice(n,r),a=i.trim();if(a===``)return;let o=i.length-i.trimStart().length;e.push({text:a,line:t.line,column:t.column+n+o})}var gS=class{constructor(e){this.list=e,this.diagram={type:`sequence`,participants:[],boxes:[],events:[],accessibility:{}},this.byId=new Map,this.stack=[],this.active=new Map,this.destroyed=new Set,this.pendingDestroy=new Set,this.numbering=null,this.currentBox=null}run(){let e=this.list[0];if(!e||!/^sequenceDiagram\s*$/.test(e.text))throw new Y(`A sequence diagram starts with "sequenceDiagram"`,e?.line??1,e?.column??1);for(let e=1;e<this.list.length;e++){let t=sy(this.list,e,this.diagram.accessibility);t>0?e+=t-1:this.statement(this.list[e])}let t=this.stack[this.stack.length-1];if(t)throw new Y(`The "${t.block}" opened here is never closed`,t.line,0,`Add "end" after its last statement.`);return this.diagram}statement(e){let t=e.text,n;if(this.currentBox!==null&&!/^(create\s+)?(participant|actor)\b|^end$/i.test(t))throw new Y(`Only participant and actor declarations belong inside a box`,e.line,e.column,`Close the box with "end" first.`);if(n=/^title(?:\s*:\s*|\s+)(.*)$/i.exec(t))this.diagram.title=n[1].trim();else if(n=/^autonumber(?:\s+(.*))?$/i.exec(t))this.autonumber(n[1]?.trim()??``,e);else if(n=/^(create\s+)?(participant|actor)\s+(.+)$/i.exec(t))this.declare(n[3],n[2].toLowerCase(),!!n[1],e,t.length-n[3].length);else if(n=/^destroy\s+(.+)$/i.exec(t)){let r=this.id(n[1],e,t.length-n[1].length);if(!this.byId.has(r))throw new Y(`"${r}" is not a participant`,e.line,e.column);this.pendingDestroy.add(r),this.diagram.events.push({kind:`destroy`,actor:r,sourceLine:e.line})}else if(n=/^box(?:\s+(.*))?$/i.exec(t))this.box(n[1]?.trim()??``,e);else if(n=/^(activate|deactivate)\s+(.+)$/i.exec(t)){let r=n[1].toLowerCase(),i=this.use(n[2],e,t.length-n[2].length);r===`activate`?this.activate(i):this.deactivate(i,e),this.diagram.events.push({kind:r,actor:i,sourceLine:e.line})}else if(n=/^note\s+(left of|right of|over)\s+([^:]+?)\s*:\s?(.*)$/i.exec(t)){let r=n[1].toLowerCase().split(` `)[0],i=n[2].split(`,`).map(e=>e.trim());if(i.length>2||i.length===2&&r!==`over`)throw new Y(`Only "over" spans two participants`,e.line,e.column,`Note over A,B: text`);let a=t.indexOf(n[2]),o=i.map(t=>this.use(t,e,a));this.diagram.events.push({kind:`note`,placement:r,actors:o,text:n[3].trim(),sourceLine:e.line})}else{if(/^note\b/i.test(t))throw new Y(`"${t}" is not a note`,e.line,e.column,`Note left of A: text, Note right of A: text, Note over A,B: text`);if(n=/^(loop|alt|opt|par|critical|break)(?:\s+(.*))?$/i.exec(t)){let t=n[1].toLowerCase();this.stack.push({block:t,line:e.line}),this.diagram.events.push({kind:`block-start`,block:t,text:n[2]?.trim()??``,sourceLine:e.line})}else if(n=/^rect(?:\s+(.*))?$/i.exec(t)){let t=n[1]?.trim()??``;if(t===``)throw new Y(`"rect" needs a colour`,e.line,e.column,`rect rgb(200, 220, 255)`);let r=pS(t,e.line,e.column+5);this.stack.push({block:`rect`,line:e.line}),this.diagram.events.push({kind:`block-start`,block:`rect`,text:``,color:r,sourceLine:e.line})}else if(n=/^(else|and|option)(?:\s+(.*))?$/i.exec(t)){let t=n[1].toLowerCase(),r={else:`alt`,and:`par`,option:`critical`}[t],i=this.stack[this.stack.length-1];if(!i||i.block!==r)throw new Y(`"${t}" belongs inside "${r}"`,e.line,e.column);this.diagram.events.push({kind:`block-section`,keyword:t,text:n[2]?.trim()??``,sourceLine:e.line})}else if(/^end$/i.test(t)){let t=this.stack.pop();if(!t)throw new Y(`"end" without a block to close`,e.line,e.column);t.block===`box`?this.currentBox=null:this.diagram.events.push({kind:`block-end`,sourceLine:e.line})}else this.message(e)}}autonumber(e,t){if(e===``)this.numbering={next:1,step:1};else if(/^off$/i.test(e))this.numbering=null;else{let n=/^([0-9]+)(?:\s+([0-9]+))?$/.exec(e);if(!n)throw new Y(`"${e}" is not a valid autonumber`,t.line,t.column,`autonumber [start [step]] or autonumber off`);this.numbering={next:Number(n[1]),step:n[2]?Number(n[2]):1}}}box(e,t){if(this.stack.length>0)throw new Y(`A box cannot be nested inside a block or another box`,t.line,t.column);let n,r=e,i=/^((?:rgb|rgba|hsl|hsla)\([^)]*\))\s*(.*)$/i.exec(e),a=/^(#[0-9a-fA-F]{3,8}|[a-zA-Z]+)(?:\s+(.*))?$/.exec(e);i?(n=pS(i[1],t.line,t.column+4),r=i[2].trim()):a&&(a[1].startsWith(`#`)||fS.has(a[1].toLowerCase()))&&(n=pS(a[1],t.line,t.column+4),r=a[2]?.trim()??``),this.diagram.boxes.push({label:r===``?void 0:r,color:n}),this.currentBox=this.diagram.boxes.length-1,this.stack.push({block:`box`,line:t.line})}id(e,t,n){let r=e.trim();if(r===``||dS.test(r))throw new Y(`"${r}" is not a valid participant name`,t.line,t.column+n);return r}declare(e,t,n,r,i){if(/@\{/.test(e))throw new Y(`Participant metadata (@{ … }) is not supported`,r.line,r.column+i+e.indexOf(`@`),`Use "participant A" or "actor A".`);let a=/^(.+?)\s+as\s+(.+)$/.exec(e),o=this.id(a?a[1]:e,r,i),s=a?oy(a[2]):o,c=this.byId.get(o);if(n&&c)throw new Y(`"${o}" already exists and cannot be created again`,r.line,r.column+i);if(c){c.label=s,c.kind=t,this.currentBox!==null&&(c.box=this.currentBox);return}let l={id:o,label:s,kind:t,created:n};this.currentBox!==null&&(l.box=this.currentBox),this.byId.set(o,l),this.diagram.participants.push(l)}use(e,t,n){let r=this.id(e,t,n);if(this.destroyed.has(r))throw new Y(`"${r}" was destroyed earlier and cannot be used`,t.line,t.column+n);if(!this.byId.has(r)){let e={id:r,label:r,kind:`participant`,created:!1};this.byId.set(r,e),this.diagram.participants.push(e)}return r}activate(e){this.active.set(e,(this.active.get(e)??0)+1)}deactivate(e,t){let n=this.active.get(e)??0;if(n<=0)throw new Y(`"${e}" is not active, so it cannot be deactivated`,t.line,t.column);this.active.set(e,n-1)}message(e){let t=e.text,n=t.indexOf(`:`),r=n>=0?t.slice(0,n):t,i=n>=0?t.slice(n+1).trim():``,a=[];for(let e=0;e<r.length;e++){let t=lS.find(t=>r.startsWith(t.token,e));t&&(a.push({at:e,arrow:t}),e+=t.token.length-1)}if(a.length===0)throw new Y(`"${t}" is not a statement`,e.line,e.column,`Messages are written A->>B: text, with one of ${uS}.`);let o=a.find(e=>this.byId.has(r.slice(0,e.at).trim()))??a.find(e=>e.arrow.head!==`cross`)??a[0],s=r.slice(0,o.at),c=r.slice(o.at+o.arrow.token.length),l=o.at,u=o.at+o.arrow.token.length,d=!1,f=!1,p=/^\s*([+-])/.exec(c);p&&(p[1]===`+`?d=!0:f=!0,c=c.slice(p[0].length));let m=(r,i)=>{if(/^[<>=)-]|[<>=-]$/.test(r.trim()))throw new Y(`"${t.slice(0,n>=0?n:t.length).trim()}" does not use a known arrow`,e.line,e.column+i,`Arrows: ${uS}.`)};m(c,u),m(s,l);let h=this.use(s,e,0),g=this.use(c,e,u);f&&this.deactivate(h,e),d&&this.activate(g);for(let e of[h,g])this.pendingDestroy.has(e)&&(this.pendingDestroy.delete(e),this.destroyed.add(e));let _={kind:`message`,from:h,to:g,line:o.arrow.line,head:o.arrow.head,bidirectional:o.arrow.both,text:i,activateTarget:d,deactivateSource:f,sourceLine:e.line};this.numbering&&(_.number=this.numbering.next,this.numbering.next+=this.numbering.step),this.diagram.events.push(_)}};function _S(e){let t=new gS(mS(ny(e))).run();if(t.participants.length===0)throw new Y(`The sequence diagram has no participants`,0,0,`Add a message such as A->>B: Hello`);return t}var vS=9;function yS(e){switch(e){case`arrow`:return`arrow`;case`open`:return`open-arrow`;case`cross`:return`cross`;default:return null}}function bS(e){if(e.kind===`actor`){let t=e.x,n=e.top,r=n+14,i=r+13,a=n+34,o=new Bv().moveTo(t,r).lineTo(t,i).moveTo(t-12,r+5).lineTo(t+12,r+5).moveTo(t,i).lineTo(t-10,a).moveTo(t,i).lineTo(t+10,a);return Q(`g`,{class:`dg-actor`},[Q(`circle`,{class:`dg-actor-figure`,cx:t,cy:n+7,r:7}),Q(`path`,{class:`dg-actor-figure dg-actor-limbs`,d:o.toString()}),$(e.label,t,a+4+e.label.height/2,{className:`dg-actor-label`})])}return Q(`g`,{class:`dg-actor`},[Q(`rect`,{class:`dg-actor-box`,x:e.x-e.width/2,y:e.top,width:e.width,height:e.height,rx:4,ry:4}),$(e.label,e.x,e.top+e.height/2,{className:`dg-actor-label`})])}function xS(e){let t=[Q(`rect`,{class:`dg-block`,x:e.left,y:e.top,width:e.right-e.left,height:e.bottom-e.top})];for(let n of e.sections)t.push(Q(`line`,{class:`dg-block-sep`,x1:e.left,y1:n.y,x2:e.right,y2:n.y}));return Q(`g`,{class:`dg-frame dg-frame-${e.block}`},t)}function SS(e){let t=[];if(e.tab){let n=e.tabWidth,r=[[e.left,e.top],[e.left+n,e.top],[e.left+n,e.top+20-6],[e.left+n-6,e.top+20],[e.left,e.top+20]].map(([e,t])=>`${Math.round(e*100)/100},${Math.round(t*100)/100}`).join(` `);t.push(Q(`polygon`,{class:`dg-block-tab`,points:r}),$(e.tab,e.left+n/2,e.top+10,{className:`dg-block-label`}))}e.guard&&t.push($(e.guard,e.left+e.tabWidth+8,e.top+Math.max(20,e.guard.height)/2,{anchor:`start`,className:`dg-block-guard`}));for(let n of e.sections)n.guard&&t.push($(n.guard,(e.left+e.right)/2,n.y+4+n.guard.height/2,{className:`dg-block-guard`}));return Q(`g`,{class:`dg-frame-labels dg-frame-${e.block}`},t.filter(e=>!!e))}function CS(e,t){let n=yS(e.head),r=n?`url(#${Bb(t,n)})`:void 0,i=n&&e.bidirectional?`url(#${Bb(t,n,!0)})`:void 0,a=`dg-message${e.line===`dotted`?` dg-message-dotted`:``}`,o=[];if(e.self){let t=new Bv().moveTo(e.x1,e.y).lineTo(e.loopRight,e.y).lineTo(e.loopRight,e.y2).lineTo(e.x2,e.y2);o.push(Q(`path`,{class:a,d:t.toString(),"marker-end":r,"marker-start":i}))}else o.push(Q(`line`,{class:a,x1:e.x1,y1:e.y,x2:e.x2,y2:e.y,"marker-end":r,"marker-start":i}));return e.label&&o.push($(e.label,e.labelX,e.labelY,{anchor:e.anchor,className:`dg-message-text`})),e.number!==void 0&&o.push(Q(`circle`,{class:`dg-number`,cx:e.x1,cy:e.y,r:vS}),Q(`text`,{class:`dg-number-text`,x:e.x1,y:e.y,"text-anchor":`middle`,"dominant-baseline":`central`},[Pv(String(e.number))])),Q(`g`,{class:`dg-message-group`},o)}function wS(e,t,n,r){let i=new Set;for(let t of e.messages){let e=yS(t.head);e&&i.add(e)}let a=[Q(`g`,{class:`dg-groups`},e.groups.map(e=>Q(`g`,{class:`dg-group`},[Q(`rect`,{class:`dg-group-box`,x:e.left,y:e.top,width:e.right-e.left,height:e.bottom-e.top,rx:4,style:e.color?`fill:${e.color}`:void 0}),e.label?$(e.label,(e.left+e.right)/2,e.top+4+e.label.height/2,{className:`dg-group-label`}):null]))),Q(`g`,{class:`dg-rects`},e.rects.map(e=>Q(`rect`,{class:`dg-rect`,x:e.left,y:e.top,width:e.right-e.left,height:e.bottom-e.top,style:e.color?`fill:${e.color}`:void 0}))),Q(`g`,{class:`dg-lifelines`},e.lifelines.filter(e=>e.y2>e.y1).map(e=>Q(`line`,{class:`dg-lifeline`,x1:e.x,y1:e.y1,x2:e.x,y2:e.y2}))),Q(`g`,{class:`dg-frames`},e.frames.map(xS)),Q(`g`,{class:`dg-activations`},e.activations.map(e=>Q(`rect`,{class:`dg-activation`,x:e.left,y:e.top,width:10,height:e.bottom-e.top}))),Q(`g`,{class:`dg-frame-label-layer`},e.frames.map(SS)),Q(`g`,{class:`dg-messages`},e.messages.map(e=>CS(e,t))),Q(`g`,{class:`dg-notes`},e.notes.map(e=>Q(`g`,{class:`dg-note-group`},[Q(`rect`,{class:`dg-note`,x:e.left,y:e.top,width:e.width,height:e.height,rx:2}),$(e.label,e.left+e.width/2,e.top+e.height/2,{className:`dg-note-text`})]))),Q(`g`,{class:`dg-crosses`},e.crosses.map(e=>Q(`path`,{class:`dg-destroy`,d:new Bv().moveTo(e.x-9,e.y-9).lineTo(e.x+9,e.y+9).moveTo(e.x-9,e.y+9).lineTo(e.x+9,e.y-9).toString()}))),Q(`g`,{class:`dg-actors`},e.actors.map(bS))],o=[];e.title&&o.push($(e.title.label,e.title.x,e.title.y,{className:`dg-title`})),o.push(Q(`g`,{transform:`translate(${Math.round(e.offsetX*100)/100},0)`},a));let s=`#${t}`,c=[`${s} .dg-title{fill:${Z(`--dg-text`)};font-size:18px;font-weight:bold}`,`${s} .dg-actor-box{fill:${Z(`--dg-actor-fill`)};stroke:${Z(`--dg-actor-stroke`)};stroke-width:1.5px}`,`${s} .dg-actor-figure{fill:${Z(`--dg-actor-fill`)};stroke:${Z(`--dg-actor-stroke`)};stroke-width:1.5px}`,`${s} .dg-actor-limbs{fill:none}`,`${s} .dg-actor-label{fill:${Z(`--dg-text`)}}`,`${s} .dg-lifeline{stroke:${Z(`--dg-lifeline`)};stroke-width:1px;stroke-dasharray:4 3}`,`${s} .dg-activation{fill:${Z(`--dg-activation-fill`)};stroke:${Z(`--dg-actor-stroke`)};stroke-width:1px}`,`${s} .dg-message{fill:none;stroke:${Z(`--dg-line`)};stroke-width:1.5px}`,`${s} .dg-message-dotted{stroke-dasharray:4 3}`,`${s} .dg-message-text{fill:${Z(`--dg-text`)}}`,`${s} .dg-number{fill:${Z(`--dg-line`)}}`,`${s} .dg-number-text{fill:${Z(`--dg-number-text`)};font-size:11px;font-weight:bold}`,`${s} .dg-note{fill:${Z(`--dg-note-fill`)};stroke:${Z(`--dg-note-stroke`)};stroke-width:1px}`,`${s} .dg-note-text{fill:${Z(`--dg-note-text`)}}`,`${s} .dg-block{fill:none;stroke:${Z(`--dg-block-stroke`)};stroke-width:1.5px}`,`${s} .dg-block-tab{fill:${Z(`--dg-block-label-fill`)};stroke:${Z(`--dg-block-stroke`)};stroke-width:1px}`,`${s} .dg-block-label{fill:${Z(`--dg-text`)};font-size:13px;font-weight:bold}`,`${s} .dg-block-guard{fill:${Z(`--dg-text-muted`)};font-size:13px}`,`${s} .dg-block-sep{stroke:${Z(`--dg-block-stroke`)};stroke-width:1px;stroke-dasharray:4 3}`,`${s} .dg-rect{fill:${Z(`--dg-rect-fill`)}}`,`${s} .dg-group-box{fill:none;stroke:${Z(`--dg-cluster-stroke`)};stroke-width:1px}`,`${s} .dg-group-label{fill:${Z(`--dg-cluster-text`)};font-weight:600}`,`${s} .dg-destroy{fill:none;stroke:${Z(`--dg-line`)};stroke-width:2px}`].join(``);return Vv({id:t,type:`sequence`,width:e.width,height:e.height,title:n,description:r,defs:Vb(t,i),body:o,css:c})}function TS(e,t,n,r){return wS(cS(e,t),n,r??e.accessibility.title??e.title??`Sequence diagram`,e.accessibility.description)}var ES={TB:`TB`,TD:`TB`,BT:`BT`,LR:`LR`,RL:`RL`},DS=`[\\p{L}\\p{N}_][\\p{L}\\p{N}_.-]*`,OS=`(\\[\\*\\]|${DS})`;function kS(e){let t=ny(e),n=t[0];if(!n||!/^stateDiagram(-v2)?$/.test(n.text))throw new Y(`A state diagram starts with "stateDiagram-v2"`,n?.line??1,1);let r={type:`state`,direction:`TB`,states:new Map,composites:new Map,transitions:[],notes:[],classDefs:new Map,accessibility:{}},i=[],a=new Map,o=[],s=[],c=()=>i[i.length-1]?.id,l=e=>{let t=c()??`root`,n=`\u0000${e?`start`:`end`}:${t}`;return r.states.has(n)||r.states.set(n,{id:n,kind:e?`start`:`end`,name:``,descriptions:[],parent:c(),classes:[]}),n},u=(e,t)=>{let n=r.composites.get(e);if(n)return n;let i=r.states.get(e);return i||(i={id:e,kind:`state`,name:e,descriptions:[],parent:c(),classes:[]},r.states.set(e,i)),i},d=e=>{let t=/^(.*?):::([\w-]+)$/.exec(e);return t?{id:t[1],cls:t[2]}:{id:e}};for(let e=1;e<t.length;e++){let n=t[e],f=n.text,p=sy(t,e,r.accessibility);if(p>0){e+=p-1;continue}let m=/^direction\s+(\w+)$/.exec(f);if(m){let e=ES[m[1].toUpperCase()];if(!e)throw new Y(`"${m[1]}" is not a direction`,n.line,n.column+10);let t=i[i.length-1];t?t.direction=e:r.direction=e;continue}if(m=/^classDef\s+([\w,-]+)\s+(.+)$/.exec(f),m){let e=yy(m[2],n.line,n.column);for(let t of m[1].split(`,`))r.classDefs.set(t.trim(),e);continue}if(m=/^class\s+(.+?)\s+([\w-]+)$/.exec(f),m){o.push({ids:m[1].split(`,`).map(e=>e.trim()),cls:m[2],s:n});continue}if(m=/^style\s+(\S+)\s+(.+)$/.exec(f),m){s.push({id:m[1],style:yy(m[2],n.line,n.column),s:n});continue}if(m=RegExp(`^note\\s+(left|right)\\s+of\\s+(${DS})\\s*(?::\\s*(.*))?$`,`u`).exec(f),m){let i=m[1],a=m[2],o=m[3];if(o===void 0){let r=[],i=e+1;for(;i<t.length&&t[i].text!==`end note`;i++)r.push(t[i].text);if(i>=t.length)throw new Y(`The note is not closed`,n.line,n.column,`Add "end note".`);o=r.join(`
|
|
11
|
+
`),e=i}r.notes.push({target:a,side:i,text:o});continue}if(m=RegExp(`^state\\s+(?:"([^"]*)"\\s+as\\s+)?(${DS})\\s*\\{$`,`u`).exec(f),m){let e=m[2];if(r.composites.has(e))throw new Y(`State "${e}" is defined twice`,n.line,n.column);let t=r.states.get(e),a={id:e,name:m[1]??t?.name??e,parent:c(),region:!1,classes:t?.classes??[]};t&&(r.states.delete(e),a.parent=t.parent),r.composites.set(e,a),i.push(a);continue}if(f===`}`){for(;i.length>0&&i[i.length-1].region;)i.pop();if(i.length===0)throw new Y(`"}" without an open state`,n.line,n.column);i.pop();continue}if(f===`--`){for(;i.length>0&&i[i.length-1].region;)i.pop();let e=i[i.length-1];if(!e)throw new Y(`"--" separates regions inside a composite state`,n.line,n.column);let t=a.get(e.id)??0;if(t===0){let t={id:`${e.id}\u0000r0`,name:``,parent:e.id,region:!0,classes:[]};r.composites.set(t.id,t);for(let n of r.states.values())n.parent===e.id&&(n.parent=t.id);for(let n of r.composites.values())n.parent===e.id&&n.id!==t.id&&(n.parent=t.id)}let o={id:`${e.id}\u0000r${t+1}`,name:``,parent:e.id,region:!0,classes:[]};a.set(e.id,t+1),r.composites.set(o.id,o),i.push(o);continue}if(m=RegExp(`^state\\s+"([^"]*)"\\s+as\\s+(${DS})$`,`u`).exec(f),m){let e=u(m[2],n);e.name=m[1];continue}if(m=RegExp(`^state\\s+(${DS})\\s*<<(choice|fork|join)>>$`,`u`).exec(f),m){let e=u(m[1],n);`kind`in e&&(e.kind=m[2]);continue}if(m=RegExp(`^state\\s+(${DS})(?:\\s*:\\s*(.*))?$`,`u`).exec(f),m){let e=u(m[1],n);m[2]!==void 0&&`descriptions`in e&&e.descriptions.push(m[2].trim());continue}if(m=RegExp(`^${OS}(?::::([\\w-]+))?\\s*-->\\s*${OS}(?::::([\\w-]+))?\\s*(?::\\s*(.*))?$`,`u`).exec(f),m){let e=m[1]===`[*]`?l(!0):u(m[1],n).id,t=m[3]===`[*]`?l(!1):u(m[3],n).id;m[2]&&u(e,n).classes.push(m[2]),m[4]&&u(t,n).classes.push(m[4]),r.transitions.push({from:e,to:t,label:m[5]?.trim()||void 0});continue}if(m=RegExp(`^(${DS})\\s*:\\s*(.*)$`,`u`).exec(f),m){let e=u(m[1],n);`descriptions`in e&&e.descriptions.push(m[2].trim());continue}let h=d(f);if(RegExp(`^${DS}$`,`u`).test(h.id)){let e=u(h.id,n);h.cls&&e.classes.push(h.cls)}else throw new Y(`"${f}" is not a state diagram statement`,n.line,n.column)}if(i.some(e=>!e.region))throw new Y(`State "${i.filter(e=>!e.region).pop().id}" is not closed`,0,0,`Add "}".`);for(let e of o)for(let t of e.ids){let n=r.states.get(t)??r.composites.get(t);if(!n)throw new Y(`class refers to an unknown state "${t}"`,e.s.line,e.s.column);n.classes.push(e.cls)}for(let e of s){let t=r.states.get(e.id)??r.composites.get(e.id);if(!t)throw new Y(`style refers to an unknown state "${e.id}"`,e.s.line,e.s.column);t.style=e.style}for(let e of r.notes)if(!r.states.has(e.target)&&!r.composites.has(e.target))throw new Y(`A note refers to an unknown state "${e.target}"`);return r}var AS=16;function jS(e){switch(e){case`start`:return`start`;case`end`:return`end`;case`choice`:return`choice`;case`fork`:case`join`:return`fork`;default:return`round`}}function MS(e,t,n){return xy(n.get(`default`),...e.map(e=>n.get(e)),t)}function NS(e,t,n,r){let i=e.direction===`LR`||e.direction===`RL`,a={...X,weight:`bold`},o=new Map;for(let n of e.states.values())if(n.kind===`state`){if(n.descriptions.length===0){let e=ey(Jv(n.name),X,t),r=Qb(`round`,e.width,e.height);o.set(n.id,{title:e,width:Math.max(r.width,60),height:r.height})}else{let e=ey(Jv(n.name),a,t),r=ey(Jv(n.descriptions.join(`<br>`)),X,t);o.set(n.id,{title:e,body:r,width:Math.max(e.width,r.width,40)+32,height:e.height+r.height+27})}}let s=e=>{if(e.kind===`state`)return o.get(e.id);let t=Qb(jS(e.kind),0,0);return(e.kind===`fork`||e.kind===`join`)&&i?{width:t.height,height:t.width}:t},c=e.notes.map(e=>ey(Yv(e.text),X,t)),l=new Map,u=[];e.notes.forEach((t,n)=>{if(e.composites.has(t.target)){u.push(n);return}let r=c[n],a=(i?r.height:r.width)+16+AS;l.set(t.target,Math.max(l.get(t.target)??0,a))});let d=[...e.states.values()].map(t=>{let n=s(t),r=l.get(t.id)??0,a=Math.max(0,...e.notes.map((e,n)=>e.target===t.id?(i?c[n].width:c[n].height)+16:0));return i?{id:t.id,width:Math.max(n.width,a),height:n.height+r*2,cluster:t.parent}:{id:t.id,width:n.width+r*2,height:Math.max(n.height,a),cluster:t.parent}});for(let t of u){let n=c[t];d.push({id:`\u0000note${t}`,width:n.width+16,height:n.height+16,cluster:e.composites.get(e.notes[t].target).parent})}let f=new Map,p=[...e.composites.values()].map(e=>{!e.region&&e.name!==``&&f.set(e.id,ey(Jv(e.name),a,t));let n=f.get(e.id);return{id:e.id,parent:e.parent,direction:e.direction,label:n?{width:n.width,height:n.height}:void 0}}),m=new Map,h=e.transitions.map((e,n)=>{let r;if(e.label){let i=ey(Jv(e.label),X,t);m.set(n,i),r={width:i.width+8,height:i.height+4}}return{id:String(n),from:e.from,to:e.to,label:r}});for(let t of u)h.push({id:`note${t}`,from:`\u0000note${t}`,to:e.notes[t].target,weight:0});let g=Fx({direction:e.direction,nodes:d,edges:h,clusters:p,nodeSep:40,rankSep:40,clusterPadding:14}),_=e=>{let t=g.nodes.get(e.id),n=s(e);return{x:t.x,y:t.y,width:n.width,height:n.height}},v=t=>{let n=0,r=e.composites.get(t)?.parent;for(;r;)n++,r=e.composites.get(r)?.parent;return n},y=[...e.composites.values()].sort((e,t)=>v(e.id)-v(t.id)).map(t=>{let n=g.clusters.get(t.id),r=MS(t.classes,t.style,e.classDefs),i=n.x-n.width/2,a=n.y-n.height/2;if(t.region)return Q(`rect`,{class:`dg-state-region`,x:i,y:a,width:n.width,height:n.height,rx:4});let o=f.get(t.id),s=o?o.height+10:0;return Q(`g`,{class:`dg-cluster dg-state-composite`,"data-id":t.id},[Q(`rect`,{class:`dg-cluster-box`,x:i,y:a,width:n.width,height:n.height,rx:8,style:Sy(r.shape)}),o?Q(`line`,{class:`dg-state-divider`,x1:i,y1:a+s,x2:i+n.width,y2:a+s}):null,o?$(o,n.x,a+s/2,{className:`dg-cluster-label`,style:Sy(r.text)}):null])}),b=t=>{let n=e.states.get(t);if(n){let e=_(n);return{box:e,clip:t=>ex(jS(n.kind),e,t)}}let r=g.clusters.get(t)??g.nodes.get(t);return{box:r,clip:e=>Fb(r,e)}},x=[],S=[];e.transitions.forEach((e,t)=>{let r=g.edges.get(String(t));if(!r)return;let i;if(r.selfLoop)i=r.points;else{let t=b(e.from),n=b(e.to);i=[r.start??t.clip(r.points[0]??n.box),...r.points,r.end??n.clip(r.points[r.points.length-1]??t.box)]}x.push(Q(`path`,{class:`dg-edge`,d:zb(i),"marker-end":`url(#${Bb(n,`arrow`)})`}));let a=m.get(t);if(a&&r.label){let e=a.width+8,t=a.height+4;S.push(Q(`g`,{},[Q(`rect`,{class:`dg-edge-label-box`,x:r.label.x-e/2,y:r.label.y-t/2,width:e,height:t,rx:3}),$(a,r.label.x,r.label.y,{className:`dg-edge-label`})]))}});let C=[];e.notes.forEach((t,n)=>{let r=c[n],a=r.width+16,o=r.height+16,s,l,u=e.states.get(t.target);if(u){let e=_(u),n=t.side===`left`?-1:1;if(i){let t=e.height/2+AS+o/2;s={x:e.x,y:e.y+n*t,width:a,height:o},l={x:e.x,y:e.y+n*e.height/2}}else{let t=e.width/2+AS+a/2;s={x:e.x+n*t,y:e.y,width:a,height:o},l={x:e.x+n*e.width/2,y:e.y}}}else s=g.nodes.get(`\u0000note${n}`),l=Fb(g.clusters.get(t.target),s);let d=Fb(s,l);C.push(Q(`g`,{class:`dg-note`},[Q(`line`,{class:`dg-note-link`,x1:d.x,y1:d.y,x2:l.x,y2:l.y}),Q(`rect`,{class:`dg-note-box`,x:s.x-a/2,y:s.y-o/2,width:a,height:o,rx:2}),$(r,s.x,s.y,{className:`dg-note-text`})]))});let w=[...e.states.values()].map(t=>{let n=_(t),r=MS(t.classes,t.style,e.classDefs);if(t.kind!==`state`)return Q(`g`,{class:`dg-node dg-state-${t.kind}`,"data-id":t.kind===`start`||t.kind===`end`?void 0:t.id},[$b(jS(t.kind),n,{style:Sy(r.shape)})]);let i=o.get(t.id),a=[$b(`round`,n,{style:Sy(r.shape)})];if(!i.body)a.push($(i.title,n.x,n.y,{style:Sy(r.text)}));else{let e=n.y-n.height/2,t=e+9+i.title.height/2,o=e+13.5+i.title.height;a.push($(i.title,n.x,t,{style:Sy(r.text)}),Q(`line`,{class:`dg-state-divider`,x1:n.x-n.width/2,y1:o,x2:n.x+n.width/2,y2:o}),$(i.body,n.x,o+9/2+i.body.height/2+9/2,{style:Sy(r.text)}))}return Q(`g`,{class:[`dg-node`,`dg-state`,...t.classes.map(e=>`dg-class-${e.replace(/[^\w-]/g,``)}`)].join(` `),"data-id":t.id},a)}),T=[`#${n} .dg-state-start{fill:${Z(`--dg-state-start`)};stroke:none}`,`#${n} .dg-state-end-ring{fill:none;stroke:${Z(`--dg-state-start`)};stroke-width:1.5px}`,`#${n} .dg-state-divider{stroke:${Z(`--dg-node-stroke`)};stroke-width:1px}`,`#${n} .dg-state-composite .dg-state-divider{stroke:${Z(`--dg-cluster-stroke`)}}`,`#${n} .dg-state-region{fill:none;stroke:${Z(`--dg-cluster-stroke`)};stroke-dasharray:5 4}`,`#${n} .dg-state-choice .dg-shape{fill:${Z(`--dg-node-fill`)};stroke:${Z(`--dg-node-stroke`)}}`,`#${n} .dg-note-box{fill:${Z(`--dg-note-fill`)};stroke:${Z(`--dg-note-stroke`)}}`,`#${n} .dg-note-text{fill:${Z(`--dg-note-text`)}}`,`#${n} .dg-note-link{stroke:${Z(`--dg-note-stroke`)};stroke-dasharray:3 3}`].join(``);return Vv({id:n,type:`state`,width:g.width,height:g.height,title:r??e.accessibility.title??`State diagram`,description:e.accessibility.description,defs:Vb(n,[`arrow`]),body:[Q(`g`,{class:`dg-clusters`},y),Q(`g`,{class:`dg-edges`},x),Q(`g`,{class:`dg-edge-labels`},S),Q(`g`,{class:`dg-notes`},C),Q(`g`,{class:`dg-nodes`},w)],css:T})}var PS=200,FS=1e3;function IS(e){let t=[],n=0;for(let r=0;r<=e.length;r++)if(r===e.length||e[r]===`:`&&(r+1===e.length||/\s/.test(e[r+1]))){let i=e.slice(n,r),a=i.trim();t.push({text:a,offset:a===``?Math.max(0,n-1):n+(i.length-i.trimStart().length)}),n=r+1}return t}function LS(e,t,n){for(let r of t){if(r.text===``)throw new Y(`An event is empty`,n.line,n.column+r.offset,`Write text after each ": "`);e.events.push(r.text)}}function RS(e){let t=ny(e),n=t[0],r=n?/^timeline\b\s*(.*)$/.exec(n.text):null;if(!n||!r)throw new Y(`A timeline starts with "timeline"`,n?.line??1,1);let i=r[1].trim();if(i===`TD`||i===`TB`)throw new Y(`Vertical timelines are not supported`,n.line,n.column+9,`Write "timeline" or "timeline LR"`);if(i!==``&&i!==`LR`)throw new Y(`Unexpected "${i}" after "timeline"`,n.line,n.column+9);let a={type:`timeline`,sections:[],periods:[],accessibility:{}},o=0;for(let e=1;e<t.length;e++){let n=t[e],r=sy(t,e,a.accessibility);if(r>0)e+=r-1;else if(/^title(\s|$)/.test(n.text)){let e=n.text.slice(5).trim();a.title=e===``?void 0:e}else if(/^section(\s|$)/.test(n.text)){let e=n.text.slice(7).trim();if(e===``)throw new Y(`A section needs a name`,n.line,n.column,`Write section 2020s`);a.sections.push({label:e,line:n.line})}else{if(n.text.startsWith(`:`)){let e=a.periods[a.periods.length-1];if(!e)throw new Y(`Events without a time period`,n.line,n.column,`Start with a period: 2024 : Event`);let t=IS(n.text.slice(1)).map(e=>({...e,offset:e.offset+1}));LS(e,t,n),o+=t.length}else{if(a.periods.length>=PS)throw new Y(`The timeline has more than ${PS} time periods`,n.line,n.column,`Split it into several timelines.`);let[e,...t]=IS(n.text),r={label:e.text,events:[],section:a.sections.length>0?a.sections.length-1:null,line:n.line};LS(r,t,n),a.periods.push(r),o+=t.length}if(o>FS)throw new Y(`The timeline has more than ${FS} events`,n.line,n.column,`Split it into several timelines.`)}}if(a.periods.length===0&&a.sections.length===0)throw new Y(`The timeline has no time periods`,0,0,`Add lines like: 2024 : Event`);return a}var zS=168,BS=16,VS={...X,size:18,weight:`bold`},HS={...X,weight:`bold`},US={...X,weight:`bold`},WS={...X,size:13},GS=1.08;function KS(e,t,n){return ey($v(Jv(e),144/GS,t,n),t,n)}function qS(e,t,n,r){let i=[],a=0,o=new Map,s=e=>{if(e===null)return a++;let t=o.get(e);return t===void 0&&(t=a++,o.set(e,t)),t},c=0,l=e.periods;for(;c<l.length&&l[c].section===null;)i.push({period:l[c],section:null,colour:s(null)}),c++;e.sections.forEach((e,t)=>{let n=i.length;for(;c<l.length&&l[c].section===t;)i.push({period:l[c],section:t,colour:s(t)}),c++;i.length===n&&i.push({period:null,section:t,colour:s(t)})});let u=e.sections.length>0,d=e=>e*184,f=Math.max(i.length*184-BS,0),p=e.title?ey(Jv(e.title),VS,t):null,m=e.sections.map((e,n)=>{let r=i.flatMap((e,t)=>e.section===n?[t]:[]),a=r[0],s=r[r.length-1],c=d(s)+zS-d(a),l=ey($v(Jv(e.label),(c-24)/GS,HS,t),HS,t);return{x:d(a),width:c,label:l,colour:o.get(n)}}),h=i.map(e=>e.period?KS(e.period.label,US,t):null),g=i.map(e=>e.period?e.period.events.map(e=>KS(e,WS,t)):[]),_=p?p.height+16:0,v=u?Math.max(34,...m.map(e=>e.label.height+16)):0,y=Math.max(40,...h.map(e=>e?e.height+20:0)),b=_,x=b+(u?v+12:0),S=x+y,C=S+24,w=C+24,T=[],ee=[];for(let e of m)ee.push(Q(`g`,{class:`dg-node dg-tl-section`},[Q(`rect`,{class:`dg-tl-section-box`,x:e.x,y:b,width:e.width,height:v,rx:6,style:`fill:${jv(e.colour)}`}),$(e.label,e.x+e.width/2,b+v/2,{className:`dg-tl-section-text`})]));let E=f+18;T.push(Q(`line`,{class:`dg-tl-axis`,x1:-6,y1:C,x2:E-8,y2:C}),Q(`polygon`,{class:`dg-tl-arrow`,points:`${Lv(E-10)},${Lv(C-6)} ${Lv(E)},${Lv(C)} ${Lv(E-10)},${Lv(C+6)}`}));let te=C+8;i.forEach((e,t)=>{if(!e.period)return;let n=d(t),r=n+zS/2,i=jv(e.colour),a=h[t],o=!u;ee.push(Q(`g`,{class:`dg-node dg-tl-period`,"data-line":e.period.line},[Q(`rect`,{class:o?`dg-tl-period-box dg-tl-solid`:`dg-tl-period-box`,x:n,y:x,width:zS,height:y,rx:6,style:o?`fill:${i}`:`fill:${i};stroke:${i}`}),$(a,r,x+y/2,{className:o?`dg-tl-period-text dg-tl-on-solid`:`dg-tl-period-text`})]));let s=g[t],c=s.length>0?w:C;T.push(Q(`line`,{class:`dg-tl-connector`,x1:r,y1:S,x2:r,y2:c,style:`stroke:${i}`})),ee.push(Q(`circle`,{class:`dg-tl-dot`,cx:r,cy:C,r:5,style:`fill:${i}`}));let l=w;s.forEach((e,t)=>{let a=Math.max(32,e.height+14);t>0&&T.push(Q(`line`,{class:`dg-tl-connector`,x1:r,y1:l-10,x2:r,y2:l,style:`stroke:${i}`})),ee.push(Q(`g`,{class:`dg-node dg-tl-event`},[Q(`rect`,{class:`dg-tl-event-box`,x:n,y:l,width:zS,height:a,rx:6,style:`fill:${i};stroke:${i}`}),$(e,r,l+a/2,{className:`dg-tl-event-text`})])),l+=a+10}),te=Math.max(te,l-10)});let D=E+12,O=Math.max(D,p?p.width:0),k=6+(O-D)/2,A=[];p&&A.push($(p,O/2,p.height/2,{className:`dg-title`})),A.push(Q(`g`,{transform:`translate(${Lv(k)},0)`},[...T,...ee]));let j=`#${n}`,M=[`${j} .dg-title{fill:${Z(`--dg-text`)};font-size:18px;font-weight:bold}`,`${j} .dg-tl-section-text{fill:${Z(`--dg-pie-text`)};font-weight:bold}`,`${j} .dg-tl-period-box{fill-opacity:0.2;stroke-width:1.5px}`,`${j} .dg-tl-period-box.dg-tl-solid{fill-opacity:1;stroke:none}`,`${j} .dg-tl-period-text{fill:${Z(`--dg-text`)};font-weight:bold}`,`${j} .dg-tl-on-solid{fill:${Z(`--dg-pie-text`)}}`,`${j} .dg-tl-event-box{fill-opacity:0.08;stroke-opacity:0.6;stroke-width:1px}`,`${j} .dg-tl-event-text{fill:${Z(`--dg-text`)};font-size:13px}`,`${j} .dg-tl-axis{stroke:${Z(`--dg-line`)};stroke-width:2px}`,`${j} .dg-tl-arrow{fill:${Z(`--dg-line`)}}`,`${j} .dg-tl-connector{stroke-width:1.5px;stroke-dasharray:4 3;stroke-opacity:0.8}`].join(``);return Vv({id:n,type:`timeline`,width:O,height:te,title:r??e.accessibility.title??e.title??`Timeline`,description:e.accessibility.description,body:A,css:M})}var JS=/[+-]?(?:\d+(?:\.\d*)?|\.\d+)(?:[eE][+-]?\d+)?/,YS=RegExp(`^(${JS.source})\\s*-->\\s*(${JS.source})$`),XS=1e3;function ZS(e,t,n){let r=e.length-e.trimStart().length,i=e.trimStart();if(i.startsWith(`"`)){let e=i.indexOf(`"`,1);if(e<0)throw new Y(`The quoted text is not closed`,t.line,t.column+n+r,`Add the closing "`);let a=i.slice(1,e);a.startsWith("`")&&a.endsWith("`")&&a.length>=2&&(a=a.slice(1,-1));let o=i.slice(e+1);return{title:a,rest:o,restOffset:n+r+e+1}}return{rest:e,restOffset:n}}function QS(e){let t=[],n=!1,r=0;for(let i=0;i<=e.length;i++){let a=e[i];if(a===`"`&&(n=!n),i===e.length||a===`,`&&!n){let n=e.slice(r,i);t.push({text:n.trim(),offset:r+(n.length-n.trimStart().length)}),r=i+1}}return t}function $S(e,t,n){let r=e.indexOf(`[`);if(r<0)return null;let i=e.trimEnd();if(!i.endsWith(`]`))throw new Y(`The list is not closed`,t.line,t.column+n+r,`End it with "]"`);let a=i.slice(r+1,-1),o=a.trim()===``?[]:QS(a).map(e=>({...e,offset:n+r+1+e.offset}));return{before:e.slice(0,r),items:o}}function eC(e){if(!RegExp(`^${JS.source}$`).exec(e))return null;let t=Number(e);return Number.isFinite(t)?t:null}function tC(e){let t=e.trim();return t===``?void 0:t}function nC(e,t){let n=t.length,{title:r,rest:i,restOffset:a}=ZS(e.text.slice(n),e,n),o=$S(i,e,a);if(o){if(t===`y-axis`)throw new Y(`The y axis is numeric and has no categories`,e.line,e.column,`Write y-axis "Title" 0 --> 100`);let n=r??tC(o.before);if(r!==void 0&&o.before.trim()!==``)throw new Y(`Unexpected "${o.before.trim()}"`,e.line,e.column+a);let i=o.items.map(t=>{if(t.text===``)throw new Y(`A category is empty`,e.line,e.column+t.offset,`Remove the extra comma`);return t.text.length>=2&&t.text.startsWith(`"`)&&t.text.endsWith(`"`)?t.text.slice(1,-1):t.text});if(i.length===0)throw new Y(`The x axis has no categories`,e.line,e.column,`List them: x-axis [a, b, c]`);return{kind:`band`,title:n,categories:i}}let s=i.trim(),c=/(\S+)\s*-->\s*(\S+)\s*$/.exec(s);if(c){let t=e.column+a+(i.length-i.trimStart().length)+c.index,n=YS.exec(c[0].trim());if(!n)throw new Y(`"${c[0].trim()}" is not a range of numbers`,e.line,t,`Write min --> max, e.g. 0 --> 100`);let o=Number(n[1]),l=Number(n[2]);if(!(l>o))throw new Y(`The end of the range must be greater than its start`,e.line,t);let u=s.slice(0,c.index);if(r!==void 0&&u.trim()!==``)throw new Y(`Unexpected "${u.trim()}"`,e.line,e.column+a);return{kind:`linear`,title:r??tC(u),min:o,max:l}}if(r!==void 0&&s!==``)throw new Y(`Unexpected "${s}"`,e.line,e.column+a+(i.length-i.trimStart().length));return{kind:`linear`,title:r??tC(s)}}function rC(e,t){let n=t.length,{title:r,rest:i,restOffset:a}=ZS(e.text.slice(n),e,n),o=$S(i,e,a);if(!o)throw new Y(`A ${t} series needs its values in brackets`,e.line,e.column,`Write ${t} [1, 2, 3]`);if(r!==void 0&&o.before.trim()!==``)throw new Y(`Unexpected "${o.before.trim()}"`,e.line,e.column+a);let s=o.items.map(t=>{let n=eC(t.text);if(n===null)throw new Y(`"${t.text}" is not a number`,e.line,e.column+t.offset,`Values are plain numbers: 12, -3.5, .25`);return n});if(s.length===0)throw new Y(`The ${t} series has no values`,e.line,e.column,`Write ${t} [1, 2, 3]`);if(s.length>XS)throw new Y(`The series has ${s.length} values; the limit is ${XS}`,e.line,e.column);return{kind:t,title:r??tC(o.before),values:s,line:e.line,column:e.column}}function iC(e){let t=ny(e),n=t[0],r=n?/^(xychart-beta|xychart)\b\s*(.*)$/.exec(n.text):null;if(!n||!r)throw new Y(`An XY chart starts with "xychart-beta"`,n?.line??1,1);let i={type:`xychart`,horizontal:!1,yAxis:{kind:`linear`},series:[],accessibility:{}},a=r[2].trim();if(a===`horizontal`)i.horizontal=!0;else if(a!==``&&a!==`vertical`)throw new Y(`Unexpected "${a}" after "${r[1]}"`,n.line,n.column+r[1].length+1,`Write "horizontal", or nothing`);let o=null,s=null;for(let e=1;e<t.length;e++){let n=t[e],r=sy(t,e,i.accessibility);if(r>0){e+=r-1;continue}let a=/^(title|x-axis|y-axis|bar|line)\b/.exec(n.text)?.[1];switch(a){case`title`:{let{title:e,rest:t}=ZS(n.text.slice(5),n,5),r=e??t.trim();if(e!==void 0&&t.trim()!==``)throw new Y(`Unexpected "${t.trim()}"`,n.line,n.column+n.text.indexOf(t.trim(),6));i.title=r===``?void 0:r;break}case`x-axis`:case`y-axis`:{let e=a===`x-axis`?o:s;if(e)throw new Y(`The ${a} is already declared on line ${e.line}`,n.line,n.column,`Declare each axis once`);let t=nC(n,a);a===`x-axis`?(i.xAxis=t,o=n):(i.yAxis=t,s=n);break}case`bar`:case`line`:i.series.push(rC(n,a));break;default:throw new Y(`"${n.text}" is not an XY chart statement`,n.line,n.column,`Expected title, x-axis, y-axis, bar or line`)}}if(i.series.length===0)throw new Y(`The chart has no data`,0,0,`Add a series: bar [1, 2, 3] or line [1, 2, 3]`);let c=i.xAxis,l=c?.kind===`band`?c.categories.length:i.series[0].values.length;for(let e of i.series)if(e.values.length!==l){let t=c?.kind===`band`?`the x axis has ${l} categories`:`the first series has ${l}`;throw new Y(`The ${e.kind} series has ${e.values.length} values, but ${t}`,e.line,e.column,`Give every series one value per point`)}return i}var aC=[1,2,2.5,5,10];function oC(e,t){let n=e/Math.max(1,t),r=10**Math.floor(Math.log10(n));for(let e of aC)if(e*r>=n*(1-1e-9))return e*r;return 10*r}function sC(e){for(let t=0;t<12;t++){let n=e*10**t;if(Math.abs(n-Math.round(n))<1e-6*Math.max(1,n))return t}return 12}function cC(e,t){return Number(e.toFixed(t))}function lC(e,t,n,r){let i=e,a=t;if(a<=i){let e=i===0?1:Math.abs(i)/2;i-=e,a+=e}let o=oC(a-i,n),s=sC(o);r&&(i=cC(Math.floor(i/o+1e-9)*o,s),a=cC(Math.ceil(a/o-1e-9)*o,s));let c=[],l=Math.ceil(i/o-1e-9),u=Math.floor(a/o+1e-9);for(let e=l;e<=u&&c.length<=1e3;e++)c.push(cC(e*o,s));return{min:i,max:a,step:o,values:c}}var uC=[[0xe8d4a51000,`T`],[1e9,`B`],[1e6,`M`],[1e3,`k`]];function dC(e,t){let n=Math.max(0,...e.map(Math.abs)),r=1,i=``;for(let[e,a]of uC)if(n>=e*10&&t>=e/10){r=e,i=a;break}let a=sC(t/r);return e=>e===0?`0`:fC(e/r,a)+i}function fC(e,t){let n=Math.abs(e).toFixed(t);return(e<0&&Number(n)!==0?`−`:``)+n}var pC={...X,size:18,weight:`bold`},mC={...X,size:13,weight:`bold`},hC={...X,size:12},gC={...X,size:13},_C=8,vC=12,yC=Math.SQRT1_2;function bC(e,t,n){let r=Jv(e);return ey(n?$v(r,n,hC,t):r,hC,t)}function xC(e,t,n,r){let i=e.horizontal,a=e.series[0].values.length,o=e.series.filter(e=>e.kind===`bar`),s=e.series.filter(e=>e.kind===`line`),c=e.xAxis,l=c?.kind===`linear`&&c.min!==void 0&&c.max!==void 0?{min:c.min,max:c.max}:null,u=c?.kind===`band`?c.categories:Array.from({length:a},(e,t)=>String(t+1)),d=l?[]:u.map(e=>bC(e,t,i?160:void 0)),f;if(i){let e=Math.max(0,...d.map(e=>e.height)),t=l?0:Math.max(30,o.length*14+12,e+10);f=l?320:Math.min(Math.max(a*t,120),1600)}else f=l?600:Math.min(Math.max(a*60,400),800);let p=i?520:320,m=f/a,h=e.series.flatMap(e=>e.values),g=e.yAxis,_=g.min!==void 0&&g.max!==void 0,v=Math.min(...h),y=Math.max(...h);o.length>0&&(v=Math.min(v,0),y=Math.max(y,0));let b=i?Math.max(2,Math.floor(p/90)):Math.max(2,Math.floor(p/45)),x=_?lC(g.min,g.max,b,!1):lC(v,y,b,!0),S=_?g.min:x.min,C=_?g.max:x.max,w=dC(x.values,x.step),T=e=>(e-S)/(C-S)*p,ee=l&&o.length>0?m/2:0,E=e=>ee+(e-l.min)/(l.max-l.min)*(f-ee*2),te=e=>{if(!l)return(e+.5)*m;let t=a===1?(l.min+l.max)/2:l.min+e*(l.max-l.min)/(a-1);return E(t)},D=l?(()=>{let e=lC(l.min,l.max,Math.max(2,Math.floor(f/(i?40:70))),!1),n=dC(e.values,e.step);return e.values.map(e=>({measured:ey(Yv(n(e)),hC,t),at:E(e)}))})():d.map((e,t)=>({measured:e,at:te(t)})),O=x.values.map(e=>({measured:ey(Yv(w(e)),hC,t),at:T(e)})),k=!i&&!l&&d.some(e=>e.width>m-6),A=e.title?ey(Jv(e.title),pC,t):null,j=c?.title?ey(Jv(c.title),mC,t):null,M=g.title?ey(Jv(g.title),mC,t):null,N=e.series.map((e,t)=>({series:e,index:t})).filter(e=>e.series.title!==void 0).map(e=>({...e,measured:ey(Jv(e.series.title),gC,t)})),ne,re,ie=0;if(i){let e=Math.max(0,...D.map(e=>e.measured.width));ne=(j?j.height+_C:0)+e+_C,re=_C+Math.max(0,...O.map(e=>e.measured.height))+(M?_C+M.height:0);let t=O[O.length-1];t&&(ie=Math.max(0,t.at+t.measured.width/2-p))}else{let e=Math.max(0,...O.map(e=>e.measured.width));ne=(M?M.height+_C:0)+e+_C;let t;if(k){t=Math.max(...d.map(e=>(e.width+e.height/2)*yC))+Math.max(...d.map(e=>e.height))*yC;let e=d[0];ne=Math.max(ne,(e.width+e.height/2)*yC-m/2+4)}else{t=Math.max(0,...D.map(e=>e.measured.height));let e=D[D.length-1];e&&(ie=Math.max(0,e.at+e.measured.width/2-f));let n=D[0];n&&(ne=Math.max(ne,n.measured.width/2-n.at))}re=_C+t+(j?_C+j.height:0)}let ae=i?p:f,oe=i?f:p,se=[],ce=e=>18+e.measured.width,le=Math.max(ae,200);for(let e of N){let t=se[se.length-1];t&&t.width+20+ce(e)<=le?(t.items.push(e),t.width+=20+ce(e)):se.push({items:[e],width:ce(e)})}let ue=se.length>0?se.length*20+_C:0,de=A?A.height+12:0,P=ne,fe=de+ue+6,pe=P+ae,me=fe+oe,he=pe+ie,ge=me+re,_e=(e,t)=>i?{x:P+t,y:fe+e}:{x:P+e,y:me-t},ve=[],ye=[],be=[];ve.push(Q(`g`,{class:`dg-xy-grid`},O.map(e=>{let t=_e(0,e.at),n=_e(f,e.at);return Q(`line`,{x1:t.x,y1:t.y,x2:n.x,y2:n.y})})));let xe=T(Math.min(Math.max(0,S),C));{let e=_e(0,xe),t=_e(f,xe);be.push(Q(`line`,{class:`dg-xy-axis`,x1:e.x,y1:e.y,x2:t.x,y2:t.y}))}l&&be.push(Q(`g`,{class:`dg-xy-tick`},D.map(e=>{let t=_e(e.at,xe);return i?Q(`line`,{x1:t.x-4,y1:t.y,x2:t.x,y2:t.y}):Q(`line`,{x1:t.x,y1:t.y,x2:t.x,y2:t.y+4})})));let F=m*(o.length>1?.8:.66),Se=o.length>1?Math.min(4,F/o.length*.15):0,Ce=(F-Se*(o.length-1))/Math.max(1,o.length);o.forEach((t,n)=>{let r=e.series.indexOf(t);ye.push(Q(`g`,{class:`dg-xy-bars dg-xy-series-${r}`},t.values.map((e,t)=>{let a=te(t)-F/2+n*(Ce+Se),o=Math.min(xe,T(e)),s=Math.max(xe,T(e)),c=i?_e(a,o):_e(a,s);return Q(`rect`,{class:`dg-xy-bar`,x:c.x,y:c.y,width:i?s-o:Ce,height:i?Ce:s-o,style:`fill:${jv(r)}`})})))});for(let t of s){let n=e.series.indexOf(t),r=t.values.map((e,t)=>_e(te(t),T(e))),i=new Bv;r.forEach((e,t)=>t===0?i.moveTo(e.x,e.y):i.lineTo(e.x,e.y));let a=r.length<=60&&m>=8;ye.push(Q(`g`,{class:`dg-xy-line dg-xy-series-${n}`},[Q(`path`,{class:`dg-xy-line-path`,d:i.toString(),style:`stroke:${jv(n)}`}),...a?r.map(e=>Q(`circle`,{class:`dg-xy-dot`,cx:e.x,cy:e.y,r:3.5,style:`fill:${jv(n)}`})):[]]))}if(i){for(let e of D)be.push($(e.measured,P-_C,fe+e.at,{anchor:`end`,className:`dg-xy-tick-label`}));for(let e of O)be.push($(e.measured,P+e.at,me+_C+e.measured.height/2,{className:`dg-xy-tick-label`}))}else{for(let e of O)be.push($(e.measured,P-_C,me-e.at,{anchor:`end`,className:`dg-xy-tick-label`}));for(let e of D){let t=P+e.at;if(k){let n=me+_C+e.measured.height/2*yC;be.push(Q(`g`,{transform:`rotate(-45 ${SC(t)} ${SC(n)})`},[$(e.measured,t,n,{anchor:`end`,className:`dg-xy-tick-label`})]))}else be.push($(e.measured,t,me+_C+e.measured.height/2,{className:`dg-xy-tick-label`}))}}let we=i?j:M,Te=i?M:j;if(we){let e=we.height/2,t=fe+oe/2;be.push(Q(`g`,{transform:`rotate(-90 ${SC(e)} ${SC(t)})`},[$(we,e,t,{className:`dg-xy-axis-title`})]))}Te&&be.push($(Te,P+ae/2,ge-Te.height/2,{className:`dg-xy-axis-title`}));let Ee=P+ae/2;A&&be.push($(A,Ee,A.height/2,{className:`dg-title`})),se.forEach((e,t)=>{let n=Ee-e.width/2,r=de+t*20+10;for(let t of e.items){let e=jv(t.index);be.push(Q(`g`,{class:`dg-xy-legend-item`},[t.series.kind===`bar`?Q(`rect`,{x:n,y:r-vC/2,width:vC,height:vC,rx:2,style:`fill:${e}`}):Q(`line`,{class:`dg-xy-legend-line`,x1:n,y1:r,x2:n+vC,y2:r,style:`stroke:${e}`}),$(t.measured,n+vC+6,r,{anchor:`start`,className:`dg-xy-legend`})])),n+=ce(t)+20}});let De=`${n}-plot`,Oe=[Q(`clipPath`,{id:De},[Q(`rect`,{x:P-4,y:fe-4,width:ae+8,height:oe+8})])],ke=[...ve,Q(`g`,{"clip-path":`url(#${De})`},ye),...be],Ae=`#${n}`,je=[`${Ae} .dg-title{fill:${Z(`--dg-text`)};font-size:18px;font-weight:bold}`,`${Ae} .dg-xy-grid line{stroke:${Z(`--dg-grid`)};stroke-width:1px}`,`${Ae} .dg-xy-axis,${Ae} .dg-xy-tick line{stroke:${Z(`--dg-line`)};stroke-width:1px}`,`${Ae} .dg-xy-tick-label{fill:${Z(`--dg-text-muted`)};font-size:12px}`,`${Ae} .dg-xy-axis-title{fill:${Z(`--dg-text`)};font-size:13px;font-weight:bold}`,`${Ae} .dg-xy-line-path{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}`,`${Ae} .dg-xy-legend-line{stroke-width:2.5px;stroke-linecap:round}`,`${Ae} .dg-xy-legend{fill:${Z(`--dg-text`)};font-size:13px}`].join(``);return Vv({id:n,type:`xychart`,width:he,height:ge,title:r??e.accessibility.title??e.title??`XY chart`,description:e.accessibility.description,defs:Oe,body:ke,css:je})}function SC(e){return Math.round(e*100)/100}var CC=500,wC=[{open:`((`,close:`))`,shape:`circle`},{open:`))`,close:`((`,shape:`bang`},{open:`{{`,close:`}}`,shape:`hexagon`},{open:`(`,close:`)`,shape:`rounded`},{open:`)`,close:`(`,shape:`cloud`},{open:`[`,close:`]`,shape:`square`}];function TC(e){let t=e.indexOf('"`');return t>=0&&e.indexOf('`"',t+2)<0}function EC(e){let t=e.trim();if(t.length<2||!t.startsWith(`"`)||!t.endsWith(`"`))return null;let n=t.slice(1,-1);return n.length>=2&&n.startsWith("`")&&n.endsWith("`")?{label:n.slice(1,-1),markdown:!0}:{label:n,markdown:!1}}function DC(e,t,n){let r=e,i,a=[];for(;;){let e=/\s*::icon\(([^)]*)\)\s*$/.exec(r);if(e&&!r.slice(0,e.index).endsWith(`:`)){i=e[1].trim(),r=r.slice(0,e.index);continue}let t=/\s*:::\s*([\w-]+(?:\s+[\w-]+)*)\s*$/.exec(r);if(t)a.unshift(...t[1].split(/\s+/)),r=r.slice(0,t.index);else break}r=r.trimEnd();let o=EC(r);if(o)return{id:n(),...o,shape:`default`,icon:i,classes:a};let s=r.search(/[[(){}]/);if(s<0)return{id:r,label:r,markdown:!1,shape:`default`,icon:i,classes:a};let c=wC.find(e=>r.startsWith(e.open,s));if(!c)throw new Y(`"${r[s]}" does not start a node shape`,t.line,t.column+s,`Shapes: [square], (rounded), ((circle)), ))bang((, )cloud(, {{hexagon}}`);if(!r.endsWith(c.close)||r.length<s+c.open.length+c.close.length)throw new Y(`The "${c.open}" shape is not closed at the end of the line`,t.line,t.column+s,`End the node with "${c.close}", or put text with brackets in quotes: id["text (note)"]`);let l=r.slice(s+c.open.length,r.length-c.close.length),{label:u,markdown:d}=EC(l)??{label:l.trim(),markdown:!1};if(u.trim()===``)throw new Y(`The node has no text`,t.line,t.column+s,`Write id${c.open}text${c.close}`);let f=r.slice(0,s).trim();return{id:f===``?n():f,label:u,markdown:d,shape:c.shape,icon:i,classes:a}}function OC(e){let t=ny(e),n=t[0],r=n?/^mindmap\b\s*(.*)$/.exec(n.text):null;if(!n||!r)throw new Y(`A mind map starts with "mindmap"`,n?.line??1,1);if(r[1].trim()!==``)throw new Y(`Unexpected "${r[1].trim()}" after "mindmap"`,n.line,n.column+8,`Put the root on the next line`);let i={},a=null,o=null,s=0,c=[],l=()=>`node-${s}`;for(let e=1;e<t.length;e++){let n=t[e],r=sy(t,e,i);if(r>0){e+=r-1;continue}let u=n.column-1,d=n.text;for(;TC(d);){if(e+1>=t.length)throw new Y(`The markdown string is not closed`,n.line,n.column+d.indexOf('"`'),'End it with `"');e++,d+=`
|
|
12
|
+
`+t[e].text}let f=/^(::icon\(([^)]*)\)|:::\s*([\w-]+(?:\s+[\w-]+)*))$/.exec(d);if(f){if(!o)throw new Y(`"${d}" comes before any node`,n.line,n.column,`Put it under the node it belongs to`);f[2]===void 0?o.classes.push(...f[3].split(/\s+/)):o.icon=f[2].trim();continue}let p=DC(d,n,l),m={...p,children:[],line:n.line,column:n.column};for(;c.length>0&&c[c.length-1].indent>=u;)c.pop();let h=c[c.length-1];if(h)h.node.children.push(m);else{if(a)throw new Y(`A mind map has one root; "${p.label}" is a second one`,n.line,n.column,`Indent it under "${a.label}" (line ${a.line})`);a=m}if(c.push({node:m,indent:u}),o=m,s++,s>CC)throw Dv(`nodes`,s,CC)}if(!a)throw new Y(`The mind map is empty`,0,0,`Add a root node on the line after "mindmap"`);return{type:`mindmap`,root:a,accessibility:i}}var kC={...X,size:16,weight:`bold`},AC={...X,weight:`bold`},jC={...X,size:13},MC=200,NC=1.06,PC=56,FC=36,IC=22,LC=10;function RC(e){return e===0?kC:e===1?AC:jC}function zC(e,t,n,r){let i=r===0?22:14,a=r===0?13:8;switch(e){case`circle`:{let e=Math.max(Math.hypot(t,n)+16,r===0?72:44);return{width:e,height:e}}case`bang`:{let e=(t/2+8)*Math.SQRT2*1.3,r=(n/2+6)*Math.SQRT2*1.3;return{width:e*2,height:r*2}}case`cloud`:return{width:t+i*2+18,height:n+a*2+16};case`hexagon`:{let e=n+a*2;return{width:t+i*2+e/2,height:e}}default:return{width:t+i*2,height:n+a*2}}}function BC(e,t,n,r){let i=RC(t),a=ey($v(Jv(e.label,{markdown:e.markdown}),MC,i,r),i,r),o=zC(e.shape,a.width*NC,a.height,t),s=e.children.map((e,i)=>BC(e,t+1,t===0?i:n,r)),c=t===0?IC:LC,l=s.reduce((e,t)=>e+t.block,0)+c*Math.max(0,s.length-1);return{node:e,depth:t,branch:n,label:a,...o,x:0,y:0,block:Math.max(o.height,l),children:s}}function VC(e,t,n,r){e.x=n+t*e.width/2,e.y=r+e.block/2;let i=e.depth===0?IC:LC,a=e.children.reduce((e,t)=>e+t.block,0)+i*Math.max(0,e.children.length-1),o=r+(e.block-a)/2,s=e.x+t*(e.width/2+FC);for(let n of e.children)VC(n,t,s,o),o+=n.block+i}function HC(e){if(e.length<=1)return e.length;let t=e.reduce((e,t)=>e+t,0),n=1,r=1/0,i=0;for(let a=1;a<=e.length;a++){i+=e[a-1];let o=Math.abs(i-(t-i));o<r-1e-9&&(n=a,r=o)}return Math.min(n,e.length-1)}function UC(e,t,n,r){let i=e-n/2+7,a=t-r/2+7,o=n-14,s=r-14,c=[{x:i,y:a},{x:i+o,y:a},{x:i+o,y:a+s},{x:i,y:a+s}],l=new Bv().moveTo(i,a);return c.forEach((e,t)=>{let n=c[(t+1)%4],r=Math.hypot(n.x-e.x,n.y-e.y),i=Math.max(1,Math.round(r/26)),a=r/i;for(let t=1;t<=i;t++){let r=e.x+(n.x-e.x)*t/i,o=e.y+(n.y-e.y)*t/i;l.arcTo(a*.6,a*.6,0,!1,!0,r,o)}}),l.close().toString()}function WC(e,t,n,r){let i=n/2,a=r/2,o=Math.PI*(i+a),s=Math.max(10,Math.min(28,Math.round(o/30))),c=new Bv;for(let n=0;n<s*2;n++){let r=-Math.PI/2+n*Math.PI/s,o=n%2==0?1:.8,l=e+Math.cos(r)*i*o,u=t+Math.sin(r)*a*o;n===0?c.moveTo(l,u):c.lineTo(l,u)}return c.close().toString()}function GC(e,t,n,r){let i=e-n/2,a=t-r/2;return new Bv().moveTo(i,a+r).lineTo(i,a+6).quadTo(i,a,i+6,a).lineTo(i+n-6,a).quadTo(i+n,a,i+n,a+6).lineTo(i+n,a+r).close().toString()}function KC(e,t){let n=t?`fill:${t};stroke:${t}`:void 0,r={x:e.x,y:e.y,width:e.width,height:e.height},i=`dg-mm-shape`;switch(e.depth===0&&e.node.shape==="default"?`rounded`:e.node.shape){case`square`:return[$b(`rect`,r,{className:i,style:n})];case`rounded`:return[Q(`rect`,{class:i,style:n,x:e.x-e.width/2,y:e.y-e.height/2,width:e.width,height:e.height,rx:10,ry:10})];case`circle`:return[$b(`circle`,r,{className:i,style:n})];case`hexagon`:return[$b(`hexagon`,r,{className:i,style:n})];case`cloud`:return[Q(`path`,{class:i,style:n,d:UC(e.x,e.y,e.width,e.height)})];case`bang`:return[Q(`path`,{class:i,style:n,d:WC(e.x,e.y,e.width,e.height)})];default:return[Q(`path`,{class:`${i} dg-mm-default`,style:t?`fill:${t}`:void 0,d:GC(e.x,e.y,e.width,e.height)}),Q(`line`,{class:`dg-mm-bar`,x1:e.x-e.width/2,y1:e.y+e.height/2,x2:e.x+e.width/2,y2:e.y+e.height/2,style:t?`stroke:${t}`:void 0})]}}function qC(e,t,n,r){let i=BC(e.root,0,-1,t),a=HC(i.children.map(e=>e.block)),o=i.children.slice(0,a),s=i.children.slice(a).reverse(),c=e=>e.reduce((e,t)=>e+t.block,0)+IC*Math.max(0,e.length-1);i.x=0,i.y=0;let l=-c(o)/2;for(let e of o)VC(e,1,i.width/2+PC,l),l+=e.block+IC;l=-c(s)/2;for(let e of s)VC(e,-1,-i.width/2-PC,l),l+=e.block+IC;let u=[],d=e=>{u.push(e),e.children.forEach(d)};d(i);let f=Math.min(...u.map(e=>e.x-e.width/2)),p=Math.max(...u.map(e=>e.x+e.width/2)),m=Math.min(...u.map(e=>e.y-e.height/2)),h=Math.max(...u.map(e=>e.y+e.height/2)),g=[],_=[];for(let e of u){let t=e.depth===0?void 0:jv(e.branch);for(let t of e.children){let n=t.x>=e.x?1:-1,r=e.x+n*e.width/2,i=t.x-n*t.width/2,a=(i-r)/2,o=new Bv().moveTo(r,e.y).curveTo(r+a,e.y,i-a,t.y,i,t.y);g.push(Q(`path`,{class:`dg-mm-edge dg-mm-edge-${Math.min(t.depth,3)}`,d:o.toString(),style:`stroke:${jv(t.branch)}`}))}let n=[`dg-node`,`dg-mm-node`,e.depth===0?`dg-mm-root`:`dg-mm-depth-${Math.min(e.depth,2)}`];_.push(Q(`g`,{class:n.join(` `),"data-id":/^[\w.:-]+$/.test(e.node.id)?e.node.id:void 0},[...KC(e,t),$(e.label,e.x,e.y,{className:e.depth===0?`dg-mm-root-text`:`dg-mm-text`})]))}let v=`#${n}`,y=[`${v} .dg-mm-edge{fill:none;stroke-linecap:round}`,`${v} .dg-mm-edge-1{stroke-width:3px}`,`${v} .dg-mm-edge-2{stroke-width:2px}`,`${v} .dg-mm-edge-3{stroke-width:1.5px}`,`${v} .dg-mm-shape{stroke-width:1.5px}`,`${v} .dg-mm-root .dg-mm-shape{fill:${Z(`--dg-node-fill`)};stroke:${Z(`--dg-node-stroke`)};stroke-width:2px}`,`${v} .dg-mm-depth-1 .dg-mm-shape{fill-opacity:0.24;stroke-width:2px}`,`${v} .dg-mm-depth-2 .dg-mm-shape{fill-opacity:0.1}`,`${v} .dg-mm-bar{stroke-width:3px;stroke-linecap:round}`,`${v} .dg-mm-depth-2 .dg-mm-bar{stroke-width:2px}`,`${v} .dg-mm-text{fill:${Z(`--dg-text`)}}`,`${v} .dg-mm-depth-2 .dg-mm-text{font-size:13px}`,`${v} .dg-mm-root-text{fill:${Z(`--dg-node-text`)};font-size:16px;font-weight:bold}`,`${v} .dg-mm-depth-1 .dg-mm-text{font-weight:bold}`].join(``);return Vv({id:n,type:`mindmap`,width:p-f,height:h-m,title:r??e.accessibility.title??`Mind map`,description:e.accessibility.description,body:[Q(`g`,{transform:`translate(${Lv(-f)},${Lv(-m)})`},[Q(`g`,{class:`dg-mm-edges`},g),..._])],css:y})}var JC={TB:`TB`,TD:`TB`,BT:`BT`,LR:`LR`,RL:`RL`},YC=`(?:"[^"]*"|[\\p{L}_][\\p{L}\\p{N}_]*(?:-[\\p{L}\\p{N}_]+)*)`,XC={"||":`one`,"|o":`zero-one`,"}|":`one-many`,"}o":`zero-many`},ZC={"||":`one`,"o|":`zero-one`,"|{":`one-many`,"o{":`zero-many`},QC={"--":!0,"..":!1,".-":!1,"-.":!1},$C=[[`only one`,`one`],[`zero or one`,`zero-one`],[`one or zero`,`zero-one`],[`one or more`,`one-many`],[`one or many`,`one-many`],[`many(1)`,`one-many`],[`1+`,`one-many`],[`zero or more`,`zero-many`],[`zero or many`,`zero-many`],[`many(0)`,`zero-many`],[`0+`,`zero-many`],[`1`,`one`]],ew=`(${$C.map(([e])=>e.replace(/[()+]/g,e=>`\\${e}`).replace(/ /g,`\\s+`)).join(`|`)})`,tw=RegExp(`^(${YC})\\s*(\\|\\||\\|o|\\}\\||\\}o)(--|\\.\\.|\\.-|-\\.)(\\|\\||o\\||\\|\\{|o\\{)\\s*(${YC})\\s*(?::\\s*(.*))?$`,`u`),nw=RegExp(`^(${YC})\\s+${ew}\\s+(to|optionally\\s+to)\\s+${ew}\\s+(${YC})\\s*(?::\\s*(.*))?$`,`iu`),rw=RegExp(`^(${YC})(?:\\[\\s*("[^"]*"|[^\\]"]*?)\\s*\\])?(?::::([\\w-]+))?\\s*(\\{\\s*\\}?)?$`,`u`);function iw(e){let t=e.toLowerCase().replace(/\s+/g,` `);return $C.find(([e])=>e===t)[1]}function aw(e){return e.startsWith(`"`)?e.slice(1,-1):e}function ow(e){let t=(e??``).trim();return t.length>=2&&t.startsWith(`"`)&&t.endsWith(`"`)?t.slice(1,-1):t}function sw(e){let t=/^(\S+)\s+(\S+)(.*)$/u.exec(e.text);if(!t)throw new Y(`"${e.text}" is not an attribute`,e.line,e.column,`Write a type and a name: string firstName.`);let[,n,r,i]=t;if(!/^[\p{L}_*][\p{L}\p{N}_\-[\]().,~]*$/u.test(n))throw new Y(`"${n}" is not an attribute type`,e.line,e.column);let a=e.column+e.text.indexOf(r,n.length);if(!/^\*?[\p{L}_][\p{L}\p{N}_\-[\]().]*$/u.test(r))throw new Y(`"${r}" is not an attribute name`,e.line,a);let o=a+r.length,s=/^\s*((?:PK|FK|UK)(?:\s*,\s*(?:PK|FK|UK))*)?\s*(?:"([^"]*)")?\s*$/.exec(i);if(!s){let t=o+(i.length-i.trimStart().length);throw new Y(`"${i.trim()}" is not a key or a comment`,e.line,t,`After the name come keys (PK, FK, UK, comma-separated) and a "comment" in double quotes.`)}return{type:n,name:r,keys:s[1]?[...new Set(s[1].split(`,`).map(e=>e.trim()))]:[],comment:s[2]}}function cw(e){let t=ny(e),n=t[0];if(!n||n.text!==`erDiagram`)throw new Y(`An entity relationship diagram starts with "erDiagram"`,n?.line??1,n?.column??1);let r={type:`er`,direction:`TB`,entities:new Map,relationships:[],classDefs:new Map,accessibility:{}},i=[],a=[],o=e=>{let t=aw(e),n=r.entities.get(t);return n||(n={id:t,label:t,attributes:[],classes:[]},r.entities.set(t,n)),n};for(let e=1;e<t.length;e++){let n=t[e],s=n.text,c=sy(t,e,r.accessibility);if(c>0){e+=c-1;continue}let l=/^direction\s+(\w+)$/.exec(s);if(l){let e=JC[l[1].toUpperCase()];if(!e)throw new Y(`"${l[1]}" is not a direction`,n.line,n.column+10,`Use TB, BT, LR or RL.`);r.direction=e;continue}if(l=/^classDef\s+([\w,-]+)\s+(.+)$/.exec(s),l){let e=yy(l[2],n.line,n.column);for(let t of l[1].split(`,`))r.classDefs.set(t.trim(),e);continue}if(l=/^class\s+(.+?)\s+([\w-]+)$/.exec(s),l){i.push({ids:l[1].split(`,`).map(e=>aw(e.trim())),cls:l[2],s:n});continue}if(l=/^style\s+("[^"]*"|\S+)\s+(.+)$/.exec(s),l){a.push({id:aw(l[1]),style:yy(l[2],n.line,n.column),s:n});continue}if(l=tw.exec(s),l){r.relationships.push({from:o(l[1]).id,fromCardinality:XC[l[2]],identifying:QC[l[3]],toCardinality:ZC[l[4]],to:o(l[5]).id,label:ow(l[6])});continue}if(l=nw.exec(s),l){r.relationships.push({from:o(l[1]).id,fromCardinality:iw(l[2]),identifying:l[3].toLowerCase()===`to`,toCardinality:iw(l[4]),to:o(l[5]).id,label:ow(l[6])});continue}if(l=rw.exec(s),l){let r=o(l[1]);l[2]!==void 0&&l[2]!==``&&(r.label=aw(l[2])),l[3]&&r.classes.push(l[3]);let i=l[4];if(i!==void 0&&!i.endsWith(`}`)){let i=e+1;for(;i<t.length&&t[i].text!==`}`;i++)r.attributes.push(sw(t[i]));if(i>=t.length)throw new Y(`The attributes of "${r.id}" are not closed`,n.line,n.column,`Add "}" on its own line.`);e=i}continue}let u=RegExp(`^(${YC})\\s*([|}{o.\\-=<>]{2,})`,`u`).exec(s);throw u?new Y(`"${u[2]}" is not a relationship`,n.line,n.column+s.indexOf(u[2],u[1].length),`Write a cardinality on each side of -- or ..: ||, |o, }|, }o on the left; ||, o|, |{, o{ on the right.`):s===`}`?new Y(`"}" without an open entity`,n.line,n.column):new Y(`"${s}" is not an entity relationship statement`,n.line,n.column)}for(let e of i)for(let t of e.ids){let n=r.entities.get(t);if(!n)throw new Y(`class refers to an unknown entity "${t}"`,e.s.line,e.s.column);n.classes.push(e.cls)}for(let e of a){let t=r.entities.get(e.id);if(!t)throw new Y(`style refers to an unknown entity "${e.id}"`,e.s.line,e.s.column);t.style=e.style}return r}var lw=26,uw=(e,t,n)=>t>n?(t+n)/2:Math.min(n,Math.max(t,e));function dw(e,t,n){let r=e.width/2,i=e.height/2,a=Math.min(16,r),o=Math.min(16,i),s=n===`TB`||n===`BT`,c=t.x-e.x,l=t.y-e.y;if(s?Math.abs(l)>i+.5:Math.abs(c)<=r+.5){let n=l<0?-1:1;return{point:{x:uw(t.x,e.x-r+a,e.x+r-a),y:e.y+n*i},normal:{x:0,y:n}}}let u=c<0?-1:1;return{point:{x:e.x+u*r,y:uw(t.y,e.y-i+o,e.y+i-o)},normal:{x:u,y:0}}}var fw=18,pw=9;function mw(e){let t=new Map;for(let n of e){let e=`${n.id}\u0000${n.at.normal.x},${n.at.normal.y}`,r=t.get(e)??[];r.push(n),t.set(e,r)}for(let e of t.values()){if(e.length<2)continue;let t=e[0].box,n=e[0].at.normal.x===0?`x`:`y`,r=(n===`x`?t.width:t.height)/2,i=t[n],a=i-r+Math.min(pw,r),o=i+r-Math.min(pw,r),s=Math.min(fw,(o-a)/(e.length-1));e.sort((e,t)=>e.at.point[n]-t.at.point[n]);let c=e.map(e=>e.at.point[n]);for(let e=1;e<c.length;e++)c[e]=Math.max(c[e],c[e-1]+s);c[c.length-1]=Math.min(c[c.length-1],o);for(let e=c.length-2;e>=0;e--)c[e]=Math.min(c[e],c[e+1]-s);c[0]=Math.max(c[0],a);for(let e=1;e<c.length;e++)c[e]=Math.max(c[e],c[e-1]+s);e.forEach((e,t)=>e.at.point={...e.at.point,[n]:c[t]})}}function hw(e,t){return{x:e.point.x+e.normal.x*t,y:e.point.y+e.normal.y*t}}function gw(e,t,n){let r=Math.hypot(n.point.x-e.point.x,n.point.y-e.point.y),i=Math.min(lw,r/3);return[e.point,hw(e,i/2),hw(e,i),...t,hw(n,i),hw(n,i/2),n.point]}var _w=48,vw=26;function yw(e,t,n){let r=t===`TB`||t===`BT`,i=n%2==0?1:-1,a=_w+Math.floor(n/2)*vw,o=(r?e.height:e.width)/2,s=Math.max(10,Math.min(18,o-8)),c=(t,n)=>r?{x:e.x+i*t,y:e.y+n}:{x:e.x+n,y:e.y+i*t},l=(r?e.width:e.height)/2,u=r?{x:i,y:0}:{x:0,y:i},d=[c(l,-s),c(l+a/2,-s),c(l+a,-s),c(l+a,s),c(l+a/2,s),c(l,s)];return{points:d,start:{point:d[0],normal:u},end:{point:d[5],normal:u},label:c(l+a+6,0),outward:u}}function bw(e,t){let n=t===`TB`||t===`BT`,r=new Map,i=new Map,a=new Map;return e.forEach((e,t)=>{if(e.from!==e.to)return;let o=a.get(e.from)??0;a.set(e.from,o+1),r.set(t,o);let s=_w+Math.floor(o/2)*vw,c=e.label?(n?e.label.width:e.label.height)+10:4;i.set(e.from,Math.max(i.get(e.from)??0,s+c))}),{loop:r,room:i}}function xw(e,t){return{x:e.label.x+e.outward.x*t.width/2,y:e.label.y+e.outward.y*t.height/2}}function Sw(e){let{direction:t}=e,n=t===`TB`||t===`BT`,r=bw(e.edges,t),i=e.nodes.map(e=>{let t=r.room.get(e.id)??0;return n?{...e,width:e.width+t*2}:{...e,height:e.height+t*2}}),a=[];e.edges.forEach((e,t)=>{e.from!==e.to&&a.push({id:String(t),from:e.from,to:e.to,label:e.label})});let o=Fx({direction:t,nodes:i,edges:[...a,...e.extra??[]],clusters:e.clusters,nodeSep:e.nodeSep,rankSep:e.rankSep,clusterPadding:e.clusterPadding,transpose:!0});for(let t of e.nodes){let e=o.nodes.get(t.id);e&&o.nodes.set(t.id,{...e,width:t.width,height:t.height})}let s=[],c=e.edges.map((e,n)=>{let i=r.loop.get(n);if(i!==void 0){let n=yw(o.nodes.get(e.from),t,i);return{points:n.points,start:n.start,end:n.end,label:e.label?xw(n,e.label):void 0}}let a=o.edges.get(String(n));if(!a)return;let c=o.nodes.get(e.from),l=o.nodes.get(e.to),u=dw(c,a.points[0]??l,t),d=dw(l,a.points[a.points.length-1]??c,t);return s.push({id:e.from,box:c,at:u},{id:e.to,box:l,at:d}),{points:a.points,start:u,end:d,label:a.label}});return mw(s),c.forEach((e,t)=>{e&&!r.loop.has(t)&&(e.points=gw(e.start,e.points,e.end))}),{result:o,routes:c}}function Cw(e,t){let n=e.width+8,r=e.height+4;return Q(`g`,{class:`dg-edge-label-group`},[Q(`rect`,{class:`dg-edge-label-box`,x:t.x-n/2,y:t.y-r/2,width:n,height:r,rx:3}),$(e,t.x,t.y,{className:`dg-edge-label`})])}function ww(e){let t={},n={};for(let[r,i]of Object.entries(e))r===`fill`||r===`fill-opacity`?t[r]=i:n[r]=i;return{frame:Sy(n),band:Sy(t)}}function Tw(e,t,n,r,i,a){let o=e+n,s=t+r,c=new Bv().moveTo(e+i,t).lineTo(o-i,t);return i>0&&c.arcTo(i,i,0,!1,!0,o,t+i),c.lineTo(o,s-a),a>0&&c.arcTo(a,a,0,!1,!0,o-a,s),c.lineTo(e+a,s),a>0&&c.arcTo(a,a,0,!1,!0,e,s-a),c.lineTo(e,t+i),i>0&&c.arcTo(i,i,0,!1,!0,e+i,t),c.close().toString()}var Ew={...X,size:13},Dw={...X,size:11,weight:`bold`},Ow={...X,weight:`bold`},kw=12,Aw=5,jw=110,Mw={one:`er-one`,"zero-one":`er-zero-one`,"one-many":`er-one-many`,"zero-many":`er-zero-many`};function Nw(e,t,n){return ey(Yv(Wv(e)),t,n)}function Pw(e,t){let n=ey(Jv(e.label),Ow,t),r=e.attributes.map(e=>{let n={type:Nw(e.type,Ew,t),name:Nw(e.name,Ew,t)};return e.keys.length>0&&(n.keys=Nw(e.keys.join(`, `),Dw,t)),e.comment&&(n.comment=Nw(e.comment,{...Ew,style:`italic`},t)),n}),i=n.height+18;if(r.length===0)return{header:n,rows:r,columns:{},headerHeight:i,rowHeight:0,width:Math.max(n.width+32,jw),height:i};let a=Ew.size*1.25+10,o={},s=0;for(let e of[`type`,`name`,`keys`,`comment`]){let t=Math.max(0,...r.map(t=>t[e]?.width??-1));r.some(t=>t[e])&&(o[e]=s+kw,s+=kw+t)}return s+=kw,{header:n,rows:r,columns:o,headerHeight:i,rowHeight:a,width:Math.max(s,n.width+32,jw),height:i+a*r.length}}function Fw(e,t){return xy(t.get(`default`),...e.classes.map(e=>t.get(e)),e.style)}function Iw(e,t,n,r){let i=n.x-n.width/2,a=n.y-n.height/2,o=Sy(r.shape),s=ww(r.shape),c=Sy(r.text),l=[`dg-node`,`dg-entity`,...e.classes.map(e=>`dg-class-${e.replace(/[^\w-]/g,``)}`)].join(` `);if(t.rows.length===0)return Q(`g`,{class:l,"data-id":e.id},[Q(`rect`,{class:`dg-shape`,x:i,y:a,width:n.width,height:n.height,rx:Aw,style:o}),$(t.header,n.x,n.y,{className:`dg-label dg-entity-title`,style:c})]);let u=.75,d=n.width-u*2,f=[Q(`rect`,{class:`dg-shape dg-entity-box`,x:i,y:a,width:n.width,height:n.height,rx:Aw,style:s.frame}),Q(`path`,{class:`dg-entity-header`,d:Tw(i+u,a+u,d,t.headerHeight-u,4.25,0),style:s.band})];t.rows.forEach((e,n)=>{let r=a+t.headerHeight+n*t.rowHeight,o=n===t.rows.length-1;n%2==1&&f.push(Q(`path`,{class:`dg-entity-row-alt`,d:Tw(i+u,r,d,t.rowHeight-(o?u:0),0,o?4.25:0)}));let s=r+t.rowHeight/2;for(let n of[`type`,`name`,`keys`,`comment`]){let r=e[n],a=t.columns[n];r&&a!==void 0&&f.push($(r,i+a,s,{anchor:`start`,className:`dg-entity-${n}`}))}});let p=a+t.headerHeight;return f.push(Q(`line`,{class:`dg-entity-rule`,x1:i,y1:p,x2:i+n.width,y2:p,style:r.shape.stroke?`stroke:${r.shape.stroke}`:void 0}),$(t.header,n.x,a+t.headerHeight/2,{className:`dg-label dg-entity-title`,style:c})),Q(`g`,{class:l,"data-id":e.id},f)}function Lw(e,t,n,r){let i=new Map;for(let n of e.entities.values())i.set(n.id,Pw(n,t));let a=new Map,o=e.relationships.map((e,n)=>{let r;if(e.label.trim()!==``){let i=ey(Jv(e.label),X,t);a.set(n,i),r={width:i.width+8,height:i.height+4}}return{from:e.from,to:e.to,label:r}}),s=[...e.entities.values()].map(e=>({id:e.id,width:i.get(e.id).width,height:i.get(e.id).height})),{result:c,routes:l}=Sw({direction:e.direction,nodes:s,edges:o,nodeSep:50,rankSep:84}),u=[],d=[],f=[];e.relationships.forEach((e,t)=>{let r=l[t];if(!r)return;let i=Mw[e.fromCardinality],o=Mw[e.toCardinality];u.push(i,o),d.push(Q(`path`,{class:e.identifying?`dg-edge`:`dg-edge dg-edge-dashed`,d:zb(r.points),"marker-start":`url(#${Bb(n,i,!0)})`,"marker-end":`url(#${Bb(n,o)})`,"data-from":e.from,"data-to":e.to}));let s=a.get(t);s&&r.label&&f.push(Cw(s,r.label))});let p=[...e.entities.values()].map(t=>Iw(t,i.get(t.id),c.nodes.get(t.id),Fw(t,e.classDefs))),m=`#${n}`,h=[`${m} .dg-entity .dg-entity-box{fill:${Z(`--dg-row-fill`)}}`,`${m} .dg-entity-title{font-weight:bold}`,`${m} .dg-entity-header{fill:${Z(`--dg-node-fill`)};stroke:none}`,`${m} .dg-entity-row-alt{fill:${Z(`--dg-row-alt-fill`)};stroke:none}`,`${m} .dg-entity-rule{stroke:${Z(`--dg-node-stroke`)};stroke-width:1px}`,`${m} .dg-entity-type,${m} .dg-entity-comment{fill:${Z(`--dg-text-muted`)}}`,`${m} .dg-entity-type,${m} .dg-entity-name,${m} .dg-entity-comment{font-size:${Ew.size}px}`,`${m} .dg-entity-comment{font-style:italic}`,`${m} .dg-entity-keys{fill:${Z(`--dg-node-stroke`)};font-size:${Dw.size}px;font-weight:bold}`,`${m} .dg-edge-dashed{stroke-dasharray:6 4}`].join(``);return Vv({id:n,type:`er`,width:c.width,height:c.height,title:r??e.accessibility.title??`Entity relationship diagram`,description:e.accessibility.description,defs:Vb(n,u),body:[Q(`g`,{class:`dg-edges`},d),Q(`g`,{class:`dg-edge-labels`},f),Q(`g`,{class:`dg-nodes`},p)],css:h})}var Rw={TB:`TB`,TD:`TB`,BT:`BT`,LR:`LR`,RL:`RL`},zw=`[\\p{L}\\p{N}_](?:[\\p{L}\\p{N}_]|-(?=[\\p{L}\\p{N}_]))*`,Bw=`~([^~\\s{]+(?:~[^~\\s{]*~)?[^~\\s{]*)~`,Vw={"<|":`inheritance`,"*":`composition`,o:`aggregation`,"<":`arrow`},Hw={"|>":`inheritance`,"*":`composition`,o:`aggregation`,">":`arrow`},Uw=RegExp(`^(${zw})\\s*(?:"([^"]*)"\\s*)?(<\\||\\*|o|<)?(--|\\.\\.)(\\|>|\\*|o|>)?\\s*(?:"([^"]*)"\\s*)?(${zw})\\s*(?::\\s*(.*))?$`,`u`),Ww=RegExp(`^class\\s+(${zw})(?:${Bw})?(?:\\s*\\[\\s*"([^"]*)"\\s*\\])?(?::::([\\w-]+))?(?:\\s*<<\\s*([^>]+?)\\s*>>)?\\s*(\\{\\s*\\}?)?$`,`u`),Gw=RegExp(`^<<\\s*([^>]+?)\\s*>>\\s*(${zw})$`,`u`),Kw=RegExp(`^(${zw})\\s*:\\s*(.+)$`,`u`),qw=`(_blank|_self|_parent|_top)`;function Jw(e){let t=``,n=0;for(let r=0;r<e.length;r++){let i=e[r];if(i!==`~`){t+=i;continue}let a=e[r-1]??``,o=e[r+1]??``;/[\p{L}\p{N}_\]]/u.test(a)&&/[\p{L}\p{N}_[(]/u.test(o)||n===0?(t+=`<`,n++):(t+=`>`,n--)}return t+`>`.repeat(Math.max(0,n))}function Yw(e){let t=e.trim(),n;/^[+\-#~]/.test(t)&&(n=t[0],t=t.slice(1).trim());let r=n??``,i=e=>e===`$`?`static`:`abstract`,a=t.indexOf(`(`),o=t.lastIndexOf(`)`);if(a>=0&&o>a){let e=t.slice(0,a).trim(),s=t.slice(a+1,o).trim(),c=t.slice(o+1).trim(),l;/^[$*]/.test(c)?(l=i(c[0]),c=c.slice(1).trim()):/[$*]$/.test(c)&&(l=i(c[c.length-1]),c=c.slice(0,-1).trim());let u=c.replace(/^:\s*/,``);return{kind:`method`,text:`${r}${Jw(e)}(${Jw(s)})${u?` : ${Jw(u)}`:``}`,visibility:n,classifier:l}}let s;return/[$*]$/.test(t)&&(s=i(t[t.length-1]),t=t.slice(0,-1).trim()),{kind:`attribute`,text:`${r}${Jw(t)}`,visibility:n,classifier:s}}function Xw(e){let t=ny(e),n=t[0];if(!n||!/^classDiagram(-v2)?$/.test(n.text))throw new Y(`A class diagram starts with "classDiagram"`,n?.line??1,n?.column??1);let r={type:`class`,direction:`TB`,classes:new Map,relations:[],notes:[],namespaces:new Map,classDefs:new Map,accessibility:{}},i=[],a=[],o=[],s=[],c=null,l=e=>{let t=r.classes.get(e);return t||(t={id:e,label:e,annotations:[],attributes:[],methods:[],classes:[]},r.classes.set(e,t)),c&&!t.namespace&&(t.namespace=c.id),t},u=(e,t,n)=>{let r=/^<<\s*([^>]+?)\s*>>$/.exec(t);if(r){e.annotations.push(r[1]);return}if(t.startsWith(`<<`))throw new Y(`"${t}" is not an annotation`,n.line,n.column,`Write <<interface>> on its own line.`);let i=Yw(t);i.kind===`method`?e.methods.push(i):e.attributes.push(i)};for(let e=1;e<t.length;e++){let n=t[e],d=n.text,f=sy(t,e,r.accessibility);if(f>0){e+=f-1;continue}if(d===`}`){if(!c)throw new Y(`"}" without an open class or namespace`,n.line,n.column);c=null;continue}let p=/^namespace\s+(\S+?)\s*\{$/u.exec(d);if(p){if(c)throw new Y(`Namespaces do not nest`,n.line,n.column,`Close the namespace before opening another, or use a dotted name: namespace A.B {`);if(!/^[\p{L}\p{N}_][\p{L}\p{N}_.-]*$/u.test(p[1]))throw new Y(`"${p[1]}" is not a namespace name`,n.line,n.column+10);c={id:p[1],s:n},r.namespaces.has(p[1])||r.namespaces.set(p[1],{id:p[1]});continue}if(p=/^direction\s+(\w+)$/.exec(d),p){let e=Rw[p[1].toUpperCase()];if(!e)throw new Y(`"${p[1]}" is not a direction`,n.line,n.column+10,`Use TB, BT, LR or RL.`);r.direction=e;continue}if(/^class\s+`/.test(d))throw new Y(`Class names in backquotes are not supported`,n.line,n.column+6,`Give the class an id and a label: class Animal["Animal Class!"].`);if(p=Ww.exec(d),p){let r=l(p[1]);if(p[2]!==void 0&&(r.generic=p[2],r.label=`${r.id}<${Jw(p[2])}>`),p[3]!==void 0&&(r.label=p[3]),p[4]&&r.classes.push(p[4]),p[5]&&r.annotations.push(p[5]),p[6]!==void 0&&!p[6].endsWith(`}`)){let i=e+1;for(;i<t.length&&t[i].text!==`}`;i++)u(r,t[i].text,t[i]);if(i>=t.length)throw new Y(`The body of class "${r.id}" is not closed`,n.line,n.column,`Add "}" on its own line.`);e=i}continue}if(/^class\s/.test(d))throw new Y(`"${d}" is not a class declaration`,n.line,n.column,`Write class Name, class Name~T~, class Name["Label"] or class Name {.`);if(p=Gw.exec(d),p){l(p[2]).annotations.push(p[1]);continue}if(c)throw new Y(`Only class declarations go inside a namespace`,n.line,n.column,`Write relationships, notes and members ("Class : member") after the namespace block.`);if(p=/^classDef\s+([\w,-]+)\s+(.+)$/.exec(d),p){let e=yy(p[2],n.line,n.column);for(let t of p[1].split(`,`))r.classDefs.set(t.trim(),e);continue}if(p=/^cssClass\s+("[^"]*"|\S+)\s+([\w-]+)$/.exec(d),p){let e=p[1].replace(/^"|"$/g,``).split(`,`).map(e=>e.trim()).filter(Boolean);i.push({ids:e,cls:p[2],s:n});continue}if(p=RegExp(`^style\\s+(${zw})\\s+(.+)$`,`u`).exec(d),p){a.push({id:p[1],style:yy(p[2],n.line,n.column),s:n});continue}if(p=RegExp(`^(?:click\\s+(${zw})\\s+href|link\\s+(${zw}))\\s+"([^"]*)"(?:\\s+"([^"]*)")?(?:\\s+${qw})?$`,`u`).exec(d),p){o.push({id:p[1]??p[2],href:p[3],tooltip:p[4],target:p[5],s:n});continue}if(/^callback\s/.test(d)||RegExp(`^click\\s+${zw}\\s+call\\s`,`u`).test(d))continue;if(/^(click|link)\s/.test(d))throw new Y(`"${d}" is not a link`,n.line,n.column,`Write click Name href "url" or link Name "url".`);if(p=/^note\s+for\s+(\S+)\s+"(.*)"$/u.exec(d),p){r.notes.push({target:p[1],text:p[2].replace(/\\n/g,`
|
|
13
13
|
`)}),s.push({target:p[1],s:n});continue}if(p=/^note\s+"(.*)"$/u.exec(d),p){r.notes.push({text:p[1].replace(/\\n/g,`
|
|
14
|
-
`)});continue}if(/^note\b/.test(d))throw new Y(`"${d}" is not a note`,n.line,n.column,`Write note "text" or note for Class "text".`);if(p=Vw.exec(d),p){let e=l(p[1]).id,t=l(p[7]).id,n=p[8]?.trim();r.relations.push({from:e,to:t,fromEnd:p[3]?zw[p[3]]:`none`,toEnd:p[5]?Bw[p[5]]:`none`,dashed:p[4]===`..`,fromCardinality:p[2],toCardinality:p[6],label:n?n.replace(/^"(.*)"$/,`$1`):void 0});continue}if(/\(\)\s*(--|\.\.)|(--|\.\.)\s*\(\)/.test(d))throw new Y(`Lollipop interfaces are not supported`,n.line,n.column+Math.max(0,d.search(/\(\)|--\(|\.\.\(/)),`Draw the interface as a class: class IShape { <<interface>> } and Shape ..|> IShape.`);if(p=Ww.exec(d),p){u(l(p[1]),p[2].trim(),n);continue}let m=RegExp(`^(${Lw})~`,`u`).exec(d);if(m)throw new Y(`A generic parameter goes on the class declaration`,n.line,n.column+m[1].length,`Declare it with class ${m[1]}~T~ and refer to the class as ${m[1]}.`);let h=RegExp(`^(${Lw})\\s*(?:"[^"]*"\\s*)?([^\\p{L}\\p{N}_\\s":]{2,})`,`u`).exec(d);throw h?new Y(`"${h[2]}" is not a relationship`,n.line,n.column+d.indexOf(h[2],h[1].length),`Use <|--, *--, o--, -->, --, ..>, ..|> or .. (heads at either end).`):RegExp(`^${Lw}$`,`u`).test(d)?new Y(`"${d}" alone is not a statement`,n.line,n.column,`Declare a class with "class ${d}".`):new Y(`"${d}" is not a class diagram statement`,n.line,n.column)}if(c)throw new Y(`Namespace "${c.id}" is not closed`,c.s.line,c.s.column,`Add "}".`);for(let e of i)for(let t of e.ids){let n=r.classes.get(t);if(!n)throw new Y(`cssClass refers to an unknown class "${t}"`,e.s.line,e.s.column);n.classes.push(e.cls)}for(let e of a){let t=r.classes.get(e.id);if(!t)throw new Y(`style refers to an unknown class "${e.id}"`,e.s.line,e.s.column);t.style=e.style}for(let e of o){let t=r.classes.get(e.id);if(!t)throw new Y(`A link refers to an unknown class "${e.id}"`,e.s.line,e.s.column);let n=xy(e.href);if(n===null)throw new Y(`The link "${e.href}" is not allowed`,e.s.line,e.s.column,`Use http(s), mailto or a relative address.`);t.link={href:n,tooltip:e.tooltip,target:e.target}}for(let e of s)if(!r.classes.has(e.target))throw new Y(`A note refers to an unknown class "${e.target}"`,e.s.line,e.s.column);return r}var Yw={...X,size:13},Xw={...X,size:12},Zw={...X,weight:`bold`},Qw={...X,size:12},$w=6,eT=10,tT=5,nT=100,rT={none:null,inheritance:`triangle`,composition:`diamond`,aggregation:`diamond-open`,arrow:`open-arrow`};function iT(e){return e.classifier===`abstract`?{...Yw,style:`italic`}:Yw}function aT(e,t){let n=e.annotations.map(e=>Qv(qv(`«${Hv(e)}»`),Xw,t)),r=Qv(Kv(e.label),Zw,t),i=e=>({member:e,label:Qv(qv(Hv(e.text)),iT(e),t)}),a=e.attributes.map(i),o=e.methods.map(i),s=n.reduce((e,t)=>e+t.height,0)+r.height+18,c=Yw.size*1.25,l=e=>e.length===0?eT:e.length*c+12,u=a.length===0&&o.length===0,d=u?0:l(a),f=u?0:l(o),p=Math.max(r.width,...n.map(e=>e.width),...a.map(e=>e.label.width),...o.map(e=>e.label.width));return{annotations:n,name:r,attributes:a,methods:o,headerHeight:s,attributesHeight:d,methodsHeight:f,width:Math.max(p+32,nT),height:s+d+f}}function oT(e,t){return yy(t.get(`default`),...e.classes.map(e=>t.get(e)),e.style)}function sT(e,t,n,r){let i=n.x-n.width/2,a=n.y-n.height/2,o=by(r.shape),s=Sw(r.shape),c=by(r.text),l=t.attributesHeight===0&&t.methodsHeight===0,u=.75,d=[Q(`rect`,{class:l?`dg-shape`:`dg-shape dg-uml-box`,x:i,y:a,width:n.width,height:n.height,rx:tT,style:l?o:s.frame})];l||d.push(Q(`path`,{class:`dg-uml-header`,d:Cw(i+u,a+u,n.width-u*2,t.headerHeight-u,4.25,0),style:s.band}));let f=a+9;for(let e of t.annotations)d.push($(e,n.x,f+e.height/2,{className:`dg-label dg-uml-annotation`,style:c})),f+=e.height;d.push($(t.name,n.x,f+t.name.height/2,{className:`dg-label dg-uml-name`,style:c}));let p=r.shape.stroke?`stroke:${r.shape.stroke}`:void 0,m=(e,t)=>{d.push(Q(`line`,{class:`dg-uml-rule`,x1:i,y1:t,x2:i+n.width,y2:t,style:p}));let r=t+$w;for(let{member:t,label:n}of e){let e=[t.classifier===`static`?`text-decoration:underline`:``,t.classifier===`abstract`?`font-style:italic`:``].filter(Boolean).join(`;`);d.push($(n,i+10,r+n.height/2,{anchor:`start`,className:`dg-uml-member dg-uml-${t.kind}`,style:e||void 0})),r+=n.height}};l||(m(t.attributes,a+t.headerHeight),m(t.methods,a+t.headerHeight+t.attributesHeight));let h=Q(`g`,{class:[`dg-node`,`dg-uml-class`,...e.classes.map(e=>`dg-class-${e.replace(/[^\w-]/g,``)}`)].join(` `),"data-id":e.id},[e.link?.tooltip?Q(`title`,{},[{text:e.link.tooltip}]):null,...d]);return e.link?Q(`a`,{href:e.link.href,target:e.link.target,rel:e.link.target===`_blank`?`noopener noreferrer`:void 0},[h]):h}function cT(e){let t=e=>e===`inheritance`||e===`composition`||e===`aggregation`;return t(e.toEnd)&&!t(e.fromEnd)?{from:e.to,to:e.from,fromEnd:e.toEnd,toEnd:e.fromEnd,dashed:e.dashed,fromCardinality:e.toCardinality,toCardinality:e.fromCardinality,label:e.label}:e}function lT(e,t,n){let{point:r,normal:i}=t;if(i.x===0){let t=n??1;return $(e,r.x+t*12,r.y+i.y*(e.height/2+4),{anchor:t>0?`start`:`end`,className:`dg-uml-cardinality`})}let a=n??-1;return $(e,r.x+i.x*(e.width/2+6),r.y+a*(e.height/2+7),{className:`dg-uml-cardinality`})}function uT(e,t,n,r){let i=new Map;for(let n of e.classes.values())i.set(n.id,aT(n,t));let a=e.relations.map(cT),o=new Map,s=a.map((e,n)=>{let r;if(e.label){let i=Qv(Kv(e.label),X,t);o.set(n,i),r={width:i.width+8,height:i.height+4}}return{from:e.from,to:e.to,label:r}}),c=[...e.classes.values()].map(e=>({id:e.id,width:i.get(e.id).width,height:i.get(e.id).height,cluster:e.namespace})),l=e.notes.map(e=>Qv(qv(Hv(e.text)),X,t)),u=[];e.notes.forEach((t,n)=>{let r=l[n];c.push({id:`\u0000note${n}`,width:r.width+16,height:r.height+16,cluster:t.target?e.classes.get(t.target).namespace:void 0}),t.target&&u.push({id:`note${n}`,from:`\u0000note${n}`,to:t.target,weight:0})});let d={...X,weight:`bold`},f=new Map,p=[...e.namespaces.values()].map(e=>{let n=Qv(qv(e.id),d,t);return f.set(e.id,n),{id:e.id,label:{width:n.width,height:n.height}}}),{result:m,routes:h}=bw({direction:e.direction,nodes:c,edges:s,extra:u,clusters:p,nodeSep:50,rankSep:70,clusterPadding:16}),g=[...e.namespaces.values()].map(e=>{let t=m.clusters.get(e.id),n=f.get(e.id);return Q(`g`,{class:`dg-cluster dg-namespace`,"data-id":e.id},[Q(`rect`,{class:`dg-cluster-box`,x:t.x-t.width/2,y:t.y-t.height/2,width:t.width,height:t.height,rx:6}),$(n,t.x,t.y-t.height/2+6+n.height/2,{className:`dg-cluster-label`})])}),_=[],v=[],y=[];a.forEach((e,r)=>{let i=h[r];if(!i)return;let a=rT[e.fromEnd],s=rT[e.toEnd];a&&_.push(a),s&&_.push(s),v.push(Q(`path`,{class:e.dashed?`dg-edge dg-edge-dashed`:`dg-edge`,d:Lb(i.points),"marker-start":a?`url(#${Rb(n,a,!0)})`:void 0,"marker-end":s?`url(#${Rb(n,s)})`:void 0,"data-from":e.from,"data-to":e.to}));let c=o.get(r);c&&i.label&&y.push(xw(c,i.label));let l=e.from===e.to,u=(e,n,r)=>y.push(lT(Qv(qv(Hv(e)),Qw,t),n,r));e.fromCardinality&&u(e.fromCardinality,i.start,l?-1:void 0),e.toCardinality&&u(e.toCardinality,i.end,l?1:void 0)});let b=e.notes.map((e,t)=>{let n=m.nodes.get(`\u0000note${t}`),r=l[t],i=null;if(e.target){let r=m.nodes.get(e.target),a=m.edges.get(`note${t}`),o=a?.points[a.points.length-1]??n,s=Nb(n,a?.points[0]??r),c=Nb(r,o);i=Q(`path`,{class:`dg-note-link`,d:Lb([s,...a?.points??[],c])})}return Q(`g`,{class:`dg-note`},[i,Q(`rect`,{class:`dg-note-box`,x:n.x-n.width/2,y:n.y-n.height/2,width:n.width,height:n.height,rx:2}),$(r,n.x,n.y,{className:`dg-note-text`})])}),x=[...e.classes.values()].map(t=>sT(t,i.get(t.id),m.nodes.get(t.id),oT(t,e.classDefs))),S=`#${n}`,C=[`${S} .dg-uml-class .dg-uml-box{fill:${Z(`--dg-row-fill`)}}`,`${S} .dg-uml-name{font-weight:bold}`,`${S} .dg-uml-header{fill:${Z(`--dg-node-fill`)};stroke:none}`,`${S} .dg-uml-rule{stroke:${Z(`--dg-node-stroke`)};stroke-width:1px}`,`${S} .dg-uml-annotation{font-size:${Xw.size}px}`,`${S} .dg-uml-member{font-size:${Yw.size}px}`,`${S} .dg-uml-cardinality{fill:${Z(`--dg-text-muted`)};font-size:${Qw.size}px}`,`${S} .dg-edge-dashed{stroke-dasharray:6 4}`,`${S} .dg-note-box{fill:${Z(`--dg-note-fill`)};stroke:${Z(`--dg-note-stroke`)}}`,`${S} .dg-note-text{fill:${Z(`--dg-note-text`)}}`,`${S} .dg-note-link{fill:none;stroke:${Z(`--dg-note-stroke`)};stroke-dasharray:3 3}`].join(``);return zv({id:n,type:`class`,width:m.width,height:m.height,title:r??e.accessibility.title??`Class diagram`,description:e.accessibility.description,defs:zb(n,_),body:[Q(`g`,{class:`dg-clusters`},g),Q(`g`,{class:`dg-edges`},v),Q(`g`,{class:`dg-notes`},b),Q(`g`,{class:`dg-edge-labels`},y),Q(`g`,{class:`dg-nodes`},x)],css:C})}var dT=[`C4Context`,`C4Container`,`C4Component`,`C4Dynamic`,`C4Deployment`];function fT(e){let t=e.text,n=/^([A-Za-z_][\w]*)\s*\(/.exec(t);if(!n)return null;let r=n[1],i=[],a=n[0].length,o=t=>e.column+t,s=(t,n,r)=>new Y(t,e.line,o(n),r),c=()=>{for(;a<t.length&&/\s/.test(t[a]);)a++};if(c(),t[a]===`)`)a++;else for(;;){c();let e=a,n,l=/^\$([A-Za-z_]\w*)\s*=\s*/.exec(t.slice(a));l&&(n=l[1].toLowerCase(),a+=l[0].length);let u;if(t[a]===`"`){let e=t.indexOf(`"`,a+1);if(e<0)throw s(`The string is not closed`,a,`Add the closing ".`);u=t.slice(a+1,e),a=e+1,c()}else{let e=0,n=a;for(;a<t.length;){let n=t[a];if(n===`"`)throw s(`A quote inside an unquoted argument`,a,`Quote the whole argument.`);if(n===`(`)e++;else if(n===`)`){if(e===0)break;e--}else if(n===`,`&&e===0)break;a++}u=t.slice(n,a).trim()}if(i.push({name:n,value:u,column:o(e)}),t[a]===`,`)a++;else{if(t[a]===`)`){a++;break}throw a>=t.length?s(`"${r}(" is not closed`,t.length,`Add ")".`):s(`Unexpected "${t[a]}" in the arguments of ${r}`,a,`Separate arguments with commas.`)}}c();let l=!1,u=!1;if(t[a]===`{`&&(l=!0,a++,c(),t[a]===`}`&&(u=!0,a++,c())),a<t.length)throw s(`Unexpected "${t.slice(a)}" after ${r}(…)`,a);return{name:r,args:i,opens:l,closes:u}}function pT(e,t,n,r=[]){let i=new Map,a=0;for(let o of e.args){if(o.name===void 0){if(a>=n.length)throw new Y(`${e.name} takes at most ${n.length} positional arguments`,t.line,o.column,`Parameters: ${n.join(`, `)}.`);i.set(n[a++],o);continue}let s=n.find(e=>e.toLowerCase()===o.name)??r.find(e=>e.toLowerCase()===o.name);if(!s)throw new Y(`${e.name} has no parameter "$${o.name}"`,t.line,o.column,`Parameters: ${[...n,...r].map(e=>`$${e}`).join(`, `)}.`);i.set(s,o)}return i}function mT(e,t){let n=e.get(t);if(!n)return;let r=n.value.replace(/\\n/g,`<br>`);return r.trim()===``?void 0:r}var hT={};for(let[e,t]of[[`System`,`system`],[`Container`,`container`],[`Component`,`component`]])for(let[n,r]of[[``,`box`],[`Db`,`db`],[`Queue`,`queue`]])hT[`${e}${n}`]={level:t,shape:r,external:!1},hT[`${e}${n}_Ext`]={level:t,shape:r,external:!0};hT.Person={level:`person`,shape:`person`,external:!1},hT.Person_Ext={level:`person`,shape:`person`,external:!0};var gT={Boundary:`boundary`,Enterprise_Boundary:`enterprise`,System_Boundary:`system`,Container_Boundary:`container`,Deployment_Node:`node`,Deployment_Node_L:`node`,Deployment_Node_R:`node`,Node:`node`,Node_L:`node`,Node_R:`node`},_T={U:`up`,Up:`up`,D:`down`,Down:`down`,L:`left`,Left:`left`,R:`right`,Right:`right`},vT={Rel:{arrows:`end`},BiRel:{arrows:`both`},Rel_Back:{arrows:`start`},RelIndex:{arrows:`end`,indexed:!0}};for(let[e,t]of Object.entries(_T))vT[`Rel_${e}`]={arrows:`end`,direction:t},vT[`BiRel_${e}`]={arrows:`both`,direction:t},vT[`Lay_${e}`]={arrows:`end`,direction:t,hidden:!0},vT[`RelIndex_${e}`]={arrows:`end`,direction:t,indexed:!0};var yT=new Set(`SHOW_LEGEND.SHOW_FLOATING_LEGEND.LAYOUT_WITH_LEGEND.LAYOUT_AS_SKETCH.HIDE_STEREOTYPE.HIDE_PERSON_SPRITE.SHOW_PERSON_SPRITE.SHOW_PERSON_PORTRAIT.SHOW_PERSON_OUTLINE.AddElementTag.AddRelTag.AddBoundaryTag.AddPersonTag.AddSystemTag.AddContainerTag.AddComponentTag.AddNodeTag.UpdateElementTag.UpdateRelTag.UpdateBoundaryTag.UpdateContainerBoundaryStyle.UpdateSystemBoundaryStyle.UpdateEnterpriseBoundaryStyle.SetPropertyHeader.WithoutPropertyHeader.AddProperty.Lay_Distance.Rel_Neighbor.Rel_Back_Neighbor.BiRel_Neighbor.Index.SetIndex.LastIndex.increment.setIndex`.split(`.`)),bT=[`alias`,`label`,`descr`,`sprite`,`tags`,`link`],xT=[`alias`,`label`,`techn`,`descr`,`sprite`,`tags`,`link`],ST=[`from`,`to`,`label`,`techn`,`descr`,`sprite`,`tags`,`link`],CT=[`shadowing`,`shape`,`sprite`,`techn`,`legendText`,`legendSprite`,`borderStyle`,`borderThickness`,`type`],wT=/^[\p{L}\p{N}_][\p{L}\p{N}_.-]*$/u;function TT(e,t,n,r){let i=e.get(t);if(!i||i.value.trim()===``)throw new Y(`${n.name} needs ${t===`alias`?`an alias`:`"${t}"`}`,r.line,r.column);let a=i.value.trim();if(!wT.test(a))throw new Y(`"${a}" is not a valid alias`,r.line,i.column,`Use letters, digits, "_", "-" and ".".`);return a}function ET(e,t,n){if(e&&e.value.trim()!==``)try{let r=_y(`${t}:${e.value.trim()}`,n.line,e.column);return t===`color`?r.text.fill:r.shape[t]}catch{throw new Y(`"${e.value}" is not a colour`,n.line,e.column,`Write #rgb, #rrggbb, rgb(…) or a colour name.`)}}function DT(e,t){if(!e)return;let n=e.value.trim();if(!/^[0-9]+$/.test(n)||Number(n)<1||Number(n)>50)throw new Y(`"${e.value}" is not a number from 1 to 50`,t.line,e.column);return Number(n)}function OT(e){let t=ey(e),n=t[0],r=n?dT.find(e=>e===n.text)??null:null;if(!n||!r)throw new Y(`A C4 diagram starts with C4Context, C4Container, C4Component, C4Dynamic or C4Deployment`,n?.line??1,n?.column??1);let i={type:`c4`,kind:r,direction:`TB`,elements:new Map,boundaries:new Map,children:new Map([[``,[]]]),relations:[],shapeInRow:4,boundaryInRow:2,accessibility:{}},a=[],o=null,s=()=>a[a.length-1],c=(e,t,n)=>{if(i.elements.has(e)||i.boundaries.has(e))throw new Y(`"${e}" is defined twice`,t.line,n,`Every alias must be unique.`);i.children.get(s()??``).push(e)},l=1,u=[],d=[];for(let e=1;e<t.length;e++){let n=t[e],r=n.text;if(o){let{id:e,s:t}=o;if(o=null,r===`{`||r===`{}`){r===`{`&&a.push(e);continue}throw new Y(`"${e}" needs a body`,t.line,t.column,`Add "{" … "}" after it.`)}let f=ay(t,e,i.accessibility);if(f>0){e+=f-1;continue}let p=/^title(?:\s+(.*))?$/.exec(r);if(p){i.title=p[1]?.trim()||void 0;continue}if(r===`}`){if(a.length===0)throw new Y(`"}" without an open boundary`,n.line,n.column);a.pop();continue}let m=fT(n);if(!m)throw/^!(include|define|theme)/.test(r)?new Y(`PlantUML preprocessor lines are not part of Mermaid C4`,n.line,n.column,`Remove the line.`):new Y(`"${r}" is not a C4 statement`,n.line,n.column,`Write a macro call such as Person(alias, "Label").`);if(m.opens&&!(m.name in gT))throw new Y(`${m.name} cannot have a body`,n.line,n.column,`Only boundaries and deployment nodes take "{ … }".`);let h=hT[m.name];if(h){let e=pT(m,n,h.level===`container`||h.level===`component`?xT:bT,h.level===`person`||h.level===`system`?[`type`,`baseShape`]:[`baseShape`]),t=TT(e,`alias`,m,n),r=mT(e,`label`);if(r===void 0)throw new Y(`${m.name}(${t}, …) needs a label`,n.line,n.column);c(t,n,e.get(`alias`).column),i.elements.set(t,{id:t,level:h.level,shape:h.shape,external:h.external,label:r,techn:mT(e,`techn`),type:mT(e,`type`),description:mT(e,`descr`),parent:s()});continue}let g=gT[m.name];if(g){let e=pT(m,n,g===`node`?[`alias`,`label`,`type`,`descr`,`sprite`,`tags`,`link`]:g===`boundary`?[`alias`,`label`,`type`,`tags`,`link`]:[`alias`,`label`,`tags`,`link`],[`descr`,`type`,`sprite`]),t=TT(e,`alias`,m,n);c(t,n,e.get(`alias`).column),i.boundaries.set(t,{id:t,kind:g,label:mT(e,`label`)??t,type:mT(e,`type`),description:mT(e,`descr`),parent:s()}),i.children.set(t,[]),m.opens&&!m.closes?a.push(t):m.opens||(o={id:t,s:n});continue}let _=vT[m.name];if(_){let e=pT(m,n,_.hidden?[`from`,`to`]:_.indexed?[`index`,...ST]:[...ST],_.hidden?[]:[`index`]),t=TT(e,`from`,m,n),r=TT(e,`to`,m,n),a,o=e.get(`index`)?.value.trim();if(_.indexed&&!o)throw new Y(`${m.name} needs an index`,n.line,n.column);o?/^Index\(\s*\)$/.test(o)?a=String(l++):/^LastIndex\(\s*\)$/.test(o)?a=String(Math.max(1,l-1)):(a=o,/^[0-9]+$/.test(o)&&(l=Number(o)+1)):i.kind===`C4Dynamic`&&!_.hidden&&(a=String(l++)),i.relations.push({from:t,to:r,label:mT(e,`label`)??``,techn:mT(e,`techn`),description:mT(e,`descr`),direction:_.direction,arrows:_.arrows,hidden:_.hidden??!1,index:a,line:n.line,column:n.column})}else{switch(m.name){case`UpdateElementStyle`:case`UpdateBoundaryStyle`:{let e=pT(m,n,[`elementName`,`bgColor`,`fontColor`,`borderColor`],CT),t=TT(e,`elementName`,m,n);u.push({id:t,s:n,boundary:m.name===`UpdateBoundaryStyle`,style:{fill:ET(e.get(`bgColor`),`fill`,n),text:ET(e.get(`fontColor`),`color`,n),stroke:ET(e.get(`borderColor`),`stroke`,n)}});continue}case`UpdateRelStyle`:{let e=pT(m,n,[`from`,`to`,`textColor`,`lineColor`,`offsetX`,`offsetY`]);d.push({from:TT(e,`from`,m,n),to:TT(e,`to`,m,n),s:n,style:{text:ET(e.get(`textColor`),`color`,n),line:ET(e.get(`lineColor`),`stroke`,n)}});continue}case`UpdateLayoutConfig`:{let e=pT(m,n,[`c4ShapeInRow`,`c4BoundaryInRow`]);i.shapeInRow=DT(e.get(`c4ShapeInRow`),n)??i.shapeInRow,i.boundaryInRow=DT(e.get(`c4BoundaryInRow`),n)??i.boundaryInRow;continue}case`LAYOUT_TOP_DOWN`:case`LAYOUT_LEFT_RIGHT`:case`LAYOUT_LANDSCAPE`:if(m.args.length>0)throw new Y(`${m.name}() takes no arguments`,n.line,n.column);i.direction=m.name===`LAYOUT_TOP_DOWN`?`TB`:`LR`;continue}throw yT.has(m.name)?new Y(`${m.name} is a C4-PlantUML feature that is not supported`,n.line,n.column,`Remove the statement; see the C4 page of the documentation for what is supported.`):new Y(`"${m.name}" is not a C4 macro`,n.line,n.column,`Elements: Person, System, SystemDb, SystemQueue, Container…, Component… (with _Ext); boundaries: Boundary, Enterprise_Boundary, System_Boundary, Container_Boundary, Deployment_Node, Node; relations: Rel, BiRel, Rel_U/D/L/R, Rel_Back, RelIndex.`)}}if(o)throw new Y(`"${o.id}" needs a body`,o.s.line,o.s.column,`Add "{" … "}" after it.`);if(a.length>0){let e=a[a.length-1];throw new Y(`Boundary "${e}" is not closed`,0,0,`Add "}".`)}let f=e=>{let t=new Set,n=i.elements.get(e)?.parent??i.boundaries.get(e)?.parent;for(;n!==void 0;)t.add(n),n=i.boundaries.get(n)?.parent;return t};for(let e of i.relations){for(let t of[e.from,e.to])if(!i.elements.has(t)&&!i.boundaries.has(t))throw new Y(`A relation refers to an unknown element "${t}"`,e.line,e.column);if(f(e.from).has(e.to)||f(e.to).has(e.from))throw new Y(`A relation cannot connect "${e.from}" and "${e.to}": one is inside the other`,e.line,e.column)}for(let e of u){let t=e.boundary?i.boundaries.get(e.id):i.elements.get(e.id)??i.boundaries.get(e.id);if(!t)throw new Y(`A style refers to an unknown ${e.boundary?`boundary`:`element`} "${e.id}"`,e.s.line,e.s.column);t.style={...t.style,...kT(e.style)}}for(let e of d){let t=i.relations.filter(t=>!t.hidden&&t.from===e.from&&t.to===e.to);if(t.length===0)throw new Y(`UpdateRelStyle: there is no relation from "${e.from}" to "${e.to}"`,e.s.line,e.s.column);for(let n of t)n.style={...n.style,...kT(e.style)}}return i}function kT(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}var AT=76,jT=76,MT=28,NT=16,PT=14,FT=36,IT=30,LT=4,RT=e=>({l:e.x-e.width/2,t:e.y-e.height/2,r:e.x+e.width/2,b:e.y+e.height/2}),zT=(e,t)=>({l:e.l-t,t:e.t-t,r:e.r+t,b:e.b+t}),BT=(e,t)=>e.l<t.r&&t.l<e.r&&e.t<t.b&&t.t<e.b,VT=(e,t)=>Math.max(0,Math.min(e.r,t.r)-Math.max(e.l,t.l))*Math.max(0,Math.min(e.b,t.b)-Math.max(e.t,t.t)),HT={up:[-1,0],down:[1,0],left:[0,-1],right:[0,1]};function UT(e){let t=AT,n=jT;e.diagram.relations.forEach((r,i)=>{let a=e.relLabel.get(i);a&&!r.hidden&&(n=Math.max(n,Math.min(a.height+28+24,160)),(r.direction===`left`||r.direction===`right`)&&(t=Math.max(t,a.width+28+16)))});let r=null;for(let i=0;i<LT;i++){let i=QT(e,WT(e,t,n,WT(e,t,n)));if((!r||i.conflicts<r.conflicts)&&(r=i),i.conflicts===0)break;i.needs.x>0&&(t=Math.max(t+30,i.needs.x)),i.needs.y>0&&(n=Math.max(n+30,i.needs.y))}return r.result}function WT(e,t,n,r){let i=e.diagram,a=i.direction===`LR`,o=e=>i.elements.get(e)?.parent??i.boundaries.get(e)?.parent,s=(e,t)=>{let n=e;for(let e=0;e<1e3;e++){let e=o(n);if((e??``)===t)return n;if(e===void 0)return;n=e}},c=new Map,l=t=>{let n=p(t),r=e.boundaryLabel.get(t)??{width:0,height:0};return{width:Math.max(n.width+56,r.width+56,140),height:r.height+(n.height>0?NT+n.height+MT:MT/2)}},u=(e,t=i.children.get(e)??[],n)=>{let r=new Map,o=new Set,c=e=>`${e.r},${e.c}`,l=(e,t)=>{r.set(e,t),o.add(c(t))},u=t=>{for(let n of i.relations){if(!n.direction)continue;let i=s(n.from,e),a=s(n.to,e);if(!i||!a||i===a)continue;let l,u=1;if(a===t&&r.has(i)?l=r.get(i):i===t&&r.has(a)&&(l=r.get(a),u=-1),!l)continue;let[d,f]=HT[n.direction],p={r:l.r+d*u,c:l.c+f*u};for(;o.has(c(p));)p.r+=d*u,p.c+=f*u;return p}return null},d=t.filter(e=>i.elements.has(e)),f=t.filter(e=>i.boundaries.has(e)),p=0,m=(e,t)=>{for(;;){let n=Math.floor(p/e),r=p%e;p++;let i=a?{r,c:t+n}:{r:t+n,c:r};if(!o.has(c(i)))return i}},h=new Set;for(let e of d){let t=u(e);t?l(e,t):(l(e,m(i.shapeInRow,0)),h.add(e))}let g=e=>a?e.c:e.r,_=Math.max(-1,...d.map(e=>g(r.get(e)))),v=d.filter(e=>g(r.get(e))===_);if((d.length>0?Math.ceil(d.length/i.shapeInRow):0)>1&&v.length<i.shapeInRow&&v.every(e=>h.has(e))){let e=i.shapeInRow-v.length,t=Math.min(e,n??Math.floor(e/2));for(let e of v){let n=r.get(e);o.delete(c(n)),a?n.r+=t:n.c+=t,o.add(c(n))}}let y=0;for(let e of r.values())y=Math.max(y,(a?e.c:e.r)+1);p=0;for(let e of f)l(e,u(e)??m(i.boundaryInRow,y));let b=[...new Set([...r.values()].map(e=>e.r))].sort((e,t)=>e-t),x=[...new Set([...r.values()].map(e=>e.c))].sort((e,t)=>e-t);for(let e of r.values())e.r=b.indexOf(e.r),e.c=x.indexOf(e.c);return r},d=r=>{let a=new Map;for(let t of r.keys())a.set(t,i.elements.has(t)?e.elementSize.get(t):l(t));let o=e=>i.elements.has(e),s=0;for(let[e,t]of a)o(e)&&(s=Math.max(s,t.width));let c=Math.max(0,...[...r.values()].map(e=>e.r+1)),u=Array.from({length:c},()=>[]);for(let[e,t]of r)u[t.r].push(e);for(let e of u)e.sort((e,t)=>r.get(e).c-r.get(t).c);let d=u.map(e=>e.every(o)),f=1/0,p=-1/0;u.forEach((e,t)=>{if(d[t])for(let t of e)f=Math.min(f,r.get(t).c),p=Math.max(p,r.get(t).c)});let m=Number.isFinite(f)?(p-f+1)*s+(p-f)*t:0,h=u.map((e,n)=>d[n]?m:e.reduce((e,n,r)=>e+a.get(n).width+(r>0?t:0),0)),g=Math.max(0,...h),_=new Map,v=0;return u.forEach((e,i)=>{if(e.length===0)return;let o=Math.max(...e.map(e=>a.get(e).height));if(d[i]){let n=(g-m)/2;for(let i of e)_.set(i,{x:n+(r.get(i).c-f)*(s+t),y:v,width:s,height:o})}else{let n=(g-h[i])/2;for(let r of e){let e=a.get(r);_.set(r,{x:n,y:v,width:e.width,height:e.height}),n+=e.width+t}}v+=o+n}),{width:g,height:Math.max(0,v-n),items:_}},f=a=>{let o=[...i.children.get(a)??[]],c=[],l=[];for(let e of i.relations){if(e.hidden)continue;let t=s(e.from,a),n=s(e.to,a);if(t&&n&&t!==n)c.push([t,n]);else if(r&&(t||n)&&!(t&&n)){let i=r.elements.get(t?e.to:e.from)??r.boundaries.get(t?e.to:e.from);i&&l.push([t??n,i])}}let f=u(a,o);if(c.length===0&&l.length===0||o.length<2)return f;let p=a===``?void 0:r?.boundaries.get(a),m=e.boundaryLabel.get(a)?.height??0,h=e=>{let r=d(e),a=e=>{let t=r.items.get(e);return{l:t.x,t:t.y,r:t.x+t.width,b:t.y+t.height}},o=0;for(let[e,i]of c){let s=a(e),c=a(i);o+=Math.max(0,Math.max(s.l,c.l)-Math.min(s.r,c.r))+Math.max(0,Math.max(s.t,c.t)-Math.min(s.b,c.b));let l={x:(s.l+s.r)/2,y:(s.t+s.b)/2},u={x:(c.l+c.r)/2,y:(c.t+c.b)/2};for(let s of r.items.keys())s!==e&&s!==i&&$T(l,u,a(s))&&(o+=t+n+120)}if(l.length>0){let e=p?p.x-r.width/2:0,t=p?p.y-p.height/2+m+NT:0;for(let[n,r]of l){let i=a(n);o+=.5*(Math.abs(e+(i.l+i.r)/2-r.x)+Math.abs(t+(i.t+i.b)/2-r.y))}}let s=new Map;for(let t of e.values())s.set(t.r,(s.get(t.r)??0)+1);for(let e of s.values())e>Math.max(i.shapeInRow,i.boundaryInRow)&&(o+=(e-Math.max(i.shapeInRow,i.boundaryInRow))*400);return o},g=h(f),_=o.filter(e=>i.elements.has(e)),v=o.filter(e=>i.boundaries.has(e)),y=Math.max(0,i.shapeInRow-(_.length%i.shapeInRow||i.shapeInRow)),b=[Math.floor(y/2),...Array.from({length:y+1},(e,t)=>t)];if(_.length<=6&&v.length<=3){for(let e of eE(_))for(let t of eE(v))for(let n of b){let r=u(a,[...e,...t],n),i=h(r);i<g-1e-6&&(g=i,f=r)}return f}for(let e=0;e<4;e++){let e=!1;for(let t=0;t<o.length;t++)for(let n=t+1;n<o.length;n++){if(i.elements.has(o[t])!==i.elements.has(o[n]))continue;[o[t],o[n]]=[o[n],o[t]];let r=u(a,o),s=h(r);s<g-1e-6?(g=s,f=r,e=!0):[o[t],o[n]]=[o[n],o[t]]}if(!e)break}return f};function p(e){let t=c.get(e);if(t)return t;let n=d(f(e));return c.set(e,n),n}let m=new Map,h=new Map,g=(t,n,r)=>{let a=p(t);for(let[t,o]of a.items){let a={x:n+o.x+o.width/2,y:r+o.y+o.height/2,width:o.width,height:o.height};if(i.elements.has(t)){m.set(t,a);continue}h.set(t,a);let s=p(t),c=e.boundaryLabel.get(t)??{width:0,height:0};g(t,n+o.x+(o.width-s.width)/2,r+o.y+c.height+NT)}};g(``,0,0);let _=p(``);return{elements:m,boundaries:h,width:_.width,height:_.height}}var GT=[1,0,-1,0],KT=[0,1,0,-1];function qT(e,t,n,r){let i=RT(t),a=[],o=n?i.t+40:i.t,s=(t,n,r)=>{let s;s=t===0||t===2?{x:t===0?i.r:i.l,y:o+(i.b-o)*n}:{x:i.l+(i.r-i.l)*n,y:t===1?i.b:i.t},a.push({at:s,stub:{x:s.x+GT[t]*PT,y:s.y+KT[t]*PT},out:t,key:`${e}:${t}:${n}`,cost:r})},c=RT(r),l=Math.max(i.l+16,c.l+16),u=Math.min(i.r-16,c.r-16);if(l<=u&&!(n&&c.b<=i.t)){let e=((l+u)/2-i.l)/(i.r-i.l);s(c.t>=i.b?1:3,e,0)}let d=Math.max(o+16,c.t+16),f=Math.min(i.b-16,c.b-16);if(d<=f){let e=((d+f)/2-o)/(i.b-o);s(c.l>=i.r?0:2,e,0)}for(let e of[0,1,2,3])s(e,.5,0),!(n&&e===3)&&(s(e,.35,6),s(e,.65,6),s(e,.2,14),s(e,.8,14));return a}var JT=class{constructor(){this.items=[],this.seq=0}get size(){return this.items.length}push(e,t){let n=this.items;n.push({f:e,n:this.seq++,s:t});let r=n.length-1;for(;r>0;){let e=r-1>>1;if(YT(n[e],n[r]))break;[n[e],n[r]]=[n[r],n[e]],r=e}}pop(){let e=this.items,t=e[0],n=e.pop();if(e.length>0){e[0]=n;let t=0;for(;;){let n=2*t+1,r=n+1,i=t;if(n<e.length&&YT(e[n],e[i])&&(i=n),r<e.length&&YT(e[r],e[i])&&(i=r),i===t)break;[e[i],e[t]]=[e[t],e[i]],t=i}}return t.s}},YT=(e,t)=>e.f<t.f||e.f===t.f&&e.n<t.n,XT=class{constructor(){this.h=new Map,this.v=new Map}add(e,t){e.y===t.y?ZT(this.h,e.y,e.x,t.x):e.x===t.x&&ZT(this.v,e.x,e.y,t.y)}shared(e,t){let n=e.y===t.y?this.h.get(e.y):this.v.get(e.x);if(!n)return 0;let[r,i]=e.y===t.y?[Math.min(e.x,t.x),Math.max(e.x,t.x)]:[Math.min(e.y,t.y),Math.max(e.y,t.y)],a=0;for(let[e,t]of n)a+=Math.max(0,Math.min(i,t)-Math.max(r,e));return a}crosses(e,t){let n=t?this.v.get(e.x):this.h.get(e.y),r=t?e.y:e.x;return!!n&&n.some(([e,t])=>r>e&&r<t)}};function ZT(e,t,n,r){let i=e.get(t)??[];i.push([Math.min(n,r),Math.max(n,r)]),e.set(t,i)}function QT(e,t){let n=e.diagram,{elements:r,boundaries:i}=t,a=(e,t)=>{let r=e;for(;r!==void 0;){if(r===t)return!0;r=n.elements.get(r)?.parent??n.boundaries.get(r)?.parent}return!1},o=t=>{let n=RT(i.get(t)),r=e.boundaryLabel.get(t)??{width:0,height:0};return{l:n.l,t:n.t,r:Math.min(n.r,n.l+12+r.width),b:n.t+r.height-4}},s=[...i.keys()].map(o),c={l:0,t:0,r:t.width,b:t.height},l=e=>c={l:Math.min(c.l,e.l),t:Math.min(c.t,e.t),r:Math.max(c.r,e.r),b:Math.max(c.b,e.b)};for(let e of[...r.values(),...i.values()])l(RT(e));let u=zT(c,FT),d=new XT,f=new Set,p=new Map,m=n.relations.map((e,t)=>({r:e,i:t})).filter(({r:e})=>!e.hidden),h=e=>r.get(e)??i.get(e),g=e=>{let t=h(e.from),n=h(e.to);return Math.abs(t.x-n.x)+Math.abs(t.y-n.y)};m.sort((e,t)=>g(e.r)-g(t.r)||e.i-t.i);for(let{r:e,i:t}of m){let s=h(e.from),c=h(e.to);if(e.from===e.to){let e=RT(s),n=s.y-14,r=s.y+14,i=e.r+28;p.set(t,{points:[{x:e.r,y:n},{x:i,y:n},{x:i,y:r},{x:e.r,y:r}]});continue}let l=[];for(let[t,n]of r)l.push(t===e.from||t===e.to?RT(n):zT(RT(n),PT));let m=[];for(let[t,n]of i){if(t===e.from||t===e.to){l.push(RT(n));continue}let r=a(e.from,t)||a(e.to,t);l.push(r?zT(o(t),4):zT(RT(n),PT/2)),r&&m.push(RT(n))}let g=e=>n.elements.get(e)?.shape===`person`,_=qT(e.from,s,g(e.from),c),v=qT(e.to,c,g(e.to),s),y=new Set([u.l,u.r]),b=new Set([u.t,u.b]);for(let e of l)y.add(e.l).add(e.r),b.add(e.t).add(e.b);for(let e of m)y.add(e.l-PT).add(e.l+PT).add(e.r-PT).add(e.r+PT),b.add(e.t-PT).add(e.b-PT).add(e.b+PT);for(let e of[..._,...v])y.add(e.stub.x),b.add(e.stub.y);let x=e=>{let t=[...e].map(e=>Math.round(e*100)/100).sort((e,t)=>e-t),n=[];return t.forEach((e,r)=>{r>0&&e-t[r-1]>8&&n.push(Math.round((e+t[r-1])/2*100)/100),n.push(e)}),[...new Set(n)].sort((e,t)=>e-t)},S=x(y),C=x(b),w=S.length,T=new Map(S.map((e,t)=>[e,t])),ee=new Map(C.map((e,t)=>[e,t])),E=e=>Math.round(e*100)/100,D=(e,t)=>{let n=(e.x+t.x)/2,r=(e.y+t.y)/2;for(let e of l)if(n>e.l&&n<e.r&&r>e.t&&r<e.b)return!0;return!1},O=(e,t,n)=>(t*w+e)*4+n,k=new Map;for(let e of v){let t=T.get(E(e.stub.x)),n=ee.get(E(e.stub.y));t!==void 0&&n!==void 0&&k.set(n*w+t,e)}let A=new Map,j=new Map,M=new JT,N=(e,t)=>{let n=1/0;for(let r of v)n=Math.min(n,Math.abs(S[e]-r.stub.x)+Math.abs(C[t]-r.stub.y));return n},te=new Map;for(let e of _){let t=T.get(E(e.stub.x)),n=ee.get(E(e.stub.y));if(t===void 0||n===void 0)continue;let r=O(t,n,e.out),i=e.cost+(f.has(e.key)?60:0);i<(A.get(r)??1/0)&&(A.set(r,i),te.set(r,e),M.push(i+N(t,n),r))}let ne=-1,re=null,ie=new Set;for(;M.size>0;){let e=M.pop();if(ie.has(e))continue;if(ie.add(e),e<0){ne=e,re=k.get((-1-e)/4);break}let t=e%4,n=(e-t)/4,r=n%w,i=(n-r)/w,a=k.get(n);if(a&&t===(a.out+2)%4){let t=A.get(e)+a.cost+(f.has(a.key)?60:0),r=-1-n*4;t<(A.get(r)??1/0)&&(A.set(r,t),j.set(r,e),M.push(t,r))}for(let n=0;n<4;n++){if(n===(t+2)%4)continue;let a=r+GT[n],o=i+KT[n];if(a<0||o<0||a>=w||o>=C.length)continue;let s={x:S[r],y:C[i]},c={x:S[a],y:C[o]};if(D(s,c))continue;let l=Math.abs(c.x-s.x)+Math.abs(c.y-s.y);if(n!==t&&te.has(e))continue;let u=l+(n===t?0:IT),f=d.shared(s,c);f>0&&(u+=40+f*3),d.crosses(c,n%2==0)&&(u+=12),u+=tE(s,c,m);let p=O(a,o,n),h=A.get(e)+u;h<(A.get(p)??1/0)&&(A.set(p,h),j.set(p,e),M.push(h+N(a,o),p))}}let ae;if(ne!==-1&&re){let e=[],t=j.get(ne),n;for(;t!==void 0;){let r=(t-t%4)/4,i=r%w;e.push({x:S[i],y:C[(r-i)/w]}),n=t,t=j.get(t)}e.reverse();let r=te.get(n);ae=nE([r.at,...e,re.at]),f.add(r.key),f.add(re.key)}else ae=[{x:s.x,y:s.y},{x:c.x,y:c.y}];for(let e=1;e<ae.length;e++)d.add(ae[e-1],ae[e]);p.set(t,{points:ae})}let{conflicts:_,needs:v}=rE(e,r,s,[...i.values()].map(RT),p),y=1/0,b=1/0,x=-1/0,S=-1/0,C=e=>{y=Math.min(y,e.l),b=Math.min(b,e.t),x=Math.max(x,e.r),S=Math.max(S,e.b)};for(let e of[...r.values(),...i.values()])C(RT(e));for(let[t,n]of p){for(let e of n.points)C({l:e.x,t:e.y,r:e.x,b:e.y});let r=e.relLabel.get(t);n.label&&r&&C(RT({...n.label,...r}))}Number.isFinite(y)||(y=0,b=0,x=0,S=0);let w=e=>({x:e.x-y,y:e.y-b});for(let e of[r,i])for(let[t,n]of e)e.set(t,{...n,...w(n)});for(let e of p.values())e.points=e.points.map(w),e.label&&=w(e.label);return{result:{width:x-y,height:S-b,elements:r,boundaries:i,rels:p},conflicts:_,needs:v}}function $T(e,t,n){let r=0,i=1,a=t.x-e.x,o=t.y-e.y;for(let[t,s]of[[-a,e.x-n.l],[a,n.r-e.x],[-o,e.y-n.t],[o,n.b-e.y]]){if(t===0){if(s<0)return!1;continue}let e=s/t;if(t<0?r=Math.max(r,e):i=Math.min(i,e),r>i)return!1}return r<i}function eE(e){if(e.length<=1)return[e.slice()];let t=[];return e.forEach((n,r)=>{for(let i of eE([...e.slice(0,r),...e.slice(r+1)]))t.push([n,...i])}),t}function tE(e,t,n){let r=0,i=e.y===t.y;for(let a of n)if(i){let n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),o=Math.min(i,a.r)-Math.max(n,a.l);o>0&&(Math.abs(e.y-a.t)<PT||Math.abs(e.y-a.b)<PT)&&(r+=o*2),e.y>a.t&&e.y<a.b&&(n<a.l&&i>a.l&&(r+=60),n<a.r&&i>a.r&&(r+=60))}else{let n=Math.min(e.y,t.y),i=Math.max(e.y,t.y),o=Math.min(i,a.b)-Math.max(n,a.t);o>0&&(Math.abs(e.x-a.l)<PT||Math.abs(e.x-a.r)<PT)&&(r+=o*2),e.x>a.l&&e.x<a.r&&(n<a.t&&i>a.t&&(r+=60),n<a.b&&i>a.b&&(r+=60))}return r}function nE(e){let t=[];for(let n of e){let e=t[t.length-1];if(!(e&&Math.abs(e.x-n.x)<.01&&Math.abs(e.y-n.y)<.01))for(t.push(n);t.length>=3;){let[e,n,r]=t.slice(-3);if(!(Math.abs(e.x-n.x)<.01&&Math.abs(n.x-r.x)<.01||Math.abs(e.y-n.y)<.01&&Math.abs(n.y-r.y)<.01))break;t.splice(t.length-2,1)}}return t}function rE(e,t,n,r,i){let a=[],o=[...t.values()].map(RT),s=[];for(let[e,t]of i)for(let n=1;n<t.points.length;n++)s.push({a:t.points[n-1],b:t.points[n],rel:e});let c=0,l={x:0,y:0},u=[...i.keys()].filter(t=>e.relLabel.has(t)),d=e=>{let t=i.get(e).points,n=0;for(let e=1;e<t.length;e++)n+=Math.abs(t[e].x-t[e-1].x)+Math.abs(t[e].y-t[e-1].y);return n};u.sort((e,t)=>d(e)-d(t)||e-t);for(let t of u){let u=e.relLabel.get(t),f=i.get(t).points,p=d(t),m=null,h=0;for(let e=1;e<f.length;e++){let i=f[e-1],c=f[e],l=Math.abs(c.x-i.x)+Math.abs(c.y-i.y),d=Math.abs(i.y-c.y)<.01;for(let e of[.5,.3,.7,.15,.85]){let g={x:i.x+(c.x-i.x)*e,y:i.y+(c.y-i.y)*e};(d?[{x:0,y:0},{x:0,y:-(u.height/2+4)},{x:0,y:u.height/2+4}]:[{x:0,y:0},{x:u.width/2+6,y:0},{x:-(u.width/2+6),y:0}]).forEach((i,c)=>{let _={x:g.x+i.x,y:g.y+i.y},v={l:_.x-u.width/2,t:_.y-u.height/2,r:_.x+u.width/2,b:_.y+u.height/2},y=Math.abs(h+l*e-p/2)*.3+(c>0?60:0)+(l<(d?u.width:u.height)?20:0);for(let e of o)BT(v,zT(e,2))&&(y+=1e3+VT(v,e));for(let e of a)BT(v,zT(e,3))&&(y+=1e3+VT(v,e));for(let e of n)BT(v,e)&&(y+=500);for(let e=1;e+1<f.length;e++){let t=f[e];t.x>v.l-4&&t.x<v.r+4&&t.y>v.t-4&&t.y<v.b+4&&(y+=80)}for(let e of r){let t=v.l>=e.l+6&&v.r<=e.r-6&&v.t>=e.t+6&&v.b<=e.b-6;BT(v,zT(e,6))&&!t&&(y+=150)}for(let e of s)e.rel!==t&&BT(v,zT({l:Math.min(e.a.x,e.b.x),t:Math.min(e.a.y,e.b.y),r:Math.max(e.a.x,e.b.x),b:Math.max(e.a.y,e.b.y)},.5))&&(y+=200);(!m||y<m.score)&&(m={p:_,score:y,horizontal:d})})}h+=l}if(!m)continue;let g=m;g.score>=500&&(c++,g.horizontal?l.x=Math.max(l.x,u.width+28+12):l.y=Math.max(l.y,u.height+28+12)),i.get(t).label=g.p,a.push({l:g.p.x-u.width/2,t:g.p.y-u.height/2,r:g.p.x+u.width/2,b:g.p.y+u.height/2})}return{conflicts:c,needs:l}}var iE={...X,size:14,weight:`bold`},aE={...X,size:12},oE={...X,size:13},sE={...X,size:11},cE={...X,size:18,weight:`bold`},lE=216,uE=14,dE=70,fE=9,pE=180,mE=320,hE=9,gE=14;function _E(e,t,n,r){return Qv(Zv(Kv(e),t,n,r),n,r)}function vE(e){let t=e.external?`External `:``;if(e.type)return`[${e.type}]`;switch(e.level){case`person`:return`[${t}Person]`;case`system`:return`[${t}${e.external?`System`:`Software System`}]`;case`container`:return`[${t}Container${e.techn?`: ${e.techn}`:``}]`;case`component`:return`[${t}Component${e.techn?`: ${e.techn}`:``}]`}}function yE(e){if(e.type)return`[${e.type}]`;switch(e.kind){case`enterprise`:return`[Enterprise]`;case`system`:return`[Software System]`;case`container`:return`[Container]`;default:return}}function bE(e,t){if(!e)return;if(t===`text`)return e.text?`fill:${e.text}`:void 0;let n=[e.fill?`fill:${e.fill}`:``,e.stroke?`stroke:${e.stroke}`:``].filter(Boolean);return n.length>0?n.join(`;`):void 0}function xE(e,t,n){let r=t.x-t.width/2,i=t.y-t.height/2,a=t.width,o=t.height;switch(e.shape){case`person`:return[Q(`rect`,{class:`dg-shape`,style:n,x:r,y:i+40,width:a,height:o-40,rx:22,ry:22}),Q(`circle`,{class:`dg-c4-head`,style:n,cx:t.x,cy:i+21,r:21})];case`db`:{let e=new Rv().moveTo(r,i+fE).arcTo(a/2,fE,0,!1,!1,r+a,i+fE).lineTo(r+a,i+o-fE).arcTo(a/2,fE,0,!1,!0,r,i+o-fE).close(),t=new Rv().moveTo(r,i+fE).arcTo(a/2,fE,0,!1,!0,r+a,i+fE);return[Q(`path`,{class:`dg-shape`,style:n,d:e.toString()}),Q(`path`,{class:`dg-c4-lid`,style:n,d:t.toString()})]}case`queue`:{let e=new Rv().moveTo(r+fE,i).lineTo(r+a-fE,i).arcTo(fE,o/2,0,!1,!0,r+a-fE,i+o).lineTo(r+fE,i+o).arcTo(fE,o/2,0,!1,!0,r+fE,i).close(),t=new Rv().moveTo(r+a-fE,i).arcTo(fE,o/2,0,!1,!1,r+a-fE,i+o);return[Q(`path`,{class:`dg-shape`,style:n,d:e.toString()}),Q(`path`,{class:`dg-c4-lid`,style:n,d:t.toString()})]}default:return[Q(`rect`,{class:`dg-shape`,style:n,x:r,y:i,width:a,height:o,rx:10,ry:10})]}}function SE(e){let t=Ib(e,1),n=new Rv;if(t.length===0)return``;n.moveTo(t[0].x,t[0].y);for(let e=1;e+1<t.length;e++){let r=t[e-1],i=t[e],a=t[e+1],o=Math.hypot(i.x-r.x,i.y-r.y),s=Math.hypot(a.x-i.x,a.y-i.y),c=Math.min(10,o/2,s/2),l={x:i.x+(r.x-i.x)*c/o,y:i.y+(r.y-i.y)*c/o},u={x:i.x+(a.x-i.x)*c/s,y:i.y+(a.y-i.y)*c/s};n.lineTo(l.x,l.y).quadTo(i.x,i.y,u.x,u.y)}let r=t[t.length-1];return n.lineTo(r.x,r.y),n.toString()}function CE(e){switch(e.shape){case`person`:return{top:40+uE,bottom:uE,width:0,shift:0};case`db`:return{top:30,bottom:19,width:0,shift:0};case`queue`:return{top:uE,bottom:uE,width:27,shift:-9/2};default:return{top:uE,bottom:uE,width:0,shift:0}}}function wE(e,t,n,r){let i=new Map,a=new Map;for(let n of e.elements.values()){let e=CE(n),r=188-e.width,o=_E(n.label,r,iE,t),s=_E(vE(n),r,aE,t),c=n.description?_E(n.description,r,aE,t):void 0,l=o.height+2+s.height+(c?8+c.height:0);i.set(n.id,{name:o,type:s,description:c,height:l});let u=Math.max(o.width,s.width,c?.width??0);a.set(n.id,{width:Math.max(lE,u+28+e.width),height:Math.max(dE+(n.shape===`person`?40:0),l+e.top+e.bottom)})}let o=new Map,s=new Map;for(let n of e.boundaries.values()){let e=_E(n.label,mE,iE,t),r=yE(n),i=r?_E(r,mE,aE,t):void 0,a=n.description?_E(n.description,mE,aE,t):void 0,c=Math.max(e.width,i?.width??0,a?.width??0),l=e.height+(i?i.height:0)+(a?4+a.height:0);o.set(n.id,{name:e,type:i,description:a,width:c,height:l}),s.set(n.id,{width:c+8,height:l+14})}let c=new Map,l=new Map;e.relations.forEach((e,n)=>{if(e.hidden)return;let r=e.label?_E(e.label,pE,oE,t):void 0,i=e.techn?_E(`[${e.techn}]`,pE,sE,t):void 0,a=e.description?_E(e.description,pE,sE,t):void 0,o=e.index?Qv(Kv(e.index),{...sE,weight:`bold`},t):void 0,s=[r,i,a].filter(e=>!!e&&!Jv(e.label));if(s.length===0&&!o)return;let u=o?Math.max(18,o.width+8)+(s.length>0?5:0):0,d=Math.max(0,...s.map(e=>e.width)),f=s.reduce((e,t)=>e+t.height,0),p=u+d+10,m=Math.max(f,o?18:0)+6;c.set(n,{label:r,techn:i,description:a,index:o,width:p,height:m}),l.set(n,{width:p,height:m})});let u=UT({diagram:e,elementSize:a,boundaryLabel:s,relLabel:l}),d=e.title?Qv(Kv(e.title),cE,t):void 0,f=Math.max(u.width,d?.width??0),p=d?d.height+gE:0,m=(f-u.width)/2,h=t=>{let n=0,r=e.boundaries.get(t)?.parent;for(;r!==void 0;)n++,r=e.boundaries.get(r)?.parent;return n},g=[],_=[...e.boundaries.values()].sort((e,t)=>h(e.id)-h(t.id)).map(e=>{let t=u.boundaries.get(e.id),n=o.get(e.id),r=t.x-t.width/2,i=t.y-t.height/2,a=e.kind===`node`,s=bE(e.style,`text`),c=r+12,l=i+8,d=[],f=(e,t,n=0)=>{e&&(l+=n,d.push($(e,c,l+e.height/2,{anchor:`start`,className:t,style:s})),l+=e.height)};return f(n.name,`dg-c4-boundary-name`),f(n.type,`dg-c4-boundary-type`),f(n.description,`dg-c4-boundary-type`,4),g.push(Q(`g`,{class:`dg-c4-frame-title dg-c4-${a?`node`:`boundary`}-title`,"data-id":e.id},d)),Q(`g`,{class:`dg-cluster dg-c4-${a?`node`:`boundary`}`,"data-id":e.id,"data-parent":e.parent},[Q(`rect`,{class:a?`dg-c4-node-box`:`dg-c4-boundary-box`,x:r,y:i,width:t.width,height:t.height,rx:a?6:10,style:bE(e.style,`shape`)})])}),v=[],y=(e,t)=>{if(!e)return`url(#${Rb(n,`arrow`,t)})`;let r=v.indexOf(e);return r<0&&(r=v.push(e)-1),`url(#${n}-m-c4-${r}${t?`-start`:``})`},b=(t,n)=>[...e.boundaries.values()].filter(e=>{if(e.kind!==`node`)return!1;let r=u.boundaries.get(e.id);return Math.abs(t-r.x)<r.width/2&&Math.abs(n-r.y)<r.height/2}),x=[],S=[];e.relations.forEach((e,t)=>{let n=u.rels.get(t);if(!n)return;let r=e.style?.line;x.push(Q(`path`,{class:`dg-edge dg-c4-rel`,d:SE(n.points),style:r?`stroke:${r}`:void 0,"marker-start":e.arrows===`end`?void 0:y(r,!0),"marker-end":e.arrows===`start`?void 0:y(r,!1),"data-from":e.from,"data-to":e.to}));let i=c.get(t);if(!i||!n.label)return;let{x:a,y:o}=n.label,s=a-i.width/2,l=o-i.height/2,d=e.style?.text?`fill:${e.style.text}`:void 0,f=[Q(`rect`,{class:`dg-edge-label-box`,x:s,y:l,width:i.width,height:i.height,rx:3}),...b(a,o).map(()=>Q(`rect`,{class:`dg-c4-label-tint`,x:s,y:l,width:i.width,height:i.height,rx:3}))],p=[[i.label,`dg-edge-label dg-c4-rel-label`],[i.techn,`dg-c4-rel-techn`],[i.description,`dg-c4-rel-descr`]],m=0;i.index&&(m=Math.max(18,i.index.width+8));let h=p.filter(([e])=>e&&!Jv(e.label)),g=h.reduce((e,[t])=>e+t.height,0),_=s+5+(m>0?m+(h.length>0?5:0):0),v=Math.max(0,...h.map(([e])=>e.width)),C=o-g/2;for(let[e,t]of h)f.push($(e,_+v/2,C+e.height/2,{className:t,style:d})),C+=e.height;if(i.index){let e=s+5+m/2,t=h[0]?.[0],n=t?o-g/2+t.lineHeight/2:o;f.push(Q(`rect`,{class:`dg-c4-index`,x:e-m/2,y:n-hE,width:m,height:18,rx:hE,style:r?`fill:${r}`:void 0}),$(i.index,e,n,{className:`dg-c4-index-text`}))}S.push(Q(`g`,{class:`dg-edge-label-group dg-c4-rel-label-group`},f))});let C=[...e.elements.values()].map(e=>{let t=u.elements.get(e.id),n=i.get(e.id),r=CE(e),a=bE(e.style,`shape`),o=bE(e.style,`text`),s=t.y-t.height/2,c=t.height-r.top-r.bottom,l=s+r.top+Math.max(0,(c-n.height)/2),d=t.x+r.shift,f=[...xE(e,t,a)];return f.push($(n.name,d,l+n.name.height/2,{className:`dg-c4-name`,style:o})),l+=n.name.height+2,f.push($(n.type,d,l+n.type.height/2,{className:`dg-c4-type`,style:o})),l+=n.type.height,n.description&&(l+=8,f.push($(n.description,d,l+n.description.height/2,{className:`dg-c4-descr`,style:o}))),Q(`g`,{class:[`dg-node`,`dg-c4-element`,`dg-c4-${e.level}`,`dg-c4-${e.shape}`,e.external?`dg-c4-external`:``].filter(Boolean).join(` `),"data-id":e.id,"data-parent":e.parent},f)}),w=`#${n}`,T=(e,t)=>`${w} ${e} .dg-shape,${w} ${e} .dg-c4-head,${w} ${e} .dg-c4-lid{fill:${Z(`--dg-c4-${t}-fill`)};stroke:${Z(`--dg-c4-${t}-stroke`)}}${w} ${e} text{fill:${Z(`--dg-c4-${t}-text`)}}`,ee=[`${w} .dg-c4-element .dg-shape,${w} .dg-c4-head,${w} .dg-c4-lid{stroke-width:1.5px}`,T(`.dg-c4-person`,`person`),T(`.dg-c4-system`,`system`),T(`.dg-c4-container`,`container`),T(`.dg-c4-component`,`component`),T(`.dg-c4-element.dg-c4-external`,`external`),`${w} .dg-c4-lid{fill:none !important}`,`${w} .dg-c4-name{font-weight:bold;font-size:14px}`,`${w} .dg-c4-type{font-size:12px;opacity:0.85}`,`${w} .dg-c4-descr{font-size:12px}`,`${w} .dg-c4-boundary-box{fill:none;stroke:var(--dg-c4-boundary-stroke, var(--dg-text-muted, #6b7280));stroke-width:1.5px;stroke-dasharray:8 5}`,`${w} .dg-c4-node-box{fill:${Z(`--dg-c4-node-fill`)};stroke:var(--dg-c4-node-stroke, var(--dg-text-muted, #6b7280));stroke-width:1.25px}`,`${w} .dg-c4-boundary-title text{fill:var(--dg-c4-boundary-text, var(--dg-text, #1f2937))}`,`${w} .dg-c4-node-title text{fill:var(--dg-c4-node-text, var(--dg-text, #1f2937))}`,`${w} .dg-c4-frame-title text{paint-order:stroke;stroke:${Z(`--dg-edge-label-fill`)};stroke-width:4px;stroke-linejoin:round}`,`${w} .dg-c4-boundary-name{font-weight:bold;font-size:14px}`,`${w} .dg-c4-boundary-type{font-size:12px;opacity:0.8}`,`${w} .dg-c4-rel{stroke-dasharray:6 4}`,`${w} .dg-c4-rel-label-group text{fill:${Z(`--dg-text`)}}`,`${w} .dg-c4-rel-label-group .dg-edge-label-box{opacity:1}`,`${w} .dg-c4-label-tint{fill:${Z(`--dg-c4-node-fill`)}}`,`${w} .dg-c4-rel-label{font-size:13px}`,`${w} .dg-c4-rel-label-group .dg-c4-rel-techn,${w} .dg-c4-rel-label-group .dg-c4-rel-descr{font-size:11px;fill:${Z(`--dg-text-muted`)}}`,`${w} .dg-c4-rel-descr{font-style:italic}`,`${w} .dg-c4-index{fill:${Z(`--dg-line`)}}`,`${w} .dg-c4-rel-label-group .dg-c4-index-text{font-size:11px;font-weight:bold;fill:${Z(`--dg-number-text`)}}`,`${w} .dg-c4-title{font-weight:bold;font-size:18px}`].join(``),E=v.flatMap((e,t)=>[!1,!0].map(r=>Q(`marker`,{id:`${n}-m-c4-${t}${r?`-start`:``}`,markerUnits:`userSpaceOnUse`,orient:`auto`,viewBox:`0 0 10 10`,refX:r?1:9,refY:5,markerWidth:10,markerHeight:10},[Q(`path`,{d:`M0,0 L10,5 L0,10 z`,transform:r?`translate(10,0) scale(-1,1)`:void 0,style:`fill:${e};stroke:${e}`,"stroke-width":1})]))),D=[];return d&&D.push($(d,f/2,d.height/2,{className:`dg-c4-title`})),D.push(Q(`g`,{transform:m!==0||p!==0?`translate(${Fv(m)},${Fv(p)})`:void 0},[Q(`g`,{class:`dg-clusters`},_),Q(`g`,{class:`dg-edges`},x),Q(`g`,{class:`dg-c4-frame-titles`},g),Q(`g`,{class:`dg-edge-labels`},S),Q(`g`,{class:`dg-nodes`},C)])),zv({id:n,type:`c4`,width:f,height:u.height+p,title:r??e.accessibility.title??e.title??`C4 diagram`,description:e.accessibility.description,defs:[...zb(n,[`arrow`]),...E],body:D,css:ee})}var TE={pie:{parse:oy,render:uy},gantt:{parse:nb,render:xb},flowchart:{parse:jb,render:Hx},sequence:{parse:hS,render:CS},state:{parse:DS,render:jS},timeline:{parse:IS,render:GS},xychart:{parse:nC,render:yC},mindmap:{parse:EC,render:GC},er:{parse:ow,render:Fw},class:{parse:Jw,render:uT},c4:{parse:OT,render:wE}},EE={pie:`pie`,gantt:`gantt`,flowchart:`flowchart`,graph:`flowchart`,"flowchart-elk":`flowchart`,sequenceDiagram:`sequence`,stateDiagram:`state`,"stateDiagram-v2":`state`,timeline:`timeline`,"xychart-beta":`xychart`,xychart:`xychart`,mindmap:`mindmap`,erDiagram:`er`,classDiagram:`class`,"classDiagram-v2":`class`,C4Context:`c4`,C4Container:`c4`,C4Component:`c4`,C4Dynamic:`c4`,C4Deployment:`c4`};function DE(e){let t=ny(e);if(!t)throw new Y(`The diagram is empty`,0,0);let n=EE[t.keyword];if(!n)throw new Y(`"${t.keyword}" is not a supported diagram type`,t.statement.line,t.statement.column,`Supported: ${Object.keys(EE).join(`, `)}.`);return TE[n]}function OE(e){return DE(e).parse(e)}var kE=e=>e===`LR`||e===`RL`?`LR`:`TB`;function AE(e){let t=e.replace(/^\s*(%%[^\n]*\n\s*)*/,``).split(/\s/,1)[0]??``;return/^(stateDiagram(-v2)?|flowchart|graph)$/.test(t)}function jE(e,t={}){let n=OE(e);if(n&&n.type===`state`&&n.states instanceof Map)return NE(n,t);if(n&&n.type===`flowchart`&&n.nodes instanceof Map)return PE(n,t);throw new Vf(`Only stateDiagram-v2 and flowchart can be imported, not "${n?.type??`unknown`}"`)}function ME(e){let t=/^\u0000(start|end):(.*)$/.exec(e);return t?t[2]===`root`?t[1]:`${t[2]}-${t[1]}`:e}function NE(e,t){let n=e.composites,r=e=>{let t=e;for(;t!==void 0;){let e=n.get(t);if(!e)return``;if(!e.region)return t;t=e.parent}return``},i=e=>e!==void 0&&n.get(e)?.region?e:void 0,a=t=>e.states.get(t)?.parent??n.get(t)?.parent,o=(e,t)=>{let i=e;for(let e=0;i!==void 0&&e<1e3;e++){if(!n.get(i)?.region&&r(a(i))===t)return i;i=a(i)}},s=new Map,c=r=>{let i=s.get(r);return i||(i={version:1,nodes:[],edges:[]},r===``?i.meta={direction:t.direction??kE(e.direction)}:i.meta={title:n.get(r)?.name??r,direction:t.direction??kE(e.direction)},s.set(r,i)),i};c(``);let l={state:`state`,start:`start`,end:`end`,choice:`decision`,fork:`state`,join:`state`};for(let t of e.states.values()){let e=c(r(t.parent)),n={id:ME(t.id),type:l[t.kind]};(t.kind===`state`||t.kind===`choice`)&&(n.label=t.name),(t.kind===`fork`||t.kind===`join`)&&(n.label=t.name||t.kind,n.data={pseudo:t.kind}),t.descriptions.length&&(n.description=t.descriptions.join(` `));let a=i(t.parent);a&&(n.group=a),e.nodes.push(n)}for(let e of n.values()){if(e.region){let t=c(r(e.parent)),n={id:e.id},a=i(e.parent);a&&(n.parent=a),(t.groups??=[]).push(n);continue}let t=c(r(e.parent)),n={id:e.id,type:`subprocess`,label:e.name,subgraph:c(e.id)},a=i(e.parent);a&&(n.group=a),t.nodes.push(n)}let u=0;for(let t of e.transitions){let e=r(a(t.from)),i,s;for(let a=0;e!==void 0&&a<1e3&&(i=o(t.from,e),s=o(t.to,e),i===void 0||s===void 0);a++)e=e===``?void 0:r(n.get(e)?.parent);if(e===void 0||i===void 0||s===void 0)continue;let l={id:`t${++u}`,from:ME(i),to:ME(s)};t.label&&(l.label=t.label),c(e).edges.push(l)}let d=0;for(let t of e.notes){let e=c(r(a(t.target))),n=`note-${++d}`;e.nodes.push({id:n,type:`note`,label:t.text}),e.edges.push({id:`${n}-link`,from:n,to:ME(t.target),kind:`association`})}return c(``)}function PE(e,t){let n=new Set(e.edges.map(e=>e.to)),r=new Set(e.edges.map(e=>e.from)),i=(e,t)=>{switch(t){case`rhombus`:case`choice`:case`hexagon`:return`decision`;case`subroutine`:return`subprocess`;case`doublecircle`:case`end`:return`end`;case`start`:return`start`;case`circle`:return n.has(e)?r.has(e)?`state`:`end`:`start`;case`round`:case`stadium`:return`state`;case`asymmetric`:return`note`;default:return`task`}},a={version:1,nodes:[],edges:[],meta:{direction:t.direction??kE(e.direction)}};for(let t of e.nodes.values()){let e={id:t.id,type:i(t.id,t.shape)};!t.text||e.type===`start`&&t.text===t.id||e.type===`end`&&t.text===t.id||(e.label=t.text),t.subgraph&&(e.group=t.subgraph),a.nodes.push(e)}e.subgraphs.size&&(a.groups=[...e.subgraphs.values()].map(e=>{let t={id:e.id};return e.title&&(t.label=e.title),e.parent&&(t.parent=e.parent),t}));let o=0;for(let t of e.edges){if(t.stroke===`invisible`)continue;let e={id:`e${++o}`,from:t.from,to:t.to};t.text&&(e.label=t.text),t.end===`none`&&t.stroke===`dotted`&&(e.kind=`association`),a.edges.push(e)}return a}function FE(e){if(!e)return;let t=document.documentElement;if(e!==`system`){t.dataset.theme=e;return}let n=window.matchMedia?.(`(prefers-color-scheme: dark)`),r=()=>t.dataset.theme=n?.matches?`dark`:`light`;r(),n?.addEventListener?.(`change`,r)}function IE(e,t){let{theme:n,...r}=t;return FE(n),Cv(e,{toastProvider:!0,...r})}function LE(e,t){let{theme:n,...r}=t;return FE(n),wv(e,{mermaid:jE,...r})}return e.BUILTIN_TYPES=tp,e.CommandError=ch,e.DEFAULT_LIMITS=Ch,e.DESCRIPTION_FONT=Pm,e.EDGE_FONT=Fm,e.GRAPH_VERSION=zf,e.GraphError=Vf,e.History=hh,e.LABEL_FONT=Nm,e.LayoutError=lp,e.MAX_EDGES=Bp,e.MAX_NODES=zp,e.STATUS_TONES=rh,e.alignNodes=yh,e.applyCommand=dh,e.approximateMeasurer=em,e.backoffDelay=oh,e.bezierPoint=bm,e.boundsOf=Ym,e.centreOn=kh,e.clampZoom=wh,e.copyFragment=_h,e.createPoller=sh,e.createRegistry=np,e.defaultRegistry=rp,e.describeCommand=mh,e.distanceToPolyline=xm,e.distributeNodes=bh,e.emptyGraph=ep,e.emptyMonitorState=Xm,e.facingSide=om,e.findFreeSpot=Sh,e.fitView=Oh,e.frameAround=Jm,e.fromMermaid=jE,e.isEnabled=Bf,e.isFragment=gh,e.isLocked=op,e.isMermaidFlow=AE,e.isStale=th,e.isVisible=Ah,e.issuesByElement=cp,e.layoutCommand=xh,e.layoutGraph=Vm,e.measureEdgeLabel=Bm,e.measureNode=Rm,e.mergeSnapshot=eh,e.midpoint=ym,e.mountFlow=IE,e.mountFlowEditor=LE,e.nearestInDirection=jh,e.nextId=fh,e.parseGraph=Qf,e.pasteFragment=vh,e.pathEdges=nh,e.portsOf=ap,e.reduceMonitor=$m,e.route=pm,e.routeEdges=Um,e.sideNormal=im,e.sidePoint=am,e.snap=ph,e.statusSummary=ih,e.stringifyGraph=$f,e.toEpoch=Zm,e.toGraph=Eh,e.toScreen=Th,e.typeOf=ip,e.validateGraph=sp,e.wrapText=tm,e.zoomAt=Dh,e})({});
|
|
14
|
+
`)});continue}if(/^note\b/.test(d))throw new Y(`"${d}" is not a note`,n.line,n.column,`Write note "text" or note for Class "text".`);if(p=Uw.exec(d),p){let e=l(p[1]).id,t=l(p[7]).id,n=p[8]?.trim();r.relations.push({from:e,to:t,fromEnd:p[3]?Vw[p[3]]:`none`,toEnd:p[5]?Hw[p[5]]:`none`,dashed:p[4]===`..`,fromCardinality:p[2],toCardinality:p[6],label:n?n.replace(/^"(.*)"$/,`$1`):void 0});continue}if(/\(\)\s*(--|\.\.)|(--|\.\.)\s*\(\)/.test(d))throw new Y(`Lollipop interfaces are not supported`,n.line,n.column+Math.max(0,d.search(/\(\)|--\(|\.\.\(/)),`Draw the interface as a class: class IShape { <<interface>> } and Shape ..|> IShape.`);if(p=Kw.exec(d),p){u(l(p[1]),p[2].trim(),n);continue}let m=RegExp(`^(${zw})~`,`u`).exec(d);if(m)throw new Y(`A generic parameter goes on the class declaration`,n.line,n.column+m[1].length,`Declare it with class ${m[1]}~T~ and refer to the class as ${m[1]}.`);let h=RegExp(`^(${zw})\\s*(?:"[^"]*"\\s*)?([^\\p{L}\\p{N}_\\s":]{2,})`,`u`).exec(d);throw h?new Y(`"${h[2]}" is not a relationship`,n.line,n.column+d.indexOf(h[2],h[1].length),`Use <|--, *--, o--, -->, --, ..>, ..|> or .. (heads at either end).`):RegExp(`^${zw}$`,`u`).test(d)?new Y(`"${d}" alone is not a statement`,n.line,n.column,`Declare a class with "class ${d}".`):new Y(`"${d}" is not a class diagram statement`,n.line,n.column)}if(c)throw new Y(`Namespace "${c.id}" is not closed`,c.s.line,c.s.column,`Add "}".`);for(let e of i)for(let t of e.ids){let n=r.classes.get(t);if(!n)throw new Y(`cssClass refers to an unknown class "${t}"`,e.s.line,e.s.column);n.classes.push(e.cls)}for(let e of a){let t=r.classes.get(e.id);if(!t)throw new Y(`style refers to an unknown class "${e.id}"`,e.s.line,e.s.column);t.style=e.style}for(let e of o){let t=r.classes.get(e.id);if(!t)throw new Y(`A link refers to an unknown class "${e.id}"`,e.s.line,e.s.column);let n=Cy(e.href);if(n===null)throw new Y(`The link "${e.href}" is not allowed`,e.s.line,e.s.column,`Use http(s), mailto or a relative address.`);t.link={href:n,tooltip:e.tooltip,target:e.target}}for(let e of s)if(!r.classes.has(e.target))throw new Y(`A note refers to an unknown class "${e.target}"`,e.s.line,e.s.column);return r}var Zw={...X,size:13},Qw={...X,size:12},$w={...X,weight:`bold`},eT={...X,size:12},tT=6,nT=10,rT=5,iT=100,aT={none:null,inheritance:`triangle`,composition:`diamond`,aggregation:`diamond-open`,arrow:`open-arrow`};function oT(e){return e.classifier===`abstract`?{...Zw,style:`italic`}:Zw}function sT(e,t){let n=e.annotations.map(e=>ey(Yv(`«${Wv(e)}»`),Qw,t)),r=ey(Jv(e.label),$w,t),i=e=>({member:e,label:ey(Yv(Wv(e.text)),oT(e),t)}),a=e.attributes.map(i),o=e.methods.map(i),s=n.reduce((e,t)=>e+t.height,0)+r.height+18,c=Zw.size*1.25,l=e=>e.length===0?nT:e.length*c+12,u=a.length===0&&o.length===0,d=u?0:l(a),f=u?0:l(o),p=Math.max(r.width,...n.map(e=>e.width),...a.map(e=>e.label.width),...o.map(e=>e.label.width));return{annotations:n,name:r,attributes:a,methods:o,headerHeight:s,attributesHeight:d,methodsHeight:f,width:Math.max(p+32,iT),height:s+d+f}}function cT(e,t){return xy(t.get(`default`),...e.classes.map(e=>t.get(e)),e.style)}function lT(e,t,n,r){let i=n.x-n.width/2,a=n.y-n.height/2,o=Sy(r.shape),s=ww(r.shape),c=Sy(r.text),l=t.attributesHeight===0&&t.methodsHeight===0,u=.75,d=[Q(`rect`,{class:l?`dg-shape`:`dg-shape dg-uml-box`,x:i,y:a,width:n.width,height:n.height,rx:rT,style:l?o:s.frame})];l||d.push(Q(`path`,{class:`dg-uml-header`,d:Tw(i+u,a+u,n.width-u*2,t.headerHeight-u,4.25,0),style:s.band}));let f=a+9;for(let e of t.annotations)d.push($(e,n.x,f+e.height/2,{className:`dg-label dg-uml-annotation`,style:c})),f+=e.height;d.push($(t.name,n.x,f+t.name.height/2,{className:`dg-label dg-uml-name`,style:c}));let p=r.shape.stroke?`stroke:${r.shape.stroke}`:void 0,m=(e,t)=>{d.push(Q(`line`,{class:`dg-uml-rule`,x1:i,y1:t,x2:i+n.width,y2:t,style:p}));let r=t+tT;for(let{member:t,label:n}of e){let e=[t.classifier===`static`?`text-decoration:underline`:``,t.classifier===`abstract`?`font-style:italic`:``].filter(Boolean).join(`;`);d.push($(n,i+10,r+n.height/2,{anchor:`start`,className:`dg-uml-member dg-uml-${t.kind}`,style:e||void 0})),r+=n.height}};l||(m(t.attributes,a+t.headerHeight),m(t.methods,a+t.headerHeight+t.attributesHeight));let h=Q(`g`,{class:[`dg-node`,`dg-uml-class`,...e.classes.map(e=>`dg-class-${e.replace(/[^\w-]/g,``)}`)].join(` `),"data-id":e.id},[e.link?.tooltip?Q(`title`,{},[{text:e.link.tooltip}]):null,...d]);return e.link?Q(`a`,{href:e.link.href,target:e.link.target,rel:e.link.target===`_blank`?`noopener noreferrer`:void 0},[h]):h}function uT(e){let t=e=>e===`inheritance`||e===`composition`||e===`aggregation`;return t(e.toEnd)&&!t(e.fromEnd)?{from:e.to,to:e.from,fromEnd:e.toEnd,toEnd:e.fromEnd,dashed:e.dashed,fromCardinality:e.toCardinality,toCardinality:e.fromCardinality,label:e.label}:e}function dT(e,t,n){let{point:r,normal:i}=t;if(i.x===0){let t=n??1;return $(e,r.x+t*12,r.y+i.y*(e.height/2+4),{anchor:t>0?`start`:`end`,className:`dg-uml-cardinality`})}let a=n??-1;return $(e,r.x+i.x*(e.width/2+6),r.y+a*(e.height/2+7),{className:`dg-uml-cardinality`})}function fT(e,t,n,r){let i=new Map;for(let n of e.classes.values())i.set(n.id,sT(n,t));let a=e.relations.map(uT),o=new Map,s=a.map((e,n)=>{let r;if(e.label){let i=ey(Jv(e.label),X,t);o.set(n,i),r={width:i.width+8,height:i.height+4}}return{from:e.from,to:e.to,label:r}}),c=[...e.classes.values()].map(e=>({id:e.id,width:i.get(e.id).width,height:i.get(e.id).height,cluster:e.namespace})),l=e.notes.map(e=>ey(Yv(Wv(e.text)),X,t)),u=[];e.notes.forEach((t,n)=>{let r=l[n];c.push({id:`\u0000note${n}`,width:r.width+16,height:r.height+16,cluster:t.target?e.classes.get(t.target).namespace:void 0}),t.target&&u.push({id:`note${n}`,from:`\u0000note${n}`,to:t.target,weight:0})});let d={...X,weight:`bold`},f=new Map,p=[...e.namespaces.values()].map(e=>{let n=ey(Yv(e.id),d,t);return f.set(e.id,n),{id:e.id,label:{width:n.width,height:n.height}}}),{result:m,routes:h}=Sw({direction:e.direction,nodes:c,edges:s,extra:u,clusters:p,nodeSep:50,rankSep:70,clusterPadding:16}),g=[...e.namespaces.values()].map(e=>{let t=m.clusters.get(e.id),n=f.get(e.id);return Q(`g`,{class:`dg-cluster dg-namespace`,"data-id":e.id},[Q(`rect`,{class:`dg-cluster-box`,x:t.x-t.width/2,y:t.y-t.height/2,width:t.width,height:t.height,rx:6}),$(n,t.x,t.y-t.height/2+6+n.height/2,{className:`dg-cluster-label`})])}),_=[],v=[],y=[];a.forEach((e,r)=>{let i=h[r];if(!i)return;let a=aT[e.fromEnd],s=aT[e.toEnd];a&&_.push(a),s&&_.push(s),v.push(Q(`path`,{class:e.dashed?`dg-edge dg-edge-dashed`:`dg-edge`,d:zb(i.points),"marker-start":a?`url(#${Bb(n,a,!0)})`:void 0,"marker-end":s?`url(#${Bb(n,s)})`:void 0,"data-from":e.from,"data-to":e.to}));let c=o.get(r);c&&i.label&&y.push(Cw(c,i.label));let l=e.from===e.to,u=(e,n,r)=>y.push(dT(ey(Yv(Wv(e)),eT,t),n,r));e.fromCardinality&&u(e.fromCardinality,i.start,l?-1:void 0),e.toCardinality&&u(e.toCardinality,i.end,l?1:void 0)});let b=e.notes.map((e,t)=>{let n=m.nodes.get(`\u0000note${t}`),r=l[t],i=null;if(e.target){let r=m.nodes.get(e.target),a=m.edges.get(`note${t}`),o=a?.points[a.points.length-1]??n,s=Fb(n,a?.points[0]??r),c=Fb(r,o);i=Q(`path`,{class:`dg-note-link`,d:zb([s,...a?.points??[],c])})}return Q(`g`,{class:`dg-note`},[i,Q(`rect`,{class:`dg-note-box`,x:n.x-n.width/2,y:n.y-n.height/2,width:n.width,height:n.height,rx:2}),$(r,n.x,n.y,{className:`dg-note-text`})])}),x=[...e.classes.values()].map(t=>lT(t,i.get(t.id),m.nodes.get(t.id),cT(t,e.classDefs))),S=`#${n}`,C=[`${S} .dg-uml-class .dg-uml-box{fill:${Z(`--dg-row-fill`)}}`,`${S} .dg-uml-name{font-weight:bold}`,`${S} .dg-uml-header{fill:${Z(`--dg-node-fill`)};stroke:none}`,`${S} .dg-uml-rule{stroke:${Z(`--dg-node-stroke`)};stroke-width:1px}`,`${S} .dg-uml-annotation{font-size:${Qw.size}px}`,`${S} .dg-uml-member{font-size:${Zw.size}px}`,`${S} .dg-uml-cardinality{fill:${Z(`--dg-text-muted`)};font-size:${eT.size}px}`,`${S} .dg-edge-dashed{stroke-dasharray:6 4}`,`${S} .dg-note-box{fill:${Z(`--dg-note-fill`)};stroke:${Z(`--dg-note-stroke`)}}`,`${S} .dg-note-text{fill:${Z(`--dg-note-text`)}}`,`${S} .dg-note-link{fill:none;stroke:${Z(`--dg-note-stroke`)};stroke-dasharray:3 3}`].join(``);return Vv({id:n,type:`class`,width:m.width,height:m.height,title:r??e.accessibility.title??`Class diagram`,description:e.accessibility.description,defs:Vb(n,_),body:[Q(`g`,{class:`dg-clusters`},g),Q(`g`,{class:`dg-edges`},v),Q(`g`,{class:`dg-notes`},b),Q(`g`,{class:`dg-edge-labels`},y),Q(`g`,{class:`dg-nodes`},x)],css:C})}var pT=[`C4Context`,`C4Container`,`C4Component`,`C4Dynamic`,`C4Deployment`];function mT(e){let t=e.text,n=/^([A-Za-z_][\w]*)\s*\(/.exec(t);if(!n)return null;let r=n[1],i=[],a=n[0].length,o=t=>e.column+t,s=(t,n,r)=>new Y(t,e.line,o(n),r),c=()=>{for(;a<t.length&&/\s/.test(t[a]);)a++};if(c(),t[a]===`)`)a++;else for(;;){c();let e=a,n,l=/^\$([A-Za-z_]\w*)\s*=\s*/.exec(t.slice(a));l&&(n=l[1].toLowerCase(),a+=l[0].length);let u;if(t[a]===`"`){let e=t.indexOf(`"`,a+1);if(e<0)throw s(`The string is not closed`,a,`Add the closing ".`);u=t.slice(a+1,e),a=e+1,c()}else{let e=0,n=a;for(;a<t.length;){let n=t[a];if(n===`"`)throw s(`A quote inside an unquoted argument`,a,`Quote the whole argument.`);if(n===`(`)e++;else if(n===`)`){if(e===0)break;e--}else if(n===`,`&&e===0)break;a++}u=t.slice(n,a).trim()}if(i.push({name:n,value:u,column:o(e)}),t[a]===`,`)a++;else{if(t[a]===`)`){a++;break}throw a>=t.length?s(`"${r}(" is not closed`,t.length,`Add ")".`):s(`Unexpected "${t[a]}" in the arguments of ${r}`,a,`Separate arguments with commas.`)}}c();let l=!1,u=!1;if(t[a]===`{`&&(l=!0,a++,c(),t[a]===`}`&&(u=!0,a++,c())),a<t.length)throw s(`Unexpected "${t.slice(a)}" after ${r}(…)`,a);return{name:r,args:i,opens:l,closes:u}}function hT(e,t,n,r=[]){let i=new Map,a=0;for(let o of e.args){if(o.name===void 0){if(a>=n.length)throw new Y(`${e.name} takes at most ${n.length} positional arguments`,t.line,o.column,`Parameters: ${n.join(`, `)}.`);i.set(n[a++],o);continue}let s=n.find(e=>e.toLowerCase()===o.name)??r.find(e=>e.toLowerCase()===o.name);if(!s)throw new Y(`${e.name} has no parameter "$${o.name}"`,t.line,o.column,`Parameters: ${[...n,...r].map(e=>`$${e}`).join(`, `)}.`);i.set(s,o)}return i}function gT(e,t){let n=e.get(t);if(!n)return;let r=n.value.replace(/\\n/g,`<br>`);return r.trim()===``?void 0:r}var _T={};for(let[e,t]of[[`System`,`system`],[`Container`,`container`],[`Component`,`component`]])for(let[n,r]of[[``,`box`],[`Db`,`db`],[`Queue`,`queue`]])_T[`${e}${n}`]={level:t,shape:r,external:!1},_T[`${e}${n}_Ext`]={level:t,shape:r,external:!0};_T.Person={level:`person`,shape:`person`,external:!1},_T.Person_Ext={level:`person`,shape:`person`,external:!0};var vT={Boundary:`boundary`,Enterprise_Boundary:`enterprise`,System_Boundary:`system`,Container_Boundary:`container`,Deployment_Node:`node`,Deployment_Node_L:`node`,Deployment_Node_R:`node`,Node:`node`,Node_L:`node`,Node_R:`node`},yT={U:`up`,Up:`up`,D:`down`,Down:`down`,L:`left`,Left:`left`,R:`right`,Right:`right`},bT={Rel:{arrows:`end`},BiRel:{arrows:`both`},Rel_Back:{arrows:`start`},RelIndex:{arrows:`end`,indexed:!0}};for(let[e,t]of Object.entries(yT))bT[`Rel_${e}`]={arrows:`end`,direction:t},bT[`BiRel_${e}`]={arrows:`both`,direction:t},bT[`Lay_${e}`]={arrows:`end`,direction:t,hidden:!0},bT[`RelIndex_${e}`]={arrows:`end`,direction:t,indexed:!0};var xT=new Set(`SHOW_LEGEND.SHOW_FLOATING_LEGEND.LAYOUT_WITH_LEGEND.LAYOUT_AS_SKETCH.HIDE_STEREOTYPE.HIDE_PERSON_SPRITE.SHOW_PERSON_SPRITE.SHOW_PERSON_PORTRAIT.SHOW_PERSON_OUTLINE.AddElementTag.AddRelTag.AddBoundaryTag.AddPersonTag.AddSystemTag.AddContainerTag.AddComponentTag.AddNodeTag.UpdateElementTag.UpdateRelTag.UpdateBoundaryTag.UpdateContainerBoundaryStyle.UpdateSystemBoundaryStyle.UpdateEnterpriseBoundaryStyle.SetPropertyHeader.WithoutPropertyHeader.AddProperty.Lay_Distance.Rel_Neighbor.Rel_Back_Neighbor.BiRel_Neighbor.Index.SetIndex.LastIndex.increment.setIndex`.split(`.`)),ST=[`alias`,`label`,`descr`,`sprite`,`tags`,`link`],CT=[`alias`,`label`,`techn`,`descr`,`sprite`,`tags`,`link`],wT=[`from`,`to`,`label`,`techn`,`descr`,`sprite`,`tags`,`link`],TT=[`shadowing`,`shape`,`sprite`,`techn`,`legendText`,`legendSprite`,`borderStyle`,`borderThickness`,`type`],ET=/^[\p{L}\p{N}_][\p{L}\p{N}_.-]*$/u;function DT(e,t,n,r){let i=e.get(t);if(!i||i.value.trim()===``)throw new Y(`${n.name} needs ${t===`alias`?`an alias`:`"${t}"`}`,r.line,r.column);let a=i.value.trim();if(!ET.test(a))throw new Y(`"${a}" is not a valid alias`,r.line,i.column,`Use letters, digits, "_", "-" and ".".`);return a}function OT(e,t,n){if(e&&e.value.trim()!==``)try{let r=yy(`${t}:${e.value.trim()}`,n.line,e.column);return t===`color`?r.text.fill:r.shape[t]}catch{throw new Y(`"${e.value}" is not a colour`,n.line,e.column,`Write #rgb, #rrggbb, rgb(…) or a colour name.`)}}function kT(e,t){if(!e)return;let n=e.value.trim();if(!/^[0-9]+$/.test(n)||Number(n)<1||Number(n)>50)throw new Y(`"${e.value}" is not a number from 1 to 50`,t.line,e.column);return Number(n)}function AT(e){let t=ny(e),n=t[0],r=n?pT.find(e=>e===n.text)??null:null;if(!n||!r)throw new Y(`A C4 diagram starts with C4Context, C4Container, C4Component, C4Dynamic or C4Deployment`,n?.line??1,n?.column??1);let i={type:`c4`,kind:r,direction:`TB`,elements:new Map,boundaries:new Map,children:new Map([[``,[]]]),relations:[],shapeInRow:4,boundaryInRow:2,accessibility:{}},a=[],o=null,s=()=>a[a.length-1],c=(e,t,n)=>{if(i.elements.has(e)||i.boundaries.has(e))throw new Y(`"${e}" is defined twice`,t.line,n,`Every alias must be unique.`);i.children.get(s()??``).push(e)},l=1,u=[],d=[];for(let e=1;e<t.length;e++){let n=t[e],r=n.text;if(o){let{id:e,s:t}=o;if(o=null,r===`{`||r===`{}`){r===`{`&&a.push(e);continue}throw new Y(`"${e}" needs a body`,t.line,t.column,`Add "{" … "}" after it.`)}let f=sy(t,e,i.accessibility);if(f>0){e+=f-1;continue}let p=/^title(?:\s+(.*))?$/.exec(r);if(p){i.title=p[1]?.trim()||void 0;continue}if(r===`}`){if(a.length===0)throw new Y(`"}" without an open boundary`,n.line,n.column);a.pop();continue}let m=mT(n);if(!m)throw/^!(include|define|theme)/.test(r)?new Y(`PlantUML preprocessor lines are not part of Mermaid C4`,n.line,n.column,`Remove the line.`):new Y(`"${r}" is not a C4 statement`,n.line,n.column,`Write a macro call such as Person(alias, "Label").`);if(m.opens&&!(m.name in vT))throw new Y(`${m.name} cannot have a body`,n.line,n.column,`Only boundaries and deployment nodes take "{ … }".`);let h=_T[m.name];if(h){let e=hT(m,n,h.level===`container`||h.level===`component`?CT:ST,h.level===`person`||h.level===`system`?[`type`,`baseShape`]:[`baseShape`]),t=DT(e,`alias`,m,n),r=gT(e,`label`);if(r===void 0)throw new Y(`${m.name}(${t}, …) needs a label`,n.line,n.column);c(t,n,e.get(`alias`).column),i.elements.set(t,{id:t,level:h.level,shape:h.shape,external:h.external,label:r,techn:gT(e,`techn`),type:gT(e,`type`),description:gT(e,`descr`),parent:s()});continue}let g=vT[m.name];if(g){let e=hT(m,n,g===`node`?[`alias`,`label`,`type`,`descr`,`sprite`,`tags`,`link`]:g===`boundary`?[`alias`,`label`,`type`,`tags`,`link`]:[`alias`,`label`,`tags`,`link`],[`descr`,`type`,`sprite`]),t=DT(e,`alias`,m,n);c(t,n,e.get(`alias`).column),i.boundaries.set(t,{id:t,kind:g,label:gT(e,`label`)??t,type:gT(e,`type`),description:gT(e,`descr`),parent:s()}),i.children.set(t,[]),m.opens&&!m.closes?a.push(t):m.opens||(o={id:t,s:n});continue}let _=bT[m.name];if(_){let e=hT(m,n,_.hidden?[`from`,`to`]:_.indexed?[`index`,...wT]:[...wT],_.hidden?[]:[`index`]),t=DT(e,`from`,m,n),r=DT(e,`to`,m,n),a,o=e.get(`index`)?.value.trim();if(_.indexed&&!o)throw new Y(`${m.name} needs an index`,n.line,n.column);o?/^Index\(\s*\)$/.test(o)?a=String(l++):/^LastIndex\(\s*\)$/.test(o)?a=String(Math.max(1,l-1)):(a=o,/^[0-9]+$/.test(o)&&(l=Number(o)+1)):i.kind===`C4Dynamic`&&!_.hidden&&(a=String(l++)),i.relations.push({from:t,to:r,label:gT(e,`label`)??``,techn:gT(e,`techn`),description:gT(e,`descr`),direction:_.direction,arrows:_.arrows,hidden:_.hidden??!1,index:a,line:n.line,column:n.column})}else{switch(m.name){case`UpdateElementStyle`:case`UpdateBoundaryStyle`:{let e=hT(m,n,[`elementName`,`bgColor`,`fontColor`,`borderColor`],TT),t=DT(e,`elementName`,m,n);u.push({id:t,s:n,boundary:m.name===`UpdateBoundaryStyle`,style:{fill:OT(e.get(`bgColor`),`fill`,n),text:OT(e.get(`fontColor`),`color`,n),stroke:OT(e.get(`borderColor`),`stroke`,n)}});continue}case`UpdateRelStyle`:{let e=hT(m,n,[`from`,`to`,`textColor`,`lineColor`,`offsetX`,`offsetY`]);d.push({from:DT(e,`from`,m,n),to:DT(e,`to`,m,n),s:n,style:{text:OT(e.get(`textColor`),`color`,n),line:OT(e.get(`lineColor`),`stroke`,n)}});continue}case`UpdateLayoutConfig`:{let e=hT(m,n,[`c4ShapeInRow`,`c4BoundaryInRow`]);i.shapeInRow=kT(e.get(`c4ShapeInRow`),n)??i.shapeInRow,i.boundaryInRow=kT(e.get(`c4BoundaryInRow`),n)??i.boundaryInRow;continue}case`LAYOUT_TOP_DOWN`:case`LAYOUT_LEFT_RIGHT`:case`LAYOUT_LANDSCAPE`:if(m.args.length>0)throw new Y(`${m.name}() takes no arguments`,n.line,n.column);i.direction=m.name===`LAYOUT_TOP_DOWN`?`TB`:`LR`;continue}throw xT.has(m.name)?new Y(`${m.name} is a C4-PlantUML feature that is not supported`,n.line,n.column,`Remove the statement; see the C4 page of the documentation for what is supported.`):new Y(`"${m.name}" is not a C4 macro`,n.line,n.column,`Elements: Person, System, SystemDb, SystemQueue, Container…, Component… (with _Ext); boundaries: Boundary, Enterprise_Boundary, System_Boundary, Container_Boundary, Deployment_Node, Node; relations: Rel, BiRel, Rel_U/D/L/R, Rel_Back, RelIndex.`)}}if(o)throw new Y(`"${o.id}" needs a body`,o.s.line,o.s.column,`Add "{" … "}" after it.`);if(a.length>0){let e=a[a.length-1];throw new Y(`Boundary "${e}" is not closed`,0,0,`Add "}".`)}let f=e=>{let t=new Set,n=i.elements.get(e)?.parent??i.boundaries.get(e)?.parent;for(;n!==void 0;)t.add(n),n=i.boundaries.get(n)?.parent;return t};for(let e of i.relations){for(let t of[e.from,e.to])if(!i.elements.has(t)&&!i.boundaries.has(t))throw new Y(`A relation refers to an unknown element "${t}"`,e.line,e.column);if(f(e.from).has(e.to)||f(e.to).has(e.from))throw new Y(`A relation cannot connect "${e.from}" and "${e.to}": one is inside the other`,e.line,e.column)}for(let e of u){let t=e.boundary?i.boundaries.get(e.id):i.elements.get(e.id)??i.boundaries.get(e.id);if(!t)throw new Y(`A style refers to an unknown ${e.boundary?`boundary`:`element`} "${e.id}"`,e.s.line,e.s.column);t.style={...t.style,...jT(e.style)}}for(let e of d){let t=i.relations.filter(t=>!t.hidden&&t.from===e.from&&t.to===e.to);if(t.length===0)throw new Y(`UpdateRelStyle: there is no relation from "${e.from}" to "${e.to}"`,e.s.line,e.s.column);for(let n of t)n.style={...n.style,...jT(e.style)}}return i}function jT(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}var MT=76,NT=76,PT=28,FT=16,IT=14,LT=36,RT=30,zT=4,BT=e=>({l:e.x-e.width/2,t:e.y-e.height/2,r:e.x+e.width/2,b:e.y+e.height/2}),VT=(e,t)=>({l:e.l-t,t:e.t-t,r:e.r+t,b:e.b+t}),HT=(e,t)=>e.l<t.r&&t.l<e.r&&e.t<t.b&&t.t<e.b,UT=(e,t)=>Math.max(0,Math.min(e.r,t.r)-Math.max(e.l,t.l))*Math.max(0,Math.min(e.b,t.b)-Math.max(e.t,t.t)),WT={up:[-1,0],down:[1,0],left:[0,-1],right:[0,1]};function GT(e){let t=MT,n=NT;e.diagram.relations.forEach((r,i)=>{let a=e.relLabel.get(i);a&&!r.hidden&&(n=Math.max(n,Math.min(a.height+28+24,160)),(r.direction===`left`||r.direction===`right`)&&(t=Math.max(t,a.width+28+16)))});let r=null;for(let i=0;i<zT;i++){let i=eE(e,KT(e,t,n,KT(e,t,n)));if((!r||i.conflicts<r.conflicts)&&(r=i),i.conflicts===0)break;i.needs.x>0&&(t=Math.max(t+30,i.needs.x)),i.needs.y>0&&(n=Math.max(n+30,i.needs.y))}return r.result}function KT(e,t,n,r){let i=e.diagram,a=i.direction===`LR`,o=e=>i.elements.get(e)?.parent??i.boundaries.get(e)?.parent,s=(e,t)=>{let n=e;for(let e=0;e<1e3;e++){let e=o(n);if((e??``)===t)return n;if(e===void 0)return;n=e}},c=new Map,l=t=>{let n=p(t),r=e.boundaryLabel.get(t)??{width:0,height:0};return{width:Math.max(n.width+56,r.width+56,140),height:r.height+(n.height>0?FT+n.height+PT:PT/2)}},u=(e,t=i.children.get(e)??[],n)=>{let r=new Map,o=new Set,c=e=>`${e.r},${e.c}`,l=(e,t)=>{r.set(e,t),o.add(c(t))},u=t=>{for(let n of i.relations){if(!n.direction)continue;let i=s(n.from,e),a=s(n.to,e);if(!i||!a||i===a)continue;let l,u=1;if(a===t&&r.has(i)?l=r.get(i):i===t&&r.has(a)&&(l=r.get(a),u=-1),!l)continue;let[d,f]=WT[n.direction],p={r:l.r+d*u,c:l.c+f*u};for(;o.has(c(p));)p.r+=d*u,p.c+=f*u;return p}return null},d=t.filter(e=>i.elements.has(e)),f=t.filter(e=>i.boundaries.has(e)),p=0,m=(e,t)=>{for(;;){let n=Math.floor(p/e),r=p%e;p++;let i=a?{r,c:t+n}:{r:t+n,c:r};if(!o.has(c(i)))return i}},h=new Set;for(let e of d){let t=u(e);t?l(e,t):(l(e,m(i.shapeInRow,0)),h.add(e))}let g=e=>a?e.c:e.r,_=Math.max(-1,...d.map(e=>g(r.get(e)))),v=d.filter(e=>g(r.get(e))===_);if((d.length>0?Math.ceil(d.length/i.shapeInRow):0)>1&&v.length<i.shapeInRow&&v.every(e=>h.has(e))){let e=i.shapeInRow-v.length,t=Math.min(e,n??Math.floor(e/2));for(let e of v){let n=r.get(e);o.delete(c(n)),a?n.r+=t:n.c+=t,o.add(c(n))}}let y=0;for(let e of r.values())y=Math.max(y,(a?e.c:e.r)+1);p=0;for(let e of f)l(e,u(e)??m(i.boundaryInRow,y));let b=[...new Set([...r.values()].map(e=>e.r))].sort((e,t)=>e-t),x=[...new Set([...r.values()].map(e=>e.c))].sort((e,t)=>e-t);for(let e of r.values())e.r=b.indexOf(e.r),e.c=x.indexOf(e.c);return r},d=r=>{let a=new Map;for(let t of r.keys())a.set(t,i.elements.has(t)?e.elementSize.get(t):l(t));let o=e=>i.elements.has(e),s=0;for(let[e,t]of a)o(e)&&(s=Math.max(s,t.width));let c=Math.max(0,...[...r.values()].map(e=>e.r+1)),u=Array.from({length:c},()=>[]);for(let[e,t]of r)u[t.r].push(e);for(let e of u)e.sort((e,t)=>r.get(e).c-r.get(t).c);let d=u.map(e=>e.every(o)),f=1/0,p=-1/0;u.forEach((e,t)=>{if(d[t])for(let t of e)f=Math.min(f,r.get(t).c),p=Math.max(p,r.get(t).c)});let m=Number.isFinite(f)?(p-f+1)*s+(p-f)*t:0,h=u.map((e,n)=>d[n]?m:e.reduce((e,n,r)=>e+a.get(n).width+(r>0?t:0),0)),g=Math.max(0,...h),_=new Map,v=0;return u.forEach((e,i)=>{if(e.length===0)return;let o=Math.max(...e.map(e=>a.get(e).height));if(d[i]){let n=(g-m)/2;for(let i of e)_.set(i,{x:n+(r.get(i).c-f)*(s+t),y:v,width:s,height:o})}else{let n=(g-h[i])/2;for(let r of e){let e=a.get(r);_.set(r,{x:n,y:v,width:e.width,height:e.height}),n+=e.width+t}}v+=o+n}),{width:g,height:Math.max(0,v-n),items:_}},f=a=>{let o=[...i.children.get(a)??[]],c=[],l=[];for(let e of i.relations){if(e.hidden)continue;let t=s(e.from,a),n=s(e.to,a);if(t&&n&&t!==n)c.push([t,n]);else if(r&&(t||n)&&!(t&&n)){let i=r.elements.get(t?e.to:e.from)??r.boundaries.get(t?e.to:e.from);i&&l.push([t??n,i])}}let f=u(a,o);if(c.length===0&&l.length===0||o.length<2)return f;let p=a===``?void 0:r?.boundaries.get(a),m=e.boundaryLabel.get(a)?.height??0,h=e=>{let r=d(e),a=e=>{let t=r.items.get(e);return{l:t.x,t:t.y,r:t.x+t.width,b:t.y+t.height}},o=0;for(let[e,i]of c){let s=a(e),c=a(i);o+=Math.max(0,Math.max(s.l,c.l)-Math.min(s.r,c.r))+Math.max(0,Math.max(s.t,c.t)-Math.min(s.b,c.b));let l={x:(s.l+s.r)/2,y:(s.t+s.b)/2},u={x:(c.l+c.r)/2,y:(c.t+c.b)/2};for(let s of r.items.keys())s!==e&&s!==i&&tE(l,u,a(s))&&(o+=t+n+120)}if(l.length>0){let e=p?p.x-r.width/2:0,t=p?p.y-p.height/2+m+FT:0;for(let[n,r]of l){let i=a(n);o+=.5*(Math.abs(e+(i.l+i.r)/2-r.x)+Math.abs(t+(i.t+i.b)/2-r.y))}}let s=new Map;for(let t of e.values())s.set(t.r,(s.get(t.r)??0)+1);for(let e of s.values())e>Math.max(i.shapeInRow,i.boundaryInRow)&&(o+=(e-Math.max(i.shapeInRow,i.boundaryInRow))*400);return o},g=h(f),_=o.filter(e=>i.elements.has(e)),v=o.filter(e=>i.boundaries.has(e)),y=Math.max(0,i.shapeInRow-(_.length%i.shapeInRow||i.shapeInRow)),b=[Math.floor(y/2),...Array.from({length:y+1},(e,t)=>t)];if(_.length<=6&&v.length<=3){for(let e of nE(_))for(let t of nE(v))for(let n of b){let r=u(a,[...e,...t],n),i=h(r);i<g-1e-6&&(g=i,f=r)}return f}for(let e=0;e<4;e++){let e=!1;for(let t=0;t<o.length;t++)for(let n=t+1;n<o.length;n++){if(i.elements.has(o[t])!==i.elements.has(o[n]))continue;[o[t],o[n]]=[o[n],o[t]];let r=u(a,o),s=h(r);s<g-1e-6?(g=s,f=r,e=!0):[o[t],o[n]]=[o[n],o[t]]}if(!e)break}return f};function p(e){let t=c.get(e);if(t)return t;let n=d(f(e));return c.set(e,n),n}let m=new Map,h=new Map,g=(t,n,r)=>{let a=p(t);for(let[t,o]of a.items){let a={x:n+o.x+o.width/2,y:r+o.y+o.height/2,width:o.width,height:o.height};if(i.elements.has(t)){m.set(t,a);continue}h.set(t,a);let s=p(t),c=e.boundaryLabel.get(t)??{width:0,height:0};g(t,n+o.x+(o.width-s.width)/2,r+o.y+c.height+FT)}};g(``,0,0);let _=p(``);return{elements:m,boundaries:h,width:_.width,height:_.height}}var qT=[1,0,-1,0],JT=[0,1,0,-1];function YT(e,t,n,r){let i=BT(t),a=[],o=n?i.t+40:i.t,s=(t,n,r)=>{let s;s=t===0||t===2?{x:t===0?i.r:i.l,y:o+(i.b-o)*n}:{x:i.l+(i.r-i.l)*n,y:t===1?i.b:i.t},a.push({at:s,stub:{x:s.x+qT[t]*IT,y:s.y+JT[t]*IT},out:t,key:`${e}:${t}:${n}`,cost:r})},c=BT(r),l=Math.max(i.l+16,c.l+16),u=Math.min(i.r-16,c.r-16);if(l<=u&&!(n&&c.b<=i.t)){let e=((l+u)/2-i.l)/(i.r-i.l);s(c.t>=i.b?1:3,e,0)}let d=Math.max(o+16,c.t+16),f=Math.min(i.b-16,c.b-16);if(d<=f){let e=((d+f)/2-o)/(i.b-o);s(c.l>=i.r?0:2,e,0)}for(let e of[0,1,2,3])s(e,.5,0),!(n&&e===3)&&(s(e,.35,6),s(e,.65,6),s(e,.2,14),s(e,.8,14));return a}var XT=class{constructor(){this.items=[],this.seq=0}get size(){return this.items.length}push(e,t){let n=this.items;n.push({f:e,n:this.seq++,s:t});let r=n.length-1;for(;r>0;){let e=r-1>>1;if(ZT(n[e],n[r]))break;[n[e],n[r]]=[n[r],n[e]],r=e}}pop(){let e=this.items,t=e[0],n=e.pop();if(e.length>0){e[0]=n;let t=0;for(;;){let n=2*t+1,r=n+1,i=t;if(n<e.length&&ZT(e[n],e[i])&&(i=n),r<e.length&&ZT(e[r],e[i])&&(i=r),i===t)break;[e[i],e[t]]=[e[t],e[i]],t=i}}return t.s}},ZT=(e,t)=>e.f<t.f||e.f===t.f&&e.n<t.n,QT=class{constructor(){this.h=new Map,this.v=new Map}add(e,t){e.y===t.y?$T(this.h,e.y,e.x,t.x):e.x===t.x&&$T(this.v,e.x,e.y,t.y)}shared(e,t){let n=e.y===t.y?this.h.get(e.y):this.v.get(e.x);if(!n)return 0;let[r,i]=e.y===t.y?[Math.min(e.x,t.x),Math.max(e.x,t.x)]:[Math.min(e.y,t.y),Math.max(e.y,t.y)],a=0;for(let[e,t]of n)a+=Math.max(0,Math.min(i,t)-Math.max(r,e));return a}crosses(e,t){let n=t?this.v.get(e.x):this.h.get(e.y),r=t?e.y:e.x;return!!n&&n.some(([e,t])=>r>e&&r<t)}};function $T(e,t,n,r){let i=e.get(t)??[];i.push([Math.min(n,r),Math.max(n,r)]),e.set(t,i)}function eE(e,t){let n=e.diagram,{elements:r,boundaries:i}=t,a=(e,t)=>{let r=e;for(;r!==void 0;){if(r===t)return!0;r=n.elements.get(r)?.parent??n.boundaries.get(r)?.parent}return!1},o=t=>{let n=BT(i.get(t)),r=e.boundaryLabel.get(t)??{width:0,height:0};return{l:n.l,t:n.t,r:Math.min(n.r,n.l+12+r.width),b:n.t+r.height-4}},s=[...i.keys()].map(o),c={l:0,t:0,r:t.width,b:t.height},l=e=>c={l:Math.min(c.l,e.l),t:Math.min(c.t,e.t),r:Math.max(c.r,e.r),b:Math.max(c.b,e.b)};for(let e of[...r.values(),...i.values()])l(BT(e));let u=VT(c,LT),d=new QT,f=new Set,p=new Map,m=n.relations.map((e,t)=>({r:e,i:t})).filter(({r:e})=>!e.hidden),h=e=>r.get(e)??i.get(e),g=e=>{let t=h(e.from),n=h(e.to);return Math.abs(t.x-n.x)+Math.abs(t.y-n.y)};m.sort((e,t)=>g(e.r)-g(t.r)||e.i-t.i);for(let{r:e,i:t}of m){let s=h(e.from),c=h(e.to);if(e.from===e.to){let e=BT(s),n=s.y-14,r=s.y+14,i=e.r+28;p.set(t,{points:[{x:e.r,y:n},{x:i,y:n},{x:i,y:r},{x:e.r,y:r}]});continue}let l=[];for(let[t,n]of r)l.push(t===e.from||t===e.to?BT(n):VT(BT(n),IT));let m=[];for(let[t,n]of i){if(t===e.from||t===e.to){l.push(BT(n));continue}let r=a(e.from,t)||a(e.to,t);l.push(r?VT(o(t),4):VT(BT(n),IT/2)),r&&m.push(BT(n))}let g=e=>n.elements.get(e)?.shape===`person`,_=YT(e.from,s,g(e.from),c),v=YT(e.to,c,g(e.to),s),y=new Set([u.l,u.r]),b=new Set([u.t,u.b]);for(let e of l)y.add(e.l).add(e.r),b.add(e.t).add(e.b);for(let e of m)y.add(e.l-IT).add(e.l+IT).add(e.r-IT).add(e.r+IT),b.add(e.t-IT).add(e.b-IT).add(e.b+IT);for(let e of[..._,...v])y.add(e.stub.x),b.add(e.stub.y);let x=e=>{let t=[...e].map(e=>Math.round(e*100)/100).sort((e,t)=>e-t),n=[];return t.forEach((e,r)=>{r>0&&e-t[r-1]>8&&n.push(Math.round((e+t[r-1])/2*100)/100),n.push(e)}),[...new Set(n)].sort((e,t)=>e-t)},S=x(y),C=x(b),w=S.length,T=new Map(S.map((e,t)=>[e,t])),ee=new Map(C.map((e,t)=>[e,t])),E=e=>Math.round(e*100)/100,te=(e,t)=>{let n=(e.x+t.x)/2,r=(e.y+t.y)/2;for(let e of l)if(n>e.l&&n<e.r&&r>e.t&&r<e.b)return!0;return!1},D=(e,t,n)=>(t*w+e)*4+n,O=new Map;for(let e of v){let t=T.get(E(e.stub.x)),n=ee.get(E(e.stub.y));t!==void 0&&n!==void 0&&O.set(n*w+t,e)}let k=new Map,A=new Map,j=new XT,M=(e,t)=>{let n=1/0;for(let r of v)n=Math.min(n,Math.abs(S[e]-r.stub.x)+Math.abs(C[t]-r.stub.y));return n},N=new Map;for(let e of _){let t=T.get(E(e.stub.x)),n=ee.get(E(e.stub.y));if(t===void 0||n===void 0)continue;let r=D(t,n,e.out),i=e.cost+(f.has(e.key)?60:0);i<(k.get(r)??1/0)&&(k.set(r,i),N.set(r,e),j.push(i+M(t,n),r))}let ne=-1,re=null,ie=new Set;for(;j.size>0;){let e=j.pop();if(ie.has(e))continue;if(ie.add(e),e<0){ne=e,re=O.get((-1-e)/4);break}let t=e%4,n=(e-t)/4,r=n%w,i=(n-r)/w,a=O.get(n);if(a&&t===(a.out+2)%4){let t=k.get(e)+a.cost+(f.has(a.key)?60:0),r=-1-n*4;t<(k.get(r)??1/0)&&(k.set(r,t),A.set(r,e),j.push(t,r))}for(let n=0;n<4;n++){if(n===(t+2)%4)continue;let a=r+qT[n],o=i+JT[n];if(a<0||o<0||a>=w||o>=C.length)continue;let s={x:S[r],y:C[i]},c={x:S[a],y:C[o]};if(te(s,c))continue;let l=Math.abs(c.x-s.x)+Math.abs(c.y-s.y);if(n!==t&&N.has(e))continue;let u=l+(n===t?0:RT),f=d.shared(s,c);f>0&&(u+=40+f*3),d.crosses(c,n%2==0)&&(u+=12),u+=rE(s,c,m);let p=D(a,o,n),h=k.get(e)+u;h<(k.get(p)??1/0)&&(k.set(p,h),A.set(p,e),j.push(h+M(a,o),p))}}let ae;if(ne!==-1&&re){let e=[],t=A.get(ne),n;for(;t!==void 0;){let r=(t-t%4)/4,i=r%w;e.push({x:S[i],y:C[(r-i)/w]}),n=t,t=A.get(t)}e.reverse();let r=N.get(n);ae=iE([r.at,...e,re.at]),f.add(r.key),f.add(re.key)}else ae=[{x:s.x,y:s.y},{x:c.x,y:c.y}];for(let e=1;e<ae.length;e++)d.add(ae[e-1],ae[e]);p.set(t,{points:ae})}let{conflicts:_,needs:v}=aE(e,r,s,[...i.values()].map(BT),p),y=1/0,b=1/0,x=-1/0,S=-1/0,C=e=>{y=Math.min(y,e.l),b=Math.min(b,e.t),x=Math.max(x,e.r),S=Math.max(S,e.b)};for(let e of[...r.values(),...i.values()])C(BT(e));for(let[t,n]of p){for(let e of n.points)C({l:e.x,t:e.y,r:e.x,b:e.y});let r=e.relLabel.get(t);n.label&&r&&C(BT({...n.label,...r}))}Number.isFinite(y)||(y=0,b=0,x=0,S=0);let w=e=>({x:e.x-y,y:e.y-b});for(let e of[r,i])for(let[t,n]of e)e.set(t,{...n,...w(n)});for(let e of p.values())e.points=e.points.map(w),e.label&&=w(e.label);return{result:{width:x-y,height:S-b,elements:r,boundaries:i,rels:p},conflicts:_,needs:v}}function tE(e,t,n){let r=0,i=1,a=t.x-e.x,o=t.y-e.y;for(let[t,s]of[[-a,e.x-n.l],[a,n.r-e.x],[-o,e.y-n.t],[o,n.b-e.y]]){if(t===0){if(s<0)return!1;continue}let e=s/t;if(t<0?r=Math.max(r,e):i=Math.min(i,e),r>i)return!1}return r<i}function nE(e){if(e.length<=1)return[e.slice()];let t=[];return e.forEach((n,r)=>{for(let i of nE([...e.slice(0,r),...e.slice(r+1)]))t.push([n,...i])}),t}function rE(e,t,n){let r=0,i=e.y===t.y;for(let a of n)if(i){let n=Math.min(e.x,t.x),i=Math.max(e.x,t.x),o=Math.min(i,a.r)-Math.max(n,a.l);o>0&&(Math.abs(e.y-a.t)<IT||Math.abs(e.y-a.b)<IT)&&(r+=o*2),e.y>a.t&&e.y<a.b&&(n<a.l&&i>a.l&&(r+=60),n<a.r&&i>a.r&&(r+=60))}else{let n=Math.min(e.y,t.y),i=Math.max(e.y,t.y),o=Math.min(i,a.b)-Math.max(n,a.t);o>0&&(Math.abs(e.x-a.l)<IT||Math.abs(e.x-a.r)<IT)&&(r+=o*2),e.x>a.l&&e.x<a.r&&(n<a.t&&i>a.t&&(r+=60),n<a.b&&i>a.b&&(r+=60))}return r}function iE(e){let t=[];for(let n of e){let e=t[t.length-1];if(!(e&&Math.abs(e.x-n.x)<.01&&Math.abs(e.y-n.y)<.01))for(t.push(n);t.length>=3;){let[e,n,r]=t.slice(-3);if(!(Math.abs(e.x-n.x)<.01&&Math.abs(n.x-r.x)<.01||Math.abs(e.y-n.y)<.01&&Math.abs(n.y-r.y)<.01))break;t.splice(t.length-2,1)}}return t}function aE(e,t,n,r,i){let a=[],o=[...t.values()].map(BT),s=[];for(let[e,t]of i)for(let n=1;n<t.points.length;n++)s.push({a:t.points[n-1],b:t.points[n],rel:e});let c=0,l={x:0,y:0},u=[...i.keys()].filter(t=>e.relLabel.has(t)),d=e=>{let t=i.get(e).points,n=0;for(let e=1;e<t.length;e++)n+=Math.abs(t[e].x-t[e-1].x)+Math.abs(t[e].y-t[e-1].y);return n};u.sort((e,t)=>d(e)-d(t)||e-t);for(let t of u){let u=e.relLabel.get(t),f=i.get(t).points,p=d(t),m=null,h=0;for(let e=1;e<f.length;e++){let i=f[e-1],c=f[e],l=Math.abs(c.x-i.x)+Math.abs(c.y-i.y),d=Math.abs(i.y-c.y)<.01;for(let e of[.5,.3,.7,.15,.85]){let g={x:i.x+(c.x-i.x)*e,y:i.y+(c.y-i.y)*e};(d?[{x:0,y:0},{x:0,y:-(u.height/2+4)},{x:0,y:u.height/2+4}]:[{x:0,y:0},{x:u.width/2+6,y:0},{x:-(u.width/2+6),y:0}]).forEach((i,c)=>{let _={x:g.x+i.x,y:g.y+i.y},v={l:_.x-u.width/2,t:_.y-u.height/2,r:_.x+u.width/2,b:_.y+u.height/2},y=Math.abs(h+l*e-p/2)*.3+(c>0?60:0)+(l<(d?u.width:u.height)?20:0);for(let e of o)HT(v,VT(e,2))&&(y+=1e3+UT(v,e));for(let e of a)HT(v,VT(e,3))&&(y+=1e3+UT(v,e));for(let e of n)HT(v,e)&&(y+=500);for(let e=1;e+1<f.length;e++){let t=f[e];t.x>v.l-4&&t.x<v.r+4&&t.y>v.t-4&&t.y<v.b+4&&(y+=80)}for(let e of r){let t=v.l>=e.l+6&&v.r<=e.r-6&&v.t>=e.t+6&&v.b<=e.b-6;HT(v,VT(e,6))&&!t&&(y+=150)}for(let e of s)e.rel!==t&&HT(v,VT({l:Math.min(e.a.x,e.b.x),t:Math.min(e.a.y,e.b.y),r:Math.max(e.a.x,e.b.x),b:Math.max(e.a.y,e.b.y)},.5))&&(y+=200);(!m||y<m.score)&&(m={p:_,score:y,horizontal:d})})}h+=l}if(!m)continue;let g=m;g.score>=500&&(c++,g.horizontal?l.x=Math.max(l.x,u.width+28+12):l.y=Math.max(l.y,u.height+28+12)),i.get(t).label=g.p,a.push({l:g.p.x-u.width/2,t:g.p.y-u.height/2,r:g.p.x+u.width/2,b:g.p.y+u.height/2})}return{conflicts:c,needs:l}}var oE={...X,size:14,weight:`bold`},sE={...X,size:12},cE={...X,size:13},lE={...X,size:11},uE={...X,size:18,weight:`bold`},dE=216,fE=14,pE=70,mE=9,hE=180,gE=320,_E=9,vE=14;function yE(e,t,n,r){return ey($v(Jv(e),t,n,r),n,r)}function bE(e){let t=e.external?`External `:``;if(e.type)return`[${e.type}]`;switch(e.level){case`person`:return`[${t}Person]`;case`system`:return`[${t}${e.external?`System`:`Software System`}]`;case`container`:return`[${t}Container${e.techn?`: ${e.techn}`:``}]`;case`component`:return`[${t}Component${e.techn?`: ${e.techn}`:``}]`}}function xE(e){if(e.type)return`[${e.type}]`;switch(e.kind){case`enterprise`:return`[Enterprise]`;case`system`:return`[Software System]`;case`container`:return`[Container]`;default:return}}function SE(e,t){if(!e)return;if(t===`text`)return e.text?`fill:${e.text}`:void 0;let n=[e.fill?`fill:${e.fill}`:``,e.stroke?`stroke:${e.stroke}`:``].filter(Boolean);return n.length>0?n.join(`;`):void 0}function CE(e,t,n){let r=t.x-t.width/2,i=t.y-t.height/2,a=t.width,o=t.height;switch(e.shape){case`person`:return[Q(`rect`,{class:`dg-shape`,style:n,x:r,y:i+40,width:a,height:o-40,rx:22,ry:22}),Q(`circle`,{class:`dg-c4-head`,style:n,cx:t.x,cy:i+21,r:21})];case`db`:{let e=new Bv().moveTo(r,i+mE).arcTo(a/2,mE,0,!1,!1,r+a,i+mE).lineTo(r+a,i+o-mE).arcTo(a/2,mE,0,!1,!0,r,i+o-mE).close(),t=new Bv().moveTo(r,i+mE).arcTo(a/2,mE,0,!1,!0,r+a,i+mE);return[Q(`path`,{class:`dg-shape`,style:n,d:e.toString()}),Q(`path`,{class:`dg-c4-lid`,style:n,d:t.toString()})]}case`queue`:{let e=new Bv().moveTo(r+mE,i).lineTo(r+a-mE,i).arcTo(mE,o/2,0,!1,!0,r+a-mE,i+o).lineTo(r+mE,i+o).arcTo(mE,o/2,0,!1,!0,r+mE,i).close(),t=new Bv().moveTo(r+a-mE,i).arcTo(mE,o/2,0,!1,!1,r+a-mE,i+o);return[Q(`path`,{class:`dg-shape`,style:n,d:e.toString()}),Q(`path`,{class:`dg-c4-lid`,style:n,d:t.toString()})]}default:return[Q(`rect`,{class:`dg-shape`,style:n,x:r,y:i,width:a,height:o,rx:10,ry:10})]}}function wE(e){let t=Rb(e,1),n=new Bv;if(t.length===0)return``;n.moveTo(t[0].x,t[0].y);for(let e=1;e+1<t.length;e++){let r=t[e-1],i=t[e],a=t[e+1],o=Math.hypot(i.x-r.x,i.y-r.y),s=Math.hypot(a.x-i.x,a.y-i.y),c=Math.min(10,o/2,s/2),l={x:i.x+(r.x-i.x)*c/o,y:i.y+(r.y-i.y)*c/o},u={x:i.x+(a.x-i.x)*c/s,y:i.y+(a.y-i.y)*c/s};n.lineTo(l.x,l.y).quadTo(i.x,i.y,u.x,u.y)}let r=t[t.length-1];return n.lineTo(r.x,r.y),n.toString()}function TE(e){switch(e.shape){case`person`:return{top:40+fE,bottom:fE,width:0,shift:0};case`db`:return{top:30,bottom:19,width:0,shift:0};case`queue`:return{top:fE,bottom:fE,width:27,shift:-9/2};default:return{top:fE,bottom:fE,width:0,shift:0}}}function EE(e,t,n,r){let i=new Map,a=new Map;for(let n of e.elements.values()){let e=TE(n),r=188-e.width,o=yE(n.label,r,oE,t),s=yE(bE(n),r,sE,t),c=n.description?yE(n.description,r,sE,t):void 0,l=o.height+2+s.height+(c?8+c.height:0);i.set(n.id,{name:o,type:s,description:c,height:l});let u=Math.max(o.width,s.width,c?.width??0);a.set(n.id,{width:Math.max(dE,u+28+e.width),height:Math.max(pE+(n.shape===`person`?40:0),l+e.top+e.bottom)})}let o=new Map,s=new Map;for(let n of e.boundaries.values()){let e=yE(n.label,gE,oE,t),r=xE(n),i=r?yE(r,gE,sE,t):void 0,a=n.description?yE(n.description,gE,sE,t):void 0,c=Math.max(e.width,i?.width??0,a?.width??0),l=e.height+(i?i.height:0)+(a?4+a.height:0);o.set(n.id,{name:e,type:i,description:a,width:c,height:l}),s.set(n.id,{width:c+8,height:l+14})}let c=new Map,l=new Map;e.relations.forEach((e,n)=>{if(e.hidden)return;let r=e.label?yE(e.label,hE,cE,t):void 0,i=e.techn?yE(`[${e.techn}]`,hE,lE,t):void 0,a=e.description?yE(e.description,hE,lE,t):void 0,o=e.index?ey(Jv(e.index),{...lE,weight:`bold`},t):void 0,s=[r,i,a].filter(e=>!!e&&!Xv(e.label));if(s.length===0&&!o)return;let u=o?Math.max(18,o.width+8)+(s.length>0?5:0):0,d=Math.max(0,...s.map(e=>e.width)),f=s.reduce((e,t)=>e+t.height,0),p=u+d+10,m=Math.max(f,o?18:0)+6;c.set(n,{label:r,techn:i,description:a,index:o,width:p,height:m}),l.set(n,{width:p,height:m})});let u=GT({diagram:e,elementSize:a,boundaryLabel:s,relLabel:l}),d=e.title?ey(Jv(e.title),uE,t):void 0,f=Math.max(u.width,d?.width??0),p=d?d.height+vE:0,m=(f-u.width)/2,h=t=>{let n=0,r=e.boundaries.get(t)?.parent;for(;r!==void 0;)n++,r=e.boundaries.get(r)?.parent;return n},g=[],_=[...e.boundaries.values()].sort((e,t)=>h(e.id)-h(t.id)).map(e=>{let t=u.boundaries.get(e.id),n=o.get(e.id),r=t.x-t.width/2,i=t.y-t.height/2,a=e.kind===`node`,s=SE(e.style,`text`),c=r+12,l=i+8,d=[],f=(e,t,n=0)=>{e&&(l+=n,d.push($(e,c,l+e.height/2,{anchor:`start`,className:t,style:s})),l+=e.height)};return f(n.name,`dg-c4-boundary-name`),f(n.type,`dg-c4-boundary-type`),f(n.description,`dg-c4-boundary-type`,4),g.push(Q(`g`,{class:`dg-c4-frame-title dg-c4-${a?`node`:`boundary`}-title`,"data-id":e.id},d)),Q(`g`,{class:`dg-cluster dg-c4-${a?`node`:`boundary`}`,"data-id":e.id,"data-parent":e.parent},[Q(`rect`,{class:a?`dg-c4-node-box`:`dg-c4-boundary-box`,x:r,y:i,width:t.width,height:t.height,rx:a?6:10,style:SE(e.style,`shape`)})])}),v=[],y=(e,t)=>{if(!e)return`url(#${Bb(n,`arrow`,t)})`;let r=v.indexOf(e);return r<0&&(r=v.push(e)-1),`url(#${n}-m-c4-${r}${t?`-start`:``})`},b=(t,n)=>[...e.boundaries.values()].filter(e=>{if(e.kind!==`node`)return!1;let r=u.boundaries.get(e.id);return Math.abs(t-r.x)<r.width/2&&Math.abs(n-r.y)<r.height/2}),x=[],S=[];e.relations.forEach((e,t)=>{let n=u.rels.get(t);if(!n)return;let r=e.style?.line;x.push(Q(`path`,{class:`dg-edge dg-c4-rel`,d:wE(n.points),style:r?`stroke:${r}`:void 0,"marker-start":e.arrows===`end`?void 0:y(r,!0),"marker-end":e.arrows===`start`?void 0:y(r,!1),"data-from":e.from,"data-to":e.to}));let i=c.get(t);if(!i||!n.label)return;let{x:a,y:o}=n.label,s=a-i.width/2,l=o-i.height/2,d=e.style?.text?`fill:${e.style.text}`:void 0,f=[Q(`rect`,{class:`dg-edge-label-box`,x:s,y:l,width:i.width,height:i.height,rx:3}),...b(a,o).map(()=>Q(`rect`,{class:`dg-c4-label-tint`,x:s,y:l,width:i.width,height:i.height,rx:3}))],p=[[i.label,`dg-edge-label dg-c4-rel-label`],[i.techn,`dg-c4-rel-techn`],[i.description,`dg-c4-rel-descr`]],m=0;i.index&&(m=Math.max(18,i.index.width+8));let h=p.filter(([e])=>e&&!Xv(e.label)),g=h.reduce((e,[t])=>e+t.height,0),_=s+5+(m>0?m+(h.length>0?5:0):0),v=Math.max(0,...h.map(([e])=>e.width)),C=o-g/2;for(let[e,t]of h)f.push($(e,_+v/2,C+e.height/2,{className:t,style:d})),C+=e.height;if(i.index){let e=s+5+m/2,t=h[0]?.[0],n=t?o-g/2+t.lineHeight/2:o;f.push(Q(`rect`,{class:`dg-c4-index`,x:e-m/2,y:n-_E,width:m,height:18,rx:_E,style:r?`fill:${r}`:void 0}),$(i.index,e,n,{className:`dg-c4-index-text`}))}S.push(Q(`g`,{class:`dg-edge-label-group dg-c4-rel-label-group`},f))});let C=[...e.elements.values()].map(e=>{let t=u.elements.get(e.id),n=i.get(e.id),r=TE(e),a=SE(e.style,`shape`),o=SE(e.style,`text`),s=t.y-t.height/2,c=t.height-r.top-r.bottom,l=s+r.top+Math.max(0,(c-n.height)/2),d=t.x+r.shift,f=[...CE(e,t,a)];return f.push($(n.name,d,l+n.name.height/2,{className:`dg-c4-name`,style:o})),l+=n.name.height+2,f.push($(n.type,d,l+n.type.height/2,{className:`dg-c4-type`,style:o})),l+=n.type.height,n.description&&(l+=8,f.push($(n.description,d,l+n.description.height/2,{className:`dg-c4-descr`,style:o}))),Q(`g`,{class:[`dg-node`,`dg-c4-element`,`dg-c4-${e.level}`,`dg-c4-${e.shape}`,e.external?`dg-c4-external`:``].filter(Boolean).join(` `),"data-id":e.id,"data-parent":e.parent},f)}),w=`#${n}`,T=(e,t)=>`${w} ${e} .dg-shape,${w} ${e} .dg-c4-head,${w} ${e} .dg-c4-lid{fill:${Z(`--dg-c4-${t}-fill`)};stroke:${Z(`--dg-c4-${t}-stroke`)}}${w} ${e} text{fill:${Z(`--dg-c4-${t}-text`)}}`,ee=[`${w} .dg-c4-element .dg-shape,${w} .dg-c4-head,${w} .dg-c4-lid{stroke-width:1.5px}`,T(`.dg-c4-person`,`person`),T(`.dg-c4-system`,`system`),T(`.dg-c4-container`,`container`),T(`.dg-c4-component`,`component`),T(`.dg-c4-element.dg-c4-external`,`external`),`${w} .dg-c4-lid{fill:none !important}`,`${w} .dg-c4-name{font-weight:bold;font-size:14px}`,`${w} .dg-c4-type{font-size:12px;opacity:0.85}`,`${w} .dg-c4-descr{font-size:12px}`,`${w} .dg-c4-boundary-box{fill:none;stroke:var(--dg-c4-boundary-stroke, var(--dg-text-muted, #6b7280));stroke-width:1.5px;stroke-dasharray:8 5}`,`${w} .dg-c4-node-box{fill:${Z(`--dg-c4-node-fill`)};stroke:var(--dg-c4-node-stroke, var(--dg-text-muted, #6b7280));stroke-width:1.25px}`,`${w} .dg-c4-boundary-title text{fill:var(--dg-c4-boundary-text, var(--dg-text, #1f2937))}`,`${w} .dg-c4-node-title text{fill:var(--dg-c4-node-text, var(--dg-text, #1f2937))}`,`${w} .dg-c4-frame-title text{paint-order:stroke;stroke:${Z(`--dg-edge-label-fill`)};stroke-width:4px;stroke-linejoin:round}`,`${w} .dg-c4-boundary-name{font-weight:bold;font-size:14px}`,`${w} .dg-c4-boundary-type{font-size:12px;opacity:0.8}`,`${w} .dg-c4-rel{stroke-dasharray:6 4}`,`${w} .dg-c4-rel-label-group text{fill:${Z(`--dg-text`)}}`,`${w} .dg-c4-rel-label-group .dg-edge-label-box{opacity:1}`,`${w} .dg-c4-label-tint{fill:${Z(`--dg-c4-node-fill`)}}`,`${w} .dg-c4-rel-label{font-size:13px}`,`${w} .dg-c4-rel-label-group .dg-c4-rel-techn,${w} .dg-c4-rel-label-group .dg-c4-rel-descr{font-size:11px;fill:${Z(`--dg-text-muted`)}}`,`${w} .dg-c4-rel-descr{font-style:italic}`,`${w} .dg-c4-index{fill:${Z(`--dg-line`)}}`,`${w} .dg-c4-rel-label-group .dg-c4-index-text{font-size:11px;font-weight:bold;fill:${Z(`--dg-number-text`)}}`,`${w} .dg-c4-title{font-weight:bold;font-size:18px}`].join(``),E=v.flatMap((e,t)=>[!1,!0].map(r=>Q(`marker`,{id:`${n}-m-c4-${t}${r?`-start`:``}`,markerUnits:`userSpaceOnUse`,orient:`auto`,viewBox:`0 0 10 10`,refX:r?1:9,refY:5,markerWidth:10,markerHeight:10},[Q(`path`,{d:`M0,0 L10,5 L0,10 z`,transform:r?`translate(10,0) scale(-1,1)`:void 0,style:`fill:${e};stroke:${e}`,"stroke-width":1})]))),te=[];return d&&te.push($(d,f/2,d.height/2,{className:`dg-c4-title`})),te.push(Q(`g`,{transform:m!==0||p!==0?`translate(${Lv(m)},${Lv(p)})`:void 0},[Q(`g`,{class:`dg-clusters`},_),Q(`g`,{class:`dg-edges`},x),Q(`g`,{class:`dg-c4-frame-titles`},g),Q(`g`,{class:`dg-edge-labels`},S),Q(`g`,{class:`dg-nodes`},C)])),Vv({id:n,type:`c4`,width:f,height:u.height+p,title:r??e.accessibility.title??e.title??`C4 diagram`,description:e.accessibility.description,defs:[...Vb(n,[`arrow`]),...E],body:te,css:ee})}var DE={pie:{parse:cy,render:fy},gantt:{parse:ib,render:Cb},flowchart:{parse:Nb,render:Wx},sequence:{parse:_S,render:TS},state:{parse:kS,render:NS},timeline:{parse:RS,render:qS},xychart:{parse:iC,render:xC},mindmap:{parse:OC,render:qC},er:{parse:cw,render:Lw},class:{parse:Xw,render:fT},c4:{parse:AT,render:EE}},OE={pie:`pie`,gantt:`gantt`,flowchart:`flowchart`,graph:`flowchart`,"flowchart-elk":`flowchart`,sequenceDiagram:`sequence`,stateDiagram:`state`,"stateDiagram-v2":`state`,timeline:`timeline`,"xychart-beta":`xychart`,xychart:`xychart`,mindmap:`mindmap`,erDiagram:`er`,classDiagram:`class`,"classDiagram-v2":`class`,C4Context:`c4`,C4Container:`c4`,C4Component:`c4`,C4Dynamic:`c4`,C4Deployment:`c4`};function kE(e){let t=iy(e);if(!t)throw new Y(`The diagram is empty`,0,0);let n=OE[t.keyword];if(!n)throw new Y(`"${t.keyword}" is not a supported diagram type`,t.statement.line,t.statement.column,`Supported: ${Object.keys(OE).join(`, `)}.`);return DE[n]}function AE(e){return kE(e).parse(e)}var jE=e=>e===`LR`||e===`RL`?`LR`:`TB`;function ME(e){let t=e.replace(/^\s*(%%[^\n]*\n\s*)*/,``).split(/\s/,1)[0]??``;return/^(stateDiagram(-v2)?|flowchart|graph)$/.test(t)}function NE(e,t={}){let n=AE(e);if(n&&n.type===`state`&&n.states instanceof Map)return FE(n,t);if(n&&n.type===`flowchart`&&n.nodes instanceof Map)return IE(n,t);throw new Vf(`Only stateDiagram-v2 and flowchart can be imported, not "${n?.type??`unknown`}"`)}function PE(e){let t=/^\u0000(start|end):(.*)$/.exec(e);return t?t[2]===`root`?t[1]:`${t[2]}-${t[1]}`:e}function FE(e,t){let n=e.composites,r=e=>{let t=e;for(;t!==void 0;){let e=n.get(t);if(!e)return``;if(!e.region)return t;t=e.parent}return``},i=e=>e!==void 0&&n.get(e)?.region?e:void 0,a=t=>e.states.get(t)?.parent??n.get(t)?.parent,o=(e,t)=>{let i=e;for(let e=0;i!==void 0&&e<1e3;e++){if(!n.get(i)?.region&&r(a(i))===t)return i;i=a(i)}},s=new Map,c=r=>{let i=s.get(r);return i||(i={version:1,nodes:[],edges:[]},r===``?i.meta={direction:t.direction??jE(e.direction)}:i.meta={title:n.get(r)?.name??r,direction:t.direction??jE(e.direction)},s.set(r,i)),i};c(``);let l={state:`state`,start:`start`,end:`end`,choice:`decision`,fork:`state`,join:`state`};for(let t of e.states.values()){let e=c(r(t.parent)),n={id:PE(t.id),type:l[t.kind]};(t.kind===`state`||t.kind===`choice`)&&(n.label=t.name),(t.kind===`fork`||t.kind===`join`)&&(n.label=t.name||t.kind,n.data={pseudo:t.kind}),t.descriptions.length&&(n.description=t.descriptions.join(` `));let a=i(t.parent);a&&(n.group=a),e.nodes.push(n)}for(let e of n.values()){if(e.region){let t=c(r(e.parent)),n={id:e.id},a=i(e.parent);a&&(n.parent=a),(t.groups??=[]).push(n);continue}let t=c(r(e.parent)),n={id:e.id,type:`subprocess`,label:e.name,subgraph:c(e.id)},a=i(e.parent);a&&(n.group=a),t.nodes.push(n)}let u=0;for(let t of e.transitions){let e=r(a(t.from)),i,s;for(let a=0;e!==void 0&&a<1e3&&(i=o(t.from,e),s=o(t.to,e),i===void 0||s===void 0);a++)e=e===``?void 0:r(n.get(e)?.parent);if(e===void 0||i===void 0||s===void 0)continue;let l={id:`t${++u}`,from:PE(i),to:PE(s)};t.label&&(l.label=t.label),c(e).edges.push(l)}let d=0;for(let t of e.notes){let e=c(r(a(t.target))),n=`note-${++d}`;e.nodes.push({id:n,type:`note`,label:t.text}),e.edges.push({id:`${n}-link`,from:n,to:PE(t.target),kind:`association`})}return c(``)}function IE(e,t){let n=new Set(e.edges.map(e=>e.to)),r=new Set(e.edges.map(e=>e.from)),i=(e,t)=>{switch(t){case`rhombus`:case`choice`:case`hexagon`:return`decision`;case`subroutine`:return`subprocess`;case`doublecircle`:case`end`:return`end`;case`start`:return`start`;case`circle`:return n.has(e)?r.has(e)?`state`:`end`:`start`;case`round`:case`stadium`:return`state`;case`asymmetric`:return`note`;default:return`task`}},a={version:1,nodes:[],edges:[],meta:{direction:t.direction??jE(e.direction)}};for(let t of e.nodes.values()){let e={id:t.id,type:i(t.id,t.shape)};!t.text||e.type===`start`&&t.text===t.id||e.type===`end`&&t.text===t.id||(e.label=t.text),t.subgraph&&(e.group=t.subgraph),a.nodes.push(e)}e.subgraphs.size&&(a.groups=[...e.subgraphs.values()].map(e=>{let t={id:e.id};return e.title&&(t.label=e.title),e.parent&&(t.parent=e.parent),t}));let o=0;for(let t of e.edges){if(t.stroke===`invisible`)continue;let e={id:`e${++o}`,from:t.from,to:t.to};t.text&&(e.label=t.text),t.end===`none`&&t.stroke===`dotted`&&(e.kind=`association`),a.edges.push(e)}return a}function LE(e){if(!e)return;let t=document.documentElement;if(e!==`system`){t.dataset.theme=e;return}let n=window.matchMedia?.(`(prefers-color-scheme: dark)`),r=()=>t.dataset.theme=n?.matches?`dark`:`light`;r(),n?.addEventListener?.(`change`,r)}function RE(e,t){let{theme:n,...r}=t;return LE(n),Tv(e,{toastProvider:!0,...r})}function zE(e,t){let{theme:n,...r}=t;return LE(n),Ev(e,{mermaid:NE,...r})}return e.BUILTIN_TYPES=tp,e.CommandError=ch,e.DEFAULT_LIMITS=Ch,e.DESCRIPTION_FONT=Pm,e.EDGE_FONT=Fm,e.GRAPH_VERSION=zf,e.GraphError=Vf,e.History=hh,e.LABEL_FONT=Nm,e.LayoutError=lp,e.MAX_EDGES=Bp,e.MAX_NODES=zp,e.STATUS_TONES=rh,e.alignNodes=yh,e.applyCommand=dh,e.approximateMeasurer=em,e.backoffDelay=oh,e.bezierPoint=bm,e.boundsOf=Ym,e.centreOn=kh,e.clampZoom=wh,e.copyFragment=_h,e.createPoller=sh,e.createRegistry=np,e.defaultRegistry=rp,e.describeCommand=mh,e.distanceToPolyline=xm,e.distributeNodes=bh,e.emptyGraph=ep,e.emptyMonitorState=Xm,e.facingSide=om,e.findFreeSpot=Sh,e.fitView=Oh,e.frameAround=Jm,e.fromMermaid=NE,e.isEnabled=Bf,e.isFragment=gh,e.isLocked=op,e.isMermaidFlow=ME,e.isStale=th,e.isVisible=Ah,e.issuesByElement=cp,e.layoutCommand=xh,e.layoutGraph=Vm,e.measureEdgeLabel=Bm,e.measureNode=Rm,e.mergeSnapshot=eh,e.midpoint=ym,e.mountFlow=RE,e.mountFlowEditor=zE,e.nearestInDirection=jh,e.nextId=fh,e.parseGraph=Qf,e.pasteFragment=vh,e.pathEdges=nh,e.portsOf=ap,e.reduceMonitor=$m,e.route=pm,e.routeEdges=Um,e.sideNormal=im,e.sidePoint=am,e.snap=ph,e.statusSummary=ih,e.stringifyGraph=$f,e.toEpoch=Zm,e.toGraph=Eh,e.toScreen=Th,e.typeOf=ip,e.validateGraph=sp,e.wrapText=tm,e.zoomAt=Dh,e})({});
|